Create a working environment with BYOL licensing

Contributors netapp-ranuk

You can use this workflow to create a new Cloud Volumes ONTAP working environment using bring-your-own-license (BYOL) licensing.

Note
When using BYOL licensing:
  • A marketplace subscription is not required.

  • A NetApp Support Site (NSS) key is required to register the system for support.

  • 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 BYOL licensing.

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. Select the Azure availability zone

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

5. Select Azure packages configuration

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

6. Obtain the required NSS key

An NSS key is required when using BYOL licensing. 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 Cloud Manager 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 the Azure cloud provider accounts

Perform the Get 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 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 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.

You will also need to include the serialNumber value in the REST API call.
=== 9. 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 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/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. This request uses BYOL licensing as indicated in the licenseType parameter. The serialNumber is required.

JSON input example
{
  "name": "Azure123",
  "tenantId": "tenantID",
  "region": "eastus2",
  "packageName": "azure_custom",
  "dataEncryptionType": "AZURE",
  "vsaMetadata": {
    "ontapVersion": "ONTAP-9.9.0X5.T1.azure",
    "licenseType": "azure-cot-premium-byol",
    "instanceType": "Standard_DS3_v2"
  },
  "nssAccount": "x0x0x000-0000-000x-00xx-x0000cx0000xx",
  "subnetId": "/subscriptions/x000xx00-0x00-0000-000x/resourceGroups/occm_group_eastus2/providers/Microsoft.Network/virtualNetworks/Vnet1/subnets/ProxySubnet",
  "svmPassword": "password",
  "vnetId": "/subscriptions/x000xx00-0x00-0000-000x/resourceGroups/occm_group_eastus2/providers/Microsoft.Network/virtualNetworks/Vnet1",
  "cidr": "10.0.0.0/16",
  "diskSize": {
    "size": 1,
    "unit": "TB"
  },
  "storageType": "Premium_LRS",
  "resourceGroup": "Azure000-xx",
  "serialNumber": "00000110000000000001",
  "subscriptionId": "x000xx00-0x00-0000-000x",
  "cloudProviderAccount": "ManagedServiceIdentity",
  "availabilityZone": 2
}
Output

The JSON output example includes an example of the VsaWorkingEnvironmentRresponse response.

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 BYOL licensing.

1. Select the region

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

2. Select the workspace

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

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 9.

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

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

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

4. Select Azure packages configuration

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

5. Obtain the required NSS key

An NSS key is required when using BYOL licensing. You can create a key or select an existing key, and include the NSS key in the nssAccount parameter in step 9.

  • To create a new NSS key using the Cloud Manager 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.

6. Select Azure cloud provider accounts

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

7. 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 9.

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

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

You will also need to include the serialNumber value in the REST API call.

8. 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 9.

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

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

9. 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>' --header 'Authorization: Bearer <ACCESS_TOKEN>' --header 'Content-Type: application/json' --d @JSONinput
Input

The JSON input example includes the minimum list of parameters. This request uses BYOL licensing as indicated in the licenseType parameter. The platformSerialNumberNode1 and platformSerialNumberNode2 parameters are required.

JSON input example
{
  "name": "ShirleyHa2701",
  "tenantId": "tenantID",
  "region": "eastus2",
  "packageName": "azure_ha_standard",
  "dataEncryptionType": "AZURE",
  "capacityTier": "Blob",
  "vsaMetadata": {
    "ontapVersion": "ONTAP-9.9.0X5.T1.azureha",
    "licenseType": "azure-ha-cot-premium-byol",
    "instanceType": "Standard_DS4_v2"
  },
  "nssAccount": "x0x0x000-0000-000x-00xx-x0000cx0000xx",
  "writingSpeedState": "NORMAL",
  "subnetId": "/subscriptions/x000xx00-0x00-0000-000x/resourceGroups/occm_group_eastus2/providers/Microsoft.Network/virtualNetworks/Vnet1/subnets/Subnet1",
  "svmPassword": "password",
  "vnetId": "/subscriptions/x000xx00-0x00-0000-000x/resourceGroups/occm_group_eastus2/providers/Microsoft.Network/virtualNetworks/Vnet1",
  "cidr": "10.0.0.0/16",
  "ontapEncryptionParameters": null,
  "skipSnapshots": false,
  "diskSize": {
    "size": 500,
    "unit": "GB",
    "_identifier": "500 GB"
  },
  "storageType": "Premium_LRS",
  "azureTags": [],
  "resourceGroup": "ShirleyHa2701-rg",
  "subscriptionId": "x000xx00-0x00-0000-000x,
  "cloudProviderAccount": "ManagedServiceIdentity",
  "backupVolumesToCbs": false,
  "enableCompliance": false,
  "enableMonitoring": false,
  "availabilityZone": null,
  "haParams": {
    "platformSerialNumberNode1": "00000110000000000001",
    "platformSerialNumberNode2": "00000110000000000002"
  }
}
Output

The JSON output example includes an example of the VsaWorkingEnvironmentRresponse response.

JSON output example
{
    "publicId": "VsaWorkingEnvironment-Kms14Nkv",
    "name": "ShirleyHa2701",
    "tenantId": "tenantID",
    "svmName": "svm_ShirleyHa2701",
    "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,
    "k8sProperties": null,
    "fpolicyProperties": null,
    "saasProperties": null,
    "cbsProperties": null,
    "complianceProperties": null,
    "monitoringProperties": null
}