modules/gcve-private-cloud/main.tf (57 lines of code) (raw):

/** * Copyright 2022 Google LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ data "google_vmwareengine_network" "existing_vmware_engine_network" { count = var.create_vmware_engine_network ? 0 : 1 provider = google-beta project = var.project name = var.vmware_engine_network_name location = var.vmware_engine_network_location } resource "google_vmwareengine_network" "vmware_engine_network" { count = var.create_vmware_engine_network ? 1 : 0 provider = google-beta project = var.project name = var.vmware_engine_network_name location = var.vmware_engine_network_location type = var.vmware_engine_network_type description = var.vmware_engine_network_description } resource "google_vmwareengine_private_cloud" "gcve_tf_pc" { provider = google-beta project = var.project location = var.gcve_zone name = var.pc_name description = var.pc_description type = var.pc_type network_config { management_cidr = var.pc_cidr_range vmware_engine_network = var.create_vmware_engine_network ? google_vmwareengine_network.vmware_engine_network[0].id : data.google_vmwareengine_network.existing_vmware_engine_network[0].id } management_cluster { cluster_id = var.cluster_id node_type_configs { node_type_id = var.cluster_node_type node_count = var.cluster_node_count } dynamic "node_type_configs" { for_each = var.cluster_storage_node_count > 0 ? [1] : [] content { node_type_id = var.cluster_storage_node_type node_count = var.cluster_storage_node_count } } } }