# EcsTaskPropertiesProperty

The properties for a task definition that describes the container and volume definitions of an Amazon ECS task.

You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.

- Source: Generated code
- Type last changed: v2.268.0 · 2 Sep 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_batch as batch } from 'aws-cdk-lib';

declare const options: any;
const ecsTaskPropertiesProperty: batch.CfnJobDefinition.EcsTaskPropertiesProperty = {
  containers: [{
    image: 'image',

    // the properties below are optional
    command: ['command'],
    dependsOn: [{
      condition: 'condition',
      containerName: 'containerName',
    }],
    environment: [{
      name: 'name',
      value: 'value',
    }],
    essential: false,
    firelensConfiguration: {
      type: 'type',

      // the properties below are optional
      options: {
        optionsKey: 'options',
      },
    },
    linuxParameters: {
      devices: [{
        containerPath: 'containerPath',
        hostPath: 'hostPath',
        permissions: ['permissions'],
      }],
      initProcessEnabled: false,
      maxSwap: 123,
      sharedMemorySize: 123,
      swappiness: 123,
      tmpfs: [{
        containerPath: 'containerPath',
        size: 123,

        // the properties below are optional
        mountOptions: ['mountOptions'],
      }],
    },
    logConfiguration: {
      logDriver: 'logDriver',

      // the properties below are optional
      options: options,
      secretOptions: [{
        name: 'name',
        valueFrom: 'valueFrom',
      }],
    },
    mountPoints: [{
      containerPath: 'containerPath',
      readOnly: false,
      sourceVolume: 'sourceVolume',
    }],
    name: 'name',
    privileged: false,
    readonlyRootFilesystem: false,
    repositoryCredentials: {
      credentialsParameter: 'credentialsParameter',
    },
    resourceRequirements: [{
      type: 'type',
      value: 'value',
    }],
    secrets: [{
      name: 'name',
      valueFrom: 'valueFrom',
    }],
    startTimeout: 123,
    stopTimeout: 123,
    ulimits: [{
      hardLimit: 123,
      name: 'name',
      softLimit: 123,
    }],
    user: 'user',
  }],
  enableExecuteCommand: false,
  ephemeralStorage: {
    sizeInGiB: 123,
  },
  executionRoleArn: 'executionRoleArn',
  ipcMode: 'ipcMode',
  networkConfiguration: {
    assignPublicIp: 'assignPublicIp',
  },
  networkMode: 'networkMode',
  pidMode: 'pidMode',
  platformVersion: 'platformVersion',
  runtimePlatform: {
    cpuArchitecture: 'cpuArchitecture',
    operatingSystemFamily: 'operatingSystemFamily',
  },
  taskRoleArn: 'taskRoleArn',
  volumes: [{
    efsVolumeConfiguration: {
      fileSystemId: 'fileSystemId',

      // the properties below are optional
      authorizationConfig: {
        accessPointId: 'accessPointId',
        iam: 'iam',
      },
      rootDirectory: 'rootDirectory',
      transitEncryption: 'transitEncryption',
      transitEncryptionPort: 123,
    },
    host: {
      sourcePath: 'sourcePath',
    },
    name: 'name',
    s3FilesVolumeConfiguration: {
      fileSystemArn: 'fileSystemArn',

      // the properties below are optional
      accessPointArn: 'accessPointArn',
      rootDirectory: 'rootDirectory',
      transitEncryptionPort: 123,
    },
  }],
};
```

## Properties

- `containers`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnJobDefinition.TaskContainerPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.CfnJobDefinition.TaskContainerPropertiesProperty.html)[] — This object is a list of containers.

- `enableExecuteCommand`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Determines whether execute command functionality is turned on for this task.

  If `true` , execute command functionality is turned on all the containers in the task.

- `ephemeralStorage`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnJobDefinition.EphemeralStorageProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.CfnJobDefinition.EphemeralStorageProperty.html) — The amount of ephemeral storage to allocate for the task.

  This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .

- `executionRoleArn`: string — The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.

  For jobs that run on Fargate resources, you must provide an execution role. For more information, see [AWS Batch execution IAM role](https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html) in the *AWS Batch User Guide* .

- `ipcMode`: string — The IPC resource namespace to use for the containers in the task.

  The valid values are `host` , `task` , or `none` .

  If `host` is specified, all containers within the tasks that specified the `host` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

  If `task` is specified, all containers within the specified `task` share the same IPC resources.

  If `none` is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

  If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see [IPC settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc) in the Docker run reference.

- `networkConfiguration`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnJobDefinition.NetworkConfigurationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.CfnJobDefinition.NetworkConfigurationProperty.html) — The network configuration for jobs that are running on Fargate resources.

  Jobs that are running on Amazon EC2 resources must not specify this parameter.

- `networkMode`: string

- `pidMode`: string — The process namespace to use for the containers in the task.

  The valid values are `host` or `task` . For example, monitoring sidecars might need `pidMode` to access information about other containers running in the same task.

  If `host` is specified, all containers within the tasks that specified the `host` PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

  If `task` is specified, all containers within the specified task share the same process namespace.

  If no value is specified, the default is a private namespace for each container. For more information, see [PID settings](https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid) in the Docker run reference.

- `platformVersion`: string — The Fargate platform version where the jobs are running.

  A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the `LATEST` platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see [AWS Fargate platform versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .

- `runtimePlatform`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnJobDefinition.RuntimePlatformProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.CfnJobDefinition.RuntimePlatformProperty.html) — An object that represents the compute environment architecture for AWS Batch jobs on Fargate.

- `taskRoleArn`: string — The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

  > This is object is comparable to [ContainerProperties:jobRoleArn](https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html) .

- `volumes`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnJobDefinition.VolumesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_batch.CfnJobDefinition.VolumesProperty.html)[] — A list of volumes that are associated with the job.
