-
Notifications
You must be signed in to change notification settings - Fork 13
/
subnet.tf
45 lines (35 loc) · 1.7 KB
/
subnet.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
##############################################################################
# Multizone subnets
##############################################################################
locals {
subnet_object = module.dynamic_values.subnet_map
}
##############################################################################
##############################################################################
# Create New Prefixes
##############################################################################
resource "ibm_is_vpc_address_prefix" "subnet_prefix" {
# Address prefixes replace subnet prefixes
for_each = length(local.address_prefixes) > 0 ? {} : local.subnet_object
name = each.value.prefix_name
zone = each.value.zone_name
vpc = ibm_is_vpc.vpc.id
cidr = each.value.cidr
}
##############################################################################
##############################################################################
# Create Subnets
##############################################################################
resource "ibm_is_subnet" "subnet" {
for_each = local.subnet_object
vpc = ibm_is_vpc.vpc.id
name = each.key
zone = each.value.zone_name
resource_group = var.resource_group_id
ipv4_cidr_block = length(keys(local.address_prefixes)) == 0 ? ibm_is_vpc_address_prefix.subnet_prefix[each.value.prefix_name].cidr : each.value.cidr
network_acl = ibm_is_network_acl.network_acl[each.value.acl].id
public_gateway = each.value.public_gateway
tags = var.tags
depends_on = [ibm_is_vpc_address_prefix.address_prefixes]
}
##############################################################################