Heat/Blueprints/V2API
Area to start documenting changes required for a Heat v2 API:
- Remove tenant ID from the endpoint path
- Remove references to tenant in the request body (we can derive it from the context)
- Remove template_url from the request POST (always load the template in the client, like we do for provider templates?)
- Pass parameters as dict/json?
- Report resource/stack state in a more intelligent way (separate action/status for a start)
- Fix return status codes e.g for asynchronous operations return 202 instead of a mixture of 200/201/204
TODO(asalkeld):
- add actions (pause/resume/converge)
- add signal hooks
- add metadata update
- remove events (rely on notifications instead)
Draft Spec [WORKINPROGRESS]
POST v2/stacks
Create a stack
- stack_name: The name of the stack to create.
- template: A JSON template to instantiate.
- environment: A JSON envionment for the stack.
- files: A map of file names (Provider resource templates, as referenced in the environment) to JSON template bodies.
- parameters: A JSON map of parameter values
- timeout_mins: The timeout for stack creation in minutes.
GET v2/stacks
Get a list of active stacks.
- Allow getting a stack by name via filter parameters, e.g
- GET v2/stacks?name=foo
- ref https://review.openstack.org/#/c/57313/
GET v2/stacks/{stack_id}
Get data about a stack.
PUT v2/stacks/{stack_id}
Update a stack.
DELETE v2/stacks/{stack_id}
Delete a stack.
GET v2/stacks/{stack_id}/events
Get a list of events for a stack.
GET v2/stacks/{stack_id}/resources
Get a list of resources in a stack.
GET v2/stacks/{stack_id}/resources/{resource_name}
Get data about a resource.
GET v2/stacks/{stack_id}/resources/{resource_name}/metadata
Get a resource's metadata.
GET v2/stacks/{stack_id}/resources/events
Get a list of events for a stack resource.
GET v2/stacks/{stack_id}/resources/events/{event_id}
Get data about an event.
GET v2/stacks/{stack_id}/template
Retrieve a stack's template.
POST v2/validate_template
Validate a template.
GET v2/resource_types
Get a list of the template resource types that are supported.
Response should include resource support status and resource version(s).