Compute API

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

计算类

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

服务器操作

class openstack.compute.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_server(**attrs)

从属性创建新服务器

参数:

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

返回值:

服务器创建的结果

返回类型:

服务器

delete_server(server, ignore_missing=True, force=False)

删除服务器

参数:
  • server – 该值可以是服务器的 ID 或 Server 实例。

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

  • force (bool) – 当设置为 True 时,将立即强制删除服务器。

返回值:

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

查找单个服务器

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

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

  • details (bool) – 当设置为 False 时,将返回仅包含基本数据的实例。默认情况下,True 将导致返回包含完整数据的实例。

  • all_projects (bool) – 当设置为 True 时,跨所有项目按名称搜索服务器。默认情况下仅限管理员使用。

返回值:

一个 Server 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

get_server(server)

获取单个服务器

参数:

server – 该值可以是服务器的 ID 或 Server 实例。

返回值:

一个 Server

引发:

NotFoundException,当找不到资源时。

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

检索服务器生成器

参数:
  • details (bool) – 当设置为 False 时,将返回仅包含基本数据的实例。默认情况下,True 将导致返回包含完整数据的实例。

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

  • query (kwargs) – 可选的查询参数,将发送到限制返回的服务器。可用的参数可以在 https://docs.openstack.org/api-ref/compute/#list-servers 下查看

返回值:

服务器实例的生成器。

update_server(server, **attrs)

更新服务器

参数:
  • server – 服务器的 ID 或 Server 实例。

  • attrs – 要更新 server 所表示的服务器上的属性。

返回值:

更新的服务器

返回类型:

服务器

create_server_image(server, name, metadata=None, wait=False, timeout=120)

从服务器创建镜像

参数:
  • server – 服务器的 ID 或 Server 实例。

  • name (str) – 要创建的镜像的名称。

  • metadata (dict) – 要设置为镜像的元数据字典。

返回值:

Image 对象。

backup_server(server, name, backup_type, rotation)

备份服务器

参数:
  • server – 服务器的 ID 或 Server 实例。

  • name – 备份镜像的名称。

  • backup_type – 备份的类型,例如,daily。

  • rotation – 备份镜像的轮换,当镜像数量超过轮换数量时,最旧的镜像将被删除。

返回值:

get_server_metadata(server)

返回服务器的元数据字典

参数:

server – 服务器的 ID 或 ServerServerDetail 实例。

返回值:

一个 Server,其中包含服务器的元数据。所有键和值都是 Unicode 文本。

返回类型:

服务器

set_server_metadata(server, **metadata)

更新服务器的元数据

参数:
  • server – 服务器的 ID 或 Server 实例。

  • metadata (kwargs) – 要更新在服务器元数据中的键/值对。此调用不会修改其他元数据。所有键和值都存储为 Unicode。

返回值:

一个 Server,其中仅包含服务器的元数据。所有键和值都是 Unicode 文本。

返回类型:

服务器

delete_server_metadata(server, keys=None)

删除服务器的元数据

注意:此方法将为 keys 中的每个键执行一个 HTTP DELETE 请求。

参数:
  • server – 服务器的 ID 或 Server 实例。

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

返回类型:

wait_for_server(server, status='ACTIVE', failures=None, interval=2, wait=120, callback=None)

等待服务器达到特定状态。

参数:
  • server (Server:) – 要等待达到指定状态的 Server

  • status (str) – 期望的状态。

  • failures (list) – 被解释为失败的状态列表。

  • interval (int) – 连续检查之间的秒数。默认为 2。

  • wait – 在超时前等待的最大秒数。默认为 120。

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

返回值:

成功时返回资源。

引发:

ResourceTimeout 如果在指定秒数内未能过渡到期望状态。

引发:

ResourceFailure 如果资源已过渡到其中一个失败状态。

引发:

AttributeError 如果资源没有 status 属性。

网络操作

class openstack.compute.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)
fetch_server_security_groups(server)

获取服务器的安全组详细信息。

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

更新的 Server 实例

add_security_group_to_server(server, security_group)

将安全组添加到服务器

参数:
  • server – 服务器的 ID 或 Server 实例。

  • security_group – 安全组的 ID 或名称,或者一个 SecurityGroup 实例。

返回值:

