OpenStack Application Catalog API v1

OpenStack Application Catalog API v1

Actions and Static Actions

A Murano action is a type of MuranoPL method. The differences between a regular MuranoPL method are:

  • Action is executed on deployed objects.
  • Action execution is initiated by API request: you do not have to call the method manually.

Thus, Murano actions allow performing any operations on objects, like:

  • Getting information from the VM, like a config that is generated during the deployment
  • VM rebooting
  • Scaling

A list of available actions is formed during the environment deployment. Following deployment completion, you can call the action asynchronously. Murano engine generates a task for every action thereby allowing the action status to be tracked.

POST
/environments/{environment_id}/actions/{action_id}

Execute action

Execute action on deployed environment.

Request Parameters

Name In Type Description
environment_id path string The UUID of the environment.
action_id path string The UUID of the action to be executed on the deployed environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
task_id body string The UUID of the task associated with an action executed on a deployed environment.

Response Example

{
	"task_id": "9e60318629ef47378b583825e7d282b7"
}
GET
/environments/{environment_id}/actions/{task_id}

Get Action Result

Retrieve action result for action executed on deployed environment.

Request Parameters

Name In Type Description
environment_id path string The UUID of the environment.
task_id path string The UUID of the task associated with an action executed on a deployed environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.
POST
/actions

Execute static action

Execute static action.

Static methods can be called if they are exposed by specifying Scope: Public in the MuranoPL object and the result of its execution will be returned.

Request Example

{
  "className": "ns.Bar",
  "methodName": "staticAction",
  "parameters": {"myName": "John"}
}

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Response Example

"Hello, John"

Categories

In Murano, applications can belong to a category or multiple categories. Administrative users can create and delete categories as well as list available categories and view details for a particular category.

GET
/catalog/categories

List categories

Retrieve list of all available categories in the Application Catalog.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
categories body array All categories available in the application catalog.
id body string The UUID of the category.
name body string The name of the category.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

package_count body integer The number of packages associated with the category.

Response Example

{
    "categories": [
        {
            "id": "0420045dce7445fabae7e5e61fff9e2f",
            "updated": "2014-12-26T13:57:04",
            "name": "Web",
            "created": "2014-12-26T13:57:04",
            "package_count": 1
        },
        {
            "id": "3dd486b1e26f40ac8f35416b63f52042",
            "updated": "2014-12-26T13:57:04",
            "name": "Databases",
            "created": "2014-12-26T13:57:04",
            "package_count": 0
        }
    ]
}
GET
/catalog/categories/{category_id}

Show category details

Show details for a category.

Request Parameters

Name In Type Description
category_id path string The UUID of the category.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
id body string The UUID of the category.
name body string The name of the category.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

packages body array The list of packages associated with a package. Each package returned includes its id, fully_qualified_name, and name.
package_count body integer The number of packages associated with the category.

Response Example

{
    "id": "b308f7fa8a2f4a5eb419970c827f4466",
    "updated": "2015-01-28T17:00:19",
    "packages": [
        {
            "fully_qualified_name": "io.murano.apps.ZabbixServer",
            "id": "4dfb566e69e6445fbd4aea5099fe95e9",
            "name": "Zabbix Server"
        }
    ],
    "name": "Web",
    "created": "2015-01-28T17:00:19",
    "package_count": 1
}
POST
/catalog/categories

Create Category

Add a new category to the Application Catalog.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
name body string The name of the category.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
id body string The UUID of the category.
name body string The name of the category.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

package_count body integer The number of packages associated with the category.

Response Example

{
    "id": "ce373a477f211e187a55404a662f968",
    "name": "category_name",
    "created": "2013-11-30T03:23:42Z",
    "updated": "2013-11-30T03:23:44Z",
    "package_count": 0
}
DELETE
/catalog/categories/{category_id}

Delete Category

Remove an existing category from the Application Catalog.

Request Parameters

Name In Type Description
category_id path string The UUID of the category.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Deployments

Deployments track environments that have been deployed, either successfully or otherwise. Each deployment contains the following information:

  • A “Class: Environment” object (io.murano.Environment) with a name. Each “Class: Environment” object defines an environment in terms of the deployment process and groups all Applications and their related infrastructures together.
  • An object (or objects) referring to networks that exist.
  • A list of Applications (e.g. io.murano.apps.linux.Telnet). Each Application contains, or otherwise references, anything it requires. The Telnet example has a property called instance whose contract states it must be of type io.murano.resources.Instance. In turn, the Instance has properties it requires (like a name, a flavor, or a keypair name, keyname).
GET
/deployments

List deployments

List deployments for all environments for the current tenant (project).

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
deployments body array

The list of deployments for either the current environment or all environments for the current tenant (project).

The following APIs control whether deployments by environment or by project are returned:

  • /deployments: Returns all deployments for a project.
  • /environments/{env_id}/deployments: Returns all deployments for an environment in a project.

Response Example

{
    "deployments": [
        {
            "updated": "2014-05-15T07:24:21",
            "environment_id": "744e44812da84e858946f5d817de4f72",
            "description": {
                "services": [
                    {
                        "instance": {
                            "flavor": "m1.medium",
                            "image": "cloud-fedora-v3",
                            "?": {
                                "type": "io.murano.resources.Instance",
                                "id": "ef729199-c71e-4a4c-a314-0340e279add8"
                            },
                            "name": "xkaduhv7qeg4m7"
                        },
                        "name": "teslnet1",
                        "?": {
                            "_26411a1861294160833743e45d0eaad9": {
                                "name": "Telnet"
                            },
                            "type": "io.murano.apps.linux.Telnet",
                            "id": "6e437be2-b5bc-4263-8814-6fd57d6ddbd5"
                        }
                    }
                ],
                "defaultNetworks": {
                    "environment": {
                        "name": "test2-network",
                        "?": {
                            "type": "io.murano.lib.networks.neutron.NewNetwork",
                            "id": "b6a1d515434047d5b4678a803646d556"
                        }
                    },
                    "flat": null
                },
                "name": "test2",
                "?": {
                    "type": "io.murano.Environment",
                    "id": "744e44812da84e858946f5d817de4f72"
                }
            },
            "created": "2014-05-15T07:24:21",
            "started": "2014-05-15T07:24:21",
            "finished": null,
            "state": "running",
            "id": "327c81e0e34a4c93ad9b9052ef42b752"
        }
    ]
}

Environments

An environment is a set of logically connected applications that are grouped together for easy management. By default, each environment has a single network for all its applications, and the deployment of the environment is defined in a single heat stack. Applications in different environments are always independent from one another.

An environment is a single unit of deployment. This means that you can not only deploy an environment that contains a single application but an environment that contains multiple applications.

GET
/environments

List environments

