@aws-sdk/client-ecs 3.629.0 → 3.632.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist-es/models/index.js +1 -0
  2. package/dist-es/models/models_1.js +1 -0
  3. package/dist-types/commands/CreateCapacityProviderCommand.d.ts +10 -0
  4. package/dist-types/commands/CreateClusterCommand.d.ts +10 -0
  5. package/dist-types/commands/CreateServiceCommand.d.ts +12 -2
  6. package/dist-types/commands/CreateTaskSetCommand.d.ts +11 -1
  7. package/dist-types/commands/DeleteAccountSettingCommand.d.ts +10 -0
  8. package/dist-types/commands/DeleteAttributesCommand.d.ts +2 -2
  9. package/dist-types/commands/DeleteCapacityProviderCommand.d.ts +10 -0
  10. package/dist-types/commands/DeleteClusterCommand.d.ts +10 -0
  11. package/dist-types/commands/DeleteServiceCommand.d.ts +10 -0
  12. package/dist-types/commands/DeleteTaskDefinitionsCommand.d.ts +17 -0
  13. package/dist-types/commands/DeleteTaskSetCommand.d.ts +10 -0
  14. package/dist-types/commands/DeregisterContainerInstanceCommand.d.ts +10 -0
  15. package/dist-types/commands/DeregisterTaskDefinitionCommand.d.ts +17 -0
  16. package/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +10 -0
  17. package/dist-types/commands/DescribeClustersCommand.d.ts +10 -0
  18. package/dist-types/commands/DescribeContainerInstancesCommand.d.ts +10 -0
  19. package/dist-types/commands/DescribeServicesCommand.d.ts +10 -0
  20. package/dist-types/commands/DescribeTaskDefinitionCommand.d.ts +17 -0
  21. package/dist-types/commands/DescribeTaskSetsCommand.d.ts +10 -0
  22. package/dist-types/commands/DescribeTasksCommand.d.ts +10 -0
  23. package/dist-types/commands/DiscoverPollEndpointCommand.d.ts +10 -0
  24. package/dist-types/commands/ExecuteCommandCommand.d.ts +10 -0
  25. package/dist-types/commands/GetTaskProtectionCommand.d.ts +10 -0
  26. package/dist-types/commands/ListAccountSettingsCommand.d.ts +10 -0
  27. package/dist-types/commands/ListClustersCommand.d.ts +10 -0
  28. package/dist-types/commands/ListContainerInstancesCommand.d.ts +10 -0
  29. package/dist-types/commands/ListServicesByNamespaceCommand.d.ts +10 -0
  30. package/dist-types/commands/ListServicesCommand.d.ts +10 -0
  31. package/dist-types/commands/ListTagsForResourceCommand.d.ts +10 -0
  32. package/dist-types/commands/ListTaskDefinitionFamiliesCommand.d.ts +10 -0
  33. package/dist-types/commands/ListTaskDefinitionsCommand.d.ts +10 -0
  34. package/dist-types/commands/ListTasksCommand.d.ts +10 -0
  35. package/dist-types/commands/PutAccountSettingCommand.d.ts +10 -0
  36. package/dist-types/commands/PutAccountSettingDefaultCommand.d.ts +10 -0
  37. package/dist-types/commands/PutAttributesCommand.d.ts +2 -2
  38. package/dist-types/commands/PutClusterCapacityProvidersCommand.d.ts +10 -0
  39. package/dist-types/commands/RegisterContainerInstanceCommand.d.ts +10 -0
  40. package/dist-types/commands/RegisterTaskDefinitionCommand.d.ts +25 -3
  41. package/dist-types/commands/RunTaskCommand.d.ts +10 -0
  42. package/dist-types/commands/StartTaskCommand.d.ts +10 -0
  43. package/dist-types/commands/StopTaskCommand.d.ts +12 -2
  44. package/dist-types/commands/SubmitAttachmentStateChangesCommand.d.ts +10 -0
  45. package/dist-types/commands/SubmitContainerStateChangeCommand.d.ts +10 -0
  46. package/dist-types/commands/SubmitTaskStateChangeCommand.d.ts +10 -0
  47. package/dist-types/commands/TagResourceCommand.d.ts +10 -0
  48. package/dist-types/commands/UntagResourceCommand.d.ts +10 -0
  49. package/dist-types/commands/UpdateCapacityProviderCommand.d.ts +10 -0
  50. package/dist-types/commands/UpdateClusterCommand.d.ts +10 -0
  51. package/dist-types/commands/UpdateClusterSettingsCommand.d.ts +10 -0
  52. package/dist-types/commands/UpdateContainerAgentCommand.d.ts +10 -0
  53. package/dist-types/commands/UpdateContainerInstancesStateCommand.d.ts +11 -1
  54. package/dist-types/commands/UpdateServiceCommand.d.ts +10 -0
  55. package/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +10 -0
  56. package/dist-types/commands/UpdateTaskProtectionCommand.d.ts +10 -0
  57. package/dist-types/commands/UpdateTaskSetCommand.d.ts +12 -1
  58. package/dist-types/models/index.d.ts +1 -0
  59. package/dist-types/models/models_0.d.ts +239 -275
  60. package/dist-types/models/models_1.d.ts +11 -0
  61. package/dist-types/ts3.4/commands/UpdateTaskSetCommand.d.ts +2 -4
  62. package/dist-types/ts3.4/models/index.d.ts +1 -0
  63. package/dist-types/ts3.4/models/models_0.d.ts +6 -3
  64. package/dist-types/ts3.4/models/models_1.d.ts +4 -0
  65. package/package.json +6 -6