remove_security_group_from_server(server, security_group)

从服务器移除安全组

参数:
  • server – 服务器的 ID 或 Server 实例。

  • security_group – 安全组的 ID 或名称,或者一个 SecurityGroup 实例。

返回值:

add_fixed_ip_to_server(server, network_id)

为服务器实例添加一个固定的 IP 地址。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • network_id – 要分配固定 IP 地址的网络 ID。

返回值:

remove_fixed_ip_from_server(server, address)

从服务器实例移除一个固定的 IP 地址。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • address – 要从服务器解关联的固定 IP 地址。

返回值:

add_floating_ip_to_server(server, address, fixed_address=None)

为服务器实例添加一个浮动 IP 地址。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • address – 要添加到服务器的浮动 IP 地址。

  • fixed_address – 要与浮动 IP 地址关联的固定 IP 地址。当服务器连接到多个网络时使用。

返回值:

remove_floating_ip_from_server(server, address)

从服务器实例移除一个浮动 IP 地址。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • address – 要从服务器解关联的浮动 IP 地址。

返回值:

启动、停止等

class openstack.compute.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)
reboot_server(server, reboot_type)

重启服务器

参数:
  • server – 服务器的 ID 或 Server 实例。

  • reboot_type (str) – 要执行的重启类型。“HARD”和“SOFT”是当前选项。

返回值:

pause_server(server)

暂停服务器并将其状态更改为 PAUSED

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

unpause_server(server)

取消暂停已暂停的服务器并将其状态更改为 ACTIVE

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

suspend_server(server)

挂起服务器并将其状态更改为 SUSPENDED

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

resume_server(server)

恢复已挂起的服务器并将其状态更改为 ACTIVE

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

lock_server(server, locked_reason=None)

锁定服务器。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • locked_reason – 锁定服务器的原因。长度限制为 255 个字符。

返回值:

unlock_server(server)

解锁锁定的服务器。

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

rescue_server(server, admin_pass=None, image_ref=None)

将服务器置于救援模式并将其状态更改为 RESCUE

参数:
  • server – 服务器的 ID 或 Server 实例。

  • admin_pass – 救援服务器的密码。如果省略此参数,则操作将生成新密码。

  • image_ref – 用于救援服务器的镜像引用。可以是镜像 ID 或其完整 URL。如果省略此参数,将使用基本镜像引用。

返回值:

unrescue_server(server)

取消救援服务器并将其状态更改为 ACTIVE

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

evacuate_server(server, host=None, admin_pass=None, force=None, *, on_shared_storage=None)

将服务器从故障主机迁移到新主机。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • host – 一个可选参数,用于指定要迁移服务器的主机名称或 ID。

  • admin_pass – 一个可选参数,用于指定访问已迁移或重建服务器的管理员密码。

  • force – 通过不让调度器验证提供的目标主机来强制执行迁移。(API 版本 2.29 中新增)。

  • on_shared_storage – 主机是否使用共享存储。(可选)(仅在 API 版本 2.14 之前支持)

返回值:

start_server(server)

启动已停止的服务器并将其状态更改为 ACTIVE

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

stop_server(server)

停止正在运行的服务器并将其状态更改为 SHUTOFF

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

restore_server(server)

恢复一个软删除的服务器。

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

shelve_server(server)

将服务器置于搁置状态。

所有相关的数据和资源都保留,但仍存在于内存中的内容不会保留。策略默认设置仅允许具有管理员角色或服务器所有者执行此操作。云提供商可以更改此权限。

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

unshelve_server(server, *, host=None, availability_zone=<openstack.types.Unset object>)

取消搁置或恢复搁置的服务器。

策略默认设置仅允许具有管理员角色或服务器所有者执行此操作。云提供商可以更改此权限。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • host – 一个可选参数,用于指定要取消搁置到的计算主机。(API 版本 2.91 中新增)。

返回值:

migrate_server(server, host=None)

将服务器从一个主机迁移到另一个主机

参数:
  • server – 服务器的 ID 或 Server 实例。

  • host (str) – 要迁移服务器到的主机。

返回值:

live_migrate_server(server, host=None, force=False, block_migration=None, disk_over_commit=None)

将服务器从一个主机实时迁移到目标主机

