- 
                Notifications
    
You must be signed in to change notification settings  - Fork 10
 
ProvisionVMS
        Svyatoslav Reyentenko edited this page Aug 2, 2012 
        ·
        4 revisions
      
    Provision in a cloud a set of virtual machines
n| Parameter | Type | Mandatory | Description | 
|---|---|---|---|
| phase | String | y | Phase to run provisioning | 
| precedingPhases | List of strings | Preceding phases (if provision is first step, you can omit this parameter) | |
| roleName | String | y | role name of created virtual machines to identify them in other steps | 
| hardwareId | String | y | cloud provider specific hardware id for virtual machine | 
| imageId | String | y | cloud provider specific OS image id for virtual machine | 
| quantity | Int | y | amount of machines for provision | 
| keyPair | String | Name of a credentials secret pair to access provisioned virtual machines. Note: in case of absence such name in credentials store, provision will be aborted | |
| securityGroup | String | Amazon specific: security group in amazon | |
| account | Map | Access to cloud provider api.
 Keys in the map: 
  | 
Result of the step is a list of provisioned virtual machines. The list is accessible by name "virtualMachines"
Each virtual machine contains following attributes:
| Name | Type | Description | 
|---|---|---|
| status | Enum VmStatus | |
| roleName | String | Name of the assigned role to vm | 
| instanceId | Option of string | instance Id assigned by cloud provider | 
| hardwareId | Option of string | hardware Id used by vm | 
| imageId | Option of string | image id used by vm | 
| securityGroup | Option of string | security group | 
| ip | Address accessible fields: 
  | 
Ip address of the provisioned vm.
 Most often use case will be just use address field, i.e.   | 
provisionVms {
    phase = "example"
    roleName = "vmrole"
    hardwareId = "2"
    imageId = "16"
    quantity = 5
    account = [ "identity" : "login",
                "credential" : "password",
                "provider" : "aws-ec2",
                "endpoint" : "https://ec2.us-east-1.amazonaws.com"
              ]
}