Skip to content

Instantly share code, notes, and snippets.

@islamgulov
Created July 11, 2012 00:53
Show Gist options
  • Save islamgulov/3087220 to your computer and use it in GitHub Desktop.
Save islamgulov/3087220 to your computer and use it in GitHub Desktop.
compute/providers/bluebox
{
"website": "http://bluebox.net",
"supported_methods": {
"detach_volume": {
"description": "Detaches a volume from a node.\n",
"arguments": [
{
"required": true,
"type": "string",
"name": "volume_id",
"description": "ID of the volume which should be used"
}
],
"name": "detach_volume"
},
"list_nodes": {
"description": "List all nodes",
"arguments": [],
"name": "list_nodes"
},
"destroy_node": {
"description": "Destroy a node.\n\nDepending upon the provider, this may destroy all data associated with\nthe node, including backups.\n",
"arguments": [
{
"required": true,
"type": "string",
"name": "node_id",
"description": "ID of the node which should be used"
}
],
"name": "destroy_node"
},
"deploy_node": {
"description": "Create a new node, and start deployment.\n\nDepends on a Provider Driver supporting either using a specific\npassword or returning a generated password.\n\nThis function may raise a L{DeploymentException}, if a create_node\ncall was successful, but there is a later error (like SSH failing or\ntiming out). This exception includes a Node object which you may want\nto destroy if incomplete deployments are not desirable.\n",
"arguments": [
{
"required": false,
"type": "string",
"name": "name",
"description": "String with a name for this new node (required)"
},
{
"required": false,
"type": "string",
"name": "deploy",
"description": "Deployment to run once machine is online and\navailble to SSH."
},
{
"required": false,
"type": "integer",
"name": "ssh_port",
"description": "Optional SSH server port (default is 22)"
},
{
"required": false,
"type": "string",
"name": "ssh_username",
"description": "Optional name of the account which is used\nwhen connecting to\nSSH server (default is root)"
},
{
"required": false,
"type": "string",
"name": "image_id",
"description": "ID of the image which should be used"
},
{
"required": false,
"type": "string",
"name": "location_id",
"description": "ID of the location which should be used"
},
{
"required": false,
"type": "string",
"name": "ssh_key",
"description": "A path (or paths) to an SSH private key with which\nto attempt to authenticate. (optional)"
},
{
"required": false,
"type": "list of [\n {\n \"type\": \"string\",\n \"name\": \"\",\n \"description\": \"\"\n }\n]",
"name": "ssh_key",
"description": "A path (or paths) to an SSH private key with which\nto attempt to authenticate. (optional)"
},
{
"required": false,
"type": "string",
"name": "node_pubkey",
"description": "An SSH key to be installed for authentication to a node."
},
{
"required": false,
"type": "string",
"name": "node_password",
"description": "A password to be used for authentication to a node."
},
{
"required": false,
"type": "string",
"name": "ssh_interface",
"description": "The interface to wait for. Default is\n'public_ips', other option is 'private_ips'."
},
{
"required": false,
"type": "float",
"name": "ssh_timeout",
"description": "Optional SSH connection timeout in seconds\n(default is None)"
},
{
"required": false,
"type": "integer",
"name": "max_tries",
"description": "How many times to retry if a deployment fails\nbefore giving up (default is 3)"
},
{
"required": false,
"type": "string",
"name": "size_id",
"description": "ID of the location which should be used"
}
],
"name": "deploy_node"
},
"attach_volume": {
"description": "Attaches volume to node.\n",
"arguments": [
{
"required": true,
"type": "string",
"name": "node_id",
"description": "ID of the node which should be used"
},
{
"required": true,
"type": "string",
"name": "volume_id",
"description": "ID of the volume which should be used"
},
{
"default": null,
"required": false,
"type": "string",
"name": "device",
"description": "Where the device is exposed,\ne.g. '/dev/sdb (optional)"
}
],
"name": "attach_volume"
},
"list_images": {
"description": "List images on a provider\n",
"arguments": [
{
"required": false,
"type": "string",
"name": "location_id",
"description": "ID of the location which should be used"
}
],
"name": "list_images"
},
"create_volume": {
"description": "Create a new volume.\n",
"arguments": [
{
"required": true,
"type": "integer",
"name": "size",
"description": "Size of volume in gigabytes (required)"
},
{
"required": true,
"type": "string",
"name": "name",
"description": "Name of the volume to be created"
},
{
"required": false,
"type": "string",
"name": "location_id",
"description": "ID of the location which should be used"
},
{
"default": null,
"required": false,
"type": "string",
"name": "snapshot",
"description": "Name of snapshot from which to create the new\nvolume. (optional)"
}
],
"name": "create_volume"
},
"list_sizes": {
"description": "List sizes on a provider\n",
"arguments": [
{
"required": false,
"type": "string",
"name": "location_id",
"description": "ID of the location which should be used"
}
],
"name": "list_sizes"
},
"create_node": {
"description": "Create a new node instance.\n",
"arguments": [
{
"required": false,
"type": "string",
"name": "name",
"description": "String with a name for this new node (required)"
},
{
"required": false,
"type": "string",
"name": "image_id",
"description": "ID of the image which should be used"
},
{
"required": false,
"type": "string",
"name": "location_id",
"description": "ID of the location which should be used"
},
{
"required": false,
"type": "string",
"name": "node_pubkey",
"description": "An SSH key to be installed for authentication to a node."
},
{
"required": false,
"type": "string",
"name": "node_password",
"description": "A password to be used for authentication to a node."
},
{
"required": false,
"type": "string",
"name": "size_id",
"description": "ID of the location which should be used"
}
],
"name": "create_node"
},
"reboot_node": {
"description": "Reboot a node.\n",
"arguments": [
{
"required": true,
"type": "string",
"name": "node_id",
"description": "ID of the node which should be used"
}
],
"name": "reboot_node"
},
"list_locations": {
"description": "List data centers for a provider\n",
"arguments": [],
"name": "list_locations"
},
"destroy_volume": {
"description": "Destroys a storage volume.\n",
"arguments": [
{
"required": true,
"type": "string",
"name": "volume_id",
"description": "ID of the volume which should be used"
}
],
"name": "destroy_volume"
}
},
"name": "Bluebox Blocks"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment