Skip to main content
Astra Automation
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Créer un nouveau cluster pour un cloud

POST /accounts/{account_id}/topology/v1/clouds/{cloud_id}/clusters

Indique les valeurs souhaitées pour la ressource d'API Cluster à créer.

Paramètres

Nom Type Dans Obligatoire Description

identifiant_compte

chaîne

chemin

Vrai

ID de la ressource de compte conteneur

  • exemple: {{.Account}}

cloud_id

chaîne

chemin

Vrai

ID de la ressource cloud

Corps de la requête

Indique les valeurs souhaitées pour la ressource d'API Cluster à créer.

Nom Type Obligatoire Description

type

chaîne

Vrai

Type de média de la ressource. Les valeurs définies sont :

  • "application/astra-cluster"

version

chaîne

Vrai

Version de la ressource. Les valeurs définies sont :

  • "1,0"

  • "1,1"

  • "1,2"

  • "1,3"

  • "1,4"

  • "1,5"

nom

chaîne

Faux

Chaîne JSON contenant un nom pour le cluster. Si elle n'est pas spécifiée, le nom Kubernetes du cluster sera utilisé. Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 63

  • Cette chaîne de caractères est validée en interne afin de prévenir les attaques XSS, Unicode, de traversée de répertoire et d'injection SQL

accHost

chaîne

Faux

Chaîne JSON indiquant que ce cluster héberge l'instance d'Astra Control Center actuellement utilisée. Les valeurs définies sont :

  • « true » - Ce cluster héberge l'instance d'Astra Control Center actuellement utilisée.

identifiant

chaîne

Faux

Chaîne JSON contenant une valeur indiquant l'ID de l'identifiant qui contient le fichier kubeconfig du cluster. Les valeurs définies sont :

  • Conforme au schéma d'identifiants Astra. Si privateRouteID et connectorCapabilities avec au moins l'option de relais sont fournis, credentialID est facultatif. S'ils ne sont pas fournis, credentialID est requis, sinon une erreur est générée. Si credentialID et un connecteur compatible relais sont fournis, une erreur est générée.

ID de route privée

chaîne

Faux

Chaîne JSON contenant l'identifiant de localisation des clusters privés.

  • Longueur minimale : 1

  • Longueur maximale : 255

connectorCapabilities

tableau[chaîne]

Faux

Capacités du connecteur associé à ce cluster. Optionnel pour assurer la compatibilité ascendante. En l'absence de cette information, proxy est la capacité supposée.

les métadonnées

"type_astra_metadata_update"

Faux

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.

Exemple de requête
{
  "type": "application/astra-cluster",
  "version": "1.5",
  "name": "GKE-22",
  "credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31"
}

Réponse

Status: 201, Returns the newly created cluster resource in the JSON response body.
Nom Type Obligatoire Description

type

chaîne

Vrai

Type de média de la ressource. Les valeurs définies sont :

  • "application/astra-cluster"

version

chaîne

Vrai

Version de la ressource. Les valeurs définies sont :

  • "1,0"

  • "1,1"

  • "1,2"

  • "1,3"

  • "1,4"

  • "1,5"

id

chaîne

Vrai

Identifiant unique global de la ressource. Les valeurs définies sont :

  • Conforme au schéma UUIDv4

nom

chaîne

Vrai

Chaîne JSON contenant un nom pour le cluster. Si elle n'est pas spécifiée, le nom Kubernetes du cluster sera utilisé. Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 63

  • Cette chaîne de caractères est validée en interne afin de prévenir les attaques XSS, Unicode, de traversée de répertoire et d'injection SQL

État

chaîne

Vrai

Chaîne JSON contenant une valeur indiquant l'état opérationnel du cluster. Les valeurs définies sont :

  • « En attente » - Le cluster est programmé pour la découverte

  • « discovering » - Le cluster est en cours de découverte

  • « Provisionnement » - Le cluster est en cours de provisionnement

  • « running » - Le cluster fonctionne normalement

  • « Échec » - Le cluster est dans un état d'échec permanent

  • « supprimé » - Le cluster n'est actuellement pas accessible

  • « unknown » - L'état du cluster ne peut être déterminé

stateUnready

tableau[chaîne]

Vrai

Tableau JSON de chaînes JSON, chacune indiquant la raison pour laquelle le cluster ne peut pas passer à l'état « running », lorsqu'il y a des problèmes à l'état « running », ou la raison pour laquelle il est passé à l'état « failed » ou « removed ». Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 127

managedState

chaîne

Vrai

