Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

Create a new cloud

貢獻者

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

Indicates the desired values for the Cloud 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 the desired values for the Cloud API resource to be created.

Name Type Required Description

type

string

True

Media type of the resource. Defined values are:

  • "application/astra-cloud"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

  • "1.1"

name

string

True

JSON string containing the name of the cloud. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

  • This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks

cloudType

string

True

JSON string containing a value indicating the type of cloud. Defined values are:

  • "gcp" - The cloud is provided by Google

  • "azure" - The cloud is provided by Microsoft

  • "aws" - The cloud is provided by Amazon

  • "private" - The cloud is customer managed

credentialID

string

False

JSON string containing a value indicating the ID of the credential that contains the service account for the cloud. This is required for cloudType "gcp", "azure" and "aws". Defined values are:

  • Conforms to the Astra Identifier Schema

defaultBucketID

string

False

JSON string containing the ID of a bucket that is to be used by default when creating backups for applications within the cloud. This is required when cloning applications across clusters and is used as a default if a bucket is not specified when creating backups and schedules. Defined values are:

  • Conforms to the Astra Identifier Schema

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-cloud",
  "version": "1.1",
  "name": "GKE",
  "cloudType": "gcp",
  "credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31"
}

Response

Status: 201, Returns the newly created cloud resource in the JSON response body.
Name Type Required Description

type

string

True

Media type of the resource. Defined values are:

  • "application/astra-cloud"

version

string

True

Version of the resource. Defined values are:

  • "1.0"

  • "1.1"

id

string

True

Globally unique identifier of the resource. Defined values are:

  • Conforms to the UUIDv4 Schema

name

string

True

JSON string containing the name of the cloud. Defined values are:

  • Minimum length: 1

  • Maximum length: 63

  • This string is internally validated to prevent XSS, Unicode, directory traversal, and SQL-injection attacks

state

string

True

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

  • "pending" - The cloud is scheduled for discovery

  • "discovering" - The cloud is in the process of being discovered

  • "provisioning" - The cloud is in the process of being provisioned

  • "running" - The cloud is running normally

  • "failed" - The cloud is in a permanent failure state

  • "removed" - The cloud is not currently accessible

  • "unknown" - The cloud state cannot be determined

stateUnready

array[string]

True

JSON array of JSON strings, each indicating a reason why a cloud is unable to transition to "running" or why it has transitioned to "failed". Defined values are:

  • Minimum length: 1

  • Maximum length: 127

cloudType

string

True

JSON string containing a value indicating the type of cloud. Defined values are:

  • "gcp" - The cloud is provided by Google

  • "azure" - The cloud is provided by Microsoft

  • "aws" - The cloud is provided by Amazon

  • "private" - The cloud is customer managed

credentialID

string

False

JSON string containing a value indicating the ID of the credential that contains the service account for the cloud. This is required for cloudType "gcp", "azure" and "aws". Defined values are:

  • Conforms to the Astra Identifier Schema

defaultBucketID

string

False

JSON string containing the ID of a bucket that is to be used by default when creating backups for applications within the cloud. This is required when cloning applications across clusters and is used as a default if a bucket is not specified when creating backups and schedules. Defined values are:

  • Conforms to the Astra Identifier Schema

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-cloud",
  "version": "1.1",
  "id": "1c9512c3-ec62-5ed8-8013-02fc090b9d03",
  "name": "GKE",
  "state": "discovering",
  "stateUnready": [
    "Cloud discovery in progress"
  ],
  "cloudType": "gcp",
  "credentialID": "6fa2f917-f730-41b8-9c15-17f531843b31",
  "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

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

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