Get a list of existing Environments

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
all_tenants (Optional) query boolean Indicates whether environments from all projects are listed. True environments from all projects are listed. Admin user required. False environments only from current project are listed (default like option unspecified).

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
environments body array A list of environment object.
status body string

Current status of the environment. The available statuses are:

  • Ready to configure. When the environment is new and contains no components.
  • Ready to deploy. When the environment contains a component or multiple components and is ready for deployment.
  • Ready. When the environment has been successfully deployed.
  • Deploying. When the deploying is in progress.
  • Deploy FAILURE. When the deployment finished with errors.
  • Deleting. When deleting of an environment is in progress.
  • Delete FAILURE. You can abandon the environment in this case.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
description_text body string The description of the environment.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body int Current version.
id body string The UUID of the environment.

Response Example

{
    "environments": [
        {
            "status": "ready",
            "updated": "2014-05-14T13:02:54",
            "networking": {},
            "name": "test1",
            "created": "2014-05-14T13:02:46",
            "tenant_id": "726ed856965f43cc8e565bc991fa76c3",
            "version": 0,
            "id": "2fa5ab704749444bbeafe7991b412c33"
        },
        {
            "status": "ready",
            "updated": "2014-05-14T13:02:55",
            "networking": {},
            "name": "test2",
            "created": "2014-05-14T13:02:51",
            "tenant_id": "726ed856965f43cc8e565bc991fa76c3",
            "version": 0,
            "id": "744e44812da84e858946f5d817de4f72"
        }
    ]
}
POST
/environments

Create environment

Creates a environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
name body string A name for the environment. Name must be at least one non-white space symbol.

Request Example

{"name": "env_name"}

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
id body string The UUID of the environment.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
description_text body string The description of the environment.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body int Current version.
services body array A list of service objects.
acquired_by body string The session that is currently deploying the environment. Returns the first session id that is in DEPLOYING state for the environment.

Response Example

{
  "status": "ready",
  "updated": "2017-04-27T15:36:02",
  "created": "2017-04-27T15:36:02",
  "tenant_id": "cca37eef752244d99945a4123f30ff79",
  "acquired_by": null,
  "services": [],
  "version": 0,
  "description_text": "",
  "id": "a2977db57398401aba5804ef2211a2a3",
  "name": "env_name"
}
PUT
/environments/{env_id}

Rename environment

Renames an environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.
name path string A name for the environment. Name must be at least one non-white space symbol.

Request Example

{"name": "env_name_changed"}

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
id body string The UUID of the environment.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
description_text body string The description of the environment.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body int Current version.
services body array A list of service objects.
acquired_by body string The session that is currently deploying the environment. Returns the first session id that is in DEPLOYING state for the environment.

Response Example

{
  "status": "ready",
  "updated": "2017-04-27T16:01:29",
  "created": "2017-04-27T15:33:55",
  "tenant_id": "cca37eef752244d99945a4123f30ff79",
  "acquired_by": null,
  "services": [],
  "version": 0,
  "description_text": "",
  "id": "f199275420ff4e938e0307b0cf68374d",
  "name": "env_name_changed"
}
GET
/environments/{env_id}

Show environment details

Shows details for a environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
id body string The UUID of the environment.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
description_text body string The description of the environment.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body int Current version.
services body array A list of service objects.
acquired_by body string The session that is currently deploying the environment. Returns the first session id that is in DEPLOYING state for the environment.

Response Example

{
  "status": "ready",
  "updated": "2017-04-27T15:36:02",
  "created": "2017-04-27T15:36:02",
  "tenant_id": "cca37eef752244d99945a4123f30ff79",
  "acquired_by": null,
  "services": [
    {
        "instance": {
            "flavor": "m1.medium",
            "image": "cloud-fedora-v3",
            "name": "exgchhv6nbika2",
            "ipAddresses": [
                "10.0.0.200"
            ],
            "?": {
                "type": "io.murano.resources.Instance",
                "id": "14cce9d9-aaa1-4f09-84a9-c4bb859edaff"
            }
        },
        "name": "rewt4w56",
        "?": {
            "status": "ready",
            "_26411a1861294160833743e45d0eaad9": {
                "name": "Telnet"
            },
            "type": "io.murano.apps.linux.Telnet",
            "id": "446373ef-03b5-4925-b095-6c56568fa518"
        }
    }
  ],
  "version": 0,
  "description_text": "",
  "id": "a2977db57398401aba5804ef2211a2a3",
  "name": "env_name"
}
DELETE
/environments/{env_id}

Delete environment

Remove specified Environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.
abandon (Optional) path boolean Indicates how to delete environment. True is used when just database must be cleaned. False is used if all resources used by environment must be destroyed.

Response Parameters

This request does not return anything in the response body.

GET
/environments/{env_id}/model/{path}

Get environment model

Get an Environment model.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.
path (Optional) path string Allows to get a specific section of the model, for example defaultNetworks, region or ? or any of the subsections.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
defaultNetworks body object

The default networking information of the environment. The information includes the name of the network, along with the type and id of the network, contained in the ? property.

An example defaultNetworks object looks like:

"defaultNetworks": {
    "environment": {
        "internalNetworkName": "net_two",
        "?": {
            "type": "io.murano.resources.ExistingNeutronNetwork",
            "id": "594e94fcfe4c48ef8f9b55edb3b9f177"
        }
    },
    "flat": null
}
region body string Current region of the environment.
regions body object Detailed region information for the cloud environment.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
services body array A list of service objects.
? body object The ? section of the environment, containing information about the environment model, including its type, id and associated metadata.

Response Example

