Terraform:如果子网不存在,则将接口设置为空
Terraform: If subnetwork does not exist, set interface to null
我正在创建一个自定义模块,用于在 GCP 中创建多 nic VM。在部署时,可能会有 VM 不需要使用多个接口的情况。
如果子网不存在,是否可以将network_interface设置为空值?如果可能,我想避免为每个接口数创建多个模块。
resource "google_compute_instance" "vm" {
name = "${var.vm_name}"
machine_type = "${var.machine_type}"
zone = "${var.zone}"
min_cpu_platform = "${var.cpu_platform}"
network_interface {
subnetwork = "${google_compute_subnetwork.subnetwork1.name}"
}
network_interface {
subnetwork = "${google_compute_subnetwork.subnetwork2.name}"
}
network_interface {
// PSEUDO CODE
subnetwork = if (subnetwork3 == true) {
"${google_compute_subnetwork.subnetwork3.name}"
else
"do nothing or set null"
}
}
你能把 locals
和 count
结合起来吗?
示例
locals {
interface_num = "${var.is_subnetwork_3 ? 0 : 3}"
}
resource "google_whatever" "name" {
count = "${local.interface_num}"
// config
}
我正在创建一个自定义模块,用于在 GCP 中创建多 nic VM。在部署时,可能会有 VM 不需要使用多个接口的情况。
如果子网不存在,是否可以将network_interface设置为空值?如果可能,我想避免为每个接口数创建多个模块。
resource "google_compute_instance" "vm" {
name = "${var.vm_name}"
machine_type = "${var.machine_type}"
zone = "${var.zone}"
min_cpu_platform = "${var.cpu_platform}"
network_interface {
subnetwork = "${google_compute_subnetwork.subnetwork1.name}"
}
network_interface {
subnetwork = "${google_compute_subnetwork.subnetwork2.name}"
}
network_interface {
// PSEUDO CODE
subnetwork = if (subnetwork3 == true) {
"${google_compute_subnetwork.subnetwork3.name}"
else
"do nothing or set null"
}
}
你能把 locals
和 count
结合起来吗?
示例
locals {
interface_num = "${var.is_subnetwork_3 ? 0 : 3}"
}
resource "google_whatever" "name" {
count = "${local.interface_num}"
// config
}