Skip to main content
Astra Automation
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Modificar una aplicación

PUT /accounts/{account_id}/k8s/v2/apps/{app_id}

Sustituye todo el recurso almacenado por el cuerpo de la solicitud JSON suministrado, conservando los valores clave que no son modificables por el usuario.

Parámetros

Nombre Tipo En Obligatorio Descripción

account_id

cadena

ruta

Verdadero

ID del recurso de cuenta que lo contiene

  • ejemplo: {{.Account}}

app_id

cadena

ruta

Verdadero

ID de la colección de aplicaciones a listar

forceUpdate

cadena

cabecera

Falso

Indicador que permite sobrescribir destructivamente. Inclúyelo solo cuando solicites restaurar sin movimiento (IPR).

  • ejemplo: true

Cuerpo de la solicitud

Sustituye todo el recurso almacenado por el cuerpo de la solicitud JSON suministrado, conservando los valores clave que no son modificables por el usuario.

Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

Tipo de medio del recurso. Los valores definidos son:

  • "application/astra-app"

versión

cadena

Verdadero

Versión del recurso. Los valores definidos son:

  • "2,0"

  • "2,1"

  • "2,2"

id

cadena

Falso

Identificador único global del recurso. Los valores definidos son:

  • Cumple con el esquema UUIDv4

nombre

cadena

Falso

Cadena JSON que contiene un nombre para la aplicación. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

  • Esta cadena se valida internamente para prevenir ataques XSS, Unicode, directory traversal y SQL-injection.

  • Cumple con el esquema de etiquetas DNS 1123

clusterScopedResources

array["clusterScopedResources"]

Falso

Matriz JSON de objetos JSON que describen los recursos con alcance de clúster que forman parte de esta app

namespaceScopedResources

array["namespaceScopedResources"]

Falso

Matriz JSON de objetos JSON que describen los recursos que forman parte de esta app

lastResourceCollectionTimestamp

cadena

Falso

Cadena JSON que contiene la fecha y hora en que se realizó la última recopilación de recursos. Este campo no está establecido si aún no se ha realizado ninguna recopilación de recursos para esta aplicación. Los valores definidos son:

  • Cumple con el esquema de fecha y hora ISO-8601

estado

cadena

Falso

Cadena JSON que contiene un valor que indica el estado operativo de la aplicación. Los valores definidos son:

  • "pendiente" - La aplicación está programada para el descubrimiento

  • "descubriendo" - La aplicación está en proceso de ser descubierta

  • "provisioning" - La aplicación está en proceso de aprovisionamiento

  • "ready" - La aplicación funciona con normalidad

  • "failed" - La aplicación se encuentra en un estado de fallo permanente

  • "restaurando" - la aplicación se está restaurando a partir de una copia de seguridad o instantánea

  • "no disponible" - La aplicación no es accesible actualmente

  • "desconocido" - No se puede determinar el estado de la aplicación

  • "borrando" - la aplicación está en proceso de borrado

stateTransitions

array["type_astra_stateTransition"]

Falso

Matriz JSON de objetos JSON, cada uno de los cuales representa el conjunto de transiciones de estado permitidas desde un estado definido dado. Cada objeto JSON contiene los campos "from" y "to", donde el valor "from" es el nombre de un estado y el valor "to" es una matriz de estados de destino permitidos.

stateDetails

array["type_astra_stateDetail"]

Falso

Matriz JSON de objetos JSON que enumera detalles adicionales sobre el estado actual, incluyendo por qué se alcanzó el estado actual. Si no hay detalles disponibles, esta matriz estará vacía. Los valores definidos son:

  • Artículos mínimos: 0

protectionState

cadena

Falso

Cadena JSON que contiene un valor que indica el estado de protección de la aplicación. Los valores definidos son:

  • "protegida" - la aplicación tiene definida una política de protección y está en conformidad con esa política

  • "parcial" - La aplicación tiene definida una política de protección, pero no cumple con esa política

  • "none" - La aplicación no tiene definida una política de protección

  • "atRisk" - La clase de almacenamiento predeterminada en el clúster no admite instantáneas, la aplicación corre el riesgo de obtener un volumen no admitido

protectionStateDetails

array["type_astra_stateDetail"]

Falso

Matriz JSON de objetos JSON que enumera detalles adicionales sobre el estado de protección actual, incluyendo por qué se alcanzó el estado actual. Si no hay detalles disponibles, esta matriz estará vacía. Los valores definidos son:

  • Artículos mínimos: 0

