in network/generic_network.py [0:0]
def generate(self):
"""Generate networking stack (VPC) with all the variable set in this instance """
self._is_generated = True
nat_gateways = 0
if self._has_private_subnet:
nat_gateways = self._max_azs
self._base_vpc = _ec2.Vpc(self, "SwiftVPC",
cidr=self._cidr_range,
enable_dns_hostnames=True,
enable_dns_support=True,
subnet_configuration=self._subnet_configuration,
max_azs=self._max_azs,
nat_gateways=nat_gateways,
vpn_gateway=self._vgw,
vpn_route_propagation=[self._vgw_propagation_subnet]
)
for i in range(self._max_azs):
selected_subnet: _ec2.SelectedSubnets = self._base_vpc.select_subnets(
availability_zones=[self.availability_zones[i]])
for subnet in selected_subnet.subnets:
subnet_cfn = subnet.node.default_child
subnet_cfn.add_property_override("AvailabilityZone",
{"Fn::Select": [str(i), {"Fn::GetAZs": ""}]})