Sus*_*ush -2 linux bash shell terraform
我需要在 bash 脚本中获取存储在 terraform 文件中的值。
cat custom.tfvars
Val1 = {a1 = "12", b2 = "0.5", "count" = 2}
Val2 = {a1 = "14", b2 = "0.5", "count" = 1}
Run Code Online (Sandbox Code Playgroud)
我想编写一个脚本来获取 的值Val1(count)
。
谢谢。
虽然您可以使用普通的 Unix 文本处理工具来访问此值(例如使用现有的答案),但您可能还会发现使用可以正确解析 HCL 的工具很有用。值得庆幸的是,Terraform 附带了命令行命令terraform console
,它使您能够在初始化的工作空间中与 Terraform 配置和状态数据进行交互。
给定一个名为的文件custom.tfvars
,其内容如下:
Val1 = { a1 = "12", b2 = "0.5", "count" = 2 }
Val2 = { a1 = "14", b2 = "0.5", "count" = 1 }
val1_fmt = {
a1 = "12"
b2 = "0.5"
count = 2
}
Run Code Online (Sandbox Code Playgroud)
您还需要声明变量,这样您可能会得到如下内容:
variable "Val1" {}
variable "Val2" {}
variable "val1_fmt" {}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下命令初始化目录terraform init
,然后运行terraform console
以交互方式(默认)或通过将控制台命令通过管道与配置进行交互,terraform console
如下所示:
Val1 = { a1 = "12", b2 = "0.5", "count" = 2 }
Val2 = { a1 = "14", b2 = "0.5", "count" = 1 }
val1_fmt = {
a1 = "12"
b2 = "0.5"
count = 2
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果您在其中定义了变量,terraform.tfvars
或者以它结尾的文件.auto.tfvars
将自动使用,而无需传递-var-file
标志。
使用terraform console
此处还可以让您读取格式不同的等效结构:
variable "Val1" {}
variable "Val2" {}
variable "val1_fmt" {}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3708 次 |
最近记录: |