块存储 API

有关如何使用 block_storage 的详细信息,请参阅 使用 OpenStack 块存储

块存储类

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

备份操作

class openstack.block_storage.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)
backups(details=True, **query)

检索备份生成器

参数:
  • details (bool) – 当设置为 False 时,不会返回其他详细信息。默认情况下,True 将返回具有其他属性的对象。

  • query (dict) –

    可选查询参数,用于发送到要限制返回的资源的参数

    • offset: 分页标记

    • limit: 分页限制

    • sort_key: 按属性排序。有效值为 name、status、container_format、disk_format、size、id、created_at 或 updated_at。默认值为 created_at。API 使用 sort_key 属性值的自然排序方向。

    • sort_dir: 按一个或多个属性和排序方向组合进行排序。如果省略集合中的排序方向,则默认值为 desc。

返回值:

备份对象生成器。

get_backup(backup)

获取备份

参数:

backup – 该值可以是备份的 ID,也可以是 Backup 实例。

返回值:

备份实例

返回类型:

备份

create_backup(**attrs)

从属性使用原生 API 创建新的备份

参数:

attrs (dict) – 关键字参数,将用于创建由 Backup 类上的属性组成的 Backup

返回值:

备份创建的结果

返回类型:

备份

delete_backup(backup, ignore_missing=True, force=False)

删除 CloudBackup

参数:
  • backup – 该值可以是备份的 ID,也可以是 Backup 实例

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

  • force (bool) – 是否尝试强制删除备份

返回值:

restore_backup(backup, volume_id, name)

将备份恢复到卷

参数:
  • backup – 该值可以是备份的 ID,也可以是 Backup 实例

  • volume_id – 要恢复备份到的卷的 ID。

  • name – 用于创建新卷以进行恢复的名称。

返回值:

更新的备份实例

返回类型:

备份

reset_backup_status(backup, status)

重置备份状态

参数:
  • backup – 该值可以是备份的 ID,也可以是 Backup 实例。

  • status (str) – 新备份状态

返回值:

功能操作

class openstack.block_storage.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)
get_capabilities(host)

获取后端的 capabilites

参数:

host – 指定要获取卷统计信息和属性的后端。

返回值:

一个 ~openstack.block_storage.v2.capabilites.Capabilities 实例。

引发:

NotFoundException,当找不到资源时。

限制操作

class openstack.block_storage.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)
get_limits(project=None)

检索限制

参数:

project – 要获取限制的项目,该值可以是 Project 的 ID 或实例。

返回值:

一个 Limits 对象,包括 AbsoluteLimitRateLimit

返回类型:

限制

QuotaClassSet 操作

class openstack.block_storage.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)
get_quota_class_set(quota_class_set='default')

获取单个配额类集

仅允许一个配额类,default

参数:

quota_class_set – 该值可以是配额类集的 ID(仅支持 default)或 QuotaClassSet 实例。

返回值:

一个 QuotaClassSet

引发:

NotFoundException,当找不到资源时。

update_quota_class_set(quota_class_set, **attrs)

更新 QuotaClassSet。

仅允许一个配额类,default

参数:
  • quota_class_set – 要更新的 QuotaClassSet 的 ID(仅支持 default)或 QuotaClassSet 实例。

  • attrs – 要更新由 quota_class_set 表示的 QuotaClassSet 上的属性。

返回值:

更新的 QuotaSet

返回类型:

QuotaSet

QuotaSet 操作

class openstack.block_storage.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)
get_quota_set(project, usage=False, **query)

显示项目的 QuotaSet 信息

参数:
  • project – 项目的 Project 的 ID 或实例,用于检索配额

  • usage (bool) – 当设置为 True 时,将填充配额使用量和预留量。

  • query (dict) – 要使用的其他查询参数。

返回值:

一个 QuotaSet

引发:

NotFoundException,当找不到资源时。

get_quota_set_defaults(project)

显示项目的 QuotaSet 默认值

参数:

project – 项目的 Project 的 ID 或实例,用于检索配额

返回值:

一个 QuotaSet

引发:

NotFoundException,当找不到资源时。

revert_quota_set(project, **query)

重置项目/用户的配额。

参数:
  • project – 项目的 Project 的 ID 或实例,用于重置配额。

  • query (dict) – 附加参数,用于指定查询条件。

