List the execution hooks for an app
GET /accounts/{account_id}/k8s/v1/apps/{app_id}/executionHooks
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.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
account_id |
string |
path |
True |
ID of the containing account resource
|
app_id |
string |
path |
True |
ID of the containing app resource |
include |
string |
query |
False |
Indicates which fields should be returned when listing a collection. URL examples: "include=id", "include=id,name" OpenAPI examples: "id" |
limit |
string |
query |
False |
Indicates the maximum number of resources to return when listing a collection. URL examples: "limit=2" OpenAPI examples: "2" |
filter |
string |
query |
False |
Indicates which fields should be matched in order to return a resource when listing a collection. Supported operators are:
URL example: "filter=field%20eq%20%27value%27" OpenAPI examples: "field eq 'value'" |
Response
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.
Name | Type | Required | Description |
---|---|---|---|
items |
array[Any of: executionHook_1.3_get_response_body, array[]] |
True |
|
metadata |
True |
Example response
{
"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"
}
}
Response
Status: 401, Unauthorized
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Response
Status: 400, Bad request
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidParams |
array[invalidParams] |
False |
List of invalid query parameters |
Example response
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Response
Status: 403, Forbidden
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Error
Status: 404, Not found
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example error response
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definitions
See Definitions
matchingCriteria
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
JSON string identifying the match criteria type. |
value |
string |
True |
JSON string containing a regex to match for the given match type. Regex syntax: https://github.com/google/re2/wiki/Syntax |
type_k8s_label
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
|
value |
string |
True |
matchingContainers
Name | Type | Required | Description |
---|---|---|---|
podName |
string |
False |
JSON string of matching container's pod name. |
podLabels |
array[type_k8s_label] |
False |
JSON array of label objects of matching container's pod's labels. |
containerImage |
string |
False |
JSON string of matching container's image. |
containerName |
string |
False |
JSON string of matching container's name. |
namespaceName |
string |
False |
JSON string of matching container's pod's namespace name. |
type_astra_label
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata_update
Client and service-specified metadata associated with the resource. Defined values are:
-
Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.
Name | Type | Required | Description |
---|---|---|---|
labels |
array[type_astra_label] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
createdBy |
string |
False |
|
modifiedBy |
string |
False |
executionHook_1.3_get_response_body
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
id |
string |
True |
Globally unique identifier of the resource. Defined values are:
|
name |
string |
True |
JSON string containing a user-specified name for the resource. Defined values are:
|
hookType |
string |
True |
JSON string defining the hook type. Defined values are:
|
matchingCriteria |
array[matchingCriteria] |
True |
JSON array of JSON objects describing the match criteria for the execution hook. When multiple matchingCriteria are specified a logical AND is applied to criteria. Defined values are:
|
matchingContainers |
array[matchingContainers] |
False |
JSON array of JSON objects of each container that matches the configured matching criteria within the defined app. |
matchingImages |
array[string] |
False |
JSON array of JSON strings for the matching container images. Defined values are:
|
action |
string |
True |
JSON string indicating which action the execution hook will run assuming the match criteria are met. Defined values are:
|
stage |
string |
True |
JSON string indicating the stage during the action that the hook will be executed. Defined values are:
|
hookSourceID |
string |
True |
JSON string containing the hook source ID that is run through this execution hook. Defined values are:
|
arguments |
array[string] |
False |
JSON array of JSON strings for the arguments to the source. Defined values are:
|
appID |
string |
False |
JSON string containing the associated ID of the application that this hook is linked to. In essence, other matching criteria, if set. Defined values are:
|
enabled |
string |
True |
JSON string that indicates if the execution hook is enabled. Defined values are:
|
description |
string |
False |
JSON string containing a user-specified description for the hook source. Defined values are:
|
metadata |
True |
Client and service-specified metadata associated with the resource. Defined values are:
|
type_astra_metadata_list
Name | Type | Required | Description |
---|---|---|---|
continue |
string |
False |
|
count |
number |
False |
|
labels |
array[type_astra_label] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
createdBy |
string |
False |
|
modifiedBy |
string |
False |
invalidParams
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid query parameter |
reason |
string |
True |
Reason why the query parameter is invalid |