Class: AWSCDK::EC2::VPCAttributes

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

Overview

Properties that reference an external Vpc.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(availability_zones:, vpc_id:, isolated_subnet_ids: nil, isolated_subnet_ipv4_cidr_blocks: nil, isolated_subnet_names: nil, isolated_subnet_route_table_ids: nil, private_subnet_ids: nil, private_subnet_ipv4_cidr_blocks: nil, private_subnet_names: nil, private_subnet_route_table_ids: nil, public_subnet_ids: nil, public_subnet_ipv4_cidr_blocks: nil, public_subnet_names: nil, public_subnet_route_table_ids: nil, region: nil, vpc_cidr_block: nil, vpn_gateway_id: nil) ⇒ VPCAttributes

Returns a new instance of VPCAttributes.

Parameters:

  • availability_zones (Array<String>)

    List of availability zones for the subnets in this VPC.

  • vpc_id (String)

    VPC's identifier.

  • isolated_subnet_ids (Array<String>, nil) (defaults to: nil)

    List of isolated subnet IDs.

  • isolated_subnet_ipv4_cidr_blocks (Array<String>, nil) (defaults to: nil)

    List of IPv4 CIDR blocks for the isolated subnets.

  • isolated_subnet_names (Array<String>, nil) (defaults to: nil)

    List of names for the isolated subnets.

  • isolated_subnet_route_table_ids (Array<String>, nil) (defaults to: nil)

    List of IDs of route tables for the isolated subnets.

  • private_subnet_ids (Array<String>, nil) (defaults to: nil)

    List of private subnet IDs.

  • private_subnet_ipv4_cidr_blocks (Array<String>, nil) (defaults to: nil)

    List of IPv4 CIDR blocks for the private subnets.

  • private_subnet_names (Array<String>, nil) (defaults to: nil)

    List of names for the private subnets.

  • private_subnet_route_table_ids (Array<String>, nil) (defaults to: nil)

    List of IDs of route tables for the private subnets.

  • public_subnet_ids (Array<String>, nil) (defaults to: nil)

    List of public subnet IDs.

  • public_subnet_ipv4_cidr_blocks (Array<String>, nil) (defaults to: nil)

    List of IPv4 CIDR blocks for the public subnets.

  • public_subnet_names (Array<String>, nil) (defaults to: nil)

    List of names for the public subnets.

  • public_subnet_route_table_ids (Array<String>, nil) (defaults to: nil)

    List of IDs of route tables for the public subnets.

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

    The region the VPC is in.

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

    VPC's CIDR range.

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

    VPN gateway's identifier.



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'ec2/vpc_attributes.rb', line 24

def initialize(availability_zones:, vpc_id:, isolated_subnet_ids: nil, isolated_subnet_ipv4_cidr_blocks: nil, isolated_subnet_names: nil, isolated_subnet_route_table_ids: nil, private_subnet_ids: nil, private_subnet_ipv4_cidr_blocks: nil, private_subnet_names: nil, private_subnet_route_table_ids: nil, public_subnet_ids: nil, public_subnet_ipv4_cidr_blocks: nil, public_subnet_names: nil, public_subnet_route_table_ids: nil, region: nil, vpc_cidr_block: nil, vpn_gateway_id: nil)
  @availability_zones = availability_zones
  Jsii::Type.check_type(@availability_zones, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "availabilityZones")
  @vpc_id = vpc_id
  Jsii::Type.check_type(@vpc_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcId")
  @isolated_subnet_ids = isolated_subnet_ids
  Jsii::Type.check_type(@isolated_subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "isolatedSubnetIds") unless @isolated_subnet_ids.nil?
  @isolated_subnet_ipv4_cidr_blocks = isolated_subnet_ipv4_cidr_blocks
  Jsii::Type.check_type(@isolated_subnet_ipv4_cidr_blocks, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "isolatedSubnetIpv4CidrBlocks") unless @isolated_subnet_ipv4_cidr_blocks.nil?
  @isolated_subnet_names = isolated_subnet_names
  Jsii::Type.check_type(@isolated_subnet_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "isolatedSubnetNames") unless @isolated_subnet_names.nil?
  @isolated_subnet_route_table_ids = isolated_subnet_route_table_ids
  Jsii::Type.check_type(@isolated_subnet_route_table_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "isolatedSubnetRouteTableIds") unless @isolated_subnet_route_table_ids.nil?
  @private_subnet_ids = private_subnet_ids
  Jsii::Type.check_type(@private_subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "privateSubnetIds") unless @private_subnet_ids.nil?
  @private_subnet_ipv4_cidr_blocks = private_subnet_ipv4_cidr_blocks
  Jsii::Type.check_type(@private_subnet_ipv4_cidr_blocks, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "privateSubnetIpv4CidrBlocks") unless @private_subnet_ipv4_cidr_blocks.nil?
  @private_subnet_names = private_subnet_names
  Jsii::Type.check_type(@private_subnet_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "privateSubnetNames") unless @private_subnet_names.nil?
  @private_subnet_route_table_ids = private_subnet_route_table_ids
  Jsii::Type.check_type(@private_subnet_route_table_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "privateSubnetRouteTableIds") unless @private_subnet_route_table_ids.nil?
  @public_subnet_ids = public_subnet_ids
  Jsii::Type.check_type(@public_subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "publicSubnetIds") unless @public_subnet_ids.nil?
  @public_subnet_ipv4_cidr_blocks = public_subnet_ipv4_cidr_blocks
  Jsii::Type.check_type(@public_subnet_ipv4_cidr_blocks, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "publicSubnetIpv4CidrBlocks") unless @public_subnet_ipv4_cidr_blocks.nil?
  @public_subnet_names = public_subnet_names
  Jsii::Type.check_type(@public_subnet_names, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "publicSubnetNames") unless @public_subnet_names.nil?
  @public_subnet_route_table_ids = public_subnet_route_table_ids
  Jsii::Type.check_type(@public_subnet_route_table_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "publicSubnetRouteTableIds") unless @public_subnet_route_table_ids.nil?
  @region = region
  Jsii::Type.check_type(@region, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "region") unless @region.nil?
  @vpc_cidr_block = vpc_cidr_block
  Jsii::Type.check_type(@vpc_cidr_block, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpcCidrBlock") unless @vpc_cidr_block.nil?
  @vpn_gateway_id = vpn_gateway_id
  Jsii::Type.check_type(@vpn_gateway_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "vpnGatewayId") unless @vpn_gateway_id.nil?
end

Instance Attribute Details

#availability_zonesArray<String> (readonly)

List of availability zones for the subnets in this VPC.

Returns:

  • (Array<String>)


64
65
66
# File 'ec2/vpc_attributes.rb', line 64

def availability_zones
  @availability_zones
end

#isolated_subnet_idsArray<String>? (readonly)

Note:

Default: - The VPC does not have any isolated subnets

List of isolated subnet IDs.

Must be undefined or match the availability zones in length and order.

Returns:

  • (Array<String>, nil)


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

def isolated_subnet_ids
  @isolated_subnet_ids
end

#isolated_subnet_ipv4_cidr_blocksArray<String>? (readonly)

Note:

Default: - Retrieving the IPv4 CIDR block of any isolated subnet will fail

List of IPv4 CIDR blocks for the isolated subnets.

Must be undefined or have an entry for every isolated subnet group.

Returns:

  • (Array<String>, nil)


82
83
84
# File 'ec2/vpc_attributes.rb', line 82

def isolated_subnet_ipv4_cidr_blocks
  @isolated_subnet_ipv4_cidr_blocks
end

#isolated_subnet_namesArray<String>? (readonly)

Note:

Default: - All isolated subnets will have the name Isolated

List of names for the isolated subnets.

Must be undefined or have a name for every isolated subnet group.

Returns:

  • (Array<String>, nil)


89
90
91
# File 'ec2/vpc_attributes.rb', line 89

def isolated_subnet_names
  @isolated_subnet_names
end

#isolated_subnet_route_table_idsArray<String>? (readonly)

Note:

Default: - Retrieving the route table ID of any isolated subnet will fail

List of IDs of route tables for the isolated subnets.

Must be undefined or have a name for every isolated subnet group.

Returns:

  • (Array<String>, nil)


96
97
98
# File 'ec2/vpc_attributes.rb', line 96

def isolated_subnet_route_table_ids
  @isolated_subnet_route_table_ids
end

#private_subnet_idsArray<String>? (readonly)

Note:

Default: - The VPC does not have any private subnets

List of private subnet IDs.

Must be undefined or match the availability zones in length and order.

Returns:

  • (Array<String>, nil)


103
104
105
# File 'ec2/vpc_attributes.rb', line 103

def private_subnet_ids
  @private_subnet_ids
end

#private_subnet_ipv4_cidr_blocksArray<String>? (readonly)

Note:

Default: - Retrieving the IPv4 CIDR block of any private subnet will fail

List of IPv4 CIDR blocks for the private subnets.

Must be undefined or have an entry for every private subnet group.

Returns:

  • (Array<String>, nil)


110
111
112
# File 'ec2/vpc_attributes.rb', line 110

def private_subnet_ipv4_cidr_blocks
  @private_subnet_ipv4_cidr_blocks
end

#private_subnet_namesArray<String>? (readonly)

Note:

Default: - All private subnets will have the name Private

List of names for the private subnets.

Must be undefined or have a name for every private subnet group.

Returns:

  • (Array<String>, nil)


117
118
119
# File 'ec2/vpc_attributes.rb', line 117

def private_subnet_names
  @private_subnet_names
end

#private_subnet_route_table_idsArray<String>? (readonly)

Note:

Default: - Retrieving the route table ID of any private subnet will fail

List of IDs of route tables for the private subnets.

Must be undefined or have a name for every private subnet group.

Returns:

  • (Array<String>, nil)


124
125
126
# File 'ec2/vpc_attributes.rb', line 124

def private_subnet_route_table_ids
  @private_subnet_route_table_ids
end

#public_subnet_idsArray<String>? (readonly)

Note:

Default: - The VPC does not have any public subnets

List of public subnet IDs.

Must be undefined or match the availability zones in length and order.

Returns:

  • (Array<String>, nil)


131
132
133
# File 'ec2/vpc_attributes.rb', line 131

def public_subnet_ids
  @public_subnet_ids
end

#public_subnet_ipv4_cidr_blocksArray<String>? (readonly)

Note:

Default: - Retrieving the IPv4 CIDR block of any public subnet will fail

List of IPv4 CIDR blocks for the public subnets.

Must be undefined or have an entry for every public subnet group.

Returns:

  • (Array<String>, nil)


138
139
140
# File 'ec2/vpc_attributes.rb', line 138

def public_subnet_ipv4_cidr_blocks
  @public_subnet_ipv4_cidr_blocks
end

#public_subnet_namesArray<String>? (readonly)

Note:

Default: - All public subnets will have the name Public

List of names for the public subnets.

Must be undefined or have a name for every public subnet group.

Returns:

  • (Array<String>, nil)


145
146
147
# File 'ec2/vpc_attributes.rb', line 145

def public_subnet_names
  @public_subnet_names
end

#public_subnet_route_table_idsArray<String>? (readonly)

Note:

Default: - Retrieving the route table ID of any public subnet will fail

List of IDs of route tables for the public subnets.

Must be undefined or have a name for every public subnet group.

Returns:

  • (Array<String>, nil)


152
153
154
# File 'ec2/vpc_attributes.rb', line 152

def public_subnet_route_table_ids
  @public_subnet_route_table_ids
end

#regionString? (readonly)

Note:

Default: - The region of the stack where the VPC belongs to

The region the VPC is in.

Returns:

  • (String, nil)


157
158
159
# File 'ec2/vpc_attributes.rb', line 157

def region
  @region
end

#vpc_cidr_blockString? (readonly)

Note:

Default: - Retrieving the CIDR from the VPC will fail

VPC's CIDR range.

Returns:

  • (String, nil)


162
163
164
# File 'ec2/vpc_attributes.rb', line 162

def vpc_cidr_block
  @vpc_cidr_block
end

#vpc_idString (readonly)

VPC's identifier.

Returns:

  • (String)


68
69
70
# File 'ec2/vpc_attributes.rb', line 68

def vpc_id
  @vpc_id
end

#vpn_gateway_idString? (readonly)

VPN gateway's identifier.

Returns:

  • (String, nil)


166
167
168
# File 'ec2/vpc_attributes.rb', line 166

def vpn_gateway_id
  @vpn_gateway_id
end

Class Method Details

.jsii_propertiesObject



168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
# File 'ec2/vpc_attributes.rb', line 168

def self.jsii_properties
  {
    :availability_zones => "availabilityZones",
    :vpc_id => "vpcId",
    :isolated_subnet_ids => "isolatedSubnetIds",
    :isolated_subnet_ipv4_cidr_blocks => "isolatedSubnetIpv4CidrBlocks",
    :isolated_subnet_names => "isolatedSubnetNames",
    :isolated_subnet_route_table_ids => "isolatedSubnetRouteTableIds",
    :private_subnet_ids => "privateSubnetIds",
    :private_subnet_ipv4_cidr_blocks => "privateSubnetIpv4CidrBlocks",
    :private_subnet_names => "privateSubnetNames",
    :private_subnet_route_table_ids => "privateSubnetRouteTableIds",
    :public_subnet_ids => "publicSubnetIds",
    :public_subnet_ipv4_cidr_blocks => "publicSubnetIpv4CidrBlocks",
    :public_subnet_names => "publicSubnetNames",
    :public_subnet_route_table_ids => "publicSubnetRouteTableIds",
    :region => "region",
    :vpc_cidr_block => "vpcCidrBlock",
    :vpn_gateway_id => "vpnGatewayId",
  }
end

Instance Method Details

#to_jsiiObject



190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
# File 'ec2/vpc_attributes.rb', line 190

def to_jsii
  result = {}
  result.merge!({
    "availabilityZones" => @availability_zones,
    "vpcId" => @vpc_id,
    "isolatedSubnetIds" => @isolated_subnet_ids,
    "isolatedSubnetIpv4CidrBlocks" => @isolated_subnet_ipv4_cidr_blocks,
    "isolatedSubnetNames" => @isolated_subnet_names,
    "isolatedSubnetRouteTableIds" => @isolated_subnet_route_table_ids,
    "privateSubnetIds" => @private_subnet_ids,
    "privateSubnetIpv4CidrBlocks" => @private_subnet_ipv4_cidr_blocks,
    "privateSubnetNames" => @private_subnet_names,
    "privateSubnetRouteTableIds" => @private_subnet_route_table_ids,
    "publicSubnetIds" => @public_subnet_ids,
    "publicSubnetIpv4CidrBlocks" => @public_subnet_ipv4_cidr_blocks,
    "publicSubnetNames" => @public_subnet_names,
    "publicSubnetRouteTableIds" => @public_subnet_route_table_ids,
    "region" => @region,
    "vpcCidrBlock" => @vpc_cidr_block,
    "vpnGatewayId" => @vpn_gateway_id,
  })
  result.compact
end