Recupera un recurso AppMirror
GET /accounts/{account_id}/k8s/v1/appMirrors/{appMirror_id}
Devuelve el recurso de la API AppMirror almacenado en el cuerpo de respuesta JSON.
Parámetros
| Nombre | Tipo | En | Obligatorio | Descripción |
|---|---|---|---|---|
account_id |
cadena |
ruta |
Verdadero |
ID del recurso de cuenta que lo contiene
|
appMirror_id |
cadena |
ruta |
Verdadero |
ID de la colección appMirror que se va a listar |
Respuesta
Status: 200, Returns the stored AppMirror API 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:
|
sourceAppID |
cadena |
Verdadero |
Identificador de la aplicación de origen. Solo se actualiza al intercambiar el sourceAppID con el destinationAppID. Los valores definidos son:
|
sourceClusterID |
cadena |
Verdadero |
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 de origen de la aplicación. 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:
|
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:
|
destinationClusterID |
cadena |
Verdadero |
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:
|
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:
|
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:
|
estado |
cadena |
Verdadero |
El estado de la relación. Los valores definidos son:
|
stateTransitions |
array["type_astra_stateTransition"] |
Falso |
Transiciones de estado permitidas. Las siguientes transiciones de estado son posibles para este recurso:
|
stateDesired |
cadena |
Verdadero |
Estado deseado para la relación. En el momento de la creación, el único valor válido es "establecido". Los valores definidos son:
|
stateAllowed |
array[string] |
Falso |
Estados que pueden solicitarse en un estado determinado. En cada estado definido pueden solicitarse los siguientes estados:
|
stateDetails |
array["type_astra_stateDetail"] |
Verdadero |
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:
|
transferState |
cadena |
Falso |
Estado de la transferencia de instantáneas actual o más reciente. Los valores definidos son:
|
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:
|
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:
|
healthState |
cadena |
Verdadero |
Estado de salud del recurso. Los valores definidos son:
|
healthStateTransitions |
array["type_astra_stateTransition"] |
Verdadero |
Transiciones de estado permitidas desde un estado definido dado. Las siguientes transiciones de estado son posibles para este recurso:
|
healthStateDetails |
array["type_astra_stateDetail"] |
Verdadero |
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:
|
metadatos |
Verdadero |
Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:
|
Ejemplo de respuesta
{
"type": "application/astra-appMirror",
"version": "1.1",
"id": "512c8dac-b7d4-5be9-836e-ee672965866a",
"sourceAppID": "efd639b6-fc92-4112-8841-0c0ab7890ae0",
"sourceClusterID": "5789e026-c2e2-41e9-ab00-9766bcfa8951",
"destinationAppID": "cd7b6d91-fc19-4983-a754-9a7bb4d80a7b",
"destinationClusterID": "c5d023a9-4061-4a8a-bfbf-3be11ff06226",
"namespaceMapping": [
{
"clusterID": "5789e026-c2e2-41e9-ab00-9766bcfa8951",
"namespaces": [
"ns1-src",
"ns2-src"
]
},
{
"clusterID": "c5d023a9-4061-4a8a-bfbf-3be11ff06226",
"namespaces": [
"ns1-dest",
"ns2-dest"
]
}
],
"state": "established",
"stateTransitions": [
{
"from": "establishing",
"to": [
"established",
"deleting"
]
},
{
"from": "established",
"to": [
"failingOver",
"deleting"
]
},
{
"from": "failingOver",
"to": [
"failedOver",
"deleting"
]
},
{
"from": "failedOver",
"to": [
"establishing",
"deleting"
]
},
{
"from": "deleting",
"to": [
"deleted"
]
}
],
"stateDesired": "established",
"stateAllowed": [
"failedOver",
"deleted"
],
"stateDetails": [
{
"type": "https://astra.netapp.io/stateDetails/1",
"title": "AppMirror relationship established",
"detail": "The AppMirror relationship has been successfully established."
}
],
"healthState": "normal",
"healthStateTransitions": [
{
"from": "indeterminate",
"to": [
"normal",
"warning",
"critical"
]
},
{
"from": "normal",
"to": [
"indeterminate",
"warning",
"critical"
]
},
{
"from": "warning",
"to": [
"indeterminate",
"normal",
"critical"
]
},
{
"from": "critical",
"to": [
"indeterminate",
"normal",
"warning"
]
}
],
"healthStateDetails": [
{
"type": "https://astra.netapp.io/stateDetails/2",
"title": "SnapMirror syncing successfully",
"detail": "All SnapMirror relationships are synchronizing as expected."
}
],
"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 |
|
invalidParams |
matriz["invalidParams"] |
Falso |
Lista de parámetros de consulta no válidos |
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: 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
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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 |
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 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 |