1. Description
The fields of the action are:
name |
Used to name the create VM(s). If a single VM is being created, then this will be the VM name. If more than one VM is created, then they will be named name-0, name-1, and so on. The name must start with an alphabetic or underscore character, and be followed by one or more alphanumeric or underscore characters. Names cannot contain spaces. |
description |
A description of the VM purpose |
workloadKey |
An unique identifier for the workload |
action |
http://www.n3phele.com/createvm |
inputParameters |
A list of input parameters describing the nature of the created virtual machine. See 2. Input Parameters for details. |
2. Input Parameters
The input parameters specify the characteristics of the virtual machines to be created on the cloud. The supported paramater set is cloud dependent. See clouds for details of supported clouds and their specific parameter sets. There are a set of input parameters that are available on all clouds, as follows:
parameter name |
type |
definition |
dependency |
list |
list of dependencies for the action. defaults to an empty list |
3. Output Parameters
The output parameters specify unique identifiers or other characteristics of the created virtual machines to be created on the cloud. The supported paramater set is cloud dependent. See cloud link for details of supported clouds and their specific parameter sets. There are a set of output parameters that are available on all clouds, as follows:
parameter name |
type |
definition |
agentUser |
secret |
username for authenticated access to the vm agent. defaults to a secret. |
agentPassword |
secret |
password for authenticated access to the vm agent. defaults to a secret. |
agentBaseUrl |
string |
url for access to the vm agent of the first created virtual machine. |
agentUrls |
list |
url of all agents created |
vmURI |
string |
URI of the first VM created |
vmURIs |
list |
List of URIs for VM(s) created |
publicIpAddress |
string |
public IP address of the created VM |
publicIpAddressList |
list |
list of public IP addresses of the created VM(s) |
privateIpAddress |
string |
private IP address of the created VM |
privateIpAddressList |
list |
private IP addresses of the created VMs |
|
Figure 1. Example
"name":"fileCopier", "description":"Repository file copier virtual machine", "workloadKey":"fileCopier", "action":http://www.n3phele.com/createvm, "inputParameters":[ { "name":"imageId", "description":"Virtual machine image identifier", "type":"String", "value":"ami-maverick" }, { "name":"minCount", "description":"instance count", "type":"String", "value":"1" }, { "name":"instanceType", "description":"Virtual machine size", "type":"String", "value":"m1.medium" }, { "name":"securityGroups", "description":"Security group specifies the open TCP/IP ports for the VM", "type":"String", "value":"n3phele-default" }, { "name":"userData", "description":"Specifies initialization commands for the VM.", "type":"String", "value":"#!/bin/bash\necho starting injection... \n apt-get -y update; apt-get -y install openjdk-6-jre-headless \n wget -q -O - https://n3phele-agent.s3.amazonaws.com/n3ph-install-tgz-basic-reuse | su - -c '/bin/bash -s ubuntu ~/agent ~/sandbox https://n3phele-agent.s3.amazonaws.com/agent-reuse.tgz' root\n"
} ] |
|
|