UNPKG

cdk-nextjs

Version:

Deploy Next.js apps on AWS with CDK

48 lines (47 loc) 2.5 kB
import { Distribution } from "aws-cdk-lib/aws-cloudfront"; import { Construct } from "constructs"; import { OptionalNextjsContainersProps } from "../generated-structs/OptionalNextjsContainersProps"; import { OptionalNextjsDistributionProps } from "../generated-structs/OptionalNextjsDistributionProps"; import { NextjsContainers, NextjsContainersOverrides } from "../nextjs-compute/nextjs-containers"; import { NextjsDistribution, NextjsDistributionOverrides } from "../nextjs-distribution"; import { NextjsBaseConstructOverrides, NextjsBaseOverrides, NextjsBaseConstruct, NextjsBaseProps } from "./nextjs-base-construct"; export interface NextjsGlobalContainersConstructOverrides extends NextjsBaseConstructOverrides { readonly nextjsContainersProps?: OptionalNextjsContainersProps; readonly nextjsDistributionProps?: OptionalNextjsDistributionProps; } /** * Overrides for `NextjsGlobalContainers`. Overrides are lower level than * props and are passed directly to CDK Constructs giving you more control. It's * recommended to use caution and review source code so you know how they're used. */ export interface NextjsGlobalContainersOverrides extends NextjsBaseOverrides { readonly nextjsGlobalContainers?: NextjsGlobalContainersConstructOverrides; readonly nextjsContainers?: NextjsContainersOverrides; readonly nextjsDistribution?: NextjsDistributionOverrides; } export interface NextjsGlobalContainersProps extends NextjsBaseProps { /** * Bring your own distribution. Can be used with `basePath` to host multiple * apps on the same CloudFront distribution. */ readonly distribution?: Distribution; /** * Override props of any construct. */ readonly overrides?: NextjsGlobalContainersOverrides; } /** * Deploy Next.js globally distributed with containers. Uses [CloudFront * Distribution](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-working-with.html) * as Content Delivery Network (CDN) for global distribution and [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) * for containers. */ export declare class NextjsGlobalContainers extends NextjsBaseConstruct { nextjsContainers: NextjsContainers; nextjsDistribution: NextjsDistribution; get url(): string; private props; constructor(scope: Construct, id: string, props: NextjsGlobalContainersProps); private createNextjsContainers; private createNextjsDistribution; }