About the author

Related Articles

8 Comments

  1. 1

    Dan Cohen

    Awesome post, very helpful

    btw, how can you change the existing disk properties(disk id 0)?

    Reply
    1. 1.1

      Dan Cohen

      Oh, disregard my last comment.
      I missed that part

      Reply
  2. 2

    Stacey

    Hello…..Thanks, I think this is just what we need but being absolutely new to vRA, can you please point me on raeding material to learn how to :

    In vRealize Orchestrator (vRO) you can find the workflow “Request a catalog item with provisioning request” template, that can be used to build a XaaS blueprint/ASD request. Although I will not go into detail how to build such a request, we will have a look at the JavaScript code that works behind the scenes, I’ve added some comments to explain how this example works.

    The exact problem is that the user will specify a size for the database, and then the flow will have to do some calculations to determine the disk size based on that. Your post explains how to add the disk into the json object, but my quesitons are 1) how to get that databasize size from the blueprint pulled in and 2) how to actually hook up that workflow to the XaaS blueprint.

    Reply
    1. 2.1

      viktorious

      If you ask the user for the database size, you can just do you calculations and add the output to the json[“centOS-7.0”].data.disks[0].data.capacity=XX value I guess?

      Reply
  3. 3

    Jason

    Anybody have any ideas how to update the target datacenter when updating the JSON values for XaaS provisioning of machine blueprints? I see lots of guides on modifying CPU, Memory, Disk. What about setting the target datacenter or reservation policy? I’ve tried update the “datacenter_location” property on the individual machine components from null to siteA but it does not seem to set the datacenter site.

    Reply
    1. 3.1

      viktorious

      Hi, I haven’t dealt with this issue personally but I see there’s a custom property called “__reservationPolicyID”. Maybe this property is the one you need? Make also sure that the template you want to use is available in the other reservation you’re deploying to. The requester has to have access to this reservation as well.

      Reply
  4. 4

    Jacob

    I have used this method to create additional drives during provisioning so the customer can add custom drives but the issue we are running into is that it’s adding the additional drives to a vmdk file in a separate folder. Ultimately this hasn’t affected anything as yet but we are running into issues expanding the disk drives after being built. Has anyone seen this issue?

    Reply
  5. 5

    Vaibhav Srivastava

    Hi, I am trying to the same thing for AWS EC2 blueprint but when I am trying to add ebs volume in the same way as u described above it shows the error as Cannot call method “push” of null .

    I am trying to to follow the above steps as you mentioned for creating json same as below;-

    {
    “key”: “ebs_storage_volumes”,
    “value”: {
    “type”: “multiple”,
    “elementTypeId”: “COMPLEX”,
    “items”: [
    {
    “type”: “complex”,
    “componentTypeId”: “com.vmware.csp.iaas.blueprint.service”,
    “componentId”: null,
    “classId”: “Infrastructure.Compute.Amazon.EBSVolume”,
    “typeFilter”: null,
    “values”: {
    “entries”: [
    {
    “key”: “owner”,
    “value”: {
    “type”: “string”,
    “value”: “”
    }
    },
    {
    “key”: “size”,
    “value”: {
    “type”: “integer”,
    “value”: 1
    }
    },
    {
    “key”: “volumeId”,
    “value”: {
    “type”: “string”,
    “value”: “”
    }
    },
    {
    “key”: “name”,
    “value”: {
    “type”: “string”,
    “value”: “one”
    }
    },
    {
    “key”: “description”,
    “value”: {
    “type”: “string”,
    “value”: “”
    }
    },
    {
    “key”: “location”,
    “value”: {
    “type”: “string”,
    “value”: “”
    }
    },
    {
    “key”: “id”,
    “value”: {
    “type”: “integer”,
    “value”: 0
    }
    },
    {
    “key”: “toBeAttached”,
    “value”: {
    “type”: “boolean”,
    “value”: true
    }
    },
    {
    “key”: “toBeDeleted”,
    “value”: {
    “type”: “boolean”,
    “value”: false
    }
    },
    {
    “key”: “device”,
    “value”: {
    “type”: “string”,
    “value”: “xvdb”
    }
    },
    {
    “key”: “userCreated”,
    “value”: {
    “type”: “boolean”,
    “value”: true
    }
    }
    ]
    }
    },
    {
    “type”: “complex”,
    “componentTypeId”: “com.vmware.csp.iaas.blueprint.service”,
    “componentId”: null,
    “classId”: “Infrastructure.Compute.Amazon.EBSVolume”,
    “typeFilter”: null,
    “values”: {
    “entries”: [
    {
    “key”: “owner”,
    “value”: {
    “type”: “string”,
    “value”: “”
    }
    },
    {
    “key”: “size”,
    “value”: {
    “type”: “integer”,
    “value”: 2
    }
    },
    {
    “key”: “volumeId”,
    “value”: {
    “type”: “string”,
    “value”: “”
    }
    },
    {
    “key”: “name”,
    “value”: {
    “type”: “string”,
    “value”: “two”
    }
    },
    {
    “key”: “description”,
    “value”: {
    “type”: “string”,
    “value”: “descroitpion”
    }
    },
    {
    “key”: “location”,
    “value”: {
    “type”: “string”,
    “value”: “”
    }
    },
    {
    “key”: “id”,
    “value”: {
    “type”: “integer”,
    “value”: 1
    }
    },
    {
    “key”: “toBeAttached”,
    “value”: {
    “type”: “boolean”,
    “value”: true
    }
    },
    {
    “key”: “toBeDeleted”,
    “value”: {
    “type”: “boolean”,
    “value”: false
    }
    },
    {
    “key”: “device”,
    “value”: {
    “type”: “string”,
    “value”: “xvdc”
    }
    },
    {
    “key”: “userCreated”,
    “value”: {
    “type”: “boolean”,
    “value”: true
    }
    }

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.