Class: AWSCDK::EC2::SubnetFilter
- Inherits:
-
Jsii::Object
- Object
- Jsii::Object
- AWSCDK::EC2::SubnetFilter
- 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
-
.availability_zones(availability_zones) ⇒ AWSCDK::EC2::SubnetFilter
Chooses subnets which are in one of the given availability zones.
-
.by_cidr_mask(mask) ⇒ AWSCDK::EC2::SubnetFilter
Chooses subnets which have the provided CIDR netmask.
-
.by_cidr_ranges(cidrs) ⇒ AWSCDK::EC2::SubnetFilter
Chooses subnets which are inside any of the specified CIDR range.
-
.by_ids(subnet_ids) ⇒ AWSCDK::EC2::SubnetFilter
Chooses subnets by id.
-
.contains_ip_addresses(ipv4addrs) ⇒ AWSCDK::EC2::SubnetFilter
Chooses subnets which contain any of the specified IP addresses.
- .jsii_overridable_methods ⇒ Object
-
.one_per_az ⇒ AWSCDK::EC2::SubnetFilter
Chooses subnets such that there is at most one per availability zone.
Instance Method Summary collapse
-
#initialize ⇒ SubnetFilter
constructor
A new instance of SubnetFilter.
-
#select_subnets(_subnets) ⇒ Array<AWSCDK::EC2::ISubnet>
Executes the subnet filtering logic, returning a filtered set of subnets.
Constructor Details
#initialize ⇒ SubnetFilter
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.
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.
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.
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.
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.
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_methods ⇒ Object
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_az ⇒ AWSCDK::EC2::SubnetFilter
Chooses subnets such that there is at most one per availability zone.
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.
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 |