# ExecuteCommandConfiguration

The details of the execute command configuration.

For more information, see
[ExecuteCommandConfiguration] https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-executecommandconfiguration.html

- Source: [`aws-ecs/lib/cluster.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0/packages/aws-cdk-lib/aws-ecs/lib/cluster.ts#L1343)

## Example

```ts
declare const vpc: ec2.Vpc;
const kmsKey = new kms.Key(this, 'KmsKey');

// Pass the KMS key in the `encryptionKey` field to associate the key to the log group
const logGroup = new logs.LogGroup(this, 'LogGroup', {
  encryptionKey: kmsKey,
});

// Pass the KMS key in the `encryptionKey` field to associate the key to the S3 bucket
const execBucket = new s3.Bucket(this, 'EcsExecBucket', {
  encryptionKey: kmsKey,
});

const cluster = new ecs.Cluster(this, 'Cluster', {
  vpc,
  executeCommandConfiguration: {
    kmsKey,
    logConfiguration: {
      cloudWatchLogGroup: logGroup,
      cloudWatchEncryptionEnabled: true,
      s3Bucket: execBucket,
      s3EncryptionEnabled: true,
      s3KeyPrefix: 'exec-command-output',
    },
    logging: ecs.ExecuteCommandLogging.OVERRIDE,
  },
});
```

## Properties

- `kmsKey`: [IKey](/cdk/api/v2/docs/aws-cdk-lib.aws_kms.IKey.html) = none — The AWS Key Management Service key ID to encrypt the data between the local client and the container.

- `logConfiguration`: [ExecuteCommandLogConfiguration](/cdk/api/v2/docs/aws-cdk-lib.aws_ecs.ExecuteCommandLogConfiguration.html) = none — The log configuration for the results of the execute command actions.

  The logs can be sent to CloudWatch Logs or an Amazon S3 bucket.

- `logging`: [ExecuteCommandLogging](/cdk/api/v2/docs/aws-cdk-lib.aws_ecs.ExecuteCommandLogging.html) = none — The log settings to use for logging the execute command session.
