#amazon-web-services #terraform
#amazon-web-services #terraform
Вопрос:
У меня есть модуль Terraform, в котором я хотел реорганизовать EFS, чтобы он управлялся в модуле, а не в Terraform, который у меня есть в настоящее время. В настоящее время мой Terraform включает в себя два VPC, совместно использующих EFS с использованием однорангового соединения VPC.
В конце концов, я хочу избавиться от старого VPC, но EFS все еще удерживается старым VPC. EFS не позволяет создавать aws_efs_mount_target
на другом VPC.
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 " ]
}
Ответ №1:
Вот как я это решил. В основном создайте новую переменную и используйте ее в качестве условия для создания пустого набора.
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
}