Test Your Cloud Template Deployment

To test the deployment of a cloud template, you use the Blueprint APIs to make a POST request with the cloud template ID as input.
Before deploying a cloud template, you can test the syntax and placement of your cloud template to ensure deployment viability. If errors are reported in the test, you must fix the errors and test again before deploying the cloud template.
  1. Assign the cloud template ID variable.
    cloud_template_id='<
    your_cloud_template_id
    >'
  2. Assign image mapping and flavor mapping variables for the cloud template you intend to deploy.
    image_mapping='<
    your_image_mapping_name
    >' flavor_mapping='<
    your_flavor_mapping_name
    >'
    The image mapping specifies the OS image for a VM. The flavor mapping specifies the CPU count and RAM of a VM.
  3. Test the cloud template deployment.
    curl -X POST \ $url/blueprint/api/blueprint-requests?apiVersion=$api_version \ -H "Authorization: Bearer $access_token" \ -H 'Content-Type: application/json' \ -d '{ "simulate":true, "blueprintId": "'"$cloud_template_id"'", "inputs": { "count": 2, "image":"'"$image_mapping"'", "flavor":"'"$flavor_mapping"'" } }' | jq "."
  4. Examine the response and assign the cloud template request ID.
    cloud_template_request_id='<
    your_cloud_template_request_id
    >'
  5. Get the status of the test request.
    curl -X GET \ $url/blueprint/api/blueprint-requests/$cloud_template_request_id?apiVersion=$api_version \ -H "Authorization: Bearer $access_token" | jq "."
Test a Deployment
For a cloud template with ID
1f170637-81a3-4257-b1cd-b2219ee8034c
, test the deployment with image mapping set to
ubuntu
and flavor mapping set to
small
.
Assign variables.
$ url='https://appliance.domain.com' $ api_version='2019-09-12' $ cloud_template_id='1f170637-81a3-4257-b1cd-b2219ee8034c' $ image_mapping='ubuntu' $ flavor_mapping='small'
Test the cloud template deployment.
$ curl -X POST \ $url/blueprint/api/blueprint-requests?apiVersion=$api_version \ -H "Authorization: Bearer $access_token" \ -H 'Content-Type: application/json' \ -d '{ "simulate":true, "blueprintId": "'"$cloud_template_id"'", "inputs": { "count": 2, "image":"'"$image_mapping"'", "flavor":"'"$flavor_mapping"'" } }' | jq "."
A snippet of the response shows the cloud template request ID.
{ "id": "5c33355e-fc52-4a30-97c3-3752cf9b644e", "createdAt": "2019-10-11T00:11:55.544Z", ... "blueprintId": "1f170637-81a3-4257-b1cd-b2219ee8034c", ...
Assign the cloud template request ID variable.
$ cloud_template_request_id='5c33355e-fc52-4a30-97c3-3752cf9b644e'
Request the status of the deployment.
$ curl -X GET \ $url/blueprint/api/blueprint-requests/$cloud_template_request_id?apiVersion=$api_version \ -H "Authorization: Bearer $access_token" | jq "."
A snippet of the response shows the status of the deployment test request.
... "blueprintId": "1f170637-81a3-4257-b1cd-b2219ee8034c", "inputs": { "count": 2, "image": "ubuntu", "flavor": "small" }, "status": "FINISHED", ...
If your test deployment is successful, you are ready to deploy your cloud template.