Skip to main content

Create a working environment with PAYGO

Contributors netapp-ranuk

You can use this workflow to create a new Azure Cloud Volumes ONTAP working environment using a pay-as-you-go (PAYGO) subscription.

Note
When using PAYGO subscription:
  • A marketplace subscription is required.

  • A NetApp Support Site (NSS) key is recommended to register the system for support, but it's not required.

  • You can add more volumes after creating the working environment. You can choose to create a volume using either NFS, CIFS, or iSCSI protocol.

Choose the workflow to use based on the type of Cloud Volumes ONTAP deployment:

Create working environment for single node

You can use this workflow to create single node working environment with PAYGO.

1. Select the region

Perform the workflow Get regions and choose the name value of the required region for the region parameter in step 11.

2. Select the workspace

Perform the workflow Get tenants and choose the workspacePublicId value for the tenantId parameter in step 11.

3. Select the VNets

Perform the workflow Get VNets and do the following:

  • Choose the id value of the desired vnet from the virtualNetworks for the vnetId parameter in step 11.

  • Choose the cidr value of the desired cidr from the virtualNetworks for the cidr parameter in step 11.

  • Choose the id of the desired subnet from the virtualNetworkscidrssubnets for the subnetId parameter in step 11.

  • Choose the id of the desired security group from the securityGroups field for the securityGroupId parameter in step 11.

4. Select the Azure availability zone

Perform the workflow Get Azure Availability Zones and choose the number from zones for the availabilityZone parameter in step 11.

5. Get the Azure packages configuration

Perform the Get Azure Packages workflow and choose the name of the desired package item for the packageName parameter.

6. Attach a marketplace subscription

Perform the workflow Attach SaaS subscription.

7. (Optional) Obtain an NSS key

An NSS key is optional when using PAYGO licensing. If needed, you can create a key or select an existing key, and include the NSS key in the nssAccount parameter in step 11.

  • To create a new NSS key using the BlueXP web user interface, perform the task Generate NSS user ID and choose the id.

  • To select an existing NSS key, perform the workflow Get NSS keys and choose the id of the required NSS user.

8. Select the Azure cloud provider accounts

Perform the Create Azure cloud provider accounts workflow and choose the publicId of the desired cloud provider account item from the azureAccounts for the cloudProviderAccount parameter.

9. Select the Azure permutations

Perform the Get Azure Permutations workflow and pick the desired permutation:

  • Choose the ontapVersion of the desired permutation for the ontapVersion field inside the vsaMetadata parameter in step 11.

  • Choose the type of the desired license item from the license parameter for the licenseType field inside the vsaMetadata parameter in step 11.

  • Choose the instanceType of the desired permutation for the instanceType field inside the vsaMetadata parameter in step 11.

10. Select the Azure storage account types

Perform the Get Azure Storage Account Types workflow and pick the desired storage type.

  • Choose the diskType of the desired storage type item for the storageType parameter in step 11.

  • Choose the size of the desired disk size from the sizessize field for the size field inside the diskSize parameter in step 11.

  • Choose the unit of the desired disk size from the sizessize field for the unit field inside the diskSize parameter in step 11.

11. Create the working environment

HTTP method Path

POST

/occm/api/azure/vsa/working-environments

curl example
curl --location --request POST 'https://cloudmanager.cloud.netapp.com/occm/api/azure/vsa/working-environments' --header 'x-agent-id: <AGENT_ID>'  --header 'Authorization: Bearer <ACCESS_TOKEN>' ---header 'Content-Type: application/json' --d @JSONinput
Input

The JSON input example includes the minimum list of parameters.

