程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在 terraform locals 中迭代对象列表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在 terraform locals 中迭代对象列表?

开发过程中遇到如何在 terraform locals 中迭代对象列表的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在 terraform locals 中迭代对象列表的解决方法建议,希望对你解决如何在 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,请注明来意。