gpt4 book ai didi

Terraform:如何将变量从 YAML 文件读入 Terraform?还是来自像 Hiera 这样的数据库?

转载 作者:行者123 更新时间:2023-12-03 20:17:42 32 4
gpt4 key购买 nike

我想从外部 YAML 文件或像 Hiera 这样的数据库将变量读入我的 Terraform 配置文件,我该怎么做?例如:

provider "aws" {
region = hiera('virginia') # this should look up for virginia=us-east-1
}

resource "aws_instance" {
ami = hiera('production')
....
....
}

基本上它类似于我们如何使用 hiera 或 YAML 文件查找 Puppet list /配置。

最佳答案

yamldecode函数可用于读取 Yaml 文件作为 terraform 的输入并解析它以使用。

假设 test.yml 文件如下

a: 1
b: 2
c: 3

然后下面的代码可以用来读取yaml文件
output "log" {
value = "${yamldecode(file("test.yml"))}"
}

为了解析从 yaml 文件中读取的特定值
output "log" {
value = "${yamldecode(file("test.yml"))["a"]}"
}

重要 : 这在0.12或更高版本的terraform中可用,如果使用旧版本的terraform仍想使用yaml文件,则使用 terraform-provider-yaml

关于Terraform:如何将变量从 YAML 文件读入 Terraform?还是来自像 Hiera 这样的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46653464/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com