Modul ini memudahkan pembuatan satu atau beberapa bucket GCS, dan menetapkan izin dasar pada bucket tersebut kepada pengguna mana pun.
Sumber daya/layanan/aktivasi/penghapusan yang akan dibuat/dipicu oleh modul ini adalah:
Jika Anda hanya ingin membuat satu keranjang, pertimbangkan untuk menggunakan submodul keranjang sederhana.
Modul ini dimaksudkan untuk digunakan dengan Terraform 0.13+ dan diuji menggunakan Terraform 1.0+. Jika Anda menemukan ketidakcocokan menggunakan Terraform >=0.13, silakan buka masalah. Jika Anda belum memutakhirkan dan memerlukan versi modul ini yang kompatibel dengan Terraform 0.12.x, versi rilis terakhir yang ditujukan untuk Terraform 0.12.x adalah v1.7.1.
Penggunaan dasar modul ini adalah sebagai berikut:
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] "
}
}
Contoh fungsional disertakan dalam direktori contoh.
Nama | Keterangan | Jenis | Bawaan | Diperlukan |
---|---|---|---|---|
admin | Anggota bergaya IAM yang akan diberikan role/storage.objectAdmin di semua bucket. | list(string) | [] | TIDAK |
kelas otomatis | Peta opsional nama keranjang tanpa awalan huruf kecil => boolean, defaultnya adalah false. | map(bool) | {} | TIDAK |
bucket_admins | Peta nama tanpa awalan huruf kecil => admin per keranjang bergaya IAM yang dibatasi koma. | map(string) | {} | TIDAK |
bucket_creators | Peta nama tanpa awalan huruf kecil => pembuat IAM bergaya IAM yang dibatasi koma. | map(string) | {} | TIDAK |
bucket_hmac_key_admins | Peta nama tanpa awalan huruf kecil => Admin Kunci HMAC gaya IAM per keranjang yang dibatasi koma. | map(string) | {} | TIDAK |
aturan_bucket_lifecycle_rules | Lifecycle_rules tambahan untuk bucket tertentu. Peta nama tanpa awalan huruf kecil => daftar aturan siklus hidup yang akan dikonfigurasi. | peta(set(objek({ | {} | TIDAK |
bucket_policy_only | Nonaktifkan ACL ad-hoc pada bucket tertentu. Defaultnya adalah benar. Peta nama huruf kecil tanpa awalan => boolean | map(bool) | {} | TIDAK |
bucket_storage_admins | Peta nama tanpa awalan huruf kecil => admin penyimpanan per ember gaya IAM yang dibatasi koma. | map(string) | {} | TIDAK |
bucket_viewers | Peta nama tanpa awalan huruf kecil => pemirsa per keranjang gaya IAM yang dibatasi koma. | map(string) | {} | TIDAK |
kor | Kumpulan peta atribut tipe campuran untuk nilai CORS. Lihat jenis atribut yang sesuai di sini: https://www.terraform.io/docs/providers/google/r/storage_bucket.html#cors | set(any) | [] | TIDAK |
pencipta | Anggota bergaya IAM yang akan diberikan role/storage.objectCreators di semua bucket. | list(string) | [] | TIDAK |
custom_placement_config | Peta nama tanpa awalan huruf kecil => objek konfigurasi penempatan khusus. Formatnya sama seperti yang dijelaskan dalam dokumentasi penyedia https://www.terraform.io/docs/providers/google/r/storage_bucket#custom_placement_config | any | {} | TIDAK |
default_event_based_hold | Aktifkan penangguhan berdasarkan peristiwa pada objek baru yang ditambahkan ke keranjang tertentu. Defaultnya salah. Peta nama huruf kecil tanpa awalan => boolean | map(bool) | {} | TIDAK |
nama_kunci_enkripsi | Peta opsional dari string nama => huruf kecil tanpa awalan, string kosong diabaikan. | map(string) | {} | TIDAK |
folder | Peta nama huruf kecil tanpa awalan => daftar objek folder tingkat atas. | map(list(string)) | {} | TIDAK |
force_destroy | Peta opsional dengan nama huruf kecil tanpa awalan => boolean, defaultnya adalah false. | map(bool) | {} | TIDAK |
hmac_key_admins | Anggota bergaya IAM yang akan diberikan role/storage.hmacKeyAdmin di semua bucket. | list(string) | [] | TIDAK |
hmac_service_accounts | Daftar akun layanan HMAC untuk memberikan akses ke GCS. | map(string) | {} | TIDAK |
label | Label untuk ditempelkan pada ember | map(string) | {} | TIDAK |
aturan_siklus hidup | Daftar aturan siklus hidup yang akan dikonfigurasi. Formatnya sama seperti yang dijelaskan dalam dokumentasi penyedia https://www.terraform.io/docs/providers/google/r/storage_bucket.html#lifecycle_rule kecuali condition.matches_storage_class harus berupa string yang dibatasi koma. | set(objek({ | [] | TIDAK |
lokasi | Lokasi ember. | string | "EU" | TIDAK |
pencatatan | Peta nama tanpa awalan huruf kecil => objek konfigurasi logging bucket. Formatnya sama seperti yang dijelaskan dalam dokumentasi penyedia https://www.terraform.io/docs/providers/google/r/storage_bucket.html#logging | any | {} | TIDAK |
nama | Akhiran nama keranjang. | list(string) | tidak ada | Ya |
awalan | Awalan yang digunakan untuk menghasilkan nama keranjang. | string | "" | TIDAK |
proyek_id | ID proyek keranjang. | string | tidak ada | Ya |
pencegahan_akses_publik | Mencegah akses publik ke bucket. Nilai-nilai yang dapat diterima diwariskan atau diterapkan. Jika diwariskan, bucket menggunakan pencegahan akses publik, hanya jika bucket tersebut tunduk pada batasan kebijakan organisasi pencegahan akses publik. | string | "inherited" | TIDAK |
acak_akhiran | Menambahkan akhiran 4 karakter yang identik namun diacak ke semua nama keranjang | bool | false | TIDAK |
kebijakan_retensi | Peta nilai kebijakan retensi. Formatnya sama seperti yang dijelaskan dalam dokumentasi penyedia https://www.terraform.io/docs/providers/google/r/storage_bucket#retention_policy | any | {} | TIDAK |
set_admin_peran | Berikan peran role/storage.objectAdmin kepada admin dan bucket_admins. | bool | false | TIDAK |
set_creator_roles | Berikan peran role/storage.objectCreator kepada pembuat dan bucket_creators. | bool | false | TIDAK |
set_hmac_access | Atur akses yang kompatibel dengan S3 ke GCS. | bool | false | TIDAK |
set_hmac_key_admin_roles | Berikan peran role/storage.hmacKeyAdmin ke hmac_key_admins dan bucket_hmac_key_admins. | bool | false | TIDAK |
set_storage_admin_roles | Berikan peran role/storage.admin ke storage_admins dan bucket_storage_admins. | bool | false | TIDAK |
set_viewer_roles | Memberikan peran role/storage.objectViewer kepada viewer dan bucket_viewers. | bool | false | TIDAK |
soft_delete_policy | Kebijakan penghapusan sementara akan diterapkan. Peta nama tanpa awalan huruf kecil => kebijakan penghapusan sementara. Formatnya sama seperti yang dijelaskan dalam dokumentasi penyedia https://www.terraform.io/docs/providers/google/r/storage_bucket.html#nested_soft_delete_policy | map(any) | {} | TIDAK |
penyimpanan_admin | Anggota bergaya IAM yang akan diberikan role/storage.admin di semua bucket. | list(string) | [] | TIDAK |
kelas_penyimpanan | Kelas penyimpanan ember. | string | "STANDARD" | TIDAK |
pembuatan versi | Peta opsional dengan nama huruf kecil tanpa awalan => boolean, defaultnya adalah false. | map(bool) | {} | TIDAK |
pemirsa | Anggota bergaya IAM yang akan diberikan role/storage.objectViewer di semua bucket. | list(string) | [] | TIDAK |
situs web | Peta nilai situs web. Atribut yang didukung: main_page_suffix, not_found_page | map(any) | {} | TIDAK |
Nama | Keterangan |
---|---|
apphub_service_uri | URI dalam gaya CAIS untuk digunakan oleh Apphub. |
keranjang | Sumber daya bucket (untuk penggunaan tunggal). |
ember | Sumber daya keranjang sebagai daftar. |
bucket_map | Sumber daya keranjang berdasarkan nama. |
hmac_keys | Daftar kunci HMAC. |
nama | Nama ember (untuk sekali pakai). |
nama | Nama ember. |
nama_daftar | Daftar nama keranjang. |
url | URL keranjang (untuk sekali pakai). |
url | URL keranjang. |
urls_list | Daftar URL keranjang. |
Bagian ini menjelaskan persyaratan untuk menggunakan modul ini.
Dependensi berikut harus tersedia:
Kredensial akun pengguna atau layanan dengan peran berikut harus digunakan untuk menyediakan sumber daya modul ini:
roles/storage.admin
Modul Project Factory dan modul IAM dapat digunakan bersama-sama untuk menyediakan akun layanan dengan penerapan peran yang diperlukan.
Proyek dengan API berikut yang diaktifkan harus digunakan untuk menghosting sumber daya modul ini:
storage-api.googleapis.com
Modul Project Factory dapat digunakan untuk menyediakan proyek dengan API yang diperlukan diaktifkan.
Lihat pedoman kontribusi untuk informasi tentang berkontribusi pada modul ini.