openstack.cloud.object 模块 – 在 OpenStack 云中创建或删除 Swift 对象

注意

此模块是 openstack.cloud 集合(版本 2.3.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install openstack.cloud。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在 playbook 中使用它,请指定:openstack.cloud.object

概要

  • 在 OpenStack 云中创建或删除 Swift 对象

要求

以下要求需要在执行此模块的主机上满足。

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

api_timeout

整数

套接字层在 API 调用超时之前应等待多长时间。如果省略此项,则不会将任何内容传递给 requests 库。

auth

字典

包含云的身份验证插件策略所需的身份验证信息的字典。对于默认的 password 插件,这将包含 auth_urlusernamepasswordproject_name 以及有关域的任何信息(例如,如果云支持它们,则包含 user_domain_nameproject_domain_name)。对于其他插件,此参数将需要包含该身份验证插件所需的任何参数。如果提供了命名云或存在 OpenStack OS_* 环境变量,则不需要此参数。

auth_type

字符串

要使用的身份验证插件的名称。如果云使用密码身份验证以外的其他身份验证,则应在此处指示插件的名称,并相应地更新 auth 参数的内容。

ca_cert

别名:cacert

字符串

CA 证书包的路径,可以用作验证 SSL API 请求的一部分。

client_cert

别名:cert

字符串

用作 SSL 事务一部分的客户端证书的路径。

client_key

别名:key

字符串

用作 SSL 事务一部分的客户端密钥的路径。

cloud

任何类型

要操作的命名云或云配置。如果 cloud 是一个字符串,则它引用 OpenStack clouds.yaml 文件中定义的命名云配置。为 authauth_type 提供默认值。如果提供了 auth 或存在 OpenStack OS_* 环境变量,则不需要此参数。如果 cloud 是一个字典,则它包含一个完整的云配置,就像在 clouds.yaml 的一个部分中一样。

container

字符串 / 必需

要在其中创建对象的容器的名称(和 ID)。

如果此容器尚不存在,则不会创建它。

data

字符串

要上传到对象的内容。

filename 互斥。

无法更新此属性。

filename

字符串

要上传其内容的本地文件的路径。

data 互斥。

interface

别名:endpoint_type

字符串

要从服务目录中获取的端点 URL 类型。

选择

  • "admin"

  • "internal"

  • "public" ← (默认)

name

字符串 / 必需

对象的名称(和 ID)。

region_name

字符串

区域的名称。

sdk_log_level

字符串

OpenStackSDK 的日志级别

选择

  • "INFO" ← (默认)

  • "DEBUG"

sdk_log_path

字符串

OpenStackSDK 的日志文件的路径。如果为空,则不写入日志

state

字符串

对象应该是 present 还是 absent

选择

  • "present" ← (默认)

  • "absent"

timeout

整数

ansible 应等待请求的资源多长时间。

默认值: 180

validate_certs

别名:verify

布尔值

是否应验证 SSL API 请求。

在 Ansible 2.3 之前,默认为 true

选择

  • false

  • true

wait

布尔值

ansible 是否应等待直到请求的资源完成。

选择

  • false

  • true ← (默认)

注释

注意

  • 可以使用标准的 OpenStack 环境变量,例如 OS_USERNAME,而无需提供显式值。

  • 身份验证信息由 openstacksdk 驱动,这意味着值可以来自 /etc/ansible/openstack.yaml、/etc/openstack/clouds.yaml 或 ~/.config/openstack/clouds.yaml 中的 yaml 配置文件,然后来自标准环境变量,最后来自剧本中的显式参数。更多信息可以在 https://docs.openstack.org/openstacksdk/ 中找到。

示例

- name: Create a object named 'fstab' in the 'config' container
  openstack.cloud.object:
    cloud: mordred
    container: config
    filename: /etc/fstab
    name: fstab
    state: present

- name: Delete a container called config and all of its contents
  openstack.cloud.object:
    cloud: rax-iad
    container: config
    state: absent

返回值

常见的返回值在这里有文档说明,以下是此模块独有的字段

描述

对象

字典

描述对象的字典。

返回:statepresent 时成功返回。

accept_ranges

字符串

对象接受的范围类型。

返回: 成功

access_control_allow_origin

字符串

RAX 的 CORS(偏离标准)

返回: 成功

content_disposition

字符串

如果设置,则指定浏览器覆盖行为。例如,此标头可以指定浏览器使用下载程序来保存此文件,而不是显示该文件(默认情况)。如果未设置,则此操作不会返回此标头。

返回: 成功

content_encoding

字符串

如果设置,则为 Content-Encoding 元数据的值。如果未设置,则此操作不会返回此标头。

返回: 成功

content_length

字符串

HEAD 操作不返回内容。但是,在此操作中,Content-Length 标头中的值不是响应主体的大小。相反,它包含对象的大小(以字节为单位)。

返回: 成功

content_type

整数

对象的 MIME 类型。

返回: 成功

copy_from

字符串

如果设置,则为用于通过复制 X-Copy-From 对象来创建新对象的对象名称。该值采用 {container}/{object} 格式。您必须先对容器和对象的名称进行 UTF-8 编码,然后再进行 URL 编码,然后才能将其包含在标头中。使用带有 X-Copy-From 的 PUT 与使用 COPY 操作复制对象具有相同的效果。

返回: 成功

delete_after

整数

指定删除对象之前的秒数。在内部,对象存储系统将此值存储在 X-Delete-At 元数据项中。

返回: 成功

delete_at

字符串

如果设置,则为系统删除对象的时间,格式为 UNIX Epoch 时间戳。如果未设置,则此操作不会返回此标头。

返回: 成功

etag

字符串

对于小于 5 GB 的对象,此值是对象内容的 MD5 校验和。该值未加引号。对于清单对象,此值是清单中每个段的 MD5 校验和和 ETag 连接字符串的 MD5 校验和,而不是下载内容的 MD5 校验和。并且该值用双引号字符括起来。强烈建议您计算收到的响应主体的 MD5 校验和,并将此值与 ETag 标头中的值进行比较。如果它们不同,则内容已损坏,请重试该操作。

返回: 成功

expires_at

字符串

与临时 URL 一起使用以指定签名的到期时间。有关临时 URL 的更多信息,请参阅 OpenStack 对象存储 API v1 参考。

返回: 成功

id

字符串

对象的 ID。等于 name

返回: 成功

if_match

列表 / elements=string

请参阅 http://www.ietf.org/rfc/rfc2616.txt

返回: 成功

if_modified_since

字符串

请参阅 http://www.ietf.org/rfc/rfc2616.txt

返回: 成功

if_none_match

列表 / elements=string

Expect: 100-Continue 结合使用,指定 If-None-Match: * 标头,以查询服务器在发送任何数据之前是否已经有对象的副本。

返回: 成功

if_unmodified_since

字符串

请参阅 http://www.ietf.org/rfc/rfc2616.txt

返回: 成功

is_content_type_detected

布尔值

如果设置为 true,则对象存储会根据文件扩展名猜测内容类型,并忽略 Content-Type 标头中发送的值(如果存在)。

返回: 成功

is_newest

布尔值

如果设置为 True,则对象存储会查询所有副本以返回最新的副本。如果您省略此标头,则对象存储在找到一个有效的副本后会更快地响应。由于将此标头设置为 True 对后端来说成本更高,因此仅在绝对需要时才使用它。

返回: 成功

is_static_large_object

布尔值

如果此对象是静态大对象清单对象,则设置为 True。

返回: 成功

last_modified_at

字符串

对象创建的日期和时间或元数据最后一次更改的时间。

返回: 成功

manifest

字符串

如果存在,则这是一个动态大对象清单对象。该值是段对象的前缀的容器和对象名称,格式为 container/prefix。

返回: 成功

multipart_manifest

字符串

如果包含 multipart-manifest=get 查询参数且该对象是一个大对象,则不会返回对象内容。相反,对于动态大对象,清单将返回在 X-Object-Manifest 响应标头中,对于静态大对象,则返回在响应正文中。

返回: 成功

name

字符串

对象的名称。

返回: 成功

object_manifest

字符串

如果设置,则为动态大对象清单对象。该值是段对象的前缀的容器和对象名称,格式为 container/prefix。

返回: 成功

range

字典

待办事项。

返回: 成功

signature

字符串

与临时 URL 一起使用以签署请求。有关临时 URL 的更多信息,请参阅 OpenStack 对象存储 API v1 参考。

返回: 成功

字符串

如果存在,则这是一个符号链接对象。该值是目标对象的相对路径,格式为 <container>/<object>。

返回: 成功

字符串

如果存在,并且存在 X-Symlink-Target,则这是到值中指定的帐户中的对象的跨帐户符号链接。

返回: 成功

timestamp

字符串

事务的时间戳。

返回: 成功

transfer_encoding

字符串

设置为 chunked 以启用分块传输编码。如果使用,请勿将 Content-Length 标头设置为非零值。

返回: 成功

作者

  • OpenStack Ansible SIG