Create a new execution hook
POST /accounts/{account_id}/core/v1/executionHooks
Indicates the desired values for the Execution Hook API resource to be created.
Parameters
| Name | Type | In | Required | Description | 
|---|---|---|---|---|
| account_id | string | path | True | ID of the containing account resource 
 | 
Request Body
Indicates the desired values for the Execution Hook API resource to be created.
| 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: 
 | 
| 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] | False | 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: 
 | 
| 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 | True | 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 | False | 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 | False | Client and service-specified metadata associated with the resource. Defined values are: 
 | 
Example request
{
  "type": "application/astra-executionHook",
  "version": "1.2",
  "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"
}Response
Status: 201, Returns the newly created executionHook resource in the JSON 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: 
 | 
Example response
{
  "type": "application/astra-executionHook",
  "version": "1.2",
  "id": "946e60cb-980b-5374-9e6e-9fe1f6780352",
  "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"
  }
}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 | |
| invalidFields | array[invalidFields] | False | List of invalid request body fields | 
Example response
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}Response
Status: 409, Conflict| 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/10",
  "title": "JSON resource conflict",
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409"
}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 | False | JSON string identifying the match criteria type. | 
| value | string | False | JSON string containing a regex to match for the given match type. Regex syntax: https://github.com/google/re2/wiki/Syntax | 
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 | 
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. | 
invalidParams
| Name | Type | Required | Description | 
|---|---|---|---|
| name | string | True | Name of the invalid query parameter | 
| reason | string | True | Reason why the query parameter is invalid | 
invalidFields
| Name | Type | Required | Description | 
|---|---|---|---|
| name | string | True | Name of the invalid request body field | 
| reason | string | True | Reason why the request body field is invalid | 
 PDFs
PDFs