0

我在 gcp/gce 中对虚拟机进行了地形改造和google_compute_target_pool管理google_compute_region_instance_group_manager

resource "google_compute_target_pool" "my-target-pool" {
  name             = "${local.pre}-my-target-pool"
}

data "google_compute_region_instance_group" "my-group_data" {
  self_link = "${google_compute_region_instance_group_manager.my-group-manager.instance_group}"
}

现在我想要output每个实例拥有的所有外部 IP(并且他们有一个我检查过的外部 IP!)

我尝试了几件事,但没有一个有效,因为 terraform 总是抱怨某些对象没有这样的属性。

这里有一些尝试:

output jumpbox_ip {
  # value = "${google_compute_region_instance_group_manager.my-group-manager.instance_group.instances.*.network_interface.0.access_config.0.nat_ip}"
  # value = "${google_compute_region_instance_group.my-group_data.instances.*....
  value = "${google_compute_target_pool.my-target-pool.instances.*....}"
}

如何输出目标池中所有虚拟机的所有 IP 列表(或内部 LB 的后端服务?

4

1 回答 1

0

可能想为google_compute_instance每个实例尝试一个数据资源:

data "google_compute_instance" "instances" {
  count = "${length(data.google_compute_region_instance_group.my-group_data.instances)}"

  name = "${data.google_compute_region_instance_group.my-group_data.instances[count.index]}"
}

output "instance_ids" {
  value = "${data.google_compute_instance.instances.*.network_interface.0.access_config.0.nat_ip }"
}
于 2019-03-17T15:35:35.957 回答