{
    "defaultNetworks": {
        "environment": {
            "internalNetworkName": "net_two",
            "?": {
                "type": "io.murano.resources.ExistingNeutronNetwork",
                "id": "594e94fcfe4c48ef8f9b55edb3b9f177"
            }
        },
        "flat": null
    },
    "region": "RegionTwo",
    "name": "new_env",
    "regions": {
        "": {
            "defaultNetworks": {
                "environment": {
                    "autoUplink": true,
                    "name": "new_env-network",
                    "externalRouterId": null,
                    "dnsNameservers": [],
                    "autogenerateSubnet": true,
                    "subnetCidr": null,
                    "openstackId": null,
                    "?": {
                        "dependencies": {
                            "onDestruction": [{
                                "subscriber": "c80e33dd67a44f489b2f04818b72f404",
                                "handler": null
                            }]
                        },
                        "type": "io.murano.resources.NeutronNetwork/[email protected]",
                        "id": "e145b50623c04a68956e3e656a0568d3",
                        "name": null
                    },
                    "regionName": "RegionOne"
                },
                "flat": null
            },
            "name": "RegionOne",
            "?": {
                "type": "io.murano.CloudRegion/[email protected]",
                "id": "c80e33dd67a44f489b2f04818b72f404",
                "name": null
            }
        },
        "RegionOne": "c80e33dd67a44f489b2f04818b72f404",
        "RegionTwo": {
            "defaultNetworks": {
                "environment": {
                    "autoUplink": true,
                    "name": "new_env-network",
                    "externalRouterId": "e449bdd5-228c-4747-a925-18cda80fbd6b",
                    "dnsNameservers": ["8.8.8.8"],
                    "autogenerateSubnet": true,
                    "subnetCidr": "10.0.198.0/24",
                    "openstackId": "00a695c1-60ff-42ec-acb9-b916165413da",
                    "?": {
                        "dependencies": {
                            "onDestruction": [{
                                "subscriber": "f8cb28d147914850978edb35eca156e1",
                                "handler": null
                            }]
                        },
                        "type": "io.murano.resources.NeutronNetwork/[email protected]",
                        "id": "72d2c13c600247c98e09e2e3c1cd9d70",
                        "name": null
                    },
                    "regionName": "RegionTwo"
                },
                "flat": null
            },
            "name": "RegionTwo",
            "?": {
                "type": "io.murano.CloudRegion/[email protected]",
                "id": "f8cb28d147914850978edb35eca156e1",
                "name": null
            }
        }
    },
    "services": [],
    "?": {
        "type": "io.murano.Environment/[email protected]",
        "_actions": {
            "f7f22c174070455c9cafc59391402bdc_deploy": {
                "enabled": true,
                "name": "deploy",
                "title": "deploy"
            }
        },
        "id": "f7f22c174070455c9cafc59391402bdc",
        "name": null
    }
}
PATCH
/environments/{env_id}/model/

Update environment model

Update an environment model.

Response Codes

Success
Code Reason
202 - Accepted Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.

Request Example

[{
  "op": "replace",
  "path": "/defaultNetworks/flat",
  "value": true
}]

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
defaultNetworks body object

The default networking information of the environment. The information includes the name of the network, along with the type and id of the network, contained in the ? property.

An example defaultNetworks object looks like:

"defaultNetworks": {
    "environment": {
        "internalNetworkName": "net_two",
        "?": {
            "type": "io.murano.resources.ExistingNeutronNetwork",
            "id": "594e94fcfe4c48ef8f9b55edb3b9f177"
        }
    },
    "flat": null
}
region body string Current region of the environment.
regions body object Detailed region information for the cloud environment.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
services body array A list of service objects.
? body object The ? section of the environment, containing information about the environment model, including its type, id and associated metadata.

Response Example

{
    "defaultNetworks": {
        "environment": {
            "internalNetworkName": "net_two",
            "?": {
                "type": "io.murano.resources.ExistingNeutronNetwork",
                "id": "594e94fcfe4c48ef8f9b55edb3b9f177"
            }
        },
        "flat": null
    },
    "region": "RegionTwo",
    "name": "new_env",
    "regions": {
        "": {
            "defaultNetworks": {
                "environment": {
                    "autoUplink": true,
                    "name": "new_env-network",
                    "externalRouterId": null,
                    "dnsNameservers": [],
                    "autogenerateSubnet": true,
                    "subnetCidr": null,
                    "openstackId": null,
                    "?": {
                        "dependencies": {
                            "onDestruction": [{
                                "subscriber": "c80e33dd67a44f489b2f04818b72f404",
                                "handler": null
                            }]
                        },
                        "type": "io.murano.resources.NeutronNetwork/[email protected]",
                        "id": "e145b50623c04a68956e3e656a0568d3",
                        "name": null
                    },
                    "regionName": "RegionOne"
                },
                "flat": null
            },
            "name": "RegionOne",
            "?": {
                "type": "io.murano.CloudRegion/[email protected]",
                "id": "c80e33dd67a44f489b2f04818b72f404",
                "name": null
            }
        },
        "RegionOne": "c80e33dd67a44f489b2f04818b72f404",
        "RegionTwo": {
            "defaultNetworks": {
                "environment": {
                    "autoUplink": true,
                    "name": "new_env-network",
                    "externalRouterId": "e449bdd5-228c-4747-a925-18cda80fbd6b",
                    "dnsNameservers": ["8.8.8.8"],
                    "autogenerateSubnet": true,
                    "subnetCidr": "10.0.198.0/24",
                    "openstackId": "00a695c1-60ff-42ec-acb9-b916165413da",
                    "?": {
                        "dependencies": {
                            "onDestruction": [{
                                "subscriber": "f8cb28d147914850978edb35eca156e1",
                                "handler": null
                            }]
                        },
                        "type": "io.murano.resources.NeutronNetwork/[email protected]",
                        "id": "72d2c13c600247c98e09e2e3c1cd9d70",
                        "name": null
                    },
                    "regionName": "RegionTwo"
                },
                "flat": null
            },
            "name": "RegionTwo",
            "?": {
                "type": "io.murano.CloudRegion/[email protected]",
                "id": "f8cb28d147914850978edb35eca156e1",
                "name": null
            }
        }
    },
    "services": [],
    "?": {
        "type": "io.murano.Environment/[email protected]",
        "_actions": {
            "f7f22c174070455c9cafc59391402bdc_deploy": {
                "enabled": true,
                "name": "deploy",
                "title": "deploy"
            }
        },
        "id": "f7f22c174070455c9cafc59391402bdc",
        "name": null
    }
}
GET
/environments/{env_id}/lastStatus

Get environment last status

Get the last status for the environment for each service in the environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
lastStatuses body object Shows the most recent status of the environment for each service in the environment. The response object includes detailed information by service_id.

Response Example

{
    "lastStatuses": {
        "66563e45-4d0a-451e-8138-7bc773b0607d": {
            "updated": "2017-03-09T07:31:51",
            "task_id": "1267d8dfcf2144f9a31f0f033defa0fd",
            "level": "info",
            "text": "Unable to install ApacheHttpServer on node-1 due to The murano-agent did not respond within 3600 seconds",
            "created": "2017-03-09T07:31:51",
            "entity_id": "66563e45-4d0a-451e-8138-7bc773b0607d",
            "entity": null,
            "details": null,
            "id": "4f93ae1f73294bf1a58cbc59fffe6238"
        }
    }
}

Packages

In Murano, each application, as well as the UI form for application data entry, is defined by packages.

Package Structure

