有没有办法从 terraform 中的默认标签中排除资源

Is there a way to exclude resources from default tags in terraform

我正在使用以下方法将默认标签添加到 terraform 中的所有资源:

provider "aws" {
  region = var.region
  default_tags {
    tags = {
      terraform_managed = "true"
    }
  }
}

现在似乎想要重新创建我的一些 EC2 实例,因为正在更新由模板文件填充的用户数据。

有没有办法忽略默认标签中的数据块:

data "template_file" "ec2_user_data" {
  template = file("${path.module}/templates/user_data.tpl")

  vars = {
    region         = var.region
    vr._version    = var.vr_version
  }
}



~ user_data   = "110437fa31b8fe5795165cf9973be6c5b" -> (known after apply) # forces replacement

这是对代码的唯一更改,因此不会是其他原因造成的。

提前感谢您的帮助。

由于 Terraform 数据源是在 Terraform 外部定义和管理的,因此 AWS Terraform 提供程序中的 default_tags 将对 data 源没有影响。

计划中显示的更改是 user_data.tpl 文件中的更改

从 data.template_file 更改为 templatefile() 解决了问题。

感谢@matt-schuchard