Targets https://blueprints.launchpad.net/murano/+spec/environment-template Change-Id: I58248e5843b66a94acad1efaa8124336a8c428c4
16 KiB
Environment Template API
Manage environment template definitions in Murano. It is possible to create, update, delete and deploy into Openstack by translating it into an environment. In addition, applications can be added or delete to the environment template.
Environment Template Properties
Attribute | Type | Description |
---|---|---|
id | string | Unique ID |
name | string | User-friendly name |
created | datetime | Creation date and time in ISO format |
updated | datetime | Modification date and time in ISO format |
tenant_id | string | OpenStack tenant ID |
version | int | Current version |
networking | string | Network settings |
description | string | The environment template specification |
Common response codes
Code | Description |
---|---|
200 | Operation completed successfully |
401 | User is not authorized to perform the operation |
Methods for Environment Template API
List Environments Templates
Request
Method | URI | Description |
---|---|---|
GET | /templates | Get a list of existing environment templates |
Response
This call returns list of environment templates. Only the basic properties are returned.
{
"templates": [
{
"updated": "2014-05-14T13:02:54",
"networking": {},
"name": "test1",
"created": "2014-05-14T13:02:46",
"tenant_id": "726ed856965f43cc8e565bc991fa76c3",
"version": 0,
"id": "2fa5ab704749444bbeafe7991b412c33"
},
{
"updated": "2014-05-14T13:02:55",
"networking": {},
"name": "test2",
"created": "2014-05-14T13:02:51",
"tenant_id": "726ed856965f43cc8e565bc991fa76c3",
"version": 0,
"id": "744e44812da84e858946f5d817de4f72"
}
]
}
Create Environment Template
Attribute | Type | Description |
---|---|---|
name | string and '-' | | Environment template name; only alphanumeric characters |
Request
Method | URI | Description |
---|---|---|
POST | /templates | Create a new environment template |
- Content-Type
-
application/json
- Example
-
{"name": "env_temp_name"}
Response
{
"id": "ce373a477f211e187a55404a662f968",
"name": "env_temp_name",
"created": "2013-11-30T03:23:42Z",
"updated": "2013-11-30T03:23:44Z",
"tenant_id": "0849006f7ce94961b3aab4e46d6f229a",
}
Error code
Code | Description |
---|---|
200 | Operation completed successfully |
401 | User is not authorized to perform the operation |
409 | The environment template already exists |
Get Environment Templates Details -----------------------
Request
Return information about environment template itself and about applications, including to this environment template.
Method | URI | Description |
---|---|---|
GET | /templates/{env-temp-id} | Obtains the enviroment template information |
- env-temp-id - environment template ID, required
Response
- Content-Type
-
application/json
{
"updated": "2015-01-26T09:12:51",
"networking":
{
},
"name": "template_name",
"created": "2015-01-26T09:12:51",
"tenant_id": "00000000000000000000000000000001",
"version": 0,
"id": "aa9033ca7ce245fca10e38e1c8c4bbf7",
}
Error code
Code | Description |
---|---|
200 | OK. Environment Template created successfully |
401 | User is not authorized to access this session |
404 | The environment template does not exit |
Delete Environment Template
Request
Method | URI | Description |
---|---|---|
DELETE | /templates/<env-temp-id> | Delete the template id |
Parameters:
- env-temp_id - environment template ID, required
Error code
Code | Description |
---|---|
200 | OK. Environment Template created successfully |
401 | User is not authorized to access this session |
404 | The environment template does not exit |
Adding application to environment template
Request
Method | URI | Description |
---|---|---|
POST | /templates/{env-temp-id}/services | Create a new application |
Parameters:
- env-temp-id - The environment-template id, required
- payload - the service description
- Content-Type
-
application/json
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
:
{
"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"
}
Error code
Code | Description |
---|---|
200 | OK. Environment Template created successfully |
401 | User is not authorized to access this session |
404 | The environment template does not exit |
Get applications information from an environment template
Request
Method | URI | | Description |
---|---|---|
GET | /templates/{env-temp-id}/services | It obtains the service
description |
Parameters:
- env-temp-id - The environment template ID, required
- Content-Type
-
application/json
Response
[
{
"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"
}
}
]
Error code
Code | Description |
---|---|
200 | OK. Environment Template created successfully |
401 | User is not authorized to access this session |
404 | The environment template does not exit |
Create an environment from an environment template
Request
Method | URI | | Description |
---|---|---|
POST | /templates/{env-temp-id}/create- | environment| Create an environment |
Parameters:
- env-temp-id - The environment template ID, required
Payload:
- 'environment name': The environment name to be created.
- Content-Type
-
application/json
Example
{
'name': 'environment_name'
}
Response
{
"environment_id": "aa90fadfafca10e38e1c8c4bbf7",
"name": "environment_name",
"created": "2015-01-26T09:12:51",
"tenant_id": "00000000000000000000000000000001",
"version": 0,
"session_id": "adf4dadfaa9033ca7ce245fca10e38e1c8c4bbf7",
}
Error code
Code | Description |
---|---|
200 | OK. Environment template created successfully |
401 | User is not authorized to access this session |
404 | The environment template does not exit |
409 | The environment already exists |