【发布时间】:2019-08-04 09:03:31
【问题描述】:
我正在尝试使用 terraform 中的外部数据源从 azure 获取值。但是,当我尝试使用写入输出导出值时,我不明白我做错了什么,得到一个错误
data.external.powershell_test:data.external.powershell_test:命令“Powershell.exe”产生了无效的 JSON:无效字符“l”正在寻找对象键字符串的开头”
下面是我的脚本
$vm=(Get-AzureRmVM -ResourceGroupName MFA-RG -Name vm2).name | convertTo-json
Write-Output "{""first"" : ""$vm""}"
Main.tf 文件
data "external" "powershell_test" {
program = ["Powershell.exe", "./vm.ps1"]
}
output "value" {
value = "${data.external.powershell_test.result.first}"
}
谁能告诉我脚本有什么问题?如果我正确地使用了写出?
已编辑----------
另外,当我像下面这样直接为变量赋值时,terraform 能够执行代码。
$vm = "testvm"
Write-Output "{""first"" : ""$vm""}"
【问题讨论】:
-
如果直接运行
vm.ps1脚本,输出是什么样的? -
我已经用您询问的详细信息编辑了帖子
标签: azure powershell terraform terraform-provider-azure