如何在资源中存储和重用地形插值结果?



如何在不将其公开为输出的资源中存储和重用地形插值结果?

示例:在aws_ebs_volume中,我使用以下方法计算我的卷大小:

size = "${lookup(merge(var.default_ebs_vol_sizes,var.ebs_vol_sizes),
var.tag_disk_location[var.extra_ebs_volumes[count.index % length(var.extra_ebs_volumes)]])}"

现在,我需要重复使用相同的大小来计算同一资源以及相应的 ec2 资源(在同一模块中(中的成本标签。如何在不复制粘贴整个公式的情况下执行此操作?

PS:我在多个场景中遇到过这个用例,所以以上只是我需要重用插值结果的用例之一。在这种情况下,使用相应的数据源获取插值结果是一种出路,但要寻找更直接的解决方案。

现在可以使用从 terraform 0.10.3 开始提供的局部变量来实现这一点。

https://www.terraform.io/docs/configuration/locals.html

本地值为表达式分配一个名称,然后可以使用该名称 在一个模块中多次出现。

最新更新