Skip to main content
Astra Automation
Hay disponible una nueva versión de este producto.
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 un recurso AppMirror para una app

PUT /accounts/{account_id}/k8s/v1/apps/{app_id}/appMirrors/{appMirror_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.

Efectos secundarios

  • Diversos efectos secundarios según desiredState.

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 del recurso que contiene la aplicación

appMirror_id

cadena

ruta

Verdadero

ID de la colección appMirror que se va a listar

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.

Efectos secundarios

  • Diversos efectos secundarios según desiredState.

Nombre Tipo Obligatorio Descripción

tipo

cadena

Verdadero

Tipo de medio del recurso. Los valores definidos son:

  • "application/astra-appMirror"

versión

cadena

Verdadero

Versión del recurso. Los valores definidos son:

  • "1,0"

  • "1,1"

id

cadena

Falso

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

  • Cumple con el esquema UUIDv4

sourceAppID

cadena

Falso

Identificador de la aplicación de origen. Solo se actualiza al intercambiar el sourceAppID con el destinationAppID. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

sourceClusterID

cadena

Falso

Identificador del clúster gestionado que aloja la aplicación de origen. Este campo es de solo lectura y se determina en función del clúster host de la aplicación de origen. Si se proporciona en una actualización, debe coincidir con el ID de clúster de la aplicación de origen, así que solo puede cambiar al intercambiar el sourceAppID con el destinationAppID. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

destinationAppID

cadena

Falso

Identificador de la aplicación de destino. No se puede proporcionar al crear porque se generará un nuevo app ID como parte de la inicialización de la relación. Solo se puede actualizar al intercambiar sourceAppID con destinationAppID. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

destinationClusterID

cadena

Falso

Identificador del clúster gestionado para alojar la aplicación de destino. Debe proporcionarse al crear porque determina en qué clúster se creará la aplicación de destino. Si se proporciona al actualizar, debe coincidir con el ID de clúster de la aplicación de destino, por lo que solo puede cambiar al intercambiar sourceAppID con destinationAppID. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

namespaceMapping

array["namespaceMapping"]

Falso

El espacio o espacios de nombres que se utilizarán al crear la aplicación de destino, correspondientes a los espacios de nombres de la aplicación de origen. Cada objeto JSON contiene los campos "clusterID" y "namespaces", donde el valor "clusterID" es el ID de cadena JSON del clúster de origen o destino, y el valor "namespaces" es una matriz JSON de cadenas JSON. Debe haber exactamente un objeto JSON por cada clúster, y los namespaces se correlacionarán por índice. Si no se proporciona, se utilizará el mismo namespace del clúster de origen en el clúster de destino. Los valores definidos son:

  • Longitud mínima: 0

  • Longitud máxima: 2

storageClasses

array["storageClasses"]

Falso

La clase de almacenamiento que se utilizará en el clúster de destino al crear nuevas Reclamaciones de Volumen Persistente (PVC). Cada objeto JSON contiene los campos "clusterID" y "storageClassName", donde el valor "clusterID" es el ID de cadena JSON del clúster de origen o clúster de destino, y el valor "storageClassName" es la clase de almacenamiento que se utilizará al crear PVC en ese clúster. Si no se proporciona o si falta el valor para un clúster, se utilizará la clase de almacenamiento predeterminada para ese clúster. Los valores definidos son:

  • Longitud mínima: 0

  • Longitud máxima: 2

estado

cadena

Falso

El estado de la relación. Los valores definidos son:

  • "establecer" - Se está creando la relación.

  • "establecido" - Se crea la relación.

  • "failingOver" - La conmutación por error de la aplicación al clúster de destino está en curso.

  • "failedOver" - Se ha completado la conmutación por error de la aplicación al clúster de destino.

  • "borrando" - Se están limpiando los recursos creados por la relación.

  • "deleted" - La relación se limpió y eliminó.

stateTransitions

array["type_astra_stateTransition"]

Falso

Transiciones de estado permitidas. Las siguientes transiciones de estado son posibles para este recurso:

  • "estableciendo": "establecido", "eliminando"

  • "established": "failingOver", "deleting"

  • "failingOver": "failedOver", "deleting"

  • "failedOver": "establishing", "deleting"

  • "borrar": "borrado"

  • "borrado":

stateDesired

cadena

Falso

Estado deseado para la relación. En el momento de la creación, el único valor válido es "establecido". Los valores definidos son:

  • "establecido" - Se crea la relación.

  • "failedOver" - Se ha completado la conmutación por error de la aplicación al clúster de destino.

  • "deleted" - La relación se limpió y eliminó correctamente.

stateAllowed

array[string]

Falso

Estados que pueden solicitarse en un estado determinado. Los siguientes estados pueden solicitarse en cada estado definido:

  • "establishing": "established", "deleted"

  • "establecido": "failedOver", "eliminado"

  • "failingOver": "failedOver", "deleted"

  • "failedOver": "establecido", "eliminado"

  • "borrar": "borrado"

  • "deleted": "deleted"

stateDetails

array["type_astra_stateDetail"]

Falso

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

transferState

cadena

Falso

Estado de la transferencia de instantáneas actual o más reciente. Los valores definidos son:

  • "transfiriendo" - Se ha creado una nueva instantánea y ahora se está replicando en el clúster de destino. Este estado también cubre las transferencias que han fallado en intentos anteriores y se están reintentando continuamente.

  • "idle" - actualmente no hay ninguna transferencia en curso.

transferStateTransitions

array["type_astra_stateTransition"]

Falso

Transiciones de estado permitidas desde un estado definido dado. Las siguientes transiciones de estado son posibles para este recurso:

  • "transferring": "idle"

  • "inactivo": "transfiriendo"

transferStateDetails

array["type_astra_stateDetail"]

Falso

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

healthState

cadena

Falso

Estado de salud del recurso. Los valores definidos son:

  • "indeterminado" - No se puede determinar la salud del recurso (por ejemplo, por falta de conectividad)

  • "normal" - El recurso no tiene problemas conocidos y puede prestar servicios de acuerdo con la especificación de la interfaz

  • "advertencia" - El recurso tiene problemas conocidos que no le impiden prestar servicios de acuerdo con la especificación de la interfaz

  • "crítico" - El recurso tiene problemas conocidos que le impiden prestar servicios de acuerdo con la especificación de la interfaz

healthStateTransitions

array["type_astra_stateTransition"]

Falso

Transiciones de estado permitidas desde un estado definido dado. Las siguientes transiciones de estado son posibles para este recurso:

  • "indeterminado": "normal", "advertencia", "crítico"

  • "normal": "indeterminado", "advertencia", "crítico"

  • "advertencia": "indeterminado", "normal", "crítico"

  • "crítico": "indeterminado", "normal", "advertencia"

healthStateDetails

array["type_astra_stateDetail"]

Falso

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

metadatos

"type_astra_metadatos_update"

Falso

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.

Ejemplo de solicitud
{
  "type": "application/astra-appMirror",
  "version": "1.1",
  "stateDesired": "failedOver"
}

Respuesta

Status: 204, Indicates if the appMirror 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

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

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/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

namespaceMapping

Nombre Tipo Obligatorio Descripción

clusterID

cadena

Falso

Identificador del clúster para el que se especifican los espacios de nombres. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

espacios de nombres

array[string]

Falso

Lista de espacios de nombres a utilizar en el clúster. Correlacionado con la otra lista de espacios de nombres del clúster por índice. Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 63

  • Cumple con el esquema de etiquetas DNS 1123

papel

cadena

Falso

El rol inicial para esta definición de espacio de nombres. Este parámetro es opcional excepto cuando se utiliza una configuración de replicación del mismo clúster. Los valores definidos son:

  • "origen"

  • "destino"

storageClasses

Nombre Tipo Obligatorio Descripción

clusterID

cadena

Falso

Identificador del clúster para el que se especifica la clase de almacenamiento. Los valores definidos son:

  • Cumple con el esquema del identificador Astra

storageClassName

cadena

Falso

Nombre de la clase de almacenamiento que se utilizará al crear PVC en el clúster especificado en "clusterID". Los valores definidos son:

  • Longitud mínima: 1

  • Longitud máxima: 255

papel

cadena

Falso

El rol inicial para esta definición de clase de almacenamiento. Este parámetro es opcional excepto cuando se utiliza una configuración de replicación del mismo clúster. Los valores definidos son:

  • "origen"

  • "destino"

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

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

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