Erstellen Sie einen neuen Cluster für eine Cloud
POST /accounts/{account_id}/topology/v1/clouds/{cloud_id}/clusters
Gibt die gewünschten Werte für die zu erstellende Cluster-API-Ressource an.
Parameter
| Name | Typ | In | Erforderlich | Beschreibung |
|---|---|---|---|---|
Konto-ID |
Zeichenkette |
Pfad |
True |
ID der übergeordneten Kontoressource
|
cloud_id |
Zeichenkette |
Pfad |
True |
ID der übergeordneten Cloud-Ressource |
Anfragetext
Gibt die gewünschten Werte für die zu erstellende Cluster-API-Ressource an.
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
Medientyp der Ressource. Folgende Werte sind definiert:
|
Version |
Zeichenkette |
True |
Version der Ressource. Folgende Werte sind definiert:
|
Name |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Namen für den Cluster. Falls kein Name angegeben wird, wird der Kubernetes-Name des Clusters verwendet. Folgende Werte sind definiert:
|
accHost |
Zeichenkette |
Falsch |
JSON-Zeichenkette, die angibt, dass dieser Cluster die Instanz von Astra Control Center hostet, auf die derzeit zugegriffen wird. Folgende Werte sind definiert:
|
Anmeldeinformations-ID |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der die ID der Anmeldeinformation angibt, die die kubeconfig-Datei für den Cluster enthält. Folgende Werte sind definiert:
|
privateRouteID |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit der Standort-ID für private Cluster.
|
connectorCapabilities |
Array[string] |
Falsch |
Funktionen des mit diesem Cluster verknüpften Konnektors. Optional aus Gründen der Abwärtskompatibilität. Falls nicht angegeben, wird die Proxy-Funktionalität angenommen. |
Metadaten |
Falsch |
Client- und dienstspezifische Metadaten, die der Ressource zugeordnet sind. Folgende Werte sind definiert:
|
Beispielanfrage
{
"type": "application/astra-cluster",
"version": "1.5",
"name": "GKE-22",
"credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31"
}
Antwort
Status: 201, Returns the newly created cluster 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:
|
Name |
Zeichenkette |
True |
JSON-Zeichenkette mit einem Namen für den Cluster. Falls kein Name angegeben wird, wird der Kubernetes-Name des Clusters verwendet. Folgende Werte sind definiert:
|
Zustand |
Zeichenkette |
True |
JSON-Zeichenkette mit einem Wert, der den Betriebszustand des Clusters angibt. Folgende Werte sind definiert:
|
stateUnready |
Array[string] |
True |
JSON-Array mit JSON-Strings, die jeweils einen Grund dafür angeben, warum der Cluster nicht in den Status „running“ wechseln kann, wenn im Status „running“ Probleme auftreten oder warum er in den Status „failed“ oder „removed“ gewechselt ist. Folgende Werte sind definiert:
|
managedState |
Zeichenkette |
True |
JSON-Zeichenkette mit einem Wert, der den Verwaltungsstatus des Clusters angibt. Folgende Werte sind definiert:
|
protectionState |
Zeichenkette |
True |
JSON-Zeichenkette mit einem Wert, der den Schutzstatus des Clusters angibt. Folgende Werte sind definiert:
|
protectionStateDetails |
Array["type_astra_stateDetail"] |
True |
Ein JSON-Array mit JSON-Objekten, das zusätzliche Details zum aktuellen Schutzstatus auflistet, einschließlich der Gründe, warum der aktuelle Status erreicht wurde. Sind keine Details verfügbar, ist dieses Array leer. Folgende Werte sind definiert:
|
restoreTargetSupported |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der angibt, ob der Cluster als Ziel für Anwendungsdatenverwaltungsoperationen geeignet ist. Folgende Werte sind definiert:
|
snapshotSupported |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der die Fähigkeit des Clusters zur Durchführung von Backup-ähnlichen Operationen im Bereich der Anwendungsdatenverwaltung angibt. Folgende Werte sind definiert:
|
managedStateUnready |
Array[string] |
True |
JSON-Array mit JSON-Zeichenketten, die jeweils einen Grund dafür angeben, warum der Cluster nicht verwaltet werden kann, oder dass der Cluster verwaltet wird, aber nicht schwerwiegende Fehler bei der Verwaltung des Clusters aufgetreten sind. Folgende Werte sind definiert:
|
managedTimestamp |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit dem Zeitstempel, der angibt, wann der Cluster unter Verwaltung gestellt wurde. Folgende Werte sind definiert:
|
tridentVersion |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit der auf dem Cluster installierten Trident-Version. Folgende Werte sind definiert:
|
tridentManagedState |
Zeichenkette |
Falsch |
JSON-Zeichenkette, die einen von mehreren aufgezählten Werten enthält und den Verwaltungsstatus von Trident auf diesem Cluster angibt. Folgende Werte sind definiert:
|
tridentManagedStateDesired |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der den gewünschten Verwaltungsstatus für Trident angibt. Folgende Werte sind definiert:
|
tridentManagedStateDetails |
Array["type_astra_stateDetail"] |
Falsch |
JSON-Array mit JSON-Objekten, das zusätzliche Details darüber auflistet, warum der Status zu „verwaltet“ oder „nicht verwaltet“ gewechselt hat. + Falls keine Details verfügbar sind, ist dieses Array leer.
|
tridentManagedStateAllowed |
Array[string] |
Falsch |
Zustände, die in einem gegebenen tridentManagedState angefordert werden können. Die folgenden Zustände können in jedem definierten Zustand angefordert werden:
|
inUse |
Zeichenkette |
True |
JSON-Zeichenkette mit einem Wert, der angibt, ob der Cluster verwaltete Anwendungen enthält und daher nicht gelöscht werden kann. Folgende Werte sind definiert:
|
accHost |
Zeichenkette |
Falsch |
JSON-Zeichenkette, die angibt, dass dieser Cluster die Instanz von Astra Control Center hostet, auf die derzeit zugegriffen wird. Folgende Werte sind definiert:
|
clusterType |
Zeichenkette |
True |
JSON-Zeichenkette mit einem Wert, der den Clustertyp angibt. Folgende Werte sind definiert:
|
clusterVersion |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der die semantische Versionsdarstellung der Clusterumgebung angibt. Bei Kubernetes-Clustern ist dies die Kubernetes-Version. Folgende Werte sind definiert:
|
clusterVersionString |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der die erweiterten Versionsinformationen für die Clusterumgebung angibt. Für Kubernetes-Cluster ist dies die vollständige Kubernetes-Version. Folgende Werte sind definiert:
|
clusterCreationTimestamp |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit dem Zeitstempel, der angibt, wann der Cluster ursprünglich erstellt wurde. Folgende Werte sind definiert:
|
Namensräume |
Array[string] |
Falsch |
JSON-Array von JSON-Zeichenketten, die jeweils einen Namespace innerhalb des Clusters angeben. Folgende Werte sind definiert:
|
defaultStorageClass |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einer Speicherklassen-ID, die der in Kubernetes festgelegten Standard-Speicherklasse entspricht. Folgende Werte sind definiert:
|
cloudID |
Zeichenkette |
True |
JSON-Zeichenkette mit einem Wert, der die ID der Cloud angibt, auf der der Cluster ausgeführt wird. Folgende Werte sind definiert:
|
Anmeldeinformations-ID |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der die ID der Anmeldeinformation angibt, die die kubeconfig-Datei für den Cluster enthält. Folgende Werte sind definiert:
|
Standort |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der von der Cloud bereitgestellt wird, auf der der Cluster ausgeführt wird und den cloudspezifischen Standort des Clusters angibt. Folgende Werte sind definiert:
|
isMultizonal |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit einem Wert, der von der Cloud bereitgestellt wird, auf der der Cluster ausgeführt wird, und angibt, ob sich der Cluster über zwei oder mehr Verfügbarkeitszonen erstreckt. Folgende Werte sind definiert:
|
privateRouteID |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit der Standort-ID für private Cluster.
|
connectorCapabilities |
Array[string] |
Falsch |
Funktionen des mit diesem Cluster verknüpften Konnektors. Optional aus Gründen der Abwärtskompatibilität. Falls nicht angegeben, wird die Proxy-Funktionalität angenommen. |
apiServiceID |
Zeichenkette |
Falsch |
JSON-Zeichenkette mit der UUID des Kubernetes (k8s) API-Service-Objekts. Wird zur eindeutigen Identifizierung eines Clusters verwendet. |
Metadaten |
True |
Client- und dienstspezifische Metadaten, die der Ressource zugeordnet sind. Folgende Werte sind definiert:
|
Beispielantwort
{
"type": "application/astra-cluster",
"version": "1.5",
"id": "547e24b9-ddf4-558f-8397-e97e732868e4",
"name": "GKE-22",
"state": "running",
"stateUnready": [],
"managedState": "unmanaged",
"managedStateUnready": [],
"protectionState": "full",
"protectionStateDetails": [],
"tridentVersion": "21.07.2",
"tridentManagedState": "managed",
"tridentManagedStateDetails": [],
"inUse": "false",
"clusterType": "kubernetes",
"clusterVersion": "1.91.1",
"clusterVersionString": "1.19.1",
"clusterCreationTimestamp": "2020-08-06T12:24:52.256624Z",
"namespaces": [
"kube-system",
"kube-public",
"my-app-1"
],
"defaultStorageClass": "31c95aba-99d9-4987-b1bb-000dfce5952c",
"cloudID": "548bdc1f-f00e-4a23-a062-83265d224d46",
"credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31",
"location": "europe-west4",
"isMultizonal": "false",
"apiServiceID": "6bf33af2-872a-4553-a891-26b510c3edbe",
"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 |
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 |
|
invalidFields |
Array["invalidFields"] |
Falsch |
Liste ungültiger Anfragetextfelder |
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"
}
Antwort
Status: 500, Internal server error
| 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/64",
"title": "Storage classes not found",
"detail": "Storage classes from Trident weren't found.",
"status": "500"
}
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
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 |
additionalDetails
type_astra_stateDetail
| Name | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Typ |
Zeichenkette |
True |
|
Titel |
Zeichenkette |
True |
|
Detail |
Zeichenkette |
True |
|
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 |