appDetectedType

cadena

Falso

Cadena JSON que representa de forma única el tipo específico de aplicación que se detecta. Los valores definidos son:

  • "system" - La aplicación contiene un recurso que la identifica como parte del entorno de Kubernetes

  • "acc" - La aplicación contiene recursos que la identifican como una instancia de Astra Control Center

espacios de nombres

array[string]

Falso

Matriz JSON de cadenas JSON que contiene los nombres de los espacios de nombres en los que se ejecuta la aplicación. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 253

  • Cumple con el esquema de etiquetas DNS 1123

namespaceMapping

array["namespaceMapping"]

Falso

Matriz JSON de objetos JSON, cada uno de los cuales asigna un espacio de nombres de origen a un espacio de nombres de destino para una operación de clonación. Los valores definidos son:

  • Artículos mínimos: 0

storageClassMapping

array["storageClassMapping"]

Falso

Matriz JSON de objetos JSON, cada uno de los cuales asigna una clase de almacenamiento de origen a una clase de almacenamiento de destino para una operación de restauración. Si no hay elementos o no están presentes, se usarán los nombres originales de las clases de almacenamiento de origen. Los valores definidos son:

  • Artículos mínimos: 0

clusterName

cadena

Falso

Cadena JSON que contiene el nombre del clúster en el que se está ejecutando la aplicación. No se devuelve si la aplicación no se está ejecutando actualmente.

clusterID

cadena

Falso

Cadena JSON que contiene el ID del clúster en el que se está ejecutando la aplicación. No se devuelve si la aplicación no se está ejecutando actualmente. Cuando se especifica en create, clusterID indica en qué clúster se debe clonar la aplicación. Si el clúster especificado no existe, o si el clúster especificado no coincide con el clusterID especificado en el URI de solicitud, la clonación fallará. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

clusterType

cadena

Falso

Cadena JSON que contiene un valor que indica el tipo de clúster. Los valores definidos son:

  • "gke" - Kubernetes alojado en Google Kubernetes Engine (GKE)

  • "aks" - Kubernetes alojado en Microsoft Azure Kubernetes Service (AKS)

  • "eks" - Kubernetes alojado en Amazon Elastic Kubernetes Service (Amazon EKS)

  • "openshift" - El clúster es de tipo OpenShift

  • "kubernetes" - El clúster es Kubernetes genérico

sourceAppID

cadena

Falso

Cadena JSON que contiene el ID de una aplicación de origen. Solo se devuelve si la aplicación se clonó a partir de otra aplicación o se restauró a partir de una copia de seguridad o instantánea. Cuando se especifica al crear, el sourceAppID se utiliza junto con el sourceClusterID e indica qué aplicación en ejecución se clonará. Si la aplicación especificada no existe en el clúster de origen especificado, la clonación fallará. Solo se puede especificar uno de sourceAppID, backupID o snapshotID al crear una aplicación. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

sourceClusterName

cadena

Falso

Cadena JSON que contiene el nombre del clúster en el que se ejecutaba anteriormente la aplicación. Solo se devuelve si la aplicación se clonó de otro clúster.

sourceClusterID

cadena

Falso

Cadena JSON que contiene el ID del clúster en el que se ejecutaba anteriormente la aplicación. Solo se devuelve si la aplicación se clonó desde otro clúster. Cuando se especifica en create, el sourceClusterID se utiliza junto con el sourceAppID e indica el clúster de origen de la aplicación que se va a clonar. Si el clúster de origen especificado no existe, la clonación fallará. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

backupID

cadena

Falso

Cadena JSON que contiene el ID de la copia de seguridad desde la que se restauró la aplicación. Solo se devuelve si la aplicación se restauró desde una copia de seguridad. Cuando se especifica en create, backupID indica que una aplicación se clonará desde una copia de seguridad existente. Si la copia de seguridad especificada no existe, el clonado fallará. Solo se puede especificar uno de sourceAppID, backupID o snapshotID al crear una aplicación. Cuando se especifica en un replace, backupID indica la copia de seguridad de la aplicación desde la que se restaurará la aplicación en el mismo lugar. Si la copia de seguridad especificada no existe, la restauración fallará. Solo se puede especificar uno de backupID o snapshotID al actualizar una aplicación. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

snapshotID

cadena

Falso

