Create a new storage backend
POST /accounts/{account_id}/topology/v1/storageBackends
Indicates desired values for the Storage Backend API resource to be created.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
account_id |
string |
path |
True |
ID of the containing account resource
|
Request Body
Indicates desired values for the Storage Backend API resource to be created.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
backendName |
string |
False |
JSON string containing a user-specified name for the storage backend. Defined values are:
|
backendType |
string |
True |
JSON string containing a value indicating the type of the storage backend being represented. Defined values are:
|
backendVersion |
string |
False |
JSON string containing a value indicating the version of the storage backend being represented. Defined values are:
|
backendCredentialsName |
string |
False |
JSON string containing a value indicating the name of one or more credential resources used for the storage backend. Allows for credential rotation where multiple credential objects have the same name. Defined values are:
|
metadata |
False |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example request
{
"type": "application/astra-storageBackend",
"version": "1.3",
"backendName": "st1-45",
"backendType": "ontap",
"backendCredentialsName": "st1-45-cred"
}
Response
Status: 201, Returns the newly created storageBackend resource in the JSON response body.
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
Media type of the resource. Defined values are:
|
version |
string |
True |
Version of the resource. Defined values are:
|
id |
string |
True |
Globally unique identifier of the resource. Defined values are:
|
backendName |
string |
True |
JSON string containing a user-specified name for the storage backend. Defined values are:
|
backendType |
string |
True |
JSON string containing a value indicating the type of the storage backend being represented. Defined values are:
|
backendVersion |
string |
True |
JSON string containing a value indicating the version of the storage backend being represented. Defined values are:
|
backendCredentialsName |
string |
True |
JSON string containing a value indicating the name of one or more credential resources used for the storage backend. Allows for credential rotation where multiple credential objects have the same name. Defined values are:
|
configVersion |
string |
False |
JSON string containing a value indicating the active configuration to be used by the storage backend. Defined values are:
|
state |
string |
True |
JSON string containing a value indicating the operational state of the storage backend. Defined values are:
|
stateDesired |
string |
False |
JSON string containing a value indicating the desired operational state of the storage backend. Defined values are:
|
stateUnready |
array[string] |
True |
JSON array of JSON strings, each indicating a reason why a storage backend is unable to transition to "running", why it has transitioned to "failed" or "unknown", and/or why it is at risk of transitioning to "failed". Defined values are:
|
managedState |
string |
True |
JSON string containing a value indicating the management state of the storage backend. Defined values are:
|
managedStateUnready |
array[string] |
True |
JSON array of JSON strings, each indicating a reason why the storage backend is ineligible to be managed. Defined values are:
|
healthState |
string |
False |
JSON string containing a value indicating the health state of the storage backend. Defined values are:
|
healthStateUnready |
array[string] |
False |
JSON array of JSON strings, each indicating a reason why a storage backend is not in a normal health state. Defined values are:
|
protectionState |
string |
True |
JSON string containing a value indicating the protection state of the storage backend. "unknown" for ONTAP. Defined values are:
|
protectionStateUnready |
array[string] |
True |
JSON array of JSON strings, each indicating a reason why a protection policy is out of conformance. Defined values are:
|
capabilities |
True |
JSON object containing this Storage Backend capabilities. |
|
ontap |
False |
JSON object containing specific information related to ONTAP clusters.
|
|
metadata |
True |
Client and service-specified metadata associated with the resource. Defined values are:
|
Example response
{
"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"
}
}
Response
Status: 401, Unauthorized
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Response
Status: 400, Bad request
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Response
Status: 409, Conflict
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
array[invalidFields] |
False |
List of invalid request body fields |
Example response
{
"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"
}
Response
Status: 403, Forbidden
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example response
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Error
Status: 404, Not found
Name | Type | Required | Description |
---|---|---|---|
type |
string |
True |
|
title |
string |
True |
|
detail |
string |
True |
|
status |
string |
True |
|
correlationID |
string |
False |
Example error response
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definitions
See Definitions
type_astra_label
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata_update
Client and service-specified metadata associated with the resource. Defined values are:
-
Conforms to the Astra Metadata Schema If not specified on create, a metadata object will be created with no labels. If not specified on update, the metadata object's labels, creationTimestamp and createdBy, will be preserved without modification.
Name | Type | Required | Description |
---|---|---|---|
labels |
array[type_astra_label] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
createdBy |
string |
False |
|
modifiedBy |
string |
False |
capabilities
JSON object containing this Storage Backend capabilities.
Name | Type | Required | Description |
---|---|---|---|
flexClone |
string |
True |
JSON string indicating if this Storage Backend supports FlexClone. |
snapMirror |
string |
True |
JSON string indicating if this Storage Backend supports SnapMirror. |
s3 |
string |
True |
JSON string indicating if this Storage Backend supports s3. |
ontap
JSON object containing specific information related to ONTAP clusters.
Name | Type | Required | Description |
---|---|---|---|
authenticationStyle |
string |
True |
JSON string indicating whether the ONTAP authentication is performed using a username/password combination or a certificate. Defined values are:
|
backendManagementIP |
string |
False |
JSON string containing the IP address used to connect to this ONTAP cluster. |
managementIPs |
array[string] |
False |
JSON array of JSON strings containing the list of all possible management IPs used to connect to this ONTAP cluster. This is used to correlate backends detected through Trident and storage backends in Astra.
|
invalidParams
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid query parameter |
reason |
string |
True |
Reason why the query parameter is invalid |
invalidFields
Name | Type | Required | Description |
---|---|---|---|
name |
string |
True |
Name of the invalid request body field |
reason |
string |
True |
Reason why the request body field is invalid |