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>
35 KiB
Previewing a Stack
Function
This API is used to preview a stack.
Request Parameter
Parameter |
In |
Type |
Mandatory |
Description |
---|---|---|---|---|
stack_name |
body |
String |
Yes |
Specifies the stack name.
|
template_url |
body |
String |
No |
Specifies the template URL. You cannot select a template using the URL temporarily. |
template |
body |
Dict |
Yes |
Specifies the template. The template content must use the YAML syntax. |
files |
body |
Dict |
No |
Specifies the files referenced in the environment. |
disable_rollback |
body |
Boolean |
No |
Specifies whether to perform a rollback when stack creation fails. |
parameters |
body |
Dict |
No |
Specifies parameter information of the stack. |
Response Parameter
Parameter |
In |
Type |
Description |
---|---|---|---|
stack |
body |
Dict |
Specifies the stack object. |
stack structure information
Parameter |
In |
Type |
Description |
---|---|---|---|
parent |
body |
String |
Specifies the UUID of the parent stack (for a nested stack). |
id |
body |
String |
Specifies the stack UUID. |
links |
body |
List <dict> |
Specifies the stack URL list. |
stack_name |
body |
String |
Specifies the stack name. |
description |
body |
String |
Describes the stack. |
template_description |
body |
String |
Describes the template defined by the stack. |
timeout_mins |
body |
Int |
Specifies the timeout duration. |
disable_rollback |
body |
Boolean |
Specifies whether to perform a rollback when stack creation fails. |
capabilities |
body |
List |
Specifies the list of stack capacities. |
creation_time |
body |
Date Time |
Specifies the time when the stack was created. |
notification_topics |
body |
List |
Specifies the message notification list of the stack. |
updated_time |
body |
Date Time |
Specifies the last time when the stack was updated. |
stack_owner |
body |
Sting |
Specifies the name of the stack owner. |
parameters |
body |
Dict |
Specifies parameters defined by the stack. |
resources |
body |
List <dict> |
Specifies the stack resource list. |
Request Example
POST /v1/95d02433133a4c0a87ba6967474a2ad3/stacks/preview { "files": {}, "disable_rollback": true, "parameters": { "flavor": "m1.heat" }, "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": { "capabilities": [], "creation_time": "2015-01-31T15:12:36Z", "description": "HOT template for Nova Server resource.\n", "disable_rollback": true, "id": "None", "links": [ { "href": "http://x.x.x.x:8004/v1/6e18cc2bdbeb48a5basad2dc499f6804/stacks/test_stack/None", "rel": "self" } ], "notification_topics": [], "parameters": { "OS::project_id": "6e18cc2bdbeb48a5basad2dc499f6804", "OS::stack_id": "None", "OS::stack_name": "teststack", "admin_user": "cloud-user", "flavor": "m1.small", "image": "F20-cfg", "key_name": "heat_key", "server_name": "MyServer" }, "parent": null, "resources": [ { "attributes": {}, "description": "", "metadata": {}, "physical_resource_id": "", "properties": { "description": "Ping and SSH", "name": "the_sg", "rules": [ { "direction": "ingress", "ethertype": "IPv4", "port_range_max": null, "port_range_min": null, "protocol": "icmp", "remote_group_id": null, "remote_ip_prefix": null, "remote_mode": "remote_ip_prefix" }, { "direction": "ingress", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1, "protocol": "tcp", "remote_group_id": null, "remote_ip_prefix": null, "remote_mode": "remote_ip_prefix" }, { "direction": "ingress", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1, "protocol": "udp", "remote_group_id": null, "remote_ip_prefix": null, "remote_mode": "remote_ip_prefix" } ] }, "required_by": [ "server1" ], "resource_action": "INIT", "resource_identity": { "path": "/resources/the_sg_res", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a5b3cad2dc499f6804" }, "resource_name": "the_sg_res", "resource_status": "COMPLETE", "resource_status_reason": "", "resource_type": "OS::Neutron::SecurityGroup", "stack_identity": { "path": "", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a5b3cad2dc499f6804" }, "stack_name": "teststack", "updated_time": "2015-01-31T15:12:36Z" }, { "attributes": { "accessIPv4": "", "accessIPv6": "", "addresses": "", "console_urls": "", "first_address": "", "instance_name": "", "name": "MyServer", "networks": "", "show": "" }, "description": "", "metadata": {}, "physical_resource_id": "", "properties": { "admin_pass": null, "admin_user": "cloud-user", "availability_zone": null, "block_device_mapping": null, "config_drive": null, "diskConfig": null, "flavor": "m1.small", "flavor_update_policy": "RESIZE", "image": "F20-cfg", "image_update_policy": "REPLACE", "key_name": "heat_key", "metadata": { "ha_stack": "None" }, "name": "MyServer", "networks": [ { "fixed_ip": null, "network": "private", "port": null, "uuid": null } ], "personality": {}, "reservation_id": null, "scheduler_hints": null, "security_groups": [ "None" ], "software_config_transport": "POLL_SERVER_CFN", "user_data": "", "user_data_format": "HEAT_CFNTOOLS" }, "required_by": [], "resource_action": "INIT", "resource_identity": { "path": "/resources/hello_world", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a3433cad2dc499sdf32234" }, "resource_name": "hello_world", "resource_status": "COMPLETE", "resource_status_reason": "", "resource_type": "OS::Nova::Server", "stack_identity": { "path": "", "stack_id": "None", "stack_name": "teststack", "tenant": "6e18cc2bdbeb48a3433cad2dc499sdf32234" }, "stack_name": "teststack", "updated_time": "2015-01-31T15:12:36Z" } ], "stack_name": "test_stack", "stack_owner": "admin", "template_description": "HOT template for Nova Server resource.\n", "timeout_mins": null, "updated_time": null } }
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. |
500 |
Internal Server Error |
Failed to complete the request because of an internal service error. |