Note This request uses PAYGO licensing as indicated in the licenseType parameter.
JSON input example
{
	 "name":"Azure123",
	 "tenantId":"tenantID",
	 "region":"westeurope",
	 "packageName":"azure_poc",
	 "dataEncryptionType":"AZURE",
	 "vsaMetadata":{
		 "ontapVersion":"ONTAP-9.10.0.T1.azure",
		 "licenseType":"azure-cot-explore-paygo",
		 "instanceType":"Standard_DS3_v2"
	},
	 "writingSpeedState":"NORMAL",
	 "subnetId":"/subscriptions/x000xx00-0x00-0000-000x/resourceGroups/occm_group_westeurope/providers/Microsoft.Network/virtualNetworks/Vnet1/subnets/Subnet2",
	 "svmPassword":"Netapp123",
	 "vnetId":"/subscriptions/x000xx00-0x00-0000-000x/resourceGroups/occm_group_westeurope/providers/Microsoft.Network/virtualNetworks/Vnet1",
	 "cidr":"10.0.0.0/16",
	 "ontapEncryptionParameters":null,
	 "securityGroupId":"/subscriptions/x000xx00-0x00-0000-000x/resourceGroups/Cloud-Compliance-1nThiJkG05ZgcyucIJvCSbtBdpVnK-2020894989899/providers/Microsoft.Network/networkSecurityGroups/Cloud-Compliance-1nTxxxtkG05ZgcxxxxxxXXXXXX-2000000000000000",
	 "skipSnapshots":false,
	 "diskSize":{
		 "size":500,
		 "unit":"GB",
		 "_identifier":"500 GB"
	},
	 "storageType":"Premium_LRS",
	 "azureTags":[],
	 "subscriptionId":"x000xx00-0x00-0000-000x",
	 "cloudProviderAccount":"ManagedServiceIdentity",
	 "backupVolumesToCbs":false,
	 "enableCompliance":false,
	 "enableMonitoring":false,
	 "availabilityZone":1,
	 "allowDeployInExistingRg":true,
	 "resourceGroup":"occm_group_westeurope"
}
Output

The JSON output example includes an example of the VsaWorkingEnvironmentResponse.

JSON output example
{
    "publicId": "VsaWorkingEnvironment-uFPaNkrv",
    "name": "Azure123",
    "tenantId": "tenantID",
    "svmName": "svm_Azure123",
    "creatorUserEmail": "user_mail",
    "status": null,
    "providerProperties": null,
    "reservedSize": null,
    "clusterProperties": null,
    "ontapClusterProperties": null,
    "cloudProviderName": "Azure",
    "snapshotPolicies": null,
    "actionsRequired": null,
    "activeActions": null,
    "replicationProperties": null,
    "schedules": null,
    "svms": null,
    "workingEnvironmentType": "VSA",
    "supportRegistrationProperties": null,
    "supportRegistrationInformation": null,
    "capacityFeatures": null,
    "encryptionProperties": null,
    "supportedFeatures": null,
    "isHA": false,
    "haProperties": null,
    "k8sProperties": null,
    "fpolicyProperties": null,
    "saasProperties": null,
    "cbsProperties": null,
    "complianceProperties": null,
    "monitoringProperties": null
}

Create working environment for high availability pair

You can use this workflow to create an HA working environment with PAYGO.

1. Select the region

Perform the workflow Get regions and choose the name value of the required region for the region parameter in step 10.

2. Select the workspace

Perform the workflow Get tenants and choose the workspacePublicId value for the tenantId parameter in step 10.

3. Select the VNets

Perform the workflow Get VNets and do the following:

  • Choose the id value of the desired vnet from the virtualNetworks for the vnetId parameter in step 10.

  • Choose the cidr value of the desired cidr from the virtualNetworks for the cidr parameter in step 10.

  • Choose the id of the desired subnet from the virtualNetworkscidrssubnets for the subnetId parameter in step 10.

  • Choose the id of the desired security group from the securityGroups field for the securityGroupId parameter in step 10.

4. Get Azure packages configuration

Perform the Get Azure Packages workflow and choose the name of the desired package item for the packageName parameter.

5. Attach a marketplace subscription

Perform the workflow Attach SaaS subscription.

6. (Optional) Obtain an NSS key

An NSS key is optional when using PAYGO licensing. If needed, you can create a key or select an existing key, and include the NSS key in the nssAccount parameter in step 10.

  • To create a new NSS key using the BlueXP web user interface, perform the task Generate NSS user ID and choose the id.

  • To select an existing NSS key, perform the workflow Get NSS keys and choose the id of the required NSS user.

7. Select Azure cloud provider accounts

Perform the Create Azure Cloud Provider Accounts workflow and choose the publicId of the desired cloud provider account item from the azureAccounts for the cloudProviderAccount parameter.

8. Select Azure permutations

Perform the Get Azure Permutations workflow and pick the desired permutation:

  • Choose the ontapVersion of the desired permutation for the ontapVersion field inside the vsaMetadata parameter in step 10.

  • Choose the type of the desired license item from the license parameter for the licenseType field inside the vsaMetadata parameter in step 10.

  • Choose the instanceType of the desired permutation for the instanceType field inside the vsaMetadata parameter in step 10.

