如何解决Terraform For循环从地图生成JSON
寻找在terraform中创建JSON字符串(最好使用jsonencode)或类似方法的最简单方法,我已经查看了terraform文档上的几个示例,但仍在努力确定确切的格式以正确输出此输出。这样应该可以很容易地保留我们在docker-compose中使用的dev.env文件,以将其很好地传输到用于多个容器的大型数组中。
locals {
container_envs = {
ENV = "dev"
CONTAINER_TAG = "dev"
}
}
到以下类型的输出
[{
"name": "ENV","value": "dev"
},{
"name": "CONTAINER_TAG","value": "dev"
}
]
解决方法
我认为以下方法应该有效(不确定顺序是否重要):
locals {
container_envs = {
ENV = "dev"
CONTAINER_TAG = "dev"
}
}
output "test" {
value = [for k,v in local.container_envs: { name = k,value = v }]
}
给出:
test = [
{
"name" = "CONTAINER_TAG"
"value" = "dev"
},{
"name" = "ENV"
"value" = "dev"
},]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。