【问题标题】:How to pass named params to powershell script using Terraform local-exec?如何使用 Terraform local-exec 将命名参数传递给 powershell 脚本?
【发布时间】:2019-11-21 19:07:35
【问题描述】:

试图找出使用 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

【问题讨论】:

    标签: terraform terraform-provider-azure


    【解决方案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

    【讨论】:

    • 谢谢...在字符串参数值嵌入空间(如“美国西部”)用于手臂位置之前,效果很好。
    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 2020-09-04
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多