terraform google cloud storage
v8.0.1
该模块可以轻松创建一个或多个GCS存储桶,并将其基本权限分配给任意用户。
该模块将创建/触发的资源/服务/激活/删除是:
如果您只想创建单个存储桶,请考虑使用简单的存储桶子模块。
该模块适用于 Terraform 0.13+ 并使用 Terraform 1.0+ 进行测试。如果您发现使用 Terraform >=0.13 不兼容,请提出问题。如果您尚未升级并且需要此模块的 Terraform 0.12.x 兼容版本,则适用于 Terraform 0.12.x 的最新发布版本是 v1.7.1。
该模块的基本用法如下:
module "gcs_buckets" {
source = " terraform-google-modules/cloud-storage/google "
version = " ~> 8.0 "
project_id = " <PROJECT ID> "
names = [ " first " , " second " ]
prefix = " my-unique-prefix "
set_admin_roles = true
admins = [ " group:[email protected] " ]
versioning = {
first = true
}
bucket_admins = {
second = " user:[email protected],user:[email protected] "
}
}
功能示例包含在示例目录中。
姓名 | 描述 | 类型 | 默认 | 必需的 |
---|---|---|---|---|
管理员 | 将被授予所有存储桶上的 Roles/storage.objectAdmin 的 IAM 类型成员。 | list(string) | [] | 不 |
自动分类 | 小写无前缀存储桶名称的可选映射 => 布尔值,默认为 false。 | map(bool) | {} | 不 |
存储桶管理员 | 小写无前缀名称的映射 => 以逗号分隔的 IAM 风格的每个存储桶管理员。 | map(string) | {} | 不 |
存储桶创建者 | 小写无前缀名称的映射 => 以逗号分隔的 IAM 风格的每个存储桶创建者。 | map(string) | {} | 不 |
Bucket_hmac_key_admins | 小写无前缀名称的映射 => 以逗号分隔的 IAM 样式每存储桶 HMAC 密钥管理员。 | map(string) | {} | 不 |
存储桶生命周期规则 | 特定存储桶的附加生命周期规则。小写无前缀名称映射 => 要配置的生命周期规则列表。 | 地图(设置(对象({ | {} | 不 |
仅存储桶策略 | 禁用指定存储桶上的临时 ACL。默认为 true。小写无前缀名称映射 => 布尔值 | map(bool) | {} | 不 |
存储桶管理员 | 小写无前缀名称的映射 => 以逗号分隔的 IAM 风格的每存储桶存储管理员。 | map(string) | {} | 不 |
存储桶查看者 | 小写无前缀名称的映射 => 以逗号分隔的 IAM 样式每存储桶查看器。 | map(string) | {} | 不 |
科尔斯 | CORS 值的混合类型属性的映射集。请在此处查看适当的属性类型:https://www.terraform.io/docs/providers/google/r/storage_bucket.html#cors | set(any) | [] | 不 |
创造者 | 将被授予所有存储桶上的 Roles/storage.objectCreators 的 IAM 风格成员。 | list(string) | [] | 不 |
自定义放置配置 | 小写无前缀名称的映射 => 自定义放置配置对象。格式与提供商文档中描述的相同 https://www.terraform.io/docs/providers/google/r/storage_bucket#custom_placement_config | any | {} | 不 |
基于默认事件的保留 | 对添加到特定存储桶的新对象启用基于事件的保留。默认为 false。小写无前缀名称映射 => 布尔值 | map(bool) | {} | 不 |
加密密钥名称 | 小写无前缀名称 => 字符串的可选映射,空字符串将被忽略。 | map(string) | {} | 不 |
文件夹 | 小写无前缀名称映射 => 顶级文件夹对象列表。 | map(list(string)) | {} | 不 |
强制销毁 | 小写无前缀名称的可选映射 => 布尔值,默认为 false。 | map(bool) | {} | 不 |
hmac_key_admins | 将被授予所有存储桶上的 Roles/storage.hmacKeyAdmin 的 IAM 类型成员。 | list(string) | [] | 不 |
hmac_service_accounts | 用于授予 GCS 访问权限的 HMAC 服务帐户列表。 | map(string) | {} | 不 |
标签 | 贴在桶上的标签 | map(string) | {} | 不 |
生命周期规则 | 要配置的生命周期规则列表。格式与提供程序文档 https://www.terraform.io/docs/providers/google/r/storage_bucket.html#lifecycle_rule 中描述的相同,但 condition.matches_storage_class 应该是逗号分隔的字符串。 | 设置(对象({ | [] | 不 |
地点 | 铲斗位置。 | string | "EU" | 不 |
记录 | 小写无前缀名称的映射 => 存储桶日志记录配置对象。格式与提供商文档中描述的相同 https://www.terraform.io/docs/providers/google/r/storage_bucket.html#logging | any | {} | 不 |
名字 | 存储桶名称后缀。 | list(string) | 不适用 | 是的 |
前缀 | 用于生成存储桶名称的前缀。 | string | "" | 不 |
项目ID | 存储桶项目 ID。 | string | 不适用 | 是的 |
公共访问预防 | 阻止公众访问存储桶。可接受的值是继承或强制执行的。如果继承,则仅当存储桶受公共访问阻止组织策略约束时,该存储桶才会使用公共访问阻止。 | string | "inherited" | 不 |
随机后缀 | 向所有存储桶名称添加相同但随机的 4 字符后缀 | bool | false | 不 |
保留政策 | 保留策略值映射。格式与提供商文档中描述的相同 https://www.terraform.io/docs/providers/google/r/storage_bucket#retention_policy | any | {} | 不 |
设置管理员角色 | 将 Roles/storage.objectAdmin 角色授予 admins 和 bucket_admins。 | bool | false | 不 |
设置创建者角色 | 向创建者和bucket_creators授予roles/storage.objectCreator角色。 | bool | false | 不 |
set_hmac_access | 设置对 GCS 的 S3 兼容访问。 | bool | false | 不 |
set_hmac_key_admin_roles | 将roles/storage.hmacKeyAdmin 角色授予hmac_key_admins 和bucket_hmac_key_admins。 | bool | false | 不 |
设置存储管理员角色 | 将roles/storage.admin 角色授予storage_admins 和bucket_storage_admins。 | bool | false | 不 |
设置查看者角色 | 向查看者和bucket_viewers授予roles/storage.objectViewer角色。 | bool | false | 不 |
软删除策略 | 要应用的软删除策略。小写无前缀名称映射 => 软删除策略。格式与提供商文档中描述的相同 https://www.terraform.io/docs/providers/google/r/storage_bucket.html#nested_soft_delete_policy | map(any) | {} | 不 |
存储管理员 | 将被授予所有存储桶上的 Roles/storage.admin 的 IAM 类型成员。 | list(string) | [] | 不 |
存储类 | 桶存储类。 | string | "STANDARD" | 不 |
版本控制 | 小写无前缀名称的可选映射 => 布尔值,默认为 false。 | map(bool) | {} | 不 |
观众 | 将被授予所有存储桶上的 Roles/storage.objectViewer 的 IAM 风格成员。 | list(string) | [] | 不 |
网站 | 网站价值地图。支持的属性:main_page_suffix、not_found_page | map(any) | {} | 不 |
姓名 | 描述 |
---|---|
apphub_service_uri | Apphub 使用的 CAIS 样式的 URI。 |
桶 | 桶资源(一次性使用)。 |
水桶 | 将资源存储为列表。 |
桶映射 | 按名称存储资源。 |
hmac_keys | HMAC 密钥列表。 |
姓名 | 存储桶名称(一次性使用)。 |
名字 | 存储桶名称。 |
名称列表 | 存储桶名称列表。 |
网址 | 存储桶 URL(一次性使用)。 |
网址 | 存储桶 URL。 |
网址列表 | 存储桶 URL 列表。 |
这些部分描述了使用此模块的要求。
以下依赖项必须可用:
必须使用具有以下角色的用户或服务帐户凭据来配置此模块的资源:
roles/storage.admin
项目工厂模块和 IAM 模块可以组合使用,以提供应用了必要角色的服务帐户。
必须使用启用了以下 API 的项目来托管该模块的资源:
storage-api.googleapis.com
项目工厂模块可用于配置启用必要 API 的项目。
有关为本模块做出贡献的信息,请参阅贡献指南。