heat/api-ref/source/v1/stacks.inc
huangtianhua ccdb9c9ae6 Show 'deletion_time' for stack-list/stack-show apis
We support to get the deleted stacks by filter in stack-list
api, support to show the deleted stack by stack-id,
so to show the 'deletion_time' info of stacks.

Change-Id: I8c55fe7f6a899ca66aa3fef15c93195c03c5aa11
Closes-Bug: #1587214
2016-06-20 10:23:35 +08:00

823 lines
13 KiB
ReStructuredText

.. -*- rst -*-
======
Stacks
======
Abandon stack
=============
.. rest_method:: DELETE /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/abandon
Deletes a stack but leaves its resources intact, and returns data that describes the stack and its resources.
This method can be disabled from the server side. If it is
disabled, this call throws an exception.
Normal response codes: 200
Error response codes:404,500,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Response Example
----------------
.. literalinclude:: samples/stack-abandon-response.json
:language: javascript
Show snapshot
=============
.. rest_method:: GET /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/snapshots/{snapshot_id}
Shows details for a snapshot.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
- snapshot_id: snapshot_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- name: name
- status_reason: status_reason
- creation_time: creation_time
- snapshot: snapshot
- template: template
- project_id: project_id
- data: data
- id: id
- resources: resources
Response Example
----------------
.. literalinclude:: samples/stack-show-snapshot-response.json
:language: javascript
Delete snapshot
===============
.. rest_method:: DELETE /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/snapshots/{snapshot_id}
Deletes a stack snapshot.
Error response codes:204,
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
- snapshot_id: snapshot_id
Preview stack
=============
.. rest_method:: POST /v1/{tenant_id}/stacks/preview
Previews a stack.
Normal response codes: 200
Error response codes:500,409,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- files: files
- stack_name: stack_name
- template_url: template_url
- template: template
- parameters: parameters
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: samples/stack-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- parent: parent
- disable_rollback: disable_rollback
- description: description
- links: links
- stack_name: stack_name
- timeout_mins: timeout_mins
- creation_time: creation_time
- capabilities: capabilities
- notification_topics: notification_topics
- updated_time: updated_time
- stack_owner: stack_owner
- stack: stack
- parameters: parameters
- id: id
- resources: resources
- template_description: template_description
Response Example
----------------
.. literalinclude:: samples/stack-preview-response.json
:language: javascript
Restore snapshot
================
.. rest_method:: POST /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/snapshots/{snapshot_id}/restore
Restores a stack snapshot.
You can restore only active stacks from a snapshot. You must
recreate deleted stacks.
Error response codes:202,
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
- snapshot_id: snapshot_id
List outputs
============
.. rest_method:: GET /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/outputs
Lists outputs for a stack.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- output_value: output_value
- output_error: output_error
- description: description
- output_key: output_key
Response Example
----------------
.. literalinclude:: samples/stack-outputs-list-response.json
:language: javascript
Preview stack update
====================
.. rest_method:: PUT /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/preview
Previews an update for a stack.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- files: files
- parameters: parameters
- tags: tags
- environment: environment
- template_url: template_url
- template: template
- timeout_mins: timeout_mins
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Request Example
---------------
.. literalinclude:: samples/stack-update-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: samples/stack-update-preview-response.json
:language: javascript
Find stack resources
====================
.. rest_method:: GET /v1/{tenant_id}/stacks/{stack_name}/resources
Finds the canonical URL for a resource list of a stack.
The canonical URL is returned for only non-deleted stacks. To fetch
the resource list for deleted stacks, use the following endpoint:
::
/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources
Error response codes:302,
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
Show stack details
==================
.. rest_method:: GET /v1/{tenant_id}/stacks/{stack_name}/{stack_id}
Shows details for a stack.
Normal response codes: 200
Error response codes:404,500,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- parent: parent
- updated_time: updated_time
- description: description
- links: links
- stack_status_reason: stack_status_reason
- stack_name: stack_name
- outputs: outputs
- tags: tags
- creation_time: creation_time
- capabilities: capabilities
- notification_topics: notification_topics
- timeout_mins: timeout_mins
- stack_owner: stack_owner
- stack_status: stack_status
- stack: stack
- parameters: parameters
- id: id
- stack_user_project_id: stack_user_project_id
- template_description: template_description
Response Example
----------------
.. literalinclude:: samples/stack-show-response.json
:language: javascript
Update stack
============
.. rest_method:: PUT /v1/{tenant_id}/stacks/{stack_name}/{stack_id}
Updates a stack.
Error response codes:404,202,500,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- files: files
- disable_rollback: disable_rollback
- parameters: parameters
- tags: tags
- environment: environment
- template_url: template_url
- template: template
- timeout_mins: timeout_mins
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Request Example
---------------
.. literalinclude:: samples/stack-update-request.json
:language: javascript
Delete stack
============
.. rest_method:: DELETE /v1/{tenant_id}/stacks/{stack_name}/{stack_id}
Deletes a stack and its snapshots.
Error response codes:500,404,204,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Show output
===========
.. rest_method:: GET /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/outputs/{output_key}
Shows details for a stack output.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
- output_key: output_key
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- output_value: output_value
- output_error: output_error
- description: description
- output_key: output_key
Response Example
----------------
.. literalinclude:: samples/stack-show-output-response.json
:language: javascript
List stack data
===============
.. rest_method:: GET /v1/{tenant_id}/stacks
Lists active stacks.
Normal response codes: 200
Error response codes:500,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- id: id
- status: status
- name: name
- action: action
- tenant: tenant
- username: username
- owner_id: owner_id
- limit: limit
- marker: marker
- show_deleted: show_deleted
- show_nested: show_nested
- sort_keys: sort_keys
- tags: tags
- tags_any: tags_any
- not_tags: not_tags
- not_tags_any: not_tags_any
- sort_dir: sort_dir
- global_tenant: global_tenant
- with_count: with_count
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- description: description
- links: links
- stack_status_reason: stack_status_reason
- stack_name: stack_name
- tags: tags
- creation_time: creation_time
- updated_time: updated_time
- deletion_time: deleted_at
- stack_status: stack_status
- stack_owner: owner_id
- stack_user_project_id: stack_user_project_id
- parent: parent
- id: id
Response Example
----------------
.. literalinclude:: samples/stacks-list-response.json
:language: javascript
Create stack
============
.. rest_method:: POST /v1/{tenant_id}/stacks
Creates a stack.
Error response codes:201,500,409,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- files: files
- disable_rollback: disable_rollback
- parameters: parameters
- tags: tags
- stack_name: stack_name
- environment: environment
- template_url: template_url
- template: template
- timeout_mins: timeout_mins
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: samples/stack-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- id: id
- links: links
- stack: stack
Adopt stack
===========
.. rest_method:: POST /v1/{tenant_id}/stacks
Creates a stack from existing resources.
Error response codes:201,500,409,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- files: files
- disable_rollback: disable_rollback
- parameters: parameters
- stack_name: stack_name
- adopt_stack_data: adopt_stack_data
- environment: environment
- timeout_mins: timeout_mins
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: samples/stack-adopt-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- id: id
- links: links
- stack: stack
Find stack
==========
.. rest_method:: GET /v1/{tenant_id}/stacks/{stack_name}
Finds the canonical URL for a stack.
Also works with verbs other than GET , so that you can perform PUT
and DELETE operations on a current stack. Set your client to follow
redirects. When redirecting, the request method should not change
as defined in RFC2626. However, in many clients the default
behavior is to change the method to GET when you receive a ``302``
response code because this behavior is ubiquitous in web browsers.
Error response codes:302,404,500,401,400,
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
Snapshot stack
==============
.. rest_method:: POST /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/snapshots
Takes a snapshot of all resources in a stack. All snapshots are deleted when the stack is deleted.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- name: name
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Request Example
---------------
.. literalinclude:: samples/stack-snapshot-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- name: name
- status_reason: status_reason
- creation_time: creation_time
- data: data
- id: id
Response Example
----------------
.. literalinclude:: samples/stack-snapshot-response.json
:language: javascript
List snapshots
==============
.. rest_method:: GET /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/snapshots
Lists snapshots for a stack.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- stack_name: stack_name
- tenant_id: tenant_id
- stack_id: stack_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- name: name
- status_reason: status_reason
- creation_time: creation_time
- snapshots: snapshots
- data: data
- id: id
Response Example
----------------
.. literalinclude:: samples/stack-snapshots-list-response.json
:language: javascript