【发布时间】:2021-04-29 02:50:43
【问题描述】:
我使用terraform import 以最少的参数链接 aws_s3_bucket 资源。
由于存储桶处于我的状态,它允许我反映真实的资源参数(第一个 terraform apply 失败,但它是有意的)。
我有一些带有 acl="private" 的存储桶,这给了我错误并邀请我添加一些赠款块。当我这样做时,当然 terraform 给了我两个 ConflictWith 错误,因为 acl 和 grants 不能一起使用。
但是,例如,如果我使用带有适当授权块的 s3 存储桶,terraform 会邀请我添加 acl="private" 语句。
同时,我对 force_destroy = false 块有一个奇怪的行为。似乎没有检测到。
有人可以帮我吗?也许我做错了什么。
谢谢。
代码示例:
resource "aws_s3_bucket" "s3-bucket-example" {
bucket = "s3-bucket-example"
force_destroy = false
grant {
permissions = [
"READ",
"READ_ACP",
"WRITE",
]
type = "Group"
uri = "http://acs.amazonaws.com/groups/s3/LogDelivery"
}
grant {
id = "xxxxxxxxxxxxxxx"
permissions = [
"FULL_CONTROL",
]
type = "CanonicalUser"
}
}
结果
# aws_s3_bucket.s3-bucket-jolivdi-acces will be updated in-place
~ resource "aws_s3_bucket" "s3-bucket-example" {
+ acl = "private"
+ force_destroy = false
id = "s3-bucket-example"
# (7 unchanged attributes hidden)
# (4 unchanged blocks hidden)
}
【问题讨论】:
-
您导入的真实存储桶只有
private acl?他们不使用任何赠款? -
他们使用了赠款。这就是为什么它很奇怪。似乎他们都在使用:)
标签: terraform terraform-provider-aws