Data Processing API v1.1 (CURRENT)

Produce data processing operations.

Plugins

A plugin object defines the Hadoop or Spark version that it can install and which configurations can be set for the cluster.

GET
/v1.1/​{tenant_id}​/plugins
List plugins

Lists all registered plugins.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "plugins": [
        {
            "name": "vanilla",
            "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
            "versions": [
                "1.2.1",
                "2.4.1",
                "2.6.0"
            ],
            "title": "Vanilla Apache Hadoop"
        },
        {
            "name": "hdp",
            "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
            "versions": [
                "1.3.2",
                "2.0.6"
            ],
            "title": "Hortonworks Data Platform"
        },
        {
            "name": "spark",
            "description": "This plugin provides an ability to launch Spark on Hadoop CDH cluster without any management consoles.",
            "versions": [
                "1.0.0",
                "0.9.1"
            ],
            "title": "Apache Spark"
        },
        {
            "name": "cdh",
            "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
            "versions": [
                "5",
                "5.3.0"
            ],
            "title": "Cloudera Plugin"
        }
    ]
}

This operation does not accept a request body.

GET
/v1.1/​{tenant_id}​/plugins/​{plugin_name}​
Show plugin information

Shows information for a specified plugin.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

plugin_name URI xsd:string

Name of the plugin.

{
    "plugin": {
        "name": "vanilla",
        "versions": [
            "1.2.1",
            "2.4.1",
            "2.6.0"
        ],
        "title": "Vanilla Apache Hadoop",
        "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component."
    }
}

This operation does not accept a request body.

GET
/v1.1/​{tenant_id}​/plugins/​{plugin_name}​/​{version}​
Show detailed plugin information

Shows detailed information for a specified plugin.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

plugin_name URI xsd:string

Name of the plugin.

version URI xsd:string

Version of the plugin.

{
    "plugin": {
        "name": "vanilla",
        "versions": [
            "1.2.1",
            "2.4.1",
            "2.6.0"
        ],
        "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
        "required_image_tags": [
            "vanilla",
            "2.6.0"
        ],
        "node_processes": {
            "JobFlow": [
                "oozie"
            ],
            "HDFS": [
                "namenode",
                "datanode",
                "secondarynamenode"
            ],
            "YARN": [
                "resourcemanager",
                "nodemanager"
            ],
            "MapReduce": [
                "historyserver"
            ],
            "Hadoop": [],
            "Hive": [
                "hiveserver"
            ]
        },
        "configs": [
            {
                "default_value": "/tmp/hadoop-${user.name}",
                "name": "hadoop.tmp.dir",
                "priority": 2,
                "config_type": "string",
                "applicable_target": "HDFS",
                "is_optional": true,
                "scope": "node",
                "description": "A base for other temporary directories."
            },
            {
                "default_value": true,
                "name": "hadoop.native.lib",
                "priority": 2,
                "config_type": "bool",
                "applicable_target": "HDFS",
                "is_optional": true,
                "scope": "node",
                "description": "Should native hadoop libraries, if present, be used."
            },
            {
                "default_value": 1024,
                "name": "NodeManager Heap Size",
                "config_values": null,
                "priority": 1,
                "config_type": "int",
                "applicable_target": "YARN",
                "is_optional": false,
                "scope": "node",
                "description": null
            },
            {
                "default_value": true,
                "name": "Enable Swift",
                "config_values": null,
                "priority": 1,
                "config_type": "bool",
                "applicable_target": "general",
                "is_optional": false,
                "scope": "cluster",
                "description": null
            },
            {
                "default_value": true,
                "name": "Enable MySQL",
                "config_values": null,
                "priority": 1,
                "config_type": "bool",
                "applicable_target": "general",
                "is_optional": true,
                "scope": "cluster",
                "description": null
            }
        ],
        "title": "Vanilla Apache Hadoop"
    }
}

This operation does not accept a request body.

Image registry

The image registry is a tool for managing images. Each plugin lists required tags for an image. The Data Processing service also requires a user name to log in to an instance’s OS for remote operations execution.

The image registry enables you to add tags to and remove tags from images and define the OS user name.

GET
/v1.1/​{tenant_id}​/images
List images

Lists all images registered in the image registry.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

tags (Optional) plain xsd:string

Lists images only with specific tag. Can be used multiple times.

{
    "images": [
        {
            "updated": "2015-02-03T10:29:32Z",
            "metadata": {
                "_sahara_username": "ubuntu",
                "_sahara_tag_vanilla": "True",
                "_sahara_tag_2.6.0": "True"
            },
            "id": "bb8d12b5-f9bb-49f0-aecb-739b8a9bec89",
            "minDisk": 0,
            "status": "ACTIVE",
            "tags": [
                "vanilla",
                "2.6.0"
            ],
            "minRam": 0,
            "progress": 100,
            "username": "ubuntu",
            "created": "2015-02-03T10:28:39Z",
            "name": "sahara-vanilla-2.6.0-ubuntu-14.04",
            "description": null,
            "OS-EXT-IMG-SIZE:size": 1101856768
        },
        {
            "updated": "2015-01-30T11:10:59Z",
            "metadata": {
                "_sahara_tag_spark": "True",
                "_sahara_tag_1.0.0": "True",
                "_sahara_username": "ubuntu"
            },
            "id": "e6a6c5da-67be-4017-a7d2-81f466efe67e",
            "minDisk": 0,
            "status": "ACTIVE",
            "tags": [
                "spark",
                "1.0.0"
            ],
            "minRam": 0,
            "progress": 100,
            "username": "ubuntu",
            "created": "2015-01-30T11:04:15Z",
            "name": "sahara-juno-spark-1.0.0-ubuntu-14.04",
            "description": null,
            "OS-EXT-IMG-SIZE:size": 761856000
        }
    ]
}
GET
/v1.1/​{tenant_id}​/images/​{image_id}​
Show image details

Shows details about a specified image.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

image_id URI capi:UUID

The unique identifier of the image.

{
    "image": {
        "updated": "2015-02-03T10:29:32Z",
        "metadata": {
            "_sahara_username": "ubuntu",
            "_sahara_tag_vanilla": "True",
            "_sahara_tag_2.6.0": "True"
        },
        "id": "bb8d12b5-f9bb-49f0-aecb-739b8a9bec89",
        "minDisk": 0,
        "status": "ACTIVE",
        "tags": [
            "vanilla",
            "2.6.0"
        ],
        "minRam": 0,
        "progress": 100,
        "username": "ubuntu",
        "created": "2015-02-03T10:28:39Z",
        "name": "sahara-vanilla-2.6.0-ubuntu-14.04",
        "description": null,
        "OS-EXT-IMG-SIZE:size": 1101856768
    }
}

This operation does not accept a request body.

POST
/v1.1/​{tenant_id}​/images/​{image_id}​
Register image

Registers a specified image in the image registry.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

image_id URI capi:UUID

The unique identifier of the image.

username plain xsd:string

Username to login into an instance’s OS for remote operations execution.

description (Optional) plain xsd:string

Description of the image.

{
    "username": "ubuntu",
    "description": "Ubuntu image for Hadoop 2.6.0"
}
{
    "image": {
        "updated": "2015-03-24T10:05:10Z",
        "metadata": {
            "_sahara_description": "Ubuntu image for Hadoop 2.6.0",
            "_sahara_username": "ubuntu",
            "_sahara_tag_vanilla": "True",
            "_sahara_tag_2.6.0": "True"
        },
        "id": "bb8d12b5-f9bb-49f0-aecb-739b8a9bec89",
        "minDisk": 0,
        "status": "ACTIVE",
        "tags": [
            "vanilla",
            "2.6.0"
        ],
        "minRam": 0,
        "progress": 100,
        "username": "ubuntu",
        "created": "2015-02-03T10:28:39Z",
        "name": "sahara-vanilla-2.6.0-ubuntu-14.04",
        "description": "Ubuntu image for Hadoop 2.6.0",
        "OS-EXT-IMG-SIZE:size": 1101856768
    }
}
DELETE
/v1.1/​{tenant_id}​/images/​{image_id}​
Unregister image

Removes a specified image from the image registry.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

image_id URI capi:UUID

The unique identifier of the image.

This operation does not accept a request body and does not return a response body.

POST
/v1.1/​{tenant_id}​/images/​{image_id}​/tag
Add tags to image

Adds tags to a specified image.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

image_id URI capi:UUID

The unique identifier of the image.

tags plain xsd:string

List of tags to add.

{
    "tags": [
        "vanilla",
        "2.6.0",
        "some_other_tag"
    ]
}
{
    "image": {
        "updated": "2015-03-24T10:18:33Z",
        "metadata": {
            "_sahara_tag_vanilla": "True",
            "_sahara_description": "Ubuntu image for Hadoop 2.6.0",
            "_sahara_username": "ubuntu",
            "_sahara_tag_some_other_tag": "True",
            "_sahara_tag_2.6.0": "True"
        },
        "id": "bb8d12b5-f9bb-49f0-aecb-739b8a9bec89",
        "minDisk": 0,
        "status": "ACTIVE",
        "tags": [
            "vanilla",
            "some_other_tag",
            "2.6.0"
        ],
        "minRam": 0,
        "progress": 100,
        "username": "ubuntu",
        "created": "2015-02-03T10:28:39Z",
        "name": "sahara-vanilla-2.6.0-ubuntu-14.04",
        "description": "Ubuntu image for Hadoop 2.6.0",
        "OS-EXT-IMG-SIZE:size": 1101856768
    }
}
POST
/v1.1/​{tenant_id}​/images/​{image_id}​/untag
Remove tags from image

Removes tags from a specified image.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

image_id URI capi:UUID

The unique identifier of the image.

tags plain xsd:string

List of tags to remove.

{
    "tags": [
        "some_other_tag"
    ]
}
{
    "image": {
        "updated": "2015-03-24T10:18:33Z",
        "metadata": {
            "_sahara_tag_vanilla": "True",
            "_sahara_description": "Ubuntu image for Hadoop 2.6.0",
            "_sahara_username": "ubuntu",
            "_sahara_tag_some_other_tag": "True",
            "_sahara_tag_2.6.0": "True"
        },
        "id": "bb8d12b5-f9bb-49f0-aecb-739b8a9bec89",
        "minDisk": 0,
        "status": "ACTIVE",
        "tags": [
            "vanilla",
            "some_other_tag",
            "2.6.0"
        ],
        "minRam": 0,
        "progress": 100,
        "username": "ubuntu",
        "created": "2015-02-03T10:28:39Z",
        "name": "sahara-vanilla-2.6.0-ubuntu-14.04",
        "description": "Ubuntu image for Hadoop 2.6.0",
        "OS-EXT-IMG-SIZE:size": 1101856768
    }
}

Node group templates

A cluster is a group of nodes with the same configuration. A node group template configures a node in the cluster.

A template configures Hadoop processes and VM characteristics, such as the number of reduced slots for task tracker, the number of CPUs, and the amount of RAM. The template specifies the VM characteristics through an OpenStack flavor.

GET
/v1.1/​{tenant_id}​/node-group-templates
List node group templates

Lists available node group templates.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "node_group_templates": [
        {
            "auto_security_group": false,
            "availability_zone": null,
            "created_at": "2015-03-27 09:46:37",
            "description": null,
            "flavor_id": "42",
            "floating_ip_pool": "82757050-c76d-423e-9634-757b4fbef83d",
            "hadoop_version": "2.6.0",
            "id": "9b0327b7-1acd-4db9-b995-1f50822c49dc",
            "image_id": null,
            "is_default": false,
            "is_proxy_gateway": false,
            "name": "aaa",
            "node_configs": {},
            "node_processes": [
                "namenode",
                "resourcemanager",
                "oozie",
                "historyserver"
            ],
            "plugin_name": "vanilla",
            "security_groups": null,
            "tenant_id": "4ad2cbb9cb564018b2c1bf69865218d7",
            "updated_at": null,
            "volume_local_to_instance": false,
            "volume_mount_prefix": "/volumes/disk",
            "volume_type": null,
            "volumes_availability_zone": null,
            "volumes_per_node": 0,
            "volumes_size": 0
        },
        {
            "auto_security_group": true,
            "availability_zone": "nova",
            "created_at": "2015-03-27 09:04:43",
            "description": "",
            "flavor_id": "42",
            "floating_ip_pool": null,
            "hadoop_version": "2.6.0",
            "id": "e50ecf50-b7d1-47cc-b993-a0cdd018afa5",
            "image_id": null,
            "is_default": false,
            "is_proxy_gateway": false,
            "name": "www",
            "node_configs": {
                "HDFS": {},
                "Hadoop": {},
                "Hive": {},
                "JobFlow": {},
                "MapReduce": {},
                "YARN": {}
            },
            "node_processes": [
                "namenode",
                "datanode",
                "resourcemanager",
                "nodemanager"
            ],
            "plugin_name": "vanilla",
            "security_groups": [],
            "tenant_id": "4ad2cbb9cb564018b2c1bf69865218d7",
            "updated_at": null,
            "volume_local_to_instance": false,
            "volume_mount_prefix": "/volumes/disk",
            "volume_type": null,
            "volumes_availability_zone": null,
            "volumes_per_node": 0,
            "volumes_size": 0
        }
    ]
}