Cadena JSON que contiene el ID de la instantánea desde la que se restauró la aplicación. Solo se devuelve si la aplicación se restauró desde una instantánea. Cuando se especifica en create, snapshotID indica que una aplicación se clonará desde una instantánea existente. Si la instantánea especificada no existe, el clonado fallará. Solo se puede especificar uno de sourceAppID, backupID o snapshotID al crear una aplicación. Cuando se especifica en replace, snapshotID indica la instantánea de la aplicación desde la que se restaurará la aplicación. Si la instantánea especificada no existe, la restauración fallará. Solo se puede especificar uno de backupID o snapshotID al actualizar una aplicación. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

replicationSourceAppID

cadena

Falso

Cadena JSON que contiene el ID de la aplicación que se está replicando a esta aplicación. Solo se devuelve si la aplicación es actualmente el destino en una relación AppMirror y la relación no está en el estado failedOver. Cuando la relación está en el estado failedOver, este campo no se devuelve. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

restoreFilter

"restoreFilter"

Falso

Objeto JSON que contiene una lista de filtros que describen qué recursos se incluyen o excluyen de una operación de restauración selectiva. Incluir y excluir son mutuamente excluyentes, y una restauración selectiva solo puede usar un tipo de filtro.

metadatos

"type_astra_metadatos_update"

Falso

Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:

  • Conforme 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.

Ejemplo de solicitud
{
  "type": "application/astra-app",
  "version": "2.2",
  "name": "mysql-old"
}

Respuesta

Status: 204, Indicates if the app resource was updated.

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

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/1",
  "title": "Resource not found",
  "detail": "The resource specified in the request URI wasn't found.",
  "status": "404"
}

Definiciones

Ver definiciones

GVK

Objeto JSON que contiene un grupo/versión/tipo de Kubernetes.

  • Este objeto se valida internamente con Astra /apiResources.

Nombre Tipo Obligatorio Descripción

grupo

cadena

Falso

Cadena JSON que contiene un identificador de grupo asignado por Kubernetes.

  • Esta cadena se valida internamente con Astra /apiResources

tipo

cadena

Falso

Cadena JSON que contiene un identificador de tipo asignado por Kubernetes.

  • Esta cadena se valida internamente con Astra /apiResources

versión

cadena

Falso

Cadena JSON que contiene un identificador de versión asignado por Kubernetes.

  • Esta cadena se valida internamente con Astra /apiResources

clusterScopedResources

Nombre Tipo Obligatorio Descripción

GVK

"GVK"

Falso

Objeto JSON que contiene un grupo/versión/tipo de Kubernetes.

  • Este objeto se valida internamente con Astra /apiResources.

labelSelectors

array[string]

Falso

Matriz JSON de cadenas JSON que representan un selector de etiquetas con alcance de clúster para los GroupVersionKinds (GVK) dentro del clúster. Si está vacía, se incluyen todas las instancias GVK en el clúster. Cada elemento de esta matriz es una cadena de selector de etiquetas de Kubernetes y sigue la misma gramática para esos valores. Ejemplos:

namespaceScopedResources

Nombre Tipo Obligatorio Descripción

espacio de nombres

cadena

Falso

Cadena JSON que contiene el nombre de un espacio de nombres en el que está definida la aplicación. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 253

  • Cumple con el esquema de etiquetas DNS 1123

labelSelectors

array[string]

Falso

Matriz JSON de cadenas JSON que representan un selector de etiquetas dentro del espacio de nombres. Si está vacía, se incluyen todos los recursos del espacio de nombres. Cada elemento de esta matriz es una cadena de selector de etiquetas de Kubernetes y sigue la gramática para esos valores. Ejemplos:

  • [ "app=mysql" ] — Selecciona todos los recursos que tengan una etiqueta cuyo nombre sea app y cuyo valor sea mysql

  • [ "app != mysql" ] — Selecciona todos los recursos que tienen una etiqueta cuyo nombre es app y cuyo valor no es mysql

  • [ "app in (mysql, mariadb)" ] — Selecciona todos los recursos que tienen una etiqueta cuyo nombre es app y valor es mysql o mariadb

  • [ "app notin (nginx, wordpress)" ] — Selecciona todos los recursos que no tienen una etiqueta cuyo nombre es app y cuyos valores son nginx o wordpress

  • [ "app" ] — Selecciona todos los recursos que tienen una etiqueta llamada app

  • [ "!app" ] — Selecciona todos los recursos que no tienen una etiqueta llamada app Ten en cuenta que se pueden incluir varios operadores de selección en un único selector, separados por comas. En ese caso, los resultados de los operadores de selección individuales se combinan con AND:

  • [ "app=mysql,version=2" ] — Seleccionar todos los recursos que tengan una etiqueta cuyo nombre sea app y cuyo valor sea mysql y una etiqueta cuyo nombre sea version y cuyo valor sea 2

