为应用创建新的执行挂钩
POST /accounts/{account_id}/k8s/v1/apps/{app_id}/executionHooks
指示要创建的 Execution Hook API 资源的所需值。
参数
| 名称 | Type | 在 | Required | Description |
|---|---|---|---|---|
account_id |
string |
path |
True |
包含帐户资源的 ID
|
app_id |
string |
path |
True |
包含应用程序资源的 ID |
请求正文
指示要创建的 Execution Hook API 资源的所需值。
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
资源的媒体类型。定义的值为:
|
version |
string |
True |
资源的版本。定义的值为:
|
name |
string |
True |
包含用户指定的资源名称的 JSON 字符串。定义的值为:
|
hookType |
string |
True |
定义挂钩类型的 JSON 字符串。定义的值为:
|
matchingCriteria |
False |
描述执行挂钩匹配条件的 JSON 对象的 JSON 数组。当指定多个 matchingCriteria 时,逻辑 AND 应用于条件。定义的值为:
|
|
操作 |
string |
True |
JSON 字符串,指示在满足匹配条件的情况下执行挂钩将运行的操作。定义的值为:
|
阶段 |
string |
True |
JSON 字符串,指示操作期间将执行挂钩的阶段。定义的值为:
|
hookSourceID |
string |
True |
包含通过此执行挂钩运行的挂钩源 ID 的 JSON 字符串。定义的值为:
|
参数 |
数组[string] |
False |
用于源参数的 JSON 字符串的 JSON 数组。定义的值为:
|
appID |
string |
True |
包含此挂钩链接到的应用程序的关联 ID 的 JSON 字符串。实质上,其他匹配条件(如果设置)。定义的值为:
|
启用 |
string |
False |
指示是否启用了执行挂钩的 JSON 字符串。定义的值为:
|
description |
string |
False |
包含用户指定的钩子源描述的 JSON 字符串。定义的值为:
|
元数据 |
False |
与资源关联的客户端和服务指定的元数据。定义的值为:
|
请求示例
{
"type": "application/astra-executionHook",
"version": "1.3",
"name": "Payroll",
"hookType": "custom",
"action": "snapshot",
"stage": "pre",
"hookSourceID": "50e89023-ba84-435d-bb47-1833f4c250ff",
"arguments": [
"freeze"
],
"appID": "7be5ae7c-151d-4230-ac39-ac1d0b33c2a9",
"enabled": "true",
"description": "Payroll production hook"
}
响应
Status: 201, Returns the newly created executionHook resource in the JSON response body.
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
资源的媒体类型。定义的值为:
|
version |
string |
True |
资源的版本。定义的值为:
|
id |
string |
True |
资源的全局唯一标识符。定义的值为:
|
name |
string |
True |
包含用户指定的资源名称的 JSON 字符串。定义的值为:
|
hookType |
string |
True |
定义挂钩类型的 JSON 字符串。定义的值为:
|
matchingCriteria |
True |
描述执行挂钩匹配条件的 JSON 对象的 JSON 数组。当指定多个 matchingCriteria 时,逻辑 AND 应用于条件。定义的值为:
|
|
matchingContainers |
False |
与定义的应用程序中配置的匹配条件匹配的每个容器的 JSON 对象的 JSON 数组。 |
|
matchingImages |
数组[string] |
False |
匹配容器镜像的 JSON 字符串的 JSON 数组。定义的值为:
|
操作 |
string |
True |
JSON 字符串,指示在满足匹配条件的情况下执行挂钩将运行的操作。定义的值为:
|
阶段 |
string |
True |
JSON 字符串,指示操作期间将执行挂钩的阶段。定义的值为:
|
hookSourceID |
string |
True |
包含通过此执行挂钩运行的挂钩源 ID 的 JSON 字符串。定义的值为:
|
参数 |
数组[string] |
False |
用于源参数的 JSON 字符串的 JSON 数组。定义的值为:
|
appID |
string |
False |
包含此挂钩链接到的应用程序的关联 ID 的 JSON 字符串。实质上,其他匹配条件(如果设置)。定义的值为:
|
启用 |
string |
True |
指示是否启用了执行挂钩的 JSON 字符串。定义的值为:
|
description |
string |
False |
包含用户指定的钩子源描述的 JSON 字符串。定义的值为:
|
元数据 |
True |
与资源关联的客户端和服务指定的元数据。定义的值为:
|
响应示例
{
"type": "application/astra-executionHook",
"version": "1.3",
"id": "5f7e2e31-280d-5984-a28b-2d19ab5b77c0",
"name": "Payroll",
"hookType": "custom",
"matchingCriteria": [],
"action": "snapshot",
"stage": "pre",
"hookSourceID": "50e89023-ba84-435d-bb47-1833f4c250ff",
"arguments": [
"freeze"
],
"appID": "7be5ae7c-151d-4230-ac39-ac1d0b33c2a9",
"enabled": "true",
"description": "Payroll production hook",
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
响应
Status: 401, Unauthorized
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
响应示例
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
响应
Status: 400, Bad request
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
数组["invalidFields"] |
False |
无效请求正文字段列表 |
响应示例
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
响应
Status: 409, Conflict
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
响应示例
{
"type": "https://astra.netapp.io/problems/10",
"title": "JSON resource conflict",
"detail": "The request body JSON contains a field that conflicts with an idempotent value.",
"status": "409"
}
响应
Status: 403, Forbidden
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
响应示例
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
错误
Status: 404, Not found
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
错误响应示例
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
定义
查看定义
matchingCriteria
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
False |
标识匹配条件类型的 JSON 字符串。 |
value |
string |
False |
包含用于匹配给定匹配类型的正则表达式的 JSON 字符串。正则表达式语法: https://github.com/google/re2/wiki/Syntax |
类型 Astra 标签
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata_update
与资源关联的客户端和服务指定的元数据。定义的值为:
-
符合 Astra 元数据架构如果在创建时未指定,则将创建没有标签的元数据对象。如果在更新时未指定,则元数据对象的标签、creationTimestamp 和 createdBy 将保留而不进行修改。
| 名称 | Type | Required | Description |
|---|---|---|---|
labels |
数组["类型 Astra 标签"] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
已创建 |
string |
False |
|
modifiedBy |
string |
False |
matchingCriteria
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
标识匹配条件类型的 JSON 字符串。 |
value |
string |
True |
包含用于匹配给定匹配类型的正则表达式的 JSON 字符串。正则表达式语法: https://github.com/google/re2/wiki/Syntax |
type_k8s_label
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
|
value |
string |
True |
matchingContainers
| 名称 | Type | Required | Description |
|---|---|---|---|
podName |
string |
False |
匹配容器的 pod 名称的 JSON 字符串。 |
podLabels |
数组["type_k8s_label"] |
False |
匹配容器 Pod 标签的标签对象的 JSON 数组。 |
containerImage |
string |
False |
匹配容器镜像的 JSON 字符串。 |
containerName |
string |
False |
匹配容器名称的 JSON 字符串。 |
namespaceName |
string |
False |
匹配容器的 Pod 命名空间名称的 JSON 字符串。 |
invalidParams
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
无效查询参数的名称 |
原因 |
string |
True |
查询参数无效的原因 |
invalidFields
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
无效请求正文字段的名称 |
原因 |
string |
True |
请求正文字段无效的原因 |