参数:
  • server – 服务器的 ID 或 Server 实例。

  • host (str) – 要迁移服务器到的主机。如果 Nova 服务太旧,则 host 参数意味着 force=True,这将导致 Nova 调度器被绕过。在这样的云中,如果未提供 force,则会引发 ValueError

  • force (bool) – 强制执行实时迁移,方法是不让调度器验证提供的目标主机。这不安全,不建议使用。

  • block_migration – 执行到目标主机的块实时迁移,由调度器决定。可以是“auto”、“True”或“False”。某些云太旧,不支持“auto”,在这种情况下会引发 ValueError。

  • disk_over_commit – 是否允许在目标主机上进行磁盘过度承诺。(可选)

返回值:

修改服务器

class openstack.compute.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)
change_server_password(server, new_password)

更改管理员密码

参数:
  • server – 服务器的 ID 或 Server 实例。

  • new_password (str) – 要设置的新密码。

返回值:

get_server_password(server)

获取管理员密码

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

加密的密码。

reset_server_state(server, state)

重置服务器状态

参数:
  • server – 服务器可以是服务器的 ID 或 Server

  • state – 要设置的服务器状态,“active”或“error”是有效选项。

返回值:

rebuild_server(server, image, **attrs)

重建服务器

参数:
  • server – 服务器的 ID 或 Server 实例。

  • name (str) – 服务器的名称

  • admin_password (str) – 管理员密码

  • preserve_ephemeral (bool) – 指示是否在重建时保留临时分区。默认值:False

  • image (str) – 用于重建的镜像 ID。默认值:None

  • access_ipv4 (str) – 要重建的 IPv4 地址。默认值:None

  • access_ipv6 (str) – 要重建的 IPv6 地址。默认值:None

  • metadata (dict) – 要重建的元数据字典。默认值:None

  • personality – 一个字典列表,每个字典包含一个 path 和一个 contents 键,将在启动时注入到重建的服务器中。默认值:None

返回值:

重建的 Server 实例。

resize_server(server, flavor)

调整服务器大小

参数:
  • server – 服务器的 ID 或 Server 实例。

  • flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

返回值:

confirm_server_resize(server)

确认服务器大小调整

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

revert_server_resize(server)

撤销服务器大小调整

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

镜像操作

class openstack.compute.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)
delete_image(image, ignore_missing=True)

删除镜像

参数:
  • image – 该值可以是镜像的 ID,也可以是 Image 实例。

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

返回值:

find_image(name_or_id, ignore_missing=True)

查找单个镜像

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

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

返回值:

一个 Image 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

get_image(image)

获取单个镜像

参数:

image – 该值可以是镜像的 ID,也可以是 Image 实例。

返回值:

一个 Image

引发:

NotFoundException,当找不到资源时。

images(details=True, **query)

返回镜像生成器

参数:
  • details (bool) – 当 True 时,返回带有所有可用属性的 Image 对象,否则仅返回基本属性。默认值: ``True``

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

返回值:

镜像对象生成器

get_image_metadata(image)

返回镜像的元数据字典

参数:

image – 该值可以是镜像的 ID,也可以是 Image 实例。

返回值:

一个仅包含镜像元数据的 Image。所有键和值都是 Unicode 文本。

返回类型:

镜像

set_image_metadata(image, **metadata)

更新镜像的元数据

参数:
  • image – 该值可以是镜像的 ID,也可以是 Image 实例。

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

返回值:

一个仅包含镜像元数据的 Image。所有键和值都是 Unicode 文本。

返回类型:

镜像

delete_image_metadata(image, keys=None)

删除镜像的元数据

注意:此方法将为 keys 中的每个键执行一个 HTTP DELETE 请求。

参数:
  • image – 该值可以是镜像的 ID,也可以是 Image 实例。

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

返回类型:

风味操作

class openstack.compute.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_flavor(name_or_id, ignore_missing=True, *, get_extra_specs=False, **query)

查找单个风味

参数:
  • 名称或 ID – 风味的名称或 ID。

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

  • get_extra_specs (bool) – 当设置为 True 且响应中不存在 extra_specs 时,将调用额外的 API 调用来获取 extra_specs。

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

返回值:

一个 Flavor 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

create_flavor(**attrs)

从属性创建新的 flavor

参数:

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

返回值:

