openstack.orchestration.v1.stack

The Stack Class

The Stack class inherits from Resource.

class openstack.orchestration.v1.stack.Stack(_synchronized=False, connection=None, **attrs)

The base resource

Parameters:
  • _synchronized (bool) – This is not intended to be used directly. See new() and existing().

  • connection (openstack.connection.Connection) – Reference to the Connection being used. Defaults to None to allow Resource objects to be used without an active Connection, such as in unit tests. Use of self._connection in Resource code should protect itself with a check for None.

resource_key = 'stack'

Singular form of key for resource.

resources_key = 'stacks'

Plural form of key for resource.

base_path = '/stacks'

The base part of the URI for this resource.

allow_create = True

Allow create operation for this resource.

allow_list = True

Allow list operation for this resource.

allow_fetch = True

Allow get operation for this resource.

allow_commit = True

Allow update operation for this resource.

allow_delete = True

Allow delete operation for this resource.

capabilities

Placeholder for AWS compatible template listing capabilities required by the stack.

created_at

Timestamp of the stack creation.

description

A text description of the stack.

deleted

A list of resource objects that will be deleted if a stack update is performed.

deleted_at

Timestamp of the stack deletion.

environment

A JSON environment for the stack.

environment_files

An ordered list of names for environment files found in the files dict.

files

Additional files referenced in the template or the environment

files_container

Name of the container in swift that has child templates and environment files.

is_rollback_disabled

Whether the stack will support a rollback operation on stack create/update failures. Type: bool

A list of dictionaries containing links relevant to the stack.

name

Name of the stack.

notification_topics

Placeholder for future extensions where stack related events can be published.

outputs

A list containing output keys and values from the stack, if any.

owner_id

The ID of the owner stack if any.

parameters

A dictionary containing the parameter names and values for the stack.

parent_id

The ID of the parent stack if any

replaced

A list of resource objects that will be replaced if a stack update is performed.

status

A string representation of the stack status, e.g. CREATE_COMPLETE.

status_reason

A text explaining how the stack transits to its current status.

tags

A list of strings used as tags on the stack

template

A dict containing the template use for stack creation.

template_description

Stack template description text. Currently contains the same text as that of the description property.

template_url

A string containing the URL where a stack template can be found.

timeout_mins

Stack operation timeout in minutes.

unchanged

A list of resource objects that will remain unchanged if a stack update is performed.

updated

A list of resource objects that will have their properties updated in place if a stack update is performed.

updated_at

Timestamp of last update on the stack.

user_project_id

The ID of the user project created for this stack.

create(session, prepend_key=False, *args, **kwargs)

Create a remote resource based on this instance.

Parameters:
  • session (Adapter) – The session to use for making this request.

  • prepend_key – A boolean indicating whether the resource_key should be prepended in a resource creation request. Default to True.

  • base_path (str) – Base part of the URI for creating resources, if different from base_path.

  • resource_request_key (str) – Overrides the usage of self.resource_key when prepending a key to the request body. Ignored if prepend_key is false.

  • resource_response_key (str) – Overrides the usage of self.resource_key when processing response bodies. Ignored if prepend_key is false.

  • microversion (str) – API version to override the negotiated one.

  • params (dict) – Additional params to pass.

Returns:

This Resource instance.

Raises:

MethodNotSupported if Resource.allow_create is not set to True.

commit(session, prepend_key=True, has_body=True, retry_on_conflict=None, base_path=None, *, microversion=None, preview=False, **kwargs)

Commit the state of the instance to the remote resource.

Parameters:
  • session (Adapter) – The session to use for making this request.

  • prepend_key – A boolean indicating whether the resource_key should be prepended in a resource update request. Default to True.

  • retry_on_conflict (bool) – Whether to enable retries on HTTP CONFLICT (409). Value of None leaves the Adapter defaults.

  • base_path (str) – Base part of the URI for modifying resources, if different from base_path.

  • microversion (str) – API version to override the negotiated one.

  • kwargs (dict) – Parameters that will be passed to _prepare_request()

Returns:

This Resource instance.

Raises:

MethodNotSupported if Resource.allow_commit is not set to True.

export(session)

Export a stack data

Parameters:

session – The session to use for making this request.

Returns:

A dictionary containing the stack data.

suspend(session)

Suspend a stack

Parameters:

session – The session to use for making this request

Returns:

None

resume(session)

Resume a stack

Parameters:

session – The session to use for making this request

Returns:

None

fetch(session, requires_id=True, base_path=None, error_message=None, skip_cache=False, *, resolve_outputs=True, **params)

Get a remote resource based on this instance.

Parameters:
  • session (Adapter) – The session to use for making this request.

  • requires_id (boolean) – A boolean indicating whether resource ID should be part of the requested URI.

  • base_path (str) – Base part of the URI for fetching resources, if different from base_path.

  • error_message (str) – An Error message to be returned if requested object does not exist.

  • skip_cache (bool) – A boolean indicating whether optional API cache should be skipped for this invocation.

  • resource_response_key (str) – Overrides the usage of self.resource_key when processing the response body.

  • microversion (str) – API version to override the negotiated one.

  • params (dict) – Additional parameters that can be consumed.

Returns:

This Resource instance.

Raises:

MethodNotSupported if Resource.allow_fetch is not set to True.

Raises:

NotFoundException if the resource was not found.

classmethod find(session, name_or_id, ignore_missing=True, **params)

Find a resource by its name or id.

Parameters:
  • session (Adapter) – The session to use for making this request.

  • name_or_id – This resource’s identifier, if needed by the request. The default is None.

  • ignore_missing (bool) – When set to False NotFoundException will be raised when the resource does not exist. When set to True, None will be returned when attempting to find a nonexistent resource.

  • params (dict) – Any additional parameters to be passed into underlying methods, such as to existing() in order to pass on URI parameters.

Returns:

The Resource object matching the given name or id or None if nothing matches.

Raises:

openstack.exceptions.DuplicateResource if more than one resource is found for this request.

Raises:

openstack.exceptions.NotFoundException if nothing is found and ignore_missing is False.