The structure of the Murano application package is predefined. The application package root folder should contain the following:

  • manifest.yaml file is the application entry point.

    Note

    The filename is fixed, so do not use any custom names.

  • Classes folder contains MuranoPL class definitions.

  • Resources folder contaisn execution plan templates as well as the scripts folder with all the files required for an application deployment located inside it.

  • UI folder contains the dynamic UI YAML definitions.

  • logo.png file (optional) is an image file associated with your application. The logo appears in the Application Catalog within Murano Dasboard.

    Note

    There are no special limitations regarding an image filename. However, if it differs from the default logo.png, specify it in an application manifest file.

  • images.lst file (optional) contains a list of images required by an application.

Note

A bundle is a collection of packages. In the Community App Catalog, you can find such bundles as container-based-apps, app-servers, and so on. The packages in the Application Catalog are sorted by usage.

GET
/v1/catalog/packages

List Packages

Get a list of packages

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
catalog (Optional) query boolean If false (default) - search packages, that current user can edit (own for non-admin, all for admin). If true - search packages, that current user can deploy (i.e. his own + public).
marker (Optional) query string A package identifier marker may be specified. When present only packages which occur after the identifier ID will be listed
limit (Optional) query string When present the maximum number of results returned will not exceed the specified value. The typical pattern of limit and marker is to make an initial limited request and then to use the ID of the last package from the response as the marker parameter in a subsequent limited request.
order_by (Optional) query string Allows to sort packages by fqn, name, created. Created is default value.
type (Optional) query string Allows to filter package by type, e.g. application, library.
category (Optional) query string Allows to filter by categories.
fqn (Optional) query string Allows to filter by fully qualified name.
owned (Optional) query boolean Search only from packages owned by current project.
id (Optional) query string Allows to filter by package id.
include_disabled (Optional) query boolean Include disabled packages in the result.
search (Optional) query string Gives opportunity to search specified data by all the package parameters and order packages.
class_name (Optional) query string Search only for packages, that use specified class.
name (Optional) query string Allows to filter by package name.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
packages body array A list of package object.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

class_definitions body array The class_definitions of the package.
id body string The UUID of the package.
fully_qualified_name body string The fqn of the package.
is_public body boolean Whether the package is shared for other projects.
name body string The name of the package.
type body string The type of the package.
supplier body object The supplier info of the package.
description body string The description of the package.
author body string The author of the package.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

enabled body boolean Whether the package is browsed in the Application Catalog.
tags body array The tags of the package.
categories body array The categories associated with the package.
owner_id body string The owner id of the package.

Response Example

{
    "packages": [
        {
            "updated": "2017-03-30T08:35:03",
            "description": "Library of base class to develop scalable Applications with MuranoPL\n",
            "tags": [],
            "class_definitions": [
                "io.murano.applications.tests.TestPoolReplicaProvider",
                "io.murano.applications.SingleServerApplication",
                "io.murano.applications.tests.TestSoftwareComponent",
                "io.murano.applications.SoftwareComponent",
                "io.murano.applications.tests.TestEvents",
                "io.murano.applications.CloneReplicaProvider",
                "io.murano.applications.PoolReplicaProvider",
                "io.murano.applications.Event",
                "io.murano.applications.SingleServerGroup",
                "io.murano.applications.TemplateServerProvider",
                "io.murano.applications.MultiServerApplication",
                "io.murano.applications.ReplicationGroup",
                "io.murano.applications.OpenStackSecurityConfigurable",
                "io.murano.applications.Configurable",
                "io.murano.applications.tests.TestMockedServerFactory",
                "io.murano.applications.tests.TestCompositeReplicaProvider",
                "io.murano.applications.tests.TestRoundrobinReplicaProvider",
                "io.murano.applications.ServerReplicationGroup",
                "io.murano.applications.CompositeReplicaProvider",
                "io.murano.applications.tests.TestReplication",
                "io.murano.applications.CompositeServerGroup",
                "io.murano.applications.RoundrobinReplicaProvider",
                "io.murano.applications.ServerGroup",
                "io.murano.applications.ServerList",
                "io.murano.applications.Installable",
                "io.murano.applications.ReplicaProvider",
                "io.murano.applications.MultiServerApplicationWithScaling"
            ],
            "is_public": true,
            "categories": [],
            "name": "Application Development Library",
            "created": "2017-03-30T08:35:03",
            "author": "Mirantis, Inc.",
            "enabled": true,
            "id": "b0298c205235410fba047f4af8df0eb0",
            "supplier": {},
            "fully_qualified_name": "io.murano.applications",
            "type": "Library",
            "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28"
        },
        {
            "updated": "2017-03-30T08:35:07",
            "description": "Core MuranoPL library\n",
            "tags": [
                "MuranoPL"
            ],
            "class_definitions": [
                "io.murano.Exception",
                "io.murano.system.MetadefBrowser",
                "io.murano.metadata.forms.Hidden",
                "io.murano.system.NeutronSecurityGroupManager",
                "io.murano.system.AgentListener",
                "io.murano.Environment",
                "io.murano.system.SecurityGroupManager",
                "io.murano.resources.ConfLangInstance",
                "io.murano.resources.HeatSWConfigLinuxInstance",
                "io.murano.test.TestFixture",
                "io.murano.resources.MetadataAware",
                "io.murano.SharedIp",
                "io.murano.File",
                "io.murano.resources.LinuxUDInstance",
                "io.murano.configuration.Linux",
                "io.murano.resources.ExistingNeutronNetwork",
                "io.murano.resources.LinuxMuranoInstance",
                "io.murano.Object",
                "io.murano.system.Logger",
                "io.murano.metadata.engine.Synchronize",
                "io.murano.test.DummyNetwork",
                "io.murano.resources.CinderVolume",
                "io.murano.metadata.Title",
                "io.murano.Project",
                "io.murano.system.Resources",
                "io.murano.metadata.forms.Section",
                "io.murano.resources.Network",
                "io.murano.system.MistralClient",
                "io.murano.resources.CinderVolumeBackup",
                "io.murano.system.NetworkExplorer",
                "io.murano.system.DummySecurityGroupManager",
                "io.murano.resources.WindowsInstance",
                "io.murano.CloudResource",
                "io.murano.CloudRegion",
                "io.murano.system.Agent",
                "io.murano.resources.Instance",
                "io.murano.resources.Volume",
                "io.murano.system.InstanceNotifier",
                "io.murano.metadata.ModelBuilder",
                "io.murano.system.HeatStack",
                "io.murano.resources.LinuxInstance",
                "io.murano.metadata.Description",
                "io.murano.metadata.engine.Serialize",
                "io.murano.resources.ExistingCinderVolume",
                "io.murano.resources.HeatSWConfigInstance",
                "io.murano.system.StatusReporter",
                "io.murano.Application",
                "io.murano.test.TestFixtureWithEnvironment",
                "io.murano.system.AwsSecurityGroupManager",
                "io.murano.StackTrace",
                "io.murano.resources.NovaNetwork",
                "io.murano.metadata.forms.Position",
                "io.murano.metadata.HelpText",
                "io.murano.resources.NeutronNetworkBase",
                "io.murano.User",
                "io.murano.resources.InstanceAffinityGroup",
                "io.murano.resources.NeutronNetwork",
                "io.murano.resources.CinderVolumeSnapshot"
            ],
            "is_public": true,
            "categories": [],
            "name": "Core library",
            "created": "2017-03-30T08:35:07",
            "author": "murano.io",
            "enabled": true,
            "id": "5b6c8d7cd0694a7ebb7525ae62357740",
            "supplier": {},
            "fully_qualified_name": "io.murano",
            "type": "Library",
            "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28"
        }
    ]
}
POST
/v1/catalog/packages

