Cloud Orchestration APIs

Contributors netapp-manini netapp-reenu ciarm dmp-netapp Download PDF of this page

The Cloud Orchestration APIs NetApp Service Engine support connecting Cloud Volumes Services to NetApp Service Engine and to work with them from within the NetApp Service Engine. Azure NetApp Files (ANF) and Google Cloud Platform (GCP) are supported for Cloud Volumes Services.

Subscriptions to Cloud Volumes Services are managed outside of NetApp Service Engine. The relevant credentials are provided to NetApp Service Engine to allow connection to the cloud services.

This section describes the APIs for:

  • Managing Cloud Volumes Service instances

  • Managing Azure NetApp Files accounts

  • Managing Azure NetApp Files capacity pools

  • Managing Azure NetApp Files Volumes

  • Managing Google Cloud Volumes

Cloud Volumes Service instances

Use the methods listed in the following table to retrieve and create Cloud Volumes Service instances.

HTTP Method Path Description

GET

/v2.1/cvs/instances

Retrieve all Cloud Volumes Service instances.

POST

/v2.1/cvs/instances

Create new Cloud Volumes Service instances.

GET

/v2.1/cvs/instances/{id}

Retrieve a Cloud Volumes Service instance by ID.

GET

/v2.1/anf/accounts

Retrieve Azure NetApp Files accounts.

POST

/v2.1/anf/accounts

Create an Azure NetApp Files accounts

GET

/v2.1/anf/accounts/{id}

Retrieve an Azure NetApp Files account by ID.

GET

/v2.1/anf/pools

Retrieve all capacity pools.

POST

/v2.1/anf/pools`

Create a capacity pool.

GET

/v2.1/anf/pools/{id}

Retrieve an Azure NetApp Files capacity pool by ID.

Cloud Volumes Service instance attributes

The following table lists the Cloud Volumes Service instance attributes.

Attribute Type Description

id

String

Unique identifier for the Cloud Volumes Service instance.

name

String

Name of the Cloud Volumes Service instance.

cc_working_env

String

Working environment name within Cloud Manager.

cc_client_id

String

Auth0 service ID.

cc_refresh_token

String

Auth0 refresh token.

cc_account_id

String

Cloud Central account ID.

cc_account_name

String

Cloud Central account name.

cc_credentials_id

String

ID of the Cloud Centra working environment.

azure_client_id

String

Application (Client) ID. The ID of an Active Directory service principal that Cloud Manager can use to authenticate with Azure Active Directory.

azure_client_secret

String

The value of client secret for service principal application.

azure_tenant_id

String

The Azure Active Directory ID. This is also known as tenant ID.

azure_subscription_id

String

The Azure Active Directory subscription ID.

subtenant_id

String

The subtenant ID.

tags

The key-value pairs.

Retrieve Cloud Volumes Service instance

HTTP Method Path Description Path Parameters

GET

/v2.1/cvs/instances

Retrieve Cloud Volumes Service instances.

tenant_id: (Optional) Return the Cloud Volumes Service instances belonging to the specified tenant.
See also Common Pagination parameters.

Required request body parameters: none

Retrieve Cloud Volumes Service instance by ID

Use the method listed in the following table to retrieve a Cloud Volumes Service instance by its identifier.

HTTP Method Path Description Parameters

GET

/v2.1/cvs/instances/{id}

Retrieve a Cloud Volumes Service instance by ID.

id (string): The unique identifier of the Cloud Volumes Service instance.

Required request body attributes: none

Create Cloud Volumes Service instances

Use the method listed in the following table to create a new Cloud Volumes Service instance.

HTTP Method Path Description Parameters

POST

/v2.1/cvs/instances

Create a Cloud Volumes Service instance.

None

Required request body attributes: name, cc_working_env, cc_client_id, cc_refresh_token, cc_account_id, cc_account_name, azure_client_id, azure_client_secret, azure_tenant_id, azure_subscription_id, subtenant_id

Request body example:

{
  "name": "instance1",
  "cc_working_env": "my-working-env",
  "cc_client_id": "Mu0V1ywgYteI6w1MbD15fKfVIUrNXGWC",
  "cc_refresh_token": "y1tMw3lNzE8JL9jtiE29oSRxOAzYu0cdnwS_2XhjQBr9G",
  "cc_account_id": "account-335jdf32",
  "cc_account_name": "my-account-name",
  "cc_credentials_id": "d336c449-aeb8-4bb3-af28-5b886c40dd00",
  "azure_client_id": "53ba6f2b-6d52-4f5c-8ae0-7adc20808854",
  "azure_client_secret": "NMubGVcDqkwwGnCs6fa01tqlkTisfUd4pBBYgcxxx=",
  "azure_tenant_id": "53ba6f2b-6d52-4f5c-8ae0-7adc20808854",
  "azure_subscription_id": "1933a261-d141-4c68-9d6c-13b607790910",
  "subtenant_id": "5d2fb0fb4f47df00015274e3",
  "tags": {
    "key1": "Value 1",
    "key2": "Value 2",
    "key3": "Value 3",
    "keyN": "Value N"
  }
}

Manage tags for Cloud Volumes Service instances

Use the method listed in the following table to specify tags for the named Cloud Volumes Service instance.

HTTP Method Path Description Parameters

POST

/v2.1/cvs/instances/{id}/tags

Manage tags for a Cloud Volumes Service instance.

id (string)`: The unique identifier of the Cloud Volumes Service instance.

