@aws-cdk/aws-ec2-alpha 2.176.0-alpha.0 → 2.178.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,6 +51,12 @@ export interface InternetGatewayOptions {
51
51
  * @default - provisioned without a resource name
52
52
  */
53
53
  readonly internetGatewayName?: string;
54
+ /**
55
+ * List of subnets where route to IGW will be added
56
+ *
57
+ * @default - route created for all subnets with Type `SubnetType.Public`
58
+ */
59
+ readonly subnets?: SubnetSelection[];
54
60
  }
55
61
  /**
56
62
  * Options to define VPNGatewayV2 for VPC
@@ -169,36 +175,36 @@ export interface IVpcV2 extends IVpc {
169
175
  */
170
176
  export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
171
177
  /**
172
- * Identifier for this VPC
173
- */
178
+ * Identifier for this VPC
179
+ */
174
180
  abstract readonly vpcId: string;
175
181
  /**
176
- * Arn of this VPC
177
- */
182
+ * Arn of this VPC
183
+ */
178
184
  abstract readonly vpcArn: string;
179
185
  /**
180
- * CIDR range for this VPC
181
- */
186
+ * CIDR range for this VPC
187
+ */
182
188
  abstract readonly vpcCidrBlock: string;
183
189
  /**
184
- * List of public subnets in this VPC
185
- */
190
+ * List of public subnets in this VPC
191
+ */
186
192
  readonly publicSubnets: ISubnet[];
187
193
  /**
188
- * List of private subnets in this VPC
189
- */
194
+ * List of private subnets in this VPC
195
+ */
190
196
  readonly privateSubnets: ISubnet[];
191
197
  /**
192
- * List of isolated subnets in this VPC
193
- */
198
+ * List of isolated subnets in this VPC
199
+ */
194
200
  abstract readonly isolatedSubnets: ISubnet[];
195
201
  /**
196
- * AZs for this VPC
197
- */
202
+ * AZs for this VPC
203
+ */
198
204
  readonly availabilityZones: string[];
199
205
  /**
200
- * Dependable that can be depended upon to force internet connectivity established on the VPC
201
- */
206
+ * Dependable that can be depended upon to force internet connectivity established on the VPC
207
+ */
202
208
  abstract readonly internetConnectivityEstablished: IDependable;
203
209
  /**
204
210
  * Dependable that can be depended upon to force internet connectivity established on the VPC
@@ -223,12 +229,12 @@ export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
223
229
  */
224
230
  abstract readonly vpcName?: string;
225
231
  /**
226
- * Region for this VPC
227
- */
232
+ * Region for this VPC
233
+ */
228
234
  abstract readonly region: string;
229
235
  /**
230
- * Identifier of the owner for this VPC
231
- */
236
+ * Identifier of the owner for this VPC
237
+ */
232
238
  abstract readonly ownerAccountId: string;
233
239
  /**
234
240
  * IPv4 CIDR provisioned under pool
@@ -237,8 +243,8 @@ export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
237
243
  */
238
244
  abstract readonly ipv4IpamProvisionedCidrs?: string[];
239
245
  /**
240
- * If this is set to true, don't error out on trying to select subnets
241
- */
246
+ * If this is set to true, don't error out on trying to select subnets
247
+ */
242
248
  protected incompleteSubnetDefinition: boolean;
243
249
  /**
244
250
  * Mutable private field for the vpnGatewayId
@@ -249,38 +255,43 @@ export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
249
255
  * Mutable private field for the internetGatewayId
250
256
  * @internal
251
257
  */
252
- protected _internetGatewayId: string;
258
+ protected _internetGatewayId?: string;
259
+ /**
260
+ * Mutable private field for the EgressOnlyInternetGatewayId
261
+ * @internal
262
+ */
263
+ protected _egressOnlyInternetGatewayId?: string;
253
264
  /**
254
- * Return information on the subnets appropriate for the given selection strategy
255
- *
256
- * Requires that at least one subnet is matched, throws a descriptive
257
- * error message otherwise.
258
- */
265
+ * Return information on the subnets appropriate for the given selection strategy
266
+ *
267
+ * Requires that at least one subnet is matched, throws a descriptive
268
+ * error message otherwise.
269
+ */
259
270
  selectSubnets(selection?: SubnetSelection): SelectedSubnets;
