aws-cdk-lib.aws_ecs_patterns.NetworkLoadBalancedTaskImageOptions

interface NetworkLoadBalancedTaskImageOptions

LanguageType name
.NETAmazon.CDK.AWS.ECS.Patterns.NetworkLoadBalancedTaskImageOptions
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsecspatterns#NetworkLoadBalancedTaskImageOptions
Javasoftware.amazon.awscdk.services.ecs.patterns.NetworkLoadBalancedTaskImageOptions
Pythonaws_cdk.aws_ecs_patterns.NetworkLoadBalancedTaskImageOptions
TypeScript (source)aws-cdk-lib » aws_ecs_patterns » NetworkLoadBalancedTaskImageOptions

Example

declare const cluster: ecs.Cluster;
const loadBalancedEcsService = new ecsPatterns.NetworkLoadBalancedEc2Service(this, 'Service', {
  cluster,
  memoryLimitMiB: 1024,
  taskImageOptions: {
    image: ecs.ContainerImage.fromRegistry('test'),
    environment: {
      TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
      TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value",
    },
  },
  desiredCount: 2,
});

Properties

NameTypeDescription
imageContainerImageThe image used to start a container.
containerName?stringThe container name value to be specified in the task definition.
containerPort?numberThe port number on the container that is bound to the user-specified or automatically assigned host port.
dockerLabels?{ [string]: string }A key/value map of labels to add to the container.
enableLogging?booleanFlag to indicate whether to enable logging.
environment?{ [string]: string }The environment variables to pass to the container.
executionRole?IRoleThe name of the task execution IAM role that grants the Amazon ECS container agent permission to call AWS APIs on your behalf.
family?stringThe name of a family that this task definition is registered to.
logDriver?LogDriverThe log driver to use.
secrets?{ [string]: Secret }The secret to expose to the container as an environment variable.
taskRole?IRoleThe name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf.

image

Type: ContainerImage

The image used to start a container.

Image or taskDefinition must be specified, but not both.


containerName?

Type: string (optional, default: none)

The container name value to be specified in the task definition.


containerPort?

Type: number (optional, default: 80)

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.


dockerLabels?

Type: { [string]: string } (optional, default: No labels.)

A key/value map of labels to add to the container.


enableLogging?

Type: boolean (optional, default: true)

Flag to indicate whether to enable logging.


environment?

Type: { [string]: string } (optional, default: No environment variables.)

The environment variables to pass to the container.


executionRole?

Type: IRole (optional, default: No value)

The name of the task execution IAM role that grants the Amazon ECS container agent permission to call AWS APIs on your behalf.


family?

Type: string (optional, default: Automatically generated name.)

The name of a family that this task definition is registered to.

A family groups multiple versions of a task definition.


logDriver?

Type: LogDriver (optional, default: AwsLogDriver if enableLogging is true)

The log driver to use.


secrets?

Type: { [string]: Secret } (optional, default: No secret environment variables.)

The secret to expose to the container as an environment variable.


taskRole?

Type: IRole (optional, default: A task role is automatically created for you.)

The name of the task IAM role that grants containers in the task permission to call AWS APIs on your behalf.