Required request body attributes: key-value pairs

Request body example:

{
  "env": "test"
}

Azure NetApp Files accounts

Azure NetApp Files accounts attributes

The following table lists the Azure NetApp Files account attributes.

Attribute Type Description

id

String

The unique identifier for the Azure NetApp Files account.

name

String

The name of the Azure NetApp Files account.

resource_group

String

The Azure resource group.

location

String

The Azure location (region/zone).

cvs_instance_id

String

The Cloud Volumes Service instance identifier.

tags

The key-value pairs.

Retrieve Azure NetApp Files accounts

HTTP Method Path Description Path Parameters

GET

/v2.1/anf/accounts

Retrieve Azure NetApp Files accounts.

subtenant_id: (Mandatory) The subtenant ID to which the Azure NetApp Files account belongs.
tenant_id: (Optional) Returns the Azure NetApp Files accounts belonging to the specified tenant.
See also Common Pagination parameters.

Required request body parameters: none

Retrieve Azure NetApp Files account by name

Use the method listed in the following table to retrieve an Azure NetApp Files account by name.

HTTP Method Path Description Parameters

GET

/v2.1/anf/accounts/{name}

Retrieve an Azure NetApp Files account by name.

name (string): (Mandatory) The name of the Azure NetApp Files account.
subtenant_id (string): (Mandatory) The subtenant ID to which the Azure NetApp Files account belongs.

Required request body attributes: none

Create Azure NetApp Files accounts

Use the method listed in the following table to create a new Azure NetApp Files account.

HTTP Method Path Description Parameters

POST

/v2.1/anf/accounts

Create a new Azure NetApp Files account.

None

Required request body attributes: name, resource_group, location, cvs_instance_id

Request body example:

{
  "name": "string",
  "resource_group": "string",
  "location": "string",
  "cvs_instance_id": "5d2fb0fb4f47df00015274e3",
  "tags": {
    "key1": "Value 1",
    "key2": "Value 2",
    "key3": "Value 3",
    "keyN": "Value N"
  }
}

Azure NetApp Files capacity pools

Capacity pools attributes

The following table lists the capacity pool attributes.

Attribute Type Description

id

String

The unique identifier for the capacity pool.

name

String

The name of the capacity pool.

resource_group

String

The Azure resource group.

location

String

The Azure location (region/zone).

size

Integer

The size of the capacity pool in TB.

service_level

String

The service level name applicable: Ultra, Premium, or Standard.

