Merge "Environment Template API documentation Targets https://blueprints.launchpad.net/murano/+spec/environment-template"
This commit is contained in:
commit
a7a8d5aa8e
@ -59,4 +59,5 @@ General information
|
||||
|
||||
.. include:: murano-api.rst
|
||||
.. include:: murano-repository.rst
|
||||
.. include:: murano-env-temp.rst
|
||||
|
||||
|
@ -41,6 +41,13 @@ Glossary
|
||||
|
||||
A .zip archive, containing instructions for an application deployment.
|
||||
|
||||
* **Environment-Template**
|
||||
The Environment template is the specification of a set of applications managed by a single tenant, which are
|
||||
related each other. The environment template is stored in a environment template catalogue, and it can be
|
||||
managed by the user (creation, deletion, updating...). Finally, it can be deployed on Openstack by translating
|
||||
into an environment.
|
||||
|
||||
|
||||
Environment API
|
||||
===============
|
||||
|
||||
@ -641,17 +648,6 @@ Created application returned
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+----------------+-----------------------------------------------------------+
|
||||
| Code | Description |
|
||||
+================+===========================================================+
|
||||
| 200 | Deployments information received successfully |
|
||||
+----------------+-----------------------------------------------------------+
|
||||
| 400 | Application package was considered invalid |
|
||||
+----------------+-----------------------------------------------------------+
|
||||
| 409 | Package with specified FQPN already exists |
|
||||
+----------------+-----------------------------------------------------------+
|
||||
|
||||
Delete application from environment
|
||||
-----------------------------------
|
||||
|
||||
@ -817,3 +813,4 @@ General Request Statistics
|
||||
"average_response_time": 0.55942
|
||||
}
|
||||
]
|
||||
|
||||
|
428
doc/source/specification/murano-env-temp.rst
Normal file
428
doc/source/specification/murano-env-temp.rst
Normal file
@ -0,0 +1,428 @@
|
||||
..
|
||||
Copyright 2015 Telefonica I+D, Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
not use this file except in compliance with the License. You may obtain
|
||||
a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations
|
||||
under the License.
|
||||
|
||||
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 | Environment template name; only alphanumeric characters |
|
||||
| | and '-' | |
|
||||
+----------------------+------------+---------------------------------------------------------+
|
||||
|
||||
*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 |
|
||||
+----------------+-----------------------------------------------------------+
|
Loading…
Reference in New Issue
Block a user