Image API v2

有关如何使用镜像的详细信息,请参阅 使用 OpenStack Image

Image v2 类

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

镜像操作

class openstack.image.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_image(name, *, filename=None, data=None, container=None, md5=None, sha256=None, disk_format=None, container_format=None, tags=None, disable_vendor_agent=True, allow_duplicates=False, meta=None, wait=False, timeout=3600, validate_checksum=False, use_import=False, import_method=None, uri=None, remote_region=None, remote_image_id=None, remote_service_interface=None, stores=None, all_stores=None, all_stores_must_succeed=None, **kwargs)

创建镜像并可选地上传数据

创建一个新的镜像。如果提供了 filenamedata,它还会将数据上传到此镜像。

请注意,上传镜像数据实际上是一个相当复杂的过程。有三种方法可以上传镜像

  • 镜像上传

  • 镜像导入

  • 镜像任务

如果启用了镜像任务 API,则必须使用它。但是,此 API 自 Image 服务 Mitaka (12.0.0) 版本以来已被弃用,现在仅供管理员使用。假设未启用此 API,您可以在镜像上传或镜像导入之间进行选择。镜像导入功能更强大,允许您从多个来源上传数据,包括其他 glance 实例。应在所有支持它的服务上优先使用它。

参数:
  • name (str) – 要创建的镜像的名称。如果它是镜像的路径名,则名称将从路径的基本名称(不带扩展名)构造而来。

  • filename (str) – 要上传的文件的路径(如果需要)。(可选,默认为 None)

  • data – 镜像数据(字符串或类文件对象)。它与 filename 互斥

  • container (str) – 如果云需要这样做,则在 swift 中上传镜像以进行导入的容器的名称。(可选,默认为“images”)

  • md5 (str) – 镜像文件的 md5 校验和。如果未提供,将计算 md5 校验和。

  • sha256 (str) – 镜像文件的 sha256 校验和。如果未提供,将计算 md5 校验和。

  • disk_format (str) – 镜像的磁盘格式。(可选,默认为此云的 os-client-config 配置值)

  • container_format (str) – 镜像的容器格式。(可选,默认为此云的 os-client-config 配置值)

  • tags (list) – 此镜像的标签列表。每个标签都是一个最多 255 个字符的字符串。

  • disable_vendor_agent (bool) – 是否附加元数据标志以告知相关云,不要期望运行供应商代理。 (可选,默认为 True)

  • allow_duplicates – 如果为 true,则跳过强制唯一镜像名称的检查。(可选,默认为 False)

  • meta – 用于绕过自动类型转换的键/值对的字典。

  • wait (bool) – 如果为 true,则等待镜像创建。默认为 true - 但是,请注意,其中一种上传方法始终是同步的。

  • timeout – 等待镜像创建的秒数。None 是永久。

  • validate_checksum (bool) – 如果为 true 并且云返回校验和,则将返回值与计算或传递到此调用的校验和进行比较。如果值不匹配 - 则引发异常。默认值为“false”

  • use_import (bool) – 使用“glance-direct”方法进行可互操作的镜像导入机制,以导入镜像。默认值为 false,因为它对目标云的压力更大,因此仅在需要时才使用,例如当用户需要云转换镜像格式时。如果云已禁用直接上传,则默认值为 true。如果您想使用其他导入方法,请使用 import_image 方法。

  • import_method – 用于导入镜像的方法。并非所有部署都支持所有方法。以下选项之一:glance-direct (默认值)、web-downloadglance-download (copy-image 不与 create 一起使用)。使用 glance-direct 需要首先暂存镜像。

  • uri – 仅在使用 web-download 导入方法时才需要。此 URL 是数据在 Image 服务中可用的位置。

  • remote_region – 使用 glance-download 时从远程 glance 下载镜像的远程区域。

  • remote_image_id – 使用 glance-download 时从远程 glance 导入的镜像的 ID。

  • remote_service_interface – 使用 glance-download 时的远程 glance 服务接口。

  • stores – 当 glance 中启用了 enabled_backends 时要使用的存储列表。列表值可以是存储的 ID 或 Store 实例。意味着 use_import 等于 True

  • all_stores – 上传到所有可用存储。与 storestores 互斥。意味着 use_import 等于 True

  • all_stores_must_succeed – 当设置为 True 时,如果在至少一个存储中发生错误,则工作流将失败,数据将从已复制数据(而非暂存)的存储中删除,并且镜像的状态不会更改。当设置为 False 时,只有在用户指定的的所有存储上都发生故障时,工作流才会失败。在部分成功的情况下,添加到镜像的存储位置将是已正确上传数据的存储位置。默认值为 True。意味着 use_import 等于 True

