【发布时间】:2019-07-08 17:23:21
【问题描述】:
遇到错误“属性“触发器”的值不合适:需要字符串映射。”
尝试使用 local-exec 配置器,在这种情况下,它应该在创建特定资源之前触发“监视器”
resource "null_resource" "test_run" {
provisioner "local-exec" {
command = "bin/script.sh"
interpreter = ["bash", "-File"]
}
triggers {
before = "${bigip_ltm_monitor.millenium}"
}
}
resource "bigip_ltm_monitor" "millenium" {
compatibility = "enabled"
interval = "5"
name = "/Common/https_mon"
parent = "/Common/https"
receive = "200"
reverse = "disabled"
send = "GET /health HTTP/1.1\r\nHost: xyz.com\r\nConnection: Close\r\n\r\n"
timeout = "16"
}
【问题讨论】:
-
请分享monitor的完整millenium属性
-
@rflume 请看一下。
-
错误消息有效:您有一个
Map[Map[String]]而不是Map[String]用于triggers。这里有几件事:什么版本的 Terraform,你能terraform fmt你的配置让它可读吗? -
起初我以为是嵌套格式的 JSON,但它似乎是一种奇怪的 HCL 格式,显然是有效的。我已将其编辑为更规范的样式,以使其对 Terraform 的其他用户可读,但如果有充分的理由应该采用该格式,则将其回滚。
-
现在我已将格式更改为更规范的 HCL 样式,看起来应该没问题,所以现在我担心该编辑使问题无效。如果您能详细说明您最初尝试以该格式使用 HCL 的原因,这可能会有所帮助。
标签: terraform