9. Select Azure storage account types

Perform the Get Azure Storage Account Types workflow and pick the desired storage type.

  • Choose the diskType of the desired storage type item for the storageType parameter in step 10.

  • Choose the size of the desired disk size from the sizessize field for the size field inside the diskSize parameter in step 10.

  • Choose the unit of the desired disk size from the sizessize field for the unit field inside the diskSize parameter in step 10.

10. Create the working environment

HTTP method Path

POST

/occm/api/azure/ha/working-environments

curl example
curl --location --request POST 'https://cloudmanager.cloud.netapp.com/occm/api/azure/ha/working-environments' --header 'x-agent-id: <AGENT_ID>' //<1> --header 'Authorization: Bearer <ACCESS_TOKEN>' //<2> ---header 'Content-Type: application/json' --d @JSONinput

(1) Replace <AGENT_ID> with your agent ID.
(2) Replace <ACCESS_TOKEN> with your obtained access bearer token.

Input

The JSON input example includes the minimum list of parameters.

Note This request uses PAYGO licensing as indicated in the licenseType parameter.
JSON input example
{
   "name":"ranukazure12",
   "volume":{
      "exportPolicyInfo":{
         "policyType":"custom",
         "ips":[
            "10.0.0.0/16"
         ],
         "nfsVersion":[
            "nfs3",
            "nfs4"
         ]
      },
      "snapshotPolicyName":"default",
      "name":"ranukvol12",
      "enableThinProvisioning":true,
      "enableDeduplication":true,
      "enableCompression":true,
      "size":{
         "size":100,
         "unit":"GB"
      },
      "tieringPolicy":"auto"
   },
   "tenantId":"tenantIDgoeshere",
   "region":"westeurope",
   "packageName":"azure_ha_standard",
   "dataEncryptionType":"AZURE",
   "capacityTier":"Blob",
   "vsaMetadata":{
      "ontapVersion":"ONTAP-9.10.1X7.T1.azureha",
      "licenseType":"azure-ha-cot-standard-paygo",
      "instanceType":"Standard_DS4_v2"
   },
   "writingSpeedState":"NORMAL",
   "subnetId":"/subscriptions/x000xx00-0x00-0000-000x
/resourceGroups/occm_group_westeurope/providers/Microsoft.Network/virtualNetworks/Vnet1/subnets/Subnet2",
   "svmPassword":"password",
   "vnetId":"/subscriptions/x000xx00-0x00-0000-000x/resourceGroups
/occm_group_westeurope/providers/Microsoft.Network/virtualNetworks/Vnet1",
   "cidr":"10.0.0.0/16",
   "ontapEncryptionParameters":null,
   "skipSnapshots":false,
   "diskSize":{
      "size":1,
      "unit":"TB",
      "_identifier":"1 TB"
   },
   "storageType":"Premium_LRS",
   "azureTags":[],
   "subscriptionId":"x000xx00-0x00-0000-000x",
   "cloudProviderAccount":"ManagedServiceIdentity",
   "backupVolumesToCbs":true,
   "enableCompliance":true,
   "enableMonitoring":true,
   "availabilityZone":null,
   "resourceGroup":"ranukazure12-rg"
}
Output

The JSON output example includes an example of the VsaWorkingEnvironmentResponse.

JSON output example
{
   "publicId":"VsaWorkingEnvironment-1m76JaRt",
   "name":"ranukazure12",
   "tenantId":"tenantID",
   "svmName":"svm_ranukazure12",
   "creatorUserEmail":"user_email",
   "status":null,
   "providerProperties":null,
   "reservedSize":null,
   "clusterProperties":null,
   "ontapClusterProperties":null,
   "cloudProviderName":"Azure",
   "snapshotPolicies":null,
   "actionsRequired":null,
   "activeActions":null,
   "replicationProperties":null,
   "schedules":null,
   "svms":null,
   "workingEnvironmentType":"VSA",
   "supportRegistrationProperties":null,
   "supportRegistrationInformation":null,
   "capacityFeatures":null,
   "encryptionProperties":null,
   "supportedFeatures":null,
   "isHA":true,
   "haProperties":null,
   "fpolicyProperties":null,
   "saasProperties":null,
   "cbsProperties":null,
   "complianceProperties":null,
   "monitoringProperties":null,
   "licensesInformation":null
}