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 响应标头的来源列表。 注意:“*”允许在来源列表中,表示“任何来源”。 |
|
除了简单响应标头之外的 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 请求的用户代理字符串。 |
|
应用于此存储桶的标签。一个键->值对的列表。 |
|
存储桶的生命周期配置。 有关更多信息,请参见 https://developers.google.com/storage/docs/lifecycle。 |
|
生命周期管理规则,由要执行的操作和执行该操作的条件组成。 |
|
要执行的操作。 |
|
目标存储类别。如果操作类型为 SetStorageClass,则为必需。 |
|
操作类型。目前,仅支持 Delete 和 SetStorageClass。 一些有效的选择包括:“Delete”,“SetStorageClass” |
|
执行操作的条件。 |
|
对象的存在天数(以天为单位)。当对象达到指定天数时,满足此条件。 |
|
采用 RFC 3339 格式的日期,仅包含日期部分(例如,“2013-01-15”)。当对象在 UTC 时间指定日期的午夜之前创建时,满足此条件。 |
|
采用 RFC 3339 格式 YYYY-MM-DD 的日期。当对象的 customTime 元数据设置为早于此生命周期条件中使用的日期的日期时,满足此条件。 |
|
自对象 customTime 元数据中设置的日期起的天数。当当前日期和时间至少是 customTime 之后指定的天数时,满足此条件。 |
|
仅与版本化对象相关。当对象处于非当前状态的时间超过指定天数时,满足此条件。 |
|
仅与版本化对象相关。如果值为 true,则此条件匹配活动对象;如果值为 false,则匹配已存档的对象。 选择
|
|
将匹配具有此条件指定的任何存储类别的对象。值包括 MULTI_REGIONAL、REGIONAL、NEARLINE、COLDLINE、ARCHIVE、STANDARD 和 DURABLE_REDUCED_AVAILABILITY。 |
|
仅与版本化对象相关。采用 RFC 3339 格式 YYYY-MM-DD 的日期。对于在早于此条件中指定的日期成为非当前状态的对象,满足此条件。 |
|
仅与版本化对象相关。如果该值为 N,则当存在至少 N 个比此对象版本更新的版本(包括活动版本)时,满足此条件。 |
|
存储桶的位置。存储桶中对象的对象数据驻留在此区域内的物理存储中。默认为美国。请参阅开发者指南以获取权威列表。 |
|
存储桶的日志记录配置,它定义了当前存储桶日志的目标存储桶和可选名称前缀。 |
|
应放置当前存储桶日志的目标存储桶。 |
|
日志对象名称的前缀。 |
|
此存储桶的元数据生成。 |
|
存储桶的名称。 |
|
存储桶的所有者。这始终是项目团队的所有者组。 |
|
该实体,形式为 project-owner-projectId。 |
|
对此存储桶应用一组预定义的默认对象访问控制。 可接受的值为:- “authenticatedRead”:对象所有者获得 OWNER 访问权限,所有已通过身份验证的用户获得 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 |
描述 |
---|---|
存储桶上的访问控制。 返回:成功 |
|
存储桶的名称。 返回:成功 |
|
与实体关联的域。 返回:成功 |
|
与实体关联的电子邮件地址。 返回:成功 |
|
拥有权限的实体,以下列形式之一: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。 返回:成功 |
|
访问控制条目的 ID。 返回:成功 |
|
与实体关联的项目团队。 返回:成功 |
|
与实体关联的项目团队。 返回:成功 |
|
团队。 返回:成功 |
|
实体的访问权限。 返回:成功 |
|
存储桶的跨域资源共享 (CORS) 配置。 返回:成功 |
|
在预检响应中使用的 Access-Control-Max-Age 标头中返回的值(以秒为单位)。 返回:成功 |
|
要包含 CORS 响应标头的 HTTP 方法列表,(GET、OPTIONS、POST 等)注意:“*”允许在方法列表中,表示“任何方法”。 返回:成功 |
|
有资格接收 CORS 响应标头的来源列表。 注意:“*”允许在来源列表中,表示“任何来源”。 返回:成功 |
|
除了简单响应标头之外的 HTTP 标头列表,用于授予用户代理跨域共享的权限。 返回:成功 |
|
是否将 eventBasedHold 自动应用于添加到存储桶的新对象。 返回:成功 |
|
当未提供 ACL 时应用于新对象的默认访问控制。 返回:成功 |
|
存储桶的名称。 返回:成功 |
|
与实体关联的域。 返回:成功 |
|
与实体关联的电子邮件地址。 返回:成功 |
|
拥有权限的实体,以下列形式之一:* 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 。 返回:成功 |
|
实体的 ID。 返回:成功 |
|
如果应用于对象,则为对象的内容生成。 返回:成功 |
|
访问控制条目的 ID。 返回:成功 |
|
对象的名称(如果应用于对象)。 返回:成功 |
|
与实体关联的项目团队。 返回:成功 |
|
与实体关联的项目团队。 返回:成功 |
|
团队。 返回:成功 |
|
实体的访问权限。 返回:成功 |
|
存储桶的 ID。对于存储桶,id 和 name 属性相同。 返回:成功 |
|
应用于此存储桶的标签。一个键->值对的列表。 返回:成功 |
|
生命周期管理规则,由要执行的操作和执行该操作的条件组成。 返回:成功 |
|
要执行的操作。 返回:成功 |
|
目标存储类别。如果操作类型为 SetStorageClass,则为必需。 返回:成功 |
|
操作类型。目前,仅支持 Delete 和 SetStorageClass。 返回:成功 |
|
执行操作的条件。 返回:成功 |
|
对象的存在天数(以天为单位)。当对象达到指定天数时,满足此条件。 返回:成功 |
|
采用 RFC 3339 格式的日期,仅包含日期部分(例如,“2013-01-15”)。当对象在 UTC 时间指定日期的午夜之前创建时,满足此条件。 返回:成功 |
|
采用 RFC 3339 格式 YYYY-MM-DD 的日期。当对象的 customTime 元数据设置为早于此生命周期条件中使用的日期的日期时,满足此条件。 返回:成功 |
|
自对象 customTime 元数据中设置的日期起的天数。当当前日期和时间至少是 customTime 之后指定的天数时,满足此条件。 返回:成功 |
|
仅与版本化对象相关。当对象处于非当前状态的时间超过指定天数时,满足此条件。 返回:成功 |
|
仅与版本化对象相关。如果值为 true,则此条件匹配活动对象;如果值为 false,则匹配已存档的对象。 返回:成功 |
|
将匹配具有此条件指定的任何存储类别的对象。值包括 MULTI_REGIONAL、REGIONAL、NEARLINE、COLDLINE、ARCHIVE、STANDARD 和 DURABLE_REDUCED_AVAILABILITY。 返回:成功 |
|
仅与版本化对象相关。采用 RFC 3339 格式 YYYY-MM-DD 的日期。对于在早于此条件中指定的日期成为非当前状态的对象,满足此条件。 返回:成功 |
|
仅与版本化对象相关。如果该值为 N,则当存在至少 N 个比此对象版本更新的版本(包括活动版本)时,满足此条件。 返回:成功 |
|
存储桶的位置。存储桶中对象的对象数据驻留在此区域内的物理存储中。默认为美国。请参阅开发者指南以获取权威列表。 返回:成功 |
|
存储桶的日志记录配置,它定义了当前存储桶日志的目标存储桶和可选名称前缀。 返回:成功 |
|
应放置当前存储桶日志的目标存储桶。 返回:成功 |
|
日志对象名称的前缀。 返回:成功 |
|
此存储桶的元数据生成。 返回:成功 |
|
存储桶的名称。 返回:成功 |
|
存储桶的所有者。这始终是项目团队的所有者组。 返回:成功 |
|
该实体,形式为 project-owner-projectId。 返回:成功 |
|
实体的 ID。 返回:成功 |
|
对此存储桶应用一组预定义的默认对象访问控制。 可接受的值为:- “authenticatedRead”:对象所有者获得 OWNER 访问权限,所有已通过身份验证的用户获得 READER 访问权限。
返回:成功 |
|
有效的 API 项目标识符。 返回:成功 |
|
存储桶所属项目的项目编号。 返回:成功 |
|
存储桶的默认存储类别,每当未为新创建的对象指定 storageClass 时使用。这定义了如何存储存储桶中的对象,并决定了 SLA 和存储成本。 值包括 MULTI_REGIONAL、REGIONAL、STANDARD、NEARLINE、COLDLINE、ARCHIVE 和 DURABLE_REDUCED_AVAILABILITY。如果创建存储桶时未指定此值,则默认值为 STANDARD。有关更多信息,请参见存储类别。 返回:成功 |
|
采用 RFC 3339 格式的存储桶创建时间。 返回:成功 |
|
采用 RFC 3339 格式的存储桶修改时间。 返回:成功 |
|
存储桶的版本控制配置。 返回:成功 |
|
当设置为 true 时,此存储桶的版本控制将完全启用。 返回:成功 |
|
存储桶的网站配置,控制当以网站形式访问存储桶内容时,服务的行为方式。有关更多信息,请参见静态网站示例。 返回:成功 |
|
如果请求的对象路径丢失,服务将确保该路径具有尾随“/”,附加此后缀,并尝试检索结果对象。这允许创建 index.html 对象来表示目录页面。 返回:成功 |
|
如果请求的对象路径丢失,并且任何 mainPageSuffix 对象丢失(如果适用),则服务将从此存储桶返回命名对象,作为 404 Not Found 结果的内容。 返回:成功 |