Upload package

Upload a package to the application catalog.

Note

Though specifying categories is optional, it is recommended that you specify at least one. It helps to filter applications in the catalog.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
categories body array The categories associated with the package.
is_public body boolean Whether the package is shared for other projects.
file body object The upload package file.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

class_definitions body array The class_definitions of the package.
id body string The UUID of the package.
fully_qualified_name body string The fqn of the package.
is_public body boolean Whether the package is shared for other projects.
name body string The name of the package.
type body string The type of the package.
supplier body object The supplier info of the package.
description body string The description of the package.
author body string The author of the package.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

enabled body boolean Whether the package is browsed in the Application Catalog.
tags body array The tags of the package.
categories body array The categories associated with the package.
owner_id body string The owner id of the package.

Response Example

{
    "class_definitions": [
        "com.example.apache.ApacheHttpServer"
    ],
    "description": "The Apache HTTP Server Project is an effort to develop and maintain an\nopen-source HTTP server for modern operating systems including UNIX and\nWindows NT. The goal of this project is to provide a secure, efficient and\nextensible server that provides HTTP services in sync with the current HTTP\nstandards.\nApache httpd has been the most popular web server on the Internet since\nApril 1996, and celebrated its 17th birthday as a project this February.\n",
    "tags": [
        "HTTP",
        "Server",
        "WebServer",
        "HTML",
        "Apache"
    ],
    "updated": "2017-04-06T07:54:40",
    "is_public": false,
    "id": "10f3e349bca9432abd673319195eed2b",
    "categories": [],
    "name": "Apache HTTP Server",
    "created": "2017-04-06T07:54:40",
    "author": "Mirantis, Inc",
    "enabled": true,
    "supplier": {},
    "fully_qualified_name": "com.example.apache.ApacheHttpServer",
    "type": "Application",
    "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28"
}
GET
/v1/catalog/packages/{package_id}/download

Download package

Download a package.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
package_id path string The UUID of the package.

Response Parameters

This request does not return anything in the response body.
language:javascript
GET
/v1/catalog/packages/{package_id}

Show package details

Shows details for a package.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
package_id path string The UUID of the package.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

class_definitions body array The class_definitions of the package.
id body string The UUID of the package.
fully_qualified_name body string The fqn of the package.
is_public body boolean Whether the package is shared for other projects.
name body string The name of the package.
type body string The type of the package.
supplier body object The supplier info of the package.
description body string The description of the package.
author body string The author of the package.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

enabled body boolean Whether the package is browsed in the Application Catalog.
tags body array The tags of the package.
categories body array The categories associated with the package.
owner_id body string The owner id of the package.

Response Example

{
    "updated": "2017-04-06T08:22:11",
    "description": "The Apache HTTP Server Project is an effort to develop and maintain an\nopen-source HTTP server for modern operating systems including UNIX and\nWindows NT. The goal of this project is to provide a secure, efficient and\nextensible server that provides HTTP services in sync with the current HTTP\nstandards.\nApache httpd has been the most popular web server on the Internet since\nApril 1996, and celebrated its 17th birthday as a project this February.\n",
    "tags": [
        "HTTP",
        "Server",
        "WebServer",
        "HTML",
        "Apache"
    ],
    "class_definitions": [
        "com.example.apache.ApacheHttpServer"
    ],
    "is_public": false,
    "categories": [],
    "name": "Apache HTTP Server",
    "created": "2017-04-06T08:22:11",
    "author": "Mirantis, Inc",
    "enabled": true,
    "id": "979637f39a7245cebeabc99e6aa01666",
    "supplier": {},
    "fully_qualified_name": "com.example.apache.ApacheHttpServer",
    "type": "Application",
    "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28"
}
PATCH
/v1/catalog/packages/{package_id}

Update package

Update a package.

List of allowed changes:

{ "op": "add", "path": "/tags", "value": [ "foo", "bar" ] }
{ "op": "add", "path": "/categories", "value": [ "foo", "bar" ] }
{ "op": "remove", "path": "/tags" }
{ "op": "remove", "path": "/categories" }
{ "op": "replace", "path": "/tags", "value": ["foo", "bar"] }
{ "op": "replace", "path": "/is_public", "value": true }
{ "op": "replace", "path": "/description",
                    "value":"New description" }
{ "op": "replace", "path": "/name", "value": "New name" }

Response Codes

Success
Code Reason
202 - Accepted Request was accepted for processing, but the processing has not been completed. A ‘location’ header is included in the response which contains a link to check the progress of the request.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
package_id path string The UUID of the package.

Request Example

[
    {
        "path": "/is_public",
        "value": true,
        "op": "replace"
    }
]

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

class_definitions body array The class_definitions of the package.
id body string The UUID of the package.
fully_qualified_name body string The fqn of the package.
is_public body boolean Whether the package is shared for other projects.
name body string The name of the package.
type body string The type of the package.
supplier body object The supplier info of the package.
description body string The description of the package.
author body string The author of the package.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

enabled body boolean Whether the package is browsed in the Application Catalog.
tags body array The tags of the package.
categories body array The categories associated with the package.
owner_id body string The owner id of the package.

Response Example

{
    "updated": "2017-04-06T08:28:22",
    "description": "The Apache HTTP Server Project is an effort to develop and maintain an\nopen-source HTTP server for modern operating systems including UNIX and\nWindows NT. The goal of this project is to provide a secure, efficient and\nextensible server that provides HTTP services in sync with the current HTTP\nstandards.\nApache httpd has been the most popular web server on the Internet since\nApril 1996, and celebrated its 17th birthday as a project this February.\n",
    "tags": [
        "HTTP",
        "Server",
        "WebServer",
        "HTML",
        "Apache"
    ],
    "class_definitions": [
        "com.example.apache.ApacheHttpServer"
    ],
    "is_public": true,
    "categories": [],
    "name": "Apache HTTP Server",
    "created": "2017-04-06T08:22:11",
    "author": "Mirantis, Inc",
    "enabled": true,
    "id": "979637f39a7245cebeabc99e6aa01666",
    "supplier": {},
    "fully_qualified_name": "com.example.apache.ApacheHttpServer",
    "type": "Application",
    "owner_id": "c0f6e4cf1bfc48aba587e709b58c9f28"
}
DELETE
/v1/catalog/packages/{package_id}