type_astra_stateTransition

Nombre Tipo Obligatorio Descripción

de

cadena

Verdadero

a

array[string]

Verdadero

additionalDetails

type_astra_stateDetail

Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

título

cadena

Verdadero

detalle

cadena

Verdadero

additionalDetails

"additionalDetails"

Falso

namespaceMapping

Nombre Tipo Obligatorio Descripción

fuente

cadena

Falso

Cadena JSON que contiene el nombre del espacio de nombres en el clúster de origen. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 253

  • Cumple con el esquema de etiquetas DNS 1123

destino

cadena

Falso

Cadena JSON que contiene el nombre del espacio de nombres en el clúster de destino. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 253

  • Cumple con el esquema de etiquetas DNS 1123

storageClassMapping

Nombre Tipo Obligatorio Descripción

fuente

cadena

Falso

Cadena JSON que contiene el nombre de la clase de almacenamiento de origen. También puede ser '*' para especificar todas las clases de almacenamiento de origen. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

  • Se ajusta al esquema de etiquetas DNS 1123 si se utiliza el nombre de Storage Class

  • '*' para especificar todas las clases de almacenamiento

destino

cadena

Falso

Cadena JSON que contiene el nombre de la clase de almacenamiento de destino. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

  • Cumple con el esquema de etiquetas DNS 1123

GVKN

Nombre Tipo Obligatorio Descripción

grupo

cadena

Falso

Cadena JSON que contiene un identificador de grupo asignado por Kubernetes.

  • Esta cadena se valida internamente con Astra /apiResources

versión

cadena

Falso

Cadena JSON que contiene un identificador de versión asignado por Kubernetes.

  • Esta cadena se valida internamente con Astra /apiResources

tipo

cadena

Falso

Cadena JSON que contiene un identificador de tipo asignado por Kubernetes.

  • Esta cadena se valida internamente con Astra /apiResources

espacios de nombres

array[string]

Falso

Matriz JSON de cadenas JSON que describen los espacios de nombres de los que incluir o excluir recursos. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

  • Cumple con el esquema de etiquetas DNS 1123

nombres

array[string]

Falso

Matriz JSON de cadenas JSON que describen los nombres de recursos Kubernetes que deben incluirse o excluirse de la restauración selectiva. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 253

  • Cumple con el esquema de etiquetas DNS 1123

labelSelectors

array[string]

Falso

Matriz JSON de cadenas JSON que describen los selectores de etiquetas de Kubernetes utilizados para incluir o excluir recursos de la restauración selectiva. Cada elemento de esta matriz es una cadena de selector de etiquetas de Kubernetes y sigue la misma gramática para esos valores. Ejemplos:

restoreFilter

Objeto JSON que contiene una lista de filtros que describen qué recursos se incluyen o excluyen de una operación de restauración selectiva. Incluir y excluir son mutuamente excluyentes, y una restauración selectiva solo puede usar un tipo de filtro.

Nombre Tipo Obligatorio Descripción

resourceSelectionCriteria

cadena

Verdadero

Cadena JSON que contiene un valor que indica cómo los filtros de recursos seleccionan recursos. Los valores válidos son include o exclude.

GVKN

array["GVKN"]

Verdadero

Matriz JSON de objetos JSON que describen recursos para filtrar durante una restauración selectiva. Un recurso coincide con un único elemento de filtro GVKN si todos los campos de filtro especificados coinciden con el campo de recurso correspondiente. Los campos de filtro que son matrices (por ejemplo, espacios de nombres y nombres) coinciden si cualquiera de sus elementos coincide con el campo de recurso correspondiente. El campo labelSelectors requiere que todos los selectores coincidan. Un recurso que coincida con cualquier filtro de la matriz de objetos de filtro GVKN se incluye o excluye de la restauración en función del valor resourceSelectionCriteria. La especificación de objetos GVKN vacíos provoca un error de validación.

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 con el recurso. Los valores definidos son:

  • Conforme 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

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