openstack.cloud.object_container 模块 – 管理 Swift 容器。

注意

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

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

要安装它,请使用:ansible-galaxy collection install openstack.cloud。您需要更多要求才能使用此模块,有关详细信息,请参见 要求

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

概要

  • 创建、更新和删除 Swift 容器。

要求

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

  • python >= 3.6

  • openstacksdk >= 1.0.0

参数

参数

注释

api_timeout

整数

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

auth

字典

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

auth_type

字符串

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

ca_cert

别名:cacert

字符串

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

client_cert

别名:cert

字符串

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

client_key

别名:key

字符串

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

cloud

任意

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

delete_metadata_keys

别名:keys

列表 / 元素=字符串

要删除的 metadata 中的键。

metadata 优先于 delete_metadata_keys:如果任何键同时存在于两个选项中,则它将被创建或更新,而不是删除。

元数据键不区分大小写。

delete_with_all_objects

布尔值

是否应递归删除容器,即包括其所有对象。

如果 delete_with_all_objects 设置为 false,则尝试删除包含对象的容器将失败。

选择

  • false ←(默认)

  • true

interface

别名:endpoint_type

字符串

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

选择

  • "admin"

  • "internal"

  • "public" ←(默认)

metadata

字典

要设置为容器元数据的键值对。

可以设置自定义元数据和系统元数据。

自定义元数据是用户定义的键和值。

metadata 与使用 openstack container set --property ... 在 openstackclient 中设置属性相同。

元数据键不区分大小写。

name

别名:container

字符串 / 必需

Swift 容器的名称(和 ID)。

read_ACL

字符串

授予读取访问权限的 ACL。

例如,使用 .r:*,.rlistings 表示公共访问,使用 '' 表示私有访问。

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 ← (默认)

write_ACL

字符串

授予写入权限的 ACL。

注释

注意

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

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

示例

- name: Create empty container with public access
  openstack.cloud.object_container:
    name: "new-container"
    state: present
    read_ACL: ".r:*,.rlistings"

- name: Set metadata for container
  openstack.cloud.object_container:
    name: "new-container"
    metadata:
      'Cache-Control': 'no-cache'
      'foo': 'bar'

- name: Delete metadata keys of a container
  openstack.cloud.object_container:
    name: "new-container"
    delete_metadata_keys:
      - foo

- name: Delete container
  openstack.cloud.object_container:
    name: "new-container"
    state: absent

- name: Delete container and all its objects
  openstack.cloud.object_container:
    name: "new-container"
    delete_with_all_objects: true
    state: absent

返回值

常用返回值在 此处 中记录,以下是此模块特有的字段

描述

container

字典

描述 Swift 容器的字典。

返回:statepresent 时成功返回。

bytes

整数

容器在对象存储中存储的总字节数。

返回: 成功

示例: 5449

bytes_used

整数

已使用的总字节数。

返回: 成功

示例: 5449

content_type

字符串

名称列表的 MIME 类型。

返回: 成功

count

整数

容器中的对象数。

返回: 成功

示例: 1

history_location

字符串

启用容器的版本控制。

返回: 成功

id

字符串

容器的 ID。等于 name

返回: 成功

示例: "otc"

if_none_match

字符串

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

返回: 成功

is_content_type_detected

布尔值

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

返回: 成功

is_newest

布尔值

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

返回: 成功

meta_temp_url_key

字符串

临时 URL 的密钥值。如果未设置,则此操作不会返回此标头。

返回: 成功

meta_temp_url_key_2

字符串

临时 URL 的第二个密钥值。如果未设置,则此操作不会返回此标头。

返回: 成功

name

字符串

容器的名称。

返回: 成功

示例: "otc"

object_count

整数

对象的数量。

返回: 成功

示例: 1

read_ACL

字符串

授予读取权限的 ACL。如果未设置,则此操作不会返回此标头。

返回: 成功

storage_policy

字符串

容器使用的存储策略。无法更改现有容器的策略。

返回: 成功

sync_key

字符串

容器同步的密钥。如果未设置,则此操作不会返回此标头。

返回: 成功

sync_to

字符串

容器同步的目标。如果未设置,则此操作不会返回此标头。

返回: 成功

timestamp

字符串

事务的时间戳。

返回: 成功

versions_location

字符串

在此容器上启用版本控制。 该值是另一个容器的名称。您必须先 UTF-8 编码,然后对名称进行 URL 编码,然后才能将其包含在标头中。要禁用版本控制,请将标头设置为空字符串。

返回: 成功

write_ACL

字符串

授予写入权限的 ACL。如果未设置,则此操作不会返回此标头。

返回: 成功

作者

  • OpenStack Ansible SIG