即使没有更改tf文件,terraform apply也会不断更改

时间:2018-08-28 23:59:29

标签: amazon-web-services terraform

我有一个中等复杂的地形设置   包含main.tf,variables.tf和input.tf的模块目录   和环境目录,其中包含foo.tf,variables.tf和vars.tf

我可以成功运行terraform apply并且一切成功。 但是,如果我立即再次运行terraform,它将进行更改。

它不断进行的更改是对模块中的资源...从环境tf文件中的变量获取属性的资源。我正在创建一个MQ代理和一个仪表板来对其进行监视。

在环境目录中

top.tf

module "broker" {
  source = "modules/broker"
  dashboard = "...."
}

在modules目录中

input.tf

variable "dashboard" {
}

amazonmq.tf

resource "aws_cloudwatch_dashboard" "mydash" {
  dashboard_name = "foo"
  dashboard_body = "${dashboard}"
}

每次我运行terraform应用程序时,都会说它需要更改仪表板。关于我在做什么错的任何提示吗? (我尝试使用TF_LOG = DEBUG运行,但看不到任何提示为什么的更改)。预先感谢。

1 个答案:

答案 0 :(得分:0)

这似乎与terraform提供程序代码本身有关。 dashboard_body属性应该附加有 computing 标志,以允许您提供它,但忽略任何来自aws的传入更改。

我在github页面上提出了一个问题。您会在这里找到它:https://github.com/terraform-providers/terraform-provider-aws/issues/5729