我如何在 terraform 中构建地图列表

2024-01-08

我想在 terraform 中建立一个地图列表。有没有一种手术可以让我这样做。

例如:我想构建结构(来自 aws_instance.test.*.private_ip)

addresses = [
   {
     address = private_ip-1
   },
   {
     address = private_ip-2
   }
   ...
]

抱歉,如果这个问题已经解决,我发现这是一个较旧的问题。

我不确定这是否是最佳实践,但这是我尝试达到所需状态的方式。

使用空资源 https://www.terraform.io/docs/provisioners/null_resource.html您可以执行以下操作:

variable "addresses" {
  type = "list"

  default = [
    "private_ip-1",
    "private_ip-2",
    "private_ip-3"
  ]
}

resource "null_resource" "test" {
  count = "${length(var.addresses)}"

  triggers {
    address = "${element(var.addresses, count.index)}"
  }
}

output "addresses" {
  value = "${null_resource.test.*.triggers}"
}

并有这样的输出:

Apply complete! Resources: 0 added, 0 changed, 0 destroyed.

Outputs:

addresses = [
    {
        address = private_ip-1
    },
    {
        address = private_ip-2
    },
    {
        address = private_ip-3
    }
]

我目前使用的是 terraform 0.11.5,null_resource 似乎已添加到0.6.7 https://github.com/hashicorp/terraform/blob/master/CHANGELOG.md

但 null_resource 触发器有一些限制。插值变量只能产生字符串。因此,不幸的是,您将无法插入会生成列表或地图的值;例如:

resource "null_resource" "test" {
  triggers {
    mylist = "${var.addresses}"
  }
}

会导致错误

错误:null_resource.test:触发器(地址):''预期类型'string',获得不可转换类型'[]interface {}'

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何在 terraform 中构建地图列表 的相关文章

  • 如何在 Prolog 中计算数字序列的和

    任务是计算从0到M的自然数之和 我使用SWI Prolog编写了以下代码 my sum From To From gt To my sum From To S From 0 Next is 1 S is 1 my sum Next To S
  • 如何测试具有多个输入调用的循环?

    我正在尝试测试一个依赖多个用户输入来返回某个值的函数 我已经在这里寻找了多个答案 但没有一个能够解决我的问题 我看到了参数化 模拟和猴子补丁的东西 但没有任何帮助 我认为很大程度上是因为我没有清楚地理解正在做的事情背后的概念 并且我无法适应
  • 当 S3 上的 ZIP 包更改时如何更新 aws_lambda_function Terraform 资源?

    Zip 包不是由 Terraform 上传到 S3 Lambda 由 Terraform aws lambda function 资源配置 当我在 S3 上更改 Zip 包并运行时terraform apply命令 Terraform 说没
  • 如何循环用户输入直到输入整数?

    我想运行一个交互式程序 提示用户输入学生人数 如果用户输入除整数之外的字母或其他字符 则应再次询问他们 输入学生人数 我有以下代码 public int createArrays Scanner s int size System out
  • .Net 中的计时器和循环准确吗?

    在开发一个程序时 计算555定时器IC产生的脉冲的频率和脉冲宽度 通过PC并行端口传到PC 我注意到每次运行代码时它都会显示不同的值 因此我开始测试循环和计时器的准确性 我运行了以下代码 发现它们不准确 我可能是错的 如果我错了 请纠正我
  • 如何编写循环来运行数据框的 t 检验?

    我遇到了对数据框中存储的某些数据运行 t 检验的问题 我知道如何一一做 但效率很低 请问如何写一个循环来实现呢 例如 我在testData中获取了数据 testData lt dput testData structure list Lab
  • Terraform 蓝图上的退出条件

    我想要一个地形蓝图 在顶部满足特定条件时退出 If the var available设置为 false 我希望蓝图停止一切并抛出错误 这个的语法是什么 我在任何地方的文档文件中都找不到它 terraform 中是否存在此功能 注意 此代码
  • 表、TR各2个循环、PHP、HTML

    我有一个 html 表 我使用一些循环来获取一些数据 该数据以这种方式显示 tr td Data td tr next loop 但我不希望它每 2 个甚至 3 个循环关闭表行 tr 所以数据可能如下所示 tr td Data td td
  • 遍历多行字符串

    我得到一些数据 def data some useless text n even more n finally interesting text 我怎样才能得到其中 有趣的部分 所以基本上所有行都不是以 开头的 Groovy 的一种选择是
  • 如何在这个可嵌套的 For 循环中实现 Robot Framework 风格的变量?

    我在 Robot Framework 中见过很多 嵌套 For 循环 主要是创建一个内部带有 For 循环的关键字 然后在另一个 For 循环中调用该关键字 我使用 Python 2 7 13 制作了一个可嵌套的 For 循环 但因为它主要
  • Foreach 更改未保留在 Linq 项目集合上

    在以下示例中 当我返回集合时 不会保留在 foreach 中应用的更改 var people SomeLinqToSqlSource foreach var person in people person Name Jimmy return
  • for 和 while 循环中没有循环条件

    while cond fine for cond fine 但是当我删除条件部分时 while syntax compilation error for Infinite loop 这些循环内部是如何实现的 或者 编译器 解析器 如何知道中
  • 两个非嵌套循环的大 O 表示法

    对于两个非嵌套的 for 循环 大 O 表示法是什么 Example for int i 0 i
  • 在 Clojure 中退出 Recur 循环

    我想跳出下面的循环 并在第 10 行计算结果为 true 时返回最佳最小移动 我查看了 print 语句的输出 当第 10 行的计算结果为 true 时 它 找到了我正在查找的数据 但仍然重复出现 在 Clojure 中 有没有办法在语句计
  • 循环索引依赖于前一个索引

    我有一个清单 fruits apple orange blueberry strawberry 如何创建循环以使一个索引依赖于另一个索引 for i in range len fruits for j range len fruits i
  • 如何使用额外标记输出 wp_list_categories

    我目前正在使用下面的脚本在无序列表中输出我的所有 WordPress 类别 如何获得带有额外标记的输出 ul ul 例如 ul li Category 1 rsaquo li li Category 2 rsaquo li ul 代替 ul
  • 为什么我的“While Loop”不打印查找平均“分数”的计算结果?

    我正在编写一个程序来读取用户输入的正整数序列 用户一次只能输入一个整数 然后它将计算这些整数的平均值 当用户输入0时程序结束 0不计入平均值 程序结束后程序将打印出平均值 问题 当我进入 while 循环时 我的代码停止工作 因此它不会计算
  • 在 terraform 存储库中设置多个逻辑组织的子文件夹的正确方法是什么?

    目前我正在 azure 中开发一个基础设施 其中包括以下内容 资源组 应用网关 应用服务 etc 我所拥有的一切都在一张单曲里main tf我知道这是一个错误的文件 但我想从那里开始 我目前正在尝试将每个部分移到我的存储库中自己的子文件夹中
  • 改变for循环的顺序?

    我遇到一种情况 我需要根据用户输入以不同的顺序循环遍历 xyz 坐标 所以我是 3D 空间中的一个区域 然后是一组像这样的 for 循环 for int x 0 x lt build getWidth x for int y 0 y lt
  • Terraform - 可选的 SSM 参数查找

    我正在查找 SSM 参数 该参数可能存在也可能不存在 具体取决于传入的变量 data aws ssm parameter server tags name var env number server tags 然后我在本地文件中像下面一样使

随机推荐