如何使用 Terraform local-exec 将命名参数传递给 powershell 脚本?
How to pass named params to powershell script using Terraform local-exec?
尝试找出使用 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
对于您的问题,您可以更改如下代码:
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
地形代码:
variable "test" {
type = "string"
default = "charles"
}
resource "null_resource" "test" {
provisioner "local-exec" {
command = "PowerShell -file ./test.ps1 -rgName ${var.test}"
}
}
结果截图:
有关详细信息,请参阅 Terraform local-exec Provisioner。
尝试找出使用 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
对于您的问题,您可以更改如下代码:
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
地形代码:
variable "test" {
type = "string"
default = "charles"
}
resource "null_resource" "test" {
provisioner "local-exec" {
command = "PowerShell -file ./test.ps1 -rgName ${var.test}"
}
}
结果截图:
有关详细信息,请参阅 Terraform local-exec Provisioner。