Skip to main content
Eine neuere Version dieses Produkts ist erhältlich.
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Erstellen Sie eine neue AppMirror-Ressource für eine App

Änderungen vorschlagen

POST /accounts/{account_id}/k8s/v1/apps/{app_id}/appMirrors

Gibt die gewünschten Werte für die zu erstellende AppMirror API-Ressource an.

Parameter

Name Typ In Erforderlich Beschreibung

Konto-ID

Zeichenkette

Pfad

True

ID der übergeordneten Kontoressource

  • Beispiel: {{.Account}}

App-ID

Zeichenkette

Pfad

True

ID der übergeordneten App-Ressource

Anfragetext

Gibt die gewünschten Werte für die zu erstellende AppMirror API-Ressource an.

Name Typ Erforderlich Beschreibung

Typ

Zeichenkette

True

Medientyp der Ressource. Folgende Werte sind definiert:

  • "application/astra-appMirror"

Version

Zeichenkette

True

Version der Ressource. Folgende Werte sind definiert:

  • "1,0"

  • "1,1"

sourceAppID

Zeichenkette

True

Kennung der Quellanwendung. Wird nur aktualisiert, wenn die sourceAppID mit der destinationAppID ausgetauscht wird. Folgende Werte sind definiert:

  • Entspricht dem Astra-Identifikatorschema

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:

  • Entspricht dem Astra-Identifikatorschema

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:

  • Mindestlänge: 0

  • Maximale Länge: 2

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:

  • Mindestlänge: 0

  • Maximale Länge: 2

stateDesired

Zeichenkette

True

Der gewünschte Zustand der Beziehung. Bei der Erstellung ist nur der Wert „etabliert“ gültig. Folgende Werte sind definiert:

  • „Etabliert“ – Die Beziehung ist hergestellt.

  • "failedOver" - Das Failover der Anwendung auf den Ziel-Cluster wurde abgeschlossen.

  • "gelöscht" - Die Beziehung wurde erfolgreich bereinigt und gelöscht.

Metadaten

"type_astra_metadata_update"

Falsch

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.

Beispielanfrage
{
  "type": "application/astra-appMirror",
  "version": "1.1",
  "sourceAppID": "efd639b6-fc92-4112-8841-0c0ab7890ae0",
  "destinationClusterID": "c5d023a9-4061-4a8a-bfbf-3be11ff06226",
  "stateDesired": "established"
}

Antwort

Status: 201, Returns the newly created appMirror resource in the JSON response body.
Name Typ Erforderlich Beschreibung

Typ

Zeichenkette

True

Medientyp der Ressource. Folgende Werte sind definiert:

  • "application/astra-appMirror"

Version

Zeichenkette

True

Version der Ressource. Folgende Werte sind definiert:

  • "1,0"

  • "1,1"

id

Zeichenkette

True

Weltweit eindeutiger Bezeichner der Ressource. Folgende Werte sind definiert:

  • Entspricht dem UUIDv4-Schema

sourceAppID

Zeichenkette

True

Kennung der Quellanwendung. Wird nur aktualisiert, wenn die sourceAppID mit der destinationAppID ausgetauscht wird. Folgende Werte sind definiert:

  • Entspricht dem Astra-Identifikatorschema

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:

  • Entspricht dem Astra-Identifikatorschema

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:

  • Entspricht dem Astra-Identifikatorschema

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:

  • Entspricht dem Astra-Identifikatorschema

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:

  • Mindestlänge: 0

  • Maximale Länge: 2

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:

  • Mindestlänge: 0

  • Maximale Länge: 2

Zustand

Zeichenkette

True

Der Status der Beziehung. Folgende Werte sind definiert:

  • „establishing“ – Die Beziehung wird gerade hergestellt.

  • „Etabliert“ – Die Beziehung ist hergestellt.

  • "failingOver" - Das Failover der Anwendung auf den Ziel-Cluster wird durchgeführt.

  • "failedOver" - Das Failover der Anwendung auf den Ziel-Cluster wurde abgeschlossen.

  • "Löschen" – Die durch die Beziehung erstellten Ressourcen werden bereinigt.

  • "gelöscht" - Die Beziehung wurde bereinigt und gelöscht.

stateTransitions

Array["type_astra_stateTransition"]

Falsch

Zulässige Zustandsübergänge. Für diese Ressource sind folgende Zustandsübergänge möglich:

  • "establishing": "etabliert", "deleting"

  • "established": "failingOver", "deleting"

  • "failingOver": "failedOver", "Löschen"

  • "failedOver": "einrichten", "löschen"

  • "Löschen": "gelöscht"

  • "gelöscht":

stateDesired

Zeichenkette

True

Der gewünschte Zustand der Beziehung. Bei der Erstellung ist nur der Wert „etabliert“ gültig. Folgende Werte sind definiert:

  • „Etabliert“ – Die Beziehung ist hergestellt.

  • "failedOver" - Das Failover der Anwendung auf den Ziel-Cluster wurde abgeschlossen.

  • "gelöscht" - Die Beziehung wurde erfolgreich bereinigt und gelöscht.

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:

  • "establishing": "etabliert", "gelöscht"

  • "etabliert": "failedOver", "gelöscht"

  • "failingOver": "failedOver", "gelöscht"

  • "failedOver": "etabliert", "gelöscht"

  • "Löschen": "gelöscht"

  • "gelöscht": "gelöscht"

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:

  • Mindestanzahl: 0