This operation does not accept a request body.

POST
/v1.1/​{tenant_id}​/node-group-templates
Create node group template

Creates a node group template.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.6.0",
    "node_processes": [
        "namenode",
        "resourcemanager",
        "oozie",
        "historyserver"
    ],
    "name": "master",
    "floating_ip_pool": "82757050-c76d-423e-9634-757b4fbef83d",
    "flavor_id": "42"
}
{
    "node_group_template": {
        "auto_security_group": false,
        "availability_zone": null,
        "created_at": "2015-03-27 09:46:37.940396",
        "flavor_id": "42",
        "floating_ip_pool": "82757050-c76d-423e-9634-757b4fbef83d",
        "hadoop_version": "2.6.0",
        "id": "9b0327b7-1acd-4db9-b995-1f50822c49dc",
        "is_default": false,
        "is_proxy_gateway": false,
        "name": "master",
        "node_configs": {},
        "node_processes": [
            "namenode",
            "resourcemanager",
            "oozie",
            "historyserver"
        ],
        "plugin_name": "vanilla",
        "security_groups": null,
        "tenant_id": "4ad2cbb9cb564018b2c1bf69865218d7",
        "volume_local_to_instance": false,
        "volume_mount_prefix": "/volumes/disk",
        "volume_type": null,
        "volumes_availability_zone": null,
        "volumes_per_node": 0,
        "volumes_size": 0
    }
}
GET
/v1.1/​{tenant_id}​/node-group-templates/​{node_group_template_id}​
Show node group template details

Shows a specified node group template, by ID.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

node_group_template_id URI capi:UUID

The unique identifier of the node group template.

{
    "node_group_template": {
        "auto_security_group": true,
        "availability_zone": "nova",
        "created_at": "2015-03-27 09:04:43",
        "description": "",
        "flavor_id": "42",
        "floating_ip_pool": null,
        "hadoop_version": "2.6.0",
        "id": "e50ecf50-b7d1-47cc-b993-a0cdd018afa5",
        "image_id": null,
        "is_default": false,
        "is_proxy_gateway": false,
        "name": "www",
        "node_configs": {
            "HDFS": {},
            "Hadoop": {},
            "Hive": {},
            "JobFlow": {},
            "MapReduce": {},
            "YARN": {}
        },
        "node_processes": [
            "namenode",
            "datanode",
            "resourcemanager",
            "nodemanager"
        ],
        "plugin_name": "vanilla",
        "security_groups": [],
        "tenant_id": "4ad2cbb9cb564018b2c1bf69865218d7",
        "updated_at": null,
        "volume_local_to_instance": false,
        "volume_mount_prefix": "/volumes/disk",
        "volume_type": null,
        "volumes_availability_zone": null,
        "volumes_per_node": 0,
        "volumes_size": 0
    }
}

This operation does not accept a request body.

DELETE
/v1.1/​{tenant_id}​/node-group-templates/​{node_group_template_id}​
Delete node group template

Deletes a specified node group template.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

node_group_template_id URI capi:UUID

The unique identifier of the node group template.

This operation does not accept a request body and does not return a response body.

PUT
/v1.1/​{tenant_id}​/node-group-templates/​{node_group_template_id}​
Update node group template

Updates a specified node group template.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

node_group_template_id URI capi:UUID

The unique identifier of the node group template.

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.6.0",
    "node_processes": [
        "namenode",
        "resourcemanager",
        "oozie",
        "historyserver"
    ],
    "name": "updaaa",
    "floating_ip_pool": "82757050-c76d-423e-9634-757b4fbef83d",
    "flavor_id": "42"
}
{
    "auto_security_group": true,
    "availability_zone": "nova",
    "created_at": "2015-03-27 09:04:43",
    "description": "",
    "flavor_id": "42",
    "floating_ip_pool": "82757050-c76d-423e-9634-757b4fbef83d",
    "hadoop_version": "2.6.0",
    "id": "e50ecf50-b7d1-47cc-b993-a0cdd018afa5",
    "image_id": null,
    "is_default": false,
    "is_proxy_gateway": false,
    "name": "updaaa",
    "node_configs": {
        "HDFS": {},
        "Hadoop": {},
        "Hive": {},
        "JobFlow": {},
        "MapReduce": {},
        "YARN": {}
    },
    "node_processes": [
        "namenode",
        "resourcemanager",
        "oozie",
        "historyserver"
    ],
    "plugin_name": "vanilla",
    "security_groups": [],
    "tenant_id": "4ad2cbb9cb564018b2c1bf69865218d7",
    "updated_at": "2015-03-27 09:56:23.304374",
    "volume_local_to_instance": false,
    "volume_mount_prefix": "/volumes/disk",
    "volume_type": null,
    "volumes_availability_zone": null,
    "volumes_per_node": 0,
    "volumes_size": 0
}

Cluster templates

A cluster template configures a Hadoop cluster. A cluster template lists node groups with the number of instances in each group. You can also define cluster-scoped configurations in a cluster template.

GET
/v1.1/​{tenant_id}​/cluster-templates
List available cluster templates

Lists available cluster templates.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "cluster_templates": [
        {
            "description": "",
            "updated_at": null,
            "plugin_name": "vanilla",
            "is_default": null,
            "anti_affinity": [],
            "node_groups": [
                {
                    "volume_local_to_instance": null,
                    "count": 1,
                    "volumes_availability_zone": null,
                    "name": "master-van",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-16 09:17:36",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {},
                        "Hadoop": {},
                        "YARN": {},
                        "MapReduce": {},
                        "JobFlow": {},
                        "Hive": {}
                    },
                    "node_group_template_id": "3fea4920-0c67-467f-b9d2-e34c3ac0e19c",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "namenode",
                        "secondarynamenode",
                        "resourcemanager",
                        "historyserver",
                        "oozie",
                        "hiveserver"
                    ],
                    "id": "84a7b6ee-1b06-4fc9-a6e6-0cb8375d1f80",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                },
                {
                    "volume_local_to_instance": null,
                    "count": 2,
                    "volumes_availability_zone": null,
                    "name": "worker-van",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-16 09:17:36",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {},
                        "Hadoop": {},
                        "YARN": {},
                        "MapReduce": {},
                        "JobFlow": {},
                        "Hive": {}
                    },
                    "node_group_template_id": "7357df25-7db1-4fad-b3ab-8bcc8589ad75",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "datanode",
                        "nodemanager"
                    ],
                    "id": "ab90252b-4464-48c8-b7e4-05cba80abeeb",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                }
            ],
            "hadoop_version": "2.6.0",
            "id": "4e810110-d326-49e0-bc7e-e1342f83d425",
            "neutron_management_network": null,
            "name": "vanilla2",
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-16 09:17:36",
            "default_image_id": null,
            "cluster_configs": {
                "HDFS": {
                    "dfs.replication": 2
                },
                "general": {},
                "MapReduce": {},
                "Hadoop": {}
            }
        },
        {
            "description": "",
            "updated_at": null,
            "plugin_name": "spark",
            "is_default": null,
            "anti_affinity": [],
            "node_groups": [
                {
                    "volume_local_to_instance": null,
                    "count": 2,
                    "volumes_availability_zone": null,
                    "name": "worker-spark",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-13 09:03:49",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {}
                    },
                    "node_group_template_id": "c99728bd-69c2-4a13-8159-e7fabad13688",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "datanode",
                        "slave"
                    ],
                    "id": "30114093-bb64-4cc4-961a-29bc38074a41",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                },
                {
                    "volume_local_to_instance": null,
                    "count": 1,
                    "volumes_availability_zone": null,
                    "name": "master-spark",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-13 09:03:49",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {}
                    },
                    "node_group_template_id": "e21f5e4e-43a3-4a0d-ba53-4621dfd23cdf",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "namenode",
                        "master"
                    ],
                    "id": "8ffe7cce-ca2a-419e-8a89-99ab32e29914",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                }
            ],
            "hadoop_version": "1.0.0",
            "id": "59e58554-79dc-4852-bc0c-051904f94187",
            "neutron_management_network": null,
            "name": "spark1",
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-13 09:03:49",
            "default_image_id": null,
            "cluster_configs": {
                "HDFS": {
                    "dfs.replication": 1
                },
                "Spark": {},
                "general": {}
            }
        }
    ]
}

This operation does not accept a request body.

POST
/v1.1/​{tenant_id}​/cluster-templates
Create cluster templates

Creates a cluster template.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.6.0",
    "node_groups": [
        {
            "name": "worker",
            "count": 3,
            "node_group_template_id": "3b975888-42d4-43d3-be70-8e4401e3cb65"
        },
        {
            "name": "master",
            "count": 1,
            "node_group_template_id": "208f2d53-69c3-48c3-9830-986db4c29c95"
        }
    ],
    "name": "cluster-template",
    "neutron_management_network": "0b001fb7-b172-43f0-8c99-444672fd0513",
    "cluster_configs": {}
}
{
    "cluster_template": {
        "description": "",
        "updated_at": null,
        "plugin_name": "vanilla",
        "is_default": null,
        "anti_affinity": [],
        "node_groups": [
            {
                "volume_local_to_instance": null,
                "count": 1,
                "volumes_availability_zone": null,
                "name": "master",
                "availability_zone": null,
                "volume_mount_prefix": "/volumes/disk",
                "created_at": "2015-03-16 09:17:36",
                "updated_at": null,
                "volume_type": null,
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "image_id": null,
                "volumes_size": 0,
                "node_configs": {
                    "HDFS": {},
                    "Hadoop": {},
                    "YARN": {},
                    "MapReduce": {},
                    "JobFlow": {},
                    "Hive": {}
                },
                "node_group_template_id": "3b975888-42d4-43d3-be70-8e4401e3cb65",
                "is_proxy_gateway": null,
                "volumes_per_node": 0,
                "node_processes": [
                    "namenode",
                    "secondarynamenode",
                    "resourcemanager",
                    "historyserver",
                    "oozie",
                    "hiveserver"
                ],
                "id": "84a7b6ee-1b06-4fc9-a6e6-0cb8375d1f80",
                "auto_security_group": null,
                "security_groups": null,
                "flavor_id": "2"
            },
            {
                "volume_local_to_instance": null,
                "count": 2,
                "volumes_availability_zone": null,
                "name": "worker",
                "availability_zone": null,
                "volume_mount_prefix": "/volumes/disk",
                "created_at": "2015-03-16 09:17:36",
                "updated_at": null,
                "volume_type": null,
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "image_id": null,
                "volumes_size": 0,
                "node_configs": {
                    "HDFS": {},
                    "Hadoop": {},
                    "YARN": {},
                    "MapReduce": {},
                    "JobFlow": {},
                    "Hive": {}
                },
                "node_group_template_id": "208f2d53-69c3-48c3-9830-986db4c29c95",
                "is_proxy_gateway": null,
                "volumes_per_node": 0,
                "node_processes": [
                    "datanode",
                    "nodemanager"
                ],
                "id": "ab90252b-4464-48c8-b7e4-05cba80abeeb",
                "auto_security_group": null,
                "security_groups": null,
                "flavor_id": "2"
            }
        ],
        "hadoop_version": "2.6.0",
        "id": "4e810110-d326-49e0-bc7e-e1342f83d425",
        "neutron_management_network": "0b001fb7-b172-43f0-8c99-444672fd0513",
        "name": "cluster-template",
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-03-16 09:17:36",
        "default_image_id": null,
        "cluster_configs": {
            "HDFS": {
                "dfs.replication": 2
            },
            "general": {},
            "MapReduce": {},
            "Hadoop": {}
        }
    }
}
GET
/v1.1/​{tenant_id}​/cluster-templates/​{cluster_template_id}​
Show cluster template

