【发布时间】:2022-06-23 20:01:29
【问题描述】:
我有一个 variables.tf 文件,其中包含所有项目变量,我正在尝试使用 PowerShell 获取变量值。
variables.tf
variable "products" {
default = [
"Product-1",
"Product-2",
"Product-3",
"Product-4"
]
}
variable "product_unified_container" {
default = [
"cont-data",
"cont-data-2"
]
}
variable "location" {
default = "westeurope"
}
使用 PowerShell 我需要能够获取我想要的任何变量的变量值。
示例:如果它有多个值,该命令应该给我一个包含 variables.tf 中所有产品变量的数组。
写入主机 $product_list
产品-1
产品-2
产品-3
产品-4
如果变量有一个值,那么它应该给我那个值,比如“位置”变量。
写入主机 $deployed_location
西欧
【问题讨论】:
-
到目前为止你尝试了哪些方法,遇到了什么样的问题?
-
另外,为什么必须从 tf 文件中读取这些值?
-
@zett42 我试图在 Bash 中获得相同的效果,但现在需要在 Powershell 中完成。 Bash 代码如下。
cat variables.tf | sed '/products/,$!d' | sed '1d;$d' | sed 's|default|allproducts|g' | tr -d '\n' | tr -d ' ' -
@Marko E - 我需要这个值来进行进一步的自动化工作,这在 terraform 部署之外。
-
好吧,您不妨为此使用
TF_VAR_<varname>选项,即将它们设置为环境变量并从那里提取值。我建议的其他方法是为代码的 Terraform 部分定义输出并使用terraform output获取值。
标签: powershell terraform azure-powershell