api-ref doc for stack (1)

This patch, as a first step, fixes inaccuracies/bugs in api-ref
documentation for stacks. The major changes in this patch include:

- Added missing 'location' and 'X-OpenStack-Request-Id' parameters
  which both appear in some response headers.
- Deleted some descriptions about parameters that are never
  referenced in any APIs.
- Added missing 'deletion_time' parameter.
- Added missing 'environment_files' parameter.
- Added missing sample JSON file for stack-create-response.json.
- Fixed errors in stack-preview-response.json.
- Added tabular description of response codes.
- Added a status.yaml file for response code description (shared).

Change-Id: I826ed899f925812df9b44144469700453789e087
This commit is contained in:
tengqm 2016-08-18 05:01:01 -04:00
parent 77927765a9
commit fa39e4b1fd
4 changed files with 238 additions and 407 deletions

View File

@ -1,4 +1,18 @@
# variables in header # variables in header
location:
type: string
in: header
required: True
description: |
For asynchronous resource operations, the ``location`` header contains a
URI that can be checked to track resource status changes.
request_id:
type: UUID
in: header
description: |
A unique ID for tracking service request. The request ID associated
with the request by default appears in the service logs.
# variables in path # variables in path
config_id_url: config_id_url:
@ -45,13 +59,13 @@ snapshot_id:
in: path in: path
required: false required: false
type: string type: string
stack_id: stack_id_url:
description: | description: |
The UUID of the stack. The UUID of the stack.
in: path in: path
required: false required: false
type: string type: string
stack_name: stack_name_url:
description: | description: |
The name of a stack. The name of a stack.
in: path in: path
@ -66,9 +80,9 @@ template_version:
tenant_id: tenant_id:
description: | description: |
The UUID of the tenant. A tenant is also known as The UUID of the tenant. A tenant is also known as
an account or project. a project.
in: path in: path
required: false required: True
type: string type: string
type_name: type_name:
description: | description: |
@ -355,8 +369,7 @@ ParameterGroups:
type: array type: array
Parameters: Parameters:
description: | description: |
Key and value pairs that contain template Key and value pairs that contain template parameters.
parameters.
in: body in: body
required: true required: true
type: object type: object
@ -474,100 +487,8 @@ created_at:
type: string type: string
creation_time: creation_time:
description: | description: |
The date and time when the stack resource was created. The date and time when the resource was created. The date and time stamp
format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
creation_time_1:
description: |
The date and time when the software was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
creation_time_2:
description: |
The date and time when the resource was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
creation_time_3:
description: |
The date and time when the snapshot was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
creation_time_4:
description: |
The date and time when the software was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2016-03-30T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
in: body
required: true
type: string
creation_time_5:
description: |
The date and time when the stack was created.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
:: ::
@ -604,6 +525,21 @@ deleted_at:
in: body in: body
required: true required: true
type: string type: string
deletion_time:
description: |
The date and time when the resource was (soft-) deleted. The date and time
stamp format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset from UTC.
in: body
required: true
type: string
deployment_action: deployment_action:
description: | description: |
The stack action that triggers this deployment resource. The stack action that triggers this deployment resource.
@ -672,73 +608,18 @@ deployment_updated_time:
type: string type: string
description: description:
description: | description: |
The description of the stack resource. The description of the resource.
in: body
required: true
type: string
description_1:
description: |
The description of the resource attribute.
in: body
required: true
type: string
description_2:
description: |
The description of a stack output.
in: body
required: true
type: string
description_3:
description: |
The description of the active stack.
in: body
required: true
type: string
description_4:
description: |
A description of the stack.
in: body
required: true
type: string
description_5:
description: |
The description of the stack.
in: body
required: true
type: string
description_6:
description: |
The description of the stack template.
in: body in: body
required: true required: true
type: string type: string
disable_rollback: disable_rollback:
description: | description: |
Enables or disables deletion of all stack Enables or disables deletion of all stack resources when stack creation
resources when stack creation fails. Set to ``true`` to keep all fails. Set to ``true`` to keep all resources when stack creation fails.
resources when stack creation fails. Set to ``false`` to delete Set to ``false`` to delete all resources when stack creation fails.
all resources when stack creation fails. Default is ``true``.
in: body in: body
required: false required: false
type: boolean default: True
disable_rollback_1:
description: |
Enables or disables deletion of all previously-
created stack resources when stack creation fails. Set to ``true``
to keep all previously-created stack resources when stack creation
fails. Set to ``false`` to delete all previously-created stack
resources when stack creation fails. Default is ``true``.
in: body
required: false
type: boolean
disable_rollback_2:
description: |
Enables or disables stack rollback when stack
creation fails. Set to ``true`` to rollback the stack when stack
creation fails. Set to ``false`` to disable stack rollback when
stack creation fails. Default is ``true``.
in: body
required: true
type: boolean type: boolean
engine_id: engine_id:
description: | description: |
@ -752,6 +633,12 @@ environment:
in: body in: body
required: false required: false
type: object type: object
environment_files:
description: |
An ordered list of names for environment files found in the ``files`` dict.
in: body
required: false
type: object
files: files:
description: | description: |
Supplies the contents of files referenced in the template or the Supplies the contents of files referenced in the template or the
@ -859,12 +746,6 @@ id_3:
in: body in: body
required: true required: true
type: string type: string
id_5:
description: |
The UUID of the stack.
in: body
required: true
type: string
input_values: input_values:
description: | description: |
A dict comprises of input data as key-value pairs. A dict comprises of input data as key-value pairs.
@ -886,17 +767,10 @@ inputs_1:
type: array type: array
links: links:
description: | description: |
A list of URLs for the stack. Each URL is a JSON A list of URLs for the stack. Each URL is a JSON object with an ``href``
object with an ``href`` key indicating the URL and a ``rel`` key key indicating the URL and a ``rel`` key indicating its relationship to
indicating its relationship to the stack in question. There may be the stack in question. There may be multiple links returned. The ``self``
multiple links returned. The ``self`` relationship identifies the relationship identifies the URL of the stack itself.
URL of the stack itself.
in: body
required: true
type: array
links_1:
description: |
A list of stack links.
in: body in: body
required: true required: true
type: array type: array
@ -975,12 +849,6 @@ outputs_1:
in: body in: body
required: true required: true
type: array type: array
outputs_2:
description: |
A list of stack outputs.
in: body
required: true
type: array
outputs_3: outputs_3:
description: | description: |
Key and value pairs that contain output data. Key and value pairs that contain output data.
@ -1064,72 +932,9 @@ parameters:
in: body in: body
required: false required: false
type: object type: object
parameters_1:
description: |
Key and value pairs that contain stack
parameters.
in: body
required: true
type: object
parameters_2:
description: |
Key and value pairs that contain template
parameters.
in: body
required: true
type: object
parameters_3:
description: "Supplies updated arguments for parameters that are defined in the\n\
stack template.\n\nThe value is a JSON object, where each key is the name of a\n\
parameter defined in the template and the associated value is the\nargument to\
\ use for that parameter when instantiating the template.\nThe following code\
\ shows the general structure of this parameter.\nIn the example, ``a`` and ``b``\
\ are the names of two parameters\ndefined in the template.\n\n.. code-block::\
\ json\n\n { ...\n \"parameters\": {\n \
\ \"a\": \"Value\",\n \"b\": \"3\"\n \
\ }\n ... }\n \n\
\nWhile the service accepts JSON numbers for parameters with the type\n``number``\
\ and JSON objects for parameters with the type ``json``,\nall parameter values\
\ are converted to their string representation\nfor storage in the created Stack.\
\ Clients are encouraged to send\nall parameter values using their string representation\
\ for\nconsistency between requests and responses from the Orchestration\nservice.\n\
\nYou must specify a value for each template parameter that does not\nhave a default\
\ value. However, this parameter cannot contain JSON\nproperties with names that\
\ do not match a parameter that is defined\nin the template.\n"
in: body
required: false
type: object
parameters_4:
description: "This parameter supplies updated arguments for parameters defined in\n\
the stack template.\n\nThe value is a JSON object, where each key is the name\
\ of a\nparameter defined in the template and the associated value is the\nargument\
\ to use for that parameter when instantiating the template.\nThe following code\
\ shows the general structure of this parameter.\nIn the example, ``a`` and ``b``\
\ are the names of two parameters\ndefined in the template.\n\n.. code-block::\
\ json\n\n { ...\n \"parameters\": {\n \
\ \"a\": \"Value\",\n \"b\": \"3\"\n \
\ }\n ... }\n \n\nWhile\
\ the service accepts JSON numbers for parameters with the type\n``number`` and\
\ JSON objects for parameters with the type ``json``,\nall parameter values are\
\ converted to their string representation\nfor storage in the created Stack.\
\ Clients are encouraged to send\nall parameter values using their string representation\
\ for\nconsistency between requests and responses from the Orchestration\nservice.\n\
\nYou must specify a value for each template parameter that does not\nhave a default\
\ value. However, this parameter cannot contain JSON\nproperties with names that\
\ do not match a parameter that is defined\nin the template.\n"
in: body
required: false
type: object
parent: parent:
description: | description: |
The stack ID of the parent stack, if this is a The stack ID of the parent stack, if this is a nested stack.
nested stack.
in: body
required: true
type: string
parent_1:
description: |
The parent of the stack.
in: body in: body
required: true required: true
type: string type: string
@ -1215,12 +1020,6 @@ resources:
in: body in: body
required: true required: true
type: array type: array
resources_1:
description: |
List of stack resources.
in: body
required: true
type: array
resources_2: resources_2:
description: | description: |
The snapshot resources. The snapshot resources.
@ -1297,45 +1096,52 @@ stack:
in: body in: body
required: true required: true
type: object type: object
stack_name_1: stack_id:
description: | description: |
A name for the new stack. The value must be The UUID of the stack.
unique within a project. The name must start with an ASCII letter
and can contain ASCII letters, digits, underscores, periods, and
hyphens. Specifically, the name must match the
``^[a-zA-Z][a-zA-Z0-9_.-]*$`` regular expression. When you delete
or abandon a stack, its name will not become available for reuse
until the deletion completes successfully.
in: body in: body
required: true required: true
type: string type: string
stack_name_2: stack_name:
description: | description: |
A name for the new stack. This value must be A name for the stack. The value must be unique within a project.
unique within a project. The name must start with an ASCII letter The name must start with an ASCII letter and can contain ASCII letters,
and can contain ASCII letters, digits, underscores, periods, and digits, underscores, periods, and hyphens. Specifically, the name must
hyphens. Specifically, the name must match the match the ``^[a-zA-Z][a-zA-Z0-9_.-]*$`` regular expression.
``^[a-zA-Z][a-zA-Z0-9_.-]*$`` regular expression. When you delete
or abandon a stack, its name will not become available for reuse When you delete or abandon a stack, its name will not become available
until the deletion completes successfully. for reuse until the deletion completes successfully.
in: body in: body
required: true required: true
type: string type: string
stack_name_3: stack_outputs:
description: | description: |
The name of the active stack. A list of stack outputs.
in: body in: body
required: true required: true
type: string type: array
stack_owner: stack_owner:
description: | description: |
Stack owner name. The owner of the stack
in: body in: body
required: true required: true
type: string type: string
stack_owner_1: stack_parameters:
description: | description: |
The owner of the stack. A group of key-value pairs where each key contains either a user-provided
parameter name or a built-in parameter name (e.g. ``OS::project_id``).
in: body
required: true
type: object
stack_resources:
description: |
List of stack resources.
in: body
required: true
type: array
stack_stack_user_project_id:
description: |
The project UUID of the stack user.
in: body in: body
required: true required: true
type: string type: string
@ -1357,6 +1163,18 @@ stack_status_reason:
in: body in: body
required: true required: true
type: string type: string
stack_tags:
description: |
The stack tags.
in: body
required: true
type: string
stack_timeout_mins:
description: |
The timeout for stack creation in minutes.
in: body
required: true
type: integer
stack_user_project_id: stack_user_project_id:
description: | description: |
Authentication project ID, which can also perform Authentication project ID, which can also perform
@ -1364,12 +1182,6 @@ stack_user_project_id:
in: body in: body
required: false required: false
type: string type: string
stack_user_project_id_1:
description: |
The project UUID of the stack user.
in: body
required: true
type: string
status: status:
description: | description: |
The status of the heat engine. The status of the heat engine.
@ -1410,72 +1222,34 @@ suspend:
type: string type: string
tags: tags:
description: | description: |
One or more simple string tags to associate with One or more simple string tags to associate with the stack. To associate
the stack. To associate multiple tags with a stack, separate the multiple tags with a stack, separate the tags with commas.
tags with commas. For example, ``tag1,tag2``. For example, ``tag1,tag2``.
in: body in: body
required: false required: false
type: string type: string
tags_2:
description: |
The stack tags.
in: body
required: true
type: string
template: template:
description: | description: |
The stack template on which to perform the operation. The stack template on which to perform the operation.
This parameter is always provided as a ``string`` in the JSON This parameter is always provided as a ``string`` in the JSON request body.
request body. The content of the string is a JSON- or YAML- The content of the string is a JSON- or YAML-formatted Orchestration
formatted Orchestration template. For example: template. For example:
.. code-block:: json .. code-block:: json
"template": { "template": {
"heat_template_version": "2013-05-23", "heat_template_version": "2013-05-23",
...} ...
}
This parameter is required only when you omit the ``template_url`` This parameter is required only when you omit the ``template_url``
parameter. If you specify both parameters, this value overrides the parameter. If you specify both parameters, this value overrides the
``template_url`` parameter value. ``template_url`` parameter value.
in: body in: body
required: true required: False
type: object
template_1:
description: |
Information about the template.
in: body
required: true
type: object
template_2:
description: |
The stack template on which to perform the operation.
This parameter is always provided as a ``string`` in the JSON
request body. The content of the string is a JSON- or YAML-
formatted Orchestration template. For example:
.. code-block:: json
"template": {
"heat_template_version": "2013-05-23",
...}
This parameter is required only when you omit the ``template_url``
parameter. If you specify both parameters, this value overrides the
``template_url`` parameter value.
in: body
required: false
type: object type: object
template_description: template_description:
description: |
A description of the template that defines the
stack.
in: body
required: true
type: string
template_description_1:
description: | description: |
The description of the stack template. The description of the stack template.
in: body in: body
@ -1483,12 +1257,11 @@ template_description_1:
type: string type: string
template_url: template_url:
description: | description: |
A URI to the location containing the stack A URI to the location containing the stack template on which to perform
template on which to perform the operation. See the description the operation. See the description of the ``template`` parameter for
of the ``template`` parameter for information about the expected information about the expected template content located at the URI.
template content located at the URI. This parameter is only This parameter is only required when you omit the ``template`` parameter.
required when you omit the ``template`` parameter. If you specify If you specify both parameters, this parameter is ignored.
both parameters, this parameter is ignored.
in: body in: body
required: false required: false
type: string type: string
@ -1498,18 +1271,6 @@ timeout_mins:
in: body in: body
required: false required: false
type: integer type: integer
timeout_mins_1:
description: |
Time-lines for stack creation.
in: body
required: true
type: integer
timeout_mins_2:
description: |
The timeout, in minutes.
in: body
required: true
type: string
topic: topic:
description: | description: |
The topic of the heat engine. The topic of the heat engine.
@ -1551,10 +1312,8 @@ updated_at:
type: string type: string
updated_time: updated_time:
description: | description: |
The date and time when the stack resource was updated. The date and time when the object was updated. The date and time stamp
format is `ISO 8601 <https://en.wikipedia.org/wiki/ISO_8601>`_:
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
:: ::
@ -1562,32 +1321,7 @@ updated_time:
For example, ``2015-08-27T09:49:58-05:00``. For example, ``2015-08-27T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset The ``±hh:mm`` value, if included, is the time zone as an offset from UTC.
from UTC.
If the ``updated_at`` date and time stamp is not set, its value is
``null``.
in: body
required: true
type: string
updated_time_1:
description: |
The date and time when the stack resource was updated.
The date and time stamp format is `ISO 8601
<https://en.wikipedia.org/wiki/ISO_8601>`_:
::
CCYY-MM-DDThh:mm:ss±hh:mm
For example, ``2016-03-30T09:49:58-05:00``.
The ``±hh:mm`` value, if included, is the time zone as an offset
from UTC.
If the ``updated_at`` date and time stamp is not set, its value is
``null``.
in: body in: body
required: true required: true
type: string type: string

