地形根据条件选择资源



有没有办法添加if条件来选择资源本身

如果env=dev ,我想要以下资源

resource "aws_rds_cluster" "myDB" {
cluster_identifier      = "aurora-cluster-demo"
engine                  = "aurora-mysql"
engine_version          = "5.7.mysql_aurora.2.03.2"
availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
database_name           = "mydb"
master_username         = "foo"
master_password         = "bar"
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
}
resource "route53" "dns" {
}

其他低于资源

resource "aws_rds_cluster" "myDB" {
cluster_identifier      = "aurora-cluster-demo"
engine                  = "aurora-postgres"
engine_version          = "5.7.mysql_aurora.2.03.2" 
database_name           = "mydb"
master_username         = "foo"
master_password         = "bar" 
preferred_backup_window = "07:00-09:00"
}

一种方法是,我可以像下面这样开始添加所有变量,或者创建一个局部变量。engine=var.env=dev"aurora-mysql":"aurora postgres";

有没有其他方法可以禁用资源本身?

也许类似的东西也应该在count的帮助下工作


resource "aws_rds_cluster" "myDB-mysql" {
count                   = var.env == dev ? 1 : 0
cluster_identifier      = "aurora-cluster-demo"
engine                  = "aurora-mysql"
engine_version          = "5.7.mysql_aurora.2.03.2"
availability_zones      = ["us-west-2a", "us-west-2b", "us-west-2c"]
database_name           = "mydb"
master_username         = "foo"
master_password         = "bar"
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
}
resource "aws_rds_cluster" "myDB-postgres" {
count                   = var.env != dev ? 1 : 0
cluster_identifier      = "aurora-cluster-demo"
engine                  = "aurora-postgres"
engine_version          = "5.7.mysql_aurora.2.03.2" 
database_name           = "mydb"
master_username         = "foo"
master_password         = "bar" 
preferred_backup_window = "07:00-09:00"
}

最新更新