Reviewed-by: Kucerak, Kristian <kristian.kucerak@t-systems.com> Co-authored-by: Hasko, Vladimir <vladimir.hasko@t-systems.com> Co-committed-by: Hasko, Vladimir <vladimir.hasko@t-systems.com>
25 KiB
Creating a Stack
Function
This API is used to create a stack. Heat verifies a request body and parses the template. After that, Heat invokes the API of the target component based on resource dependencies to create a resource.
Request Parameter
Parameter |
In |
Type |
Mandatory |
Description |
---|---|---|---|---|
stack_name |
body |
String |
Yes |
Specifies the stack name.
|
template |
body |
Json |
Yes |
Specifies the template. The template uses the YAML syntax for content orchestration. |
template_url |
body |
String |
No |
Specifies the template URL. You cannot select a template using the URL temporarily. |
environment |
body |
Json |
No |
Specifies the environment information for creating a stack. |
files |
body |
Json |
No |
Specifies the files referenced in the environment. |
parameters |
body |
Json |
No |
Specifies parameter information of the stack. |
timeout_mins |
body |
Int |
No |
Specifies the timeout duration. |
disable_rollback |
body |
Boolean |
No |
Specifies whether to perform a rollback when stack creation fails. |
environment structure information
Parameter |
In |
Type |
Mandatory |
Description |
---|---|---|---|---|
parameters |
body |
Json |
No |
Specifies the parameters and their values. |
parameters_defaults |
body |
Json |
No |
Specifies the parameters and their default values. |
resource_registry |
body |
Json |
No |
Specifies the custom resource information. |
Response Parameter
Parameter |
In |
Type |
Description |
---|---|---|---|
stack |
body |
Dict |
Specifies the stack object. |
stack structure information
Parameter |
In |
Type |
Description |
---|---|---|---|
id |
body |
String |
Specifies the stack UUID. |
links |
body |
List <dict> |
Specifies the stack URL list. |
Request Example
POST /v1/95d02433133a4c0a87ba6967474a2ad3/stacks { "files": {}, "disable_rollback": true, "parameters": { "flavor": "m1.heat" }, "environment": { "parameters": { "flavor": "m1.heat" }, "parameter_defaults": { "flavor": "m1.heat" }, "resource_registry": { "OS::Networking::FloatingIP": "OS::Nova::FloatingIP" } }, "stack_name": "teststack", "template": { "heat_template_version": "2013-05-23", "description": "Simple template to test heat commands", "parameters": { "flavor": { "default": "m1.tiny", "type": "string" } }, "resources": { "hello_world": { "type": "OS::Nova::Server", "properties": { "key_name": "heat_key", "flavor": { "get_param": "flavor" }, "image": "40be8d1a-3eb9-40de-8abd-43237517384f", "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" } } } }, "timeout_mins": 60 }
Response Example
{ "stack": { "id": "c89c4bb3-96cb-4a55-aafa-076a7939a306", "links": [ { "href": "http://x.x.x.x:8004/v1/95d02433133a4c0a87ba6967474a2ad3/stacks/HeatStack/c89c4bb3-96cb-4a55-aafa-076a7939a306", "rel": "self" } ] } }
Return Code
Return Code |
Type |
Description |
---|---|---|
201 |
Created |
The resource has been created and is ready for use. |
Return Code |
Type |
Description |
---|---|---|
400 |
Bad Request |
The server failed to process the request. |
401 |
Unauthorized |
Authorization failed. |
409 |
Conflict |
The request could not be processed due to a conflict. |