从Terraform资源创建记录列表

时间:2020-06-23 19:51:03

标签: terraform

在Terraform中,我正在尝试从创建的DNS A记录创建DNS SRV记录。我想用aws_route53_record.etcd名称中的名称填充记录,但是在引用资源名称时遇到错误。

有没有简单的方法来实现这一目标?

null

运行spawn时,出现以下错误。

var p = require('child_process').spawn('ipconfig.exe', [], {
    cwd: process.cwd(),
    env: {
        ...process.env
    },
    stdio: 'pipe'
});

var stdout = p.stdout.read(10);
console.log(stderr);

var stderr = p.stderr.read(10);
console.log(stderr);

2 个答案:

答案 0 :(得分:0)

您在同一行中使用for_eachfor。两者都描述了循环,因此很难放松。尝试将行分为2条不同的行,并将for分配给局部变量。拆分for和for_each将有助于我们进行检查。

我认为问题是[for n in aws_route53_record.etcd : { name = n.name }]

起始括号[for ... 定义了一个列表, { name ..定义了一个地图。因此列出了地图。也许要删除{

答案 1 :(得分:0)

根据反馈找出答案。感谢您的帮助!

resource "aws_route53_record" "etcd_ssl_tcp" {

  zone_id = data.aws_route53_zone.kubic.zone_id
  name    = "_etcd-server-ssl._tcp.${data.aws_route53_zone.test.name}"
  type    = "SRV"
  ttl     = 60

  records = [
      for n in aws_route53_record.etcd :
      "0 10 2380 ${n.name}"
  ]

}