auto.tfvars syntax for DNS Module
These are the syntax and sample format for providing inputs to the modules via *.auto.tfvars files. "key" must be unique to every resource that is created. Comments preceed with ##.
1. DNS View-Zones-Records
- Syntax
 
    views = {
  ## key - Is a unique value to reference the resources respectively
       key =  {
            compartment_id       = string
            display_name         = string
       },
    }
   zones = {
       key =  {
            compartment_id       = string
            display_name         = string
            zone_type            = string
            view_compartment_id  = string
            view_id              = string
       },
   }
   rrsets = {
       key =  {
            zone_id             = string
            domain              = string
            view_id             = string
            view_compartment_id = string
            compartment_id      = string
            rtype               = string
            ttl                 = number
            rdata               = list(string)
       },
  }
- Example
// Copyright (c) 2021, 2022, 2023 Oracle and/or its affiliates. ############################# # DNS # DNS Views - tfvars # Allowed Values: # view_id can be the ocid of the view or the name as in OCI # compartment_id and view_compartment_id can be the ocid or the name of the compartment hierarchy delimited by double hiphens "--" # Example : compartment_id = "ocid1.compartment.oc1..aaaaaaaah6jy3xf3c" or compartment_id = "AppDev--Prod" where "AppDev" is the parent of "Prod" compartment # Sample import command for dns-zone : # terraform import "module.dns-views[\"<<dns-zone terraform variable name>>\"].oci_dns_view.view" <<dns-view ocid>> ############################ views = { "custom-view-1" = { compartment_id = "Network" display_name = "custom-view-1" }, "custom-view-2" = { compartment_id = "Network" display_name = "custom-view-2" }, } ############################ # DNS # DNS Zones - tfvars # Allowed Values: # view_id can be the ocid of the view or the name as in OCI # compartment_id and view_compartment_id can be the ocid or the name of the compartment hierarchy delimited by double hiphens "--" # Example : compartment_id = "ocid1.compartment.oc1..aaaaaaaah6jy3xf3c" or compartment_id = "AppDev--Prod" where "AppDev" is the parent of "Prod" compartment # Sample import command for dns-zone : # terraform import "module.dns-zones[\"<<dns-zone terraform variable name>>\"].oci_dns_zone.zone" <<dns-zone ocid>> ############################ zones = { "custom-view-1_zone1_com" = { compartment_id = "Network" display_name = "zone1.com" zone_type = "" view_compartment_id = "Network" view_id = "custom-view-1" }, "custom-view-2_zone2_com" = { compartment_id = "Network" display_name = "zone2.com" zone_type = "" view_compartment_id = "Network" view_id = "custom-view-2" }, } ############################ # DNS # DNS Records - tfvars # Allowed Values: # view_id can be the ocid of the view or the name as in OCI # compartment_id and view_compartment_id can be the ocid or the name of the compartment hierarchy delimited by double hiphens "--" # Example : compartment_id = "ocid1.compartment.oc1..aaaaaaaah6jy3xf3c" or compartment_id = "AppDev--Prod" where "AppDev" is the parent of "Prod" compartment # Sample import command for dns-zone : # terraform import "module.dns-rrsets[\"<<dns-zone terraform variable name>>\"].oci_dns_rrset.rrset" <<dns-zone ocid>> ############################ rrsets = { "custom-view-1_zone1_com_domain1_zone1_com_A" = { zone_id = "zone1.com" domain = "domain1.zone1.com" view_id = "custom-view-1" view_compartment_id = "Network" compartment_id = "Network" rtype = "A" ttl = 3600 rdata = ["10.20.1.10", "10.20.1.20"] }, "custom-view-1_zone1_com_domain2_zone1_com_CNAME" = { zone_id = "zone1.com" domain = "domain2.zone1.com" view_id = "custom-view-1" view_compartment_id = "Network" compartment_id = "Network" rtype = "CNAME" ttl = 300 rdata = ["host1.example.com"] }, "custom-view-2_zone2_com_domain1_zone2_com_A" = { zone_id = "zone2.com" domain = "domain1.zone2.com" view_id = "custom-view-2" view_compartment_id = "Network" compartment_id = "Network" rtype = "A" ttl = 300 rdata = ["10.20.1.30"] }, ##Add New rrsets for phoenix here## } 
2. DNS-Resolvers
- Syntax
 
       resolvers = {
           ## key - vcn name to reference the resources respectively
           key = {
               vcn_name = string
               network_compartment_id = string
               display_name = string
               views = {
                   key = {
                       view_id = string
                       view_compartment_id = string
                   },
               }
               endpoint_names = {
                   key = {
                       is_forwarding = bool
                       is_listening = bool
                       name = string
                       subnet_name = string
                       forwarding_address = string
                       listening_address = string
                       nsg_ids = list(string)
                   }
               }
               resolver_rules = {
                   key = {
                       client_address_conditions = list(string)
                       destination_addresses = list(string)
                       qname_cover_conditions = list(string)
                       source_endpoint_name = string
                   }
               }
           }
       }
