我有一个中等复杂的地形设置 包含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运行,但看不到任何提示为什么的更改)。预先感谢。
答案 0 :(得分:0)
这似乎与terraform提供程序代码本身有关。 dashboard_body属性应该附加有 computing 标志,以允许您提供它,但忽略任何来自aws的传入更改。
我在github页面上提出了一个问题。您会在这里找到它:https://github.com/terraform-providers/terraform-provider-aws/issues/5729