Récupérer une ressource AppMirror pour une application
GET /accounts/{account_id}/k8s/v1/apps/{app_id}/appMirrors/{appMirror_id}
Renvoie la ressource API AppMirror stockée dans le corps de la réponse JSON.
Paramètres
| Nom | Type | Dans | Obligatoire | Description |
|---|---|---|---|---|
identifiant_compte |
chaîne |
chemin |
Vrai |
ID de la ressource de compte conteneur
|
app_id |
chaîne |
chemin |
Vrai |
ID de la ressource d'application contenant |
appMirror_id |
chaîne |
chemin |
Vrai |
ID de la collection appMirror à lister |
Réponse
Status: 200, Returns the stored AppMirror API resource in the JSON response body.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
Type de média de la ressource. Les valeurs définies sont :
|
version |
chaîne |
Vrai |
Version de la ressource. Les valeurs définies sont :
|
id |
chaîne |
Vrai |
Identifiant unique global de la ressource. Les valeurs définies sont :
|
sourceAppID |
chaîne |
Vrai |
Identifiant de l'application source. Mis à jour uniquement lors du remplacement de sourceAppID par destinationAppID. Les valeurs définies sont :
|
sourceClusterID |
chaîne |
Vrai |
Identifiant du cluster géré hébergeant l'application source. Ce champ est en lecture seule et est déterminé en fonction du cluster hôte de l'application source. S'il est fourni lors d'une mise à jour, il doit correspondre à l'ID du cluster de l'application source, il ne peut donc être modifié que lors d'un échange entre sourceAppID et destinationAppID. Les valeurs définies sont :
|
destinationAppID |
chaîne |
Faux |
Identifiant de l'application de destination. Ne peut pas être fourni lors de la création, car un nouvel ID d'application sera généré lors de l'initialisation de la relation. Ne peut être mis à jour que lors de l'échange de l'ID de l'application source avec l'ID de l'application de destination. Les valeurs définies sont :
|
ID de cluster de destination |
chaîne |
Vrai |
Identifiant du cluster géré hébergeant l'application de destination. Doit être fourni lors de la création, car il détermine le cluster sur lequel l'application de destination sera créée. S'il est fourni lors d'une mise à jour, il doit correspondre à l'ID du cluster de l'application de destination, il ne peut donc changer que lors de l'échange de sourceAppID avec destinationAppID. Les valeurs définies sont :
|
namespaceMapping |
tableau["namespaceMapping"] |
Faux |
L'espace de noms (ou les espaces de noms) à utiliser lors de la création de l'application de destination, correspondant aux espaces de noms de l'application source. Chaque objet JSON contient les champs « clusterID » et « namespaces », où la valeur de « clusterID » est l'identifiant JSON du cluster source ou du cluster de destination, et la valeur de « namespaces » est un tableau JSON de chaînes JSON. Il doit y avoir exactement un objet JSON pour chaque cluster, et les espaces de noms seront corrélés par index. Si non fourni, le même espace de noms du cluster source sera utilisé dans le cluster de destination. Les valeurs définies sont :
|
storageClasses |
tableau["storageClasses"] |
Faux |
Classe de stockage à utiliser sur le cluster de destination lors de la création de nouvelles revendications de volume persistant (PVC). Chaque objet JSON contient les champs « clusterID » et « storageClassName », où la valeur « clusterID » est l’identifiant JSON du cluster source ou de destination, et « storageClassName » est la classe de stockage à utiliser lors de la création de PVC sur ce cluster. Si cette valeur n’est pas fournie ou si elle est manquante pour un cluster, la classe de stockage par défaut sera utilisée pour ce cluster. Les valeurs définies sont :
|
État |
chaîne |
Vrai |
État de la relation. Les valeurs définies sont :
|
stateTransitions |
tableau["type_astra_stateTransition"] |
Faux |
Transitions d'état autorisées. Les transitions d'état suivantes sont possibles pour cette ressource :
|
stateDesired |
chaîne |
Vrai |
État souhaité de la relation. À la création, la seule valeur valide est « established ». Les valeurs définies sont :
|
stateAllowed |
tableau[chaîne] |
Faux |
États pouvant être demandés dans un état donné. Les états suivants peuvent être demandés dans chaque état défini :
|
stateDetails |
tableau["type_astra_stateDetail"] |
Vrai |
Informations complémentaires sur l'état actuel, notamment la raison pour laquelle cet état a été atteint. Si aucun détail n'est disponible, ce tableau sera vide. Les valeurs définies sont :
|
transferState |
chaîne |
Faux |
État du transfert d'instantané actuel ou le plus récent. Les valeurs définies sont :
|
transferStateTransitions |
tableau["type_astra_stateTransition"] |
Faux |
Transitions d'état autorisées à partir d'un état défini. Les transitions d'état suivantes sont possibles pour cette ressource :
|
transferStateDetails |
tableau["type_astra_stateDetail"] |
Faux |
Informations complémentaires sur l'état actuel, notamment la raison pour laquelle cet état a été atteint. Si aucun détail n'est disponible, ce tableau sera vide. Les valeurs définies sont :
|
healthState |
chaîne |
Vrai |
État de santé de la ressource. Les valeurs définies sont :
|
healthStateTransitions |
tableau["type_astra_stateTransition"] |
Vrai |
Transitions d'état autorisées à partir d'un état défini. Les transitions d'état suivantes sont possibles pour cette ressource :
|
healthStateDetails |
tableau["type_astra_stateDetail"] |
Vrai |
Informations complémentaires sur l'état actuel, notamment la raison pour laquelle cet état a été atteint. Si aucun détail n'est disponible, ce tableau sera vide. Les valeurs définies sont :
|
les métadonnées |
Vrai |
Métadonnées spécifiques au client et au service associées à la ressource. Les valeurs définies sont :
|
Exemple de réponse
{
"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"
}
}
Réponse
Status: 401, Unauthorized
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
Exemple de réponse
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Réponse
Status: 400, Bad request
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
|
invalidParams |
tableau["invalidParams"] |
Faux |
Liste des paramètres de requête invalides |
Exemple de réponse
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Réponse
Status: 403, Forbidden
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
Exemple de réponse
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Erreur
Status: 404, Not found
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
Exemple de réponse d'erreur
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Définitions
Voir les définitions
namespaceMapping
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
clusterID |
chaîne |
Faux |
Identifiant du cluster pour lequel les espaces de noms sont spécifiés. Les valeurs définies sont :
|
espaces de noms |
tableau[chaîne] |
Faux |
Liste des espaces de noms à utiliser sur le cluster. Corrélée avec l'autre liste d'espaces de noms du cluster par index. Les valeurs définies sont :
|
rôle |
chaîne |
Faux |
Rôle initial de cette définition d'espace de noms. Ce paramètre est facultatif, sauf en cas de configuration de réplication au sein d'un même cluster. Les valeurs définies sont :
|
storageClasses
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
clusterID |
chaîne |
Faux |
Identifiant du cluster pour lequel la classe de stockage est spécifiée. Les valeurs définies sont :
|
storageClassName |
chaîne |
Faux |
Nom de la classe de stockage à utiliser lors de la création de PVC sur le cluster spécifié dans « clusterID ». Les valeurs définies sont :
|
rôle |
chaîne |
Faux |
Rôle initial de cette définition de classe de stockage. Ce paramètre est facultatif, sauf en cas de configuration de réplication au sein d'un même cluster. Les valeurs définies sont :
|
type_astra_stateTransition
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
depuis |
chaîne |
Vrai |
|
pour |
tableau[chaîne] |
Vrai |
additionalDetails
type_astra_stateDetail
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
additionalDetails |
Faux |
type_astra_label
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
nom |
chaîne |
Vrai |
|
valeur |
chaîne |
Vrai |
type_astra_metadata_update
Métadonnées spécifiques au client et au service associées à la ressource. Les valeurs définies sont :
-
Conforme au schéma de métadonnées Astra. Si aucune étiquette n'est spécifiée lors de la création, un objet de métadonnées sera créé sans étiquette. Si aucune étiquette n'est spécifiée lors de la mise à jour, les étiquettes de l'objet de métadonnées, creationTimestamp et createdBy, seront conservées sans modification.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
étiquettes |
tableau["type_astra_label"] |
Faux |
|
CréationTimestamp |
chaîne |
Faux |
|
ModificationTimestamp |
chaîne |
Faux |
|
CreatedBy |
chaîne |
Faux |
|
modifiedBy |
chaîne |
Faux |
invalidParams
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
nom |
chaîne |
Vrai |
Nom du paramètre de requête invalide |
raison |
chaîne |
Vrai |
Raison pour laquelle le paramètre de requête est invalide |