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)
创建镜像并可选地上传数据
创建一个新的镜像。如果提供了
filename或data,它还会将数据上传到此镜像。请注意,上传镜像数据实际上是一个相当复杂的过程。有三种方法可以上传镜像
镜像上传
镜像导入
镜像任务
如果启用了镜像任务 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-download、glance-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 – 上传到所有可用存储。与
store和stores互斥。意味着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-download或copy-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 – 上传到所有可用的存储。与
store和stores互斥。all_stores_must_succeed – 当设置为 True 时,如果在至少一个存储中上传过程中发生错误,工作流将失败,数据将被从已完成复制的存储中删除(不包括暂存),并且镜像的状态不会更改。当设置为 False 时,只有在用户指定的所有存储中导入都失败时,工作流才会失败。在部分成功的情况下,添加到镜像的 location 将是数据已正确上传的存储。
- 返回值:
来自请求的原始响应
- stage_image(image, *, filename=None, data=None)
暂存二进制镜像数据
- upload_image(container_format=None, disk_format=None, data=None, **attrs)
从属性创建并上传新镜像
- 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)
更新镜像
- 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)
从属性创建新成员
有关详细信息,请参阅 镜像共享参考。
- 返回值:
成员创建的结果
- 返回类型:
- 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- 引发:
NotFoundException,当找不到资源时。
- members(image, **query)
返回成员生成器
任务操作¶
- 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)
从属性创建新任务
- 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
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_namespaces_schema()
获取元数据定义命名空间 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_resource_type_schema()
获取元数据定义资源类型关联 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_resource_types_schema()
获取元数据定义资源类型关联 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_object_schema()
获取元数据定义对象 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_objects_schema()
获取元数据定义对象 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_property_schema()
获取元数据定义属性 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_properties_schema()
获取元数据定义属性 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_tag_schema()
获取元数据定义标签 schema
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- get_metadef_tags_schema()
获取元数据定义标签 schema
- 返回值:
- 引发:
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)
返回受支持的镜像存储生成器
- 返回值:
存储对象生成器
- 返回类型:
- 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 命名空间创建的结果
- 返回类型:
- 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实例。- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- metadef_namespaces(**query)
返回 metadef 命名空间生成器
- 返回值:
metadef 命名空间对象生成器
- 返回类型:
- 引发:
NotFoundException,当找不到资源时。
- update_metadef_namespace(metadef_namespace, **attrs)
更新服务器
- 参数:
metadef_namespace – metadef 命名空间的名称或
MetadefNamespace实例。attrs – 要更新的 metadef 命名空间的属性,由
metadef_namespace表示。
- 返回值:
更新后的 metadef 命名空间
- 返回类型:
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 命名空间
- 返回类型:
- get_metadef_object(metadef_object, namespace)
获取单个 metadef 对象
- 参数:
metadef_object – 其值可以是 metadef_object 的 ID,也可以是
MetadefObject实例。namespace – 其值可以是 metadef 命名空间的名称,也可以是
MetadefNamespace实例。
- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- metadef_objects(namespace)
获取命名空间的 metadef 对象列表
- 参数:
namespace – 其值可以是 metadef 命名空间的名称,也可以是
MetadefNamespace实例。- 返回值:
- 引发:
NotFoundException,当找不到资源时。
- update_metadef_object(metadef_object, namespace, **attrs)
更新单个 metadef 对象
- 参数:
metadef_object – 其值可以是 metadef_object 的 ID,也可以是
MetadefObject实例。namespace – 其值可以是 metadef 命名空间的名称,也可以是
MetadefNamespace实例。attrs (dict) – 将用于更新
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 资源类型生成器对象
- 返回类型:
- 引发:
NotFoundException,当找不到资源时。
- create_metadef_resource_type_association(metadef_namespace, **attrs)
- 在命名空间之间创建资源类型关联
以及请求主体中指定的资源类型。
- 参数:
attrs (dict) – 关键字参数,将用于创建
MetadefResourceTypeAssociation,该类由 MetadefResourceTypeAssociation 类中的属性组成。- 返回值:
metadef 资源类型关联创建的结果
- 返回类型:
- 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 资源类型关联生成器对象
- 返回类型:
- 引发:
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 属性
- 返回类型:
- update_metadef_property(metadef_property, metadef_namespace, **attrs)
更新 metadef 属性
- 参数:
metadef_property – 该值可以是 metadef 属性的名称,也可以是
MetadefProperty实例。metadef_namespace – 该值可以是 metadef 命名空间的名称,也可以是
MetadefNamespace实例attrs – 要在
metadef_property表示的 metadef 属性上更新的属性。
- 返回值:
更新的 metadef 属性
- 返回类型:
- 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实例
- 返回值:
- 引发:
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。