Créer un nouveau backend de stockage
POST /accounts/{account_id}/topology/v1/storageBackends
Indique les valeurs souhaitées pour la ressource API Storage Backend à créer.
Paramètres
| Nom | Type | Dans | Obligatoire | Description |
|---|---|---|---|---|
identifiant_compte |
chaîne |
chemin |
Vrai |
ID de la ressource de compte conteneur
|
Corps de la requête
Indique les valeurs souhaitées pour la ressource API Storage Backend à créer.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
Type de média de la ressource. Les valeurs définies sont :
|
version |
chaîne |
Vrai |
Version de la ressource. Les valeurs définies sont :
|
backendName |
chaîne |
Faux |
Chaîne JSON contenant un nom spécifié par l'utilisateur pour le stockage backend. Les valeurs définies sont :
|
backendType |
chaîne |
Vrai |
Chaîne JSON contenant une valeur indiquant le type de système de stockage utilisé. Les valeurs définies sont :
|
backendVersion |
chaîne |
Faux |
Chaîne JSON contenant une valeur indiquant la version du système de stockage utilisé. Les valeurs définies sont :
|
backendCredentialsName |
chaîne |
Faux |
Chaîne JSON contenant une valeur indiquant le nom d’un ou plusieurs identifiants utilisés pour le backend de stockage. Permet la rotation des identifiants lorsque plusieurs objets d’identifiant portent le même nom. Les valeurs définies sont :
|
les métadonnées |
Faux |
Métadonnées spécifiques au client et au service associées à la ressource. Les valeurs définies sont :
|
Exemple de requête
{
"type": "application/astra-storageBackend",
"version": "1.3",
"backendName": "st1-45",
"backendType": "ontap",
"backendCredentialsName": "st1-45-cred"
}
Réponse
Status: 201, Returns the newly created storageBackend 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 :
|
version |
chaîne |
Vrai |
Version de la ressource. Les valeurs définies sont :
|
id |
chaîne |
Vrai |
Identifiant unique global de la ressource. Les valeurs définies sont :
|
backendName |
chaîne |
Vrai |
Chaîne JSON contenant un nom spécifié par l'utilisateur pour le stockage backend. Les valeurs définies sont :
|
backendType |
chaîne |
Vrai |
Chaîne JSON contenant une valeur indiquant le type de système de stockage utilisé. Les valeurs définies sont :
|
backendVersion |
chaîne |
Vrai |
Chaîne JSON contenant une valeur indiquant la version du système de stockage utilisé. Les valeurs définies sont :
|
backendCredentialsName |
chaîne |
Vrai |
Chaîne JSON contenant une valeur indiquant le nom d’un ou plusieurs identifiants utilisés pour le backend de stockage. Permet la rotation des identifiants lorsque plusieurs objets d’identifiant portent le même nom. Les valeurs définies sont :
|
configVersion |
chaîne |
Faux |
Chaîne JSON contenant une valeur indiquant la configuration active à utiliser par le stockage backend. Les valeurs définies sont :
|
État |
chaîne |
Vrai |
Chaîne JSON contenant une valeur indiquant l'état opérationnel du stockage backend. Les valeurs définies sont :
|
stateDesired |
chaîne |
Faux |
Chaîne JSON contenant une valeur indiquant l'état opérationnel souhaité du stockage backend. Les valeurs définies sont :
|
stateUnready |
tableau[chaîne] |
Vrai |
Tableau JSON de chaînes JSON, chacune indiquant la raison pour laquelle un système de stockage ne peut pas passer à l'état « en cours d'exécution », est passé à l'état « en échec » ou « inconnu », et/ou risque de passer à l'état « en échec ». Les valeurs définies sont :
|
managedState |
chaîne |
Vrai |
Chaîne JSON contenant une valeur indiquant l'état de gestion du stockage backend. Les valeurs définies sont :
|
managedStateUnready |
tableau[chaîne] |
Vrai |
Tableau JSON de chaînes JSON, chacune indiquant une raison pour laquelle le système de stockage n'est pas éligible à être géré. Les valeurs définies sont :
|
healthState |
chaîne |
Faux |
Chaîne JSON contenant une valeur indiquant l'état de santé du stockage backend. Les valeurs définies sont :
|
healthStateUnready |
tableau[chaîne] |
Faux |
Tableau JSON de chaînes JSON, chacune indiquant une raison pour laquelle un système de stockage n'est pas dans un état de santé normal. Les valeurs définies sont :
|
protectionState |
chaîne |
Vrai |
Chaîne JSON contenant une valeur indiquant l'état de protection du stockage backend. "unknown" pour ONTAP. Les valeurs définies sont :
|
protectionStateUnready |
tableau[chaîne] |
Vrai |
Tableau JSON de chaînes JSON, chacune indiquant une raison pour laquelle une politique de protection n'est pas conforme. Les valeurs définies sont :
|
capacités |
Vrai |
Objet JSON contenant les fonctionnalités de ce Storage Backend. |
|
ONTAP |
Faux |
Objet JSON contenant des informations spécifiques relatives aux clusters ONTAP.
|
|
les métadonnées |
Vrai |
Métadonnées spécifiques au client et au service associées à la ressource. Les valeurs définies sont :
|
Exemple de réponse
{
"type": "application/astra-storageBackend",
"version": "1.3",
"id": "04ad4237-3c89-5ca5-8a40-282ab5eb6428",
"backendName": "st1-45",
"backendType": "ontap",
"backendVersion": "9.8",
"backendCredentialsName": "st1-45-cred",
"state": "running",
"stateUnready": [],
"managedState": "managed",
"managedStateUnready": [],
"protectionState": "unknown",
"protectionStateUnready": [
"Waiting for storage backend discovery"
],
"ontap": {
"authenticationStyle": "basic",
"backendManagementIP": "10.193.179.105",
"managementIPs": [
"10.193.188.110",
"10.193.179.105",
"10.193.179.106"
]
},
"capabilities": {
"flexClone": "true",
"snapMirror": "true",
"s3": "true"
},
"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 |
|
invalidFields |
tableau["invalidFields"] |
Faux |
Liste des champs invalides du corps de la requête |
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"
}
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 |
capacités
Objet JSON contenant les fonctionnalités de ce Storage Backend.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
FlexClone® |
chaîne |
Vrai |
Chaîne JSON indiquant si ce backend de stockage prend en charge FlexClone. |
SnapMirror |
chaîne |
Vrai |
Chaîne JSON indiquant si ce backend de stockage prend en charge SnapMirror. |
s3 |
chaîne |
Vrai |
Chaîne JSON indiquant si ce Storage Backend prend en charge s3. |
ONTAP
Objet JSON contenant des informations spécifiques relatives aux clusters ONTAP.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
authenticationStyle |
chaîne |
Vrai |
Chaîne JSON indiquant si l'authentification ONTAP est effectuée à l'aide d'une combinaison nom d'utilisateur/mot de passe ou d'un certificat. Les valeurs définies sont :
|
Adresse IP de gestion du backend |
chaîne |
Faux |
Chaîne JSON contenant l'adresse IP utilisée pour se connecter à ce cluster ONTAP. |
adresses IP de gestion |
tableau[chaîne] |
Faux |
Tableau JSON de chaînes JSON contenant la liste de toutes les adresses IP de gestion possibles utilisées pour se connecter à ce cluster ONTAP. Ceci est utilisé pour faire correspondre les backends détectés via Trident et les backends de stockage dans Astra.
|
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 |