A provision task provisions machines. When you register a vRealize Automation, vRealize Code Stream starts a local or remote vRealize Automation 6.1. or 6.2 instance to provision infrastructure in a specific environment.

About this task

vRealize Code Stream can also start multiple vRealize Automation instances. You can create machines from a single machine blueprint for a provision task. The task output is an array of machines.


  • Verify that the vRealize Automation server endpoint is registered. See the Installation and Configuration guide.

  • Verify that you completed the following tasks in vRealize Automation.

    • Choosing an Endpoint Scenario see IaaS Configuration for Virtual Platforms.

    • Create a Fabric Group see IaaS Configuration for Virtual Platforms.

    • Create a Business Group see IaaS Configuration for Virtual Platforms.

    • Create a Reservation see IaaS Configuration for Virtual Platforms.

    • Create a Reservation Policy see IaaS Configuration for Physical Machines.

    • Create a Network Profile see IaaS Integration for Multi-Machine Services.

    • Create a Blueprint see IaaS Configuration for Virtual Platforms.

    • Publish a Blueprint see IaaS Configuration for Virtual Platforms.

  • Verify that the vRealize Automation catalog item is assigned to a service.

    The service must be added to the entitlement for the Business group proxy user.


  1. Click the Code Stream tab.
  2. Select an existing pipeline to configure from the Pipeline tab.
  3. Select Edit > Stages.
  4. Select Add Task.
  5. Select Provision from the Category drop-down menu.
  6. Select vRA Provisioning from the Provider drop-down menu.
  7. Select from the drop-down menu the vRealize Automation server endpoint you registered.
  8. Enter a name for the provision task and click OK.
  9. Select the new task from the stage column.
  10. Confirm to save the pipeline.
  11. Select an Execute Task for the release pipeline.




    Runs the release pipeline task without conditions.

    On Condition(s)

    Runs the release pipeline task only if the defined condition is evaluated as true. If the condition is false, the task is skipped.

    A boolean expression using the following operands and operators is supported.

    • Pipeline variables such as, ${pipeline.variableName}. Curly brackets are reserved for specifying pipeline variables.

    • Task output variables such as, ${Stage1.task1.machines.value.hostIp}

    • Default pipeline constant variables such as, ${releasePipelineName}

    • Case insensitive Boolean values such as, true, false, 'true', 'false'

    • Integer or decimal values without quotes

    • String values used with single or double quotes such as, "test", 'test'

    • String and Numeric types of values such as, == Equals and != Not Equals

    • Relational operators such as, > , >=, <, and <=

    • Boolean logic such as, && and ||

    • Arithmetic operators such as, +, -, *, and /

    • Nested expressions using round brackets

    • Strings with literal value ABCD is evaluated as false and the task is skipped.

    Unary operators are not supported.

    A sample condition, ${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39

  12. (Optional) Select the Continue Pipeline execution even if this task fails option.

    This option allows the release pipeline to bypass the failed task and continue with the execution process.

  13. Enter the machine properties.




    Select the published vRealize Automation blueprint from the drop-down menu.

    Number of Machines

    Enter the number of machines to be provisioned and the configuration details.

    (Optional) Configuration Details

    Enter the Lease (Days), Number of CPUs, Memory, Storage values, and Description.


    An existing machine blueprint configuration can overwrite the values specified here.


    Select Logged In User to allow the user currently logged in to run the release pipeline.

    Select Enter Owner or Bind to allow a different user to log in, configure the machine, and provision it when the release pipeline is run. You must enter the login credential information of that user.

  14. (Optional) Select to share the machine output information with other tasks during the release pipeline execution.

    This output contains details of the machines successfully provisioned by this task. You can use this variable in succeeding tasks to retrieve the machine details.

  15. Click Save.

Task Output Format for a Provisioning Task

The following task output format is an example for a provisioning task.

        "name": "vcac-prov01",
        "value": {
            "memory": 1024,
            "machineId": "f9ee3f71-c5d0-4138-9520-24e15e376d13",
            "hostIp": [""],
            "cpu": 1,
            "endLease": 1410478627000,
            "storageSize": 4,
            "startLease": 1410392227000,
            "blueprintId":" f9ee3f71-c5d0-4138-3476-24e15e376f36",
        "type": "MACHINE"