Terraform中=>符号所属功能名称及作用是什么?
所属功能名称
=> 属于Terraform的for表达式(For Expression)功能,是Terraform用于集合类型转换的核心语法组件。
具体作用
=> 是for表达式中的键值映射分隔符,仅在生成映射(Map)类型结果的for表达式中使用,作用是定义遍历原集合时,新生成Map的键、值对应规则:
- 符号左侧为新Map的键的取值规则
- 符号右侧为新Map的键对应的值的取值规则
结合你的代码示例解释
你提供的代码逻辑如下:
output "for_output_map2" { description = "For Loop with Map - Advanced" value = {for c, instance in aws_instance.myec2vm: c => instance.public_dns} }
这段代码遍历aws_instance.myec2vm这个EC2实例资源集合,最终输出一个结构为{实例标识: 实例公网DNS}的映射表:
- 遍历过程中,
c是原资源集合中每个实例的索引/标识键,instance是对应实例的资源对象 c => instance.public_dns就定义了新映射表中,键沿用原集合的实例标识c,对应的值取该实例的公网DNS属性instance.public_dns
补充说明:如果用[]包裹for表达式生成列表(List)类型结果,不需要使用=>符号,直接写值的取值规则即可。
内容的提问来源于stack exchange,提问作者Nick_Scott
相关产品推荐
相关产品推荐