flavor 创建的结果

返回类型:

风味

delete_flavor(flavor, ignore_missing=True)

Delete a flavor

参数:
  • flavor – 该值可以是 flavor 的 ID,也可以是 Flavor 实例。

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

返回值:

get_flavor(flavor, get_extra_specs=False)

获取单个 flavor

参数:
  • flavor – 该值可以是 flavor 的 ID,也可以是 Flavor 实例。

  • get_extra_specs (bool) – 当设置为 True 且响应中不存在 extra_specs 时,将调用额外的 API 调用来获取 extra_specs。

返回值:

一个 Flavor

引发:

NotFoundException,当找不到资源时。

flavors(details=True, get_extra_specs=False, **query)

返回 flavor 的生成器

参数:
  • details (bool) – 当 True 时,返回带有附加属性的 Flavor 对象。

  • get_extra_specs (bool) – 当设置为 True 且响应中不存在 extra_specs 时,将调用额外的 API 调用来获取 extra_specs。

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

返回值:

风味对象生成器

flavor_add_tenant_access(flavor, tenant)

添加 tenant/项目对 flavor 的访问权限。

参数:
  • flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

  • tenant (str) – tenant 的 UUID。

返回值:

一个 Flavor

flavor_remove_tenant_access(flavor, tenant)

删除 tenant/项目对 flavor 的访问权限。

参数:
  • flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

  • tenant (str) – tenant 的 UUID。

返回值:

一个 Flavor

get_flavor_access(flavor)

列出具有对私有 flavor 访问权限的 tenants

参数:

flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

返回值:

包含 flavor_id 和 tenant_id 属性的字典列表。

fetch_flavor_extra_specs(flavor)

列出 flavor 的 Extra Specs

参数:

flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

返回值:

一个 Flavor

create_flavor_extra_specs(flavor, extra_specs)

列出 flavor 的 Extra Specs

参数:
  • flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

  • extra_specs (dict) – extra specs 字典

返回值:

一个 Flavor

get_flavor_extra_specs_property(flavor, prop)

获取 flavor 的特定 Extra Spec 属性

参数:
  • flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

  • prop (str) – 属性名称。

返回值:

请求属性的字符串值。

update_flavor_extra_specs_property(flavor, prop, val)

更新 flavor 的特定 Extra Spec 属性

参数:
  • flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

  • prop (str) – 属性名称。

  • val (str) – 属性值。

返回值:

请求属性的字符串值。

delete_flavor_extra_specs_property(flavor, prop)

删除 flavor 的特定 Extra Spec 属性

参数:
  • flavor – 可以是 flavor 的 ID,也可以是 Flavor 实例。

  • prop (str) – 属性名称。

返回值:

服务操作

class openstack.compute.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)
update_service_forced_down(service, host=None, binary=None, forced=True)

更新 service forced_down 信息

参数:
  • service – 可以是 service 的 ID,也可以是 Service 实例。

  • host (str) – service 运行的主机。

  • binary (str) – service 的名称。

  • forced (bool) – 服务在被 fencing 之后,是否被管理员手动强制关闭。

返回值:

更新的服务实例

返回类型:

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

disable_service(service, host=None, binary=None, disabled_reason=None)

禁用服务

参数:
  • service – 可以是 service 的 ID,也可以是 Service 实例。

  • host (str) – service 运行的主机。

  • binary (str) – service 的名称。

  • disabled_reason (str) – 强制关闭服务的理由。

返回值:

更新的服务实例

返回类型:

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

enable_service(service, host=None, binary=None)

启用服务

参数:
  • service – 可以是 service 的 ID,也可以是 Service 实例。

  • host (str) – service 运行的主机。

  • binary (str) – service 的名称。

返回值:

更新的服务实例

返回类型:

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

services(**query)

返回服务生成器

Params dict query:

查询参数

返回值:

service 的生成器

返回类型:

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

find_service(name_or_id, ignore_missing=True, **query)

从名称或 ID 查找 service,以获取相应的详细信息

参数:
  • name_or_id – service 的名称或 ID

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

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

返回值:

一个: class:~openstack.compute.v2.service.Service 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

delete_service(service, ignore_missing=True)

删除服务

参数:
  • service – 该值可以是 service 的 ID,也可以是 Service 实例。

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