Shows the cluster template.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

cluster_template_id URI capi:UUID

The unique identifier of the cluster template.

{
    "cluster_templates": [
        {
            "description": "",
            "updated_at": null,
            "plugin_name": "vanilla",
            "is_default": null,
            "anti_affinity": [],
            "node_groups": [
                {
                    "volume_local_to_instance": null,
                    "count": 1,
                    "volumes_availability_zone": null,
                    "name": "master-van",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-16 09:17:36",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {},
                        "Hadoop": {},
                        "YARN": {},
                        "MapReduce": {},
                        "JobFlow": {},
                        "Hive": {}
                    },
                    "node_group_template_id": "3fea4920-0c67-467f-b9d2-e34c3ac0e19c",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "namenode",
                        "secondarynamenode",
                        "resourcemanager",
                        "historyserver",
                        "oozie",
                        "hiveserver"
                    ],
                    "id": "84a7b6ee-1b06-4fc9-a6e6-0cb8375d1f80",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                },
                {
                    "volume_local_to_instance": null,
                    "count": 2,
                    "volumes_availability_zone": null,
                    "name": "worker-van",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-16 09:17:36",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {},
                        "Hadoop": {},
                        "YARN": {},
                        "MapReduce": {},
                        "JobFlow": {},
                        "Hive": {}
                    },
                    "node_group_template_id": "7357df25-7db1-4fad-b3ab-8bcc8589ad75",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "datanode",
                        "nodemanager"
                    ],
                    "id": "ab90252b-4464-48c8-b7e4-05cba80abeeb",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                }
            ],
            "hadoop_version": "2.6.0",
            "id": "4e810110-d326-49e0-bc7e-e1342f83d425",
            "neutron_management_network": null,
            "name": "vanilla2",
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-16 09:17:36",
            "default_image_id": null,
            "cluster_configs": {
                "HDFS": {
                    "dfs.replication": 2
                },
                "general": {},
                "MapReduce": {},
                "Hadoop": {}
            }
        },
        {
            "description": "",
            "updated_at": null,
            "plugin_name": "spark",
            "is_default": null,
            "anti_affinity": [],
            "node_groups": [
                {
                    "volume_local_to_instance": null,
                    "count": 2,
                    "volumes_availability_zone": null,
                    "name": "worker-spark",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-13 09:03:49",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {}
                    },
                    "node_group_template_id": "c99728bd-69c2-4a13-8159-e7fabad13688",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "datanode",
                        "slave"
                    ],
                    "id": "30114093-bb64-4cc4-961a-29bc38074a41",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                },
                {
                    "volume_local_to_instance": null,
                    "count": 1,
                    "volumes_availability_zone": null,
                    "name": "master-spark",
                    "availability_zone": null,
                    "volume_mount_prefix": "/volumes/disk",
                    "created_at": "2015-03-13 09:03:49",
                    "updated_at": null,
                    "volume_type": null,
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "image_id": null,
                    "volumes_size": 0,
                    "node_configs": {
                        "HDFS": {}
                    },
                    "node_group_template_id": "e21f5e4e-43a3-4a0d-ba53-4621dfd23cdf",
                    "is_proxy_gateway": null,
                    "volumes_per_node": 0,
                    "node_processes": [
                        "namenode",
                        "master"
                    ],
                    "id": "8ffe7cce-ca2a-419e-8a89-99ab32e29914",
                    "auto_security_group": null,
                    "security_groups": null,
                    "flavor_id": "2"
                }
            ],
            "hadoop_version": "1.0.0",
            "id": "59e58554-79dc-4852-bc0c-051904f94187",
            "neutron_management_network": null,
            "name": "spark1",
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-13 09:03:49",
            "default_image_id": null,
            "cluster_configs": {
                "HDFS": {
                    "dfs.replication": 1
                },
                "Spark": {},
                "general": {}
            }
        }
    ]
}

This operation does not accept a request body.

PUT
/v1.1/​{tenant_id}​/cluster-templates/​{cluster_template_id}​
Update cluster templates

Updates the cluster template.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

cluster_template_id URI capi:UUID

The unique identifier of the cluster template.

{
    "description": "",
    "updated_at": null,
    "plugin_name": "vanilla",
    "is_default": null,
    "anti_affinity": [],
    "node_groups": [
        {
            "volume_local_to_instance": null,
            "count": 1,
            "volumes_availability_zone": null,
            "name": "master-van",
            "availability_zone": null,
            "volume_mount_prefix": "/volumes/disk",
            "created_at": "2015-03-16 09:17:36",
            "updated_at": null,
            "volume_type": null,
            "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
            "image_id": null,
            "volumes_size": 0,
            "node_configs": {
                "HDFS": {},
                "Hadoop": {},
                "YARN": {},
                "MapReduce": {},
                "JobFlow": {},
                "Hive": {}
            },
            "node_group_template_id": "3fea4920-0c67-467f-b9d2-e34c3ac0e19c",
            "is_proxy_gateway": null,
            "volumes_per_node": 0,
            "node_processes": [
                "namenode",
                "secondarynamenode",
                "resourcemanager",
                "historyserver",
                "oozie",
                "hiveserver"
            ],
            "id": "84a7b6ee-1b06-4fc9-a6e6-0cb8375d1f80",
            "auto_security_group": null,
            "security_groups": null,
            "flavor_id": "2"
        },
        {
            "volume_local_to_instance": null,
            "count": 2,
            "volumes_availability_zone": null,
            "name": "worker-van",
            "availability_zone": null,
            "volume_mount_prefix": "/volumes/disk",
            "created_at": "2015-03-16 09:17:36",
            "updated_at": null,
            "volume_type": null,
            "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
            "image_id": null,
            "volumes_size": 0,
            "node_configs": {
                "HDFS": {},
                "Hadoop": {},
                "YARN": {},
                "MapReduce": {},
                "JobFlow": {},
                "Hive": {}
            },
            "node_group_template_id": "7357df25-7db1-4fad-b3ab-8bcc8589ad75",
            "is_proxy_gateway": null,
            "volumes_per_node": 0,
            "node_processes": [
                "datanode",
                "nodemanager"
            ],
            "id": "ab90252b-4464-48c8-b7e4-05cba80abeeb",
            "auto_security_group": null,
            "security_groups": null,
            "flavor_id": "2"
        }
    ],
    "hadoop_version": "2.6.0",
    "neutron_management_network": null,
    "name": "vanilla-updated",
    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
    "default_image_id": null,
    "cluster_configs": {
        "HDFS": {
            "dfs.replication": 2
        },
        "general": {},
        "MapReduce": {},
        "Hadoop": {}
    }
}
{
    "cluster_template": {
        "description": "",
        "updated_at": "2015-03-16 09:19:36",
        "plugin_name": "vanilla",
        "is_default": null,
        "anti_affinity": [],
        "node_groups": [
            {
                "volume_local_to_instance": null,
                "count": 1,
                "volumes_availability_zone": null,
                "name": "master",
                "availability_zone": null,
                "volume_mount_prefix": "/volumes/disk",
                "created_at": "2015-03-16 09:17:36",
                "updated_at": null,
                "volume_type": null,
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "image_id": null,
                "volumes_size": 0,
                "node_configs": {
                    "HDFS": {},
                    "Hadoop": {},
                    "YARN": {},
                    "MapReduce": {},
                    "JobFlow": {},
                    "Hive": {}
                },
                "node_group_template_id": "3b975888-42d4-43d3-be70-8e4401e3cb65",
                "is_proxy_gateway": null,
                "volumes_per_node": 0,
                "node_processes": [
                    "namenode",
                    "secondarynamenode",
                    "resourcemanager",
                    "historyserver",
                    "oozie",
                    "hiveserver"
                ],
                "id": "84a7b6ee-1b06-4fc9-a6e6-0cb8375d1f80",
                "auto_security_group": null,
                "security_groups": null,
                "flavor_id": "2"
            },
            {
                "volume_local_to_instance": null,
                "count": 2,
                "volumes_availability_zone": null,
                "name": "worker",
                "availability_zone": null,
                "volume_mount_prefix": "/volumes/disk",
                "created_at": "2015-03-16 09:17:36",
                "updated_at": null,
                "volume_type": null,
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "image_id": null,
                "volumes_size": 0,
                "node_configs": {
                    "HDFS": {},
                    "Hadoop": {},
                    "YARN": {},
                    "MapReduce": {},
                    "JobFlow": {},
                    "Hive": {}
                },
                "node_group_template_id": "208f2d53-69c3-48c3-9830-986db4c29c95",
                "is_proxy_gateway": null,
                "volumes_per_node": 0,
                "node_processes": [
                    "datanode",
                    "nodemanager"
                ],
                "id": "ab90252b-4464-48c8-b7e4-05cba80abeeb",
                "auto_security_group": null,
                "security_groups": null,
                "flavor_id": "2"
            }
        ],
        "hadoop_version": "2.6.0",
        "id": "4e810110-d326-49e0-bc7e-e1342f83d425",
        "neutron_management_network": "0b001fb7-b172-43f0-8c99-444672fd0513",
        "name": "vanilla-updated",
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-03-16 09:17:36",
        "default_image_id": null,
        "cluster_configs": {
            "HDFS": {
                "dfs.replication": 2
            },
            "general": {},
            "MapReduce": {},
            "Hadoop": {}
        }
    }
}
DELETE
/v1.1/​{tenant_id}​/cluster-templates/​{cluster_template_id}​
Delete cluster template

Deletes the cluster template.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

cluster_template_id URI capi:UUID

The unique identifier of the cluster template.

This operation does not accept a request body and does not return a response body.

Clusters

A cluster is a group of nodes with the same configuration.

GET
/v1.1/​{tenant_id}​/clusters
List available clusters

Lists available clusters.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

