Class: AWSCDK::EC2::AddRouteOptions

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

Overview

Options for adding a new route to a subnet.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(router_id:, router_type:, destination_cidr_block: nil, destination_ipv6_cidr_block: nil, enables_internet_connectivity: nil) ⇒ AddRouteOptions

Returns a new instance of AddRouteOptions.

Parameters:

  • router_id (String)

    The ID of the router.

  • router_type (AWSCDK::EC2::RouterType)

    What type of router to route this traffic to.

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

    IPv4 range this route applies to.

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

    IPv6 range this route applies to.

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

    Whether this route will enable internet connectivity.



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

def initialize(router_id:, router_type:, destination_cidr_block: nil, destination_ipv6_cidr_block: nil, enables_internet_connectivity: nil)
  @router_id = router_id
  Jsii::Type.check_type(@router_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "routerId")
  @router_type = router_type
  Jsii::Type.check_type(@router_type, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWMyLlJvdXRlclR5cGUifQ==")), "routerType")
  @destination_cidr_block = destination_cidr_block
  Jsii::Type.check_type(@destination_cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationCidrBlock") unless @destination_cidr_block.nil?
  @destination_ipv6_cidr_block = destination_ipv6_cidr_block
  Jsii::Type.check_type(@destination_ipv6_cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "destinationIpv6CidrBlock") unless @destination_ipv6_cidr_block.nil?
  @enables_internet_connectivity = enables_internet_connectivity
  Jsii::Type.check_type(@enables_internet_connectivity, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "enablesInternetConnectivity") unless @enables_internet_connectivity.nil?
end

Instance Attribute Details

#destination_cidr_blockString? (readonly)

Note:

Default: '0.0.0.0/0'

IPv4 range this route applies to.

Returns:

  • (String, nil)


39
40
41
# File 'ec2/add_route_options.rb', line 39

def destination_cidr_block
  @destination_cidr_block
end

#destination_ipv6_cidr_blockString? (readonly)

Note:

Default: - Uses IPv6

IPv6 range this route applies to.

Returns:

  • (String, nil)


44
45
46
# File 'ec2/add_route_options.rb', line 44

def destination_ipv6_cidr_block
  @destination_ipv6_cidr_block
end

#enables_internet_connectivityBoolean? (readonly)

Note:

Default: false

Whether this route will enable internet connectivity.

If true, this route will be added before any AWS resources that depend on internet connectivity in the VPC will be created.

Returns:

  • (Boolean, nil)


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

def enables_internet_connectivity
  @enables_internet_connectivity
end

#router_idString (readonly)

The ID of the router.

Can be an instance ID, gateway ID, etc, depending on the router type.

Returns:

  • (String)


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

def router_id
  @router_id
end

#router_typeAWSCDK::EC2::RouterType (readonly)

What type of router to route this traffic to.



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

def router_type
  @router_type
end

Class Method Details

.jsii_propertiesObject



54
55
56
57
58
59
60
61
62
# File 'ec2/add_route_options.rb', line 54

def self.jsii_properties
  {
    :router_id => "routerId",
    :router_type => "routerType",
    :destination_cidr_block => "destinationCidrBlock",
    :destination_ipv6_cidr_block => "destinationIpv6CidrBlock",
    :enables_internet_connectivity => "enablesInternetConnectivity",
  }
end

Instance Method Details

#to_jsiiObject



64
65
66
67
68
69
70
71
72
73
74
# File 'ec2/add_route_options.rb', line 64

def to_jsii
  result = {}
  result.merge!({
    "routerId" => @router_id,
    "routerType" => @router_type,
    "destinationCidrBlock" => @destination_cidr_block,
    "destinationIpv6CidrBlock" => @destination_ipv6_cidr_block,
    "enablesInternetConnectivity" => @enables_internet_connectivity,
  })
  result.compact
end