Orchestration Support

Support for orchestration is provided by the following:

Orchestration Templates ===

Management of orchestration templates is provided with the following collection:

/api/orchestration_templates

Full CRUD actions on orchestration templates is available:

Querying Orchestration Templates

Querying all orchestration templates in the system:

GET /api/orchestration_templates

Getting details on a specific orchestration template:

GET /api/orchestration_templates/:id

Creating Orchestration Templates

Orchestration templates can be created via a POST to the orchestration templates collection or via the create action signature which also allows creation of multiple orchestration templates in a single request.

POST /api/orchestration_templates
{
  "name" : "azure-single-vm-from-user-image",
  "type" : "OrchestrationTemplateAzure",
  "description" : "Create a single VM from a user image",
  "content" : " ... ",
  "orderable" : true,
  ...
}

or creating multiple orchestration templates:

{
  "action" : "create",
  "resources" : [
    { "description" : "sample_orchestration_template1", ... },
    { "description" : "sample_orchestration_template2", ... },
    ...
  ]
}

Note:

Please refer to the Resource Attributes page for a list of available attributes when creating orchestration templates.

Editing Orchestration Templates

POST /api/orchestration_templates/:id
{
  "action" : "edit",
  "resource" : {
    "description" : "updated_sample_orchestration_template",
  }
}

or editing multiple orchestration templates:

POST /api/orchestration_templates
{
  "action" : "edit",
  "resources" : [
    {
      "href" : "http://localhost:3000/api/orchestration_templates/101",
      "description" : "updated_sample_orchestration_template1"
    },
    {
      "href" : "http://localhost:3000/api/orchestration_templates/102",
      "description" : "updated_sample_orchestration_template2"
    },
    ...
  ]
}

Copying Orchestration Templates

This capability allows orchestration templates to be copied onto new orchestration templates with updated content via the copy action as follows:

POST /api/orchestration_templates/:id
{
  "action" : "copy",
  "resource" : {
    "content" : "{ 'Description' : 'Copied Test Content' }"
  }
}

or copying multiple orchestration templates:

POST /api/orchestration_templates
{
  "action" : "copy",
  "resources" : [
    {
      "href" : "http://localhost:3000/api/orchestration_templates/101",
      "content" : "{ 'Description' : 'Copied Test Content 1' }"
    },
    {
      "href" : "http://localhost:3000/api/orchestration_templates/102",
      "content" : "{ 'Description' : 'Copied Test Content 2' }"
    },
    ...
  ]
}

Deleting Orchestration Templates

Orchestration templates can be deleted via either the delete POST action or via the DELETE HTTP method.

POST /api/orchestration_templates/101
{
  "action" : "delete"
}

or simply:

DELETE /api/orchestration_templates/101

Deleting multiple orchestration templates can be done as follows:

POST /api/orchestration_templates
{
  "action" : "delete",
  "resources" : [
    { "href" : "http://localhost:3000/api/orchestration_templates/101" },
    { "href" : "http://localhost:3000/api/orchestration_templates/102" },
    ...
  ]
}