Eine AppMirror-Ressource für eine App abrufen
GET /accounts/{account_id}/k8s/v1/apps/{app_id}/appMirrors/{appMirror_id}
Gibt die gespeicherte AppMirror API-Ressource im JSON-Antworttext zurück.
Parameter
| Name | Typ | In | Erforderlich | Beschreibung |
|---|---|---|---|---|
Konto-ID |
Zeichenkette |
Pfad |
True |
ID der übergeordneten Kontoressource
|
App-ID |
Zeichenkette |
Pfad |
True |
ID der übergeordneten App-Ressource |
appMirror_id |
Zeichenkette |
Pfad |
True |
ID der appMirror-Sammlung, die aufgelistet werden soll |
Antwort
Status: 200, Returns the stored AppMirror API resource in the JSON response body.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
Medientyp der Ressource. Folgende Werte sind definiert:
|
Version |
Zeichenkette |
True |
Version der Ressource. Folgende Werte sind definiert:
|
id |
Zeichenkette |
True |
Weltweit eindeutiger Bezeichner der Ressource. Folgende Werte sind definiert:
|
sourceAppID |
Zeichenkette |
True |
Kennung der Quellanwendung. Wird nur aktualisiert, wenn die sourceAppID mit der destinationAppID ausgetauscht wird. Folgende Werte sind definiert:
|
Quell-Cluster-ID |
Zeichenkette |
True |
Kennung des verwalteten Clusters, auf dem die Quellanwendung gehostet wird. Dieses Feld ist schreibgeschützt und wird anhand des Host-Clusters der Quellanwendung ermittelt. Wird es bei einem Update angegeben, muss es mit der Cluster-ID der Quellanwendung übereinstimmen, daher kann es sich nur ändern, wenn die sourceAppID mit der destinationAppID vertauscht wird. Folgende Werte sind definiert:
|
destinationAppID |
Zeichenkette |
Falsch |
Kennung der Zielanwendung. Kann beim Erstellen nicht angegeben werden, da im Rahmen der Beziehungsinitialisierung eine neue App-ID generiert wird. Kann nur aktualisiert werden, wenn die sourceAppID mit der destinationAppID ausgetauscht wird. Folgende Werte sind definiert:
|
Ziel-Cluster-ID |
Zeichenkette |
True |
Kennung des verwalteten Clusters, das die Zielanwendung hostet. Muss beim Erstellen angegeben werden, da sie bestimmt, auf welchem Cluster die Zielanwendung erstellt wird. Wird sie beim Aktualisieren angegeben, muss sie mit der Cluster-ID der Zielanwendung übereinstimmen, daher kann sie sich nur ändern, wenn sourceAppID mit destinationAppID vertauscht wird. Folgende Werte sind definiert:
|
namespaceMapping |
Array["namespaceMapping"] |
Falsch |
Der oder die Namespaces, die beim Erstellen der Zielanwendung verwendet werden sollen, entsprechend den Namespaces der Quellanwendung. Jedes JSON-Objekt enthält die Felder „clusterID“ und „namespaces“, wobei der Wert von „clusterID“ die JSON-String-ID des Quell- oder Ziel-Cluster ist und der Wert von „namespaces“ ein JSON-Array von JSON-Strings ist. Für jeden Cluster muss genau ein JSON-Objekt vorhanden sein, und die Namespaces werden über ihren Index korreliert. Falls nicht angegeben, wird derselbe Namespace vom Quell-Cluster auch im Ziel-Cluster verwendet. Folgende Werte sind definiert:
|
storageClasses |
Array["storageClasses"] |
Falsch |
Die Speicherklasse, die auf dem Ziel-Cluster beim Erstellen neuer Persistent Volume Claims (PVCs) verwendet werden soll. Jedes JSON-Objekt enthält die Felder „clusterID“ und „storageClassName“, wobei der Wert von „clusterID“ die JSON-String-ID des Quell- oder Ziel-Cluster ist und „storageClassName“ die Speicherklasse ist, die beim Erstellen von PVCs auf diesem Cluster verwendet werden soll. Wenn kein Wert angegeben wird oder der Wert für einen Cluster fehlt, wird die Standard-Speicherklasse für diesen Cluster verwendet. Folgende Werte sind definiert:
|
Zustand |
Zeichenkette |
True |
Der Status der Beziehung. Folgende Werte sind definiert:
|
stateTransitions |
Array["type_astra_stateTransition"] |
Falsch |
Zulässige Zustandsübergänge. Für diese Ressource sind folgende Zustandsübergänge möglich:
|
stateDesired |
Zeichenkette |
True |
Der gewünschte Zustand der Beziehung. Bei der Erstellung ist nur der Wert „etabliert“ gültig. Folgende Werte sind definiert:
|
stateAllowed |
Array[string] |
Falsch |
Zustände, die in einem bestimmten Zustand angefordert werden können. Die folgenden Zustände können in jedem definierten Zustand angefordert werden:
|
stateDetails |
Array["type_astra_stateDetail"] |
True |
Zusätzliche Details zum aktuellen Zustand, einschließlich der Gründe für dessen Erreichen. Sind keine Details verfügbar, ist dieses Array leer. Folgende Werte sind definiert:
|
transferState |
Zeichenkette |
Falsch |
Status der aktuellen oder letzten Snapshot-Übertragung. Folgende Werte sind definiert:
|
transferStateTransitions |
Array["type_astra_stateTransition"] |
Falsch |
Zulässige Zustandsübergänge von einem vorgegebenen Zustand aus. Für diese Ressource sind folgende Zustandsübergänge möglich:
|
transferStateDetails |
Array["type_astra_stateDetail"] |
Falsch |
Zusätzliche Details zum aktuellen Zustand, einschließlich der Gründe für dessen Erreichen. Sind keine Details verfügbar, ist dieses Array leer. Folgende Werte sind definiert:
|
healthState |
Zeichenkette |
True |
Gesundheitszustand der Ressource. Folgende Werte sind definiert:
|
healthStateTransitions |
Array["type_astra_stateTransition"] |
True |
Zulässige Zustandsübergänge von einem vorgegebenen Zustand aus. Für diese Ressource sind folgende Zustandsübergänge möglich:
|
healthStateDetails |
Array["type_astra_stateDetail"] |
True |
Zusätzliche Details zum aktuellen Zustand, einschließlich der Gründe für dessen Erreichen. Sind keine Details verfügbar, ist dieses Array leer. Folgende Werte sind definiert:
|
Metadaten |
True |
Client- und dienstspezifische Metadaten, die der Ressource zugeordnet sind. Folgende Werte sind definiert:
|
Beispielantwort
{
"type": "application/astra-appMirror",
"version": "1.0",
"id": "c5fbadd4-5d9e-5942-bb7f-f5386b6b6253",
"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"
}
}
Antwort
Status: 401, Unauthorized
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
|
Titel |
Zeichenkette |
True |
|
Detail |
Zeichenkette |
True |
|
Status |
Zeichenkette |
True |
|
Korrelations-ID |
Zeichenkette |
Falsch |
Beispielantwort
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Antwort
Status: 400, Bad request
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
|
Titel |
Zeichenkette |
True |
|
Detail |
Zeichenkette |
True |
|
Status |
Zeichenkette |
True |
|
Korrelations-ID |
Zeichenkette |
Falsch |
|
invalidParams |
Array["invalidParams"] |
Falsch |
Liste ungültiger Abfrageparameter |
Beispielantwort
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Antwort
Status: 403, Forbidden
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
|
Titel |
Zeichenkette |
True |
|
Detail |
Zeichenkette |
True |
|
Status |
Zeichenkette |
True |
|
Korrelations-ID |
Zeichenkette |
Falsch |
Beispielantwort
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Fehler
Status: 404, Not found
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
|
Titel |
Zeichenkette |
True |
|
Detail |
Zeichenkette |
True |
|
Status |
Zeichenkette |
True |
|
Korrelations-ID |
Zeichenkette |
Falsch |
Beispiel-Fehlermeldung
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definitionen
Siehe Definitionen
namespaceMapping
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Cluster-ID |
Zeichenkette |
Falsch |
Kennung des Clusters, für den die Namensräume angegeben sind. Folgende Werte sind definiert:
|
Namensräume |
Array[string] |
Falsch |
Liste der im Cluster zu verwendenden Namensräume. Korreliert mit der anderen Namensraumliste des Clusters über den Index. Folgende Werte sind definiert:
|
storageClasses
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Cluster-ID |
Zeichenkette |
Falsch |
Kennung des Clusters, für den die Speicherklasse angegeben ist. Folgende Werte sind definiert:
|
storageClassName |
Zeichenkette |
Falsch |
Name der Speicherklasse, die beim Erstellen von PVCs auf dem in „clusterID“ angegebenen Cluster verwendet werden soll. Folgende Werte sind definiert:
|
type_astra_stateTransition
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
aus |
Zeichenkette |
True |
|
: |
Array[string] |
True |
type_astra_stateDetail
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
|
Titel |
Zeichenkette |
True |
|
Detail |
Zeichenkette |
True |
Typ_Astra_Label
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Name |
Zeichenkette |
True |
|
Wert |
Zeichenkette |
True |
type_astra_metadata_update
Client- und dienstspezifische Metadaten, die der Ressource zugeordnet sind. Folgende Werte sind definiert:
-
Entspricht dem Astra-Metadatenschema. Falls beim Erstellen keine Bezeichnung angegeben wird, wird ein Metadatenobjekt ohne Bezeichnungen erstellt. Wird beim Aktualisieren kein Label angegeben, bleiben die Labels, creationTimestamp und createdBy, des Metadatenobjekts unverändert erhalten.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Etiketten |
Array["Typ_Astra_Label"] |
Falsch |
|
CreationZeitstempel |
Zeichenkette |
Falsch |
|
Änderungszeitstempel |
Zeichenkette |
Falsch |
|
Erstellt von |
Zeichenkette |
Falsch |
|
modifiedBy |
Zeichenkette |
Falsch |
invalidParams
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Name |
Zeichenkette |
True |
Name des ungültigen Abfrageparameters |
Grund |
Zeichenkette |
True |
Grund, warum der Abfrageparameter ungültig ist |