Delete package

Remove specified Environment.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
package_id path string The UUID of the package.

Response Parameters

This request does not return anything in the response body.
language:javascript
GET
/v1/catalog/packages

Search for packages

Search for packages in application catalog. Non-admins, by default, can view packages that belong to their project as well as public packages: packages which belong to other projects but which have been tagged as public by an admin. Admins can search for packages across all projects.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
filters (Optional) query string

The filters that you want to use to search for packages in the application catalog. If no filters query parameter is specified, the application catalog API returns all packages allowed by the policy settings. By using filters parameter, the API returns only the requested set of packages that meet the filters. The list of filters includes:

  • limit: the maximum number of packages to return
  • type: the package type
  • id: the package id
  • category: the package category
  • tag: the package tag
  • class_name: the package class name
  • fqn: the package fully qualified name
  • name: the package name

Response Parameters

Returns the list of packages matching the search criteria.

GET
/v1/catalog/packages/{package_id}/ui

Get UI definition

Retrieve UI definition for an application.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
package_id path string The UUID of the package.

Response Parameters

Returns the entire UI definition for the package, if the logo has a UI definition.

Below is an example of a very basic UI definition:

Version: 2.2

Forms:
  - appConfiguration:
      fields:
        - name: license
          type: string
          description: Apache License, Version 2.0
          hidden: false
          required: false

Retrieve application logo.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
400 - Bad Request Some content in the request was invalid.
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
package_id path string The UUID of the package.

Response Parameters

Returns the binary logo data for the package, if the package has a logo.

Environment Configuration API

Since Murano environments are available for local modification by different users and from different locations, it’s therefore necessary to store local modifications somewhere. Thus, sessions were created to satisfy this requirement. After a user adds applications to an environment, a new session can be created. A session can be deployed only once.

Note

Multiple sessions can be opened for one environment simultaneously, but only one session can be deployed at a time. Only the first session that is deployed will be deployed, while the other ones will become invalid, no longer capable of being deploying. Once an environment is in deploying or deleting status, a new session for the environment cannot be opened.

POST
/environments/{env_id}/configure

Configure Environment / Open Session

Creates a new configuration session for environment env_id.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

environment_id body string The UUID of the environment.
state body string The current state of the environment. When a session is first opened for the environment the state is opened.
version body integer The version of the session. It is tied to the version of the environment, so that only sessions whose version matches that of the environment can be deployed.
id body string The UUID of the session.

Response Example

{
    "created": "2017-04-06T07:54:40",
    "updated": "2017-04-06T07:54:40",
    "environment_id": "744e44812da84e858946f5d817de4f72",
    "state": "opened",
    "version": 0,
    "id": "257bef44a9d848daa5b2563779714820"
 }
POST
/environments/{env_id}/sessions/{session_id}/deploy

Deploy session

Start deployment of a murano environment session.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.
session_id path string The UUID of the session.
GET
/environments/{env_id}/sessions/{session_id}

Get Session Details

Start deployment of a murano environment session.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.
session_id path string The UUID of the session.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
id body string The UUID of the session.
environment_id body string The UUID of the environment.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

user_id body string The UUID of the session owner.
version body integer The version of the session. It is tied to the version of the environment, so that only sessions whose version matches that of the environment can be deployed.
state body string The current state of the environment. When a session is first opened for the environment the state is opened.

Response Example

{
    "id": "4aecdc2178b9430cbbb8db44fb7ac384",
    "environment_id": "4dc8a2e8986fa8fa5bf24dc8a2e8986fa8",
    "created": "2013-11-30T03:23:42Z",
    "updated": "2013-11-30T03:23:54Z",
    "user_id": "d7b501094caf4daab08469663a9e1a2b",
    "version": 0,
    "state": "deploying"
}
DELETE
/environments/{env_id}/sessions/{session_id}

Delete Session

Delete the session session_id.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
403 - Forbidden Policy does not allow current user to do this operation.

Request Parameters

Name In Type Description
env_id path string The UUID of the environment.
session_id path string The UUID of the session.

Environment Templates

An environment template specifies a set of virtual resources and application information that can be deployed on top of OpenStack by translation this information into an application-ready environment. Environment templates can be customized, created, deleted and modified by users. Environment templates can be instantied as many times as the user desires. For example, the user can have different deployments from the same environment template: one for testing and another for production.

The workflow for the creation and the instantiation of the environment template is as follows:

  1. Creation of the environment template (including application information)
  2. Transformation of the environment template into the environment (creation of the environment and session and adding applications to the environment)
  3. Deployment of the environment on top of Openstack

Each environment template consists of services, which specify the application information. Each service includes information about the applications that will be installed (e.g. Tomcat), including application properties like the Tomcat port. Additional information pertaining to the virtual server may be specified, if applicable, such as keyname, flavor, image, etc.

The following is an example of an environment template:

{
   "name": "env_template_name",
   "services": [
      {
         "instance": {
            "assignFloatingIp": "true",
            "keyname": "mykeyname",
            "image": "cloud-fedora-v3",
            "flavor": "m1.medium",
            "?": {
                  "type": "io.murano.resources.LinuxMuranoInstance",
                  "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
               }
            },
         "name": "tomcat",
         "port": "8080",
         "?": {
            "type": "io.murano.apps.apache.Tomcat",
            "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
         }
      }
   ]
}
GET
/templates

List environment templates

Get a list of environment templates.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.

Request Parameters

Name In Type Description
is_public (Optional) path boolean

Indicates whether public environment templates are listed or not. The following options are possible:

  • True. Public environments templates from all projects are listed.
  • False. Private environments templates from current project are listed.
  • empty. All project templates plus public templates from all projects. are listed

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
templates body array The list of templates.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

name body string The name of the environment template. Only alphanumeric characters are allowed.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body integer The current version of the environment template.
description_text body string The enviroment template description.
is_public body boolean

Indicates whether an environment template is public or not.

  • True. The environment template is public. Can be cloned.
  • False. The environment template is private.
id body string The UUID of the environment template.

Response Example

{
    "templates": [
        {
            "updated": "2014-05-14T13:02:54",
            "networking": {},
            "name": "test1",
            "created": "2014-05-14T13:02:46",
            "tenant_id": "726ed856965f43cc8e565bc991fa76c3",
            "version": 0,
            "is_public": false,
            "description_text": "",
            "id": "2fa5ab704749444bbeafe7991b412c33"
        },
        {
            "updated": "2014-05-14T13:02:55",
            "networking": {},
            "name": "test2",
            "created": "2014-05-14T13:02:51",
            "tenant_id": "123452452345346345634563456345346",
            "version": 0,
            "is_public": true,
            "description_text": "",
            "id": "744e44812da84e858946f5d817de4f72"
        }
    ]
}
POST
/templates

