CDK Constructs for AWS Cloudfront to AWS API Gateway integration.
Project description
aws-cloudfront-apigateway module
---Reference Documentation: | https://docs.aws.amazon.com/solutions/latest/constructs/ |
---|
Language | Package |
---|---|
Python | aws_solutions_constructs.aws_cloudfront_apigateway |
Typescript | @aws-solutions-constructs/aws-cloudfront-apigateway |
Java | software.amazon.awsconstructs.services.cloudfrontapigateway |
This AWS Solutions Construct implements an AWS CloudFront fronting an Amazon API Gateway REST API.
Here is a minimal deployable pattern definition in Typescript:
import * as api from '@aws-cdk/aws-apigateway';
import * as lambda from "@aws-cdk/aws-lambda";
import { CloudFrontToApiGateway } from '@aws-solutions-constructs/aws-cloudfront-apigateway';
const lambdaProps: lambda.FunctionProps = {
code: lambda.Code.fromAsset(`${__dirname}/lambda`),
runtime: lambda.Runtime.NODEJS_12_X,
handler: 'index.handler'
};
const lambdafunction = new lambda.Function(this, 'LambdaFunction', lambdaProps);
const apiGatewayProps: api.LambdaRestApiProps = {
handler: lambdafunction,
endpointConfiguration: {
types: [api.EndpointType.REGIONAL]
},
defaultMethodOptions: {
authorizationType: api.AuthorizationType.NONE
}
};
const apiGateway = new api.LambdaRestApi(this, 'LambdaRestApi', apiGatewayProps);
new CloudFrontToApiGateway(this, 'test-cloudfront-apigateway', {
existingApiGatewayObj: apiGateway
});
Initializer
new CloudFrontToApiGateway(scope: Construct, id: string, props: CloudFrontToApiGatewayProps);
Parameters
- scope
Construct
- id
string
- props
CloudFrontToApiGatewayProps
Pattern Construct Props
Name | Type | Description |
---|---|---|
existingApiGatewayObj | api.RestApi |
The regional API Gateway that will be fronted with the CloudFront |
cloudFrontDistributionProps? | cloudfront.DistributionProps | any |
Optional user provided props to override the default props for CloudFront Distribution |
insertHttpSecurityHeaders? | boolean |
Optional user provided props to turn on/off the automatic injection of best practice HTTP security headers in all responses from CloudFront |
cloudFrontLoggingBucketProps? | s3.BucketProps |
Optional user provided props to override the default props for the CloudFront Logging Bucket. |
Pattern Properties
Name | Type | Description |
---|---|---|
cloudFrontWebDistribution | cloudfront.CloudFrontWebDistribution |
Returns an instance of cloudfront.CloudFrontWebDistribution created by the construct |
apiGateway | api.RestApi |
Returns an instance of the API Gateway REST API created by the pattern. |
cloudFrontFunction? | cloudfront.Function |
Returns an instance of the Cloudfront function created by the pattern. |
cloudFrontLoggingBucket | s3.Bucket |
Returns an instance of the logging bucket for CloudFront WebDistribution. |
Default settings
Out of the box implementation of the Construct without any override will set the following defaults:
Amazon CloudFront
- Configure Access logging for CloudFront WebDistribution
- Enable automatic injection of best practice HTTP security headers in all responses from CloudFront WebDistribution
Amazon API Gateway
- User provided API Gateway object is used as-is
- Enable X-Ray Tracing
Architecture
© Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for aws-solutions-constructs.aws-cloudfront-apigateway-1.128.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 186be4780fa7a667ab2c08ee2112efc9163905796e04bbfddd86ddb7fd6fb308 |
|
MD5 | 925ed783e23f0f7afbb8c0e8cbd55ef6 |
|
BLAKE2b-256 | 0c472e2988c73efb11fa2e6f4568c76c072700e211fd20c91f91a5dafdba4023 |
Close
Hashes for aws_solutions_constructs.aws_cloudfront_apigateway-1.128.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d5a897e9c4795c27f215c1123f691d551771e3d9ce586596f63aa1826f996d7 |
|
MD5 | c7e0e58def5be1fded752a487e8fd0f3 |
|
BLAKE2b-256 | 504d6c1be2f3c34e28bab3cc4c12d9e5d13e19e056faedc20b30b986e8d86b73 |