google-compute-engine - GCPcompute_engine网络接口(interface)terraform错误

标签 google-compute-engine terraform terraform-provider-gcp

我的 terraform 文件如下所示:

resource "google_compute_instance" "virtual_instance" {
  name = "${var.instance_name}"
  machine_type = "${var.instance_type}"
  zone = "${var.zone}"
  lifecycle {
    ignore_changes = ["boot_disk.0.initialize_params.0.image"]
  }
  boot_disk {
    initialize_params {
      image = "ubuntu-os-cloud/ubuntu-1604-lts"
      size = "30"
      type = "pd-standard"
    }
  }
  network_interface {
    network = "default"
    access_config {}
  }

  attached_disk {
    source = "${google_compute_disk.managed_data_disk.name}"
    mode = "READ_WRITE"
  }
  metadata {
  }
}

上面的代码创建了实例。但是当我更改时,network_interface block 如下所述

  network_interface {
    network = "${module.vpc.vpc_name}"
    subnetwork = "${module.vpc.subnet_name}"
    access_config {}
  }

VPC 模块是:

resource "google_compute_network" "vpc" {
 name                    = "${var.name}-vpc"
 auto_create_subnetworks = "false"
}

resource "google_compute_subnetwork" "subnet_public" {
    name = "${var.subnet_name_public}"
    ip_cidr_range = "${var.subnet_cidr_public}"
    network = "${var.name}-vpc"
    depends_on    = ["google_compute_network.vpc"]
    region      = "${var.region}"
}

resource "google_compute_firewall" "firewall" {
  name    = "${var.name}-firewall"
  network = "${google_compute_network.vpc.name}"

  allow {
    protocol = "icmp"
  }

  allow {
    protocol = "tcp"
    ports    = ["22"]
  }

  source_ranges = ["0.0.0.0/0"]
}

当我将network_interface更改为自定义值时。它抛出的错误是

google_compute_instance.virtual_instance:创建网络接口(interface)时出错:必须提供网络或子网之一

请帮我解决这个问题

最佳答案

提前感谢@ydaetskcoR。如果您选择 network_interface 的自定义值。您不能同时提及networksubnetwork。您将仅选择下面提到的子网值。

network_interface {
    subnetwork = "${module.vpc.subnet_name}"
    access_config {}
}

关于google-compute-engine - GCPcompute_engine网络接口(interface)terraform错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51892466/

相关文章:

google-cloud-platform - Terraform 创建奇怪的 for_each

terraform - 有没有办法防止 Terraform google_container_cluster 在没有任何变化时被破坏和重新创建?

ssh - 如何访问 Google Cloud Platform Compute Engine VM 实例的 SSH key ?

azure - Terraform Azurerm 恢复服务保管库备份策略格式错误

terraform - 如何在Terraform中获取调用模块的名称

amazon-web-services - 如何使用现有VPC创建aws_instance?

google-cloud-platform - 如何在没有容器 URL 的情况下创建一个空的 Cloud Run 服务?

node.js - Google Cloud Functions 包括私有(private)图书馆

javascript - 两个 Google 计算引擎实例之间的连接问题

tensorflow - 在 Keras 中未检测到 GCP GPU