Creación del módulo de VCN

Defina la red virtual en la nube (VCN) y las puertas de enlace como recursos en la configuración de Terraform y declare las variables utilizadas en el módulo.

Realice los siguientes pasos en el subdirectorio vcn:
  1. Cree un archivo de texto denominado variables.tf y pegue el siguiente código en el archivo.
    Este código declara las variables utilizadas en este módulo.
    variable "tenancy_ocid" {}
    variable "compartment_ocid" {}
    variable "app_tag" {}
    variable "environment" {}
    variable "vcn_cidr" {}
  2. Cree un archivo de texto denominado vcn.tf y pegue el siguiente código en el archivo.
    Este código especifica los parámetros de la VCN, el gateway de Internet y el gateway NAT.
    resource "oci_core_virtual_network" "base_vcn" {
      cidr_block     = "${var.vcn_cidr}"
      compartment_id = "${var.compartment_ocid}"
      display_name   = "${var.app_tag}_${var.environment}_vcn"
      dns_label      = "${lower(format("%s", var.app_tag))}"
    }
    
    resource "oci_core_internet_gateway" "base_ig" {
      compartment_id = "${var.compartment_ocid}"
      display_name   = "${var.app_tag}_${var.environment}_internetgateway"
      vcn_id         = "${oci_core_virtual_network.base_vcn.id}"
    }
    
    resource "oci_core_nat_gateway" "nat_gateway" {
      compartment_id = "${var.compartment_ocid}"
      vcn_id         = "${oci_core_virtual_network.base_vcn.id}"
      display_name   = "${var.app_tag}_${var.environment}_nat_gateway"
    }

    Este ejemplo de configuración de Terraform no especifica subredes, listas de seguridad ni otros recursos de red. Puede personalizar esta configuración según sea necesario.

  3. Cree un archivo de texto denominado vcn_output.tf y pegue el siguiente código en el archivo.
    Este código causa que Terraform muestre los ID de los recursos, después de crearlos.
    output "vcnid" {
      value = "${oci_core_virtual_network.base_vcn.id}"
    }
    
    output "default_dhcp_id" {
      value = "${oci_core_virtual_network.base_vcn.default_dhcp_options_id}"
    }
    
    output "internet_gateway_id" {
      value = "${oci_core_internet_gateway.base_ig.id}"
    }
    
    output "nat_gateway_id" {
      value = "${oci_core_nat_gateway.nat_gateway.id}"
    }