google.cloud.gcp_storage_bucket 模块 – 创建一个 GCP 存储桶
注意
此模块是 google.cloud 集合 (版本 1.4.1) 的一部分。
如果您正在使用 ansible
包,则可能已经安装了此集合。 它不包含在 ansible-core
中。 要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install google.cloud
。 您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定: google.cloud.gcp_storage_bucket
。
注意
由于违反了 Ansible 包含要求,google.cloud 集合将从 Ansible 12 中删除。 该集合有 未解决的健全性测试失败。 有关更多信息,请参阅讨论主题。
概要
Buckets 资源表示 Google Cloud Storage 中的一个存储桶。所有存储桶共享一个全局命名空间。 有关更多信息,请参阅存储桶名称要求。
存储桶包含可以通过其自己的方法访问的对象。 除了 acl 属性之外,存储桶还包含 bucketAccessControls,用于对现有存储桶的访问控制进行精细操作。
存储桶始终由项目团队所有者组拥有。
要求
执行此模块的主机上需要满足以下要求。
python >= 2.6
requests >= 2.18.4
google-auth >= 1.3.0
参数
参数 |
注释 |
---|---|
如果凭证类型为 accesstoken,则为 OAuth2 访问令牌。 |
|
存储桶上的访问控制。 |
|
存储桶的名称。 此字段表示指向 GCP 中 Bucket 资源的链接。 可以通过两种方式指定它。 首先,您可以放置一个带有键“name”和您的资源名称值的字典。 或者,您可以将 `register: name-of-resource` 添加到 gcp_storage_bucket 任务,然后将此 bucket 字段设置为“{{ name-of-resource }}” |
|
持有权限的实体,采用以下形式之一:user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers 示例:用户 liz@example.com 将是 user-liz@example.com。 组 example@googlegroups.com 将是 group-example@googlegroups.com。 要引用 Google Apps for Business 域 example.com 的所有成员,实体将是 domain-example.com。 |
|
实体的 ID。 |
|
与实体关联的项目团队。 |
|
与实体关联的项目团队。 |
|
团队。 一些有效的选择包括:“editors”、“owners”、“viewers” |
|
实体的访问权限。 一些有效的选择包括:“OWNER”、“READER”、“WRITER” |
|
使用的凭证类型。 选择
|
|
存储桶的跨域资源共享 (CORS) 配置。 |
|
在预检响应中使用的 Access-Control-Max-Age 标头中返回的值(以秒为单位)。 |
|
要包含 CORS 响应标头的 HTTP 方法列表(GET、OPTIONS、POST 等) 注意:“*”允许在方法列表中,表示“任何方法”。 |
|
有资格接收 CORS 响应标头的 Origins 列表。 注意:“*”允许在来源列表中,表示“任何来源”。 |
|
除了简单的响应标头之外,允许用户代理跨域共享的 HTTP 标头列表。 |
|
是否自动将 eventBasedHold 应用于添加到存储桶的新对象。 选择
|
|
当未提供 ACL 时,应用于新对象的默认访问控制。 |
|
存储桶的名称。 此字段表示指向 GCP 中 Bucket 资源的链接。 可以通过两种方式指定它。 首先,您可以放置一个带有键“name”和您的资源名称值的字典。 或者,您可以将 `register: name-of-resource` 添加到 gcp_storage_bucket 任务,然后将此 bucket 字段设置为“{{ name-of-resource }}” |
|
权限的持有者,以下列形式之一表示:* user-{{userId}} * user-{{email}} (例如 “user-liz@example.com”) * group-{{groupId}} * group-{{email}} (例如 “group-example@googlegroups.com”) * domain-{{domain}} (例如 “domain-example.com”) * project-team-{{projectId}} * allUsers * allAuthenticatedUsers 。 |
|
如果应用于对象,则为对象的名称。 |
|
实体的访问权限。 一些有效选项包括:“OWNER”、“READER” |
|
指定您正在其中运行此 Ansible 模块的环境。 除非您知道自己在做什么,否则不应设置此项。 这只会更改任何 API 请求的 User Agent 字符串。 |
|
应用于此存储桶的标签。键值对列表。 |
|
存储桶的生命周期配置。 有关更多信息,请参阅 https://developers.google.com/storage/docs/lifecycle。 |
|
生命周期管理规则,由要执行的操作和执行操作的条件组成。 |
|
要执行的操作。 |
|
目标存储类别。如果操作类型为 SetStorageClass,则为必需项。 |
|
操作的类型。目前,仅支持 Delete 和 SetStorageClass。 一些有效选项包括:“Delete”、“SetStorageClass” |
|
执行操作的条件。 |
|
对象的存在时间(以天为单位)。当对象达到指定存在时间时,将满足此条件。 |
|
仅包含日期部分的 RFC 3339 格式的日期(例如,“2013-01-15”)。当对象在 UTC 时间指定日期的午夜之前创建时,将满足此条件。 |
|
YYYY-MM-DD 格式的 RFC 3339 格式的日期。当对象的 customTime 元数据设置为早于此生命周期条件中使用的日期时,将满足此条件。 |
|
自对象的 customTime 元数据中设置的日期起的天数。当当前日期和时间至少在 customTime 之后指定的的天数时,将满足此条件。 |
|
仅与版本化对象相关。当对象处于非当前状态超过指定天数时,将满足此条件。 |
|
仅与版本化对象相关。如果值为 true,则此条件匹配活动对象;如果值为 false,则匹配存档对象。 选择
|
|
具有此条件指定的任何存储类别的对象将被匹配。值包括 MULTI_REGIONAL、REGIONAL、NEARLINE、COLDLINE、ARCHIVE、STANDARD 和 DURABLE_REDUCED_AVAILABILITY。 |
|
仅与版本化对象相关。YYYY-MM-DD 格式的 RFC 3339 格式的日期。对于在早于此条件中指定的日期的日期变为非当前状态的对象,将满足此条件。 |
|
仅与版本化对象相关。如果该值为 N,则当存在至少 N 个版本(包括活动版本)比该对象版本新时,将满足此条件。 |
|
存储桶的位置。存储桶中对象的对象数据位于此区域内的物理存储中。默认为 US。有关权威列表,请参阅开发者指南。 |
|
存储桶的日志记录配置,它定义了当前存储桶日志的目标存储桶和可选名称前缀。 |
|
应放置当前存储桶日志的目标存储桶。 |
|
日志对象名称的前缀。 |
|
此存储桶的元数据生成。 |
|
存储桶的名称。 |
|
存储桶的所有者。这始终是项目团队的所有者组。 |
|
形式为 project-owner-projectId 的实体。 |
|
将一组预定义的默认对象访问控制应用于此存储桶。 可接受的值为: - “authenticatedRead”:对象所有者获得 OWNER 访问权限,并且 allAuthenticatedUsers 获得 READER 访问权限。
一些有效选项包括:“authenticatedRead”、“bucketOwnerFullControl”、“bucketOwnerRead”、“private”、“projectPrivate”、“publicRead” |
|
要使用的 Google Cloud Platform 项目。 |
|
要使用的范围数组 |
|
服务帐户 JSON 文件的内容,可以是字典形式,也可以是表示它的 JSON 字符串。 |
|
如果选择了 machineaccount 并且用户不希望使用默认电子邮件,则可选的服务帐户电子邮件地址。 |
|
如果选择 serviceaccount 作为类型,则为服务帐户 JSON 文件的路径。 |
|
给定对象是否应存在于 GCP 中 选择
|
|
存储桶的默认存储类别,在为新创建的对象未指定 storageClass 时使用。这定义了存储桶中对象的存储方式,并确定了 SLA 和存储成本。 值包括 MULTI_REGIONAL、REGIONAL、STANDARD、NEARLINE、COLDLINE、ARCHIVE 和 DURABLE_REDUCED_AVAILABILITY。如果创建存储桶时未指定此值,则默认为 STANDARD。有关更多信息,请参阅存储类别。 一些有效选项包括:“MULTI_REGIONAL”、“REGIONAL”、“STANDARD”、“NEARLINE”、“COLDLINE”、“ARCHIVE”、“DURABLE_REDUCED_AVAILABILITY” |
|
存储桶的版本控制配置。 |
|
设置为 true 时,此存储桶将完全启用版本控制。 选择
|
|
存储桶的网站配置,控制将存储桶内容作为网站访问时服务的行为。有关更多信息,请参阅静态网站示例。 |
|
如果请求的对象路径缺失,服务将确保该路径带有尾随“/”,附加此后缀,并尝试检索结果对象。这允许创建 index.html 对象以表示目录页面。 |
|
如果请求的对象路径缺失,并且任何 mainPageSuffix 对象缺失(如果适用),则服务将从此存储桶返回名为该对象的对象作为 404 Not Found 结果的内容。 |
示例
- name: create a bucket
google.cloud.gcp_storage_bucket:
name: ansible-storage-module
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
返回值
常见返回值在此处记录 此处,以下是此模块独有的字段
Key |
描述 |
---|---|
存储桶上的访问控制。 Returned: 成功 |
|
存储桶的名称。 Returned: 成功 |
|
与实体关联的域。 Returned: 成功 |
|
与实体关联的电子邮件地址。 Returned: 成功 |
|
权限的持有者,以下列形式之一表示:user-userId user-email group-groupId group-email domain-domain project-team-projectId allUsers allAuthenticatedUsers。示例:用户 liz@example.com 将为 user-liz@example.com。 组 example@googlegroups.com 将为 group-example@googlegroups.com。 要引用 Google Apps for Business 域 example.com 的所有成员,实体将是 domain-example.com。 Returned: 成功 |
|
实体的 ID。 Returned: 成功 |
|
访问控制条目的 ID。 Returned: 成功 |
|
与实体关联的项目团队。 Returned: 成功 |
|
与实体关联的项目团队。 Returned: 成功 |
|
团队。 Returned: 成功 |
|
实体的访问权限。 Returned: 成功 |
|
存储桶的跨域资源共享 (CORS) 配置。 Returned: 成功 |
|
在预检响应中使用的 Access-Control-Max-Age 标头中返回的值(以秒为单位)。 Returned: 成功 |
|
要包含 CORS 响应标头的 HTTP 方法列表(GET、OPTIONS、POST 等) 注意:“*”允许在方法列表中,表示“任何方法”。 Returned: 成功 |
|
有资格接收 CORS 响应标头的 Origins 列表。 注意:“*”允许在来源列表中,表示“任何来源”。 Returned: 成功 |
|
除了简单的响应标头之外,允许用户代理跨域共享的 HTTP 标头列表。 Returned: 成功 |
|
是否自动将 eventBasedHold 应用于添加到存储桶的新对象。 Returned: 成功 |
|
当未提供 ACL 时,应用于新对象的默认访问控制。 Returned: 成功 |
|
存储桶的名称。 Returned: 成功 |
|
与实体关联的域。 Returned: 成功 |
|
与实体关联的电子邮件地址。 Returned: 成功 |
|
权限的持有者,以下列形式之一表示:* user-{{userId}} * user-{{email}} (例如 “user-liz@example.com”) * group-{{groupId}} * group-{{email}} (例如 “group-example@googlegroups.com”) * domain-{{domain}} (例如 “domain-example.com”) * project-team-{{projectId}} * allUsers * allAuthenticatedUsers 。 Returned: 成功 |
|
实体的 ID。 Returned: 成功 |
|
如果应用于对象,则为对象的内容生成。 Returned: 成功 |
|
访问控制条目的 ID。 Returned: 成功 |
|
如果应用于对象,则为对象的名称。 Returned: 成功 |
|
与实体关联的项目团队。 Returned: 成功 |
|
与实体关联的项目团队。 Returned: 成功 |
|
团队。 Returned: 成功 |
|
实体的访问权限。 Returned: 成功 |
|
存储桶的 ID。对于存储桶,id 和 name 属性相同。 Returned: 成功 |
|
应用于此存储桶的标签。键值对列表。 Returned: 成功 |
|
生命周期管理规则,由要执行的操作和执行操作的条件组成。 Returned: 成功 |
|
要执行的操作。 Returned: 成功 |
|
目标存储类别。如果操作类型为 SetStorageClass,则为必需项。 Returned: 成功 |
|
操作的类型。目前,仅支持 Delete 和 SetStorageClass。 Returned: 成功 |
|
执行操作的条件。 Returned: 成功 |
|
对象的存在时间(以天为单位)。当对象达到指定存在时间时,将满足此条件。 Returned: 成功 |
|
仅包含日期部分的 RFC 3339 格式的日期(例如,“2013-01-15”)。当对象在 UTC 时间指定日期的午夜之前创建时,将满足此条件。 Returned: 成功 |
|
YYYY-MM-DD 格式的 RFC 3339 格式的日期。当对象的 customTime 元数据设置为早于此生命周期条件中使用的日期时,将满足此条件。 Returned: 成功 |
|
自对象的 customTime 元数据中设置的日期起的天数。当当前日期和时间至少在 customTime 之后指定的的天数时,将满足此条件。 Returned: 成功 |
|
仅与版本化对象相关。当对象处于非当前状态超过指定天数时,将满足此条件。 Returned: 成功 |
|
仅与版本化对象相关。如果值为 true,则此条件匹配活动对象;如果值为 false,则匹配存档对象。 Returned: 成功 |
|
具有此条件指定的任何存储类别的对象将被匹配。值包括 MULTI_REGIONAL、REGIONAL、NEARLINE、COLDLINE、ARCHIVE、STANDARD 和 DURABLE_REDUCED_AVAILABILITY。 Returned: 成功 |
|
仅与版本化对象相关。YYYY-MM-DD 格式的 RFC 3339 格式的日期。对于在早于此条件中指定的日期的日期变为非当前状态的对象,将满足此条件。 Returned: 成功 |
|
仅与版本化对象相关。如果该值为 N,则当存在至少 N 个版本(包括活动版本)比该对象版本新时,将满足此条件。 Returned: 成功 |
|
存储桶的位置。存储桶中对象的对象数据位于此区域内的物理存储中。默认为 US。有关权威列表,请参阅开发者指南。 Returned: 成功 |
|
存储桶的日志记录配置,它定义了当前存储桶日志的目标存储桶和可选名称前缀。 Returned: 成功 |
|
应放置当前存储桶日志的目标存储桶。 Returned: 成功 |
|
日志对象名称的前缀。 Returned: 成功 |
|
此存储桶的元数据生成。 Returned: 成功 |
|
存储桶的名称。 Returned: 成功 |
|
存储桶的所有者。这始终是项目团队的所有者组。 Returned: 成功 |
|
形式为 project-owner-projectId 的实体。 Returned: 成功 |
|
实体的 ID。 Returned: 成功 |
|
将一组预定义的默认对象访问控制应用于此存储桶。 可接受的值为: - “authenticatedRead”:对象所有者获得 OWNER 访问权限,并且 allAuthenticatedUsers 获得 READER 访问权限。
Returned: 成功 |
|
有效的 API 项目标识符。 Returned: 成功 |
|
存储桶所属项目的项目编号。 Returned: 成功 |
|
存储桶的默认存储类别,在为新创建的对象未指定 storageClass 时使用。这定义了存储桶中对象的存储方式,并确定了 SLA 和存储成本。 值包括 MULTI_REGIONAL、REGIONAL、STANDARD、NEARLINE、COLDLINE、ARCHIVE 和 DURABLE_REDUCED_AVAILABILITY。如果创建存储桶时未指定此值,则默认为 STANDARD。有关更多信息,请参阅存储类别。 Returned: 成功 |
|
RFC 3339 格式的存储桶创建时间。 Returned: 成功 |
|
RFC 3339 格式的存储桶修改时间。 Returned: 成功 |
|
存储桶的版本控制配置。 Returned: 成功 |
|
设置为 true 时,此存储桶将完全启用版本控制。 Returned: 成功 |
|
存储桶的网站配置,控制将存储桶内容作为网站访问时服务的行为。有关更多信息,请参阅静态网站示例。 Returned: 成功 |
|
如果请求的对象路径缺失,服务将确保该路径带有尾随“/”,附加此后缀,并尝试检索结果对象。这允许创建 index.html 对象以表示目录页面。 Returned: 成功 |
|
如果请求的对象路径缺失,并且任何 mainPageSuffix 对象缺失(如果适用),则服务将从此存储桶返回名为该对象的对象作为 404 Not Found 结果的内容。 Returned: 成功 |