Elenca le risorse AppMirror per un'app
GET /accounts/{account_id}/k8s/v1/apps/{app_id}/appMirrors
Restituisce un array JSON di tutte le risorse corrispondenti nella raccolta. Se nella richiesta vengono specificati singoli campi, l'array JSON degli elementi conterrà i campi richiesti per ciascuna risorsa corrispondente nell'ordine specificato.
Parametri
| Nome | Tipo | In | Obbligatorio | Descrizione |
|---|---|---|---|---|
ID account |
stringa |
percorso |
Vero |
ID della risorsa account contenitore
|
app_id |
stringa |
percorso |
Vero |
ID della risorsa dell'app che la contiene |
includi |
stringa |
query |
Falso |
Indica quali campi devono essere restituiti durante l'elenco di una raccolta. Esempi di URL: "include=id", "include=id,name" Esempi OpenAPI: "id" |
limite |
stringa |
query |
Falso |
Indica il numero massimo di risorse da restituire quando si elenca una raccolta. Esempi di URL: "limit=2" Esempi OpenAPI: "2" |
filtro |
stringa |
query |
Falso |
Indica quali campi devono essere confrontati per restituire una risorsa durante l'elenco di una collezione. Gli operatori supportati sono:
Esempio di URL: "filter=field%20eq%20%27value%27" Esempi OpenAPI: "field eq 'value'" |
Risposta
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.
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
elementi |
array[Qualsiasi tra: "appMirror_1.0_get_response_body", array[]] |
Vero |
|
metadati |
Vero |
Risposta tipo
{
"type": "application/astra-appMirrors",
"version": "1.0",
"items": [
{
"type": "application/astra-appMirror",
"version": "1.0",
"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"
}
}
],
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
Risposta
Status: 401, Unauthorized
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
Risposta tipo
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Risposta
Status: 400, Bad request
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
|
invalidParams |
vettore["invalidParams"] |
Falso |
Elenco dei parametri di query non validi |
Risposta tipo
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Risposta
Status: 403, Forbidden
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
Risposta tipo
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Errore
Status: 404, Not found
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
Esempio di risposta di errore
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definizioni
Vedi definizioni
namespaceMapping
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
clusterID |
stringa |
Falso |
Identificatore del cluster per il quale sono specificati i namespace. I valori definiti sono:
|
spazi dei nomi |
array[string] |
Falso |
Elenco degli spazi dei nomi da utilizzare sul cluster. Correlato con l'altro elenco di spazi dei nomi del cluster tramite indice. I valori definiti sono:
|
storageClasses
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
clusterID |
stringa |
Falso |
Identificatore del cluster per il quale è specificata la classe di archiviazione. I valori definiti sono:
|
storageClassName |
stringa |
Falso |
Nome della classe di archiviazione da utilizzare durante la creazione di PVC sul cluster specificato in "clusterID". I valori definiti sono:
|
tipo_transizione_stato_astra
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
da |
stringa |
Vero |
|
a |
array[string] |
Vero |
type_astra_stateDetail
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
etichetta tipo_astra
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
nome |
stringa |
Vero |
|
valore |
stringa |
Vero |
aggiornamento dei metadati di tipo Astra
Metadati specificati dal client e dal servizio associati alla risorsa. I valori definiti sono:
-
Conforme allo schema dei metadati di Astra. Se non specificato in fase di creazione, verrà creato un oggetto metadati senza etichette. Se non specificato in fase di aggiornamento, le etichette dell'oggetto metadati, creationTimestamp e createdBy, verranno conservate senza modifiche.
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
etichette |
vettore["etichetta tipo_astra"] |
Falso |
|
CreationTimestamp |
stringa |
Falso |
|
ModificationTimestamp |
stringa |
Falso |
|
CreatedBy |
stringa |
Falso |
|
modifiedBy |
stringa |
Falso |
appMirror_1.0_get_response_body
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
Tipo di media della risorsa. I valori definiti sono:
|
versione |
stringa |
Vero |
Versione della risorsa. I valori definiti sono:
|
id |
stringa |
Vero |
Identificatore univoco globale della risorsa. I valori definiti sono:
|
ID applicazione sorgente |
stringa |
Vero |
Identificativo dell'applicazione sorgente. Aggiornato solo quando si scambia l'ID dell'applicazione sorgente con l'ID dell'applicazione destinazione. I valori definiti sono:
|
sourceClusterID |
stringa |
Vero |
Identificativo del cluster gestito che ospita l'applicazione di origine. Questo campo è di sola lettura e viene determinato in base al cluster host dell'applicazione di origine. Se fornito in un aggiornamento, deve corrispondere all'ID del cluster dell'applicazione di origine, quindi può cambiare solo quando si scambia sourceAppID con destinationAppID. I valori definiti sono:
|
destinationAppID |
stringa |
Falso |
Identificativo dell'applicazione di destinazione. Non può essere fornito in fase di creazione perché verrà generato un nuovo ID app durante l'inizializzazione della relazione. Può essere aggiornato solo quando si scambia sourceAppID con destinationAppID. I valori definiti sono:
|
destinationClusterID |
stringa |
Vero |
Identificativo del cluster gestito che ospiterà l'applicazione di destinazione. Deve essere fornito in fase di creazione perché determina su quale cluster verrà creata l'applicazione di destinazione. Se fornito in fase di aggiornamento, deve corrispondere all'ID del cluster di destinazione, quindi può cambiare solo quando si scambia sourceAppID con destinationAppID. I valori definiti sono:
|
namespaceMapping |
vettore["namespaceMapping"] |
Falso |
Lo spazio dei nomi o gli spazi dei nomi da utilizzare durante la creazione dell'applicazione di destinazione, corrispondenti agli spazi dei nomi dell'applicazione di origine. Ogni oggetto JSON contiene i campi "clusterID" e "namespaces", dove il valore di "clusterID" è l'ID stringa JSON del cluster di origine o di destinazione, e il valore di "namespaces" è un array JSON di stringhe JSON. Deve esserci esattamente un oggetto JSON per ogni cluster e gli spazi dei nomi saranno correlati tramite indice. Se non specificato, verrà utilizzato lo stesso spazio dei nomi del cluster di origine nel cluster di destinazione. I valori definiti sono:
|
storageClasses |
vettore["storageClasses"] |
Falso |
La classe di archiviazione da utilizzare sul cluster di destinazione durante la creazione di nuove Persistent Volume Claims (PVC). Ogni oggetto JSON contiene i campi "clusterID" e "storageClassName", dove il valore "clusterID" è l'ID stringa JSON del cluster di origine o del cluster di destinazione, e "storageClassName" è la classe di archiviazione da utilizzare durante la creazione di PVC su quel cluster. Se non specificato o se il valore è mancante per un cluster, verrà utilizzata la classe di archiviazione predefinita per quel cluster. I valori definiti sono:
|
stato |
stringa |
Vero |
Lo stato della relazione. I valori definiti sono:
|
stateTransitions |
vettore["tipo_transizione_stato_astra"] |
Falso |
Transizioni di stato consentite. Per questa risorsa sono possibili le seguenti transizioni di stato:
|
stateDesired |
stringa |
Vero |
Lo stato desiderato per la relazione. Al momento della creazione, l'unico valore valido è "established". I valori definiti sono:
|
stateAllowed |
array[string] |
Falso |
Stati che possono essere richiesti in un determinato stato. I seguenti stati possono essere richiesti in ciascuno stato definito:
|
stateDetails |
vettore["type_astra_stateDetail"] |
Vero |
Ulteriori dettagli sullo stato attuale, incluso il motivo per cui è stato raggiunto tale stato. Se non sono disponibili dettagli, questo array sarà vuoto. I valori definiti sono:
|
transferState |
stringa |
Falso |
Stato del trasferimento snapshot corrente o più recente. I valori definiti sono:
|
transferStateTransitions |
vettore["tipo_transizione_stato_astra"] |
Falso |
Transizioni di stato consentite da un dato stato definito. Per questa risorsa sono possibili le seguenti transizioni di stato:
|
transferStateDetails |
vettore["type_astra_stateDetail"] |
Falso |
Ulteriori dettagli sullo stato attuale, incluso il motivo per cui è stato raggiunto tale stato. Se non sono disponibili dettagli, questo array sarà vuoto. I valori definiti sono:
|
healthState |
stringa |
Vero |
Stato di salute della risorsa. I valori definiti sono:
|
healthStateTransitions |
vettore["tipo_transizione_stato_astra"] |
Vero |
Transizioni di stato consentite da un dato stato definito. Per questa risorsa sono possibili le seguenti transizioni di stato:
|
healthStateDetails |
vettore["type_astra_stateDetail"] |
Vero |
Ulteriori dettagli sullo stato attuale, incluso il motivo per cui è stato raggiunto tale stato. Se non sono disponibili dettagli, questo array sarà vuoto. I valori definiti sono:
|
metadati |
Vero |
Metadati specificati dal client e dal servizio associati alla risorsa. I valori definiti sono:
|
elenco_metadati_tipo_astra
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
continuare |
stringa |
Falso |
|
conta |
numero |
Falso |
|
etichette |
vettore["etichetta tipo_astra"] |
Falso |
|
CreationTimestamp |
stringa |
Falso |
|
ModificationTimestamp |
stringa |
Falso |
|
CreatedBy |
stringa |
Falso |
|
modifiedBy |
stringa |
Falso |
invalidParams
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
nome |
stringa |
Vero |
Nome del parametro di query non valido |
motivo |
stringa |
Vero |
Motivo per cui il parametro di query non è valido |