传递给镜像创建的额外关键字参数将作为镜像的额外元数据,除了 min_disk、min_ram、size 和 virtual_size 将转换为整数外,所有值都将转换为字符串。

如果您确定您的数据类型都正确,或者有高级需求需要显式指定,请使用 meta。如果您只是一个普通用户,使用关键字参数可能是正确的选择。

如果值同时存在于 meta 和 kwargs 中,meta 优先。

返回值:

镜像创建的结果

返回类型:

镜像

引发:

上传过程中出现问题时会引发 SDKException

import_image(image, method='glance-direct', *, uri=None, remote_region=None, remote_image_id=None, remote_service_interface=None, store=None, stores=None, all_stores=None, all_stores_must_succeed=None)

将数据导入到现有镜像

Image API v2.6 中引入了可互操作的镜像导入流程。它主要允许从外部 URL 导入镜像,并让镜像服务自行下载,而无需在创建镜像时发送二进制数据。

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

  • method – 用于导入镜像的方法。并非所有部署都支持所有方法。选项包括:glance-direct (默认), web-download, glance-downloadcopy-image。使用 glance-direct 需要先暂存镜像。

  • uri – 仅在使用 web-download 导入方法时才需要。此 URL 是数据在 Image 服务中可用的位置。

  • remote_region – 使用 glance-download 时从远程 glance 下载镜像的远程区域。

  • remote_image_id – 使用 glance-download 时从远程 glance 导入的镜像的 ID。

  • remote_service_interface – 使用 glance-download 时的远程 glance 服务接口。

  • store – 当 glance 中激活 enabled_backends 时使用。该值可以是存储的 ID 或 Store 实例。

  • stores – 当 glance 中激活 enabled_backends 时要使用的存储列表。列表值可以是存储的 ID 或 Store 实例。

  • all_stores – 上传到所有可用的存储。与 storestores 互斥。

  • all_stores_must_succeed – 当设置为 True 时,如果在至少一个存储中上传过程中发生错误,工作流将失败,数据将被从已完成复制的存储中删除(不包括暂存),并且镜像的状态不会更改。当设置为 False 时,只有在用户指定的所有存储中导入都失败时,工作流才会失败。在部分成功的情况下,添加到镜像的 location 将是数据已正确上传的存储。

返回值:

来自请求的原始响应

stage_image(image, *, filename=None, data=None)

暂存二进制镜像数据

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

  • filename – 可选的文件名,用于读取数据。

  • data – 可选的数据,作为镜像上传。

返回值:

镜像创建的结果

返回类型:

镜像

upload_image(container_format=None, disk_format=None, data=None, **attrs)

从属性创建并上传新镜像

参数:
  • container_format – 容器的格式。有效值包括 ami、ari、aki、bare、ovf、ova 或 docker。

  • disk_format – 磁盘的格式。有效值包括 ami、ari、aki、vhd、vmdk、raw、qcow2、vdi 或 iso。

  • data – 作为镜像上传的数据。

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

返回值:

镜像创建的结果

返回类型:

镜像

download_image(image, *, stream=False, output=None, chunk_size=1048576)

下载镜像

stream=False 时,这将把镜像下载到内存中,或者当 stream=True 时,允许使用迭代器进行流式下载。有关使用流式响应的示例,请参阅 使用 stream=True 下载镜像

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

  • stream (bool) –

    True 时,返回一个 requests.Response 实例,允许您迭代响应数据流,而不是将其全部存储在内存中。有关更多详细信息,请参阅 requests.Response.iter_content()

    注意:如果您没有消耗完整个响应,则必须显式调用 requests.Response.close(),否则可能会导致 requests 库处理连接时出现效率低下。

    False 时,返回响应的全部内容。

  • output – 一个文件对象或用于存储数据的路径。

  • chunk_size (int) – 从线路读取和缓冲一次的大小,以字节为单位。默认为 1024 * 1024 = 1 MiB

