Skip to main content
Uma versão mais recente deste produto está disponível.
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Create a new storage backend

Colaboradores

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

  • example: {{.Account}}

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:

  • "application/astra-storageBackend"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

  • "1.1"

  • "1.2"

backendName

string

False

JSON string containing a user-specified name for the storage backend. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

backendType

string

True

JSON string containing a value indicating the type of the storage backend being represented. Defined values are:

  • "ontap" - The storage backend represents a NetApp ONTAP system

  • enum: ["ontap"]

  • example: ontap

backendVersion

string

False

JSON string containing a value indicating the version of the storage backend being represented. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

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:

  • Minimum length: 1

  • Maximum length: 63

metadata

type_astra_metadata_update

False

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.

Example request
{
  "type": "application/astra-storageBackend",
  "version": "1.2",
  "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:

  • "application/astra-storageBackend"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

  • "1.1"

  • "1.2"

id

string

True

Globally unique identifier of the resource. Defined values are:

  • Conforms to the UUIDv4 Schema

backendName

string

True

JSON string containing a user-specified name for the storage backend. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

backendType

string

True

JSON string containing a value indicating the type of the storage backend being represented. Defined values are:

  • "ontap" - The storage backend represents a NetApp ONTAP system

  • enum: ["ontap"]

  • example: ontap

backendVersion

string

True

JSON string containing a value indicating the version of the storage backend being represented. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

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:

  • Minimum length: 1

  • Maximum length: 63

configVersion

string

False

JSON string containing a value indicating the active configuration to be used by the storage backend. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

state

string

True

JSON string containing a value indicating the operational state of the storage backend. Defined values are:

  • "discovered" - The storage backend has been discovered from a managed cluster

  • "running" - The storage backend is running normally

  • "unknown" - The state of the storage backend cannot be determined

  • "failed" - The storage backend is in an unavailable state

stateDesired

string

False

JSON string containing a value indicating the desired operational state of the storage backend. Defined values are:

  • "running" - The storage backend will be in a normal running state

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:

  • Minimum length: 1

  • Maximum length: 127

managedState

string

True

JSON string containing a value indicating the management state of the storage backend. Defined values are:

  • "pending" - The storage backend is scheduled to be discovered or added

  • "unmanaged" - The storage backend is in a "discovered" state, is not under management, and is eligible for management

  • "managed" - The storage backend is in a "running" or "unknown" state and is under management

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:

  • Minimum length: 1

  • Maximum length: 127

healthState

string

False

JSON string containing a value indicating the health state of the storage backend. Defined values are:

  • "indeterminate" - The health of the resource cannot be determined (for example, due to lack of connectivity)

  • "normal" - The resource has no known issues and can provide services in accordance with the interface specification

  • "warning" - The resource has known issues that do not prevent it providing services in accordance with the interface specification

  • "critical" - The resource has known issues that prevent it from providing services in accordance with the interface specification

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:

  • Minimum length: 1

  • Maximum length: 127

protectionState

string

True

JSON string containing a value indicating the protection state of the storage backend. "unknown" for ONTAP. Defined values are:

  • "protected" - The storage backend has a protection policy defined and is in conformance with that policy

  • "partial" - The storage backend has a protection policy defined but is out of conformance with that policy

  • "none" - The storage backend is not protected

  • "unknown" - The storage backend protection policy conformance cannot be determined

  • enum: ["protected", "partial", "none", "unknown"]

  • example: protected

protectionStateUnready

array[string]

True

JSON array of JSON strings, each indicating a reason why a protection policy is out of conformance. Defined values are:

  • Minimum length: 1

  • Maximum length: 127

ontap

ontap

False

JSON object containing specific information related to ONTAP clusters.

  • additionalProperties: false

metadata

type_astra_metadata_update

True

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.

Example response
{
  "type": "application/astra-storageBackend",
  "version": "1.2",
  "id": "ad238443-2bc7-54f5-bd7f-5d1668377cd7",
  "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": {
    "backendManagementIP": "10.193.179.105",
    "managementIPs": [
      "10.193.188.110",
      "10.193.179.105",
      "10.193.179.106"
    ]
  },
  "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

False

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

False

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

False

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

False

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

False

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

ontap

JSON object containing specific information related to ONTAP clusters.

Name Type Required Description

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.

  • uniqueItems: 1

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