Class: AWSCDK::EC2::PublicSubnetProps

Inherits:
SubnetProps
  • Object
show all
Defined in:
ec2/public_subnet_props.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(availability_zone:, cidr_block:, vpc_id:, assign_ipv6_address_on_creation: nil, ipv6_cidr_block: nil, map_public_ip_on_launch: nil) ⇒ PublicSubnetProps

Returns a new instance of PublicSubnetProps.

Parameters:

  • availability_zone (String)

    The availability zone for the subnet.

  • cidr_block (String)

    The CIDR notation for this subnet.

  • vpc_id (String)

    The VPC which this subnet is part of.

  • assign_ipv6_address_on_creation (Boolean, nil) (defaults to: nil)

    Indicates whether a network interface created in this subnet receives an IPv6 address.

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

    The IPv6 CIDR block.

  • map_public_ip_on_launch (Boolean, nil) (defaults to: nil)

    Controls if a public IP is associated to an instance at launch.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'ec2/public_subnet_props.rb', line 12

def initialize(availability_zone:, cidr_block:, vpc_id:, assign_ipv6_address_on_creation: nil, ipv6_cidr_block: nil, map_public_ip_on_launch: nil)
  @availability_zone = availability_zone
  Jsii::Type.check_type(@availability_zone, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "availabilityZone")
  @cidr_block = cidr_block
  Jsii::Type.check_type(@cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cidrBlock")
  @vpc_id = vpc_id
  Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcId")
  @assign_ipv6_address_on_creation = assign_ipv6_address_on_creation
  Jsii::Type.check_type(@assign_ipv6_address_on_creation, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "assignIpv6AddressOnCreation") unless @assign_ipv6_address_on_creation.nil?
  @ipv6_cidr_block = ipv6_cidr_block
  Jsii::Type.check_type(@ipv6_cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ipv6CidrBlock") unless @ipv6_cidr_block.nil?
  @map_public_ip_on_launch = map_public_ip_on_launch
  Jsii::Type.check_type(@map_public_ip_on_launch, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "mapPublicIpOnLaunch") unless @map_public_ip_on_launch.nil?
end

Instance Attribute Details

#assign_ipv6_address_on_creationBoolean? (readonly)

Note:

Default: false

Indicates whether a network interface created in this subnet receives an IPv6 address.

If you specify AssignIpv6AddressOnCreation, you must also specify Ipv6CidrBlock.

Returns:

  • (Boolean, nil)


45
46
47
# File 'ec2/public_subnet_props.rb', line 45

def assign_ipv6_address_on_creation
  @assign_ipv6_address_on_creation
end

#availability_zoneString (readonly)

The availability zone for the subnet.

Returns:

  • (String)


30
31
32
# File 'ec2/public_subnet_props.rb', line 30

def availability_zone
  @availability_zone
end

#cidr_blockString (readonly)

The CIDR notation for this subnet.

Returns:

  • (String)


34
35
36
# File 'ec2/public_subnet_props.rb', line 34

def cidr_block
  @cidr_block
end

#ipv6_cidr_blockString? (readonly)

Note:

Default: - no IPv6 CIDR block.

The IPv6 CIDR block.

If you specify AssignIpv6AddressOnCreation, you must also specify Ipv6CidrBlock.

Returns:

  • (String, nil)


52
53
54
# File 'ec2/public_subnet_props.rb', line 52

def ipv6_cidr_block
  @ipv6_cidr_block
end

#map_public_ip_on_launchBoolean? (readonly)

Note:

Default: true in Subnet.Public, false in Subnet.Private or Subnet.Isolated.

Controls if a public IP is associated to an instance at launch.

Returns:

  • (Boolean, nil)


57
58
59
# File 'ec2/public_subnet_props.rb', line 57

def map_public_ip_on_launch
  @map_public_ip_on_launch
end

#vpc_idString (readonly)

The VPC which this subnet is part of.

Returns:

  • (String)


38
39
40
# File 'ec2/public_subnet_props.rb', line 38

def vpc_id
  @vpc_id
end

Class Method Details

.jsii_propertiesObject



59
60
61
62
63
64
65
66
67
68
# File 'ec2/public_subnet_props.rb', line 59

def self.jsii_properties
  {
    :availability_zone => "availabilityZone",
    :cidr_block => "cidrBlock",
    :vpc_id => "vpcId",
    :assign_ipv6_address_on_creation => "assignIpv6AddressOnCreation",
    :ipv6_cidr_block => "ipv6CidrBlock",
    :map_public_ip_on_launch => "mapPublicIpOnLaunch",
  }
end

Instance Method Details

#to_jsiiObject



70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'ec2/public_subnet_props.rb', line 70

def to_jsii
  result = {}
  result.merge!(super)
  result.merge!({
    "availabilityZone" => @availability_zone,
    "cidrBlock" => @cidr_block,
    "vpcId" => @vpc_id,
    "assignIpv6AddressOnCreation" => @assign_ipv6_address_on_creation,
    "ipv6CidrBlock" => @ipv6_cidr_block,
    "mapPublicIpOnLaunch" => @map_public_ip_on_launch,
  })
  result.compact
end