Orchestration API

有关如何使用编排的详细信息,请参阅 使用 OpenStack 编排

Orchestration 类

编排高级接口可通过 Connection 对象的 orchestration 成员获得。只有检测到服务时,才会添加 orchestration 成员。

堆栈操作

class openstack.orchestration.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
create_stack(preview=False, **attrs)

从属性创建新的堆栈

参数:
  • preview (bool) – 当 True 时,将使用预览端点来验证模板 默认值: ``False``

  • attrs (dict) – 关键字参数,将用于创建 Stack,包含 Stack 类上的属性。

返回值:

堆栈创建的结果

返回类型:

Stack

find_stack(name_or_id, ignore_missing=True, resolve_outputs=True)

查找单个堆栈

参数:
  • name_or_id – 堆栈的名称或 ID。

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

返回值:

一个 Stack 或 None

stacks(**query)

返回堆栈生成器

参数:

query (kwargs) – 可选查询参数,用于发送到服务器以限制返回的资源。

返回值:

一个堆栈对象生成器

返回类型:

Stack

get_stack(stack, resolve_outputs=True)

获取单个堆栈

参数:
  • stack – 该值可以是堆栈的 ID 或 Stack 实例。

  • resolve_outputs – 是否应该包含已解析的输出的堆栈。

返回值:

一个 Stack

引发:

NotFoundException,当找不到资源时。

update_stack(stack, **attrs, preview=False)

更新堆栈

参数:
  • stack – 该值可以是堆栈的 ID 或 Stack 实例。

  • attrs (kwargs) – 要更新由 value 表示的堆栈的属性。

返回值:

更新后的堆栈

返回类型:

Stack

引发:

NotFoundException,当找不到资源时。

delete_stack(stack, ignore_missing=True)

删除堆栈

参数:
  • stack – 该值可以是堆栈的 ID 或 Stack 实例。

  • ignore_missing (bool) – 当设置为 False 时,如果堆栈不存在,将引发 NotFoundException。当设置为 True 时,尝试删除不存在的堆栈时不会设置任何异常。

返回值:

export_stack(stack)

以 JSON 格式获取堆栈数据

参数:

stack – 该值可以是 ID、名称或 Stack 的实例

返回值:

包含堆栈数据的字典。

引发:

NotFoundException,当找不到资源时。

get_stack_template(stack)

获取堆栈使用的模板

参数:

stack – 该值可以是堆栈的 ID 或 Stack 的实例

返回值:

一个 StackTemplate 对象

引发:

NotFoundException,当找不到资源时。

get_stack_environment(stack)

获取堆栈使用的环境

参数:

stack – 该值可以是堆栈的 ID 或 Stack 的实例

返回值:

一个 StackEnvironment 对象

引发:

NotFoundException,当找不到资源时。

堆栈资源操作

class openstack.orchestration.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
resources(stack, **query)

返回资源生成器

参数:
  • stack – 这可以是堆栈对象,也可以是资源要列出的堆栈的名称。

  • query (kwargs) – 可选查询参数,用于发送到服务器以限制返回的资源。

返回值:

如果堆栈存在并且其中包含资源,则返回资源对象生成器。如果找不到堆栈,则会引发异常。

返回类型:

一个 Resource 生成器

引发:

NotFoundException,当找不到堆栈时。

堆栈操作操作

class openstack.orchestration.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
check_stack(stack)

检查堆栈状态

由于这是一个异步操作,因此只能通过跟踪堆栈状态来检查结果。

参数:

stack – 该值可以是堆栈的 ID 或 Stack 的实例。

返回值:

suspend_stack(stack)

暂停堆栈状态

参数:

stack – 该值可以是堆栈的 ID 或 Stack 的实例。

返回值:

resume_stack(stack)

恢复堆栈状态

参数:

stack – 该值可以是堆栈的 ID 或 Stack 的实例。

返回值:

堆栈事件操作

class openstack.orchestration.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
stack_events(stack, resource_name=None, **attr)

获取堆栈事件

参数:
  • stack – 该值可以是堆栈的 ID 或 Stack 的实例

  • resource_name – 资源的名称。如果resource_name不为None,则base_path会发生变化。

