Lister toutes les ressources AppMirror
GET /accounts/{account_id}/k8s/v1/appMirrors
Renvoie un tableau JSON contenant toutes les ressources correspondantes de la collection. Si des champs individuels sont spécifiés dans la requête, le tableau JSON items contiendra les champs demandés pour chaque ressource correspondante dans l'ordre indiqué.
Paramètres
| Nom | Type | Dans | Obligatoire | Description |
|---|---|---|---|---|
identifiant_compte |
chaîne |
chemin |
Vrai |
ID de la ressource de compte conteneur
|
inclure |
chaîne |
requête |
Faux |
Indique les champs qui doivent être renvoyés lors de l’énumération d’une collection. Exemples d'URL : « include=id », « include=id,name » Exemples OpenAPI : « id » |
limite |
chaîne |
requête |
Faux |
Indique le nombre maximal de ressources à renvoyer lors de l’énumération d’une collection. Exemples d'URL : « limit=2 » Exemples OpenAPI : « 2 » |
filtre |
chaîne |
requête |
Faux |
Indique les champs qui doivent être mis en correspondance pour renvoyer une ressource lors du listage d'une collection. Les opérateurs pris en charge sont :
Exemple d'URL : « filter=field%20eq%20%27value%27 » Exemples OpenAPI : « field eq 'value' » |
Réponse
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.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
articles |
tableau[N'importe lequel de : "corps de réponse appMirror_1.1_get_response_body", tableau[]] |
Vrai |
|
les métadonnées |
Vrai |
Exemple de réponse
{
"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"
}
}
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 |
corps de réponse appMirror_1.1_get_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 :
|
type_astra_metadata_list
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
continuer |
chaîne |
Faux |
|
nombre |
nombre |
Faux |
|
é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 |