如何使用PowerShell获取terraform(.tf)文件的内容

p3rjfoxz  于 2023-08-05  发布在  Shell
关注(0)|答案(2)|浏览(163)

如何使用PowerShell获取Terraform .tf文件的数据?就像我们在XML文件中使用的那样:

(Get-Content -Path "C:\Desktop\strings.xml") -as [xml]

字符串
有没有其他方法来获取terraform文件?

jjjwad0x

jjjwad0x1#

Terraform有它自己的configuration language。您需要一个自定义解析器,以便能够将其解析为PowerShell数据结构。但是,文档中提到Terraform supports JSON format是本地语言的替代语言。您应该能够导入以JSON编写的配置文件,如下所示:

Get-Content 'C:\Desktop\input.tf' | Out-String | ConvertFrom-Json

字符串
或者,如果您运行的是PowerShell v3或更高版本,则类似于以下示例:

Get-Content 'C:\Desktop\input.tf' -Raw | ConvertFrom-Json

63lcw9qa

63lcw9qa2#

如果你不介意使用开源项目,我建议通过应用hcl2json库将HCL转换为JSON。可执行文件可以从这里下载:https://github.com/tmccombs/hcl2json/releases
然后,您可以从PowerShell对.tf或.tfvars文件调用该进程。结果应该是这样的:

(& .\hcl2json_windows_amd64.exe -simplify "dev.shared.tfvars" | ConvertFrom-Json).key_vault_settings

字符串


的数据

相关问题