返回值:

update_quota_set(project, **attrs)

更新配额集合。

参数:
  • project – 项目的 ID 或 Project 实例,用于重置该项目的配额。

  • attrs – 要更新的配额集合的属性,由 quota_set 表示。

返回值:

更新的 QuotaSet

返回类型:

QuotaSet

服务操作

class openstack.block_storage.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)
find_service(name_or_id, ignore_missing=True, **query)

查找单个服务

参数:
  • name_or_id – 服务的名称或 ID

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

  • query (dict) – 附加属性,例如 ‘host’

返回值:

One: class:~openstack.block_storage.v2.service.Service or None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

services(**query)

返回服务生成器

参数:

query (kwargs) – 可选的查询参数,用于限制返回的资源。

返回值:

Service 对象生成器

返回类型:

class: ~openstack.block_storage.v2.service.Service

enable_service(service)

启用服务

参数:

service – 服务的 ID 或 Service 实例。

返回值:

更新的服务实例

返回类型:

class: ~openstack.block_storage.v2.service.Service

disable_service(service, *, reason=None)

禁用服务

参数:
  • service – 服务的 ID 或 Service 实例

  • reason (str) – 禁用服务的理由

返回值:

更新的服务实例

返回类型:

class: ~openstack.block_storage.v2.service.Service

thaw_service(service)

解冻服务

参数:

service – 服务的 ID 或 Service 实例

返回值:

更新的服务实例

返回类型:

class: ~openstack.block_storage.v2.service.Service

freeze_service(service)

冻结服务

参数:

service – 服务的 ID 或 Service 实例

返回值:

更新的服务实例

返回类型:

class: ~openstack.block_storage.v2.service.Service

failover_service(service, *, backend_id=None)

故障转移服务

仅适用于复制 cinder-volume 服务。

参数:

service – 服务的 ID 或 Service 实例

返回值:

更新的服务实例

返回类型:

class: ~openstack.block_storage.v2.service.Service

快照操作

class openstack.block_storage.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)
get_snapshot(snapshot)

获取单个快照

参数:

snapshot – 该值可以是快照的 ID 或 Snapshot 实例。

返回值:

One Snapshot

引发:

NotFoundException,当找不到资源时。

snapshots(*, details=True, all_projects=False, **query)

检索快照生成器

参数:
  • details (bool) – 当设置为 False 时,将返回 Snapshot 对象。默认情况下,True 将返回 SnapshotDetail 对象。

  • all_projects (bool) – 当设置为 True 时,将列出所有项目的快照。默认情况下仅限管理员使用。

  • query (kwargs) –

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

    • name: 快照名称,字符串类型。

    • volume_id: 快照的卷 ID。

    • status: 快照的状态值,以便您可以按“available”进行筛选,例如。

返回值:

快照对象生成器。

create_snapshot(**attrs)

从属性创建新的快照

参数:

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

返回值:

快照创建结果

返回类型:

快照

delete_snapshot(snapshot, ignore_missing=True)

删除快照

参数:
  • snapshot – 该值可以是快照的 ID 或 Snapshot 实例。

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

返回值:

reset_snapshot_status(snapshot, status)

重置快照状态

参数:
  • snapshot – 该值可以是备份的 ID 或 Snapshot 实例。

  • status (str) – 新快照状态

返回值:

统计操作

class openstack.block_storage.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)
backend_pools(**query)

返回 cinder 后端存储池的生成器

参数:

query (kwargs) – 可选的查询参数,用于限制返回的资源。

:returns cinder 后端存储池对象生成器

传输操作

class openstack.block_storage.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_transfer(**attrs)

创建新的传输记录

参数:
  • volume_id – 该值是卷的 ID。

  • name – 该值是传输的名称

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

返回值:

传输创建结果

返回类型:

Transfer

delete_transfer(transfer, ignore_missing=True)

删除卷转移

参数:
  • transfer – 该值可以是传输的 ID 或 Transfer` 实例。

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

返回值:

find_transfer(name_or_id, ignore_missing=True)

查找单个传输

参数:
  • name_or_id – 传输的名称或 ID

  • ignore_missing (bool) – 当设置为 False 时,如果卷传输不存在,将引发 NotFoundException

返回值:

One Transfer

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

get_transfer(transfer)

获取单个传输

参数:

transfer – 该值可以是传输的 ID 或 Transfer 实例。

返回值:

One Transfer

引发:

NotFoundException,当找不到资源时。

transfers(*, details=True, all_projects=False, **query)

检索传输生成器

参数:
  • details (bool) – 当设置为 False 时,将不会返回任何扩展属性。默认情况下,True 将返回具有附加属性的对象。

  • all_projects (bool) – 当设置为 True 时,将列出所有项目的传输。默认情况下仅限管理员使用。

  • query (kwargs) – 可选查询参数,用于限制返回的传输。

返回值:

传输对象生成器。

accept_transfer(transfer_id, auth_key)

接受传输

参数:
  • transfer_id – 该值可以是传输的 ID 或 Transfer 实例。

  • auth_key – 用于验证卷传输的密钥。

返回值:

传输创建结果

返回类型:

Transfer

类型操作

class openstack.block_storage.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)
get_type(type)

获取单个类型

参数:

type – 该值可以是类型的 ID 或 Type 实例。

返回值:

One Type

引发:

NotFoundException,当找不到资源时。

types(**query)

检索卷类型生成器

返回值:

卷类型对象生成器。

create_type(**attrs)

从属性创建新的类型

参数:

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

返回值:

类型创建结果

返回类型:

类型

delete_type(type, ignore_missing=True)

删除类型

参数:
  • type – 该值可以是类型的 ID 或 Type 实例。

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

返回值:

卷操作

class openstack.block_storage.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)
get_volume(volume)

获取单个卷

参数:

volume – 该值可以是卷的 ID,也可以是 Volume 实例。

返回值:

一个 Volume

引发:

NotFoundException,当找不到资源时。

find_volume(name_or_id, ignore_missing=True, *, details=True, all_projects=False)

查找单个卷

参数:
  • volume – 卷的名称或 ID

  • ignore_missing (bool) – 如果设置为 False,当卷不存在时会引发 NotFoundException 异常。

  • details (bool) – 如果设置为 False,将不会返回扩展属性。默认情况下,True 会返回包含附加属性的对象。

  • all_projects (bool) – 如果设置为 True,将在所有项目上按名称查找卷。请注意,这可能会增加重复的几率。默认情况下仅限管理员使用。

返回值:

一个 Volume 或 None。

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

volumes(*, details=True, all_projects=False, **query)

检索卷生成器

参数:
  • details (bool) – 当设置为 False 时,将不会返回任何扩展属性。默认情况下,True 将返回具有附加属性的对象。

  • all_projects (bool) – 如果设置为 True,将列出所有项目的卷。默认情况下仅限管理员使用。

  • query (kwargs) –

    可选查询参数,将发送到服务器以限制返回的卷。可用的参数包括

    • name: 卷的名称,字符串类型。

    • status: 卷的状态值,例如“available”用于过滤。

返回值:

卷对象生成器。

create_volume(**attrs)

从属性创建新卷

参数:

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

返回值:

卷创建的结果

返回类型:

Volume

delete_volume(volume, ignore_missing=True, *, force=False, cascade=False)

删除卷

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

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

  • force (bool) – 是否尝试强制删除卷。

  • cascade (bool) – 是否连同卷一起删除任何快照。

返回值:

extend_volume(volume, size)

扩展卷

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • size – 新卷大小

返回值:

retype_volume(volume, new_type, migration_policy='never')

更改卷类型。

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • new_type – 卷更改的新类型。该值可以是卷类型的 ID,也可以是 Type 实例。

  • migration_policy (str) – 指定卷重新类型化时是否应迁移。可能的值为 on-demand 或 never。默认值:never。

返回值:

set_volume_bootable_status(volume, bootable)

设置卷的可启动状态。

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • bootable (bool) – 指定卷是否应可启动。

返回值:

set_volume_image_metadata(volume, **metadata)

更新卷的镜像元数据

参数:
  • volume – 卷的 ID 或 Volume

  • metadata (kwargs) – 要更新到卷的镜像元数据中的键/值对。本次调用不会修改其他元数据。

返回值:

delete_volume_image_metadata(volume, keys=None)

删除卷的元数据

参数:
  • volume – 卷的 ID 或 Volume

  • keys (list) – 要删除的键。如果留空,将删除完整的元数据。

返回值:

reset_volume_status(volume, status=None, attach_status=None, migration_status=None)

重置卷状态。

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • status (str) – 新卷状态。

  • attach_status (str) – 新卷附加状态。

  • migration_status (str) – 新卷迁移状态(仅限管理员)。

返回值:

attach_volume(volume, mountpoint, instance=None, host_name=None)

将卷附加到服务器。

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • mountpoint (str) – 附加的挂载点。

  • instance (str) – 附加实例的 UUID。

  • host_name (str) – 附加主机的名称。

返回值:

detach_volume(volume, attachment, force=False, connector=None)

将卷从服务器分离。

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • attachment (str) – 附加的 ID。

  • force (bool) – 是否强制分离卷(在断开卷连接后回滚未成功分离的操作)。

  • connector (dict) – 连接器对象。

返回值:

unmanage_volume(volume)
从块存储管理中移除卷,而不移除与之关联的后端存储对象。

migrate_volume(volume, host=None, force_host_copy=False, lock_volume=False)

参数:

volume – 该值可以是卷的 ID,也可以是 Volume 实例。

返回值:

将卷迁移到指定的主机。

host (str) – 卷迁移的目标主机。主机格式为 host@backend

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • force_host_copy (bool) – 如果为 false(默认值),则依赖于卷后端驱动程序执行迁移,这可能会得到优化。如果为 true,或者卷驱动程序未能自行迁移卷,则将执行基于主机的通用迁移。

  • lock_volume (bool) – 如果为 true,迁移可用卷会将状态更改为维护状态,从而防止对卷执行其他操作,例如附加、分离、重新类型化等。

  • complete_volume_migration(volume, new_volume, error=False)

返回值:

完成卷的迁移。

new_volume (str) – 新卷的 UUID。

参数:
  • volume – 该值可以是卷的 ID,也可以是 Volume 实例。

  • error (bool) – 用于指示其他地方是否发生错误,需要进行清理。

  • get_volume_metadata(volume)

返回值:

返回卷的元数据字典

一个 Volume,其中包含卷的元数据。所有键和值都是 Unicode 文本。

参数:

volume – 卷的 ID 或 Volume

返回值:

set_volume_metadata(volume, **metadata)

返回类型:

Volume

更新卷的元数据

metadata (kwargs) – 要更新到卷的元数据中的键/值对。本次调用不会修改其他元数据。所有键和值都存储为 Unicode。

参数:
  • volume – 卷的 ID 或 Volume

  • delete_volume_metadata(volume, keys=None)

返回值:

set_volume_metadata(volume, **metadata)

返回类型:

Volume

删除卷的元数据

删除卷的元数据

参数:
  • volume – 卷的 ID 或 Volume

  • keys (list) – 要删除的键。如果留空,将删除完整的元数据。

返回类型:

辅助函数

class openstack.block_storage.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)
wait_for_status(res, status='available', failures=None, interval=2, wait=None, attribute='status', callback=None)

等待资源达到特定状态。

参数:
  • session – 用于进行此请求的会话。

  • resource – 要等待达到状态的资源。资源必须通过 attribute 指定状态属性。

  • status – 期望的资源状态。

  • failures – 将指示转换失败的状态,例如 ‘ERROR’。默认为 [‘ERROR’]。

  • interval – 两次检查之间的秒数。

  • wait – 等待转换的最大秒数。设置为 None 以无限期等待。

  • attribute – 包含状态的资源属性的名称。

  • callback – 回调函数。将使用单个值(进度)调用此函数。此函数特定于 API,但通常是从 0-100 的百分比值。

返回值:

更新后的资源。

引发:

ResourceTimeout 如果在 wait 秒内未能转换为状态。

引发:

ResourceFailure 如果资源转换为 failures 中的状态之一。

引发:

AttributeError 如果资源没有 status 属性

wait_for_delete(res, interval=2, wait=120, callback=None)

等待资源被删除。

参数:
  • res – 要等待被删除的资源。

  • interval – 两次连续检查之间的秒数。

  • wait – 在更改之前等待的最大秒数。

  • callback – 回调函数。将使用单个值(进度)调用此函数,该值是从 0-100 的百分比值。

返回值:

成功时返回资源。

引发:

ResourceTimeout 如果在指定秒数内未能转换为删除状态。