我想使用 terraform 的外部資料源來識別某些 AWS EC2 實體:
data "external" "monitoring_instances" {
program = ["bash", "${path.module}/../bash/tf_datasource_monitoring.sh"]
query = {
env = var.env_stage
}
}
bash 腳本使用 AWS CLI 回傳實體 ID 串列。
但我一直收到這個 Error: command "bash" produced invalid JSON: json: cannot unmarshal array into Go value of type string
我不明白我的腳本 STDOUT 的預期語法是什么,以便 terraform 理解結果。
因此,讓我們假設這個腳本應該回傳3個實體ID i-1,i-2和i-3。
回傳到 terraform 的正確 JSON 語法是什么?
示例,不起作用:
{
"instances": [
"i-1",
"i-2",
"i-3"
]
}
[
"i-1",
"i-2",
"i-3"
]
uj5u.com熱心網友回復:
這是 Terraform 中的一個已知問題provider-external:https : //github.com/hashicorp/terraform-provider-external/issues/2。它是在不久前打開的,不幸的是最新版本(Terraform v1.011)仍然存在。
您可能希望避免回傳包含陣列的 JSON 物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/367706.html
下一篇:在面板中顯示用戶控制元件
