如何使用Terraform local-exec将命名参数传递给Powershell脚本?

时间:2019-07-12 03:20:17

标签: terraform terraform-provider-azure

试图找出使用terraform local-exec将命名参数传递给我的Powershell脚本的正确方法。

在这种情况下,是否需要引用定界参数?

provisioner "local-exec" {
    command = "powershell -file ../BindCert.ps1 -certString '${var.cert_string_b64}' -certPassword '${var.cert_password}' -certThumbprint '${var.cert_thumbprint}' -certName '${var.cert_name}'"
  }

Windows 10 Powershell 5.1

1 个答案:

答案 0 :(得分:1)

对于您的问题,您可以更改以下代码:

provisioner "local-exec" {
        command = "powershell -file ../BindCert.ps1 -certString ${var.cert_string_b64} -certPassword ${var.cert_password} -certThumbprint ${var.cert_thumbprint} -certName ${var.cert_name}"
    }

我将向您展示我所进行的测试。

PowerShell脚本:

param([String]$rgName = "rgName")
Get-AzResourceGroup -Name $rgName

Terraform代码:

variable "test" {
    type = "string"
    default = "charles"
}

resource "null_resource" "test" {
    provisioner "local-exec" {
        command = "PowerShell -file ./test.ps1 -rgName ${var.test}"
    }
}

结果的屏幕截图:

enter image description here

有关更多详细信息,请参见Terraform local-exec Provisioner

相关问题