我有一个Terraform模块,我想在其中重构EFS,以便在模块中而不是在当前的Terraform中对其进行管理。目前,我的Terraform包括两个使用VPC对等连接共享EFS的VPC。
最终我想摆脱 old VPC,但EFS仍由 old VPC保留。 EFS不允许在其他VPC上创建aws_efs_mount_target
。
resource "aws_efs_mount_target" "main" {
for_each = toset(module.docker-swarm.subnets)
file_system_id = aws_efs_file_system.main.id
subnet_id = each.key
}
所以我在想,是否有可能按照以下方式设置一些东西
disable {
module.common.aws_efs_mount_target.main
}
或
module "common" {
exclude = [ "aws_efs_mount_target.main " ]
}
答案 0 :(得分:0)
这就是我解决的方法。基本上创建一个新变量,并以此为条件创建一个空集。
resource "aws_efs_mount_target" "main" {
for_each = var.skip_efs_mount_target ? [] : toset(module.docker-swarm.subnets)
file_system_id = aws_efs_file_system.main.id
subnet_id = each.key
}