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