Skip to main content

AWS CloudFront distribution for frontend web app (spa) optimized.

Project description

AWS Secure Frontend Web App CloudFront Distribution (for AWS CDK v2)

GitHub npm (scoped) PyPI Nuget Sonatype Nexus (Releases) GitHub Workflow Status (branch) GitHub release (latest SemVer)

View on Construct Hub

AWS CloudFront distribution for frontend web app (spa) optimized.

Install

TypeScript

npm install @gammarer/aws-secure-frontend-web-app-cloudfront-distribution
# or
yarn add @gammarer/aws-secure-frontend-web-app-cloudfront-distribution

Python

pip install gammarer.aws-secure-frontend-web-app-cloudfront-distribution

C# / .NET

dotnet add package Gammarer.CDK.AWS.SecureFrontendWebAppCloudFrontDistribution

Java

Add the following to pom.xml:

<dependency>
  <groupId>com.gammarer</groupId>
  <artifactId>aws-secure-frontend-web-app-cloudfront-distribution</artifactId>
</dependency>

Example

for Origin Access Control

import { SecureFrontendWebAppCloudFrontDistribution, S3OriginAccessType } from '@gammarer/aws-secure-frontend-web-app-cloudfront-distribution';

declare const originBucket: s3.Bucket;
declare const accessLogBucket: s3.Bucket;
declare const certificate: acm.Certificate;
declare const cfnOriginAccessControl: cloudfront.CfnOriginAccessControl

new SecureFrontendWebAppCloudFrontDistribution(stack, 'SecureFrontendWebAppCloudFrontDistribution', {
  comment: 'frontend web app distribution.', // optional
  accessLogBucket: accessLogBucket, // optional
  certificate: certificate,
  distributionDomainName: 'example.com',
  s3OriginAccessType: S3OriginAccessType.ORIGIN_ACCESS_CONTROL,
  originAccessControlId: cfnOriginAccessControl.attrId,
  originBucket: originBucket,
});

for Origin Access Identity

import { SecureFrontendWebAppCloudFrontDistribution, S3OriginAccessType } from '@gammarer/aws-secure-frontend-web-app-cloudfront-distribution';

declare const originBucket: s3.Bucket;
declare const accessLogBucket: s3.Bucket;
declare const certificate: acm.Certificate;
declare const originAccessIdentity: cloudfront.OriginAccessIdentity;

new SecureFrontendWebAppCloudFrontDistribution(stack, 'SecureFrontendWebAppCloudFrontDistribution', {
  comment: 'frontend web app distribution.', // optional
  accessLogBucket: accessLogBucket, // optional
  certificate: certificate,
  distributionDomainName: 'example.com',
  s3OriginAccessType: S3OriginAccessType.ORIGIN_ACCESS_IDENTITY,
  originAccessIdentity: originAccessIdentity,
  originBucket: originBucket,
});

License

This project is licensed under the Apache-2.0 License.

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

File details

Details for the file gammarer.aws-secure-frontend-web-app-cloudfront-distribution-1.2.2.tar.gz.

File metadata

File hashes

Hashes for gammarer.aws-secure-frontend-web-app-cloudfront-distribution-1.2.2.tar.gz
Algorithm Hash digest
SHA256 5ca1b2248d40175100b438cfe438d2d3818a98c208d50b9d495f4cd155cf06b0
MD5 c61b854aa10130779d63b885049959be
BLAKE2b-256 3e47af97d562283913331df140cbde756cb66de4fc6324bb83b93c3e930fce30

See more details on using hashes here.

File details

Details for the file gammarer.aws_secure_frontend_web_app_cloudfront_distribution-1.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for gammarer.aws_secure_frontend_web_app_cloudfront_distribution-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b661a55cfe51bbdfc6ed4a66f2848d63ded92d6129ba27aff61a6a94ac7e5630
MD5 2f422b3a7165ef2a4ad2438247bc068c
BLAKE2b-256 8d5abbdebec37419009fa573d6b38fecd2e7619246364a2651113f836a3b6e95

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page