Create environment template

Create an environment template.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
name body string The name of the environment template. Only alphanumeric characters are allowed.
is_public body boolean

Indicates whether an environment template is public or not.

  • True. The environment template is public. Can be cloned.
  • False. The environment template is private.

Request Example

{
    "name": "env_template_name"
}

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

name body string The name of the environment template. Only alphanumeric characters are allowed.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body integer The current version of the environment template.
description_text body string The enviroment template description.
is_public body boolean

Indicates whether an environment template is public or not.

  • True. The environment template is public. Can be cloned.
  • False. The environment template is private.
id body string The UUID of the environment template.

Response Example

{
    "updated": "2014-05-14T13:02:55",
    "networking": {},
    "name": "test2",
    "created": "2014-05-14T13:02:51",
    "tenant_id": "123452452345346345634563456345346",
    "version": 0,
    "is_public": true,
    "description_text": "",
    "id": "744e44812da84e858946f5d817de4f72"
}
GET
/templates/{env_temp_id}

Get environment template details

Get details for the environment template env_temp_id.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

name body string The name of the environment template. Only alphanumeric characters are allowed.
services body array The list of environment template service objects.
tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body integer The current version of the environment template.
description_text body string The enviroment template description.
is_public body boolean

Indicates whether an environment template is public or not.

  • True. The environment template is public. Can be cloned.
  • False. The environment template is private.
id body string The UUID of the environment template.

Response Example

{
    "updated": "2014-05-14T13:02:55",
    "networking": {},
    "name": "test2",
    "created": "2014-05-14T13:02:51",
    "tenant_id": "123452452345346345634563456345346",
    "services": [
        {
          "instance": {
            "assignFloatingIp": "true",
            "keyname": "mykeyname",
            "image": "cloud-fedora-v3",
            "flavor": "m1.medium",
            "?": {
              "type": "io.murano.resources.LinuxMuranoInstance",
              "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
            }
          },
          "name": "orion",
          "?": {
            "type": "io.murano.apps.apache.Tomcat",
            "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
          },
          "port": "8080"
        }
    ],
    "version": 0,
    "is_public": true,
    "description_text": "",
    "id": "744e44812da84e858946f5d817de4f72"
}
DELETE
/templates/{env_temp_id}

Delete environment template

Delete the environment template env_temp_id.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.
POST
/templates/{env_temp_id}/services

Add application to environment template

Create a new application for environment template env_temp_id.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.
service body object

Detailed information about the service to be added to the environment template. The service includes virtual resources and application information. The virtual resources information is specified inside the instance object property. Application information is specified inside the body of the service object.

The instance object properties include:

  • assignFloatingIp. Whether to assign a floating IP to the VM.
  • keyname. The key name of a key pair for the VM.
  • image. The image to be used to provision the VM.
  • flavor. The flavor to be used to provision the VM.
  • ?. An object which includes the type of the server.

An example instance looks like:

{
  "assignFloatingIp": "true",
  "keyname": "mykeyname",
  "image": "cloud-fedora-v3",
  "flavor": "m1.medium",
  "?": {
    "type": "io.murano.resources.LinuxMuranoInstance",
    "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
  }
}

In addition, the service should also include the following:

  • name. The name of the application.
  • ?. An object that includes the type and id of the application. An example type is: “io.murano.resources.LinuxMuranoInstance”.
  • port: The port to be used by the application. The value must be greater than 0 and less than 65536 (although formatted as a string).

The entire service looks like:

{
  "instance": {
    "assignFloatingIp": "true",
    "keyname": "mykeyname",
    "image": "cloud-fedora-v3",
    "flavor": "m1.medium",
    "?": {
      "type": "io.murano.resources.LinuxMuranoInstance",
      "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
    }
  },
  "name": "orion",
  "?": {
    "type": "io.murano.apps.apache.Tomcat",
    "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
  },
  "port": "8080"
}

Request Example

{
  "instance": {
    "assignFloatingIp": "true",
    "keyname": "mykeyname",
    "image": "cloud-fedora-v3",
    "flavor": "m1.medium",
    "?": {
      "type": "io.murano.resources.LinuxMuranoInstance",
      "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
    }
  },
  "name": "orion",
  "?": {
    "type": "io.murano.apps.apache.Tomcat",
    "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
  },
  "port": "8080"
}

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
updated body string

The date and time when the object was updated. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

tenant_id body string The UUID of the tenant. A tenant is also known as a project.
services body array The list of environment template service objects.
version body integer The current version of the environment template.
description_text body string The enviroment template description.
is_public body boolean

Indicates whether an environment template is public or not.

  • True. The environment template is public. Can be cloned.
  • False. The environment template is private.
id body string The UUID of the environment template.
name body string The name of the environment template. Only alphanumeric characters are allowed.

Response Example

{
  "updated": "2017-04-26T19:41:58",
  "created": "2017-04-26T19:33:10",
  "tenant_id": "cca37eef752244d99945a4123f30ff79",
  "services": [
    {
      "instance": {
        "assignFloatingIp": "true",
        "keyname": "mykeyname",
        "image": "cloud-fedora-v3",
        "flavor": "m1.medium",
        "?": {
          "type": "io.murano.resources.LinuxMuranoInstance",
          "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
        }
      },
      "name": "orion",
      "?": {
        "type": "io.murano.apps.apache.Tomcat",
        "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
      },
      "port": "8080"
    }
  ],
  "version": 0,
  "description_text": "",
  "is_public": false,
  "id": "64670f5ada0848408734b2985f5cbb92",
  "name": "test_application"
}
DELETE
/templates/{env_temp_id}/services/{service_id}

Delete application from an environment template

Delete an application from an environment template.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.
service_id path string The UUID of a service belonging to an environment template.
GET
/templates/{env_temp_id}/services

List application details for environment template

List all the applications for the specified environment template env_temp_id.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.

Response Parameters

  • X-Openstack-Request-Id: request_id
  • updated: updated
  • created: created
  • tenant_id: tenant_id
  • services: template_services
  • version: template_version
  • description_text: template_description
  • is_public: template_is_public
  • id: template_id
  • name: template_name

Response Example

