To create a Microsoft Azure storage profile for a managed disk, you make a POST request with a region ID and include disk properties to specify the managed disk type.

Prerequisites

  • Verify that all general prerequisites and prerequisites for the Cloud Assembly Infrastructure as a Service (IaaS) service have been satisfied. See Prerequisites for API Use Case Examples.
  • Verify that you have the cloud account ID for the new cloud account that you added. See Adding Cloud Accounts.

Procedure

  1. Assign the cloud account ID variable.
    azure_cloud_account_id='<your_cloud_account_id>'
  2. Look up region IDs associated with the cloud account and in the external region ID eastus.
    curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer $access_token" "$url/iaas/api/regions/?apiVersion=$api_version&"'$filter'"=externalRegionId%20eq%20'eastus'%20and%20cloudAccountId%20eq%20'"$zaure_cloud_account_id"'"  | jq "."
  3. Examine the response to find the ID for the region that you want.
  4. Assign the region ID variable.
    azure_region_id='<your_region_id>'
  5. Create a storage profile for the selected region.
    curl -X POST \ 
      $url/iaas/api/storage-profiles?apiVersion=$api_version \ 
      -H 'Content-Type: application/json' \ 
      -H "Authorization: Bearer $access_token" \ 
      -d '{ 
        "defaultItem": false, 
        "supportsEncryption": false, 
        "tags": [ { "key": "type", "value": "managed" } ], 
        "diskProperties": { 
           "azureManagedDiskType": "Standard_LRS",    
           "azureOsDiskCaching": "ReadWrite", 
           "azureDataDiskCaching": "ReadWrite" 
      }, 
      "regionId": "'$azure_region_id'", 
      "name": "<your-azure-managed-disk-storage-profile>", 
      "description": "Example Azure managed disk" 
    }' | jq "."
  6. To obtain the storage profile ID, examine the response.
  7. Assign the storage profile ID variable.
    azure_storage_profile_id='<your_storage_profile_id>'
  8. (Optional) Look up the storage profile you created with your storage profile ID.
    curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer $access_token" $url/iaas/api/storage-profiles/$azure_storage_profile_id?apiVersion=$api_version | jq "."
    The response shows the name and ID for the storage profile you created.
    Note: Using the external region ID and the cloud account ID, you can also filter for the storage profile with a query that does not require the storage profile ID. See Filtering Resources by Region ID.

Example: Create a Microsoft Azure storage profile

Assign the required variables including the cloud account ID for a Microsoft Azure cloud account.
$ url='https://appliance.domain.com'
$ api_version='2021-07-15'
$ azure_cloud_account_id='c8c3c9bfdb449475-7f703c5265a63d87-5fa34c478df36b060e1ca3551254c4033013bf3283908e4661cd1c6fb2f8b9ae-ce5aad01092b47558644f6b6615d'

Look up region IDs associated with the cloud account and in the external region ID eastus

$ curl -X GET -H 'Content-Type: application/json' -H "Authorization: Bearer $access_token" "$url/iaas/api/regions/?apiVersion=$api_version&"'$filter'"=externalRegionId%20eq%20'us-east-1'%20and%20cloudAccountId%20eq%20'"$azure_cloud_account_id"'"  | jq "."

A snippet of the response shows the region ID.

...      
      "externalRegionId": "eastus",
      "cloudAccountId": "c8c3c9bfdb449475-7f703c5265a63d87-5fa34c478df36b060e1ca3551254c4033013bf3283908e4661cd1c6fb2f8b9ae-ce5aad01092b47558644f6b6615d",
      "id": "20d6c1abc4a8275586468873c721",
      "updatedAt": "2022-04-02",
...

Assign the Azure region ID.

$ azure_region_id='20d6c1abc4a8275586468873c721'

Create a Microsoft Azure storage profile named azure-with-managed-disks-storage-profile.

$ curl -X POST \ 
  $url/iaas/api/storage-profiles?apiVersion=$api_version \ 
  -H 'Content-Type: application/json' \ 
  -H "Authorization: Bearer $access_token" \ 
  -d '{ 
    "defaultItem": false, 
    "supportsEncryption": false, 
    "tags": [ { "key": "type", "value": "managed" } ], 
    "diskProperties": { 
       "azureManagedDiskType": "Standard_LRS",
       "azureOsDiskCaching": "ReadWrite", 
       "azureDataDiskCaching": "ReadWrite" 
  }, 
  "regionId": "'$azure_region_id'", 
  "name": "azure-with-managed-disks-storage-profile", 
  "description": "Example Azure with managed disks storage profile" 
}' | jq "."

A snippet of the response shows the storage profile ID.

...
  "externalRegionId": "eastus",
  "name": "azure-with-managed-disks-storage-profile",
  "description": "Example Azure with managed disks storage profile",
  "id": "f83d0fd4-45de-4ca7-a699-c20bc121abcd",
  "createdAt": "2022-04-02",
  "updatedAt": "2022-04-022021-08-02",
...