View File

@ -2,6 +2,7 @@
"stack": { "stack": {
"capabilities": [], "capabilities": [],
"creation_time": "2015-01-31T15:12:36Z", "creation_time": "2015-01-31T15:12:36Z",
"deletion_time": null,
"description": "HOT template for Nova Server resource.\n", "description": "HOT template for Nova Server resource.\n",
"disable_rollback": true, "disable_rollback": true,
"id": "None", "id": "None",
@ -12,6 +13,7 @@
} }
], ],
"notification_topics": [], "notification_topics": [],
"outputs": [],
"parameters": { "parameters": {
"OS::project_id": "6e18cc2bdbeb48a5basad2dc499f6804", "OS::project_id": "6e18cc2bdbeb48a5basad2dc499f6804",
"OS::stack_id": "None", "OS::stack_id": "None",
@ -160,7 +162,8 @@
} }
], ],
"stack_name": "test_stack", "stack_name": "test_stack",
"stack_owner": "admin", "stack_owner": null,
"tags": null,
"template_description": "HOT template for Nova Server resource.\n", "template_description": "HOT template for Nova Server resource.\n",
"timeout_mins": null, "timeout_mins": null,
"updated_time": null "updated_time": null

View File

@ -11,23 +11,34 @@ Create stack
Creates a stack. Creates a stack.
Error response codes:201,500,409,401,400, Response Codes
--------------
.. rest_status_code:: success status.yaml
- 201
.. rest_status_code:: error status.yaml
- 400
- 401
- 409
Request Parameters Request Parameters
------------------ ------------------
.. rest_parameters:: parameters.yaml .. 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 - tenant_id: tenant_id
- disable_rollback: disable_rollback
- environment: environment
- files: files
- parameters: parameters
- stack_name: stack_name
- tags: tags
- template: template
- template_url: template_url
- timeout_mins: timeout_mins
Request Example Request Example
--------------- ---------------
@ -40,9 +51,17 @@ Response Parameters
.. rest_parameters:: parameters.yaml .. rest_parameters:: parameters.yaml
- location: location
- X-Openstack-Reqeuest-Id: request_id
- stack: stack
- id: id - id: id
- links: links - links: links
- stack: stack
Response Example
----------------
.. literalinclude:: samples/stack-create-response.json
:language: javascript
Preview stack Preview stack
@ -52,20 +71,35 @@ Preview stack
Previews a stack. Previews a stack.
Normal response codes: 200 Response Codes
Error response codes:500,409,401,400, --------------
.. rest_status_code:: success status.yaml
- 200
.. rest_status_code:: error status.yaml
- 400
- 401
- 409
- 500
Request Parameters Request Parameters
------------------ ------------------
.. rest_parameters:: parameters.yaml .. rest_parameters:: parameters.yaml
- files: files
- stack_name: stack_name
- template_url: template_url
- template: template
- parameters: parameters
- tenant_id: tenant_id - tenant_id: tenant_id
- disable_rollback: disable_rollback
- environment: environment
- files: files
- parameters: parameters
- stack_name: stack_name
- tags: tags
- template: template
- template_url: template_url
- timeout_mins: timeout_mins
Request Example Request Example
--------------- ---------------
@ -78,22 +112,27 @@ Response Parameters
.. rest_parameters:: parameters.yaml .. rest_parameters:: parameters.yaml
- parent: parent - X-Openstack-Reqeuest-Id: request_id
- disable_rollback: disable_rollback
- description: description
- links: links
- stack_name: stack_name
- timeout_mins: timeout_mins
- creation_time: creation_time
- capabilities: capabilities - capabilities: capabilities
- creation_time: creation_time
- deletion_time: deletion_time
- description: description
- disable_rollback: disable_rollback
- id: stack_id
- links: links
- notification_topics: notification_topics - notification_topics: notification_topics
- updated_time: updated_time - outputs: stack_outputs
- stack_owner: stack_owner - parameters: stack_parameters
- stack: stack - parent: parent
- parameters: parameters
- id: id
- resources: resources - resources: resources
- stack: stack
- stack_name: stack_name
- stack_owner: stack_owner
- stack_user_project_id: stack_stack_user_project_id
- tags: stack_tags
- template_description: template_description - template_description: template_description
- timeout_mins: timeout_mins
- updated_time: updated_time
Response Example Response Example
---------------- ----------------

View File

@ -0,0 +1,55 @@
#################
# Success Codes #
#################
200:
default: |
Request was successful.
201:
default: |
Resource was created and is ready to use.
202:
default: |
Request was accepted for processing, but the processing has not been
completed. A 'location' header is included in the response which contains
a link to check the progress of the request.
204:
default: |
The server has fulfilled the request by deleting the resource.
300:
default: |
There are multiple choices for resources. The request has to be more
specific to successfully retrieve one of these resources.
#################
# Error Codes #
#################
400:
default: |
Some content in the request was invalid.
401:
default: |
User must authenticate before making a request.
403:
default: |
Policy does not allow current user to do this operation.
404:
default: |
The requested resource could not be found.
405:
default: |
Method is not valid for this endpoint.
409:
default: |
This operation conflicted with another operation on this resource.
duplcate_zone: |
There is already a zone with this name.
500:
default: |
Something went wrong inside the service. This should not happen usually.
If it does happen, it means the server has experienced some serious
problems.
503:
default: |
Service is not available. This is mostly caused by service configuration
errors which prevents the service from successful start up.