{
    "clusters": [
        {
            "anti_affinity": [],
            "cluster_configs": {},
            "cluster_template_id": "9951f86d-57ba-43d6-9cb0-14ed2ec7a6cf",
            "created_at": "2015-04-01 08:39:19",
            "default_image_id": "bc3c3d3c-2684-4bf8-a9fa-388fb71288a9",
            "description": null,
            "hadoop_version": "2.6.0",
            "id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
            "info": {},
            "is_transient": false,
            "management_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDL5vvwABpK3jyv55Fs89hOoJ3EpGOcY9b9dQxc4bg8rV/0fjjgW1IpGQa6h2V6AcQqFNaeHOSbXyZj2jZI71f8sgDkoaPjjUWs50LF2BIJ/zJRX5xm4+WPpXrptzyNZOd0bBXC4LmRkbg9RDiNgMSwNUigMbUswZJKrM3+SxFkvmerVGMhbKxIs7nUG5ioWdBHaA4IgDTq/AMofOwpUpfOQ8isYN6sa0jU9MFk7nQy2p5MCqNUCKDA/UtaL4oWy4BTmNjEAB+ZyFvU8QD4XZDwF9ChruSoqiq9ziO4jXSctXAeCLi5Lse6k1WqqyiqvbL5ARBKM/3aUjssYfq8VG9T Generated by Sahara\n",
            "name": "def-cluster",
            "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076",
            "node_groups": [
                {
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 1,
                    "created_at": "2015-04-01 08:39:19",
                    "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "id": "684f0e4c-7c0e-409f-95e5-cb1bf9e2cb5c",
                    "image_id": null,
                    "instances": [
                        {
                            "created_at": "2015-04-01 08:39:30",
                            "id": "aa50dfc9-0514-4a79-87dd-029fc79b0eaf",
                            "instance_id": "d574108f-feae-4fbb-a28e-a3643e3598c3",
                            "instance_name": "def-cluster-master-001",
                            "internal_ip": "10.50.1.166",
                            "management_ip": "172.18.168.79",
                            "updated_at": "2015-04-01 08:40:55",
                            "volumes": []
                        }
                    ],
                    "is_proxy_gateway": false,
                    "name": "master",
                    "node_configs": {},
                    "node_group_template_id": "463fd55f-757d-464a-823e-befeeb772d97",
                    "node_processes": [
                        "namenode",
                        "resourcemanager"
                    ],
                    "security_groups": null,
                    "updated_at": "2015-04-01 08:39:30",
                    "volume_local_to_instance": false,
                    "volume_mount_prefix": "/volumes/disk",
                    "volume_type": null,
                    "volumes_availability_zone": null,
                    "volumes_per_node": 0,
                    "volumes_size": 0
                },
                {
                    "auto_security_group": false,
                    "availability_zone": null,
                    "count": 3,
                    "created_at": "2015-04-01 08:39:19",
                    "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                    "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                    "id": "2a4b09fb-ede0-43c9-a57c-f3f58c618eef",
                    "image_id": null,
                    "instances": [
                        {
                            "created_at": "2015-04-01 08:39:26",
                            "id": "e0b43219-47c5-4140-a891-b3c36c3ae209",
                            "instance_id": "1ba37ad7-07a0-42a6-9be0-a0f9dbd33f15",
                            "instance_name": "def-cluster-worker-001",
                            "internal_ip": "10.50.1.163",
                            "management_ip": "172.18.168.84",
                            "updated_at": "2015-04-01 08:40:56",
                            "volumes": []
                        },
                        {
                            "created_at": "2015-04-01 08:39:27",
                            "id": "57af5b05-1d22-41b2-ab10-9391e84a7dc4",
                            "instance_id": "19902729-0e72-479f-b698-4df90c22b368",
                            "instance_name": "def-cluster-worker-002",
                            "internal_ip": "10.50.1.164",
                            "management_ip": "172.18.168.80",
                            "updated_at": "2015-04-01 08:40:56",
                            "volumes": []
                        },
                        {
                            "created_at": "2015-04-01 08:39:28",
                            "id": "2c16966c-4bc2-463f-92eb-0e6cd01d6467",
                            "instance_id": "6fe6a752-eee1-4a76-864e-fd6ceaed3b81",
                            "instance_name": "def-cluster-worker-003",
                            "internal_ip": "10.50.1.165",
                            "management_ip": "172.18.168.81",
                            "updated_at": "2015-04-01 08:40:56",
                            "volumes": []
                        }
                    ],
                    "is_proxy_gateway": false,
                    "name": "worker",
                    "node_configs": {},
                    "node_group_template_id": "bc270ffe-a086-4eeb-9baa-2f5a73504622",
                    "node_processes": [
                        "datanode",
                        "nodemanager"
                    ],
                    "security_groups": null,
                    "updated_at": "2015-04-01 08:39:28",
                    "volume_local_to_instance": false,
                    "volume_mount_prefix": "/volumes/disk",
                    "volume_type": null,
                    "volumes_availability_zone": null,
                    "volumes_per_node": 0,
                    "volumes_size": 0
                }
            ],
            "plugin_name": "vanilla",
            "provision_progress": [
                {
                    "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                    "created_at": "2015-04-01 08:39:30",
                    "id": "372d4024-5e1b-467f-aa59-be56fb533b3c",
                    "step_name": "Wait for instances to become active",
                    "step_type": "Engine: create cluster",
                    "successful": true,
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "total": 4,
                    "updated_at": "2015-04-01 08:40:55"
                },
                {
                    "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                    "created_at": "2015-04-01 08:40:57",
                    "id": "9efc3a7e-4405-4ff3-b834-d0245374a442",
                    "step_name": "Wait for instance accessibility",
                    "step_type": "Engine: create cluster",
                    "successful": true,
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "total": 4,
                    "updated_at": "2015-04-01 08:41:55"
                },
                {
                    "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                    "created_at": "2015-04-01 08:40:55",
                    "id": "b741a3f1-e321-4987-b8e0-2dad44e54c27",
                    "step_name": "Assign IPs",
                    "step_type": "Engine: create cluster",
                    "successful": true,
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "total": 4,
                    "updated_at": "2015-04-01 08:40:57"
                },
                {
                    "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                    "created_at": "2015-04-01 08:39:25",
                    "id": "c7b8b0d6-f690-494e-a423-dc0e5be2e162",
                    "step_name": "Run instances",
                    "step_type": "Engine: create cluster",
                    "successful": true,
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "total": 4,
                    "updated_at": "2015-04-01 08:39:30"
                }
            ],
            "status": "Waiting",
            "status_description": "",
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "trust_id": null,
            "updated_at": "2015-04-01 08:39:30",
            "user_keypair_id": "username"
        }
    ]
}

This operation does not accept a request body.

POST
/v1.1/​{tenant_id}​/clusters
Create cluster

Creates a cluster.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

{
    "plugin_name": "vanilla",
    "hadoop_version": "2.6.0",
    "cluster_template_id": "9951f86d-57ba-43d6-9cb0-14ed2ec7a6cf",
    "default_image_id": "bc3c3d3c-2684-4bf8-a9fa-388fb71288a9",
    "user_keypair_id": "test",
    "name": "def-cluster",
    "cluster_configs": {},
    "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076"
}
{
    "cluster": {
        "anti_affinity": [],
        "cluster_configs": {},
        "cluster_template_id": "9951f86d-57ba-43d6-9cb0-14ed2ec7a6cf",
        "created_at": "2015-04-01 08:39:19",
        "default_image_id": "bc3c3d3c-2684-4bf8-a9fa-388fb71288a9",
        "description": null,
        "hadoop_version": "2.6.0",
        "id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
        "info": {},
        "is_transient": false,
        "management_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDL5vvwABpK3jyv55Fs89hOoJ3EpGOcY9b9dQxc4bg8rV/0fjjgW1IpGQa6h2V6AcQqFNaeHOSbXyZj2jZI71f8sgDkoaPjjUWs50LF2BIJ/zJRX5xm4+WPpXrptzyNZOd0bBXC4LmRkb$9RDiNgMSwNUigMbUswZJKrM3+SxFkvmerVGMhbKxIs7nUG5ioWdBHaA4IgDTq/AMofOwpUpfOQ8isYN6sa0jU9MFk7nQy2p5MCqNUCKDA/UtaL4oWy4BTmNjEAB+ZyFvU8QD4XZDwF9ChruSoqiq9ziO4jXSctXAeCLi5Lse6k1WqqyiqvbL5ARBKM/3aUjssYfq8VG9T Generated $y Sahara\n",
        "name": "def-cluster",
        "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076",
        "node_groups": [
            {
                "auto_security_group": false,
                "availability_zone": null,
                "count": 3,
                "created_at": "2015-04-01 08:39:19",
                "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "id": "2a4b09fb-ede0-43c9-a57c-f3f58c618eef",
                "image_id": null,
                "instances": [],
                "is_proxy_gateway": false,
                "name": "worker",
                "node_configs": {},
                "node_group_template_id": "bc270ffe-a086-4eeb-9baa-2f5a73504622",
                "node_processes": [
                    "datanode",
                    "nodemanager"
                ],
                "security_groups": null,
                "updated_at": null,
                "volume_local_to_instance": false,
                "volume_mount_prefix": "/volumes/disk",
                "volume_type": null,
                "volumes_availability_zone": null,
                "volumes_per_node": 0,
                "volumes_size": 0
            },
            {
                "auto_security_group": false,
                "availability_zone": null,
                "count": 1,
                "created_at": "2015-04-01 08:39:19",
                "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "id": "684f0e4c-7c0e-409f-95e5-cb1bf9e2cb5c",
                "image_id": null,
                "instances": [],
                "is_proxy_gateway": false,
                "name": "master",
                "node_configs": {},
                "node_group_template_id": "463fd55f-757d-464a-823e-befeeb772d97",
                "node_processes": [
                    "namenode",
                    "resourcemanager"
                ],
                "security_groups": null,
                "updated_at": null,
                "volume_local_to_instance": false,
                "volume_mount_prefix": "/volumes/disk",
                "volume_type": null,
                "volumes_availability_zone": null,
                "volumes_per_node": 0,
                "volumes_size": 0
            }
        ],
        "plugin_name": "vanilla",
        "provision_progress": [],
        "status": "Validating",
        "status_description": "",
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "trust_id": null,
        "updated_at": "2015-04-01 08:39:19.273008",
        "user_keypair_id": "test"
    }
}
GET
/v1.1/​{tenant_id}​/clusters/​{cluster_id}​
Show details of a cluster

Shows cluster by ID.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

cluster_id URI csapi:UUID

The ID of the cluster

{
    "cluster": {
        "anti_affinity": [],
        "cluster_configs": {},
        "cluster_template_id": "9951f86d-57ba-43d6-9cb0-14ed2ec7a6cf",
        "created_at": "2015-04-01 08:39:19",
        "default_image_id": "bc3c3d3c-2684-4bf8-a9fa-388fb71288a9",
        "description": null,
        "hadoop_version": "2.6.0",
        "id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
        "info": {},
        "is_transient": false,
        "management_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDL5vvwABpK3jyv55Fs89hOoJ3EpGOcY9b9dQxc4bg8rV/0fjjgW1IpGQa6h2V6AcQqFNaeHOSbXyZj2jZI71f8sgDkoaPjjUWs50LF2BIJ/zJRX5xm4+WPpXrptzyNZOd0bBXC4LmRkbg9RDiNgMSwNUigMbUswZJKrM3+SxFkvmerVGMhbKxIs7nUG5ioWdBHaA4IgDTq/AMofOwpUpfOQ8isYN6sa0jU9MFk7nQy2p5MCqNUCKDA/UtaL4oWy4BTmNjEAB+ZyFvU8QD4XZDwF9ChruSoqiq9ziO4jXSctXAeCLi5Lse6k1WqqyiqvbL5ARBKM/3aUjssYfq8VG9T Generated by Sahara\n",
        "name": "def-cluster",
        "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076",
        "node_groups": [
            {
                "auto_security_group": false,
                "availability_zone": null,
                "count": 1,
                "created_at": "2015-04-01 08:39:19",
                "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "id": "684f0e4c-7c0e-409f-95e5-cb1bf9e2cb5c",
                "image_id": null,
                "instances": [
                    {
                        "created_at": "2015-04-01 08:39:30",
                        "id": "aa50dfc9-0514-4a79-87dd-029fc79b0eaf",
                        "instance_id": "d574108f-feae-4fbb-a28e-a3643e3598c3",
                        "instance_name": "def-cluster-master-001",
                        "internal_ip": "10.50.1.166",
                        "management_ip": "172.18.168.79",
                        "updated_at": "2015-04-01 08:40:55",
                        "volumes": []
                    }
                ],
                "is_proxy_gateway": false,
                "name": "master",
                "node_configs": {},
                "node_group_template_id": "463fd55f-757d-464a-823e-befeeb772d97",
                "node_processes": [
                    "namenode",
                    "resourcemanager"
                ],
                "security_groups": null,
                "updated_at": "2015-04-01 08:39:30",
                "volume_local_to_instance": false,
                "volume_mount_prefix": "/volumes/disk",
                "volume_type": null,
                "volumes_availability_zone": null,
                "volumes_per_node": 0,
                "volumes_size": 0
            },
            {
                "auto_security_group": false,
                "availability_zone": null,
                "count": 3,
                "created_at": "2015-04-01 08:39:19",
                "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "id": "2a4b09fb-ede0-43c9-a57c-f3f58c618eef",
                "image_id": null,
                "instances": [
                    {
                        "created_at": "2015-04-01 08:39:26",
                        "id": "e0b43219-47c5-4140-a891-b3c36c3ae209",
                        "instance_id": "1ba37ad7-07a0-42a6-9be0-a0f9dbd33f15",
                        "instance_name": "def-cluster-worker-001",
                        "internal_ip": "10.50.1.163",
                        "management_ip": "172.18.168.84",
                        "updated_at": "2015-04-01 08:40:56",
                        "volumes": []
                    },
                    {
                        "created_at": "2015-04-01 08:39:27",
                        "id": "57af5b05-1d22-41b2-ab10-9391e84a7dc4",
                        "instance_id": "19902729-0e72-479f-b698-4df90c22b368",
                        "instance_name": "def-cluster-worker-002",
                        "internal_ip": "10.50.1.164",
                        "management_ip": "172.18.168.80",
                        "updated_at": "2015-04-01 08:40:56",
                        "volumes": []
                    },
                    {
                        "created_at": "2015-04-01 08:39:28",
                        "id": "2c16966c-4bc2-463f-92eb-0e6cd01d6467",
                        "instance_id": "6fe6a752-eee1-4a76-864e-fd6ceaed3b81",
                        "instance_name": "def-cluster-worker-003",
                        "internal_ip": "10.50.1.165",
                        "management_ip": "172.18.168.81",
                        "updated_at": "2015-04-01 08:40:56",
                        "volumes": []
                    }
                ],
                "is_proxy_gateway": false,
                "name": "worker",
                "node_configs": {},
                "node_group_template_id": "bc270ffe-a086-4eeb-9baa-2f5a73504622",
                "node_processes": [
                    "datanode",
                    "nodemanager"
                ],
                "security_groups": null,
                "updated_at": "2015-04-01 08:39:28",
                "volume_local_to_instance": false,
                "volume_mount_prefix": "/volumes/disk",
                "volume_type": null,
                "volumes_availability_zone": null,
                "volumes_per_node": 0,
                "volumes_size": 0
            }
        ],
        "plugin_name": "vanilla",
        "provision_progress": [
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:39:30",
                "id": "372d4024-5e1b-467f-aa59-be56fb533b3c",
                "step_name": "Wait for instances to become active",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:40:55"
            },
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:40:57",
                "id": "9efc3a7e-4405-4ff3-b834-d0245374a442",
                "step_name": "Wait for instance accessibility",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:41:55"
            },
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:40:55",
                "id": "b741a3f1-e321-4987-b8e0-2dad44e54c27",
                "step_name": "Assign IPs",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:40:57"
            },
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:39:25",
                "id": "c7b8b0d6-f690-494e-a423-dc0e5be2e162",
                "step_name": "Run instances",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:39:30"
            }
        ],
        "status": "Waiting",
        "status_description": "",
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "trust_id": null,
        "updated_at": "2015-04-01 08:39:30",
        "user_keypair_id": "nstarodubtsev"
    }
}

