大佬教程收集整理的这篇文章主要介绍了如何在 terraform locals 中迭代对象列表,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上,我们正在尝试使用 terraform 0.13.5 创建 clouDWatch 仪表板,我们的要求是将 2 变量传递给小部件块,即 ${Function_name} 和 ${titlE}。这将作为对象变量传递。>
错误:模板插值无效 不能在字符串模板中包含给定值:需要字符串。
代码如下:
locals{
lambda = [
{
Function_name = "lambda1"
title = "Error"
},{
Function_name = "lambda1"
title = "Error1"
}
]
Widget_defination = <<EOT
%{ for Function_name,title in local.lambda}
[
{
"type": "metric","x": 0,"y": 0,"wIDth": 12,"height": 6,"propertIEs": {
"metrics": [
[
"AWS/EC2","cpuutilization","Functionname","${funtion_namE}"
]
],"period": 300,"stat": "Average","region": "us-east-1","title": "${titlE}"
}
}
]
}
%{endfor }
EOT
}
问题。
我们需要在小部件中调用对象,例如 -
${Function_name.Function_name} 和 ${Function_name.titlE}
,据我所知,这不是在 terraform 中处理变量的方法。 您必须在自己的文件中声明变量和类型,并在不同的文件中或作为资源创建的结果分配它们的值。
您在谈论小部件,所以我不确定您是否已经知道这一点,因为我以前从未使用过小部件。但如果你需要尽快帮助我不介意尝试..
变量.tf
variable "project_name" {
type = String
}
variable "vpc_id" {}
...
terraform.tfvars
project_name = "my-project"
vpc_id = "vpc-10101010"
...
您将其放入模板的方式取决于您。 我建议使用像 bash 这样的简单方法,但 IDK 可能这些小部件很有趣
这里有一点编辑,因为我刚刚看到你的“陷阱”很晚......是的,不要混合变量和字符串......你应该为你自己的答案投票:D
以上是大佬教程为你收集整理的如何在 terraform locals 中迭代对象列表全部内容,希望文章能够帮你解决如何在 terraform locals 中迭代对象列表所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。