260
271
  /**
261
- * Adds a VPN Gateway to this VPC
262
- * @deprecated use enableVpnGatewayV2 for compatibility with VPCV2.Route
263
- */
272
+ * Adds a VPN Gateway to this VPC
273
+ * @deprecated use enableVpnGatewayV2 for compatibility with VPCV2.Route
274
+ */
264
275
  enableVpnGateway(options: EnableVpnGatewayOptions): void;
265
276
  /**
266
277
  * Adds VPNGAtewayV2 to this VPC
267
278
  */
268
279
  enableVpnGatewayV2(options: VPNGatewayV2Options): VPNGatewayV2;
269
280
  /**
270
- * Adds a new VPN connection to this VPC
271
- */
281
+ * Adds a new VPN connection to this VPC
282
+ */
272
283
  addVpnConnection(id: string, options: VpnConnectionOptions): VpnConnection;
273
284
  /**
274
- * Adds a new client VPN endpoint to this VPC
275
- */
285
+ * Adds a new client VPN endpoint to this VPC
286
+ */
276
287
  addClientVpnEndpoint(id: string, options: ClientVpnEndpointOptions): ClientVpnEndpoint;
277
288
  /**
278
- * Adds a new interface endpoint to this VPC
279
- */
289
+ * Adds a new interface endpoint to this VPC
290
+ */
280
291
  addInterfaceEndpoint(id: string, options: InterfaceVpcEndpointOptions): InterfaceVpcEndpoint;
281
292
  /**
282
- * Adds a new gateway endpoint to this VPC
283
- */
293
+ * Adds a new gateway endpoint to this VPC
294
+ */
284
295
  addGatewayEndpoint(id: string, options: GatewayVpcEndpointOptions): GatewayVpcEndpoint;
285
296
  /**
286
297
  * Adds a new Egress Only Internet Gateway to this VPC and defines a new route
@@ -311,37 +322,41 @@ export declare abstract class VpcV2Base extends Resource implements IVpcV2 {
311
322
  */
312
323
  addNatGateway(options: NatGatewayOptions): NatGateway;
313
324
  /**
314
- * Adds a new flow log to this VPC
315
- */
325
+ * Adds a new flow log to this VPC
326
+ */
316
327
  addFlowLog(id: string, options?: FlowLogOptions): FlowLog;
317
328
  /**
318
- * Creates peering connection role for acceptor VPC
319
- */
329
+ * Creates peering connection role for acceptor VPC
330
+ */
320
331
  createAcceptorVpcRole(requestorAccountId: string): Role;
321
332
  /**
322
- * Creates a peering connection
323
- */
333
+ * Creates a peering connection
334
+ */
324
335
  createPeeringConnection(id: string, options: VPCPeeringConnectionOptions): VPCPeeringConnection;
325
336
  /**
326
- * Returns the id of the VPN Gateway (if enabled)
327
- */
337
+ * Returns the id of the VPN Gateway (if enabled)
338
+ */
328
339
  get vpnGatewayId(): string | undefined;
329
340
  /**
330
- * Returns the id of the Internet Gateway (if enabled)
331
- */
341
+ * Returns the id of the Internet Gateway (if enabled)
342
+ */
332
343
  get internetGatewayId(): string | undefined;
333
344
  /**
334
- * Return the subnets appropriate for the placement strategy
335
- */
345
+ * Returns the id of the Egress Only Internet Gateway (if enabled)
346
+ */
347
+ get egressOnlyInternetGatewayId(): string | undefined;
348
+ /**
349
+ * Return the subnets appropriate for the placement strategy
350
+ */
336
351
  protected selectSubnetObjects(selection?: SubnetSelection): ISubnet[];
337
352
  private applySubnetFilters;
338
353
  private selectSubnetObjectsByName;
339
354
  private selectSubnetObjectsByType;
340
355
  /**
341
- * Validate the fields in a SubnetSelection object, and reify defaults if necessary
342
- *
343
- * In case of default selection, select the first type of PRIVATE, ISOLATED,
344
- * PUBLIC (in that order) that has any subnets.
345
- */
356
+ * Validate the fields in a SubnetSelection object, and reify defaults if necessary
357
+ *
358
+ * In case of default selection, select the first type of PRIVATE, ISOLATED,
359
+ * PUBLIC (in that order) that has any subnets.
360
+ */
346
361
  private reifySelectionDefaults;
347
362
  }