Network Address
A Network Address uniquely identifies a network resource, such as a VPC, subnet, or route table. These addresses can be used across accounts and regions, enabling seamless selection and referencing of network resources. They are commonly used when defining VPC-bound resources in the DLZ, like NATs, Bastion Hosts, VPC Peering, etc.
Network Addresses are weakly typed strings that follow the schema below:
<account-name>.<region>.<vpc-name>.<route-table-name>.<subnet-name>Examples of Network Address Usage
/* As a string */NetworkAddress.fromString("account.region.vpc.route-table.subnet")/* Using the class constructor */new NetworkAddress('account', 'region', 'vpc', 'route-table', 'subnet')# As a stringNetworkAddress.from_string("account.region.vpc.route-table.subnet")# Using the class constructorNetworkAddress('account', 'region', 'vpc', 'route-table', 'subnet')This schema allows you to select various network entities. A network entity is defined as one or more accounts, VPCs, regions, or subnets. Below are examples of possible selections:
development.us-east-1.default.private.private-1: Selects a specific private subnet in the default VPC within the development account in the us-east-1 region.development.us-east-1.default.private: Selects all private subnets in the default VPC within the development account in the us-east-1 region.development.us-east-1.default: Selects all route tables and their associated subnets in the default VPC within the development account in the us-east-1 region.development.us-east-1: Selects all VPCs, along with their route tables and subnets, within the development account in the us-east-1 region.development: Selects all VPCs, route tables, and subnets across all regions within the development account.