Criar o Módulo VCN

Defina a rede virtual na nuvem (VCN) e os gateways como recursos na configuração Terraform e declare as variáveis usadas no módulo.

Conclua as seguintes etapas no subdiretório vcn:
  1. Crie um arquivo de texto chamado variables.tf e cole o código a seguir no arquivo.
    Este código declara as variáveis usadas neste módulo.
    variable "tenancy_ocid" {}
    variable "compartment_ocid" {}
    variable "app_tag" {}
    variable "environment" {}
    variable "vcn_cidr" {}
  2. Crie um arquivo de texto chamado vcn.tf e cole o código a seguir no arquivo.
    Esse código especifica os parâmetros da VCN, o gateway de internet e o 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 exemplo de configuração do Terraform não especifica sub-redes, listas de segurança e outros recursos de rede. Você pode personalizar esta configuração conforme necessário.

  3. Crie um arquivo de texto chamado vcn_output.tf e cole o código a seguir no arquivo.
    Esse código faz com que o Terraform exiba os IDs dos recursos, depois que eles são criados.
    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}"
    }