transferState

Zeichenkette

Falsch

Status der aktuellen oder letzten Snapshot-Übertragung. Folgende Werte sind definiert:

  • „Übertragung läuft“ – Ein neuer Snapshot wurde erstellt und wird nun in den Ziel-Cluster repliziert. Dieser Status umfasst auch Übertragungen, die bei vorherigen Versuchen fehlgeschlagen sind und nun wiederholt werden.

  • "Leerlauf" - Derzeit findet keine Übertragung statt.

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:

  • "transferring": "Leerlauf"

  • "idle": "transferring"

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:

  • Mindestanzahl: 0

healthState

Zeichenkette

True

Gesundheitszustand der Ressource. Folgende Werte sind definiert:

  • „unbestimmt“ – Der Zustand der Ressource kann nicht bestimmt werden (z. B. aufgrund fehlender Verbindung)

  • „normal“ – Die Ressource weist keine bekannten Probleme auf und kann Dienste gemäß der Schnittstellenspezifikation bereitstellen.

  • "Warnung" – Die Ressource weist bekannte Probleme auf, die sie jedoch nicht daran hindern, Dienste gemäß der Schnittstellenspezifikation bereitzustellen.

  • "kritisch" – Die Ressource weist bekannte Probleme auf, die sie daran hindern, Dienste gemäß der Schnittstellenspezifikation bereitzustellen.

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:

  • "unbestimmt": "normal", "Warnung", "kritisch"

  • "normal": "unbestimmt", "Warnung", "kritisch"

  • "Warnung": "unbestimmt", "normal", "kritisch"

  • "kritisch": "unbestimmt", "normal", "Warnung"

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:

  • Mindestanzahl: 0

Metadaten

"type_astra_metadata_update"

True

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.

Beispielantwort
{
  "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",
  "state": "establishing",
  "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": [
    "deleted"
  ],
  "stateDetails": [
    {
      "type": "https://astra.netapp.io/stateDetails/3",
      "title": "AppMirror is being established",
      "detail": "The AppMirror relationship is in the process of being established."
    }
  ],
  "healthState": "warning",
  "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/4",
      "title": "AppMirror not yet established",
      "detail": "The relationship is in the process of being established, so it's not protecting the app data yet."
    }
  ],
  "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

invalidFields

Array["invalidFields"]

Falsch

Liste ungültiger Anfragetextfelder

Beispielantwort
{
  "type": "https://astra.netapp.io/problems/5",
  "title": "Invalid query parameters",
  "detail": "The supplied query parameters are invalid.",
  "status": "400"
}

Antwort

Status: 409, Conflict
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/10",
  "title": "JSON resource conflict",
  "detail": "The request body JSON contains a field that conflicts with an idempotent value.",
  "status": "409"
}

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:

  • Entspricht dem Astra-Identifikatorschema

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:

  • Mindestlänge: 1

  • Maximale Länge: 63

  • Entspricht dem DNS 1123 Label Schema

Rolle

Zeichenkette

Falsch

Die anfängliche Rolle für diese Namespace-Definition. Dieser Parameter ist optional, außer bei Verwendung einer Replikationskonfiguration innerhalb desselben Clusters. Folgende Werte sind definiert:

  • "Quelle"

  • "Ziel"

storageClasses

Name Typ Erforderlich Beschreibung

Cluster-ID

Zeichenkette

Falsch

Kennung des Clusters, für den die Speicherklasse angegeben ist. Folgende Werte sind definiert:

  • Entspricht dem Astra-Identifikatorschema

storageClassName

Zeichenkette

Falsch

Name der Speicherklasse, die beim Erstellen von PVCs auf dem in „clusterID“ angegebenen Cluster verwendet werden soll. Folgende Werte sind definiert:

  • Mindestlänge: 1

  • Maximale Länge: 255

Rolle

Zeichenkette

Falsch

Die anfängliche Rolle für diese Speicherklassendefinition. Dieser Parameter ist optional, außer bei Verwendung einer Replikationskonfiguration innerhalb desselben Clusters. Folgende Werte sind definiert:

  • "Quelle"

  • "Ziel"

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

type_astra_stateTransition

Name Typ Erforderlich Beschreibung

aus

Zeichenkette

True

:

Array[string]

True

additionalDetails

type_astra_stateDetail

Name Typ Erforderlich Beschreibung

Typ

Zeichenkette

True

Titel

Zeichenkette

True

Detail

Zeichenkette

True

additionalDetails

"additionalDetails"

Falsch

invalidParams

Name Typ Erforderlich Beschreibung

Name

Zeichenkette

True

Name des ungültigen Abfrageparameters

Grund

Zeichenkette

True

Grund, warum der Abfrageparameter ungültig ist

invalidFields

Name Typ Erforderlich Beschreibung

Name

Zeichenkette

True

Name des ungültigen Anfragetextfelds

Grund

Zeichenkette

True

Grund, warum das Anfragekörperfeld ungültig ist