我正在尝试在PowerShell
脚本中运行terraform
脚本。我尝试使用local-exec函数,但会引发以下错误。
错误:未知的根级密钥:供应商
我已经在下面添加了脚本。
如果有人能为我提供解决方案,我会很高兴。
provisioner "local-exec" {
inline = ["powershell.exe -File C:\\Users\\Boopathi Kumar\\Downloads\\poscript1.ps1"]
}
答案 0 :(得分:1)
Provisioners必须作为资源而不是顶级资源的一部分运行。
通常,这将针对实例执行,例如上面链接文档中给出的示例:
resource "aws_instance" "web" {
# ...
provisioner "local-exec" {
command = "echo ${self.private_ip} > file.txt"
}
}
将实例的IP地址写入到Terraform运行所在位置的本地文件中。
如果您根本没有任何指向资源的链接(您只是希望发生某些事情,而不管资源如何变化),则可以使用为此目的而设计的null_resource
。
如local-exec
docs中所述,您可以像这样使用它:
resource "null_resource" "example2" {
provisioner "local-exec" {
command = "Get-Date > completed.txt"
interpreter = ["PowerShell", "-Command"]
}
}