anf_account_name

String

The Azure NetApp Files account instance identifier.

subtenant_id

String

The subtenant ID.

tags

The key-value pairs.

Retrieve capacity pools

HTTP Method Path Description Path Parameters

GET

/v2.1/anf/pools

Retrieve capacity pools.

subtenant_id: (Mandatory) The subtenant ID to which the ANF account belongs.

tenant_id: (Optional) Return the capacity pools belonging to the specified tenant.
See also Common Pagination parameters.

Required request body parameters: none

Request body example:

none

Retrieve capacity pool by name

Use the method listed in the following table to retrieve a capacity pool by name.

HTTP Method Path Description Parameters

GET

/v2.1/anf/pools/{name}

Retrieve a capacity pool by name.

name (string): (Mandatory) The unique name of the capacity pool.

subtenant_id (string): (Mandatory) The subtenant ID to which the capacity pool belongs.

Required request body attributes: none

Create capacity pools

Use the method listed in the following table to create a new capacity pool.

HTTP Method Path Description Parameters

POST

/v2.1/anf/pools

Create a capacity pool.

None

Required request body attributes: name, resource_group, location, size, service_level, anf_account_name, subtenant_id

Request body example:

{
  "name": "string",
  "resource_group": "string",
  "location": "string",
  "size": 10,
  "service_level": "Standard",
  "anf_account_name": "myaccount",
  "subtenant_id": "5d2fb0fb4f47df00015274e3",
  "tags": {
    "key1": "Value 1",
    "key2": "Value 2",
    "key3": "Value 3",
    "keyN": "Value N"
  }
}

Modify size of the capacity pool

Use the method listed in the following table to modify the size of the capacity pool.

HTTP Method Path Description Parameters

PUT

/v2.1/anf/pools/{name}

Modify the size of the capacity pool.

name (string): Mandatory: the unique name of the capacity pool.

Required request body attributes: name, resource_group, location, anf_account_name, size, service_level, subtenant_id

Request body example:

{
  "name": "myaccount",
  "resource_group": "string",
  "location": "string",
  "anf_account_name": "myaccount",
  "size": 4,
  "service_level": "Standard",
  "subtenant_id": "5d2fb0fb4f47df00015274e3",
  "tags": {
    "key1": "Value 1",
    "key2": "Value 2",
    "key3": "Value 3",
    "keyN": "Value N"
  }
}

Azure NetApp Files volumes

Azure NetApp Files volume attributes

The following table lists the Azure NetApp Files volume attributes.

Attribute Type Description

id

String

The unique identifier for the Azure NetApp Files volume.

name

String

The name of the Azure NetApp Files volume.

resource_group

String

The Azure resource group.

subtenant_id

String

The subtenant ID.

anf_account_name

String

The Azure NetApp Files account name.

anf_pool_name

String

The Azure NetApp Files Pool name.

location

String

The Azure location (region/zone).

file_path

String

Creation Token or File Path. A unique file path for accessing volume.

quota_size

Integer

Maximum storage quota allowed in GiB.

subNetID

String

The Azure Resource URL for a delegated subnet. Must have the delegation Microsoft NetApp/volumes.

tags

The key-value pairs.

Retrieve Azure NetApp Files volumes

Use the method listed in the following table to retrieve Azure NetApp Files volumes. Specifying a tenant_id returns only the accounts belonging to that tenant.

HTTP Method Path Description Path Parameters

GET

/v2.1/anf/volumes

Retrieve Azure NetApp Files volumes.

subtenant_id: (Mandatory) The subtenant ID to which the ANF volume belongs.

tenant_id: (Optional) Return the ANF Volumes belonging to the specified tenant.
See also Common Pagination parameters.

Required request body parameters: none.

Retrieve Azure NetApp Files volume by name

Use the method listed in the following table to retrieve an Azure NetApp Files volume by name.

HTTP Method Path Description Parameters

GET

/v2.1/anf/volumes/{name}