This operation does not accept a request body.

DELETE
/v1.1/​{tenant_id}​/clusters/​{cluster_id}​
Delete a cluster

Deletes a cluster.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

cluster_id URI csapi:UUID

The ID of the cluster

This operation does not accept a request body and does not return a response body.

PUT
/v1.1/​{tenant_id}​/clusters/​{cluster_id}​
Scale cluster

Scales a cluster.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

cluster_id URI csapi:UUID

The ID of the cluster

{
    "add_node_groups": [
        {
            "count": 1,
            "name": "b-worker",
            "node_group_template_id": "bc270ffe-a086-4eeb-9baa-2f5a73504622"
        }
    ],
    "resize_node_groups": [
        {
            "count": 4,
            "name": "worker"
        }
    ]
}
{
    "cluster": {
        "anti_affinity": [],
        "cluster_configs": {},
        "cluster_template_id": "9951f86d-57ba-43d6-9cb0-14ed2ec7a6cf",
        "created_at": "2015-04-01 08:39:19",
        "default_image_id": "bc3c3d3c-2684-4bf8-a9fa-388fb71288a9",
        "description": null,
        "hadoop_version": "2.6.0",
        "id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
        "info": {},
        "is_transient": false,
        "management_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDL5vvwABpK3jyv55Fs89hOoJ3EpGOcY9b9dQxc4bg8rV/0fjjgW1IpGQa6h2V6AcQqFNaeHOSbXyZj2jZI71f8sgDkoaPjjUWs50LF2BIJ/zJRX5xm4+WPpXrptzyNZOd0bBXC4LmRkbg9RDiNgMSwNUigMbUswZJKrM3+SxFkvmerVGMhbKxIs7nUG5ioWdBHaA4IgDTq/AMofOwpUpfOQ8isYN6sa0jU9MFk7nQy2p5MCqNUCKDA/UtaL4oWy4BTmNjEAB+ZyFvU8QD4XZDwF9ChruSoqiq9ziO4jXSctXAeCLi5Lse6k1WqqyiqvbL5ARBKM/3aUjssYfq8VG9T Generated by Sahara\n",
        "name": "def-cluster",
        "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076",
        "node_groups": [
            {
                "auto_security_group": false,
                "availability_zone": null,
                "count": 0,
                "created_at": "2015-04-01 10:08:13",
                "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "id": "c2508dd2-ee81-4937-95f9-dde2fe5384e9",
                "image_id": null,
                "instances": [],
                "is_proxy_gateway": false,
                "name": "b-worker",
                "node_configs": {},
                "node_group_template_id": "bc270ffe-a086-4eeb-9baa-2f5a73504622",
                "node_processes": [
                    "datanode",
                    "nodemanager"
                ],
                "security_groups": null,
                "updated_at": null,
                "volume_local_to_instance": false,
                "volume_mount_prefix": "/volumes/disk",
                "volume_type": null,
                "volumes_availability_zone": null,
                "volumes_per_node": 0,
                "volumes_size": 0
            },
            {
                "auto_security_group": false,
                "availability_zone": null,
                "count": 1,
                "created_at": "2015-04-01 08:39:19",
                "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "id": "684f0e4c-7c0e-409f-95e5-cb1bf9e2cb5c",
                "image_id": null,
                "instances": [
                    {
                        "created_at": "2015-04-01 08:39:30",
                        "id": "aa50dfc9-0514-4a79-87dd-029fc79b0eaf",
                        "instance_id": "d574108f-feae-4fbb-a28e-a3643e3598c3",
                        "instance_name": "def-cluster-master-001",
                        "internal_ip": "10.50.1.166",
                        "management_ip": "172.18.168.79",
                        "updated_at": "2015-04-01 08:40:55",
                        "volumes": []
                    }
                ],
                "is_proxy_gateway": false,
                "name": "master",
                "node_configs": {},
                "node_group_template_id": "463fd55f-757d-464a-823e-befeeb772d97",
                "node_processes": [
                    "namenode",
                    "resourcemanager"
                ],
                "security_groups": null,
                "updated_at": "2015-04-01 08:39:30",
                "volume_local_to_instance": false,
                "volume_mount_prefix": "/volumes/disk",
                "volume_type": null,
                "volumes_availability_zone": null,
                "volumes_per_node": 0,
                "volumes_size": 0
            },
            {
                "auto_security_group": false,
                "availability_zone": null,
                "count": 3,
                "created_at": "2015-04-01 08:39:19",
                "flavor_id": "9ecf74ee-9e04-4a8c-a61b-d3edf59f0d52",
                "floating_ip_pool": "a1fd789f-92ba-455f-865e-826bb84069ba",
                "id": "2a4b09fb-ede0-43c9-a57c-f3f58c618eef",
                "image_id": null,
                "instances": [
                    {
                        "created_at": "2015-04-01 08:39:26",
                        "id": "e0b43219-47c5-4140-a891-b3c36c3ae209",
                        "instance_id": "1ba37ad7-07a0-42a6-9be0-a0f9dbd33f15",
                        "instance_name": "def-cluster-worker-001",
                        "internal_ip": "10.50.1.163",
                        "management_ip": "172.18.168.84",
                        "updated_at": "2015-04-01 08:40:56",
                        "volumes": []
                    },
                    {
                        "created_at": "2015-04-01 08:39:27",
                        "id": "57af5b05-1d22-41b2-ab10-9391e84a7dc4",
                        "instance_id": "19902729-0e72-479f-b698-4df90c22b368",
                        "instance_name": "def-cluster-worker-002",
                        "internal_ip": "10.50.1.164",
                        "management_ip": "172.18.168.80",
                        "updated_at": "2015-04-01 08:40:56",
                        "volumes": []
                    },
                    {
                        "created_at": "2015-04-01 08:39:28",
                        "id": "2c16966c-4bc2-463f-92eb-0e6cd01d6467",
                        "instance_id": "6fe6a752-eee1-4a76-864e-fd6ceaed3b81",
                        "instance_name": "def-cluster-worker-003",
                        "internal_ip": "10.50.1.165",
                        "management_ip": "172.18.168.81",
                        "updated_at": "2015-04-01 08:40:56",
                        "volumes": []
                    }
                ],
                "is_proxy_gateway": false,
                "name": "worker",
                "node_configs": {},
                "node_group_template_id": "bc270ffe-a086-4eeb-9baa-2f5a73504622",
                "node_processes": [
                    "datanode",
                    "nodemanager"
                ],
                "security_groups": null,
                "updated_at": "2015-04-01 08:39:28",
                "volume_local_to_instance": false,
                "volume_mount_prefix": "/volumes/disk",
                "volume_type": null,
                "volumes_availability_zone": null,
                "volumes_per_node": 0,
                "volumes_size": 0
            }
        ],
        "plugin_name": "vanilla",
        "provision_progress": [
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:39:30",
                "id": "372d4024-5e1b-467f-aa59-be56fb533b3c",
                "step_name": "Wait for instances to become active",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:40:55"
            },
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:40:57",
                "id": "9efc3a7e-4405-4ff3-b834-d0245374a442",
                "step_name": "Wait for instance accessibility",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:41:55"
            },
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:40:55",
                "id": "b741a3f1-e321-4987-b8e0-2dad44e54c27",
                "step_name": "Assign IPs",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:40:57"
            },
            {
                "cluster_id": "a007a3e7-658f-4568-b0f2-fe2fd5efc554",
                "created_at": "2015-04-01 08:39:25",
                "id": "c7b8b0d6-f690-494e-a423-dc0e5be2e162",
                "step_name": "Run instances",
                "step_type": "Engine: create cluster",
                "successful": true,
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "total": 4,
                "updated_at": "2015-04-01 08:39:30"
            }
        ],
        "status": "Validating",
        "status_description": "",
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "trust_id": null,
        "updated_at": "2015-04-01 10:08:13.241666",
        "user_keypair_id": "username"
    }
}

Event log

The event log feature provides information about cluster provisioning. In the event of errors, the event log shows the reason for the failure.

GET
/v1.1/​{tenant_id}​/clusters/​{cluster_id}​
Show progress

Shows provisioning progress of cluster.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

cluster_id URI csapi:UUID

The ID of the cluster

show-progress plain xsd:boolean

Flag, which show cluster provisioning progress.

{
    "status": "Error",
    "neutron_management_network": "7e31648b-4b2e-4f32-9b0a-113581c27076",
    "is_transient": false,
    "description": "",
    "user_keypair_id": "vgridnev",
    "updated_at": "2015-03-31 14:10:59",
    "plugin_name": "spark",
    "provision_progress": [
        {
            "successful": false,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-31 14:10:20",
            "step_type": "Engine: create cluster",
            "updated_at": "2015-03-31 14:10:35",
            "events": [
                {
                    "instance_name": "sample-worker-spark-004",
                    "successful": false,
                    "created_at": "2015-03-31 14:10:35",
                    "updated_at": null,
                    "event_info": "Node sample-worker-spark-004 has error status\nError ID: 3e238c82-d1f5-4560-8ed8-691e923e16a0",
                    "instance_id": "b5ba5ba8-e9c1-47f7-9355-3ce0ec0e449d",
                    "node_group_id": "145cf2fb-dcdf-42af-a4b9-a4047d2919d4",
                    "step_id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6",
                    "id": "34afcfc7-bdb0-43cb-b142-283d560dc6ad"
                },
                {
                    "instance_name": "sample-worker-spark-001",
                    "successful": true,
                    "created_at": "2015-03-31 14:10:35",
                    "updated_at": null,
                    "event_info": null,
                    "instance_id": "c532ab71-38da-475a-95f8-f8eb93b8f1c2",
                    "node_group_id": "145cf2fb-dcdf-42af-a4b9-a4047d2919d4",
                    "step_id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6",
                    "id": "4ba50414-5216-4161-bc7a-12716122b99d"
                }
            ],
            "cluster_id": "c26ec982-ba6b-4d75-818c-a50240164af0",
            "step_name": "Wait for instances to become active",
            "total": 5,
            "id": "3f243c67-2c27-47c7-a0c0-0834ad17f8b6"
        },
        {
            "successful": true,
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-31 14:10:12",
            "step_type": "Engine: create cluster",
            "updated_at": "2015-03-31 14:10:19",
            "events": [],
            "cluster_id": "c26ec982-ba6b-4d75-818c-a50240164af0",
            "step_name": "Run instances",
            "total": 5,
            "id": "407ba50a-c799-46af-9dfb-6aa5f6ade426"
        }
    ],
    "anti_affinity": [],
    "node_groups": [],
    "management_public_key": "Sahara",
    "status_description": "Creating cluster failed for the following reason(s): Node sample-worker-spark-004 has error status\nError ID: 3e238c82-d1f5-4560-8ed8-691e923e16a0",
    "hadoop_version": "1.0.0",
    "id": "c26ec982-ba6b-4d75-1f8c-a50240164af0",
    "trust_id": null,
    "info": {},
    "cluster_template_id": "5a9a09a3-9349-43bd-9058-16c401fad2d5",
    "name": "sample",
    "cluster_configs": {},
    "created_at": "2015-03-31 14:10:07",
    "default_image_id": "e6a6c5da-67be-4017-a7d2-81f466efe67e",
    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda"
}

