Class: AWSCDK::EC2::SubnetFilter

Inherits:
Jsii::Object
  • Object
show all
Defined in:
ec2/subnet_filter.rb

Overview

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.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeSubnetFilter

Returns a new instance of SubnetFilter.



8
9
10
# File 'ec2/subnet_filter.rb', line 8

def initialize
  Jsii::Object.instance_method(:initialize).bind(self).call
end

Class Method Details

.availability_zones(availability_zones) ⇒ AWSCDK::EC2::SubnetFilter

Chooses subnets which are in one of the given availability zones.

Parameters:

  • availability_zones (Array<String>)

Returns:

  • (AWSCDK::EC2::SubnetFilter)


22
23
24
25
# File 'ec2/subnet_filter.rb', line 22

def self.availability_zones(availability_zones)
  Jsii::Type.check_type(availability_zones, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "availabilityZones")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.SubnetFilter", "availabilityZones", [availability_zones])
end

.by_cidr_mask(mask) ⇒ AWSCDK::EC2::SubnetFilter

Chooses subnets which have the provided CIDR netmask.

Parameters:

  • mask (Numeric)

Returns:

  • (AWSCDK::EC2::SubnetFilter)


31
32
33
34
# File 'ec2/subnet_filter.rb', line 31

def self.by_cidr_mask(mask)
  Jsii::Type.check_type(mask, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "mask")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.SubnetFilter", "byCidrMask", [mask])
end

.by_cidr_ranges(cidrs) ⇒ AWSCDK::EC2::SubnetFilter

Chooses subnets which are inside any of the specified CIDR range.

Parameters:

  • cidrs (Array<String>)

    List of CIDR ranges to filter subnets from.

Returns:

  • (AWSCDK::EC2::SubnetFilter)


40
41
42
43
# File 'ec2/subnet_filter.rb', line 40

def self.by_cidr_ranges(cidrs)
  Jsii::Type.check_type(cidrs, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "cidrs")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.SubnetFilter", "byCidrRanges", [cidrs])
end

.by_ids(subnet_ids) ⇒ AWSCDK::EC2::SubnetFilter

Chooses subnets by id.

Parameters:

  • subnet_ids (Array<String>)

Returns:

  • (AWSCDK::EC2::SubnetFilter)


49
50
51
52
# File 'ec2/subnet_filter.rb', line 49

def self.by_ids(subnet_ids)
  Jsii::Type.check_type(subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.SubnetFilter", "byIds", [subnet_ids])
end

.contains_ip_addresses(ipv4addrs) ⇒ AWSCDK::EC2::SubnetFilter

Chooses subnets which contain any of the specified IP addresses.

Parameters:

  • ipv4addrs (Array<String>)

Returns:

  • (AWSCDK::EC2::SubnetFilter)


58
59
60
61
# File 'ec2/subnet_filter.rb', line 58

def self.contains_ip_addresses(ipv4addrs)
  Jsii::Type.check_type(ipv4addrs, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "ipv4addrs")
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.SubnetFilter", "containsIpAddresses", [ipv4addrs])
end

.jsii_overridable_methodsObject



12
13
14
15
16
# File 'ec2/subnet_filter.rb', line 12

def self.jsii_overridable_methods
  {
    :select_subnets => { kind: :method, name: "selectSubnets", is_optional: false },
  }
end

.one_per_azAWSCDK::EC2::SubnetFilter

Chooses subnets such that there is at most one per availability zone.

Returns:

  • (AWSCDK::EC2::SubnetFilter)


66
67
68
# File 'ec2/subnet_filter.rb', line 66

def self.one_per_az()
  Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_ec2.SubnetFilter", "onePerAz", [])
end

Instance Method Details

#select_subnets(_subnets) ⇒ Array<AWSCDK::EC2::ISubnet>

Executes the subnet filtering logic, returning a filtered set of subnets.

Parameters:

Returns:



74
75
76
77
# File 'ec2/subnet_filter.rb', line 74

def select_subnets(_subnets)
  Jsii::Type.check_type(_subnets, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuSVN1Ym5ldCJ9LCJraW5kIjoiYXJyYXkifX0=")), "_subnets")
  jsii_call_method("selectSubnets", [_subnets])
end