@@ -32,6 +32,16 @@ export type AgentUpdateStatus = (typeof AgentUpdateStatus)[keyof typeof AgentUpd
32
32
  * <p>These errors are usually caused by a client action. This client action might be using
33
33
  * an action or resource on behalf of a user that doesn't have permissions to use the
34
34
  * action or resource. Or, it might be specifying an identifier that isn't valid.</p>
35
+ * <p>The following list includes additional causes for the error:</p>
36
+ * <ul>
37
+ * <li>
38
+ * <p>The <code>RunTask</code> could not be processed because you use managed
39
+ * scaling and there is a capacity error because the quota of tasks in the
40
+ * <code>PROVISIONING</code> per cluster has been reached. For information
41
+ * about the service quotas, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-quotas.html">Amazon ECS
42
+ * service quotas</a>.</p>
43
+ * </li>
44
+ * </ul>
35
45
  * @public
36
46
  */
37
47
  export declare class ClientException extends __BaseException {
@@ -606,12 +616,11 @@ export interface ClusterConfiguration {
606
616
  * <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers are
607
617
  * available to all accounts and only need to be associated with a cluster to be used in a
608
618
  * capacity provider strategy.</p>
609
- * <p>With <code>FARGATE_SPOT</code>, you can run interruption
610
- * tolerant tasks at a rate that's discounted compared to the <code>FARGATE</code> price.
611
- * <code>FARGATE_SPOT</code> runs tasks on spare compute capacity. When Amazon Web Services needs the
612
- * capacity back, your tasks are interrupted with a two-minute warning.
613
- * <code>FARGATE_SPOT</code> only supports Linux tasks with the X86_64 architecture on
614
- * platform version 1.3.0 or later.</p>
619
+ * <p>With <code>FARGATE_SPOT</code>, you can run interruption tolerant tasks at a rate
620
+ * that's discounted compared to the <code>FARGATE</code> price. <code>FARGATE_SPOT</code>
621
+ * runs tasks on spare compute capacity. When Amazon Web Services needs the capacity back, your tasks are
622
+ * interrupted with a two-minute warning. <code>FARGATE_SPOT</code> only supports Linux
623
+ * tasks with the X86_64 architecture on platform version 1.3.0 or later.</p>
615
624
  * <p>A capacity provider strategy may contain a maximum of 6 capacity providers.</p>
616
625
  * @public
617
626
  */
@@ -1314,15 +1323,13 @@ export interface DeploymentConfiguration {
1314
1323
  * the task towards the minimum healthy percent total.</p>
1315
1324
  * </li>
1316
1325
  * </ul>
1317
- * <p>The default value for a replica service for
1318
- * <code>minimumHealthyPercent</code> is 100%. The default
1319
- * <code>minimumHealthyPercent</code> value for a service using
1320
- * the <code>DAEMON</code> service schedule is 0% for the CLI,
1321
- * the Amazon Web Services SDKs, and the APIs and 50% for the Amazon Web Services Management Console.</p>
1326
+ * <p>The default value for a replica service for <code>minimumHealthyPercent</code> is
1327
+ * 100%. The default <code>minimumHealthyPercent</code> value for a service using the
1328
+ * <code>DAEMON</code> service schedule is 0% for the CLI, the Amazon Web Services SDKs, and the
1329
+ * APIs and 50% for the Amazon Web Services Management Console.</p>
1322
1330
  * <p>The minimum number of healthy tasks during a deployment is the
1323
- * <code>desiredCount</code> multiplied by the
1324
- * <code>minimumHealthyPercent</code>/100, rounded up to the
1325
- * nearest integer value.</p>
1331
+ * <code>desiredCount</code> multiplied by the <code>minimumHealthyPercent</code>/100,
1332
+ * rounded up to the nearest integer value.</p>
1326
1333
  * <p>If a service is using either the blue/green (<code>CODE_DEPLOY</code>) or
1327
1334
  * <code>EXTERNAL</code> deployment types and is running tasks that use the
1328
1335
  * EC2 launch type, the <b>minimum healthy
@@ -1475,8 +1482,7 @@ export declare const AssignPublicIp: {
1475
1482
  export type AssignPublicIp = (typeof AssignPublicIp)[keyof typeof AssignPublicIp];
1476
1483
  /**
1477
1484
  * <p>An object representing the networking details for a task or service. For example
1478
- * <code>awsvpcConfiguration=\{subnets=["subnet-12344321"],securityGroups=["sg-12344321"]\}</code>
1479
- * </p>
1485
+ * <code>awsVpcConfiguration=\{subnets=["subnet-12344321"],securityGroups=["sg-12344321"]\}</code>.</p>
1480
1486
  * @public
1481
1487
  */
1482
1488
  export interface AwsVpcConfiguration {
@@ -1687,16 +1693,12 @@ export interface Secret {
1687
1693
  }
1688
1694
  /**
1689
1695
  * <p>The log configuration for the container. This parameter maps to <code>LogConfig</code>
1690
- * in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
1691
- * <code>--log-driver</code> option to <a href="https://docs.docker.com/engine/reference/commandline/run/">
1692
- * <code>docker
1693
- * run</code>
1694
- * </a>.</p>
1696
+ * in the docker create-container command and the
1697
+ * <code>--log-driver</code> option to docker
1698
+ * run.</p>
1695
1699
  * <p>By default, containers use the same logging driver that the Docker daemon uses.
1696
1700
  * However, the container might use a different logging driver than the Docker daemon by
1697
- * specifying a log driver configuration in the container definition. For more information
1698
- * about the options for different supported log drivers, see <a href="https://docs.docker.com/engine/admin/logging/overview/">Configure logging
1699
- * drivers</a> in the Docker documentation.</p>
1701
+ * specifying a log driver configuration in the container definition.</p>
1700
1702
  * <p>Understand the following when specifying a log configuration for your
1701
1703
  * containers.</p>
1702
1704
  * <ul>
@@ -1708,9 +1710,8 @@ export interface Secret {
1708
1710
  * <code>splunk</code>, and <code>awsfirelens</code>.</p>
1709
1711
  * <p>For tasks hosted on Amazon EC2 instances, the supported log drivers are
1710
1712
  * <code>awslogs</code>, <code>fluentd</code>, <code>gelf</code>,
1711
- * <code>json-file</code>, <code>journald</code>,
1712
- * <code>logentries</code>,<code>syslog</code>, <code>splunk</code>, and
1713
- * <code>awsfirelens</code>.</p>
1713
+ * <code>json-file</code>, <code>journald</code>,<code>syslog</code>,
1714
+ * <code>splunk</code>, and <code>awsfirelens</code>.</p>
1714
1715
  * </li>
1715
1716
  * <li>
1716
1717
  * <p>This parameter requires version 1.18 of the Docker Remote API or greater on
@@ -1740,12 +1741,12 @@ export interface LogConfiguration {
1740
1741
  * <code>splunk</code>, and <code>awsfirelens</code>.</p>
1741
1742
  * <p>For tasks hosted on Amazon EC2 instances, the supported log drivers are
1742
1743
  * <code>awslogs</code>, <code>fluentd</code>, <code>gelf</code>,
1743
- * <code>json-file</code>, <code>journald</code>,
1744
- * <code>logentries</code>,<code>syslog</code>, <code>splunk</code>, and
1745
- * <code>awsfirelens</code>.</p>
1746
- * <p>For more information about using the <code>awslogs</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html">Using
1747
- * the awslogs log driver</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1748
- * <p>For more information about using the <code>awsfirelens</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html">Custom log routing</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1744
+ * <code>json-file</code>, <code>journald</code>, <code>syslog</code>,
1745
+ * <code>splunk</code>, and <code>awsfirelens</code>.</p>
1746
+ * <p>For more information about using the <code>awslogs</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html">Send
1747
+ * Amazon ECS logs to CloudWatch</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1748
+ * <p>For more information about using the <code>awsfirelens</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html">Send
1749
+ * Amazon ECS logs to an Amazon Web Services service or Amazon Web Services Partner</a>.</p>
1749
1750
  * <note>
1750
1751
  * <p>If you have a custom driver that isn't listed, you can fork the Amazon ECS container
1751
1752
  * agent project that's <a href="https://github.com/aws/amazon-ecs-agent">available
@@ -1967,16 +1968,12 @@ export interface ServiceConnectConfiguration {
1967
1968
  services?: ServiceConnectService[];
1968
1969
  /**
1969
1970
  * <p>The log configuration for the container. This parameter maps to <code>LogConfig</code>
1970
- * in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
1971
- * <code>--log-driver</code> option to <a href="https://docs.docker.com/engine/reference/commandline/run/">
1972
- * <code>docker
1973
- * run</code>
1974
- * </a>.</p>
1971
+ * in the docker create-container command and the
1972
+ * <code>--log-driver</code> option to docker
1973
+ * run.</p>
1975
1974
  * <p>By default, containers use the same logging driver that the Docker daemon uses.
1976
1975
  * However, the container might use a different logging driver than the Docker daemon by
1977
- * specifying a log driver configuration in the container definition. For more information
1978
- * about the options for different supported log drivers, see <a href="https://docs.docker.com/engine/admin/logging/overview/">Configure logging
1979
- * drivers</a> in the Docker documentation.</p>
1976
+ * specifying a log driver configuration in the container definition.</p>
1980
1977
  * <p>Understand the following when specifying a log configuration for your
1981
1978
  * containers.</p>
1982
1979
  * <ul>
@@ -1988,9 +1985,8 @@ export interface ServiceConnectConfiguration {
1988
1985
  * <code>splunk</code>, and <code>awsfirelens</code>.</p>
1989
1986
  * <p>For tasks hosted on Amazon EC2 instances, the supported log drivers are
1990
1987
  * <code>awslogs</code>, <code>fluentd</code>, <code>gelf</code>,
1991
- * <code>json-file</code>, <code>journald</code>,
1992
- * <code>logentries</code>,<code>syslog</code>, <code>splunk</code>, and
1993
- * <code>awsfirelens</code>.</p>
1988
+ * <code>json-file</code>, <code>journald</code>,<code>syslog</code>,
1989
+ * <code>splunk</code>, and <code>awsfirelens</code>.</p>
1994
1990
  * </li>
1995
1991
  * <li>
1996
1992
  * <p>This parameter requires version 1.18 of the Docker Remote API or greater on
@@ -2403,8 +2399,8 @@ export interface CreateServiceRequest {
2403
2399
  * infrastructure.</p>
2404
2400
  * <note>
2405
2401
  * <p>Fargate Spot infrastructure is available for use but a capacity provider
2406
- * strategy must be used. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html">Fargate capacity providers</a> in the
2407
- * <i>Amazon ECS Developer Guide</i>.</p>
2402
+ * strategy must be used. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html">Fargate capacity providers</a> in the <i>Amazon ECS
2403
+ * Developer Guide</i>.</p>
2408
2404
  * </note>
2409
2405
  * <p>The <code>EC2</code> launch type runs your tasks on Amazon EC2 instances registered to your
2410
2406
  * cluster.</p>
@@ -2430,7 +2426,8 @@ export interface CreateServiceRequest {
2430
2426
  * <p>The platform version that your tasks in the service are running on. A platform version
2431
2427
  * is specified only for tasks using the Fargate launch type. If one isn't
2432
2428
  * specified, the <code>LATEST</code> platform version is used. For more information, see
2433
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">Fargate platform versions</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2429
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">Fargate platform
2430
+ * versions</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2434
2431
  * @public
2435
2432
  */
2436
2433
  platformVersion?: string;
@@ -2495,8 +2492,8 @@ export interface CreateServiceRequest {
2495
2492
  * <p>If you do not use an Elastic Load Balancing, we recommend that you use the <code>startPeriod</code> in
2496
2493
  * the task definition health check parameters. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html">Health
2497
2494
  * check</a>.</p>
2498
- * <p>If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can
2499
- * specify a health check grace period of up to 2,147,483,647 seconds (about 69 years).
2495
+ * <p>If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you
2496
+ * can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years).
2500
2497
  * During that time, the Amazon ECS service scheduler ignores health check status. This grace
2501
2498
  * period can prevent the service scheduler from marking tasks as unhealthy and stopping
2502
2499
  * them before they have time to come up.</p>
@@ -2592,7 +2589,9 @@ export interface CreateServiceRequest {
2592
2589
  * <p>Specifies whether to propagate the tags from the task definition to the task. If no
2593
2590
  * value is specified, the tags aren't propagated. Tags can only be propagated to the task
2594
2591
  * during task creation. To add tags to a task after task creation, use the <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html">TagResource</a> API action.</p>
2595
- * <p>You must set this to a value other than <code>NONE</code> when you use Cost Explorer. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html">Amazon ECS usage reports</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2592
+ * <p>You must set this to a value other than <code>NONE</code> when you use Cost Explorer.
2593
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html">Amazon ECS usage reports</a>
2594
+ * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2596
2595
  * <p>The default is <code>NONE</code>.</p>
2597
2596
  * @public
2598
2597
  */
@@ -2630,7 +2629,8 @@ export interface CreateServiceRequest {
2630
2629
  */
2631
2630
  export interface DeploymentEphemeralStorage {
2632
2631
  /**
2633
- * <p>Specify an Key Management Service key ID to encrypt the ephemeral storage for deployment.</p>
2632
+ * <p>Specify an Key Management Service key ID to encrypt the ephemeral storage for
2633
+ * deployment.</p>
2634
2634
  * @public
2635
2635
  */
2636
2636
  kmsKeyId?: string;
@@ -3782,8 +3782,8 @@ export interface DeleteAttributesResponse {
3782
3782
  }
3783
3783
  /**
3784
3784
  * <p>The specified target wasn't found. You can view your available container instances
3785
- * with <a>ListContainerInstances</a>. Amazon ECS container instances are
3786
- * cluster-specific and Region-specific.</p>
3785
+ * with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListContainerInstances.html">ListContainerInstances</a>. Amazon ECS container instances are cluster-specific and
3786
+ * Region-specific.</p>
3787
3787
  * @public
3788
3788
  */
3789
3789
  export declare class TargetNotFoundException extends __BaseException {
@@ -4061,8 +4061,10 @@ export type EnvironmentFileType = (typeof EnvironmentFileType)[keyof typeof Envi
4061
4061
  * parameter in a container definition, they take precedence over the variables contained
4062
4062
  * within an environment file. If multiple environment files are specified that contain the
4063
4063
  * same variable, they're processed from the top down. We recommend that you use unique
4064
- * variable names. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html">Use a file to pass environment variables to a container</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
4065
- * <p>Environment variable files are objects in Amazon S3 and all Amazon S3 security considerations apply. </p>
4064
+ * variable names. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/use-environment-file.html">Use a file to pass
4065
+ * environment variables to a container</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
4066
+ * <p>Environment variable files are objects in Amazon S3 and all Amazon S3 security considerations
4067
+ * apply. </p>
4066
4068
  * <p>You must use the following platforms for the Fargate launch type:</p>
4067
4069
  * <ul>
4068
4070
  * <li>
@@ -4094,8 +4096,8 @@ export interface EnvironmentFile {
4094
4096
  */
4095
4097
  value: string | undefined;
4096
4098
  /**
4097
- * <p>The file type to use. Environment files are objects in Amazon S3. The only supported value is
4098
- * <code>s3</code>.</p>
4099
+ * <p>The file type to use. Environment files are objects in Amazon S3. The only supported value
4100
+ * is <code>s3</code>.</p>
4099
4101
  * @public
4100
4102
  */
4101
4103
  type: EnvironmentFileType | undefined;
@@ -4163,7 +4165,7 @@ export interface FirelensConfiguration {
4163
4165
  * <p>An object representing a container health check. Health check parameters that are
4164
4166
  * specified in a container definition override any Docker health checks that exist in the
4165
4167
  * container image (such as those specified in a parent image or from the image's
4166
- * Dockerfile). This configuration maps to the <code>HEALTHCHECK</code> parameter of <a href="https://docs.docker.com/engine/reference/run/">docker run</a>.</p>
4168
+ * Dockerfile). This configuration maps to the <code>HEALTHCHECK</code> parameter of docker run.</p>
4167
4169
  * <note>
4168
4170
  * <p>The Amazon ECS container agent only monitors and reports on the health checks specified
4169
4171
  * in the task definition. Amazon ECS does not monitor Docker health checks that are
@@ -4276,17 +4278,18 @@ export interface FirelensConfiguration {
4276
4278
  * <p>The following are notes about container health check support:</p>
4277
4279
  * <ul>
4278
4280
  * <li>
4279
- * <p>If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this won't
4280
- * cause a container to transition to an <code>UNHEALTHY</code> status. This is by design,
4281
- * to ensure that containers remain running during agent restarts or temporary
4282
- * unavailability. The health check status is the "last heard from" response from the Amazon ECS
4283
- * agent, so if the container was considered <code>HEALTHY</code> prior to the disconnect,
4284
- * that status will remain until the agent reconnects and another health check occurs.
4285
- * There are no assumptions made about the status of the container health checks.</p>
4281
+ * <p>If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this
4282
+ * won't cause a container to transition to an <code>UNHEALTHY</code> status. This
4283
+ * is by design, to ensure that containers remain running during agent restarts or
4284
+ * temporary unavailability. The health check status is the "last heard from"
4285
+ * response from the Amazon ECS agent, so if the container was considered
4286
+ * <code>HEALTHY</code> prior to the disconnect, that status will remain until
4287
+ * the agent reconnects and another health check occurs. There are no assumptions
4288
+ * made about the status of the container health checks.</p>
4286
4289
  * </li>
4287
4290
  * <li>
4288
- * <p>Container health checks require version <code>1.17.0</code> or greater of the Amazon ECS
4289
- * container agent. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html">Updating the
4291
+ * <p>Container health checks require version <code>1.17.0</code> or greater of the
4292
+ * Amazon ECS container agent. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html">Updating the
4290
4293
  * Amazon ECS container agent</a>.</p>
4291
4294
  * </li>
4292
4295
  * <li>
@@ -4318,8 +4321,7 @@ export interface HealthCheck {
4318
4321
  * <code> CMD-SHELL, curl -f http://localhost/ || exit 1</code>
4319
4322
  * </p>
4320
4323
  * <p>An exit code of 0 indicates success, and non-zero exit code indicates failure. For
4321
- * more information, see <code>HealthCheck</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a>
4322
- * section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a>.</p>
4324
+ * more information, see <code>HealthCheck</code> in tthe docker create-container command</p>
4323
4325
  * @public
4324
4326
  */
4325
4327
  command: string[] | undefined;
@@ -4356,19 +4358,16 @@ export interface HealthCheck {
4356
4358
  startPeriod?: number;
4357
4359
  }
4358
4360
  /**
4359
- * <p>The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more information about the default capabilities
4360
- * and the non-default available capabilities, see <a href="https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities">Runtime privilege and Linux capabilities</a> in the <i>Docker run
4361
- * reference</i>. For more detailed information about these Linux capabilities,
4361
+ * <p>The Linux capabilities to add or remove from the default Docker configuration for a container defined in the task definition. For more detailed information about these Linux capabilities,
4362
4362
  * see the <a href="http://man7.org/linux/man-pages/man7/capabilities.7.html">capabilities(7)</a> Linux manual page.</p>
4363
4363
  * @public
4364
4364
  */
4365
4365
  export interface KernelCapabilities {
4366
4366
  /**
4367
4367
  * <p>The Linux capabilities for the container that have been added to the default
4368
- * configuration provided by Docker. This parameter maps to <code>CapAdd</code> in the
4369
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
4370
- * <code>--cap-add</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
4371
- * run</a>.</p>
4368
+ * configuration provided by Docker. This parameter maps to <code>CapAdd</code> in the docker create-container command and the
4369
+ * <code>--cap-add</code> option to docker
4370
+ * run.</p>
4372
4371
  * <note>
4373
4372
  * <p>Tasks launched on Fargate only support adding the <code>SYS_PTRACE</code> kernel
4374
4373
  * capability.</p>
@@ -4387,10 +4386,9 @@ export interface KernelCapabilities {
4387
4386
  add?: string[];
4388
4387
  /**
4389
4388
  * <p>The Linux capabilities for the container that have been removed from the default
4390
- * configuration provided by Docker. This parameter maps to <code>CapDrop</code> in the
4391
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
4392
- * <code>--cap-drop</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
4393
- * run</a>.</p>
4389
+ * configuration provided by Docker. This parameter maps to <code>CapDrop</code> in the docker create-container command and the
4390
+ * <code>--cap-drop</code> option to docker
4391
+ * run.</p>
4394
4392
  * <p>Valid values: <code>"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" |
4395
4393
  * "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" |
4396
4394
  * "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" |
@@ -4487,8 +4485,7 @@ export interface LinuxParameters {
4487
4485
  capabilities?: KernelCapabilities;
4488
4486
  /**
4489
4487
  * <p>Any host devices to expose to the container. This parameter maps to
4490
- * <code>Devices</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
4491
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--device</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
4488
+ * <code>Devices</code> in tthe docker create-container command and the <code>--device</code> option to docker run.</p>
4492
4489
  * <note>
4493
4490
  * <p>If you're using tasks that use the Fargate launch type, the
4494
4491
  * <code>devices</code> parameter isn't supported.</p>
@@ -4505,8 +4502,8 @@ export interface LinuxParameters {
4505
4502
  initProcessEnabled?: boolean;
4506
4503
  /**
4507
4504
  * <p>The value for the size (in MiB) of the <code>/dev/shm</code> volume. This parameter
4508
- * maps to the <code>--shm-size</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
4509
- * run</a>.</p>
4505
+ * maps to the <code>--shm-size</code> option to docker
4506
+ * run.</p>
4510
4507
  * <note>
4511
4508
  * <p>If you are using tasks that use the Fargate launch type, the
4512
4509
  * <code>sharedMemorySize</code> parameter is not supported.</p>
@@ -4516,7 +4513,7 @@ export interface LinuxParameters {
4516
4513
  sharedMemorySize?: number;
4517
4514
  /**
4518
4515
  * <p>The container path, mount options, and size (in MiB) of the tmpfs mount. This
4519
- * parameter maps to the <code>--tmpfs</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
4516
+ * parameter maps to the <code>--tmpfs</code> option to docker run.</p>
4520
4517
  * <note>
4521
4518
  * <p>If you're using tasks that use the Fargate launch type, the
4522
4519
  * <code>tmpfs</code> parameter isn't supported.</p>
@@ -4550,7 +4547,7 @@ export interface LinuxParameters {
4550
4547
  * <code>0</code> and <code>100</code>. If the <code>swappiness</code> parameter is not
4551
4548
  * specified, a default value of <code>60</code> is used. If a value is not specified for
4552
4549
  * <code>maxSwap</code> then this parameter is ignored. This parameter maps to the
4553
- * <code>--memory-swappiness</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
4550
+ * <code>--memory-swappiness</code> option to docker run.</p>
4554
4551
  * <note>
4555
4552
  * <p>If you're using tasks that use the Fargate launch type, the
4556
4553
  * <code>swappiness</code> parameter isn't supported.</p>
@@ -4619,12 +4616,9 @@ export type TransportProtocol = (typeof TransportProtocol)[keyof typeof Transpor
4619
4616
  * <code>hostPort</code> can be left blank or it must be the same value as the
4620
4617
  * <code>containerPort</code>.</p>
4621
4618
  * <p>Most fields of this parameter (<code>containerPort</code>, <code>hostPort</code>,
4622
- * <code>protocol</code>) maps to <code>PortBindings</code> in the
4623
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
4624
- * <code>--publish</code> option to <a href="https://docs.docker.com/engine/reference/commandline/run/">
4625
- * <code>docker
4626
- * run</code>
4627
- * </a>. If the network mode of a task definition is set to
4619
+ * <code>protocol</code>) maps to <code>PortBindings</code> in the docker create-container command and the
4620
+ * <code>--publish</code> option to <code>docker
4621
+ * run</code>. If the network mode of a task definition is set to
4628
4622
  * <code>host</code>, host ports must either be undefined or match the container port
4629
4623
  * in the port mapping.</p>
4630
4624
  * <note>
@@ -4834,12 +4828,12 @@ export type ResourceType = (typeof ResourceType)[keyof typeof ResourceType];
4834
4828
  export interface ResourceRequirement {
4835
4829
  /**
4836
4830
  * <p>The value for the specified resource type.</p>
4837
- * <p>When the type is <code>GPU</code>, the value is the number of physical <code>GPUs</code> the
4838
- * Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for
4839
- * all containers in a task can't exceed the number of available GPUs on the container
4840
- * instance that the task is launched on.</p>
4841
- * <p>When the type is <code>InferenceAccelerator</code>, the <code>value</code> matches
4842
- * the <code>deviceName</code> for an <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html">InferenceAccelerator</a> specified in a task definition.</p>
4831
+ * <p>When the type is <code>GPU</code>, the value is the number of physical
4832
+ * <code>GPUs</code> the Amazon ECS container agent reserves for the container. The number
4833
+ * of GPUs that's reserved for all containers in a task can't exceed the number of
4834
+ * available GPUs on the container instance that the task is launched on.</p>
4835
+ * <p>When the type is <code>InferenceAccelerator</code>, the <code>value</code> matches the
4836
+ * <code>deviceName</code> for an <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html">InferenceAccelerator</a> specified in a task definition.</p>
4843
4837
  * @public
4844
4838
  */
4845
4839
  value: string | undefined;
@@ -4849,10 +4843,40 @@ export interface ResourceRequirement {
4849
4843
  */
4850
4844
  type: ResourceType | undefined;
4851
4845
  }
4846
+ /**
4847
+ * <p>You can enable a restart policy for each container defined in your
4848
+ * task definition, to overcome transient failures faster and maintain task availability. When you
4849
+ * enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace
4850
+ * the task. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html">Restart individual containers
4851
+ * in Amazon ECS tasks with container restart policies</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
4852
+ * @public
4853
+ */
4854
+ export interface ContainerRestartPolicy {
4855
+ /**
4856
+ * <p>Specifies whether a restart policy is enabled for the
4857
+ * container.</p>
4858
+ * @public
4859
+ */
4860
+ enabled: boolean | undefined;
4861
+ /**
4862
+ * <p>A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can specify a maximum of 50 container exit
4863
+ * codes. By default, Amazon ECS does not ignore
4864
+ * any exit codes.</p>
4865
+ * @public
4866
+ */
4867
+ ignoredExitCodes?: number[];
4868
+ /**
4869
+ * <p>A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be
4870
+ * restarted only once every <code>restartAttemptPeriod</code> seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum
4871
+ * <code>restartAttemptPeriod</code> of 60 seconds and a maximum <code>restartAttemptPeriod</code> of 1800 seconds.
4872
+ * By default, a container must run for 300 seconds before it can be restarted.</p>
4873
+ * @public
4874
+ */
4875
+ restartAttemptPeriod?: number;
4876
+ }
4852
4877
  /**
4853
4878
  * <p>A list of namespaced kernel parameters to set in the container. This parameter maps to
4854
- * <code>Sysctls</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
4855
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--sysctl</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>. For example, you can configure
4879
+ * <code>Sysctls</code> in tthe docker create-container command and the <code>--sysctl</code> option to docker run. For example, you can configure
4856
4880
  * <code>net.ipv4.tcp_keepalive_time</code> setting to maintain longer lived
4857
4881
  * connections.</p>
4858
4882
  * <p>We don't recommend that you specify network-related <code>systemControls</code>
@@ -4949,7 +4973,7 @@ export type UlimitName = (typeof UlimitName)[keyof typeof UlimitName];
4949
4973
  * the <code>nofile</code> resource limit parameter which Fargate
4950
4974
  * overrides. The <code>nofile</code> resource limit sets a restriction on
4951
4975
  * the number of open files that a container can use. The default
4952
- * <code>nofile</code> soft limit is <code>1024</code> and the default hard limit
4976
+ * <code>nofile</code> soft limit is <code> 65535</code> and the default hard limit
4953
4977
  * is <code>65535</code>.</p>
4954
4978
  * <p>You can specify the <code>ulimit</code> settings for a container in a task
4955
4979
  * definition.</p>
@@ -5001,10 +5025,9 @@ export interface ContainerDefinition {
5001
5025
  * <p>The name of a container. If you're linking multiple containers together in a task
5002
5026
  * definition, the <code>name</code> of one container can be entered in the
5003
5027
  * <code>links</code> of another container to connect the containers.
5004
- * Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to <code>name</code> in the
5005
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5006
- * <code>--name</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5007
- * run</a>. </p>
5028
+ * Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to <code>name</code> in tthe docker create-container command and the
5029
+ * <code>--name</code> option to docker
5030
+ * run. </p>
5008
5031
  * @public
5009
5032
  */
5010
5033
  name?: string;
@@ -5015,10 +5038,9 @@ export interface ContainerDefinition {
5015
5038
  * <i>repository-url</i>/<i>image</i>:<i>tag</i>
5016
5039
  * </code> or <code>
5017
5040
  * <i>repository-url</i>/<i>image</i>@<i>digest</i>
5018
- * </code>. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to <code>Image</code> in the
5019
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5020
- * <code>IMAGE</code> parameter of <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5021
- * run</a>.</p>
5041
+ * </code>. Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to <code>Image</code> in the docker create-container command and the
5042
+ * <code>IMAGE</code> parameter of docker
5043
+ * run.</p>
5022
5044
  * <ul>
5023
5045
  * <li>
5024
5046
  * <p>When a new task starts, the Amazon ECS container agent pulls the latest version of
@@ -5057,8 +5079,7 @@ export interface ContainerDefinition {
5057
5079
  repositoryCredentials?: RepositoryCredentials;
5058
5080
  /**
5059
5081
  * <p>The number of <code>cpu</code> units reserved for the container. This parameter maps
5060
- * to <code>CpuShares</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5061
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--cpu-shares</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5082
+ * to <code>CpuShares</code> in the docker create-container commandand the <code>--cpu-shares</code> option to docker run.</p>
5062
5083
  * <p>This field is optional for tasks using the Fargate launch type, and the
5063
5084
  * only requirement is that the total amount of CPU reserved for all containers within a
5064
5085
  * task be lower than the task-level <code>cpu</code> value.</p>
@@ -5077,12 +5098,11 @@ export interface ContainerDefinition {
5077
5098
  * to higher CPU usage if the other container was not using it. If both tasks were 100%
5078
5099
  * active all of the time, they would be limited to 512 CPU units.</p>
5079
5100
  * <p>On Linux container instances, the Docker daemon on the container instance uses the CPU
5080
- * value to calculate the relative CPU share ratios for running containers. For more
5081
- * information, see <a href="https://docs.docker.com/engine/reference/run/#cpu-share-constraint">CPU share
5082
- * constraint</a> in the Docker documentation. The minimum valid CPU share value
5083
- * that the Linux kernel allows is 2. However, the CPU parameter isn't required, and you
5084
- * can use CPU values below 2 in your container definitions. For CPU values below 2
5085
- * (including null), the behavior varies based on your Amazon ECS container agent
5101
+ * value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value
5102
+ * that the Linux kernel allows is 2, and the
5103
+ * maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you
5104
+ * can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2
5105
+ * (including null) or above 262144, the behavior varies based on your Amazon ECS container agent
5086
5106
  * version:</p>
5087
5107
  * <ul>
5088
5108
  * <li>
@@ -5097,6 +5117,12 @@ export interface ContainerDefinition {
5097
5117
  * <b>Agent versions greater than or equal to 1.2.0:</b>
5098
5118
  * Null, zero, and CPU values of 1 are passed to Docker as 2.</p>
5099
5119
  * </li>
5120
+ * <li>
5121
+ * <p>
5122
+ * <b>Agent versions greater than or equal to
5123
+ * 1.84.0:</b> CPU values greater than 256 vCPU are passed to Docker as
5124
+ * 256, which is equivalent to 262144 CPU shares.</p>
5125
+ * </li>
5100
5126
  * </ul>
5101
5127
  * <p>On Windows container instances, the CPU limit is enforced as an absolute limit, or a
5102
5128
  * quota. Windows containers only have access to the specified amount of CPU that's
@@ -5110,8 +5136,7 @@ export interface ContainerDefinition {
5110
5136
  * to exceed the memory specified here, the container is killed. The total amount of memory
5111
5137
  * reserved for all containers within a task must be lower than the task
5112
5138
  * <code>memory</code> value, if one is specified. This parameter maps to
5113
- * <code>Memory</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5114
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--memory</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5139
+ * <code>Memory</code> in thethe docker create-container command and the <code>--memory</code> option to docker run.</p>
5115
5140
  * <p>If using the Fargate launch type, this parameter is optional.</p>
5116
5141
  * <p>If using the EC2 launch type, you must specify either a task-level
5117
5142
  * memory value or a container-level memory value. If you specify both a container-level
@@ -5133,8 +5158,7 @@ export interface ContainerDefinition {
5133
5158
  * However, your container can consume more memory when it needs to, up to either the hard
5134
5159
  * limit specified with the <code>memory</code> parameter (if applicable), or all of the
5135
5160
  * available memory on the container instance, whichever comes first. This parameter maps
5136
- * to <code>MemoryReservation</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of
5137
- * the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--memory-reservation</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5161
+ * to <code>MemoryReservation</code> in the the docker create-container command and the <code>--memory-reservation</code> option to docker run.</p>
5138
5162
  * <p>If a task-level memory value is not specified, you must specify a non-zero integer for
5139
5163
  * one or both of <code>memory</code> or <code>memoryReservation</code> in a container
5140
5164
  * definition. If you specify both, <code>memory</code> must be greater than
@@ -5160,12 +5184,9 @@ export interface ContainerDefinition {
5160
5184
  * without the need for port mappings. This parameter is only supported if the network mode
5161
5185
  * of a task definition is <code>bridge</code>. The <code>name:internalName</code>
5162
5186
  * construct is analogous to <code>name:alias</code> in Docker links.
5163
- * Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. For more information about linking Docker containers, go to
5164
- * <a href="https://docs.docker.com/network/links/">Legacy container links</a>
5165
- * in the Docker documentation. This parameter maps to <code>Links</code> in the
5166
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5167
- * <code>--link</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5168
- * run</a>.</p>
5187
+ * Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to <code>Links</code> in the docker create-container command and the
5188
+ * <code>--link</code> option to docker
5189
+ * run.</p>
5169
5190
  * <note>
5170
5191
  * <p>This parameter is not supported for Windows containers.</p>
5171
5192
  * </note>
@@ -5188,9 +5209,9 @@ export interface ContainerDefinition {
5188
5209
  * <code>localhost</code>. There's no loopback for port mappings on Windows, so you
5189
5210
  * can't access a container's mapped port from the host itself. </p>
5190
5211
  * <p>This parameter maps to <code>PortBindings</code> in the
5191
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5192
- * <code>--publish</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5193
- * run</a>. If the network mode of a task definition is set to <code>none</code>,
5212
+ * the docker create-container command and the
5213
+ * <code>--publish</code> option to docker
5214
+ * run. If the network mode of a task definition is set to <code>none</code>,
5194
5215
  * then you can't specify port mappings. If the network mode of a task definition is set to
5195
5216
  * <code>host</code>, then host ports must either be undefined or they must match the
5196
5217
  * container port in the port mapping.</p>
@@ -5219,6 +5240,12 @@ export interface ContainerDefinition {
5219
5240
  * @public
5220
5241
  */
5221
5242
  essential?: boolean;
5243
+ /**
5244
+ * <p>The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the
5245
+ * task. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html">Restart individual containers in Amazon ECS tasks with container restart policies</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
5246
+ * @public
5247
+ */
5248
+ restartPolicy?: ContainerRestartPolicy;
5222
5249
  /**
5223
5250
  * <important>
5224
5251
  * <p>Early versions of the Amazon ECS container agent don't properly handle
@@ -5227,24 +5254,22 @@ export interface ContainerDefinition {
5227
5254
  * arguments as <code>command</code> array items instead.</p>
5228
5255
  * </important>
5229
5256
  * <p>The entry point that's passed to the container. This parameter maps to
5230
- * <code>Entrypoint</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5231
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--entrypoint</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>. For more information, see <a href="https://docs.docker.com/engine/reference/builder/#entrypoint">https://docs.docker.com/engine/reference/builder/#entrypoint</a>.</p>
5257
+ * <code>Entrypoint</code> in tthe docker create-container command and the <code>--entrypoint</code> option to docker run.</p>
5232
5258
  * @public
5233
5259
  */
5234
5260
  entryPoint?: string[];
5235
5261
  /**
5236
5262
  * <p>The command that's passed to the container. This parameter maps to <code>Cmd</code> in
5237
- * the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5238
- * <code>COMMAND</code> parameter to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5239
- * run</a>. For more information, see <a href="https://docs.docker.com/engine/reference/builder/#cmd">https://docs.docker.com/engine/reference/builder/#cmd</a>. If there are multiple arguments, each
5263
+ * the docker create-container command and the
5264
+ * <code>COMMAND</code> parameter to docker
5265
+ * run. If there are multiple arguments, each
5240
5266
  * argument is a separated string in the array.</p>
5241
5267
  * @public
5242
5268
  */
5243
5269
  command?: string[];
5244
5270
  /**
5245
5271
  * <p>The environment variables to pass to a container. This parameter maps to
5246
- * <code>Env</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5247
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--env</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5272
+ * <code>Env</code> in the docker create-container command and the <code>--env</code> option to docker run.</p>
5248
5273
  * <important>
5249
5274
  * <p>We don't recommend that you use plaintext environment variables for sensitive
5250
5275
  * information, such as credential data.</p>
@@ -5254,13 +5279,11 @@ export interface ContainerDefinition {
5254
5279
  environment?: KeyValuePair[];
5255
5280
  /**
5256
5281
  * <p>A list of files containing the environment variables to pass to a container. This
5257
- * parameter maps to the <code>--env-file</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5282
+ * parameter maps to the <code>--env-file</code> option to docker run.</p>
5258
5283
  * <p>You can specify up to ten environment files. The file must have a <code>.env</code>
5259
5284
  * file extension. Each line in an environment file contains an environment variable in
5260
5285
  * <code>VARIABLE=VALUE</code> format. Lines beginning with <code>#</code> are treated
5261
- * as comments and are ignored. For more information about the environment variable file
5262
- * syntax, see <a href="https://docs.docker.com/compose/env-file/">Declare default
5263
- * environment variables in file</a>.</p>
5286
+ * as comments and are ignored.</p>
5264
5287
  * <p>If there are environment variables specified using the <code>environment</code>
5265
5288
  * parameter in a container definition, they take precedence over the variables contained
5266
5289
  * within an environment file. If multiple environment files are specified that contain the
@@ -5272,8 +5295,7 @@ export interface ContainerDefinition {
5272
5295
  environmentFiles?: EnvironmentFile[];
5273
5296
  /**
5274
5297
  * <p>The mount points for data volumes in your container.</p>
5275
- * <p>This parameter maps to <code>Volumes</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a>
5276
- * section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--volume</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5298
+ * <p>This parameter maps to <code>Volumes</code> in the the docker create-container command and the <code>--volume</code> option to docker run.</p>
5277
5299
  * <p>Windows containers can mount whole directories on the same drive as
5278
5300
  * <code>$env:ProgramData</code>. Windows containers can't mount directories on a
5279
5301
  * different drive, and mount point can't be across drives.</p>
@@ -5282,8 +5304,7 @@ export interface ContainerDefinition {
5282
5304
  mountPoints?: MountPoint[];
5283
5305
  /**
5284
5306
  * <p>Data volumes to mount from another container. This parameter maps to
5285
- * <code>VolumesFrom</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5286
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--volumes-from</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5307
+ * <code>VolumesFrom</code> in tthe docker create-container command and the <code>--volumes-from</code> option to docker run.</p>
5287
5308
  * @public
5288
5309
  */
5289
5310
  volumesFrom?: VolumeFrom[];
@@ -5362,7 +5383,7 @@ export interface ContainerDefinition {
5362
5383
  * later, then they contain the required versions of the container agent and
5363
5384
  * <code>ecs-init</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html">Amazon ECS-optimized Linux AMI</a>
5364
5385
  * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
5365
- * <p>The valid values are 2-120 seconds.</p>
5386
+ * <p>The valid values for Fargate are 2-120 seconds.</p>
5366
5387
  * @public
5367
5388
  */
5368
5389
  startTimeout?: number;
@@ -5400,9 +5421,9 @@ export interface ContainerDefinition {
5400
5421
  stopTimeout?: number;
5401
5422
  /**
5402
5423
  * <p>The hostname to use for your container. This parameter maps to <code>Hostname</code>
5403
- * in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5404
- * <code>--hostname</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5405
- * run</a>.</p>
5424
+ * in thethe docker create-container command and the
5425
+ * <code>--hostname</code> option to docker
5426
+ * run.</p>
5406
5427
  * <note>
5407
5428
  * <p>The <code>hostname</code> parameter is not supported if you're using the
5408
5429
  * <code>awsvpc</code> network mode.</p>
@@ -5411,10 +5432,9 @@ export interface ContainerDefinition {
5411
5432
  */
5412
5433
  hostname?: string;
5413
5434
  /**
5414
- * <p>The user to use inside the container. This parameter maps to <code>User</code> in the
5415
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5416
- * <code>--user</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5417
- * run</a>.</p>
5435
+ * <p>The user to use inside the container. This parameter maps to <code>User</code> in the docker create-container command and the
5436
+ * <code>--user</code> option to docker
5437
+ * run.</p>
5418
5438
  * <important>
5419
5439
  * <p>When running tasks using the <code>host</code> network mode, don't run containers
5420
5440
  * using the root user (UID 0). We recommend using a non-root user for better
@@ -5462,15 +5482,13 @@ export interface ContainerDefinition {
5462
5482
  user?: string;
5463
5483
  /**
5464
5484
  * <p>The working directory to run commands inside the container in. This parameter maps to
5465
- * <code>WorkingDir</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5466
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--workdir</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5485
+ * <code>WorkingDir</code> in the docker create-container command and the <code>--workdir</code> option to docker run.</p>
5467
5486
  * @public
5468
5487
  */
5469
5488
  workingDirectory?: string;
5470
5489
  /**
5471
5490
  * <p>When this parameter is true, networking is off within the container. This parameter
5472
- * maps to <code>NetworkDisabled</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section
5473
- * of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a>.</p>
5491
+ * maps to <code>NetworkDisabled</code> in the docker create-container command.</p>
5474
5492
  * <note>
5475
5493
  * <p>This parameter is not supported for Windows containers.</p>
5476
5494
  * </note>
@@ -5480,8 +5498,7 @@ export interface ContainerDefinition {
5480
5498
  /**
5481
5499
  * <p>When this parameter is true, the container is given elevated privileges on the host
5482
5500
  * container instance (similar to the <code>root</code> user). This parameter maps to
5483
- * <code>Privileged</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5484
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--privileged</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5501
+ * <code>Privileged</code> in the the docker create-container command and the <code>--privileged</code> option to docker run</p>
5485
5502
  * <note>
5486
5503
  * <p>This parameter is not supported for Windows containers or tasks run on Fargate.</p>
5487
5504
  * </note>
@@ -5490,10 +5507,9 @@ export interface ContainerDefinition {
5490
5507
  privileged?: boolean;
5491
5508
  /**
5492
5509
  * <p>When this parameter is true, the container is given read-only access to its root file
5493
- * system. This parameter maps to <code>ReadonlyRootfs</code> in the
5494
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5495
- * <code>--read-only</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5496
- * run</a>.</p>
5510
+ * system. This parameter maps to <code>ReadonlyRootfs</code> in the docker create-container command and the
5511
+ * <code>--read-only</code> option to docker
5512
+ * run.</p>
5497
5513
  * <note>
5498
5514
  * <p>This parameter is not supported for Windows containers.</p>
5499
5515
  * </note>
@@ -5502,8 +5518,7 @@ export interface ContainerDefinition {
5502
5518
  readonlyRootFilesystem?: boolean;
5503
5519
  /**
5504
5520
  * <p>A list of DNS servers that are presented to the container. This parameter maps to
5505
- * <code>Dns</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5506
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--dns</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5521
+ * <code>Dns</code> in the the docker create-container command and the <code>--dns</code> option to docker run.</p>
5507
5522
  * <note>
5508
5523
  * <p>This parameter is not supported for Windows containers.</p>
5509
5524
  * </note>
@@ -5512,8 +5527,7 @@ export interface ContainerDefinition {
5512
5527
  dnsServers?: string[];
5513
5528
  /**
5514
5529
  * <p>A list of DNS search domains that are presented to the container. This parameter maps
5515
- * to <code>DnsSearch</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5516
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--dns-search</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5530
+ * to <code>DnsSearch</code> in the docker create-container command and the <code>--dns-search</code> option to docker run.</p>
5517
5531
  * <note>
5518
5532
  * <p>This parameter is not supported for Windows containers.</p>
5519
5533
  * </note>
@@ -5522,10 +5536,9 @@ export interface ContainerDefinition {
5522
5536
  dnsSearchDomains?: string[];
5523
5537
  /**
5524
5538
  * <p>A list of hostnames and IP address mappings to append to the <code>/etc/hosts</code>
5525
- * file on the container. This parameter maps to <code>ExtraHosts</code> in the
5526
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5527
- * <code>--add-host</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5528
- * run</a>.</p>
5539
+ * file on the container. This parameter maps to <code>ExtraHosts</code> in the docker create-container command and the
5540
+ * <code>--add-host</code> option to docker
5541
+ * run.</p>
5529
5542
  * <note>
5530
5543
  * <p>This parameter isn't supported for Windows containers or tasks that use the
5531
5544
  * <code>awsvpc</code> network mode.</p>
@@ -5534,9 +5547,7 @@ export interface ContainerDefinition {
5534
5547
  */
5535
5548
  extraHosts?: HostEntry[];
5536
5549
  /**
5537
- * <p>A list of strings to provide custom configuration for multiple security systems. For
5538
- * more information about valid values, see <a href="https://docs.docker.com/engine/reference/run/#security-configuration">Docker
5539
- * Run Security Configuration</a>. This field isn't valid for containers in tasks
5550
+ * <p>A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks
5540
5551
  * using the Fargate launch type.</p>
5541
5552
  * <p>For Linux tasks on EC2, this parameter can be used to reference custom
5542
5553
  * labels for SELinux and AppArmor multi-level security systems.</p>
@@ -5545,10 +5556,9 @@ export interface ContainerDefinition {
5545
5556
  * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html">Using gMSAs for Windows
5546
5557
  * Containers</a> and <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html">Using gMSAs for Linux
5547
5558
  * Containers</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
5548
- * <p>This parameter maps to <code>SecurityOpt</code> in the
5549
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5550
- * <code>--security-opt</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5551
- * run</a>.</p>
5559
+ * <p>This parameter maps to <code>SecurityOpt</code> in the docker create-container command and the
5560
+ * <code>--security-opt</code> option to docker
5561
+ * run.</p>
5552
5562
  * <note>
5553
5563
  * <p>The Amazon ECS container agent running on a container instance must register with the
5554
5564
  * <code>ECS_SELINUX_CAPABLE=true</code> or <code>ECS_APPARMOR_CAPABLE=true</code>
@@ -5556,8 +5566,6 @@ export interface ContainerDefinition {
5556
5566
  * security options. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html">Amazon ECS Container
5557
5567
  * Agent Configuration</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
5558
5568
  * </note>
5559
- * <p>For more information about valid values, see <a href="https://docs.docker.com/engine/reference/run/#security-configuration">Docker
5560
- * Run Security Configuration</a>. </p>
5561
5569
  * <p>Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" |
5562
5570
  * "credentialspec:CredentialSpecFilePath"</p>
5563
5571
  * @public
@@ -5566,22 +5574,19 @@ export interface ContainerDefinition {
5566
5574
  /**
5567
5575
  * <p>When this parameter is <code>true</code>, you can deploy containerized applications
5568
5576
  * that require <code>stdin</code> or a <code>tty</code> to be allocated. This parameter
5569
- * maps to <code>OpenStdin</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5570
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--interactive</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5577
+ * maps to <code>OpenStdin</code> in the docker create-container command and the <code>--interactive</code> option to docker run.</p>
5571
5578
  * @public
5572
5579
  */
5573
5580
  interactive?: boolean;
5574
5581
  /**
5575
5582
  * <p>When this parameter is <code>true</code>, a TTY is allocated. This parameter maps to
5576
- * <code>Tty</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5577
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--tty</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>.</p>
5583
+ * <code>Tty</code> in tthe docker create-container command and the <code>--tty</code> option to docker run.</p>
5578
5584
  * @public
5579
5585
  */
5580
5586
  pseudoTerminal?: boolean;
5581
5587
  /**
5582
5588
  * <p>A key/value map of labels to add to the container. This parameter maps to
5583
- * <code>Labels</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5584
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--label</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: <code>sudo docker version --format '\{\{.Server.APIVersion\}\}'</code>
5589
+ * <code>Labels</code> in the docker create-container command and the <code>--label</code> option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: <code>sudo docker version --format '\{\{.Server.APIVersion\}\}'</code>
5585
5590
  * </p>
5586
5591
  * @public
5587
5592
  */
@@ -5589,15 +5594,14 @@ export interface ContainerDefinition {
5589
5594
  /**
5590
5595
  * <p>A list of <code>ulimits</code> to set in the container. If a <code>ulimit</code> value
5591
5596
  * is specified in a task definition, it overrides the default values set by Docker. This
5592
- * parameter maps to <code>Ulimits</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section
5593
- * of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--ulimit</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>. Valid naming values are displayed
5597
+ * parameter maps to <code>Ulimits</code> in tthe docker create-container command and the <code>--ulimit</code> option to docker run. Valid naming values are displayed
5594
5598
  * in the <a>Ulimit</a> data type.</p>
5595
5599
  * <p>Amazon ECS tasks hosted on Fargate use the default
5596
5600
  * resource limit values set by the operating system with the exception of
5597
5601
  * the <code>nofile</code> resource limit parameter which Fargate
5598
5602
  * overrides. The <code>nofile</code> resource limit sets a restriction on
5599
5603
  * the number of open files that a container can use. The default
5600
- * <code>nofile</code> soft limit is <code>1024</code> and the default hard limit
5604
+ * <code>nofile</code> soft limit is <code> 65535</code> and the default hard limit
5601
5605
  * is <code>65535</code>.</p>
5602
5606
  * <p>This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: <code>sudo docker version --format '\{\{.Server.APIVersion\}\}'</code>
5603
5607
  * </p>
@@ -5609,17 +5613,14 @@ export interface ContainerDefinition {
5609
5613
  ulimits?: Ulimit[];
5610
5614
  /**
5611
5615
  * <p>The log configuration specification for the container.</p>
5612
- * <p>This parameter maps to <code>LogConfig</code> in the
5613
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5614
- * <code>--log-driver</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5615
- * run</a>. By default, containers use the same logging driver that the Docker
5616
+ * <p>This parameter maps to <code>LogConfig</code> in the docker create-container command and the
5617
+ * <code>--log-driver</code> option to docker
5618
+ * run. By default, containers use the same logging driver that the Docker
5616
5619
  * daemon uses. However the container can use a different logging driver than the Docker
5617
5620
  * daemon by specifying a log driver with this parameter in the container definition. To
5618
5621
  * use a different logging driver for a container, the log system must be configured
5619
5622
  * properly on the container instance (or on a different log server for remote logging
5620
- * options). For more information about the options for different supported log drivers,
5621
- * see <a href="https://docs.docker.com/engine/admin/logging/overview/">Configure
5622
- * logging drivers</a> in the Docker documentation.</p>
5623
+ * options). </p>
5623
5624
  * <note>
5624
5625
  * <p>Amazon ECS currently supports a subset of the logging drivers available to the Docker
5625
5626
  * daemon (shown in the <a>LogConfiguration</a> data type). Additional log
@@ -5640,17 +5641,15 @@ export interface ContainerDefinition {
5640
5641
  logConfiguration?: LogConfiguration;
5641
5642
  /**
5642
5643
  * <p>The container health check command and associated configuration parameters for the
5643
- * container. This parameter maps to <code>HealthCheck</code> in the
5644
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
5645
- * <code>HEALTHCHECK</code> parameter of <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker
5646
- * run</a>.</p>
5644
+ * container. This parameter maps to <code>HealthCheck</code> in the docker create-container command and the
5645
+ * <code>HEALTHCHECK</code> parameter of docker
5646
+ * run.</p>
5647
5647
  * @public
5648
5648
  */
5649
5649
  healthCheck?: HealthCheck;
5650
5650
  /**
5651
5651
  * <p>A list of namespaced kernel parameters to set in the container. This parameter maps to
5652
- * <code>Sysctls</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
5653
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--sysctl</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>. For example, you can configure
5652
+ * <code>Sysctls</code> in tthe docker create-container command and the <code>--sysctl</code> option to docker run. For example, you can configure
5654
5653
  * <code>net.ipv4.tcp_keepalive_time</code> setting to maintain longer lived
5655
5654
  * connections.</p>
5656
5655
  * @public
@@ -5729,8 +5728,8 @@ export interface ContainerDefinition {
5729
5728
  */
5730
5729
  export interface EphemeralStorage {
5731
5730
  /**
5732
- * <p>The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported
5733
- * value is <code>20</code> GiB and the maximum supported value is
5731
+ * <p>The total amount, in GiB, of ephemeral storage to set for the task. The minimum
5732
+ * supported value is <code>20</code> GiB and the maximum supported value is
5734
5733
  * <code>200</code> GiB.</p>
5735
5734
  * @public
5736
5735
  */
@@ -6016,27 +6015,23 @@ export interface DockerVolumeConfiguration {
6016
6015
  * by Docker because it is used for task placement. If the driver was installed using the
6017
6016
  * Docker plugin CLI, use <code>docker plugin ls</code> to retrieve the driver name from
6018
6017
  * your container instance. If the driver was installed using another method, use Docker
6019
- * plugin discovery to retrieve the driver name. For more information, see <a href="https://docs.docker.com/engine/extend/plugin_api/#plugin-discovery">Docker
6020
- * plugin discovery</a>. This parameter maps to <code>Driver</code> in the
6021
- * <a href="https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate">Create a volume</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
6022
- * <code>xxdriver</code> option to <a href="https://docs.docker.com/engine/reference/commandline/volume_create/">docker
6023
- * volume create</a>.</p>
6018
+ * plugin discovery to retrieve the driver name. This parameter maps to <code>Driver</code> in the docker create-container command and the
6019
+ * <code>xxdriver</code> option to docker
6020
+ * volume create.</p>
6024
6021
  * @public
6025
6022
  */
6026
6023
  driver?: string;
6027
6024
  /**
6028
6025
  * <p>A map of Docker driver-specific options passed through. This parameter maps to
6029
- * <code>DriverOpts</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate">Create a volume</a> section of the
6030
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>xxopt</code> option to <a href="https://docs.docker.com/engine/reference/commandline/volume_create/">docker
6031
- * volume create</a>.</p>
6026
+ * <code>DriverOpts</code> in the docker create-volume command and the <code>xxopt</code> option to docker
6027
+ * volume create.</p>
6032
6028
  * @public
6033
6029
  */
6034
6030
  driverOpts?: Record<string, string>;
6035
6031
  /**
6036
6032
  * <p>Custom metadata to add to your Docker volume. This parameter maps to
6037
- * <code>Labels</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/VolumeCreate">Create a volume</a> section of the
6038
- * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>xxlabel</code> option to <a href="https://docs.docker.com/engine/reference/commandline/volume_create/">docker
6039
- * volume create</a>.</p>
6033
+ * <code>Labels</code> in the docker create-container command and the <code>xxlabel</code> option to docker
6034
+ * volume create.</p>
6040
6035
  * @public
6041
6036
  */
6042
6037
  labels?: Record<string, string>;
@@ -6315,20 +6310,15 @@ export interface TaskDefinition {
6315
6310
  family?: string;
6316
6311
  /**
6317
6312
  * <p>The short name or full Amazon Resource Name (ARN) of the Identity and Access Management role that grants containers in the
6318
- * task permission to call Amazon Web Services APIs on your behalf. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html">Amazon ECS
6319
- * Task Role</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6320
- * <p>IAM roles for tasks on Windows require that the <code>-EnableTaskIAMRole</code>
6321
- * option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some
6322
- * configuration code to use the feature. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html">Windows IAM roles
6323
- * for tasks</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6313
+ * task permission to call Amazon Web Services APIs on your behalf. For informationabout the required
6314
+ * IAM roles for Amazon ECS, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html">IAM
6315
+ * roles for Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6324
6316
  * @public
6325
6317
  */
6326
6318
  taskRoleArn?: string;
6327
6319
  /**
6328
6320
  * <p>The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent
6329
- * permission to make Amazon Web Services API calls on your behalf. The task execution IAM role is required
6330
- * depending on the requirements of your task. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html">Amazon ECS task
6331
- * execution IAM role</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6321
+ * permission to make Amazon Web Services API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html">IAM roles for Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6332
6322
  * @public
6333
6323
  */
6334
6324
  executionRoleArn?: string;
@@ -6354,13 +6344,11 @@ export interface TaskDefinition {
6354
6344
  * to use a non-root user.</p>
6355
6345
  * </important>
6356
6346
  * <p>If the network mode is <code>awsvpc</code>, the task is allocated an elastic network
6357
- * interface, and you must specify a <a>NetworkConfiguration</a> value when you create
6347
+ * interface, and you must specify a <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html">NetworkConfiguration</a> value when you create
6358
6348
  * a service or run a task with the task definition. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task Networking</a> in the
6359
6349
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6360
6350
  * <p>If the network mode is <code>host</code>, you cannot run multiple instantiations of the
6361
6351
  * same task on a single container instance when port mappings are used.</p>
6362
- * <p>For more information, see <a href="https://docs.docker.com/engine/reference/run/#network-settings">Network
6363
- * settings</a> in the <i>Docker run reference</i>.</p>
6364
6352
  * @public
6365
6353
  */
6366
6354
  networkMode?: NetworkMode;
@@ -6436,6 +6424,9 @@ export interface TaskDefinition {
6436
6424
  * this field is optional. Any value can be used. If you use the Fargate launch type, this
6437
6425
  * field is required. You must use one of the following values. The value that you choose
6438
6426
  * determines your range of valid values for the <code>memory</code> parameter.</p>
6427
+ * <p>If you use the EC2 launch type, this field is optional. Supported values
6428
+ * are between <code>128</code> CPU units (<code>0.125</code> vCPUs) and <code>10240</code>
6429
+ * CPU units (<code>10</code> vCPUs).</p>
6439
6430
  * <p>The CPU units cannot be less than 1 vCPU when you use Windows containers on
6440
6431
  * Fargate.</p>
6441
6432
  * <ul>
@@ -6526,12 +6517,9 @@ export interface TaskDefinition {
6526
6517
  * <p>If <code>task</code> is specified, all containers within the specified
6527
6518
  * task share the same process namespace.</p>
6528
6519
  * <p>If no value is specified, the
6529
- * default is a private namespace for each container. For more information,
6530
- * see <a href="https://docs.docker.com/engine/reference/run/#pid-settings---pid">PID settings</a> in the <i>Docker run
6531
- * reference</i>.</p>
6520
+ * default is a private namespace for each container.</p>
6532
6521
  * <p>If the <code>host</code> PID mode is used, there's a heightened risk
6533
- * of undesired process namespace exposure. For more information, see
6534
- * <a href="https://docs.docker.com/engine/security/security/">Docker security</a>.</p>
6522
+ * of undesired process namespace exposure.</p>
6535
6523
  * <note>
6536
6524
  * <p>This parameter is not supported for Windows containers.</p>
6537
6525
  * </note>
@@ -6553,12 +6541,9 @@ export interface TaskDefinition {
6553
6541
  * share the same IPC resources. If <code>none</code> is specified, then IPC resources
6554
6542
  * within the containers of a task are private and not shared with other containers in a
6555
6543
  * task or on the container instance. If no value is specified, then the IPC resource
6556
- * namespace sharing depends on the Docker daemon setting on the container instance. For
6557
- * more information, see <a href="https://docs.docker.com/engine/reference/run/#ipc-settings---ipc">IPC
6558
- * settings</a> in the <i>Docker run reference</i>.</p>
6544
+ * namespace sharing depends on the Docker daemon setting on the container instance.</p>
6559
6545
  * <p>If the <code>host</code> IPC mode is used, be aware that there is a heightened risk of
6560
- * undesired IPC namespace expose. For more information, see <a href="https://docs.docker.com/engine/security/security/">Docker
6561
- * security</a>.</p>
6546
+ * undesired IPC namespace expose.</p>
6562
6547
  * <p>If you are setting namespaced kernel parameters using <code>systemControls</code> for
6563
6548
  * the containers in the task, the following will apply to your IPC resource namespace. For
6564
6549
  * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html">System
@@ -7689,13 +7674,13 @@ export interface TaskEphemeralStorage {
7689
7674
  /**
7690
7675
  * <p>The total amount, in GiB, of the ephemeral storage to set for the task. The minimum
7691
7676
  * supported value is <code>20</code> GiB and the maximum supported value is
7692
- <code>200</code>
7693
- * GiB.</p>
7677
+ * <code>200</code> GiB.</p>
7694
7678
  * @public
7695
7679
  */
7696
7680
  sizeInGiB?: number;
7697
7681
  /**
7698
- * <p>Specify an Key Management Service key ID to encrypt the ephemeral storage for the task.</p>
7682
+ * <p>Specify an Key Management Service key ID to encrypt the ephemeral storage for the
7683
+ * task.</p>
7699
7684
  * @public
7700
7685
  */
7701
7686
  kmsKeyId?: string;
@@ -9782,9 +9767,7 @@ export interface RegisterTaskDefinitionRequest {
9782
9767
  taskRoleArn?: string;
9783
9768
  /**
9784
9769
  * <p>The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent
9785
- * permission to make Amazon Web Services API calls on your behalf. The task execution IAM role is required
9786
- * depending on the requirements of your task. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html">Amazon ECS task
9787
- * execution IAM role</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
9770
+ * permission to make Amazon Web Services API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html">IAM roles for Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
9788
9771
  * @public
9789
9772
  */
9790
9773
  executionRoleArn?: string;
@@ -9810,13 +9793,11 @@ export interface RegisterTaskDefinitionRequest {
9810
9793
  * to use a non-root user.</p>
9811
9794
  * </important>
9812
9795
  * <p>If the network mode is <code>awsvpc</code>, the task is allocated an elastic network
9813
- * interface, and you must specify a <a>NetworkConfiguration</a> value when you create
9796
+ * interface, and you must specify a <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html">NetworkConfiguration</a> value when you create
9814
9797
  * a service or run a task with the task definition. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task Networking</a> in the
9815
9798
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
9816
9799
  * <p>If the network mode is <code>host</code>, you cannot run multiple instantiations of the
9817
9800
  * same task on a single container instance when port mappings are used.</p>
9818
- * <p>For more information, see <a href="https://docs.docker.com/engine/reference/run/#network-settings">Network
9819
- * settings</a> in the <i>Docker run reference</i>.</p>
9820
9801
  * @public
9821
9802
  */
9822
9803
  networkMode?: NetworkMode;
@@ -9992,12 +9973,9 @@ export interface RegisterTaskDefinitionRequest {
9992
9973
  * <p>If <code>task</code> is specified, all containers within the specified
9993
9974
  * task share the same process namespace.</p>
9994
9975
  * <p>If no value is specified, the
9995
- * default is a private namespace for each container. For more information,
9996
- * see <a href="https://docs.docker.com/engine/reference/run/#pid-settings---pid">PID settings</a> in the <i>Docker run
9997
- * reference</i>.</p>
9976
+ * default is a private namespace for each container.</p>
9998
9977
  * <p>If the <code>host</code> PID mode is used, there's a heightened risk
9999
- * of undesired process namespace exposure. For more information, see
10000
- * <a href="https://docs.docker.com/engine/security/security/">Docker security</a>.</p>
9978
+ * of undesired process namespace exposure.</p>
10001
9979
  * <note>
10002
9980
  * <p>This parameter is not supported for Windows containers.</p>
10003
9981
  * </note>
@@ -10019,12 +9997,9 @@ export interface RegisterTaskDefinitionRequest {
10019
9997
  * share the same IPC resources. If <code>none</code> is specified, then IPC resources
10020
9998
  * within the containers of a task are private and not shared with other containers in a
10021
9999
  * task or on the container instance. If no value is specified, then the IPC resource
10022
- * namespace sharing depends on the Docker daemon setting on the container instance. For
10023
- * more information, see <a href="https://docs.docker.com/engine/reference/run/#ipc-settings---ipc">IPC
10024
- * settings</a> in the <i>Docker run reference</i>.</p>
10000
+ * namespace sharing depends on the Docker daemon setting on the container instance.</p>
10025
10001
  * <p>If the <code>host</code> IPC mode is used, be aware that there is a heightened risk of
10026
- * undesired IPC namespace expose. For more information, see <a href="https://docs.docker.com/engine/security/security/">Docker
10027
- * security</a>.</p>
10002
+ * undesired IPC namespace expose.</p>
10028
10003
  * <p>If you are setting namespaced kernel parameters using <code>systemControls</code> for
10029
10004
  * the containers in the task, the following will apply to your IPC resource namespace. For
10030
10005
  * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html">System
@@ -10493,9 +10468,9 @@ export interface RunTaskRequest {
10493
10468
  * <p>An optional tag specified when a task is started. For example, if you automatically
10494
10469
  * trigger a task to run a batch process job, you could apply a unique identifier for that
10495
10470
  * job to your task with the <code>startedBy</code> parameter. You can then identify which
10496
- * tasks belong to that job by filtering the results of a <a>ListTasks</a> call
10497
- * with the <code>startedBy</code> value. Up to 128 letters (uppercase and lowercase),
10498
- * numbers, hyphens (-), and underscores (_) are allowed.</p>
10471
+ * tasks belong to that job by filtering the results of a <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html">ListTasks</a> call with
10472
+ * the <code>startedBy</code> value. Up to 128 letters (uppercase and lowercase), numbers,
10473
+ * hyphens (-), forward slash (/), and underscores (_) are allowed.</p>
10499
10474
  * <p>If a task is started by an Amazon ECS service, then the <code>startedBy</code> parameter
10500
10475
  * contains the deployment ID of the service that starts it.</p>
10501
10476
  * @public
@@ -10549,8 +10524,8 @@ export interface RunTaskRequest {
10549
10524
  * <p>To specify a specific revision, include the revision number in the ARN. For example,
10550
10525
  * to specify revision 2, use
10551
10526
  * <code>arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2</code>.</p>
10552
- * <p>To specify all revisions, use the wildcard (*) in the ARN. For example, to specify all
10553
- * revisions, use
10527
+ * <p>To specify all revisions, use the wildcard (*) in the ARN. For example, to specify
10528
+ * all revisions, use
10554
10529
  * <code>arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*</code>.</p>
10555
10530
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources">Policy Resources for Amazon ECS</a> in the Amazon Elastic Container Service Developer Guide.</p>
10556
10531
  * @public
@@ -10578,7 +10553,6 @@ export interface RunTaskResponse {
10578
10553
  /**
10579
10554
  * <p>A full description of the tasks that were run. The tasks that were successfully placed
10580
10555
  * on your cluster are described here.</p>
10581
- * <p></p>
10582
10556
  * @public
10583
10557
  */
10584
10558
  tasks?: Task[];
@@ -10661,9 +10635,9 @@ export interface StartTaskRequest {
10661
10635
  * <p>An optional tag specified when a task is started. For example, if you automatically
10662
10636
  * trigger a task to run a batch process job, you could apply a unique identifier for that
10663
10637
  * job to your task with the <code>startedBy</code> parameter. You can then identify which
10664
- * tasks belong to that job by filtering the results of a <a>ListTasks</a> call
10665
- * with the <code>startedBy</code> value. Up to 36 letters (uppercase and lowercase),
10666
- * numbers, hyphens (-), and underscores (_) are allowed.</p>
10638
+ * tasks belong to that job by filtering the results of a <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html">ListTasks</a> call with
10639
+ * the <code>startedBy</code> value. Up to 36 letters (uppercase and lowercase), numbers,
10640
+ * hyphens (-), forward slash (/), and underscores (_) are allowed.</p>
10667
10641
  * <p>If a task is started by an Amazon ECS service, the <code>startedBy</code> parameter
10668
10642
  * contains the deployment ID of the service that starts it.</p>
10669
10643
  * @public
@@ -11649,16 +11623,6 @@ export interface UpdateTaskSetRequest {
11649
11623
  */
11650
11624
  scale: Scale | undefined;
11651
11625
  }
11652
- /**
11653
- * @public
11654
- */
11655
- export interface UpdateTaskSetResponse {
11656
- /**
11657
- * <p>Details about the task set.</p>
11658
- * @public
11659
- */
11660
- taskSet?: TaskSet;
11661
- }
11662
11626
  /**
11663
11627
  * @internal
11664
11628
  */