列出所有执行挂钩
GET /accounts/{account_id}/core/v1/executionHooks
返回集合中所有匹配资源的 JSON 数组。如果在请求中指定了单个字段,则项目 JSON 数组将包含按指定顺序为每个匹配资源请求的字段。
参数
| 名称 | Type | 在 | Required | Description |
|---|---|---|---|---|
account_id |
string |
path |
True |
包含帐户资源的 ID
|
包括 |
string |
查询 |
False |
指示列出集合时应返回哪些字段。 URL 示例:"include=id"、"include=id,name" OpenAPI 示例:"id" |
limit |
string |
查询 |
False |
指示列出集合时要返回的最大资源数。 URL 示例:"limit=2" OpenAPI 示例:"2" |
筛选器 |
string |
查询 |
False |
指示在列出集合时应匹配哪些字段以返回资源。 支持的运算符有:
URL 示例:"filter=field%20eq%20%27value%27" OpenAPI 示例:"field eq 'value'" |
响应
Status: 200, Returns a JSON array of all matching resources in the collection. If individual fields are specified in the request, the items JSON array will contain the fields requested for each matching resource in the order specified.
| 名称 | Type | Required | Description |
|---|---|---|---|
个项 |
数组[任意一个:"executionHook_1.3_get_response_body",数组[]] |
True |
|
元数据 |
True |
响应示例
{
"type": "application/astra-executionHooks",
"version": "1.3",
"items": [
{
"type": "application/astra-executionHook",
"version": "1.1",
"id": "4c64792c-806b-4457-938d-8e325a37c593",
"name": "Payroll",
"hookType": "custom",
"matchingCriteria": [
{
"type": "containerImage",
"value": "payroll"
},
{
"type": "podName",
"value": "^payroll-master"
}
],
"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": "2020-08-06T12:24:52.256624Z",
"modificationTimestamp": "2020-08-06T12:24:52.256624Z",
"createdBy": "64182074-ddb6-42eb-b7f4-b6a02cf9ba7c"
}
},
{
"type": "application/astra-executionHook",
"version": "1.1",
"id": "6659892c-c621-44e8-a0bb-8dbdf378a2dd",
"name": "Order Processing",
"hookType": "custom",
"matchingCriteria": [
{
"type": "containerName",
"value": "^order-processing$"
},
{
"type": "podLabel",
"value": "^app=master$|^app=data$"
}
],
"action": "snapshot",
"stage": "pre",
"hookSourceID": "63f4d6fd-b7f0-4eaa-9890-0b11123604b1",
"arguments": [
"freeze"
],
"appID": "7be5ae7c-151d-4230-ac39-ac1d0b33c2a9",
"enabled": "true",
"description": "Order processing hook",
"metadata": {
"labels": [],
"creationTimestamp": "2020-08-06T12:24:52.256624Z",
"modificationTimestamp": "2020-08-06T12:24:52.256624Z",
"createdBy": "64182074-ddb6-42eb-b7f4-b6a02cf9ba7c"
}
},
{
"type": "application/astra-executionHook",
"version": "1.1",
"id": "6659892c-c621-44e8-a0bb-8dbdf378a2dd",
"name": "NetApp Postgres Hook",
"hookType": "netapp",
"matchingCriteria": [
{
"type": "podName",
"value": "^postgres"
},
{
"type": "containerImage",
"value": "3.8"
}
],
"action": "snapshot",
"stage": "pre",
"hookSourceID": "3601ed09-1a74-4156-a1bd-9cb7144bac0e",
"arguments": [
"freeze"
],
"enabled": "true",
"description": "Order processing hook",
"metadata": {
"labels": [],
"creationTimestamp": "2020-08-06T12:24:52.256624Z",
"modificationTimestamp": "2020-08-06T12:24:52.256624Z",
"createdBy": "64182074-ddb6-42eb-b7f4-b6a02cf9ba7c"
}
},
{
"type": "application/astra-executionHook",
"version": "1.1",
"id": "6659892c-c621-44e8-a0bb-8dbdf378a2dd",
"name": "Redis Hook",
"hookType": "custom",
"matchingCriteria": [
{
"type": "containerName",
"value": "^redis-01$"
}
],
"action": "snapshot",
"stage": "pre",
"hookSourceID": "3601ed09-1a74-4156-a1bd-9cb7144bac0e",
"arguments": [
"freeze"
],
"enabled": "true",
"description": "Order processing hook",
"metadata": {
"labels": [],
"creationTimestamp": "2020-08-06T12:24:52.256624Z",
"modificationTimestamp": "2020-08-06T12:24:52.256624Z",
"createdBy": "64182074-ddb6-42eb-b7f4-b6a02cf9ba7c"
}
}
],
"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 |
|
invalidParams |
数组["invalidParams"] |
False |
无效查询参数列表 |
响应示例
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
响应
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 |
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 字符串。 |
类型 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 |
executionHook_1.3_get_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_astra_metadata_list
| 名称 | Type | Required | Description |
|---|---|---|---|
继续 |
string |
False |
|
count |
数字 |
False |
|
labels |
数组["类型 Astra 标签"] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
已创建 |
string |
False |
|
modifiedBy |
string |
False |
invalidParams
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
无效查询参数的名称 |
原因 |
string |
True |
查询参数无效的原因 |