Crear un nuevo gancho de ejecución para una app
POST /accounts/{account_id}/k8s/v1/apps/{app_id}/executionHooks
Indica los valores deseados para el recurso Execution Hook API que se va a crear.
Parámetros
| Nombre | Tipo | En | Obligatorio | Descripción |
|---|---|---|---|---|
account_id |
cadena |
ruta |
Verdadero |
ID del recurso de cuenta que lo contiene
|
app_id |
cadena |
ruta |
Verdadero |
ID del recurso que contiene la aplicación |
Cuerpo de la solicitud
Indica los valores deseados para el recurso Execution Hook API que se va a crear.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
Tipo de medio del recurso. Los valores definidos son:
|
versión |
cadena |
Verdadero |
Versión del recurso. Los valores definidos son:
|
nombre |
cadena |
Verdadero |
Cadena JSON que contiene un nombre especificado por el usuario para el recurso. Los valores definidos son:
|
hookType |
cadena |
Verdadero |
Cadena JSON que define el tipo de gancho. Los valores definidos son:
|
matchingCriteria |
array["matchingCriteria"] |
Falso |
Matriz JSON de objetos JSON que describen los criterios de coincidencia para el gancho de ejecución. Cuando se especifican múltiples matchingCriteria se aplica un AND lógico a los criterios. Los valores definidos son:
|
acción |
cadena |
Verdadero |
Cadena JSON que indica qué acción ejecutará el gancho de ejecución si se cumplen los criterios de coincidencia. Los valores definidos son:
|
escenario |
cadena |
Verdadero |
Cadena JSON que indica la etapa durante la acción en la que se ejecutará el gancho. Los valores definidos son:
|
hookSourceID |
cadena |
Verdadero |
Cadena JSON que contiene el ID de la fuente del hook que se ejecuta a través de este hook de ejecución. Los valores definidos son:
|
argumentos |
array[string] |
Falso |
Matriz JSON de cadenas JSON para los argumentos de la fuente. Los valores definidos son:
|
appID |
cadena |
Verdadero |
Cadena JSON que contiene el ID asociado de la aplicación a la que está vinculado este hook. En esencia, otros criterios de coincidencia, si se establecen. Los valores definidos son:
|
habilitado |
cadena |
Falso |
Cadena JSON que indica si el gancho de ejecución está habilitado. Los valores definidos son:
|
descripción |
cadena |
Falso |
Cadena JSON que contiene una descripción especificada por el usuario para la fuente del gancho. Los valores definidos son:
|
metadatos |
Falso |
Metadatos especificados por el cliente y el servicio asociados al recurso. Los valores definidos son:
|
Ejemplo de solicitud
{
"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"
}
Respuesta
Status: 201, Returns the newly created executionHook resource in the JSON response body.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
Tipo de medio del recurso. Los valores definidos son:
|
versión |
cadena |
Verdadero |
Versión del recurso. Los valores definidos son:
|
id |
cadena |
Verdadero |
Identificador único global del recurso. Los valores definidos son:
|
nombre |
cadena |
Verdadero |
Cadena JSON que contiene un nombre especificado por el usuario para el recurso. Los valores definidos son:
|
hookType |
cadena |
Verdadero |
Cadena JSON que define el tipo de gancho. Los valores definidos son:
|
matchingCriteria |
array["matchingCriteria"] |
Verdadero |
Matriz JSON de objetos JSON que describen los criterios de coincidencia para el gancho de ejecución. Cuando se especifican múltiples matchingCriteria se aplica un AND lógico a los criterios. Los valores definidos son:
|
matchingContainers |
array["matchingContainers"] |
Falso |
Matriz JSON de objetos JSON de cada contenedor que coincida con los criterios de coincidencia configurados dentro de la app definida. |
matchingImages |
array[string] |
Falso |
Matriz JSON de cadenas JSON para las imágenes de contenedor coincidentes. Los valores definidos son:
|
acción |
cadena |
Verdadero |
Cadena JSON que indica qué acción ejecutará el gancho de ejecución si se cumplen los criterios de coincidencia. Los valores definidos son:
|
escenario |
cadena |
Verdadero |
Cadena JSON que indica la etapa durante la acción en la que se ejecutará el gancho. Los valores definidos son:
|
hookSourceID |
cadena |
Verdadero |
Cadena JSON que contiene el ID de la fuente del hook que se ejecuta a través de este hook de ejecución. Los valores definidos son:
|
argumentos |
array[string] |
Falso |
Matriz JSON de cadenas JSON para los argumentos de la fuente. Los valores definidos son:
|
appID |
cadena |
Falso |
Cadena JSON que contiene el ID asociado de la aplicación a la que está vinculado este hook. En esencia, otros criterios de coincidencia, si se establecen. Los valores definidos son:
|
habilitado |
cadena |
Verdadero |
Cadena JSON que indica si el gancho de ejecución está habilitado. Los valores definidos son:
|
descripción |
cadena |
Falso |
Cadena JSON que contiene una descripción especificada por el usuario para la fuente del gancho. Los valores definidos son:
|
metadatos |
Verdadero |
Metadatos especificados por el cliente y el servicio asociados al recurso. Los valores definidos son:
|
Ejemplo de respuesta
{
"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"
}
}
Respuesta
Status: 401, Unauthorized
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Respuesta
Status: 400, Bad request
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos no válidos en el cuerpo de la solicitud |
Ejemplo de respuesta
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Respuesta
Status: 409, Conflict
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta
{
"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"
}
Respuesta
Status: 403, Forbidden
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta
{
"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
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta de error
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definiciones
Ver definiciones
matchingCriteria
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Falso |
Cadena JSON que identifica el tipo de criterio de coincidencia. |
valor |
cadena |
Falso |
Cadena JSON que contiene una expresión regular para el tipo de correspondencia dado. Sintaxis de la expresión regular: https://github.com/google/re2/wiki/Syntax |
etiqueta_tipo_astra
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
|
valor |
cadena |
Verdadero |
type_astra_metadatos_update
Metadatos especificados por el cliente y el servicio asociados al recurso. Los valores definidos son:
-
Se ajusta al esquema de metadatos de Astra Si no se especifica al crear, se creará un objeto de metadatos sin etiquetas. Si no se especifica al actualizar, las etiquetas del objeto de metadatos, creationTimestamp y createdBy, se conservarán sin modificaciones.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
etiquetas |
array["etiqueta_tipo_astra"] |
Falso |
|
CreationTimestamp |
cadena |
Falso |
|
Modificación.Marca de hora |
cadena |
Falso |
|
CreatedBy |
cadena |
Falso |
|
modifiedBy |
cadena |
Falso |
matchingCriteria
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
Cadena JSON que identifica el tipo de criterio de coincidencia. |
valor |
cadena |
Verdadero |
Cadena JSON que contiene una expresión regular para el tipo de correspondencia dado. Sintaxis de la expresión regular: https://github.com/google/re2/wiki/Syntax |
type_k8s_label
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
|
valor |
cadena |
Verdadero |
matchingContainers
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
podName |
cadena |
Falso |
Cadena JSON del nombre del pod del contenedor coincidente. |
podLabels |
array["type_k8s_label"] |
Falso |
Matriz JSON de objetos de etiquetas de las etiquetas del pod del contenedor coincidente. |
containerImage |
cadena |
Falso |
Cadena JSON de la imagen del contenedor coincidente. |
containerName |
cadena |
Falso |
Cadena JSON del nombre del contenedor coincidente. |
namespaceName |
cadena |
Falso |
Cadena JSON del nombre del espacio de nombres del pod del contenedor coincidente. |
invalidParams
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
Nombre del parámetro de consulta no válido |
motivo |
cadena |
Verdadero |
Razón por la que el parámetro de consulta no es válido |
invalidFields
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
Nombre del campo no válido del cuerpo de la solicitud |
motivo |
cadena |
Verdadero |
Motivo por el que el campo del cuerpo de la solicitud no es válido |