cdk-nextjs
Version:
Deploy Next.js apps on AWS with CDK
48 lines (47 loc) • 2.5 kB
TypeScript
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;
}