- Example
 
     ############################
     # DNS
     # DNS Resolvers - tfvars
     # Allowed Values:
     # view_id can be the ocid of the view or the name as in OCI
     # compartment_id and view_compartment_id can be the ocid or the name of the compartment hierarchy delimited by double hiphens "--"
     # Example : compartment_id = "ocid1.compartment.oc1..aaaaaaaah6jy3xf3c" or compartment_id = "AppDev--Prod" where "AppDev" is the parent of "Prod" compartment
     # Sample import command for dns-zone :
     # terraform import "module.dns-resolvers[\"<<dns-resolver terraform variable name>>\"].oci_dns_resolver.resolver" <<dns-resolver ocid>>
     # terraform import "module.dns-resolvers[\"<<dns-resolver-endpoint terraform variable name>>\"].oci_dns_resolver_endpoint.resolver_endpoint" <<resolverId/{resolverId}/name/{resolverEndpointName}>>
     ############################
     resolvers = {
            "fwl-vcn" =  {
                 vcn_name = "fwl-vcn"
                 network_compartment_id = "Network"
                 display_name = "fwl-vcn"
                 views = {
                     "fwl-vcn_order1" = {
                         view_id = "custom-view-1"
                         view_compartment_id = "Network"
                     }
                     "fwl-vcn_order2" = {
                         view_id = "fwl-vcn"
                         view_compartment_id = "Network"
                     }
                 }
                 endpoint_names = {
                     "forwarder_endpoint1" = {
                         is_forwarding = true
                         is_listening = false
                         name = "forwarder_endpoint1"
                         subnet_name = "fwl-mgmt"
                         forwarding_address = "10.110.1.35"
                         listening_address = ""
                         nsg_ids = []
                     }
                     "listener_endpoint1" = {
                         is_forwarding = false
                         is_listening = true
                         name = "listener_endpoint1"
                         subnet_name = "fwl-mgmt"
                         forwarding_address = ""
                         listening_address = ""
                         nsg_ids = []
                     }
                 }
                 resolver_rules = {
                     "rule1" = {
                         client_address_conditions = []
                         destination_addresses = ["10.0.0.20"]
                         qname_cover_conditions = ["internal.example.com", "internal3.example.com"]
                         source_endpoint_name = "forwarder_endpoint1"
                     }
                     "rule2" = {
                         client_address_conditions = []
                         destination_addresses = ["10.0.0.20"]
                         qname_cover_conditions = ["internal2.example.com"]
                         source_endpoint_name = "forwarder_endpoint1"
                     }
                     "rule3" = {
                         client_address_conditions = []
                         destination_addresses = ["10.0.0.30"]
                         qname_cover_conditions = []
                         source_endpoint_name = "forwarder_endpoint1"
                     }
                     "rule4" = {
                         client_address_conditions = ["10.0.2.0/24", "10.0.3.0/24"]
                         destination_addresses = ["10.0.0.40"]
                         qname_cover_conditions = []
                         source_endpoint_name = "forwarder_endpoint1"
                     }
                 }
         },
        "prod-vcn" =  {
                 vcn_name = "prod-vcn"
                 network_compartment_id = "Network"
                 display_name = "prod-vcn-res"
                 views = {
                     "prod-vcn_order1" = {
                         view_id = "custom-view-2"
                         view_compartment_id = "Network"
                     }
                     "prod-vcn_order2" = {
                         view_id = "prod-vcn"
                         view_compartment_id = "Network"
                     }
                 }
                 endpoint_names = {
                     "listener_endpoint1" = {
                         is_forwarding = false
                         is_listening = true
                         name = "listener_endpoint1"
                         subnet_name = "prod-web"
                         forwarding_address = ""
                         listening_address = ""
                         nsg_ids = []
                     }
                     "forwarder_endpoint1" = {
                         is_forwarding = true
                         is_listening = false
                         name = "forwarder_endpoint1"
                         subnet_name = "prod-web"
                         forwarding_address = "10.111.2.90"
                         listening_address = ""
                         nsg_ids = []
                     }
                 }
                 resolver_rules = {
                 }
         },
     }