Create a system with BYOL licensing (node-based)
You can use this workflow to create a new Cloud Volumes ONTAP system using bring-your-own-license (BYOL) licensing (node-based).
|
|
When using BYOL licensing:
|
To optionally create a new volume with the system, you must modify the JSON input provided on the REST API call. See Create a system with PAYGO licensing for an example.
Choose the workflow depending to use based on the type of the Cloud Volumes ONTAP deployment:
Create a system for a single node
You can use this workflow to create a single node Cloud Volumes ONTAP system.
Step 1. Select the region
Perform the workflow Get regions and choose the code value for the region parameter in step 7.
Step 2. Select the workspace
Perform the workflow Get tenants and choose the workspacePublicId value for the tenantId parameter in step 7.
Step 3. Select the permutations configuration
Perform the workflow Get permutations and choose the ontapVersion and license: type and instanceType values for the vsaMetadata parameter in step 7.
You will also need to include the platformSerialNumber value in vsaMetadata parameter in the REST API call.
Step 4. Select the VPC
Perform the workflow Get VPCs and choose the vpcId value for the vpcId parameter in step 7.
Step 5. Select the EBS volume configuration
Perform the workflow Get EBS volume types and choose the size and supportedVolumeTypes values for the ebsVolumeSize and ebsVolumeType parameters in step 7.
|
|
You need to choose one of the allowed values for the required ebsVolumeType parameter. We have used gp2 value for this parameter in step 7.
|
Step 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 7.
-
To create a new NSS key using the NetApp Console web user interface, perform the task Generate NSS user ID and choose the NSS ID.
-
To select an existing NSS key, perform the workflow Get NSS keys and choose the
idof the required NSS user.
Step 7. Create the system
You can issue a REST API call to create a system.
This REST API call uses the following method and endpoint.
| HTTP method | Path |
|---|---|
POST |
/occm/api/vsa/working-environments |
curl --request POST \
--location "https://api.bluexp.netapp.com/occm/api/vsa/working-environments" \
--header "x-agent-id: <AGENT_ID>" \
--header "Authorization: Bearer <ACCESS_TOKEN>" \
--header "Content-Type: application/json" \
--data @JSONinput
The ebsVolumeType parameter must be gp3 or io1.
disableEv: boolean, default value is false. By default, new Cloud Volumes ONTAP instances are created with Elastic Volumes enabled on aggregates.
{
"name": "ziv02we03",
"svmPassword": "password",
"vpcId": "vpc-b16c90d4",
"region": "us-east-1",
"tenantId": "workspace-cxxx123",
"subnetId": "subnet-f4da95ac",
"dataEncryptionType": "AWS",
"disableEv":"false",
"nssAccount": "xxx332ce3-xxxx-4000-xx00-000a0601c682",
"vsaMetadata": {
"ontapVersion": "ONTAP-9.9.0.T1",
"licenseType": "cot-premium-byol",
"instanceType": "m5.xlarge",
"platformSerialNumber": "00100100000000000020"
},
"ebsVolumeSize": {
"size": 100,
"unit": "GB"
},
"ebsVolumeType": "gp2"
}
You can set "disableEv": "true" if you choose to create a Cloud Volumes ONTAP instance with an aggregate where Elastic Volumes is disabled.
{
"name": "ziv02we03",
"svmPassword": "password",
"vpcId": "vpc-b16c90d4",
"region": "us-east-1",
"tenantId": "workspace-cxxx123",
"subnetId": "subnet-f4da95ac",
"dataEncryptionType": "AWS",
"disableEv":"true",
"nssAccount": "xxx332ce3-xxxx-4000-xx00-000a0601c682",
"vsaMetadata": {
"ontapVersion": "ONTAP-9.9.0.T1",
"licenseType": "cot-premium-byol",
"instanceType": "m5.xlarge",
"platformSerialNumber": "00100100000000000020"
},
"ebsVolumeSize": {
"size": 100,
"unit": "GB"
},
"ebsVolumeType": "gp2"
}
This API request uses BYOL licensing as indicated in the licenseType parameter. The platformSerialNumber is required.
The JSON output example includes an example of the VsaWorkingEnvironmentresponse response.
{
"publicId": "VsaWorkingEnvironment-wL2MaBJs",
"name": "username",
"tenantId": "tenantIDgoeshere",
"svmName": "svm_ziv02we03",
"creatorUserEmail": "user_email",
"status": null,
"awsProperties": null,
"reservedSize": null,
"encryptionProperties": null,
"clusterProperties": null,
"ontapClusterProperties": null,
"actionsRequired": null,
"interClusterLifs": null,
"cronJobSchedules": null,
"snapshotPolicies": null,
"svms": null,
"activeActions": null,
"replicationProperties": null,
"schedules": null,
"cloudProviderName": "Amazon",
"isHA": false,
"workingEnvironmentType": "VSA",
"supportRegistrationProperties": null,
"supportRegistrationInformation": null,
"haProperties": null,
"capacityFeatures": null,
"cloudSyncProperties": null,
"supportedFeatures": null,
"k8sProperties": null,
"fpolicyProperties": null,
"saasProperties": null,
"cbsProperties": null,
"complianceProperties": null,
"monitoringProperties": null
}
Create a system for a high availability pair
You can use this workflow to create an high availability (HA) Cloud Volumes ONTAP system.
Step 1. Select the region
Perform the workflow Get regions and choose the code value for the region parameter in step 11.
Step 2. Select the cloud provider account
Perform the workflow Get cloud provider accounts and choose the publicId value of the required account for the cloudProviderAccount parameter.
Step 3. Select the workspace
Perform the workflow Get tenants and choose the workspacePublicId value for the tenantId parameter in step 11.
Step 4. Select the permutations configuration
Perform the workflow Get permutations and choose the ontapVersion and license: type and instanceType values for the vsaMetadata parameter in step 11.
Step 5. Select the packages configuration
Perform the Get Packages and choose the packageName, instanceTenancy and writingSpeedState values for the corresponding parameters in step 11.
Step 6. Select the VPC
Perform the workflow Get VPCs and do the following:
-
Choose the
vpcIdvalue for thevpcIdparameter in step 11. -
Choose three subnets and choose the
subnetIdvalue for thehaParams:mediatorSubnetId,haParams:node1SubnetId,haParams:node2SubnetId. -
Attach the licenses serial number to
platformSerialNumberNode1andplatformSerialNumberNode2parameters. -
Select the IPs for the
clusterFloatingIP,dataFloatingIP,dataFloatingIP2values for the corresponding parameters in step 11.
Step 7. Select the route table
Perform the workflow Get route tables and choose the id value of the required route table for haParams:routeTableIds parameter in step 11.
Step 8. Select the EBS volume configuration
Perform the workflow Get EBS volume types and choose the size and supportedVolumeTypes values for the ebsVolumeSize and ebsVolumeType parameters in step 11.
|
|
You need to choose one of the allowed values for the required ebsVolumeType parameter. We have used gp2 value for this parameter in step 11.
|
Step 9. Get key pairs
Perform the Get key pairs workflow and select the required key for haParam: mediatorKeyPairName parameter in step 11.
Step 10. 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.
-
To create a new NSS key using the NetApp console web user interface, perform the task Generate NSS user ID and choose the NSS ID.
-
To select an existing NSS key, perform the workflow Get NSS keys and choose the
idof the required NSS user.
Step 11. Create the system
You can issue a REST API call to create a system.
This REST API call uses the following method and endpoint.
| HTTP method | Path |
|---|---|
POST |
/occm/api/aws/ha/working-environments |
curl --request POST \
--location "https://api.bluexp.netapp.com/occm/api/aws/ha/working-environments" \
--header "x-agent-id: <AGENT_ID>" \
--header "Authorization: Bearer <ACCESS_TOKEN>" \
--header "Content-Type: application/json" \
--data @JSONinput
The ebsVolumeType parameter must be gp3 or io1.
disableEv: boolean, default value is false. By default, new Cloud Volumes ONTAP instances are created with Elastic Volumes enabled on aggregates.
{
"name": "ziv04we02ha",
"svmPassword": "password",
"vpcId": "vpc-b16c90d4",
"region": "us-east-1",
"tenantId": "tenantIDgoeshere",
"ebsVolumeSize": {
"size": 100,
"unit": "GB"
},
"ebsVolumeType": "gp2",
"vsaMetadata": {
"ontapVersion": "ONTAP-9.9.0.T1.ha",
"licenseType": "ha-cot-premium-byol",
"instanceType": "m5.xlarge"
},
"dataEncryptionType": "AWS",
"disableEv": "false",
"ontapEncryptionParameters": null,
"haParams": {
"node1SubnetId": "subnet-f4da95ac",
"node2SubnetId": "subnet-b4387a9e",
"mediatorSubnetId": "subnet-76e6d400",
"clusterFloatingIP": "4.4.4.4",
"dataFloatingIP": "5.5.5.5",
"dataFloatingIP2": "6.6.6.6",
"platformSerialNumberNode1": "90120140000000000023",
"platformSerialNumberNode2": "90120140000000000024",
"mediatorKeyPairName": "Developers_Virginia",
"routeTableIds": [
"rtb-02a45467"
],
"failoverMode": "FloatingIP",
"mediatorAssignPublicIP": true
},
"nssAccount": “54ab5c0d-xx23-xxxd-bcef-6eeda79e747d”,
"optimizedNetworkUtilization": false,
"instanceTenancy": "default",
"packageName": "aws_ha_poc",
"cloudProviderAccount": "InstanceProfile",
"backupVolumesToCbs": false,
"enableMonitoring": "false",
"writingSpeedState": "NORMAL"
}
You can set "disableEv": "true" if you choose to create a Cloud Volumes ONTAP instance with an aggregate where Elastic Volumes is disabled.
{
"name": "ziv04we02ha",
"svmPassword": "password",
"vpcId": "vpc-b16c90d4",
"region": "us-east-1",
"tenantId": "tenantIDgoeshere",
"disableEv": "true",
"ebsVolumeSize": {
"size": 100,
"unit": "GB"
},
"ebsVolumeType": "gp2",
"vsaMetadata": {
"ontapVersion": "ONTAP-9.9.0.T1.ha",
"licenseType": "ha-cot-premium-byol",
"instanceType": "m5.xlarge"
},
"dataEncryptionType": "AWS",
"ontapEncryptionParameters": null,
"haParams": {
"node1SubnetId": "subnet-f4da95ac",
"node2SubnetId": "subnet-b4387a9e",
"mediatorSubnetId": "subnet-76e6d400",
"clusterFloatingIP": "4.4.4.4",
"dataFloatingIP": "5.5.5.5",
"dataFloatingIP2": "6.6.6.6",
"platformSerialNumberNode1": "90120140000000000023",
"platformSerialNumberNode2": "90120140000000000024",
"mediatorKeyPairName": "Developers_Virginia",
"routeTableIds": [
"rtb-02a45467"
],
"failoverMode": "FloatingIP",
"mediatorAssignPublicIP": true
},
"nssAccount": “54ab5c0d-xx23-xxxd-bcef-6eeda79e747d”,
"optimizedNetworkUtilization": false,
"instanceTenancy": "default",
"packageName": "aws_ha_poc",
"cloudProviderAccount": "InstanceProfile",
"backupVolumesToCbs": false,
"enableMonitoring": "false",
"writingSpeedState": "NORMAL"
}
This API request uses BYOL licensing as indicated in the licenseType parameter. The platformSerialNumberNode1 and platformSerialNumberNode2 parameters are required.
The JSON output example includes an example of the HA system details.
{
"publicId": "VsaWorkingEnvironment-XxCZibxz",
"name": "ziv04we02ha",
"tenantId": "tenantIDshownhere",
"svmName": "svm_ziv04we02ha",
"creatorUserEmail": "user_email",
"status": null,
"awsProperties": null,
"reservedSize": null,
"encryptionProperties": null,
"clusterProperties": null,
"ontapClusterProperties": null,
"actionsRequired": null,
"interClusterLifs": null,
"cronJobSchedules": null,
"snapshotPolicies": null,
"svms": null,
"activeActions": null,
"replicationProperties": null,
"schedules": null,
"cloudProviderName": "Amazon",
"isHA": true,
"workingEnvironmentType": "VSA",
"supportRegistrationProperties": null,
"supportRegistrationInformation": null,
"haProperties": null,
"capacityFeatures": null,
"cloudSyncProperties": null,
"supportedFeatures": null,
"k8sProperties": null,
"fpolicyProperties": null,
"saasProperties": null,
"cbsProperties": null,
"complianceProperties": null,
"monitoringProperties": null
}