hfr*_*nco 3 amazon-s3 amazon-web-services terraform
创建存储桶非常简单。
resource "aws_s3_bucket" "henrys_bucket" {
bucket = "${var.s3_bucket_name}"
acl = "private"
force_destroy = "true"
}
Run Code Online (Sandbox Code Playgroud)
最初我以为我可以为s3_bucket_name变量创建一个列表,但出现错误:
Error: bucket must be a single value, not a list
Run Code Online (Sandbox Code Playgroud)
——
variable "s3_bucket_name" {
type = "list"
default = ["prod_bucket", "stage-bucket", "qa_bucket"]
}
Run Code Online (Sandbox Code Playgroud)
如何在不重复代码的情况下创建多个存储桶?
variable "s3_bucket_name" {
type = "list"
default = ["prod_bucket", "stage-bucket", "qa_bucket"]
}
resource "aws_s3_bucket" "henrys_bucket" {
count = "${length(var.s3_bucket_name)}"
bucket = "${element(var.s3_bucket_name, count.index)}"
acl = "private"
force_destroy = "true"
}
Run Code Online (Sandbox Code Playgroud)
编辑:根据@ydaetskcoR 的建议,您可以使用list[index]模式而不是元素。
variable "s3_bucket_name" {
type = "list"
default = ["prod_bucket", "stage-bucket", "qa_bucket"]
}
resource "aws_s3_bucket" "henrys_bucket" {
count = "${length(var.s3_bucket_name)}"
bucket = "${var.s3_bucket_name[count.index]}"
acl = "private"
force_destroy = "true"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4177 次 |
| 最近记录: |