返回值:

update_service(service, **attrs)

更新 service

参数:
  • service – 可以是 service 的 ID,也可以是 Service 实例。

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

返回值:

更新后的 service

返回类型:

服务

卷附件操作

class openstack.compute.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_volume_attachment(server, volume=None, **attrs)

从属性创建新的卷附件

参数:
  • server – 该值可以是服务器的 ID,也可以是 Server 实例,卷将附加到该服务器。

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

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

返回值:

卷附件创建的结果

返回类型:

VolumeAttachment

update_volume_attachment(server, volume, volume_id=None, **attrs)

更新卷附件

请注意,底层的 API 需要卷 ID,而不是卷附加 ID。目前无法通过自身的 ID 更新卷附加。

参数:
  • server – 该值可以是服务器的 ID,也可以是 Server 实例,卷将附加到该服务器。

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

  • volume_id – 要交换到的卷的 ID。如果未指定此项,我们将默认不交换卷。

  • attrs – 要在 volume_attachment 表示的卷附加上更新的属性。

返回值:

delete_volume_attachment(server, volume, ignore_missing=True)

删除卷附加

请注意,底层的 API 需要卷 ID,而不是卷附加 ID。目前无法通过自身的 ID 删除卷附加。

参数:
  • server – 该值可以是服务器的 ID,也可以是 Server 实例,卷将附加到该服务器。

  • volume – 该值可以是卷的 ID 或 Volume 实例。

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

返回值:

get_volume_attachment(server, volume)

获取单个卷附加

请注意,底层的 API 需要卷 ID,而不是卷附加 ID。目前无法通过自身的 ID 检索卷附加。

参数:
  • server – 该值可以是服务器的 ID,也可以是 Server 实例,卷将附加到该服务器。

  • volume – 该值可以是卷的 ID 或 Volume 实例。

返回值:

一个 VolumeAttachment

引发:

NotFoundException,当找不到资源时。

volume_attachments(server, **query)

返回卷附加生成器

参数:

server – 服务器可以是服务器的 ID 或 Server

Params dict query:

查询参数

返回值:

VolumeAttachment 对象生成器

返回类型:

VolumeAttachment

密钥对操作

class openstack.compute.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_keypair(**attrs)

从属性创建新的密钥对

参数:

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

返回值:

密钥对创建的结果

返回类型:

Keypair

delete_keypair(keypair, ignore_missing=True, user_id=None)

删除密钥对

参数:
  • keypair – 该值可以是密钥对的 ID 或 Keypair 实例。

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

  • user_id (str) – 拥有密钥对的可选用户 ID

返回值:

get_keypair(keypair, user_id=None)

获取单个密钥对

参数:
  • keypair – 该值可以是密钥对的 ID 或 Keypair 实例。

  • user_id (str) – 拥有密钥对的可选用户 ID

返回值:

一个 Keypair

引发:

NotFoundException,当找不到资源时。

find_keypair(name_or_id, ignore_missing=True, *, user_id=None)

查找单个密钥对

参数:
  • name_or_id – 密钥对的名称或 ID。

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

  • user_id (str) – 拥有密钥对的可选用户 ID

返回值:

一个 Keypair 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

keypairs(**query)

返回密钥对生成器

参数:

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

返回值:

密钥对对象生成器

返回类型:

Keypair

服务器 IP

class openstack.compute.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)
server_ips(server, network_label=None)

返回服务器 IP 生成器

参数:
  • server – 服务器可以是服务器的 ID 或 Server

  • network_label – 要列出 IP 地址的特定网络的名称。

返回值:

ServerIP 对象生成器

返回类型:

ServerIP

服务器组操作

class openstack.compute.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_server_group(**attrs)

从属性创建新的服务器组

参数:

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

返回值:

服务器组创建的结果

返回类型:

ServerGroup

delete_server_group(server_group, ignore_missing=True)

删除服务器组

参数:
  • server_group – 该值可以是服务器组的 ID 或 ServerGroup 实例。

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

返回值:

find_server_group(name_or_id, ignore_missing=True, *, all_projects=False)

查找单个服务器组

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

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

  • all_projects (bool) – 如果设置为 True,则跨所有项目按名称搜索服务器组。请注意,这可能会导致重复的概率更高。默认情况下仅限管理员。

