Terraform创建列表



我试图将我的coturn服务器的所有浮动ip放入一个可靠的库存中。

resource "local_file" "hosts_cfg" {
content = templatefile("${path.module}/templates/hosts.tpl",
{
coturn = openstack_compute_floatingip_associate_v2.coturn[*].floating_ip
}
)
filename = "../ansible/inventory/hosts.cfg"
}

错误:此对象没有名为"的属性;floating_ip">

resource "local_file" "hosts_cfg" {
content = templatefile("${path.module}/templates/hosts.tpl",
{
coturn = openstack_compute_floatingip_associate_v2.coturn["coturn-1"].floating_ip
}
)
filename = "../ansible/inventory/hosts.cfg"
}

有效,但仅适用于一个实例

我的模板文件。

[coturn]
%{ for ip in coturn ~}
${ip}
%{ endfor ~}

我的openstack_compute_floatingip_associate_v2定义。

resource "openstack_compute_floatingip_associate_v2" "coturn" {
for_each = var.coturn_instance_names
floating_ip = openstack_networking_floatingip_v2.coturn[each.key].address
instance_id = openstack_compute_instance_v2.coturn[each.key].id
}

这不是我问题的答案,但解决了问题
我目前使用的是zigarn中提到的这个配置。

resource "local_file" "hosts_cfg" {
content = templatefile("${path.module}/templates/hosts.tpl",
{
coturn = openstack_compute_floatingip_associate_v2.coturn
}
)
filename = "../ansible/inventory/hosts.ini"
}
[coturn]
%{ for instance in coturn ~}
${instance.floating_ip}
%{ endfor ~}

我仍然不知道,为什么这个工作(链接(

kafka_processors = aws_instance.kafka_processor.*.public_ip

但这不是

coturn = openstack_compute_floatingip_associate_v2.coturn.*.floating_ip

相关内容

  • 没有找到相关文章

最新更新