diff --git a/packages/@aws-cdk/aws-apigatewayv2/lib/http/vpc-link.ts b/packages/@aws-cdk/aws-apigatewayv2/lib/http/vpc-link.ts index 27d478c335963..a9c6604b43485 100644 --- a/packages/@aws-cdk/aws-apigatewayv2/lib/http/vpc-link.ts +++ b/packages/@aws-cdk/aws-apigatewayv2/lib/http/vpc-link.ts @@ -39,7 +39,7 @@ export interface VpcLinkProps { * * @default - private subnets of the provided VPC. Use `addSubnets` to add more subnets */ - readonly subnets?: ec2.ISubnet[]; + readonly subnets?: ec2.SubnetSelection; /** * A list of security groups for the VPC link. @@ -99,11 +99,8 @@ export class VpcLink extends Resource implements IVpcLink { this.vpcLinkId = cfnResource.ref; - this.addSubnets(...props.vpc.privateSubnets); - - if (props.subnets) { - this.addSubnets(...props.subnets); - } + const { subnets } = props.vpc.selectSubnets(props.subnets ?? { subnetType: ec2.SubnetType.PRIVATE }); + this.addSubnets(...subnets); if (props.securityGroups) { this.addSecurityGroups(...props.securityGroups); diff --git a/packages/@aws-cdk/aws-apigatewayv2/test/http/vpc-link.test.ts b/packages/@aws-cdk/aws-apigatewayv2/test/http/vpc-link.test.ts index 1571ceef39f6d..c6b68d7477bd7 100644 --- a/packages/@aws-cdk/aws-apigatewayv2/test/http/vpc-link.test.ts +++ b/packages/@aws-cdk/aws-apigatewayv2/test/http/vpc-link.test.ts @@ -51,7 +51,7 @@ describe('VpcLink', () => { // WHEN new VpcLink(stack, 'VpcLink', { vpc, - subnets: [subnet1, subnet2], + subnets: { subnets: [subnet1, subnet2] }, securityGroups: [sg1, sg2, sg3], }); @@ -59,12 +59,6 @@ describe('VpcLink', () => { expect(stack).toHaveResource('AWS::ApiGatewayV2::VpcLink', { Name: 'VpcLink', SubnetIds: [ - { - Ref: 'VPCPrivateSubnet1Subnet8BCA10E0', - }, - { - Ref: 'VPCPrivateSubnet2SubnetCFCDAA7A', - }, { Ref: 'subnet1Subnet16A4B3BD', },