Data sources

A data source object defines the location of input or output for MapReduce jobs and might reference different types of storage.

The Data Processing service does not validate data source locations.

GET
/v1.1/​{tenant_id}​/data-sources
List data sources

Lists all data sources.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "data_sources": [
        {
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-26 11:18:10",
            "id": "953831f2-0852-49d8-ac71-af5805e25256",
            "name": "swift_input",
            "updated_at": null,
            "description": "This is input",
            "url": "swift://container/text",
            "type": "swift"
        },
        {
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-03-26 11:09:36",
            "id": "d7fffe9c-3b42-46a9-8be8-e98f586fa7a9",
            "name": "hdfs_input",
            "updated_at": null,
            "description": "This is hdfs input",
            "url": "hdfs://test-master-node:8020/user/hadoop/input",
            "type": "hdfs"
        }
    ]
}

This operation does not accept a request body.

POST
/v1.1/​{tenant_id}​/data-sources
Create data source

Creates a data source.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "description": "This is input",
    "url": "swift://container/text",
    "credentials": {
        "password": "swordfish",
        "user": "dev"
    },
    "type": "swift",
    "name": "swift_input"
}
{
    "description": "This is hdfs input",
    "url": "hdfs://test-master-node:8020/user/hadoop/input",
    "type": "hdfs",
    "name": "hdfs_input"
}
{
    "data_source": {
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-03-26 11:18:10.691493",
        "id": "953831f2-0852-49d8-ac71-af5805e25256",
        "name": "swift_input",
        "description": "This is input",
        "url": "swift://container/text",
        "type": "swift"
    }
}
{
    "data_source": {
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-03-26 11:09:36.148464",
        "id": "d7fffe9c-3b42-46a9-8be8-e98f586fa7a9",
        "name": "hdfs_input",
        "description": "This is hdfs input",
        "url": "hdfs://test-master-node:8020/user/hadoop/input",
        "type": "hdfs"
    }
}
GET
/v1.1/​{tenant_id}​/data-sources/​{data_source_id}​
Show data source details

Shows details for a specified data source.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

data_source_id URI capi:UUID

The unique identifier of the data source.

{
    "data_source": {
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-03-26 11:18:10",
        "id": "953831f2-0852-49d8-ac71-af5805e25256",
        "name": "swift_input",
        "updated_at": null,
        "description": "This is input",
        "url": "swift://container/text",
        "type": "swift"
    }
}

This operation does not accept a request body.

DELETE
/v1.1/​{tenant_id}​/data-sources/​{data_source_id}​
Delete data source

Deletes a specified data source.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

data_source_id URI capi:UUID

The unique identifier of the data source.

This operation does not accept a request body and does not return a response body.

Job binary internals

Job binary internal objects represent data processing applications and libraries that are stored in the internal database.

GET
/v1.1/​{tenant_id}​/job-binary-internals
List job binary internals

Lists the available job binary internals.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "binaries": [
        {
            "name": "example.pig",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:36:59.329034",
            "updated_at": null,
            "datasize": 161,
            "id": "d2498cbf-4589-484a-a814-81436c18beb3"
        },
        {
            "name": "udf.jar",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:43:52.008620",
            "updated_at": null,
            "datasize": 3745,
            "id": "22f1d87a-23c8-483e-a0dd-cb4a16dde5f9"
        }
    ]
}

This operation does not accept a request body.

PUT
/v1.1/​{tenant_id}​/job-binary-internals/​{name}​
Create job binary internal

Creates a job binary internal.

 

Job binary internals are objects that represent data processing applications and libraries that are stored in the internal database.

Specify the file contents (raw data or script text) in the request body. Specify the file name in the URI.

Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

name URI xsd:string

The name of the job binary internal.

{
    "job_binary_internal": {
        "name": "script.pig",
        "tenant_id": "11587919cc534bcbb1027a161c82cf58",
        "created_at": "2013-10-15 13:17:35.994466",
        "updated_at": null,
        "datasize": 160,
        "id": "4833dc4b-8682-4d5b-8a9f-2036b47a0996"
    }
}
GET
/v1.1/​{tenant_id}​/job-binary-internals/​{job_binary_internals_id}​
Show job binary internal details

Shows details for a specified job binary internal.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_binary_internals_id URI capi:UUID

The ID of the job binary internal.

{
    "job_binary_internal": {
        "name": "script.pig",
        "tenant_id": "11587919cc534bcbb1027a161c82cf58",
        "created_at": "2013-10-15 13:17:35.994466",
        "updated_at": null,
        "datasize": 160,
        "id": "4833dc4b-8682-4d5b-8a9f-2036b47a0996"
    }
}

This operation does not accept a request body.

DELETE
/v1.1/​{tenant_id}​/job-binary-internals/​{job_binary_internals_id}​
Delete job binary internal

Deletes a specified job binary internal.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_binary_internals_id URI capi:UUID

The ID of the job binary internal.

This operation does not accept a request body and does not return a response body.

GET
/v1.1/​{tenant_id}​/job-binary-internals/​{job_binary_internals_id}​/data
Get job binary internal data

Gets data for a specified job binary internal.

 

The response body shows the job binary raw data and the response headers show the data length.

Example response:

HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 161
Content-Type: text/html; charset=utf-8
Date: Sat, 28 Mar 2015 02:21:13 GMT

A = load '$INPUT' using PigStorage(':') as (fruit: chararray);
B = foreach A generate com.hadoopbook.pig.Trim(fruit);
store B into '$OUTPUT' USING PigStorage(); 

Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_binary_internals_id URI capi:UUID

The ID of the job binary internal.

Response parameters
Parameter Style Type Description
Content-Length header xsd:string

The length of the returned data in bytes.

This operation does not accept a request body.

Job binaries

Job binary objects represent data processing applications and libraries that are stored in either the internal database or the Object Storage service.

GET
/v1.1/​{tenant_id}​/job-binaries
List job binaries

Lists the available job binaries.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "binaries": [
        {
            "description": "",
            "url": "internal-db://d2498cbf-4589-484a-a814-81436c18beb3",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:36:59.375060",
            "updated_at": null,
            "id": "84248975-3c82-4206-a58d-6e7fb3a563fd",
            "name": "example.pig"
        },
        {
            "description": "",
            "url": "internal-db://22f1d87a-23c8-483e-a0dd-cb4a16dde5f9",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 12:43:52.265899",
            "updated_at": null,
            "id": "508fc62d-1d58-4412-b603-bdab307bb926",
            "name": "udf.jar"
        },
        {
            "description": "",
            "url": "swift://container/jar-example.jar",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "created_at": "2013-10-15 14:25:04.970513",
            "updated_at": null,
            "id": "a716a9cd-9add-4b12-b1b6-cdb71aaef350",
            "name": "jar-example.jar"
        }
    ]
}

This operation does not accept a request body.

POST
/v1.1/​{tenant_id}​/job-binaries
Create job binary

Creates a job binary.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "url": "swift://container/jar-example.jar",
    "name": "jar-example.jar",
    "description": "This is a job binary",
    "extra": {
        "password": "swordfish",
        "user": "admin"
    }
}
{
    "job_binary": {
        "description": "This is a job binary",
        "url": "swift://container/jar-example.jar",
        "tenant_id": "11587919cc534bcbb1027a161c82cf58",
        "created_at": "2013-10-15 14:49:20.106452",
        "id": "07f86352-ee8a-4b08-b737-d705ded5ff9c",
        "name": "jar-example.jar"
    }
}
GET
/v1.1/​{tenant_id}​/job-binaries/​{job_binaries_id}​
Show job binary details

Shows details for a specified job binary.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_binaries_id URI capi:UUID

The ID of the job binary.

{
    "job_binary": {
        "description": "an example jar file",
        "url": "swift://container/jar-example.jar",
        "tenant_id": "11587919cc534bcbb1027a161c82cf58",
        "created_at": "2013-10-15 14:25:04.970513",
        "updated_at": null,
        "id": "a716a9cd-9add-4b12-b1b6-cdb71aaef350",
        "name": "jar-example.jar"
    }
}

This operation does not accept a request body.

DELETE
/v1.1/​{tenant_id}​/job-binaries/​{job_binaries_id}​
Delete job binary

Deletes a specified job binary.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_binaries_id URI capi:UUID

The ID of the job binary.

This operation does not accept a request body and does not return a response body.

GET
/v1.1/​{tenant_id}​/job-binaries/​{job_binaries_id}​/data
Get job binary data

Gets data for a specified job binary.

 

The response body shows the job binary raw data and the response headers show the data length.

Example response:

HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 161
Content-Type: text/html; charset=utf-8
Date: Sat, 28 Mar 2015 02:42:48 GMT

A = load '$INPUT' using PigStorage(':') as (fruit: chararray);
B = foreach A generate com.hadoopbook.pig.Trim(fruit);
store B into '$OUTPUT' USING PigStorage();

Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_binaries_id URI capi:UUID

The ID of the job binary.

Response parameters
Parameter Style Type Description
Content-Length header xsd:string

The length of the returned data in bytes.

This operation does not accept a request body.

Jobs

A job object lists the binaries that a job needs to run. To run a job, you must specify data sources and job parameters.

You can run a job on an existing or new transient cluster.

GET
/v1.1/​{tenant_id}​/jobs
List jobs

Lists all jobs.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

{
    "jobs": [
        {
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-02-10 14:25:48",
            "id": "1a674c31-9aaa-4d07-b844-2bf200a1b836",
            "name": "Edp-test-job-3d60854e",
            "updated_at": null,
            "description": "",
            "libs": [
                {
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "created_at": "2015-02-10 14:25:48",
                    "id": "0ff4ac10-94a4-4e25-9ac9-603afe27b100",
                    "name": "binary-job-339c2d1a.jar",
                    "updated_at": null,
                    "description": "",
                    "url": "swift://Edp-test-c71e6bce.sahara/binary-job-339c2d1a.jar"
                }
            ],
            "type": "MapReduce",
            "mains": []
        },
        {
            "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
            "created_at": "2015-02-10 14:25:44",
            "id": "4d1f3759-3497-4927-8352-910bacf24e62",
            "name": "Edp-test-job-6b6953c8",
            "updated_at": null,
            "description": "",
            "libs": [
                {
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "created_at": "2015-02-10 14:25:44",
                    "id": "e0d47800-4ac1-4d63-a2e1-c92d669a44e2",
                    "name": "binary-job-6f21a2f8.jar",
                    "updated_at": null,
                    "description": "",
                    "url": "swift://Edp-test-b409ec68.sahara/binary-job-6f21a2f8.jar"
                }
            ],
            "type": "Pig",
            "mains": [
                {
                    "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                    "created_at": "2015-02-10 14:25:44",
                    "id": "e073e896-f123-4b76-995f-901d786262df",
                    "name": "binary-job-d4f8bd75.pig",
                    "updated_at": null,
                    "description": "",
                    "url": "swift://Edp-test-b409ec68.sahara/binary-job-d4f8bd75.pig"
                }
            ]
        }
    ]
}