返回值:

当未提供 output 时 - 包含给定 Image 的字节,当 stream 为 False 时,否则为 requests.Response 实例。当提供 output 时 - 一个 Image 实例。

delete_image(image, *, store=None, ignore_missing=True)

删除镜像

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

  • store – 该值可以是存储的 ID 或 Store 实例,镜像与之关联。如果指定,镜像将仅从指定的存储中删除。

  • 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

get_image(image)

获取单个镜像

参数:

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

返回值:

一个 Image

引发:

NotFoundException,当找不到资源时。

images(**query)

返回镜像生成器

参数:

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

返回值:

镜像对象生成器

返回类型:

镜像

update_image(image, **attrs)

更新镜像

参数:
  • image – 镜像的 ID 或 Image 实例。

  • attrs – 要更新到 image 表示的镜像上的属性。

返回值:

更新后的镜像

返回类型:

镜像

deactivate_image(image)

停用镜像

参数:

image – 镜像的 ID 或 Image 实例。

返回值:

reactivate_image(image)

重新激活镜像

参数:

image – 镜像的 ID 或 Image 实例。

返回值:

add_tag(image, tag)

将标签添加到镜像

参数:
  • image – 该值可以是镜像的 ID 或 Image 实例,成员将在其上创建。

  • tag (str) – 要添加的标签

返回值:

remove_tag(image, tag)

从镜像中删除标签

参数:
  • image – 该值可以是镜像的 ID 或 Image 实例,成员将在其上创建。

  • tag (str) – 要删除的标签

返回值:

镜像任务操作

class openstack.image.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)
image_tasks(image)

返回镜像任务的生成器

参数:

image – 该值可以是镜像的名称或 Image 实例。

返回值:

一个镜像任务生成器对象

返回类型:

class:

~openstack.image.v2.image_tasks.ImageTasks

引发:

NotFoundException,当找不到资源时。

成员操作

class openstack.image.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_member(image, **attrs)

从属性创建新成员

参数:
  • image – 该值可以是镜像的 ID 或 Image 实例,成员将在其上创建。

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

有关详细信息,请参阅 镜像共享参考

返回值:

成员创建的结果

返回类型:

成员

remove_member(member, image=None, ignore_missing=True)

删除成员

参数:
  • member – 该值可以是成员的 ID 或 Member 实例。

  • image – 该值可以是镜像的 ID 或 Image 实例,成员是其一部分。如果 member 是 ID,则需要此项。

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

返回值:

find_member(name_or_id, image, ignore_missing=True)

查找单个成员

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

  • image – 这是成员所属的镜像,其值可以是镜像的 ID,也可以是 Image 实例。

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

返回值:

一个 Member 或 None

get_member(member, image)

获取镜像上的单个成员

参数:
  • member – 其值可以是成员的 ID,也可以是 Member 实例。

  • image – 成员所属的镜像。其值可以是镜像的 ID,也可以是 Image 实例。

返回值:

一个 Member

引发:

NotFoundException,当找不到资源时。

members(image, **query)

返回成员生成器

参数:
  • image – 这是成员所属的镜像,其值可以是镜像的 ID,也可以是 Image 实例。

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

返回值:

成员对象生成器

返回类型:

成员

update_member(member, image, **attrs)

更新镜像的成员

参数:
  • member – 成员的 ID 或 Member 实例。

  • image – 成员所属的镜像。其值可以是镜像的 ID,也可以是 Image 实例。

  • attrs – 要更新的成员的属性,由 member 表示。

有关详细信息,请参阅 镜像共享参考

返回值:

更新后的成员

返回类型:

成员

任务操作

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

返回任务生成器

参数:

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

返回值:

任务对象生成器

返回类型:

任务

get_task(task)

获取任务详情

参数:

task – 其值可以是任务的 ID,也可以是 Task 实例。

返回值:

一个 Task

引发:

NotFoundException,当找不到资源时。

create_task(**attrs)

从属性创建新任务

参数:

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

返回值:

任务创建的结果

返回类型:

任务

wait_for_task(task, status='success', failures=None, interval=2, wait=120)

