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

字典

包含云的认证插件策略所需的认证信息的字典。对于默认的 *password* 插件,这将包含 *auth_url*、*username*、*password*、*project_name* 以及任何有关域的信息(例如,*user_domain_name* 或 *project_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 文件中定义的命名云配置。为 *auth* 和 *auth_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 配置文件,然后来自标准环境变量,最后来自 playbook 中的显式参数。更多信息可以在 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

返回值

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

Key

描述

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