UNPKG

cdk-nextjs

Version:

Deploy Next.js apps on AWS with CDK

107 lines (106 loc) 4.48 kB
import type { aws_ecs, aws_iam } from 'aws-cdk-lib'; /** * OptionalApplicationLoadBalancedTaskImageOptions */ export interface OptionalApplicationLoadBalancedTaskImageOptions { /** * The name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf. * @default - A task role is automatically created for you. * @stability stable */ readonly taskRole?: aws_iam.IRole; /** * The secret to expose to the container as an environment variable. * @default - No secret environment variables. * @stability stable */ readonly secrets?: Record<string, aws_ecs.Secret>; /** * The log driver to use. * @default - AwsLogDriver if enableLogging is true * @stability stable */ readonly logDriver?: aws_ecs.LogDriver; /** * The name of a family that this task definition is registered to. * A family groups multiple versions of a task definition. * @default - Automatically generated name. * @stability stable */ readonly family?: string; /** * The name of the task execution IAM role that grants the Amazon ECS container agent permission to call AWS APIs on your behalf. * @default - No value * @stability stable */ readonly executionRole?: aws_iam.IRole; /** * The environment variables to pass to the container. * @default - No environment variables. * @stability stable */ readonly environment?: Record<string, string>; /** * The entry point that's passed to the container. * This parameter maps to `Entrypoint` in the [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) section * of the [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) and the `--entrypoint` option to * [docker run](https://docs.docker.com/engine/reference/commandline/run/). * * For more information about the Docker `ENTRYPOINT` parameter, see https://docs.docker.com/engine/reference/builder/#entrypoint. * @default none * @stability stable */ readonly entryPoint?: Array<string>; /** * Flag to indicate whether to enable logging. * @default true * @stability stable */ readonly enableLogging?: boolean; /** * A key/value map of labels to add to the container. * @default - No labels. * @stability stable */ readonly dockerLabels?: Record<string, string>; /** * The port number on the container that is bound to the user-specified or automatically assigned host port. * If you are using containers in a task with the awsvpc or host network mode, exposed ports should be specified using containerPort. * If you are using containers in a task with the bridge network mode and you specify a container port and not a host port, * your container automatically receives a host port in the ephemeral port range. * * Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance. * * For more information, see * [hostPort](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PortMapping.html#ECS-Type-PortMapping-hostPort). * @default 80 * @stability stable */ readonly containerPort?: number; /** * The container name value to be specified in the task definition. * @default - none * @stability stable */ readonly containerName?: string; /** * The command that's passed to the container. * If there are multiple arguments, make sure that each argument is a separated string in the array. * * This parameter maps to `Cmd` in the [Create a container](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) section * of the [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) and the `COMMAND` parameter to * [docker run](https://docs.docker.com/engine/reference/commandline/run/). * * For more information about the Docker `CMD` parameter, see https://docs.docker.com/engine/reference/builder/#cmd. * @default none * @stability stable */ readonly command?: Array<string>; /** * The image used to start a container. * Image or taskDefinition must be specified, not both. * @default - none * @stability stable */ readonly image?: aws_ecs.ContainerImage; }