【发布时间】:2021-08-09 17:02:12
【问题描述】:
需要通过命令行将地图传递到 Terraform(不想使用 var 文件或 tfvars)并且遇到 Linux 丢弃语音标记的问题。所以需要一些可以通过 Terraform 控制台和 bash echo 解释为地图的东西。
terraform console
{"ip_add_1"="1.1.1.1","ip_add_2"="2.2.2.2"}
这可行,但 bash(用于运行计划)会删除 Terraform 不喜欢的语音标记:
echo {"ip_add_1"="1.1.1.1","ip_add_2"="2.2.2.2"}
它也会去掉逗号,但这并不重要,因为我只使用 echo 进行测试,而 bash shell 上的 Terraform 计划并没有这样做。
我尝试了 1000 种转义、单引号等变体。但找不到可行的解决方案。有关信息,我使用在 Ubuntu 代理上运行的 Azure DevOps 变量传递它:
terraform plan -var ip_list=$(ip_list)
【问题讨论】: