Class: AWSCDK::EC2::CfnNatGateway::AvailabilityZoneAddressProperty

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

Overview

For regional NAT gateways only: The configuration specifying which Elastic IP address (EIP) to use for handling outbound NAT traffic from a specific Availability Zone.

A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.

For more information, see Regional NAT gateways for automatic multi-AZ expansion in the Amazon VPC User Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(allocation_ids:, availability_zone: nil, availability_zone_id: nil) ⇒ AvailabilityZoneAddressProperty

Returns a new instance of AvailabilityZoneAddressProperty.

Parameters:

  • allocation_ids (Array<String>)

    The allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone.

  • availability_zone (String, nil) (defaults to: nil)

    For regional NAT gateways only: The Availability Zone where this specific NAT gateway configuration will be active.

  • availability_zone_id (String, nil) (defaults to: nil)

    For regional NAT gateways only: The ID of the Availability Zone where this specific NAT gateway configuration will be active.



727
728
729
730
731
732
733
734
# File 'ec2/cfn_nat_gateway.rb', line 727

def initialize(allocation_ids:, availability_zone: nil, availability_zone_id: nil)
  @allocation_ids = allocation_ids
  Jsii::Type.check_type(@allocation_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "allocationIds")
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone") unless @availability_zone.nil?
  @availability_zone_id = availability_zone_id
  Jsii::Type.check_type(@availability_zone_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZoneId") unless @availability_zone_id.nil?
end

Instance Attribute Details

#allocation_idsArray<String> (readonly)

The allocation IDs of the Elastic IP addresses (EIPs) to be used for handling outbound NAT traffic in this specific Availability Zone.



740
741
742
# File 'ec2/cfn_nat_gateway.rb', line 740

def allocation_ids
  @allocation_ids
end

#availability_zoneString? (readonly)

For regional NAT gateways only: The Availability Zone where this specific NAT gateway configuration will be active.

Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ.

A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.



749
750
751
# File 'ec2/cfn_nat_gateway.rb', line 749

def availability_zone
  @availability_zone
end

#availability_zone_idString? (readonly)

For regional NAT gateways only: The ID of the Availability Zone where this specific NAT gateway configuration will be active.

Each AZ in a regional NAT gateway has its own configuration to handle outbound NAT traffic from that AZ. Use this instead of AvailabilityZone for consistent identification of AZs across AWS Regions.

A regional NAT gateway is a single NAT Gateway that works across multiple availability zones (AZs) in your VPC, providing redundancy, scalability and availability across all the AZs in a Region.



758
759
760
# File 'ec2/cfn_nat_gateway.rb', line 758

def availability_zone_id
  @availability_zone_id
end

Class Method Details

.jsii_propertiesObject



760
761
762
763
764
765
766
# File 'ec2/cfn_nat_gateway.rb', line 760

def self.jsii_properties
  {
    :allocation_ids => "allocationIds",
    :availability_zone => "availabilityZone",
    :availability_zone_id => "availabilityZoneId",
  }
end

Instance Method Details

#to_jsiiObject



768
769
770
771
772
773
774
775
776
# File 'ec2/cfn_nat_gateway.rb', line 768

def to_jsii
  result = {}
  result.merge!({
    "allocationIds" => @allocation_ids,
    "availabilityZone" => @availability_zone,
    "availabilityZoneId" => @availability_zone_id,
  })
  result.compact
end