1+ module "subnets" {
2+ for_each = { for map in local . subnets : map . subnet_name => map }
3+ source = " github.com/oracle-quickstart/terraform-oci-networking//modules/subnet?ref=0.1.0"
4+
5+ # Oracle Cloud Infrastructure Tenancy and Compartment OCID
6+ compartment_ocid = var. compartment_ocid
7+ vcn_id = module. vcn . vcn_id
8+
9+ # Deployment Tags + Freeform Tags + Defined Tags
10+ subnet_tags = local. oci_tag_values
11+
12+ # Subnet arguments
13+ create_subnet = true
14+ subnet_name = each. value . subnet_name
15+ cidr_block = each. value . cidr_block
16+ display_name = each. value . display_name # If null, is autogenerated
17+ dns_label = each. value . dns_label # If null, is autogenerated
18+ prohibit_public_ip_on_vnic = each. value . prohibit_public_ip_on_vnic
19+ prohibit_internet_ingress = each. value . prohibit_internet_ingress
20+ route_table_id = each. value . route_table_id # If null, the VCN's default route table is used
21+ dhcp_options_id = each. value . dhcp_options_id # If null, the VCN's default set of DHCP options is used
22+ security_list_ids = each. value . security_list_ids # If null, the VCN's default security list is used
23+ ipv6cidr_block = each. value . ipv6cidr_block # If null, no IPv6 CIDR block is assigned
24+ }
25+
26+ locals {
27+ subnets = [
28+ {
29+ subnet_name = " test_subnet"
30+ cidr_block = cidrsubnet (" 10.0.0.0/16" , 8 , 35 ) # e.g.: "10.0.35.0/24" = 254 usable IPs (10.20.35.0 - 10.20.35.255)
31+ display_name = " Test subnet (Dev)"
32+ dns_label = " testdev"
33+ prohibit_public_ip_on_vnic = false
34+ prohibit_internet_ingress = false
35+ route_table_id = " " # module.route_tables["public"].route_table_id
36+ dhcp_options_id = module.vcn.default_dhcp_options_id
37+ security_list_ids = [] # [module.security_lists["test_security_list"].security_list_id]
38+ ipv6cidr_block = null
39+ },
40+ ]
41+ }
0 commit comments