This operation does not accept a request body.

POST
/v1.1/​{tenant_id}​/jobs
Create job

Creates a job object.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

{
    "description": "This is pig job example",
    "mains": [
        "90d9d5ec-11aa-48bd-bc8c-34936ce0db6e"
    ],
    "libs": [
        "320a2ca7-25fd-4b48-9bc3-4fb1b6c4ff27"
    ],
    "type": "Pig",
    "name": "pig-job-example"
}
{
    "job": {
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-03-27 08:48:38.630827",
        "id": "71defc8f-d005-484f-9d86-1aedf644d1ef",
        "name": "pig-job-example",
        "description": "This is pig job example",
        "libs": [
            {
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "created_at": "2015-02-10 14:25:53",
                "id": "320a2ca7-25fd-4b48-9bc3-4fb1b6c4ff27",
                "name": "binary-job",
                "updated_at": null,
                "description": "",
                "url": "internal-db://c6a925fa-ac1d-4b2e-b88a-7054e1927521"
            }
        ],
        "type": "Pig",
        "mains": [
            {
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "created_at": "2015-02-03 10:47:51",
                "id": "90d9d5ec-11aa-48bd-bc8c-34936ce0db6e",
                "name": "pig",
                "updated_at": null,
                "description": "",
                "url": "internal-db://872878f6-72ea-44db-8d1d-e6a6396d2df0"
            }
        ]
    }
}
GET
/v1.1/​{tenant_id}​/jobs/​{job_id}​
Show job details

Shows details for a specified job.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

job_id URI csapi:UUID

The unique identifier of the job.

{
    "job": {
        "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
        "created_at": "2015-02-10 14:25:48",
        "id": "1a674c31-9aaa-4d07-b844-2bf200a1b836",
        "name": "Edp-test-job",
        "updated_at": null,
        "description": "",
        "libs": [
            {
                "tenant_id": "9cd1314a0a31493282b6712b76a8fcda",
                "created_at": "2015-02-10 14:25:48",
                "id": "0ff4ac10-94a4-4e25-9ac9-603afe27b100",
                "name": "binary-job.jar",
                "updated_at": null,
                "description": "",
                "url": "swift://Edp-test-c71e6bce.sahara/binary-job.jar"
            }
        ],
        "type": "MapReduce",
        "mains": []
    }
}

This operation does not accept a request body.

DELETE
/v1.1/​{tenant_id}​/jobs/​{job_id}​
Remove job

Removes a specified job.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

job_id URI csapi:UUID

The unique identifier of the job.

This operation does not accept a request body and does not return a response body.

POST
/v1.1/​{tenant_id}​/jobs/​{job_id}​/execute
Run job

Runs a specified job.

 
Normal response codes
202
Request parameters
Parameter Style Type Description
tenant_id URI csapi:UUID

The unique identifier of the tenant or account.

job_id URI csapi:UUID

The unique identifier of the job.

{
    "cluster_id": "776e441b-5816-4d47-9e07-7ded58f9a5f6",
    "input_id": "af7dc864-6331-4c30-80f5-63d74b667eaf",
    "output_id": "b63780f3-13d7-4286-b731-88270fb204de",
    "job_configs": {
        "configs": {
            "mapred.map.tasks": "1",
            "mapred.reduce.tasks": "1"
        },
        "args": [
            "arg1",
            "arg2"
        ],
        "params": {
            "param2": "value2",
            "param1": "value1"
        }
    }
}
{
    "job_execution": {
        "output_id": "b63780f3-13d7-4286-b731-88270fb204de",
        "info": {
            "status": "PENDING"
        },
        "job_id": "65afed9c-dad7-4658-9554-b7b4e1ca908f",
        "tenant_id": "11587919cc534bcbb1027a161c82cf58",
        "created_at": "2013-10-17 13:17:03.631362",
        "input_id": "af7dc864-6331-4c30-80f5-63d74b667eaf",
        "cluster_id": "776e441b-5816-4d47-9e07-7ded58f9a5f6",
        "job_configs": {
            "configs": {
                "mapred.map.tasks": "1",
                "mapred.reduce.tasks": "1"
            },
            "args": [
                "arg1",
                "arg2"
            ],
            "params": {
                "param2": "value2",
                "param1": "value1"
            }
        },
        "id": "fb2ba667-1162-4f6d-ba77-662c04dfac35"
    }
}

Job executions

A job execution object represents a Hadoop job that runs on a specified cluster. A job execution polls the status of a running job and reports it to the user. Also a user can cancel a running job.

GET
/v1.1/​{tenant_id}​/job-executions
List job executions

Lists available job executions.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

{
    "job_executions": [
        {
            "output_id": "b63780f3-13d7-4286-b731-88270fb204de",
            "info": {
                "status": "RUNNING",
                "externalId": null,
                "run": 0,
                "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
                "appName": "job-wf",
                "lastModTime": "Thu, 17 Oct 2013 13:53:17 GMT",
                "actions": [
                    {
                        "status": "OK",
                        "retries": 0,
                        "transition": "job-node",
                        "stats": null,
                        "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
                        "cred": "null",
                        "errorMessage": null,
                        "externalId": "-",
                        "errorCode": null,
                        "consoleUrl": "-",
                        "toString": "Action name[:start:] status[OK]",
                        "externalStatus": "OK",
                        "conf": "",
                        "type": ":START:",
                        "trackerUri": "-",
                        "externalChildIDs": null,
                        "endTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                        "data": null,
                        "id": "0000000-131017135256789-oozie-hado-W@:start:",
                        "name": ":start:"
                    },
                    {
                        "status": "RUNNING",
                        "retries": 0,
                        "transition": null,
                        "stats": null,
                        "startTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                        "cred": "null",
                        "errorMessage": null,
                        "externalId": "job_201310171352_0001",
                        "errorCode": null,
                        "consoleUrl": "http://edp-master-001:50030/jobdetails.jsp?jobid=job_201310171352_0001",
                        "toString": "Action name[job-node] status[RUNNING]",
                        "externalStatus": "RUNNING",
                        "conf": "<pig xmlns=\"uri:oozie:workflow:0.2\">\r\n  <job-tracker>edp-master-001:8021</job-tracker>\r\n  <name-node>hdfs://edp-master-001:8020</name-node>\r\n  <configuration>\r\n    <property>\r\n      <name>fs.swift.service.sahara.password</name>\r\n      <value>swordfish</value>\r\n    </property>\r\n    <property>\r\n      <name>fs.swift.service.sahara.username</name>\r\n      <value>admin</value>\r\n    </property>\r\n  </configuration>\r\n  <script>example.pig</script>\r\n  <param>INPUT=swift://container.sahara/text</param>\r\n  <param>OUTPUT=swift://container.sahara/output</param>\r\n</pig>",
                        "type": "pig",
                        "trackerUri": "edp-master-001:8021",
                        "externalChildIDs": null,
                        "endTime": null,
                        "data": null,
                        "id": "0000000-131017135256789-oozie-hado-W@job-node",
                        "name": "job-node"
                    }
                ],
                "acl": null,
                "consoleUrl": "http://edp-master-001.novalocal:11000/oozie?job=0000000-131017135256789-oozie-hado-W",
                "appPath": "hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml",
                "toString": "Workflow id[0000000-131017135256789-oozie-hado-W] status[RUNNING]",
                "user": "hadoop",
                "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://edp-master-001:8020</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>edp-master-001:8021</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml</value>\r\n  </property>\r\n</configuration>",
                "parentId": null,
                "createdTime": "Thu, 17 Oct 2013 13:53:14 GMT",
                "group": null,
                "endTime": null,
                "id": "0000000-131017135256789-oozie-hado-W"
            },
            "job_id": "65afed9c-dad7-4658-9554-b7b4e1ca908f",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "start_time": "2013-10-17T17:53:14",
            "updated_at": "2013-10-17 13:53:32.227919",
            "return_code": null,
            "oozie_job_id": "0000000-131017135256789-oozie-hado-W",
            "input_id": "af7dc864-6331-4c30-80f5-63d74b667eaf",
            "end_time": null,
            "cluster_id": "eb85e8a0-510c-489f-b78e-ad1d29e957c8",
            "id": "e63bdc21-0126-4fd2-90c6-5163d16f31df",
            "progress": null,
            "job_configs": {},
            "created_at": "2013-10-17 13:51:11.671977"
        },
        {
            "output_id": "b63780f3-13d7-4286-b731-88270fb204de",
            "info": {
                "status": "PENDING"
            },
            "job_id": "65afed9c-dad7-4658-9554-b7b4e1ca908f",
            "tenant_id": "11587919cc534bcbb1027a161c82cf58",
            "start_time": null,
            "updated_at": null,
            "return_code": null,
            "oozie_job_id": null,
            "input_id": "af7dc864-6331-4c30-80f5-63d74b667eaf",
            "end_time": null,
            "cluster_id": "eb85e8a0-510c-489f-b78e-ad1d29e957c8",
            "id": "e63bdc21-0126-4fd2-90c6-5163d16f31df",
            "progress": null,
            "job_configs": {},
            "created_at": "2013-10-17 14:37:04.107096"
        }
    ]
}

This operation does not accept a request body.

GET
/v1.1/​{tenant_id}​/job-executions/​{job_execution_id}​
Show job execution details

Shows details for a specified job execution, by ID.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_execution_id URI capi:UUID

The unique identifier of the job execution.

{
    "output_id": "b63780f3-13d7-4286-b731-88270fb204de",
    "info": {
        "status": "RUNNING",
        "externalId": null,
        "run": 0,
        "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
        "appName": "job-wf",
        "lastModTime": "Thu, 17 Oct 2013 13:53:17 GMT",
        "actions": [
            {
                "status": "OK",
                "retries": 0,
                "transition": "job-node",
                "stats": null,
                "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
                "cred": "null",
                "errorMessage": null,
                "externalId": "-",
                "errorCode": null,
                "consoleUrl": "-",
                "toString": "Action name[:start:] status[OK]",
                "externalStatus": "OK",
                "conf": "",
                "type": ":START:",
                "trackerUri": "-",
                "externalChildIDs": null,
                "endTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                "data": null,
                "id": "0000000-131017135256789-oozie-hado-W@:start:",
                "name": ":start:"
            },
            {
                "status": "RUNNING",
                "retries": 0,
                "transition": null,
                "stats": null,
                "startTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                "cred": "null",
                "errorMessage": null,
                "externalId": "job_201310171352_0001",
                "errorCode": null,
                "consoleUrl": "http://edp-master-001:50030/jobdetails.jsp?jobid=job_201310171352_0001",
                "toString": "Action name[job-node] status[RUNNING]",
                "externalStatus": "RUNNING",
                "conf": "<pig xmlns=\"uri:oozie:workflow:0.2\">\r\n  <job-tracker>edp-master-001:8021</job-tracker>\r\n  <name-node>hdfs://edp-master-001:8020</name-node>\r\n  <configuration>\r\n    <property>\r\n      <name>fs.swift.service.sahara.password</name>\r\n      <value>swordfish</value>\r\n    </property>\r\n    <property>\r\n      <name>fs.swift.service.sahara.username</name>\r\n      <value>admin</value>\r\n    </property>\r\n  </configuration>\r\n  <script>example.pig</script>\r\n  <param>INPUT=swift://container.sahara/text</param>\r\n  <param>OUTPUT=swift://container.sahara/output</param>\r\n</pig>",
                "type": "pig",
                "trackerUri": "edp-master-001:8021",
                "externalChildIDs": null,
                "endTime": null,
                "data": null,
                "id": "0000000-131017135256789-oozie-hado-W@job-node",
                "name": "job-node"
            }
        ],
        "acl": null,
        "consoleUrl": "http://edp-master-001.novalocal:11000/oozie?job=0000000-131017135256789-oozie-hado-W",
        "appPath": "hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml",
        "toString": "Workflow id[0000000-131017135256789-oozie-hado-W] status[RUNNING]",
        "user": "hadoop",
        "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://edp-master-001:8020</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>edp-master-001:8021</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml</value>\r\n  </property>\r\n</configuration>",
        "parentId": null,
        "createdTime": "Thu, 17 Oct 2013 13:53:14 GMT",
        "group": null,
        "endTime": null,
        "id": "0000000-131017135256789-oozie-hado-W"
    },
    "job_id": "65afed9c-dad7-4658-9554-b7b4e1ca908f",
    "tenant_id": "11587919cc534bcbb1027a161c82cf58",
    "start_time": "2013-10-17T17:53:14",
    "updated_at": "2013-10-17 13:53:32.227919",
    "return_code": null,
    "oozie_job_id": "0000000-131017135256789-oozie-hado-W",
    "input_id": "af7dc864-6331-4c30-80f5-63d74b667eaf",
    "end_time": null,
    "cluster_id": "eb85e8a0-510c-489f-b78e-ad1d29e957c8",
    "id": "e63bdc21-0126-4fd2-90c6-5163d16f31df",
    "progress": null,
    "job_configs": {},
    "created_at": "2013-10-17 13:51:11.671977"
}