返回值:

一个堆栈事件对象生成器

返回类型:

StackEvent

堆栈模板操作

class openstack.orchestration.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
validate_template(template, environment=None, template_url=None, ignore_errors=None)

验证模板。

参数:
  • template – 执行验证的堆栈模板。

  • environment – 堆栈的 JSON 环境(如果提供)。

  • template_url – 包含用于验证的堆栈模板的 URI。如果 template 参数为 None,则需要此参数。如果指定了 template,则忽略此参数。

  • ignore_errors – 包含要忽略的逗号分隔的错误代码的字符串。当前唯一的有效错误代码是 ‘99001’。

返回值:

模板验证的结果。

引发:

InvalidRequest 如果既未提供 template 也未提供 template_url

引发:

HttpException 如果模板验证失败。

软件配置操作

class openstack.orchestration.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
create_software_config(**attrs)

从属性创建新的软件配置

参数:

attrs (dict) – 关键字参数,将用于创建一个 SoftwareConfig,包含 SoftwareConfig 类上的属性。

返回值:

软件配置创建的结果

返回类型:

SoftwareConfig

software_configs(**query)

返回软件配置生成器

参数:

query (dict) – 可选查询参数,用于限制返回的软件配置。

返回值:

软件配置对象生成器。

返回类型:

SoftwareConfig

get_software_config(software_config)

获取特定软件配置的详细信息。

参数:

software_config – 该值可以是软件配置的 ID,也可以是 SoftwareConfig 的实例。

返回值:

类型为 SoftwareConfig 的对象

delete_software_config(software_config, ignore_missing=True)

删除软件配置

参数:
  • software_config – 该值可以是软件配置的 ID,也可以是 SoftwareConfig 的实例

  • ignore_missing (bool) – 当设置为 False 时,如果软件配置不存在,将引发 NotFoundException。当设置为 True 时,尝试删除不存在的软件配置时不会引发任何异常。

返回值:

软件部署操作

class openstack.orchestration.v1._proxy.Proxy(session, *, service_type=None, service_name=None, interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None, logger=None, allow=None, additional_headers=None, client_name=None, client_version=None, allow_version_hack=None, global_request_id=None, min_version=None, max_version=None, default_microversion=None, status_code_retries=None, retriable_status_codes=None, raise_exc=None, rate_limit=None, concurrency=None, connect_retry_delay=None, status_code_retry_delay=None, statsd_client=None, statsd_prefix=None, prometheus_counter=None, prometheus_histogram=None, influxdb_config=None, influxdb_client=None)
create_software_deployment(**attrs)

从属性创建新的软件部署

参数:

attrs (dict) – 关键字参数,将用于创建一个 SoftwareDeployment,包含 SoftwareDeployment 类上的属性。

返回值:

软件部署创建的结果

返回类型:

SoftwareDeployment

software_deployments(**query)

返回软件部署生成器

参数:

query (dict) – 可选查询参数,用于限制返回的软件部署。

返回值:

软件部署对象生成器。

返回类型:

SoftwareDeployment

get_software_deployment(software_deployment)

获取特定软件部署资源的详细信息

参数:

software_deployment – 该值可以是软件部署的 ID,也可以是 SoftwareDeployment 的实例。

返回值:

类型为 SoftwareDeployment 的对象

delete_software_deployment(software_deployment, ignore_missing=True)

删除软件部署

参数:
  • software_deployment – 该值可以是软件部署的 ID,也可以是 SoftwareDeployment 的实例

  • ignore_missing (bool) – 当设置为 False 时,如果软件部署不存在,将引发 NotFoundException。当设置为 True 时,尝试删除不存在的软件部署时不会引发任何异常。

返回值:

update_software_deployment(software_deployment, **attrs)

更新软件部署

参数:
  • server – 软件部署的 ID 或 SoftwareDeployment 的实例

  • attrs (dict) – 要更新由 software_deployment 表示的软件部署的属性。

返回值:

更新后的软件部署

返回类型:

SoftwareDeployment