aws-cdk-lib.aws_ec2.SubnetSelection

interface SubnetSelection

LanguageType name
.NETAmazon.CDK.AWS.EC2.SubnetSelection
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsec2#SubnetSelection
Javasoftware.amazon.awscdk.services.ec2.SubnetSelection
Pythonaws_cdk.aws_ec2.SubnetSelection
TypeScript (source)aws-cdk-lib » aws_ec2 » SubnetSelection

Customize subnets that are selected for placement of ENIs.

Constructs that allow customization of VPC placement use parameters of this type to provide placement settings.

By default, the instances are placed in the private subnets.

Example

declare const vpc: ec2.Vpc;
const cluster = new docdb.DatabaseCluster(this, 'Database', {
  masterUser: {
    username: 'myuser', // NOTE: 'admin' is reserved by DocumentDB
    excludeCharacters: '\"@/:', // optional, defaults to the set "\"@/" and is also used for eventually created rotations
    secretName: '/myapp/mydocdb/masteruser', // optional, if you prefer to specify the secret name
  },
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
  vpcSubnets: {
    subnetType: ec2.SubnetType.PUBLIC,
  },
  vpc,
});

Properties

NameTypeDescription
availabilityZones?string[]Select subnets only in the given AZs.
onePerAz?booleanIf true, return at most one subnet per AZ.
subnetFilters?SubnetFilter[]List of provided subnet filters.
subnetGroupName?stringSelect the subnet group with the given name.
subnetType?SubnetTypeSelect all subnets of the given type.
subnets?ISubnet[]Explicitly select individual subnets.

availabilityZones?

Type: string[] (optional, default: no filtering on AZs is done)

Select subnets only in the given AZs.


onePerAz?

Type: boolean (optional, default: false)

If true, return at most one subnet per AZ.


subnetFilters?

Type: SubnetFilter[] (optional, default: none)

List of provided subnet filters.


subnetGroupName?

Type: string (optional, default: Selection by type instead of by name)

Select the subnet group with the given name.

Select the subnet group with the given name. This only needs to be used if you have multiple subnet groups of the same type and you need to distinguish between them. Otherwise, prefer subnetType.

This field does not select individual subnets, it selects all subnets that share the given subnet group name. This is the name supplied in subnetConfiguration.

At most one of subnetType and subnetGroupName can be supplied.


subnetType?

Type: SubnetType (optional, default: SubnetType.PRIVATE_WITH_EGRESS (or ISOLATED or PUBLIC if there are no PRIVATE_WITH_EGRESS subnets))

Select all subnets of the given type.

At most one of subnetType and subnetGroupName can be supplied.


subnets?

Type: ISubnet[] (optional, default: Use all subnets in a selected group (all private subnets by default))

Explicitly select individual subnets.

Use this if you don't want to automatically use all subnets in a group, but have a need to control selection down to individual subnets.

Cannot be specified together with subnetType or subnetGroupName.