等待任务达到特定状态。

参数:
  • task – 要等待以达到指定状态的资源。该资源必须具有 status 属性。

  • status – 所需状态。

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

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

  • wait – 在指定秒数内未能过渡到所需状态时引发的超时秒数。默认为 120。

返回值:

成功时返回资源。

引发:

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

引发:

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

引发:

AttributeError 如果资源没有 status 属性。

Schema 操作

class openstack.image.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_images_schema()

获取镜像 schema

返回值:

一个 Schema

引发:

NotFoundException,当找不到资源时。

get_image_schema()

获取单个镜像 schema

返回值:

一个 Schema

引发:

NotFoundException,当找不到资源时。

get_members_schema()

获取镜像成员 schema

返回值:

一个 Schema

引发:

NotFoundException,当找不到资源时。

get_member_schema()

获取镜像成员 schema

返回值:

一个 Schema

引发:

NotFoundException,当找不到资源时。

get_tasks_schema()

获取镜像任务 schema

返回值:

一个 Schema

引发:

NotFoundException,当找不到资源时。

get_task_schema()

获取镜像任务 schema

返回值:

一个 Schema

引发:

NotFoundException,当找不到资源时。

get_metadef_namespace_schema()

获取元数据定义命名空间 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_namespaces_schema()

获取元数据定义命名空间 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_resource_type_schema()

获取元数据定义资源类型关联 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_resource_types_schema()

获取元数据定义资源类型关联 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_object_schema()

获取元数据定义对象 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_objects_schema()

获取元数据定义对象 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_property_schema()

获取元数据定义属性 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_properties_schema()

获取元数据定义属性 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_tag_schema()

获取元数据定义标签 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

get_metadef_tags_schema()

获取元数据定义标签 schema

返回值:

一个 MetadefSchema

引发:

NotFoundException,当找不到资源时。

服务信息发现操作

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

返回受支持的镜像存储生成器

返回值:

存储对象生成器

返回类型:

Store

get_import_info()

获取镜像约束信息

返回值:

一个 Import

引发:

NotFoundException,当找不到资源时。

Metadef 命名空间操作

class openstack.image.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_metadef_namespace(**attrs)

从属性创建新的 metadef 命名空间

参数:

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

返回值:

metadef 命名空间创建的结果

返回类型:

MetadefNamespace

delete_metadef_namespace(metadef_namespace, ignore_missing=True)

删除 metadef 命名空间

参数:
  • metadef_namespace – 其值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例。

  • ignore_missing (bool) – 当设置为 False 时,如果 metadef 命名空间不存在,将引发 NotFoundException

返回值:

get_metadef_namespace(metadef_namespace)

获取单个 metadef 命名空间

参数:

metadef_namespace – metadef 命名空间的名称或 MetadefNamespace 实例。

返回值:

一个 MetadefNamespace

引发:

NotFoundException,当找不到资源时。

metadef_namespaces(**query)

返回 metadef 命名空间生成器

返回值:

metadef 命名空间对象生成器

返回类型:

MetadefNamespace

引发:

NotFoundException,当找不到资源时。

update_metadef_namespace(metadef_namespace, **attrs)

更新服务器

参数:
  • metadef_namespace – metadef 命名空间的名称或 MetadefNamespace 实例。

  • attrs – 要更新的 metadef 命名空间的属性,由 metadef_namespace 表示。

返回值:

更新后的 metadef 命名空间

返回类型:

MetadefNamespace

Metadef 对象操作

class openstack.image.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_metadef_object(namespace, **attrs)

从命名空间创建新对象

参数:
  • namespace – 其值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例。

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

返回值:

一个 metadef 命名空间

返回类型:

MetadefObject

get_metadef_object(metadef_object, namespace)

获取单个 metadef 对象

参数:
  • metadef_object – 其值可以是 metadef_object 的 ID,也可以是 MetadefObject 实例。

  • namespace – 其值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例。

返回值:

一个 MetadefObject

引发:

NotFoundException,当找不到资源时。

metadef_objects(namespace)

获取命名空间的 metadef 对象列表

参数:

namespace – 其值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例。

返回值:

一个 MetadefObject

引发:

NotFoundException,当找不到资源时。

