如何使用PowerShell获取Terraform .tf文件的数据?就像我们在XML文件中使用的那样:
(Get-Content -Path "C:\Desktop\strings.xml") -as [xml]
字符串有没有其他方法来获取terraform文件?
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
型
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
字符串
的数据
2条答案
按热度按时间jjjwad0x1#
Terraform有它自己的configuration language。您需要一个自定义解析器,以便能够将其解析为PowerShell数据结构。但是,文档中提到Terraform supports JSON format是本地语言的替代语言。您应该能够导入以JSON编写的配置文件,如下所示:
字符串
或者,如果您运行的是PowerShell v3或更高版本,则类似于以下示例:
型
63lcw9qa2#
如果你不介意使用开源项目,我建议通过应用hcl2json库将HCL转换为JSON。可执行文件可以从这里下载:https://github.com/tmccombs/hcl2json/releases
然后,您可以从PowerShell对.tf或.tfvars文件调用该进程。结果应该是这样的:
字符串
的数据