Retrieve an Azure NetApp Files volume by name.

name (string): Mandatory: the unique name of the Azure NetApp Files volume.

subtenant_id: (string) Mandatory. The subtenant ID to which the Azure NetApp Files volume belongs.

Required request body attributes: none

Request body example:

none

Create Azure NetApp Files volumes

Use the method listed in the following table to create a new Azure NetApp Files volume.

HTTP Method Path Description Parameters

POST

/v2.1/anf/volumes

Create an Azure NetApp Files volume.

None

Required request body attributes: name, resource_group, subtenant_id, anf_account_name, anf_pool_name, virtual_network, location, file_path, quota_size, subNetID

Request body example:

{
  "name": "myVolume",
  "resource_group": "string",
  "subtenant_id": "5d2fb0fb4f47df00015274e3",
  "anf_account_name": "myaccount",
  "anf_pool_name": "myaccount",
  "virtual_network": "anf-vnet",
  "location": "string",
  "file_path": "myVolume",
  "quota_size": 100,
  "subNetId": "string",
  "protocol_types": [
    "string"
  ],
  "tags": {
    "key1": "Value 1",
    "key2": "Value 2",
    "key3": "Value 3",
    "keyN": "Value N"
  }
}

Managing Cloud Volumes Service for Google Cloud

The /v2.1/gcp/volumes API under the Cloud Orchestration category enables you to manage cloud volumes for your Google Cloud instance. Before running this API, ensure that the Cloud Volumes Service account for Google Cloud Platform (GCP) subscription has been enabled for the subtenant.

HTTP Verb Path Description Mandatory parameters/Request body

GET

/v2.1/gcp/volumes

You can use the GET method to retrieve the details of all the Google Cloud Volumes created for your subtenant’s Cloud Volumes Service subscription.

offset: The number of items to skip before starting to collect the result set.
limit: The numbers of items to return.
subtenant_id: The ID of the subtenant subscribed to Google Cloud.
region: The region of the subscribed service.

GET

/v2.1/gcp/volumes/{id}

You can use this method to retrieve the details of a specific Google Cloud Volume created for your subtenant’s Cloud Volumes Service subscription.

id: The ID of the GCP volume.
subtenant_id: The ID of the subtenant subscribed to Google Cloud.
region: The region of the subscribed service.

POST

/v2.1/gcp/volumes

Create a GCP volume for a subtenant. Add the values in the request body to create a volume with the specified parameters.

`
{
"subtenant_id": "<ID>",
"name": "<Volume_name>",
"region": "<region>",
"zone": "<zone>",
"creation_token": "<token>",
"allowed_clients": "<IP address of the clients allowed to access GCP>",
"network": "<network details as entered for the GCP subscribed service>",
"protocol_types": [
"<Protocol for the connection, such as NFSv3>"
],
"quota_gib": <volume quota in bytes>,
"service_level": "<the type of Performance Service Level, such as standard>",
"labels": ["<tag_value>"]
}
`

PUT

/v2.1/gcp/volumes/{id}

Modify a GCP volume already created for a subtenant. Add the volume ID of the volume that you want to modify and the value for the parameters that you want to modify, in the request body.

`
{
"subtenant_id": "<ID>",
"name": "<Volume_name>",
"region": "<region>",
"zone": "<zone>",
"allowed_clients": "<IP address of the clients allowed to access GCP>",
"quota_gib": <volume quota in bytes>,
"service_level": "<the type of Performance Service Level, such as standard>",
"protocol_types": ["<Protocol for the connection, such as NFSv3>"],
"labels": ["<tag_value>"]
}
`

DELETE

/v2.1/gcp/volumes/{id}

You can use this method to delete a specific Google Cloud Volume created for your subtenant’s Cloud Volumes Service subscription.

id: The ID of the GCP volume.
subtenant_id: The ID of the subtenant subscribed to Cloud Volumes Service for Google Cloud.
region: The region of the subscribed service.