GCP Terraform условно на публичный адрес - PullRequest
0 голосов
/ 01 октября 2019

У меня есть модуль, который создает виртуальную машину. В качестве переменной для модуля я хотел бы иметь условие, которое выбирает, добавлять ли общедоступный IP-адрес в интерфейс виртуальной машины.

Вот мой main.tf (обрезанный)

module "vm_egress" {
  source          = "./modules/create_vm/"
  vm_name         = "my-vm"
  vm_machine_type = "n1-standard-4"
  vm_zone         = "us-east-4a"
  vm_subnetwork   = "my-subnet"
  vm_private_ip   = "10.0.0.2"

  # Conditional for public IP on network.  If true, set access_config to {}.
  apply_public_ip = "true"
}

Вот мой модуль (обрезанный)

resource "google_compute_instance" "vmseries" {
  name                      = "${var.vm_name}"
  machine_type              = "${var.vm_machine_type}"
  zone                      = "${var.vm_zone}"

  network_interface {
    subnetwork    = "${var.vm_subnetwork}"
    network_ip    = "${var.vm_private_ip"

    # Set access_config based on boolean of "apply_public_ip"
    access_config = {}
  }
}

Любая помощь или направление по этому вопросу будет высоко ценится!

Спасибо.

1 Ответ

0 голосов
/ 02 октября 2019

Одной из альтернатив может быть создание отдельных общедоступных и частных подсетей и указание подсети, в которой вместо этого развернута виртуальная машина, через условную. Это позволило бы выполнить то же самое и избежать беспорядка наличия как общих, так и частных виртуальных машин в одной подсети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...