Workflow API

Workflow 类

Workflow 高级接口可通过 Connection 对象的 workflow 成员访问。只有检测到服务时,才会添加 workflow 成员。

Workflow 操作

class openstack.workflow.v2._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_workflow(**attrs)

从属性创建新的 workflow

参数:

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

返回值:

workflow 创建的结果

返回类型:

工作流

update_workflow(workflow, **attrs)

从属性更新 workflow

参数:
  • workflow – 该值可以是 workflow 的名称或 Workflow 实例。

  • attrs (dict) – 用于更新 Workflow 的关键字参数,包含 Workflow 类上的属性。

返回值:

workflow 更新的结果

返回类型:

工作流

get_workflow(*attrs)

获取一个 workflow

参数:

workflow – 该值可以是 workflow 的名称或 Workflow 实例。

返回值:

一个 Workflow

引发:

NotFoundException,当找不到匹配名称的 workflow 时。

workflows(**query)

检索 workflow 生成器

参数:

query (kwargs) –

可选的查询参数,用于限制要返回的 workflow。可用的参数包括

  • limit: 请求从查询返回的最大项目数。

  • marker: 指定上次看到的 workflow 的 ID。使用 limit 参数进行初始的有限请求,并将响应中上次看到的 workflow 的 ID 作为 marker 参数值用于后续的有限请求。

返回值:

workflow 实例的生成器。

delete_workflow(value, ignore_missing=True)

删除一个 workflow

参数:
  • value – 该值可以是 workflow 的名称或 Workflow 实例。

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

返回值:

find_workflow(name_or_id, ignore_missing=True)

查找单个 workflow

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

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

返回值:

一个 Extension 或 None

执行操作

class openstack.workflow.v2._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_execution(**attrs)

从属性创建新的执行

参数:
  • workflow_name – 要执行的目标 workflow 的名称。

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

返回值:

执行创建的结果

返回类型:

Execution

get_execution(*attrs)

获取一个执行

参数:
  • workflow_name – 要执行的目标 workflow 的名称。

  • execution – 该值可以是执行的 ID 或 Execution 实例。

返回值:

一个 Execution

引发:

NotFoundException,当找不到匹配标准的执行时。

executions(**query)

检索执行生成器

参数:

query (kwargs) –

可选的查询参数,用于限制要返回的执行。可用的参数包括

  • limit: 请求从查询返回的最大项目数。

  • marker: 指定上次看到的执行的 ID。使用 limit 参数进行初始的有限请求,并将响应中上次看到的执行的 ID 作为 marker 参数值用于后续的有限请求。

返回值:

执行实例的生成器。

delete_execution(value, ignore_missing=True)

删除一个执行

参数:
  • value – 该值可以是执行的名称或 Execution 实例。

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

返回值:

find_execution(name_or_id, ignore_missing=True)

查找单个执行

参数:
  • name_or_id – 执行的名称或 ID。

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

返回值:

一个 Execution 或 None

Cron 触发器操作

class openstack.workflow.v2._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_cron_trigger(**attrs)

从属性创建新的 cron 触发器

参数:

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

返回值:

cron 触发器创建的结果

返回类型:

CronTrigger

get_cron_trigger(cron_trigger)

获取一个 cron 触发器

参数:

cron_trigger – 该值可以是 cron_trigger 的名称或 CronTrigger 实例。

返回值:

一个 CronTrigger

引发:

NotFoundException,当找不到匹配标准的 cron 触发器时。

cron_triggers(*, all_projects=False, **query)

检索 cron 触发器生成器

参数:
  • all_projects (bool) – 当设置为 True 时,从所有项目列出 cron 触发器。默认情况下仅限管理员。

  • query (kwargs) –

    可选的查询参数,用于限制要返回的 cron 触发器。可用的参数包括

    • limit: 请求从查询返回的最大项目数。

    • marker: 指定上次看到的 cron 触发器的 ID。使用 limit 参数进行初始的有限请求,并将响应中上次看到的 cron 触发器的 ID 作为 marker 参数值用于后续的有限请求。

返回值:

CronTrigger 实例的生成器。

delete_cron_trigger(value, ignore_missing=True)

删除一个 cron 触发器

参数:
  • value – 该值可以是 cron 触发器的名称,也可以是 CronTrigger 实例。

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

返回值:

find_cron_trigger(name_or_id, ignore_missing=True, *, all_projects=False, **query)

查找单个 cron 触发器

参数:
  • name_or_id – cron 触发器的名称或 ID。

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

  • all_projects (bool) – 当设置为 True 时,跨所有项目按名称搜索 cron 触发器。请注意,这可能会增加重复项的可能性。

  • query (kwargs) – 可选的查询参数,用于限制返回的 cron 触发器。

返回值:

一个 CronTrigger 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。