manifest.template.json
{
"image": "rightscale.png",
"source_types": [
{
"name": "RightScale",
"options": {
"account_id": "Integer",
"username": "String",
"password": "Password",
"api_url": "Url",
"oauth_url": "Url",
"refresh_token": "String"
}
}
],
"tasks": [
{
"name": "rightscale start server",
"description": "Start a server defined in RightScale",
"license": "Apache License 2.0",
"author": "Brett Porter",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/start",
"inputs": {
"nickname": {
"required": false,
"type": "String",
"value": null,
"description": "Server nickname, ignored if server_id is set"
},
"server_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Server id. If not set then nickname is used"
},
"deployment_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Deployment id. Used in combination with (non-unique) nickname to find the correct server"
},
"deployment_name": {
"required": false,
"type": "String",
"value": null,
"description": "Deployment name. Used in combination with (non-unique) nickname to find the correct server"
},
"wait_until_started": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Make the composition wait until the server is started"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": false,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
},
"oauth_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com/api/oauth2",
"description": "RightScale OAuth API endpoint URL"
},
"refresh_token": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale API Refresh Token"
}
},
"outputs": {
"rightscale_server_id": {
"type": "Integer"
},
"rightscale_ip_address": {
"type": "String"
},
"rightscale_private_ip_address": {
"type": "String"
}
},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
},
{
"name": "rightscale get server",
"description": "Get a server defined in RightScale",
"license": "Apache License 2.0",
"author": "Brett Porter",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/get_server",
"inputs": {
"nickname": {
"required": false,
"type": "String",
"value": null,
"description": "Server nickname, ignored if server_id is set"
},
"server_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Server id. If not set then nickname is used"
},
"deployment_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Deployment id. Used in combination with (non-unique) nickname to find the correct server"
},
"deployment_name": {
"required": false,
"type": "String",
"value": null,
"description": "Deployment name. Used in combination with (non-unique) nickname to find the correct server"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": false,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
}
},
"outputs": {
"rightscale_server_id": {
"type": "Integer"
},
"rightscale_ip_address": {
"type": "String"
},
"rightscale_private_ip_address": {
"type": "String"
}
},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
},
{
"name": "rightscale stop server",
"description": "Stop a server defined in RightScale",
"license": "Apache License 2.0",
"author": "Brett Porter",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/stop",
"inputs": {
"nickname": {
"required": false,
"type": "String",
"value": null,
"description": "Server nickname, ignored if server_id is set"
},
"server_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Server id. If not set then nickname is used"
},
"deployment_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Deployment id. Used in combination with (non-unique) nickname to find the correct server"
},
"deployment_name": {
"required": false,
"type": "String",
"value": null,
"description": "Deployment name. Used in combination with (non-unique) nickname to find the correct server"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": false,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
},
"wait_until_stopped": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Make the composition wait until the server is stopped"
},
"oauth_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com/api/oauth2",
"description": "RightScale OAuth API endpoint URL"
},
"refresh_token": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale API Refresh Token"
}
},
"outputs": {
"rightscale_server_id": {
"type": "Integer"
},
"state": {
"type": "String"
}
},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
},
{
"name": "rightscale wait for server state",
"description": "Wait for a server defined in RightScale to be in a certain state",
"license": "Apache License 2.0",
"author": "Brett Porter",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/wait",
"inputs": {
"nickname": {
"required": false,
"type": "String",
"value": null,
"description": "Server nickname, ignored if server_id is set"
},
"server_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Server id. If not set then nickname is used"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": false,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
},
"oauth_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com/api/oauth2",
"description": "RightScale OAuth API endpoint URL"
},
"refresh_token": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale API Refresh Token"
},
"state": {
"required": true,
"type": "String",
"value": "operational",
"description": "Make the composition wait until the server is in this state (pending, booting, stopped, terminated, operational,...)"
},
"timeout": {
"required": false,
"type": "Integer",
"value": 600,
"description": "The number of seconds to wait before timing out)"
},
"timeout_interval": {
"required": false,
"type": "Integer",
"value": 10,
"description": "The frequency of polling between state checks)"
}
},
"outputs": {
"rightscale_server_id": {
"type": "Integer"
},
"state": {
"type": "String"
}
},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
},
{
"name": "rightscale start deployment",
"description": "Start all servers in a deployment defined in RightScale",
"license": "Apache License 2.0",
"author": "David Castro",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/start_deployment",
"inputs": {
"deployment_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "ID of the deployment to start servers in"
},
"deployment_name": {
"required": false,
"type": "String",
"value": null,
"description": "Name of the deployment to start servers in"
},
"wait_until_started": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Make the composition wait until the servers are started"
},
"show_progress": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Show progress of the checks for server state"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": false,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"oauth_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com/api/oauth2",
"description": "RightScale OAuth API endpoint URL"
},
"refresh_token": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale API Refresh Token"
}
},
"outputs": {
"rightscale_servers": {
"type": "Integer"
}
},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
},
{
"name": "rightscale stop deployment",
"description": "Stop all servers in a deployment defined in RightScale",
"license": "Apache License 2.0",
"author": "David Castro",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/stop_deployment",
"inputs": {
"deployment_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "ID of the deployment to stop servers in"
},
"deployment_name": {
"required": false,
"type": "String",
"value": null,
"description": "Name of the deployment to stop servers in"
},
"wait_until_stopped": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Make the composition wait until the servers are stopped"
},
"show_progress": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Show progress of the checks for server state"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": false,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"oauth_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com/api/oauth2",
"description": "RightScale OAuth API endpoint URL"
},
"refresh_token": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale API Refresh Token"
}
},
"outputs": {
"rightscale_servers": {
"type": "Integer"
}
},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
},
{
"name": "rightscale execute script",
"description": "Execute a RightScript",
"license": "Apache License 2.0",
"author": "Brett Porter",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/execute",
"inputs": {
"nickname": {
"required": false,
"type": "String",
"value": null,
"description": "Server nickname, ignored if server_id is set"
},
"server_id": {
"required": false,
"type": "Integer",
"value": null,
"description": "Server id. If not set then nickname is used"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": true,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": true,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
},
"recipe": {
"required": true,
"type": "String",
"value": "",
"description": "The RightScript to run (currently supports recipes only)"
},
"wait_for_completion": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Make the composition wait until the task is complete"
}
},
"outputs": {},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
},
{
"name": "rightscale create cloudflow",
"description": "Create a RightScale CloudFlow process",
"license": "Apache License 2.0",
"author": "David Castro",
"version": "updated at build time",
"class": "MaestroDev::Plugin::RightScaleWorker",
"type": "ruby",
"dependencies": [],
"task": {
"command": "/rightscale/create_cloudflow",
"inputs": {
"cloudflow_name": {
"required": true,
"type": "String",
"value": null,
"description": "CloudFlow name"
},
"cloudflow_inputs": {
"required": false,
"type": "Array",
"value": null,
"description": "A list of CloudFlow input params (format: [$var]=value)"
},
"command_string": {
"description": "The CloudFlow definition string",
"required": true,
"type": "String",
"value": "define func()\nend"
},
"wait_until_complete": {
"required": false,
"type": "Boolean",
"value": true,
"description": "Make the composition wait until the CloudFlow is done executing"
},
"account_id": {
"required": true,
"type": "Integer",
"value": null,
"description": "RightScale account id"
},
"username": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale username"
},
"password": {
"required": false,
"type": "Password",
"value": null,
"description": "RightScale password"
},
"api_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com",
"description": "RightScale API endpoint URL"
},
"oauth_url": {
"required": false,
"type": "Url",
"value": "https://my.rightscale.com/api/oauth2",
"description": "RightScale OAuth API endpoint URL"
},
"refresh_token": {
"required": false,
"type": "String",
"value": null,
"description": "RightScale API Refresh Token"
}
},
"outputs": {
"rightscale_cloudflow_process_id": {
"type": "String"
}
},
"icon": "rightscale.png",
"tool_name": "Cloud"
}
}
]
}