期望的結果
我想根據另一個變數有條件地setting為aws_elastic_beanstalk_environmentTerraform 資源定義一個塊,environment.
當前嘗試
對于這種情況,我通常會使用count:
resource "aws_elastic_beanstalk_environment" "backend_prod" {
name = "backend-${var.env}"
application = aws_elastic_beanstalk_application.backend.name
solution_stack_name = "64bit Amazon Linux 2 v3.4.9 running Docker"
wait_for_ready_timeout = "10m"
# other settings omitted
setting {
count = var.environment == "prod" ? 1 : 0
namespace = "aws:elasticbeanstalk:application:environment"
name = "API_KEY"
value = var.api_key
}
}
當前結果
不幸的是,每當我運行terraform plan此結果時:
An argument named "count" is not expected here.
uj5u.com熱心網友回復:
您可以使用動態塊執行此操作:
resource "aws_elastic_beanstalk_environment" "backend_prod" {
name = "backend-${var.env}"
application = aws_elastic_beanstalk_application.backend.name
solution_stack_name = "64bit Amazon Linux 2 v3.4.9 running Docker"
wait_for_ready_timeout = "10m"
# other settings omitted
dynamic "setting" {
for_each = var.environment == "prod" ? [1] : []
content {
namespace = "aws:elasticbeanstalk:application:environment"
name = "API_KEY"
value = var.api_key
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/371371.html
