# MultiNodeEcsTaskPropertiesProperty

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.190.0 · 17 Apr 2025

## 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 multiNodeEcsTaskPropertiesProperty: batch.CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty = {
  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,
  executionRoleArn: 'executionRoleArn',
  ipcMode: 'ipcMode',
  pidMode: 'pidMode',
  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.

- `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.

- `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.

- `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.
