Как передать именованные параметры в скрипт powershell, используя Terraform local-exec? - PullRequest
0 голосов
/ 12 июля 2019

Попытка выяснить, как правильно передать именованные аргументы в мой сценарий powershell, используя terraform local-exec.

Нужно ли заключать в кавычки параметры-разделители в этом случае, например, так?

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 Ответ

1 голос
/ 12 июля 2019

Для вашей проблемы вы можете изменить код, как показано ниже:

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 .

...