【发布时间】:2018-05-24 12:49:27
【问题描述】:
我的具体问题和this guys一样,但是我发现他的回答不够详细,而且terraform现在有了新功能,也许可以更好地解决这个问题。
问题是我正在使用 aws_elastic_beanstalk_application_version 来注册 beanstalk 版本,但是 terraform 在注册新版本之前会删除旧版本。这是因为aws_elastic_beanstalk_application_version每次都会被替换,我需要做的就是生成一个新的。
我正在尝试使用“count”和 aws_s3_bucket_object 数据源来执行此操作,但我不知道如何将 s3 对象作为列表获取。我尝试了通配符,但不起作用:
data "aws_s3_bucket_object" "eb-bucket-data" {
bucket = "mybucket"
key = "*"
}
resource "aws_elastic_beanstalk_application_version" "default" {
count = "${length(data.aws_s3_bucket_object.eb-bucket-data.id)}"
name = "${element(data.aws_s3_bucket_object.eb-bucket-data.key, count.index)}"
application = "myapp"
bucket = "mybucket"
key = "${element(data.aws_s3_bucket_object.eb-bucket-data.key, count.index)}"
}
【问题讨论】:
标签: terraform