This operation does not accept a request body.

DELETE
/v1.1/​{tenant_id}​/job-executions/​{job_execution_id}​
Delete job execution

Deletes a specified job execution.

 
Normal response codes
204
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_execution_id URI capi:UUID

The unique identifier of the job execution.

This operation does not accept a request body and does not return a response body.

GET
/v1.1/​{tenant_id}​/job-executions/​{job_execution_id}​/refresh-status
Refresh job execution status

Refreshes the status of and shows information for a specified job execution.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_execution_id URI capi:UUID

The unique identifier of the job execution.

{
    "output_id": "b63780f3-13d7-4286-b731-88270fb204de",
    "info": {
        "status": "RUNNING",
        "externalId": null,
        "run": 0,
        "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
        "appName": "job-wf",
        "lastModTime": "Thu, 17 Oct 2013 13:53:17 GMT",
        "actions": [
            {
                "status": "OK",
                "retries": 0,
                "transition": "job-node",
                "stats": null,
                "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
                "cred": "null",
                "errorMessage": null,
                "externalId": "-",
                "errorCode": null,
                "consoleUrl": "-",
                "toString": "Action name[:start:] status[OK]",
                "externalStatus": "OK",
                "conf": "",
                "type": ":START:",
                "trackerUri": "-",
                "externalChildIDs": null,
                "endTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                "data": null,
                "id": "0000000-131017135256789-oozie-hado-W@:start:",
                "name": ":start:"
            },
            {
                "status": "RUNNING",
                "retries": 0,
                "transition": null,
                "stats": null,
                "startTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                "cred": "null",
                "errorMessage": null,
                "externalId": "job_201310171352_0001",
                "errorCode": null,
                "consoleUrl": "http://edp-master-001:50030/jobdetails.jsp?jobid=job_201310171352_0001",
                "toString": "Action name[job-node] status[RUNNING]",
                "externalStatus": "RUNNING",
                "conf": "<pig xmlns=\"uri:oozie:workflow:0.2\">\r\n  <job-tracker>edp-master-001:8021</job-tracker>\r\n  <name-node>hdfs://edp-master-001:8020</name-node>\r\n  <configuration>\r\n    <property>\r\n      <name>fs.swift.service.sahara.password</name>\r\n      <value>swordfish</value>\r\n    </property>\r\n    <property>\r\n      <name>fs.swift.service.sahara.username</name>\r\n      <value>admin</value>\r\n    </property>\r\n  </configuration>\r\n  <script>example.pig</script>\r\n  <param>INPUT=swift://container.sahara/text</param>\r\n  <param>OUTPUT=swift://container.sahara/output</param>\r\n</pig>",
                "type": "pig",
                "trackerUri": "edp-master-001:8021",
                "externalChildIDs": null,
                "endTime": null,
                "data": null,
                "id": "0000000-131017135256789-oozie-hado-W@job-node",
                "name": "job-node"
            }
        ],
        "acl": null,
        "consoleUrl": "http://edp-master-001.novalocal:11000/oozie?job=0000000-131017135256789-oozie-hado-W",
        "appPath": "hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml",
        "toString": "Workflow id[0000000-131017135256789-oozie-hado-W] status[RUNNING]",
        "user": "hadoop",
        "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://edp-master-001:8020</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>edp-master-001:8021</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml</value>\r\n  </property>\r\n</configuration>",
        "parentId": null,
        "createdTime": "Thu, 17 Oct 2013 13:53:14 GMT",
        "group": null,
        "endTime": null,
        "id": "0000000-131017135256789-oozie-hado-W"
    },
    "job_id": "65afed9c-dad7-4658-9554-b7b4e1ca908f",
    "tenant_id": "11587919cc534bcbb1027a161c82cf58",
    "start_time": "2013-10-17T17:53:14",
    "updated_at": "2013-10-17 13:53:32.227919",
    "return_code": null,
    "oozie_job_id": "0000000-131017135256789-oozie-hado-W",
    "input_id": "af7dc864-6331-4c30-80f5-63d74b667eaf",
    "end_time": null,
    "cluster_id": "eb85e8a0-510c-489f-b78e-ad1d29e957c8",
    "id": "e63bdc21-0126-4fd2-90c6-5163d16f31df",
    "progress": null,
    "job_configs": {},
    "created_at": "2013-10-17 13:51:11.671977"
}

This operation does not accept a request body.

GET
/v1.1/​{tenant_id}​/job-executions/​{job_execution_id}​/cancel
Cancel job execution

Cancels a specified job execution.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

job_execution_id URI capi:UUID

The unique identifier of the job execution.

{
    "output_id": "b63780f3-13d7-4286-b731-88270fb204de",
    "info": {
        "status": "KILLED",
        "externalId": null,
        "run": 0,
        "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
        "appName": "job-wf",
        "lastModTime": "Thu, 17 Oct 2013 13:53:17 GMT",
        "actions": [
            {
                "status": "OK",
                "retries": 0,
                "transition": "job-node",
                "stats": null,
                "startTime": "Thu, 17 Oct 2013 13:53:14 GMT",
                "cred": "null",
                "errorMessage": null,
                "externalId": "-",
                "errorCode": null,
                "consoleUrl": "-",
                "toString": "Action name[:start:] status[OK]",
                "externalStatus": "OK",
                "conf": "",
                "type": ":START:",
                "trackerUri": "-",
                "externalChildIDs": null,
                "endTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                "data": null,
                "id": "0000000-131017135256789-oozie-hado-W@:start:",
                "name": ":start:"
            },
            {
                "status": "RUNNING",
                "retries": 0,
                "transition": null,
                "stats": null,
                "startTime": "Thu, 17 Oct 2013 13:53:15 GMT",
                "cred": "null",
                "errorMessage": null,
                "externalId": "job_201310171352_0001",
                "errorCode": null,
                "consoleUrl": "http://edp-master-001:50030/jobdetails.jsp?jobid=job_201310171352_0001",
                "toString": "Action name[job-node] status[RUNNING]",
                "externalStatus": "RUNNING",
                "conf": "<pig xmlns=\"uri:oozie:workflow:0.2\">\r\n  <job-tracker>edp-master-001:8021</job-tracker>\r\n  <name-node>hdfs://edp-master-001:8020</name-node>\r\n  <configuration>\r\n    <property>\r\n      <name>fs.swift.service.sahara.password</name>\r\n      <value>swordfish</value>\r\n    </property>\r\n    <property>\r\n      <name>fs.swift.service.sahara.username</name>\r\n      <value>admin</value>\r\n    </property>\r\n  </configuration>\r\n  <script>example.pig</script>\r\n  <param>INPUT=swift://container.sahara/text</param>\r\n  <param>OUTPUT=swift://container.sahara/output</param>\r\n</pig>",
                "type": "pig",
                "trackerUri": "edp-master-001:8021",
                "externalChildIDs": null,
                "endTime": null,
                "data": null,
                "id": "0000000-131017135256789-oozie-hado-W@job-node",
                "name": "job-node"
            }
        ],
        "acl": null,
        "consoleUrl": "http://edp-master-001.novalocal:11000/oozie?job=0000000-131017135256789-oozie-hado-W",
        "appPath": "hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml",
        "toString": "Workflow id[0000000-131017135256789-oozie-hado-W] status[RUNNING]",
        "user": "hadoop",
        "conf": "<configuration>\r\n  <property>\r\n    <name>user.name</name>\r\n    <value>hadoop</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.use.system.libpath</name>\r\n    <value>true</value>\r\n  </property>\r\n  <property>\r\n    <name>nameNode</name>\r\n    <value>hdfs://edp-master-001:8020</value>\r\n  </property>\r\n  <property>\r\n    <name>jobTracker</name>\r\n    <value>edp-master-001:8021</value>\r\n  </property>\r\n  <property>\r\n    <name>oozie.wf.application.path</name>\r\n    <value>hdfs://edp-master-001:8020/user/hadoop/pig-job/9ceb6469-4d06-474d-995d-76fbc3b8c617/workflow.xml</value>\r\n  </property>\r\n</configuration>",
        "parentId": null,
        "createdTime": "Thu, 17 Oct 2013 13:53:14 GMT",
        "group": null,
        "endTime": null,
        "id": "0000000-131017135256789-oozie-hado-W"
    },
    "job_id": "65afed9c-dad7-4658-9554-b7b4e1ca908f",
    "tenant_id": "11587919cc534bcbb1027a161c82cf58",
    "start_time": "2013-10-17T17:53:14",
    "updated_at": "2013-10-17 13:53:32.227919",
    "return_code": null,
    "oozie_job_id": "0000000-131017135256789-oozie-hado-W",
    "input_id": "af7dc864-6331-4c30-80f5-63d74b667eaf",
    "end_time": null,
    "cluster_id": "eb85e8a0-510c-489f-b78e-ad1d29e957c8",
    "id": "e63bdc21-0126-4fd2-90c6-5163d16f31df",
    "progress": null,
    "job_configs": {},
    "created_at": "2013-10-17 13:51:11.671977"
}

This operation does not accept a request body.

Job types

Each plugin that supports EDP also supports specific job types. Different versions of a plugin might actually support different job types. Configuration options vary by plugin, version, and job type.

The job types provide information about which plugins support which job types and how to configure the job types.

GET
/v1.1/​{tenant_id}​/job-types
List job types

Lists job types filtered by specified filter parameters.

 
Normal response codes
200
Request parameters
Parameter Style Type Description
tenant_id URI capi:UUID

The unique identifier of the tenant or account.

plugin URI xsd:string

Filter results by plugin name.

version URI xsd:string

Filter results by plugin version.

type URI xsd:string

Filter results by job type.

hints URI xsd:bool

Include configuration hints in results.

{
    "job_types": [
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Hive"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Java"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "MapReduce"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "MapReduce.Streaming"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Pig"
        },
        {
            "plugins": [
                {
                    "description": "The Apache Vanilla plugin provides the ability to launch upstream Vanilla Apache Hadoop cluster without any management consoles. It can also deploy the Oozie component.",
                    "versions": {
                        "1.2.1": {},
                        "2.6.0": {}
                    },
                    "title": "Vanilla Apache Hadoop",
                    "name": "vanilla"
                },
                {
                    "description": "The Hortonworks Sahara plugin automates the deployment of the Hortonworks Data Platform (HDP) on OpenStack.",
                    "versions": {
                        "1.3.2": {},
                        "2.0.6": {}
                    },
                    "title": "Hortonworks Data Platform",
                    "name": "hdp"
                },
                {
                    "description": "The Cloudera Sahara plugin provides the ability to launch the Cloudera distribution of Apache Hadoop (CDH) with Cloudera Manager management console.",
                    "versions": {
                        "5": {},
                        "5.3.0": {}
                    },
                    "title": "Cloudera Plugin",
                    "name": "cdh"
                }
            ],
            "name": "Shell"
        },
        {
            "plugins": [
                {
                    "description": "This plugin provides an ability to launch Spark on Hadoop CDH cluster without any management consoles.",
                    "versions": {
                        "1.0.0": {}
                    },
                    "title": "Apache Spark",
                    "name": "spark"
                }
            ],
            "name": "Spark"
        }
    ]
}