Chaîne JSON contenant une valeur indiquant l'état de gestion du cluster. Les valeurs définies sont :

  • « pending » - Le cluster est programmé pour être découvert ou ajouté

  • « Inéligible » : le cluster est à l’état « en cours d’exécution », n’est pas géré et n’est pas éligible à la gestion. Les raisons de cette inéligibilité sont fournies dans la valeur de clé unready

  • « Non géré » : le cluster est en état « en cours d’exécution » ou « défaillant », n’est pas sous gestion et est éligible à la gestion

  • « managing » - Le cluster est à l'état « running » et est en cours de gestion

  • « Géré » : le cluster est à l’état « en cours d’exécution », « en panne » ou « supprimé », et est sous gestion

protectionState

chaîne

Vrai

Chaîne JSON contenant une valeur indiquant l'état de protection du cluster. Les valeurs définies sont :

  • « complet » - La classe de stockage par défaut des clusters prend en charge les instantanés

  • « partiel » - Le cluster ne comporte que storageClasses qui ne prennent pas en charge les instantanés

  • "atRisk" - La classe de stockage par défaut du cluster ne prend pas en charge les instantanés

protectionStateDetails

tableau["type_astra_stateDetail"]

Vrai

Tableau JSON d'objets JSON contenant des informations supplémentaires sur l'état de protection 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 :

  • Nombre minimum d'articles : 0

restoreTargetSupported

chaîne

Faux

Chaîne JSON contenant une valeur indiquant la capacité du cluster à être une des opérations de gestion des données d'une application. Les valeurs définies sont :

  • « true » - Le cluster est une cible éligible pour les opérations de gestion des données d'application.

  • « false » - Le cluster n'est pas une cible éligible pour les opérations de gestion des données d'application.

snapshotSupported

chaîne

Faux

Chaîne JSON contenant une valeur indiquant la capacité du cluster à effectuer des opérations de gestion des données de type sauvegarde pour les données applicatives. Les valeurs définies sont :

  • « true » - Le cluster est éligible pour effectuer des opérations de gestion des données d'application.

  • « false » - Le cluster n'est pas éligible pour effectuer des opérations de gestion des données d'application.

managedStateUnready

tableau[chaîne]

Vrai

Tableau JSON de chaînes JSON, chacune indiquant une raison pour laquelle le cluster ne peut pas être géré, ou que le cluster est géré mais que des erreurs non fatales ont été rencontrées lors de la gestion du cluster. Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 127

managedTimestamp

chaîne

Faux

Chaîne JSON contenant l'horodatage indiquant la date et l'heure de mise sous gestion du cluster. Les valeurs définies sont :

  • Conforme au schéma de date et d'heure ISO-8601. Cette clé n'est renvoyée que lorsqu'un cluster a un managedState de « managed ».

tridentVersion

chaîne

Faux

Chaîne JSON contenant la version de Trident installée sur le cluster. Les valeurs définies sont :

  • Conforme au schéma de version du logiciel

tridentManagedState

chaîne

Faux

Chaîne JSON contenant l'une des valeurs énumérées indiquant l'état de gestion de Trident sur ce cluster. Les valeurs définies sont :

  • « managed » - L'instance Trident sur le cluster est gérée par Astra

  • « unmanaged » - L'instance Trident sur le cluster n'est pas gérée par Astra

tridentManagedStateDesired

chaîne

Faux

Chaîne JSON contenant une valeur indiquant l'état de gestion souhaité pour Trident. Les valeurs définies sont :

  • « géré » - Gérer Trident sur ce cluster

  • « non géré » - Ne pas gérer Trident sur ce cluster

tridentManagedStateDetails

tableau["type_astra_stateDetail"]

Faux

Tableau JSON d'objets JSON contenant des informations supplémentaires sur la raison du passage à l'état « géré » ou « non géré ». + Si aucun détail n'est disponible, ce tableau sera vide.

  • Nombre minimum d’articles : 0

tridentManagedStateAllowed

tableau[chaîne]

Faux

États pouvant être demandés dans un tridentManagedState donné. Les états suivants peuvent être demandés dans chaque état défini :

  • "géré": "géré"

  • "non géré": "non géré"

inUse

chaîne

Vrai

Chaîne JSON contenant une valeur indiquant si le cluster possède des applications gérées et ne peut donc pas être supprimé. Les valeurs définies sont :

  • « false » - Le cluster n’est pas géré ou est géré mais n’a aucune application gérée associée

  • « true » – Le cluster est géré et possède des applications gérées qui lui sont associées

accHost

chaîne

Faux

Chaîne JSON indiquant que ce cluster héberge l'instance d'Astra Control Center actuellement utilisée. Les valeurs définies sont :

  • « true » - Ce cluster héberge l'instance d'Astra Control Center actuellement utilisée.

