Creare il modulo VCN

Definire la rete cloud virtuale (VCN) e i gateway come risorse nella configurazione Terraform, quindi dichiarare le variabili utilizzate nel modulo.

Completare la procedura riportata di seguito nella sottodirectory vcn.
  1. Creare un file di testo denominato variables.tf e incollare il seguente codice nel file.
    Questo codice dichiara le variabili utilizzate nel modulo.
    variable "tenancy_ocid" {}
    variable "compartment_ocid" {}
    variable "app_tag" {}
    variable "environment" {}
    variable "vcn_cidr" {}
  2. Creare un file di testo denominato vcn.tf e incollare il seguente codice nel file.
    Questo codice specifica i parametri della rete VCN, del gateway Internet e del 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"
    }

    Questo esempio di configurazione Terraform non specifica subnet, liste di sicurezza e altre risorse di networking. È possibile personalizzare questa configurazione in base alle esigenze.

  3. Creare un file di testo denominato vcn_output.tf e incollare il seguente codice nel file.
    In questo codice, Terraform visualizza gli ID delle risorse dopo che sono state create.
    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}"
    }