openstack.orchestration.v1.stack

Stack 类

Stack 类继承自 Resource

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

基础资源

参数:
  • _synchronized (bool) – 这不打算直接使用。请参阅 new()existing()

  • connection (openstack.connection.Connection) – 对正在使用的 Connection 的引用。默认为 None,允许在单元测试中等情况下使用不带活动 Connection 的 Resource 对象。Resource 代码中对 self._connection 的使用应使用 None 检查进行保护。

resource_key = 'stack'

资源的单数形式的键。

resources_key = 'stacks'

资源的复数形式的键。

base_path = '/stacks'

此资源的 URI 的基本部分。

allow_create = True

允许对此资源进行创建操作。

allow_list = True

允许对此资源进行列表操作。

allow_fetch = True

允许对此资源进行获取操作。

allow_commit = True

允许对此资源进行更新操作。

allow_delete = True

允许对此资源进行删除操作。

capabilities

用于 AWS 兼容模板列出堆栈所需的capabilities 的占位符。

created_at

堆栈创建的时间戳。

description

堆栈的文本描述。

deleted

如果执行堆栈更新,将被删除的资源对象列表。

deleted_at

堆栈删除的时间戳。

environment

堆栈的 JSON 环境。

environment_files

在 files 字典中找到的环境文件的有序列表。

files

模板或环境中引用的其他文件

files_container

swift 中包含子模板和环境文件的容器的名称。

is_rollback_disabled

堆栈是否支持在堆栈创建/更新失败时回滚操作。类型:bool

包含与堆栈相关的链接的字典列表。

name

堆栈的名称。

notification_topics

用于未来扩展的占位符,堆栈相关事件可以发布到此处。

outputs

包含堆栈的输出键和值的列表(如果有)。

owner_id

拥有堆栈的 ID(如果有)。

parameters

包含堆栈的参数名称和值的字典。

parent_id

父堆栈的 ID(如果有)

replaced

如果执行堆栈更新,将被替换的资源对象列表。

status

堆栈状态的字符串表示形式,例如 CREATE_COMPLETE

status_reason

解释堆栈如何过渡到其当前状态的文本。

tags

用作堆栈标签的字符串列表

template

用于堆栈创建的模板包含的字典。

template_description

堆栈模板描述文本。目前包含与 description 属性相同的文本。

template_url

包含可以找到堆栈模板的 URL 的字符串。

timeout_mins

堆栈操作超时时间(分钟)。

unchanged

如果执行堆栈更新,将保持不变的资源对象列表。

updated

如果执行堆栈更新,其属性将就地更新的资源对象列表。

updated_at

堆栈上次更新的时间戳。

user_project_id

为此堆栈创建的用户项目的 ID。

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

基于此实例创建远程资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • prepend_key – 一个布尔值,指示是否应在资源创建请求中将 resource_key 附加到请求体之前。默认为 True。

  • base_path (str) – 创建资源的 URI 的基本部分,如果与 base_path 不同。

  • resource_request_key (str) – 覆盖在将键附加到请求体时使用 self.resource_key 的用法。如果 prepend_key 为 false,则忽略。

  • resource_response_key (str) – 覆盖在处理响应体时使用 self.resource_key 的用法。如果 prepend_key 为 false,则忽略。

  • microversion (str) – 覆盖协商版本使用的 API 版本。

  • params (dict) – 传递的额外参数。

返回值:

Resource 实例。

引发:

MethodNotSupported 如果 Resource.allow_create 未设置为 True

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

提交实例的状态到远程资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • prepend_key – 一个布尔值,指示是否应在资源更新请求中将 resource_key 附加到前面。默认为 True。

  • retry_on_conflict (bool) – 是否启用在 HTTP CONFLICT (409) 发生时重试。值为 None 将使用 Adapter 的默认值。

  • base_path (str) – 修改资源的 URI 的基本部分,如果与 base_path 不同。

  • microversion (str) – 覆盖协商版本使用的 API 版本。

  • kwargs (dict) – 将传递给 _prepare_request() 的参数

返回值:

Resource 实例。

引发:

MethodNotSupported 如果 Resource.allow_commit 未设置为 True

export(session)

导出堆栈数据

参数:

session – 用于进行此请求的会话。

返回值:

包含堆栈数据的字典。

suspend(session)

暂停堆栈

参数:

session – 用于进行此请求的会话

返回值:

resume(session)

恢复堆栈

参数:

session – 用于进行此请求的会话

返回值:

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

基于此实例获取远程资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • requires_id (boolean) – 一个布尔值,指示资源 ID 是否应作为请求的 URI 的一部分。

  • base_path (str) – 获取资源的 URI 的基本部分,如果与 base_path 不同。

  • error_message (str) – 如果请求的对象不存在,则返回的错误消息。

  • skip_cache (bool) – 一个布尔值,指示是否应跳过此调用的可选 API 缓存。

  • resource_response_key (str) – 覆盖在处理响应体时使用 self.resource_key 的用法。

  • microversion (str) – 覆盖协商版本使用的 API 版本。

  • params (dict) – 可以使用的额外参数。

返回值:

Resource 实例。

引发:

MethodNotSupported 如果 Resource.allow_fetch 未设置为 True

引发:

NotFoundException 如果未找到资源。

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

按其名称或 ID 查找资源。

参数:
  • session (Adapter) – 用于发出此请求的会话。

  • name_or_id – 此资源的标识符(如果请求需要)。默认值为 None

  • ignore_missing (bool) – 当设置为 False 时,如果资源不存在,将引发 NotFoundException。当设置为 True 时,尝试查找不存在的资源时将返回 None。

  • params (dict) – 传递给底层方法的任何其他参数,例如传递 URI 参数到 existing()

返回值:

与给定名称或 ID 匹配的 Resource 对象,或者如果没有任何匹配项则返回 None。

引发:

openstack.exceptions.DuplicateResource 如果为该请求找到多个资源。

引发:

openstack.exceptions.NotFoundException 如果未找到任何内容且 ignore_missing 为 False