update_metadef_object(metadef_object, namespace, **attrs)

更新单个 metadef 对象

参数:
  • metadef_object – 其值可以是 metadef_object 的 ID,也可以是 MetadefObject 实例。

  • namespace – 其值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例。

  • attrs (dict) – 将用于更新 MetadefObject 的关键字参数

返回值:

一个 MetadefObject

引发:

NotFoundException,当找不到资源时。

delete_metadef_object(metadef_object, namespace, **attrs)

移除单个 metadef 对象

参数:
  • metadef_object – 其值可以是 metadef_object 的 ID,也可以是 MetadefObject 实例。

  • namespace – 其值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例。

  • attrs (dict) – 将用于更新 MetadefObject 的关键字参数

返回值:

引发:

NotFoundException,当找不到资源时。

Metadef 资源类型操作

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

返回 metadef 资源类型生成器

返回值:

metadef 资源类型生成器对象

返回类型:

MetadefResourceType

引发:

NotFoundException,当找不到资源时。

create_metadef_resource_type_association(metadef_namespace, **attrs)
在命名空间之间创建资源类型关联

以及请求主体中指定的资源类型。

参数:

attrs (dict) – 关键字参数,将用于创建 MetadefResourceTypeAssociation,该类由 MetadefResourceTypeAssociation 类中的属性组成。

返回值:

metadef 资源类型关联创建的结果

返回类型:

MetadefResourceTypeAssociation

delete_metadef_resource_type_association(metadef_resource_type, metadef_namespace, ignore_missing=True)

移除命名空间中的资源类型关联。

参数:
  • metadef_resource_type – 该值可以是 metadef 资源类型关联的名称,也可以是 MetadefResourceTypeAssociation 实例。

  • metadef_namespace – 该值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例

  • ignore_missing (bool) – 当设置为 False 时,如果 metadef 资源类型关联不存在,将引发 NotFoundException

返回值:

metadef_resource_type_associations(metadef_namespace, **query)

返回 metadef 资源类型关联生成器

参数:

metadef_namespace – 该值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例

返回值:

metadef 资源类型关联生成器对象

返回类型:

MetadefResourceTypeAssociation

引发:

NotFoundException,当找不到资源时。

Metadef 属性操作

class openstack.image.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_metadef_property(metadef_namespace, **attrs)

创建 metadef 属性

参数:
  • metadef_namespace – 该值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例

  • attrs – 要在 metadef_property 表示的 metadef 属性上创建的属性。

返回值:

创建的 metadef 属性

返回类型:

MetadefProperty

update_metadef_property(metadef_property, metadef_namespace, **attrs)

更新 metadef 属性

参数:
  • metadef_property – 该值可以是 metadef 属性的名称,也可以是 MetadefProperty 实例。

  • metadef_namespace – 该值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例

  • attrs – 要在 metadef_property 表示的 metadef 属性上更新的属性。

返回值:

更新的 metadef 属性

返回类型:

MetadefProperty

delete_metadef_property(metadef_property, metadef_namespace, ignore_missing=True)

删除 metadef 属性

参数:
  • metadef_property – 该值可以是 metadef 属性的名称,也可以是 MetadefProperty 实例

  • metadef_namespace – 该值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例

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

返回值:

get_metadef_property(metadef_property, metadef_namespace, **query)

获取单个 metadef 属性

参数:
  • metadef_property – 该值可以是 metadef 属性的名称,也可以是 MetadefProperty 实例。

  • metadef_namespace – 该值可以是 metadef 命名空间的名称,也可以是 MetadefNamespace 实例

返回值:

一个 MetadefProperty

引发:

NotFoundException,当找不到资源时。

辅助函数

class openstack.image.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 如果在指定秒数内未能转换为删除状态。

缓存操作

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

从缓存中删除镜像。

参数:
  • image – 该值可以是镜像的名称或 Image 实例。

  • ignore_missing (bool) – 当设置为 False 时,如果 metadef 命名空间不存在,将引发 NotFoundException

返回值:

queue_image(image_id)

将镜像排队进行缓存。

clear_cache(target='both')

清除缓存、队列或两者中的所有镜像

参数:

target – 指定要清除的目标,可以是以下之一:both``(默认), ``cache, queue