![](/img/trans.png)
[英]How to sync lifecycle_rule of s3 bucket actual configuration with terraform script
[英]How do I apply a lifecycle rule to an EXISTING s3 bucket in Terraform?
Terraform 的新功能。嘗試將生命周期規則應用於聲明為數據源的現有 s3 存儲桶,但我想我不能對數據源執行此操作 - 會引發錯誤。 這是我要實現的要點:
data "aws_s3_bucket" "test-bucket" {
bucket = "bucket_name"
lifecycle_rule {
id = "Expiration Rule"
enabled = true
prefix = "reports/"
expiration {
days = 30
}
}
}
...如果這是一種資源,而不是數據源,那么它就可以工作。 如何將生命周期規則應用於聲明為數據源的 s3 存儲桶? Google Fu 收效甚微。 謝謝!
解決此問題的最佳方法是將您的存儲桶導入 terraform state 而不是將其用作data
。
為此,請嘗試將其放入您的 terraform 代碼中:
resource "aws_s3_bucket" "test-bucket" {
bucket = "bucket_name"
lifecycle_rule {
id = "Expiration Rule"
enabled = true
prefix = "reports/"
expiration {
days = 30
}
}
}
然后在終端運行:
terraform import aws_s3_bucket.test-bucket bucket_name
這會將存儲桶導入您的 state,現在您可以使用 terraform 進行更改或向您的存儲桶添加新內容。
最后一步只需運行terraform apply
添加生命周期規則。
Terraform 的新手。 嘗試將生命周期規則應用於聲明為數據源的現有 s3 存儲桶,但我想我無法使用數據源執行此操作 - 引發錯誤。 下面是我想要實現的要點:
data "aws_s3_bucket" "test-bucket" {
bucket = "bucket_name"
lifecycle_rule {
id = "Expiration Rule"
enabled = true
prefix = "reports/"
expiration {
days = 30
}
}
}
...如果這是一個資源,而不是一個數據源,那么它會起作用。 如何將生命周期規則應用於聲明為數據源的 s3 存儲桶? Google Fu 在結果方面收效甚微。 謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.