小编din*_*dam的帖子

向 terraform 模块添加计数

在添加计数之前,我已经通过下面列出的此模块部署了我的 VPC。

这工作得很好,但是要改变我们的基础设施,我需要向模块添加一个计数

module "core_vpc" {
  source = "./modules/vpc"

  count          = var.environment == "qa" || var.environment == "production" ? 1 : 0
  aws_region     = var.aws_region
  environment    = var.environment
  system         = var.system
  role           = var.system
  vpc_name       = var.system
  vpc_cidr       = var.vpc_cidr
  ssh_key_name   = var.ssh_key_name
  ssh_key_public = var.ssh_key_public
  nat_subnets    = var.nat_subnets
  nat_azs        = var.vpc_subnet_azs

}
Run Code Online (Sandbox Code Playgroud)

现在 Terraform 想要更新我的状态文件并销毁我的大部分配置,并将其替换为下面示例中所示的内容。这当然不仅限于路由关联,还包括模块内创建的所有资源。我不能让这种情况发生,因为我正在运行生产并且不想弄乱它。

 module.K8_subnets.aws_route_table_association.subnet[0] will be destroyed

Run Code Online (Sandbox Code Playgroud)

并将其替换为:

module.K8_subnets[0].aws_route_table_association.subnet[0] will be created
Run Code Online (Sandbox Code Playgroud)

有没有办法阻止 Terraform 进行这些更改?无法在 tf 状态下手动更改它。我想要的只是 VPC 不部署在 DEV 中。

谢谢。

state module file terraform

8
推荐指数
1
解决办法
3497
查看次数

标签 统计

file ×1

module ×1

state ×1

terraform ×1