VM 目标池或后端服务池的所有外部 IP 的 Terraform 输出



我让虚拟机在 gcp/gcegoogle_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.*....}"
}

如何输出目标池(如果是内部 LB,则为后端服务)中所有虚拟机的所有 IP 的列表?

可能希望为每个实例尝试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 }"
}

最新更新