Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find HttpApi construct in CDK v2

I'm trying to add an HttpApi to my project that already uses CDK v2. I'm able to retrieve the HttpApi class from @aws-cdk/aws-apigatewayv2:

https://docs.aws.amazon.com/cdk/api/v1/docs/@aws-cdk_aws-apigatewayv2.HttpApi.html

But I'm not able to retrieve the construct in the new v2 aws-cdk-lib module:

https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2-readme.html

Has the package been moved in v2?

Also, what is the difference between HttpApi and this https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sam.CfnHttpApi.html?

Thanks :)

like image 655
endosama Avatar asked Jul 18 '26 17:07

endosama


1 Answers

The CDK v2's L2 HttpApi construct is in @aws-cdk/aws-apigatewayv2-alpha. In CDK V2, experimental modules are published in separate "alpha" packages.

CfnHttpApi is the L1 construct that represents the CloudFormation AWS::ApiGatewayV2::Api resource. Under the hood, HttpApi has a CfnHttpApi as a child node. Cfn-prefixed constructs are published in aws-cdk-lib because they are stable.

Here's where to find the constructs:

Package CDK Version Constructs
aws-cdk-lib v2 CfnHttpApi (L1, stable)
@aws-cdk/aws-apigatewayv2-alpha v2 HttpApi (L2, experimental)
@aws-cdk/aws-apigatewayv2 v1 HttpApi (L2, experimental), CfnHttpApi (L1, stable)
like image 164
fedonev Avatar answered Jul 21 '26 08:07

fedonev