[
  {
    "instance":
    {
      "assignFloatingIp": "true",
      "keyname": "mykeyname",
      "image": "cloud-fedora-v3",
      "flavor": "m1.medium",
      "?":
      {
        "type": "io.murano.resources.LinuxMuranoInstance",
        "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
      }
    },
    "name": "tomcat",
    "?":
    {
      "type": "io.murano.apps.apache.Tomcat",
      "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
    },
    "port": "8080"
  },
  {
    "instance": "ef984a74-29a4-45c0-b1dc-2ab9f075732e",
    "password": "XXX",
    "name": "mysql",
    "?":
    {
      "type": "io.murano.apps.database.MySQL",
      "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
    }
  }
]
PUT
/templates/{env_temp_id}/services/{service_id}

Update application for an environment template

Delete an application from an environment template.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.
service_id path string The UUID of a service belonging to an environment template.
service body object

Detailed information about the service to be added to the environment template. The service includes virtual resources and application information. The virtual resources information is specified inside the instance object property. Application information is specified inside the body of the service object.

The instance object properties include:

  • assignFloatingIp. Whether to assign a floating IP to the VM.
  • keyname. The key name of a key pair for the VM.
  • image. The image to be used to provision the VM.
  • flavor. The flavor to be used to provision the VM.
  • ?. An object which includes the type of the server.

An example instance looks like:

{
  "assignFloatingIp": "true",
  "keyname": "mykeyname",
  "image": "cloud-fedora-v3",
  "flavor": "m1.medium",
  "?": {
    "type": "io.murano.resources.LinuxMuranoInstance",
    "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
  }
}

In addition, the service should also include the following:

  • name. The name of the application.
  • ?. An object that includes the type and id of the application. An example type is: “io.murano.resources.LinuxMuranoInstance”.
  • port: The port to be used by the application. The value must be greater than 0 and less than 65536 (although formatted as a string).

The entire service looks like:

{
  "instance": {
    "assignFloatingIp": "true",
    "keyname": "mykeyname",
    "image": "cloud-fedora-v3",
    "flavor": "m1.medium",
    "?": {
      "type": "io.murano.resources.LinuxMuranoInstance",
      "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
    }
  },
  "name": "orion",
  "?": {
    "type": "io.murano.apps.apache.Tomcat",
    "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
  },
  "port": "8080"
}

Request Example

{
    "instance": {
        "assignFloatingIp": "true",
        "keyname": "mykeyname",
        "image": "cloud-fedora-v3",
        "flavor": "m1.medium",
        "?": {
            "type": "io.murano.resources.LinuxMuranoInstance",
            "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
        }
    },
    "name": "orion",
    "port": "8080",
    "?": {
        "type": "io.murano.apps.apache.Tomcat",
        "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
    }
}

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
service body object

Detailed information about the service to be added to the environment template. The service includes virtual resources and application information. The virtual resources information is specified inside the instance object property. Application information is specified inside the body of the service object.

The instance object properties include:

  • assignFloatingIp. Whether to assign a floating IP to the VM.
  • keyname. The key name of a key pair for the VM.
  • image. The image to be used to provision the VM.
  • flavor. The flavor to be used to provision the VM.
  • ?. An object which includes the type of the server.

An example instance looks like:

{
  "assignFloatingIp": "true",
  "keyname": "mykeyname",
  "image": "cloud-fedora-v3",
  "flavor": "m1.medium",
  "?": {
    "type": "io.murano.resources.LinuxMuranoInstance",
    "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
  }
}

In addition, the service should also include the following:

  • name. The name of the application.
  • ?. An object that includes the type and id of the application. An example type is: “io.murano.resources.LinuxMuranoInstance”.
  • port: The port to be used by the application. The value must be greater than 0 and less than 65536 (although formatted as a string).

The entire service looks like:

{
  "instance": {
    "assignFloatingIp": "true",
    "keyname": "mykeyname",
    "image": "cloud-fedora-v3",
    "flavor": "m1.medium",
    "?": {
      "type": "io.murano.resources.LinuxMuranoInstance",
      "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
    }
  },
  "name": "orion",
  "?": {
    "type": "io.murano.apps.apache.Tomcat",
    "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
  },
  "port": "8080"
}

Response Example

{
   "instance":
   {
       "assignFloatingIp": "true",
       "keyname": "mykeyname",
       "image": "cloud-fedora-v3",
       "flavor": "m1.medium",
       "?":
       {
           "type": "io.murano.resources.LinuxMuranoInstance",
           "id": "ef984a74-29a4-45c0-b1dc-2ab9f075732e"
       }
   },
   "name": "orion",
   "?":
   {
       "type": "io.murano.apps.apache.Tomcat",
       "id": "54cea43d-5970-4c73-b9ac-fea656f3c722"
   },
   "port": "8080"
}
GET
/templates/{env_temp_id}/create-environment

Create environment from environment template

Create an environment from the environment template env_temp_id.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.

Request Example

{
    "name": "environment_name"
}

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
environment_id body string The UUID of the environment.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body int Current version.
session_id body string The UUID of the session.

Response Example

{
    "environment_id": "aa90fadfafca10e38e1c8c4bbf7",
    "name": "environment_name",
    "created": "2015-01-26T09:12:51",
    "tenant_id": "00000000000000000000000000000001",
    "version": 0,
    "session_id": "adf4dadfaa9033ca7ce245fca10e38e1c8c4bbf7",
}
GET
/templates/{env_temp_id}/clone

Clone environment template

Clones an environment template from one tenant into another.

Response Codes

Success
Code Reason
200 - OK Request was successful.
Error
Code Reason
401 - Unauthorized User must authenticate before making a request.
404 - Not Found The requested resource could not be found.
409 - Conflict This operation conflicted with another operation on this resource.

Request Parameters

Name In Type Description
env_temp_id path string The UUID of the environment template.
name body string The name of the environment template. Only alphanumeric characters are allowed.

Request Example

{
    "name": "cloned_env_template_name"
}

Response Parameters

Name In Type Description
X-Openstack-Request-Id header UUID A unique ID for tracking service request. The request ID associated with the request by default appears in the service logs.
environment_id body string The UUID of the environment.
name body string A name for the environment. Name must be at least one non-white space symbol and less than 256 characters long.
created body string

The date and time when the resource was created. The date and time stamp format is ISO 8601:

CCYY-MM-DDThh:mm:ss±hh:mm

For example, 2015-08-27T09:49:58-05:00.

The ±hh:mm value, if included, is the time zone as an offset from UTC.

tenant_id body string The UUID of the tenant. A tenant is also known as a project.
version body int Current version.
session_id body string The UUID of the session.

Response Example

{
   "updated": "2015-01-26T09:12:51",
   "name": "cloned_env_template_name",
   "created": "2015-01-26T09:12:51",
   "tenant_id": "00000000000000000000000000000001",
   "version": 0,
   "is_public": false,
   "id": "aa9033ca7ce245fca10e38e1c8c4bbf7",
}
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.