获取 GCP 实例组实例数据

问题描述 投票:0回答:0

您好,我正在尝试使用 terraform 获取由 google_compute_instance_template 创建的计算实例的名称和公共 IP 地址,但是在第一个 terraform 应用后第一次读取时我得到一个空列表。 请注意,它在第二个地形应用上运行良好。

main.tf:

resource "google_compute_region_instance_group_manager" "instance_group_manager" {
  region = var.region
  name = "${var.prefix}-igm-${random_string.random_string.result}"
  wait_for_instances = true
  version {
    instance_template = google_compute_instance_template.instance_template.id
    name = "${var.prefix}-tmplt"
  }
  base_instance_name = "${var.prefix}-${random_string.random_string.result}"
}

输出.tf:

#Get the list of instances
data "google_compute_region_instance_group" "mig_data" {
    name = google_compute_region_instance_group_manager.instance_group_manager.name
    region = var.region
}

#Get each instance data 
data "google_compute_instance" "intance_data" {
  count = var.instances_min_grop_size
  self_link = data.google_compute_region_instance_group.mig_data.instances[count.index].instance
}

#Print the data needed
output "public_ips" {
  value = [
    for instance in data.google_compute_instance.intance_data: 
    [
      instance.name, instance.network_interface.0.access_config.0.nat_ip
    ]
  ]
}

第一次运行输出:

Error: Invalid index
│
│   on output.tf line 49, in data "google_compute_instance" "intance_data":
│   49:   self_link = data.google_compute_region_instance_group.mig_data.instances[count.index].instance
│     ├────────────────
│     │ count.index is 0
│     │ data.google_compute_region_instance_group.mig_data.instances is empty list of object
│
│ The given key does not identify an element in this collection value: the collection has no elements.
╵
╷
│ Error: Invalid index
│
│   on output.tf line 49, in data "google_compute_instance" "intance_data":
│   49:   self_link = data.google_compute_region_instance_group.mig_data.instances[count.index].instance
│     ├────────────────
│     │ count.index is 1
│     │ data.google_compute_region_instance_group.mig_data.instances is empty list of object
│

第二次运行输出:

public_ips = [
  [
    "chkp-tf-mig-07m81-97nz",
    "35.231.4.112",
  ],
  [
    "chkp-tf-mig-07m81-bkj2",
    "34.23.235.90",
  ],
]
google-cloud-platform terraform google-compute-engine gce-instance-group
© www.soinside.com 2019 - 2024. All rights reserved.