返回值:

一个 ServerGroup 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

get_server_group(server_group)

获取单个服务器组

参数:

server_group – 该值可以是服务器组的 ID 或 ServerGroup 实例。

返回值:

一个 ServerGroup 对象。

引发:

NotFoundException,当找不到资源时。

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

返回服务器组生成器

参数:
  • all_projects (bool) – 如果设置为 True,则列出所有项目的服务器组。默认情况下仅限管理员。

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

返回值:

ServerGroup 对象生成器

返回类型:

ServerGroup

服务器接口操作

class openstack.compute.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_server_interface(server, **attrs)

从属性创建新的服务器接口

参数:
  • server – 服务器可以是服务器的 ID 或属于该接口的 Server 实例。

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

返回值:

服务器接口创建的结果

返回类型:

ServerInterface

delete_server_interface(server_interface, server=None, ignore_missing=True)

删除服务器接口

参数:
  • server_interface – 该值可以是服务器接口的 ID 或 ServerInterface 实例。

  • server – 当 ServerInterface ID 作为值提供时,需要指定此参数。它可以是接口所属的服务器的 ID 或 Server 实例。

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

返回值:

get_server_interface(server_interface, server=None)

获取单个服务器接口

参数:
  • server_interface – 该值可以是服务器接口的 ID 或 ServerInterface 实例。

  • server – 当 ServerInterface ID 作为值提供时,需要指定此参数。它可以是接口所属的服务器的 ID 或 Server 实例。

返回值:

一个 ServerInterface

引发:

NotFoundException,当找不到资源时。

server_interfaces(server, **query)

返回服务器接口的生成器

参数:
  • server – 服务器可以是服务器的 ID 或 Server

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

返回值:

ServerInterface 对象的生成器

返回类型:

ServerInterface

服务器标签操作

class openstack.compute.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)
add_tag_to_server(server, tag)

向服务器添加标签。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • tag – 要添加的标签。

返回值:

remove_tag_from_server(server, tag)

从服务器移除标签。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • tag – 要移除的标签。

返回值:

remove_tags_from_server(server)

移除服务器的所有标签。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • tag – 要移除的标签。

返回值:

可用区操作

class openstack.compute.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)
availability_zones(details=False)

返回可用区的生成器

参数:

details (bool) – 返回可用区额外详细信息。默认值为 False,因为它通常需要额外的权限。

返回值:

可用区生成器

返回类型:

AvailabilityZone

限制操作

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

检索应用于项目帐户的限制

返回值:

Limits 对象,包括 AbsoluteLimitsRateLimits

返回类型:

限制

Hypervisor 操作

class openstack.compute.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)
hypervisors(details=False, **query)

返回 hypervisor 的生成器

参数:
  • details (bool) – 当设置为默认值 False 时,Hypervisor 实例将只填充基本信息。

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

返回值:

hypervisor 生成器

返回类型:

class: ~openstack.compute.v2.hypervisor.Hypervisor

find_hypervisor(name_or_id, ignore_missing=True, *, details=True)

查找单个 hypervisor

参数:
  • name_or_id – hypervisor 的名称或 ID

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

  • details (bool) – 当设置为 False 时,将返回仅包含基本数据的实例。默认情况下,True 将导致返回包含完整数据的实例。

返回值:

One: class:~openstack.compute.v2.hypervisor.Hypervisor 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

get_hypervisor(hypervisor)

获取单个 hypervisor

参数:

hypervisor – 该值可以是 hypervisor 的 ID 或 Hypervisor 实例。

返回值:

一个 Hypervisor 对象。

引发:

NotFoundException,当找不到资源时。

get_hypervisor_uptime(hypervisor)

获取 hypervisor 的运行时间信息

参数:

hypervisor – 该值可以是 hypervisor 的 ID 或 Hypervisor 实例。

返回值:

一个 Hypervisor 对象。

引发:

NotFoundException,当找不到资源时。

扩展操作

class openstack.compute.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_extension(name_or_id, ignore_missing=True)

查找单个扩展

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

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

返回值:

One Extension 或 None

引发:

NotFoundException,当找不到资源时。

引发:

DuplicateResource 当找到多个资源时。

extensions()

检索扩展生成器

返回值:

