Enumera los recursos de AppMirror para una app
GET /accounts/{account_id}/k8s/v1/apps/{app_id}/appMirrors
Devuelve una matriz JSON de todos los recursos coincidentes de la colección. Si se especifican campos individuales en la solicitud, la matriz JSON de elementos contendrá los campos solicitados para cada recurso coincidente en el orden especificado.
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 |
incluya |
cadena |
consulta |
Falso |
Indica qué campos deben devolverse al listar una colección. Ejemplos de URL: "include=id", "include=id,name" Ejemplos OpenAPI: "id" |
límite |
cadena |
consulta |
Falso |
Indica el número máximo de recursos a devolver al listar una colección. Ejemplos de URL: "limit=2" Ejemplos OpenAPI: "2" |
filtro |
cadena |
consulta |
Falso |
Indica qué campos deben coincidir para devolver un recurso al listar una colección. Los operadores admitidos son:
Ejemplo de URL: "filter=field%20eq%20%27value%27" Ejemplos OpenAPI: "field eq 'value'" |
Respuesta
Status: 200, Returns a JSON array of all matching resources in the collection. If individual fields are specified in the request, the items JSON array will contain the fields requested for each matching resource in the order specified.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
artículos |
array[Cualquiera de: "appMirror_1.1_get_response_body", array[]] |
Verdadero |
|
metadatos |
Verdadero |
Ejemplo de respuesta
{
"type": "application/astra-appMirrors",
"version": "1.1",
"items": [
{
"type": "application/astra-appMirror",
"version": "1.1",
"id": "f1c98c2e-6391-42d3-8b21-3e75dac048a3",
"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": "2020-08-06T12:24:52.256624Z",
"modificationTimestamp": "2020-08-06T12:24:52.256624Z",
"createdBy": "11c0cfa1-4f27-4ef7-a21c-cb452fc5c9aa"
}
},
{
"type": "application/astra-appMirror",
"version": "1.1",
"id": "114633f0-5b59-4bd7-adce-a9ba4423a1bd",
"sourceAppID": "eaf8b854-211d-460a-ac18-d093d8e2ac70",
"sourceClusterID": "fcb27b51-ebb7-40ca-b8f1-1d23ebd06889",
"destinationAppID": "e829c5e0-750f-44ad-a684-aee85be2c2bb",
"destinationClusterID": "fcb27b51-ebb7-40ca-b8f1-1d23ebd06889",
"namespaceMapping": [
{
"clusterID": "fcb27b51-ebb7-40ca-b8f1-1d23ebd06889",
"namespaces": [
"app-namespace"
],
"role": "source"
},
{
"clusterID": "fcb27b51-ebb7-40ca-b8f1-1d23ebd06889",
"namespaces": [
"destination-app-namespace"
],
"role": "destination"
}
],
"storageClasses": [
{
"storageClassName": "destination-sc",
"clusterID": "fcb27b51-ebb7-40ca-b8f1-1d23ebd06889",
"role": "destination"
}
],
"state": "established",
"stateTransitions": [
{
"from": "establishing",
"to": [
"established",
"deleting"
]
},
{
"from": "established",
"to": [
"failingOver",
"deleting"
]
},
{
"from": "failingOver",
"to": [
"failedOver",
"deleting"
]
},
{
"from": "failedOver",
"to": [
"establishing",
"deleting"
]
}
],
"stateDesired": "established",
"stateAllowed": [
"failedOver",
"deleted"
],
"stateDetails": [],
"transferState": "idle",
"transferStateTransitions": [
{
"from": "transferring",
"to": [
"idle"
]
},
{
"from": "idle",
"to": [
"transferring"
]
}
],
"transferStateDetails": [
{
"type": "https://astra.netapp.io/stateDetails/24",
"title": "Snapshot replication completed",
"detail": "A snapshot was replicated to the destination.",
"additionalDetails": {
"completionTime": "2023-07-06T22:46:39Z",
"snapshotID": "ae60820d-e963-4eab-8bb3-9159e9f012f0",
"startTime": "2023-07-06T22:46:08Z"
}
}
],
"healthState": "normal",
"healthStateTransitions": [],
"healthStateDetails": [
{
"type": "https://astra.netapp.io/stateDetails/24",
"title": "Snapshot replication completed",
"detail": "A snapshot was replicated to the destination.",
"additionalDetails": {
"completionTime": "2023-07-06T22:46:39Z",
"snapshotID": "ae60820d-e963-4eab-8bb3-9159e9f012f0",
"startTime": "2023-07-06T22:46:08Z"
}
}
],
"metadata": {
"labels": [],
"creationTimestamp": "2023-07-06T22:45:24Z",
"modificationTimestamp": "2023-07-06T22:45:24Z",
"createdBy": "cc420827-f968-4da7-9e72-df8a0fd52f94"
}
}
],
"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 al 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 |
appMirror_1.1_get_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 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:
|
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 al recurso. Los valores definidos son:
|
type_astra_metadata_list
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
continuar |
cadena |
Falso |
|
cuente |
número |
Falso |
|
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 |