38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
import type { ISubnet } from './vpc';
|
|
/**
|
|
* Contains logic which chooses a set of subnets from a larger list, in conjunction
|
|
* with SubnetSelection, to determine where to place AWS resources such as VPC
|
|
* endpoints, EC2 instances, etc.
|
|
*/
|
|
export declare abstract class SubnetFilter {
|
|
/**
|
|
* Chooses subnets by id.
|
|
*/
|
|
static byIds(subnetIds: string[]): SubnetFilter;
|
|
/**
|
|
* Chooses subnets which are in one of the given availability zones.
|
|
*/
|
|
static availabilityZones(availabilityZones: string[]): SubnetFilter;
|
|
/**
|
|
* Chooses subnets such that there is at most one per availability zone.
|
|
*/
|
|
static onePerAz(): SubnetFilter;
|
|
/**
|
|
* Chooses subnets which contain any of the specified IP addresses.
|
|
*/
|
|
static containsIpAddresses(ipv4addrs: string[]): SubnetFilter;
|
|
/**
|
|
* Chooses subnets which have the provided CIDR netmask.
|
|
*/
|
|
static byCidrMask(mask: number): SubnetFilter;
|
|
/**
|
|
* Chooses subnets which are inside any of the specified CIDR range.
|
|
* @param cidrs List of CIDR ranges to filter subnets from
|
|
*/
|
|
static byCidrRanges(cidrs: string[]): SubnetFilter;
|
|
/**
|
|
* Executes the subnet filtering logic, returning a filtered set of subnets.
|
|
*/
|
|
selectSubnets(_subnets: ISubnet[]): ISubnet[];
|
|
}
|