扩展实例生成器。

返回类型:

Extension

QuotaClassSet 操作

class openstack.compute.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 – 要么是配额类集的 ID(仅支持 default),要么是 QuotaClassSet 实例。

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

返回值:

更新的 QuotaSet

返回类型:

QuotaSet

QuotaSet 操作

class openstack.compute.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) – 要使用的其他查询参数。

返回值:

One QuotaSet

引发:

NotFoundException,当找不到资源时。

get_quota_set_defaults(project)

显示项目的 QuotaSet 默认值。

参数:

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

返回值:

One QuotaSet

引发:

NotFoundException,当找不到资源时。

revert_quota_set(project, **query)

重置项目/用户的配额。

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

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

返回值:

update_quota_set(project, **attrs, user=None)

更新配额集合。

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

  • user_id – 可选的用户 ID,用于设置配额。

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

返回值:

更新的 QuotaSet

返回类型:

QuotaSet

服务器迁移操作

class openstack.compute.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)
abort_server_migration(server_migration, server, ignore_missing=True)

中止正在进行的服务器迁移

参数:
  • server_migration – 该值可以是服务器迁移的 ID 或 ServerMigration 实例。

  • server – 当提供 ServerMigration ID 时,需要指定此参数。它可以是服务器的 ID 或 Server 实例,该迁移属于该服务器。

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

返回值:

force_complete_server_migration(server_migration, server=None)

强制完成正在进行的服务器迁移

参数:
  • server_migration – 该值可以是服务器迁移的 ID 或 ServerMigration 实例。

  • server – 当提供 ServerMigration ID 时,需要指定此参数。它可以是服务器的 ID 或 Server 实例,该迁移属于该服务器。

返回值:

get_server_migration(server_migration, server, ignore_missing=True)

获取单个服务器迁移

参数:
  • server_migration – 该值可以是服务器迁移的 ID 或 ServerMigration 实例。

  • server – 当提供 ServerMigration ID 时,需要指定此参数。它可以是服务器的 ID 或 Server 实例,该迁移属于该服务器。

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

返回值:

One ServerMigration

引发:

NotFoundException,当找不到资源时。

server_migrations(server)

返回服务器的迁移生成器。

参数:

server – 服务器可以是服务器的 ID 或 Server

返回值:

ServerMigration 对象生成器

返回类型:

ServerMigration

迁移操作

class openstack.compute.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)
migrations(**query)

返回所有服务器的迁移生成器。

参数:

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

返回值:

Migration 对象生成器

返回类型:

迁移

交互式控制台

class openstack.compute.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_server_remote_console(server, **attrs)

在服务器上创建远程控制台。

参数:

server – 服务器的 ID 或 Server 实例。

返回值:

One ServerRemoteConsole

get_server_console_url(server, console_type)

在服务器上创建远程控制台。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • console_type – 控制台连接的类型。

返回值:

包含控制台类型和 URL 的字典

validate_console_auth_token(console_token)

查找控制台身份验证令牌的控制台连接信息。

参数:

console_token – 从 get_server_console_url 的 URL 中返回的控制台身份验证令牌。

返回值:

包含连接详细信息的字典,因控制台类型而异。

get_server_console_output(server, length=None)

返回服务器的控制台输出。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • length – 可选的行数,从控制台日志的末尾获取。如果未指定,将返回所有行。

返回值:

控制台输出作为字典。控制字符将被转义以创建有效的 JSON 字符串。

create_console(server, console_type, console_protocol=None)

在服务器上创建远程控制台。

当支持的微版本高于 2.6 时,创建远程控制台,否则发出弃用的调用以获取服务器控制台。

参数:
  • server – 服务器的 ID 或 Server 实例。

  • console_type – 远程控制台的类型。支持的值如下:* novnc * spice-html5 * rdp-html5 * serial * webmks(在 2.8 之后支持)* spice-direct(在 2.99 之后支持)

  • console_protocol – 可选的控制台协议(仅在微版本 2.6 之后才受尊重)。

返回值:

包含控制台类型、连接详细信息(URL)和可选协议的字典。

辅助函数

class openstack.compute.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_delete(res, interval=2, wait=120, callback=None)

等待资源被删除。

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

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

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

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

返回值:

成功时返回资源。

引发:

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