A Murano action is a type of MuranoPL method. The differences between a regular MuranoPL method are:
Thus, Murano actions allow performing any operations on objects, like:
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.
Execute action on deployed environment.
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. |
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
{
"task_id": "9e60318629ef47378b583825e7d282b7"
}
Retrieve action result for action executed on deployed environment.
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. |
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.
{
"className": "ns.Bar",
"methodName": "staticAction",
"parameters": {"myName": "John"}
}
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
"Hello, John"
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.
Retrieve list of all available categories in the Application Catalog.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
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, The |
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, The |
package_count | body | integer | The number of packages associated with the category. |
{
"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
}
]
}
Show details for a category.
Name | In | Type | Description |
---|---|---|---|
category_id | path | string | The UUID of the category. |
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
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, The |
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, The |
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. |
{
"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
}
Add a new category to the Application Catalog.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
Name | In | Type | Description |
---|---|---|---|
name | body | string | The name of the category. |
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, The |
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, The |
package_count | body | integer | The number of packages associated with the category. |
{
"id": "ce373a477f211e187a55404a662f968",
"name": "category_name",
"created": "2013-11-30T03:23:42Z",
"updated": "2013-11-30T03:23:44Z",
"package_count": 0
}
Remove an existing category from the Application Catalog.
Name | In | Type | Description |
---|---|---|---|
category_id | path | string | The UUID of the category. |
Deployments track environments that have been deployed, either successfully or otherwise. Each deployment contains the following information:
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
).List deployments for all environments for the current tenant (project).
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
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": [
{
"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"
}
]
}
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 a list of existing Environments
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
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). |
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:
|
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, The |
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, The |
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. |
{
"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"
}
]
}
Creates a environment.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
name | body | string | A name for the environment. Name must be at least one non-white space symbol. |
{"name": "env_name"}
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, The |
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, The |
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. |
{
"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"
}
Renames an environment.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
{"name": "env_name_changed"}
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, The |
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, The |
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. |
{
"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"
}
Shows details for a environment.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
env_id | path | string | The UUID of the environment. |
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, The |
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, The |
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. |
{
"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"
}
Remove specified Environment.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
This request does not return anything in the response body.
Get an Environment model.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
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 An example "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 . |
{
"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
}
}
Update an environment model.
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. |
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. |
Name | In | Type | Description |
---|---|---|---|
env_id | path | string | The UUID of the environment. |
[{
"op": "replace",
"path": "/defaultNetworks/flat",
"value": true
}]
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 An example "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 . |
{
"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 the last status for the environment for each service in the environment.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
env_id | path | string | The UUID of the environment. |
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 . |
{
"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"
}
}
}
In Murano, each application, as well as the UI form for application data entry, is defined by packages.
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 a list of packages
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
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, The |
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, The |
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. |
{
"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"
}
]
}
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.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
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, The |
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, The |
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. |
{
"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"
}
Download a package.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
package_id | path | string | The UUID of the package. |
language: | javascript |
---|
Shows details for a package.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
package_id | path | string | The UUID of the package. |
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, The |
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, The |
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. |
{
"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"
}
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" }
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. |
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. |
Name | In | Type | Description |
---|---|---|---|
package_id | path | string | The UUID of the package. |
[
{
"path": "/is_public",
"value": true,
"op": "replace"
}
]
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, The |
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, The |
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. |
{
"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"
}
Remove specified Environment.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
package_id | path | string | The UUID of the package. |
language: | javascript |
---|
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.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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:
|
Returns the list of packages matching the search criteria.
Retrieve UI definition for an application.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
package_id | path | string | The UUID of the package. |
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.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
Name | In | Type | Description |
---|---|---|---|
package_id | path | string | The UUID of the package. |
Returns the binary logo data for the package, if the package has a logo.
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.
Creates a new configuration session for environment env_id
.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Name | In | Type | Description |
---|---|---|---|
env_id | path | string | The UUID of the environment. |
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, The |
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, The |
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. |
{
"created": "2017-04-06T07:54:40",
"updated": "2017-04-06T07:54:40",
"environment_id": "744e44812da84e858946f5d817de4f72",
"state": "opened",
"version": 0,
"id": "257bef44a9d848daa5b2563779714820"
}
Start deployment of a murano environment session.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Name | In | Type | Description |
---|---|---|---|
env_id | path | string | The UUID of the environment. |
session_id | path | string | The UUID of the session. |
Start deployment of a murano environment session.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Name | In | Type | Description |
---|---|---|---|
env_id | path | string | The UUID of the environment. |
session_id | path | string | The UUID of the session. |
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, The |
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, The |
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 . |
{
"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 the session session_id
.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
403 - Forbidden |
Policy does not allow current user to do this operation. |
Name | In | Type | Description |
---|---|---|---|
env_id | path | string | The UUID of the environment. |
session_id | path | string | The UUID of the session. |
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:
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 a list of environment templates.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
Name | In | Type | Description |
---|---|---|---|
is_public (Optional) | path | boolean | Indicates whether public environment templates are listed or not. The following options are possible:
|
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, The |
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, The |
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.
|
id | body | string | The UUID of the environment template. |
{
"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"
}
]
}
Create an environment template.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
409 - Conflict |
This operation conflicted with another operation on this resource. |
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.
|
{
"name": "env_template_name"
}
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, The |
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, The |
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.
|
id | body | string | The UUID of the environment template. |
{
"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 details for the environment template env_temp_id
.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
Name | In | Type | Description |
---|---|---|---|
env_temp_id | path | string | The UUID of the environment template. |
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, The |
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, The |
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.
|
id | body | string | The UUID of the environment template. |
{
"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 the environment template env_temp_id
.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
Name | In | Type | Description |
---|---|---|---|
env_temp_id | path | string | The UUID of the environment template. |
Create a new application for environment template env_temp_id
.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
Name | In | Type | Description |
---|---|---|---|
env_temp_id | path | string | The UUID of the environment template. |
service | body | object | Detailed information about the The
An example {
"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
The entire {
"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"
}
|
{
"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"
}
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, The |
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, The |
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.
|
id | body | string | The UUID of the environment template. |
name | body | string | The name of the environment template. Only alphanumeric characters are allowed. |
{
"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 an application from an environment template.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
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. |
List all the applications for the specified environment template
env_temp_id
.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
Name | In | Type | Description |
---|---|---|---|
env_temp_id | path | string | The UUID of the environment template. |
- 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
[
{
"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"
}
}
]
Delete an application from an environment template.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
Code | Reason |
---|---|
401 - Unauthorized |
User must authenticate before making a request. |
404 - Not Found |
The requested resource could not be found. |
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 The
An example {
"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
The entire {
"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"
}
|
{
"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"
}
}
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 The
An example {
"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
The entire {
"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"
}
|
{
"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"
}
Create an environment from the environment template env_temp_id
.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
{
"name": "environment_name"
}
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, The |
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. |
{
"environment_id": "aa90fadfafca10e38e1c8c4bbf7",
"name": "environment_name",
"created": "2015-01-26T09:12:51",
"tenant_id": "00000000000000000000000000000001",
"version": 0,
"session_id": "adf4dadfaa9033ca7ce245fca10e38e1c8c4bbf7",
}
Clones an environment template from one tenant into another.
Code | Reason |
---|---|
200 - OK |
Request was successful. |
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. |
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. |
{
"name": "cloned_env_template_name"
}
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, The |
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. |
{
"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",
}
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.