clusterType

chaîne

Vrai

Chaîne JSON contenant une valeur indiquant le type de cluster. Les valeurs définies sont :

  • "gke" - Kubernetes hébergé sur Google Kubernetes Engine

  • "aks" - Kubernetes hébergé sur Microsoft Azure Kubernetes Service

  • "eks" - Kubernetes hébergé sur Amazon Elastic Kubernetes Service

  • "rke" - Le cluster est de type Rancher

  • « tanzu » - Le cluster est de type Tanzu Kubernetes Grid

  • « openshift » - Le cluster est de type OpenShift

  • "kubernetes" - Le cluster est un cluster Kubernetes générique

clusterVersion

chaîne

Faux

Chaîne JSON contenant une valeur indiquant la représentation sémantique du versionnage de l'environnement du cluster. Pour les clusters Kubernetes, il s'agit de la version Kubernetes. Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 31

clusterVersionString

chaîne

Faux

Chaîne JSON contenant une valeur indiquant les informations de version étendues pour l'environnement du cluster. Pour les clusters Kubernetes, il s'agit de la version complète de Kubernetes. Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 31

clusterCreationTimestamp

chaîne

Faux

Chaîne JSON contenant l'horodatage indiquant la date et l'heure de création initiale du cluster. Les valeurs définies sont :

  • Conforme au schéma de date et d'heure ISO-8601

espaces de noms

tableau[chaîne]

Faux

Tableau JSON de chaînes JSON, chacune indiquant un espace de noms au sein du cluster. Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 253

defaultStorageClass

chaîne

Faux

Chaîne JSON contenant un ID de classe de stockage correspondant à la classe de stockage par défaut définie dans Kubernetes. Les valeurs définies sont :

  • Conforme au schéma d'identifiant Astra

cloudID

chaîne

Vrai

Chaîne JSON contenant une valeur indiquant l'ID du cloud sur lequel le cluster s'exécute. Les valeurs définies sont :

  • Conforme au schéma d'identifiant Astra

identifiant

chaîne

Faux

Chaîne JSON contenant une valeur indiquant l'ID de l'identifiant qui contient le fichier kubeconfig du cluster. Les valeurs définies sont :

  • Conforme au schéma d'identifiants Astra. Si privateRouteID et connectorCapabilities avec au moins l'option de relais sont fournis, credentialID est facultatif. S'ils ne sont pas fournis, credentialID est requis, sinon une erreur est générée. Si credentialID et un connecteur compatible relais sont fournis, une erreur est générée.

emplacement

chaîne

Faux

Chaîne JSON contenant une valeur fournie par le cloud sur lequel le cluster s'exécute, indiquant l'emplacement spécifique du cluster dans ce cloud. Les valeurs définies sont :

  • Longueur minimale : 1

  • Longueur maximale : 63

isMultizonal

chaîne

Faux

Chaîne JSON contenant une valeur fournie par le cloud sur lequel le cluster s'exécute, indiquant si le cluster s'étend sur deux zones de disponibilité ou plus. Les valeurs définies sont :

  • « true » - Le cluster s'étend sur deux zones de disponibilité ou plus

  • « false » - Le cluster est entièrement situé dans une seule zone de disponibilité

ID de route privée

chaîne

Faux

Chaîne JSON contenant l'identifiant de localisation des clusters privés.

  • Longueur minimale : 1

  • Longueur maximale : 255

connectorCapabilities

tableau[chaîne]

Faux

Capacités du connecteur associé à ce cluster. Optionnel pour assurer la compatibilité ascendante. En l'absence de cette information, proxy est la capacité supposée.

ID de service d'API

chaîne

Faux

Chaîne JSON contenant l'UUID de l'objet service d'API Kubernetes (k8s). Utilisée pour identifier un cluster de manière unique.

les métadonnées

"type_astra_metadata_update"

Vrai

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.

Exemple de réponse
{
  "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"
  }
}

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

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: 409, Conflict
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

invalidFields

tableau["invalidFields"]

Faux

Liste des champs invalides du corps de la requête

Exemple de réponse
{
  "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"
}

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"
}

Réponse

Status: 500, Internal server error
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/64",
  "title": "Storage classes not found",
  "detail": "Storage classes from Trident weren't found.",
  "status": "500"
}

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

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

type_astra_stateDetail

Nom Type Obligatoire Description

type

chaîne

Vrai

titre

chaîne

Vrai

détail

chaîne

Vrai

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

invalidFields

Nom Type Obligatoire Description

nom

chaîne

Vrai

Nom du champ invalide du corps de la requête

raison

chaîne

Vrai

Raison pour laquelle le champ du corps de la requête est invalide