@aws-sdk/client-ecs 3.109.0 → 3.115.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.115.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.114.0...v3.115.0) (2022-06-21)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/client-ecs
9
+
10
+
11
+
12
+
13
+
14
+ # [3.112.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.111.0...v3.112.0) (2022-06-16)
15
+
16
+ **Note:** Version bump only for package @aws-sdk/client-ecs
17
+
18
+
19
+
20
+
21
+
22
+ # [3.110.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.109.0...v3.110.0) (2022-06-14)
23
+
24
+ **Note:** Version bump only for package @aws-sdk/client-ecs
25
+
26
+
27
+
28
+
29
+
6
30
  # [3.109.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.108.1...v3.109.0) (2022-06-13)
7
31
 
8
32
  **Note:** Version bump only for package @aws-sdk/client-ecs
package/README.md CHANGED
@@ -12,10 +12,10 @@ AWS SDK for JavaScript ECS Client for Node.js, Browser and React Native.
12
12
  <fullname>Amazon Elastic Container Service</fullname>
13
13
 
14
14
  <p>Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes
15
- it easy to run, stop, and manage Docker containers on a cluster. You can host your
16
- cluster on a serverless infrastructure that's managed by Amazon ECS by launching your
17
- services or tasks on Fargate. For more control, you can host your tasks on a cluster
18
- of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.</p>
15
+ it easy to run, stop, and manage Docker containers. You can host your cluster on a
16
+ serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on
17
+ Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)
18
+ or External (on-premises) instances that you manage.</p>
19
19
  <p>Amazon ECS makes it easy to launch and stop container-based applications with simple API
20
20
  calls. This makes it easy to get the state of your cluster from a centralized service,
21
21
  and gives you access to many familiar Amazon EC2 features.</p>
@@ -2,5 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./waitForServicesInactive"), exports);
5
+ tslib_1.__exportStar(require("./waitForServicesStable"), exports);
5
6
  tslib_1.__exportStar(require("./waitForTasksRunning"), exports);
6
7
  tslib_1.__exportStar(require("./waitForTasksStopped"), exports);
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.waitUntilServicesStable = exports.waitForServicesStable = void 0;
4
+ const util_waiter_1 = require("@aws-sdk/util-waiter");
5
+ const DescribeServicesCommand_1 = require("../commands/DescribeServicesCommand");
6
+ const checkState = async (client, input) => {
7
+ let reason;
8
+ try {
9
+ const result = await client.send(new DescribeServicesCommand_1.DescribeServicesCommand(input));
10
+ reason = result;
11
+ try {
12
+ const returnComparator = () => {
13
+ const flat_1 = [].concat(...result.failures);
14
+ const projection_3 = flat_1.map((element_2) => {
15
+ return element_2.reason;
16
+ });
17
+ return projection_3;
18
+ };
19
+ for (const anyStringEq_4 of returnComparator()) {
20
+ if (anyStringEq_4 == "MISSING") {
21
+ return { state: util_waiter_1.WaiterState.FAILURE, reason };
22
+ }
23
+ }
24
+ }
25
+ catch (e) { }
26
+ try {
27
+ const returnComparator = () => {
28
+ const flat_1 = [].concat(...result.services);
29
+ const projection_3 = flat_1.map((element_2) => {
30
+ return element_2.status;
31
+ });
32
+ return projection_3;
33
+ };
34
+ for (const anyStringEq_4 of returnComparator()) {
35
+ if (anyStringEq_4 == "DRAINING") {
36
+ return { state: util_waiter_1.WaiterState.FAILURE, reason };
37
+ }
38
+ }
39
+ }
40
+ catch (e) { }
41
+ try {
42
+ const returnComparator = () => {
43
+ const flat_1 = [].concat(...result.services);
44
+ const projection_3 = flat_1.map((element_2) => {
45
+ return element_2.status;
46
+ });
47
+ return projection_3;
48
+ };
49
+ for (const anyStringEq_4 of returnComparator()) {
50
+ if (anyStringEq_4 == "INACTIVE") {
51
+ return { state: util_waiter_1.WaiterState.FAILURE, reason };
52
+ }
53
+ }
54
+ }
55
+ catch (e) { }
56
+ try {
57
+ const returnComparator = () => {
58
+ const filterRes_2 = result.services.filter((element_1) => {
59
+ return !(element_1.deployments.length == 1.0 && element_1.runningCount == element_1.desiredCount);
60
+ });
61
+ return filterRes_2.length == 0.0;
62
+ };
63
+ if (returnComparator() == true) {
64
+ return { state: util_waiter_1.WaiterState.SUCCESS, reason };
65
+ }
66
+ }
67
+ catch (e) { }
68
+ }
69
+ catch (exception) {
70
+ reason = exception;
71
+ }
72
+ return { state: util_waiter_1.WaiterState.RETRY, reason };
73
+ };
74
+ const waitForServicesStable = async (params, input) => {
75
+ const serviceDefaults = { minDelay: 15, maxDelay: 120 };
76
+ return (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);
77
+ };
78
+ exports.waitForServicesStable = waitForServicesStable;
79
+ const waitUntilServicesStable = async (params, input) => {
80
+ const serviceDefaults = { minDelay: 15, maxDelay: 120 };
81
+ const result = await (0, util_waiter_1.createWaiter)({ ...serviceDefaults, ...params }, input, checkState);
82
+ return (0, util_waiter_1.checkExceptions)(result);
83
+ };
84
+ exports.waitUntilServicesStable = waitUntilServicesStable;
@@ -1,3 +1,4 @@
1
1
  export * from "./waitForServicesInactive";
2
+ export * from "./waitForServicesStable";
2
3
  export * from "./waitForTasksRunning";
3
4
  export * from "./waitForTasksStopped";
@@ -0,0 +1,130 @@
1
+ import { __assign, __awaiter, __generator, __read, __spreadArray, __values } from "tslib";
2
+ import { checkExceptions, createWaiter, WaiterState } from "@aws-sdk/util-waiter";
3
+ import { DescribeServicesCommand } from "../commands/DescribeServicesCommand";
4
+ var checkState = function (client, input) { return __awaiter(void 0, void 0, void 0, function () {
5
+ var reason, result_1, returnComparator, _a, _b, anyStringEq_4, returnComparator, _c, _d, anyStringEq_4, returnComparator, _e, _f, anyStringEq_4, returnComparator, exception_1;
6
+ var e_1, _g, e_2, _h, e_3, _j;
7
+ return __generator(this, function (_k) {
8
+ switch (_k.label) {
9
+ case 0:
10
+ _k.trys.push([0, 2, , 3]);
11
+ return [4, client.send(new DescribeServicesCommand(input))];
12
+ case 1:
13
+ result_1 = _k.sent();
14
+ reason = result_1;
15
+ try {
16
+ returnComparator = function () {
17
+ var flat_1 = [].concat.apply([], __spreadArray([], __read(result_1.failures), false));
18
+ var projection_3 = flat_1.map(function (element_2) {
19
+ return element_2.reason;
20
+ });
21
+ return projection_3;
22
+ };
23
+ try {
24
+ for (_a = __values(returnComparator()), _b = _a.next(); !_b.done; _b = _a.next()) {
25
+ anyStringEq_4 = _b.value;
26
+ if (anyStringEq_4 == "MISSING") {
27
+ return [2, { state: WaiterState.FAILURE, reason: reason }];
28
+ }
29
+ }
30
+ }
31
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
32
+ finally {
33
+ try {
34
+ if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
35
+ }
36
+ finally { if (e_1) throw e_1.error; }
37
+ }
38
+ }
39
+ catch (e) { }
40
+ try {
41
+ returnComparator = function () {
42
+ var flat_1 = [].concat.apply([], __spreadArray([], __read(result_1.services), false));
43
+ var projection_3 = flat_1.map(function (element_2) {
44
+ return element_2.status;
45
+ });
46
+ return projection_3;
47
+ };
48
+ try {
49
+ for (_c = __values(returnComparator()), _d = _c.next(); !_d.done; _d = _c.next()) {
50
+ anyStringEq_4 = _d.value;
51
+ if (anyStringEq_4 == "DRAINING") {
52
+ return [2, { state: WaiterState.FAILURE, reason: reason }];
53
+ }
54
+ }
55
+ }
56
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
57
+ finally {
58
+ try {
59
+ if (_d && !_d.done && (_h = _c.return)) _h.call(_c);
60
+ }
61
+ finally { if (e_2) throw e_2.error; }
62
+ }
63
+ }
64
+ catch (e) { }
65
+ try {
66
+ returnComparator = function () {
67
+ var flat_1 = [].concat.apply([], __spreadArray([], __read(result_1.services), false));
68
+ var projection_3 = flat_1.map(function (element_2) {
69
+ return element_2.status;
70
+ });
71
+ return projection_3;
72
+ };
73
+ try {
74
+ for (_e = __values(returnComparator()), _f = _e.next(); !_f.done; _f = _e.next()) {
75
+ anyStringEq_4 = _f.value;
76
+ if (anyStringEq_4 == "INACTIVE") {
77
+ return [2, { state: WaiterState.FAILURE, reason: reason }];
78
+ }
79
+ }
80
+ }
81
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
82
+ finally {
83
+ try {
84
+ if (_f && !_f.done && (_j = _e.return)) _j.call(_e);
85
+ }
86
+ finally { if (e_3) throw e_3.error; }
87
+ }
88
+ }
89
+ catch (e) { }
90
+ try {
91
+ returnComparator = function () {
92
+ var filterRes_2 = result_1.services.filter(function (element_1) {
93
+ return !(element_1.deployments.length == 1.0 && element_1.runningCount == element_1.desiredCount);
94
+ });
95
+ return filterRes_2.length == 0.0;
96
+ };
97
+ if (returnComparator() == true) {
98
+ return [2, { state: WaiterState.SUCCESS, reason: reason }];
99
+ }
100
+ }
101
+ catch (e) { }
102
+ return [3, 3];
103
+ case 2:
104
+ exception_1 = _k.sent();
105
+ reason = exception_1;
106
+ return [3, 3];
107
+ case 3: return [2, { state: WaiterState.RETRY, reason: reason }];
108
+ }
109
+ });
110
+ }); };
111
+ export var waitForServicesStable = function (params, input) { return __awaiter(void 0, void 0, void 0, function () {
112
+ var serviceDefaults;
113
+ return __generator(this, function (_a) {
114
+ serviceDefaults = { minDelay: 15, maxDelay: 120 };
115
+ return [2, createWaiter(__assign(__assign({}, serviceDefaults), params), input, checkState)];
116
+ });
117
+ }); };
118
+ export var waitUntilServicesStable = function (params, input) { return __awaiter(void 0, void 0, void 0, function () {
119
+ var serviceDefaults, result;
120
+ return __generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0:
123
+ serviceDefaults = { minDelay: 15, maxDelay: 120 };
124
+ return [4, createWaiter(__assign(__assign({}, serviceDefaults), params), input, checkState)];
125
+ case 1:
126
+ result = _a.sent();
127
+ return [2, checkExceptions(result)];
128
+ }
129
+ });
130
+ }); };
@@ -55,10 +55,10 @@ import { ECSClient } from "./ECSClient";
55
55
  /**
56
56
  * <fullname>Amazon Elastic Container Service</fullname>
57
57
  * <p>Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes
58
- * it easy to run, stop, and manage Docker containers on a cluster. You can host your
59
- * cluster on a serverless infrastructure that's managed by Amazon ECS by launching your
60
- * services or tasks on Fargate. For more control, you can host your tasks on a cluster
61
- * of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.</p>
58
+ * it easy to run, stop, and manage Docker containers. You can host your cluster on a
59
+ * serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on
60
+ * Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)
61
+ * or External (on-premises) instances that you manage.</p>
62
62
  * <p>Amazon ECS makes it easy to launch and stop container-based applications with simple API
63
63
  * calls. This makes it easy to get the state of your cluster from a centralized service,
64
64
  * and gives you access to many familiar Amazon EC2 features.</p>
@@ -90,7 +90,7 @@ export declare class ECS extends ECSClient {
90
90
  * required resources in other Amazon Web Services services on your behalf. However, if the IAM user
91
91
  * that makes the call doesn't have permissions to create the service-linked role, it
92
92
  * isn't created. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html">Using
93
- * Service-Linked Roles for Amazon ECS</a> in the
93
+ * service-linked roles for Amazon ECS</a> in the
94
94
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
95
95
  * </note>
96
96
  */
@@ -101,15 +101,16 @@ export declare class ECS extends ECSClient {
101
101
  * <p>Runs and maintains your desired number of tasks from a specified task definition. If
102
102
  * the number of tasks running in a service drops below the <code>desiredCount</code>,
103
103
  * Amazon ECS runs another copy of the task in the specified cluster. To update an existing
104
- * service, see the UpdateService action.</p>
104
+ * service, see the <a>UpdateService</a> action.</p>
105
105
  * <p>In addition to maintaining the desired count of tasks in your service, you can
106
106
  * optionally run your service behind one or more load balancers. The load balancers
107
107
  * distribute traffic across the tasks that are associated with the service. For more
108
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html">Service Load Balancing</a> in the
108
+ * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html">Service load balancing</a> in the
109
109
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
110
110
  * <p>Tasks for services that don't use a load balancer are considered healthy if they're in
111
111
  * the <code>RUNNING</code> state. Tasks for services that use a load balancer are
112
- * considered healthy if they're in the <code>RUNNING</code> state and are reported as healthy by the load balancer.</p>
112
+ * considered healthy if they're in the <code>RUNNING</code> state and are reported as
113
+ * healthy by the load balancer.</p>
113
114
  * <p>There are two service scheduler strategies available:</p>
114
115
  * <ul>
115
116
  * <li>
@@ -118,7 +119,7 @@ export declare class ECS extends ECSClient {
118
119
  * maintains your desired number of tasks across your cluster. By default, the
119
120
  * service scheduler spreads tasks across Availability Zones. You can use task
120
121
  * placement strategies and constraints to customize task placement decisions. For
121
- * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service Scheduler Concepts</a> in the
122
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service scheduler concepts</a> in the
122
123
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
123
124
  * </li>
124
125
  * <li>
@@ -129,7 +130,7 @@ export declare class ECS extends ECSClient {
129
130
  * evaluates the task placement constraints for running tasks. It also stops tasks
130
131
  * that don't meet the placement constraints. When using this strategy, you don't
131
132
  * need to specify a desired number of tasks, a task placement strategy, or use
132
- * Service Auto Scaling policies. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service Scheduler Concepts</a> in the
133
+ * Service Auto Scaling policies. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service scheduler concepts</a> in the
133
134
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
134
135
  * </li>
135
136
  * </ul>
@@ -173,7 +174,7 @@ export declare class ECS extends ECSClient {
173
174
  * currently visible when describing your service.</p>
174
175
  * <p>When creating a service that uses the <code>EXTERNAL</code> deployment controller, you
175
176
  * can specify only parameters that aren't controlled at the task set level. The only
176
- * required parameter is the service name. You control your services using the <a>CreateTaskSet</a> operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
177
+ * required parameter is the service name. You control your services using the <a>CreateTaskSet</a> operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
177
178
  * <p>When the service scheduler launches new tasks, it determines task placement in your
178
179
  * cluster using the following logic:</p>
179
180
  * <ul>
@@ -211,8 +212,8 @@ export declare class ECS extends ECSClient {
211
212
  /**
212
213
  * <p>Create a task set in the specified cluster and service. This is used when a service
213
214
  * uses the <code>EXTERNAL</code> deployment controller type. For more information, see
214
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment
215
- * Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
215
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment
216
+ * types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
216
217
  */
217
218
  createTaskSet(args: CreateTaskSetCommandInput, options?: __HttpHandlerOptions): Promise<CreateTaskSetCommandOutput>;
218
219
  createTaskSet(args: CreateTaskSetCommandInput, cb: (err: any, data?: CreateTaskSetCommandOutput) => void): void;
@@ -289,7 +290,7 @@ export declare class ECS extends ECSClient {
289
290
  deleteService(args: DeleteServiceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteServiceCommandOutput) => void): void;
290
291
  /**
291
292
  * <p>Deletes a specified task set within a service. This is used when a service uses the
292
- * <code>EXTERNAL</code> deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
293
+ * <code>EXTERNAL</code> deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
293
294
  */
294
295
  deleteTaskSet(args: DeleteTaskSetCommandInput, options?: __HttpHandlerOptions): Promise<DeleteTaskSetCommandOutput>;
295
296
  deleteTaskSet(args: DeleteTaskSetCommandInput, cb: (err: any, data?: DeleteTaskSetCommandOutput) => void): void;
@@ -373,6 +374,7 @@ export declare class ECS extends ECSClient {
373
374
  describeTaskDefinition(args: DescribeTaskDefinitionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeTaskDefinitionCommandOutput) => void): void;
374
375
  /**
375
376
  * <p>Describes a specified task or tasks.</p>
377
+ * <p>Currently, stopped tasks appear in the returned results for at least one hour.</p>
376
378
  */
377
379
  describeTasks(args: DescribeTasksCommandInput, options?: __HttpHandlerOptions): Promise<DescribeTasksCommandOutput>;
378
380
  describeTasks(args: DescribeTasksCommandInput, cb: (err: any, data?: DescribeTasksCommandOutput) => void): void;
@@ -397,6 +399,10 @@ export declare class ECS extends ECSClient {
397
399
  discoverPollEndpoint(args: DiscoverPollEndpointCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DiscoverPollEndpointCommandOutput) => void): void;
398
400
  /**
399
401
  * <p>Runs a command remotely on a container within a task.</p>
402
+ * <p>If you use a condition key in your IAM policy to refine the conditions for the policy
403
+ * statement, for example limit the actions to a specific cluster, you recevie an
404
+ * <code>AccessDeniedException</code> when there is a mismatch between the condition
405
+ * key value and the corresponding parameter value.</p>
400
406
  */
401
407
  executeCommand(args: ExecuteCommandCommandInput, options?: __HttpHandlerOptions): Promise<ExecuteCommandCommandOutput>;
402
408
  executeCommand(args: ExecuteCommandCommandInput, cb: (err: any, data?: ExecuteCommandCommandOutput) => void): void;
@@ -487,9 +493,9 @@ export declare class ECS extends ECSClient {
487
493
  * <code>containerInstanceLongArnFormat</code> are specified, the Amazon Resource Name
488
494
  * (ARN) and resource ID format of the resource type for a specified IAM user, IAM role, or
489
495
  * the root user for an account is affected. The opt-in and opt-out account setting must be
490
- * set for each Amazon ECS resource separately. The ARN and resource ID format of a resource is
491
- * defined by the opt-in status of the IAM user or role that created the resource. You must
492
- * turn on this setting to use Amazon ECS features such as resource tagging.</p>
496
+ * set for each Amazon ECS resource separately. The ARN and resource ID format of a resource
497
+ * is defined by the opt-in status of the IAM user or role that created the resource. You
498
+ * must turn on this setting to use Amazon ECS features such as resource tagging.</p>
493
499
  * <p>When <code>awsvpcTrunking</code> is specified, the elastic network interface (ENI)
494
500
  * limit for any new container instances that support the feature is changed. If
495
501
  * <code>awsvpcTrunking</code> is enabled, any new container instances that support the
@@ -584,11 +590,11 @@ export declare class ECS extends ECSClient {
584
590
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
585
591
  * <p>Alternatively, you can use <a>StartTask</a> to use your own scheduler or
586
592
  * place tasks manually on specific container instances.</p>
587
- * <p>The Amazon ECS API follows an eventual consistency model. This is because of the distributed
588
- * nature of the system supporting the API. This means that the result of an API command
589
- * you run that affects your Amazon ECS resources might not be immediately visible to all
590
- * subsequent commands you run. Keep this in mind when you carry out an API command that
591
- * immediately follows a previous API command.</p>
593
+ * <p>The Amazon ECS API follows an eventual consistency model. This is because of the
594
+ * distributed nature of the system supporting the API. This means that the result of an
595
+ * API command you run that affects your Amazon ECS resources might not be immediately visible
596
+ * to all subsequent commands you run. Keep this in mind when you carry out an API command
597
+ * that immediately follows a previous API command.</p>
592
598
  * <p>To manage eventual consistency, you can do the following:</p>
593
599
  * <ul>
594
600
  * <li>
@@ -774,27 +780,21 @@ export declare class ECS extends ECSClient {
774
780
  updateContainerInstancesState(args: UpdateContainerInstancesStateCommandInput, cb: (err: any, data?: UpdateContainerInstancesStateCommandOutput) => void): void;
775
781
  updateContainerInstancesState(args: UpdateContainerInstancesStateCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateContainerInstancesStateCommandOutput) => void): void;
776
782
  /**
777
- * <important>
778
- * <p>Updating the task placement strategies and constraints on an Amazon ECS service remains
779
- * in preview and is a Beta Service as defined by and subject to the Beta Service
780
- * Participation Service Terms located at <a href="https://aws.amazon.com/service-terms">https://aws.amazon.com/service-terms</a> ("Beta Terms"). These Beta Terms
781
- * apply to your participation in this preview.</p>
782
- * </important>
783
- * <p>Modifies the parameters of a service.</p>
784
- * <p>For services using the rolling update (<code>ECS</code>) you can update the desired count,
785
- * deployment configuration, network configuration, load balancers, service registries,
786
- * enable ECS managed tags option, propagate tags option, task placement constraints and
787
- * strategies, and task definition. When you update any of these parameters, Amazon ECS starts
788
- * new tasks with the new configuration. </p>
789
- * <p>For services using the blue/green (<code>CODE_DEPLOY</code>) deployment controller, only the
790
- * desired count, deployment configuration, health check grace period, task placement
791
- * constraints and strategies, enable ECS managed tags option, and propagate tags can be
792
- * updated using this API. If the network configuration, platform version, task definition,
793
- * or load balancer need to be updated, create a new CodeDeploy deployment. For more
783
+ * <p>Modifies the parameters of a service.</p>
784
+ * <p>For services using the rolling update (<code>ECS</code>) you can update the desired
785
+ * count, deployment configuration, network configuration, load balancers, service
786
+ * registries, enable ECS managed tags option, propagate tags option, task placement
787
+ * constraints and strategies, and task definition. When you update any of these
788
+ * parameters, Amazon ECS starts new tasks with the new configuration. </p>
789
+ * <p>For services using the blue/green (<code>CODE_DEPLOY</code>) deployment controller,
790
+ * only the desired count, deployment configuration, health check grace period, task
791
+ * placement constraints and strategies, enable ECS managed tags option, and propagate tags
792
+ * can be updated using this API. If the network configuration, platform version, task
793
+ * definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more
794
794
  * information, see <a href="https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html">CreateDeployment</a> in the <i>CodeDeploy API Reference</i>.</p>
795
- * <p>For services using an external deployment controller, you can update only the desired count,
796
- * task placement constraints and strategies, health check grace period, enable ECS managed
797
- * tags option, and propagate tags option, using this API. If the launch type, load
795
+ * <p>For services using an external deployment controller, you can update only the desired
796
+ * count, task placement constraints and strategies, health check grace period, enable ECS
797
+ * managed tags option, and propagate tags option, using this API. If the launch type, load
798
798
  * balancer, network configuration, platform version, or task definition need to be
799
799
  * updated, create a new task set For more information, see <a>CreateTaskSet</a>.</p>
800
800
  * <p>You can add to or subtract from the number of instantiations of a task definition in a
@@ -887,22 +887,22 @@ export declare class ECS extends ECSClient {
887
887
  * </li>
888
888
  * </ul>
889
889
  * <note>
890
- * <p>You must have a service-linked role when you update any of the following service properties.
891
- * If you specified a custom IAM role when you created the service, Amazon ECS automatically
892
- * replaces the <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Service.html#ECS-Type-Service-roleArn">roleARN</a> associated with the service with the ARN of your service-linked
893
- * role. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html">Service-linked
894
- * roles</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
895
- * <ul>
890
+ * <p>You must have a service-linked role when you update any of the following service
891
+ * properties. If you specified a custom IAM role when you created the service, Amazon ECS
892
+ * automatically replaces the <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Service.html#ECS-Type-Service-roleArn">roleARN</a> associated with the service with the ARN of your
893
+ * service-linked role. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html">Service-linked roles</a> in the
894
+ * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
895
+ * <ul>
896
896
  * <li>
897
- * <p>
897
+ * <p>
898
898
  * <code>loadBalancers,</code>
899
899
  * </p>
900
- * </li>
900
+ * </li>
901
901
  * <li>
902
- * <p>
902
+ * <p>
903
903
  * <code>serviceRegistries</code>
904
904
  * </p>
905
- * </li>
905
+ * </li>
906
906
  * </ul>
907
907
  * </note>
908
908
  */
@@ -180,10 +180,10 @@ export interface ECSClientResolvedConfig extends ECSClientResolvedConfigType {
180
180
  /**
181
181
  * <fullname>Amazon Elastic Container Service</fullname>
182
182
  * <p>Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes
183
- * it easy to run, stop, and manage Docker containers on a cluster. You can host your
184
- * cluster on a serverless infrastructure that's managed by Amazon ECS by launching your
185
- * services or tasks on Fargate. For more control, you can host your tasks on a cluster
186
- * of Amazon Elastic Compute Cloud (Amazon EC2) instances that you manage.</p>
183
+ * it easy to run, stop, and manage Docker containers. You can host your cluster on a
184
+ * serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on
185
+ * Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)
186
+ * or External (on-premises) instances that you manage.</p>
187
187
  * <p>Amazon ECS makes it easy to launch and stop container-based applications with simple API
188
188
  * calls. This makes it easy to get the state of your cluster from a centralized service,
189
189
  * and gives you access to many familiar Amazon EC2 features.</p>
@@ -16,7 +16,7 @@ export interface CreateClusterCommandOutput extends CreateClusterResponse, __Met
16
16
  * required resources in other Amazon Web Services services on your behalf. However, if the IAM user
17
17
  * that makes the call doesn't have permissions to create the service-linked role, it
18
18
  * isn't created. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html">Using
19
- * Service-Linked Roles for Amazon ECS</a> in the
19
+ * service-linked roles for Amazon ECS</a> in the
20
20
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
21
21
  * </note>
22
22
  * @example
@@ -10,15 +10,16 @@ export interface CreateServiceCommandOutput extends CreateServiceResponse, __Met
10
10
  * <p>Runs and maintains your desired number of tasks from a specified task definition. If
11
11
  * the number of tasks running in a service drops below the <code>desiredCount</code>,
12
12
  * Amazon ECS runs another copy of the task in the specified cluster. To update an existing
13
- * service, see the UpdateService action.</p>
13
+ * service, see the <a>UpdateService</a> action.</p>
14
14
  * <p>In addition to maintaining the desired count of tasks in your service, you can
15
15
  * optionally run your service behind one or more load balancers. The load balancers
16
16
  * distribute traffic across the tasks that are associated with the service. For more
17
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html">Service Load Balancing</a> in the
17
+ * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html">Service load balancing</a> in the
18
18
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
19
19
  * <p>Tasks for services that don't use a load balancer are considered healthy if they're in
20
20
  * the <code>RUNNING</code> state. Tasks for services that use a load balancer are
21
- * considered healthy if they're in the <code>RUNNING</code> state and are reported as healthy by the load balancer.</p>
21
+ * considered healthy if they're in the <code>RUNNING</code> state and are reported as
22
+ * healthy by the load balancer.</p>
22
23
  * <p>There are two service scheduler strategies available:</p>
23
24
  * <ul>
24
25
  * <li>
@@ -27,7 +28,7 @@ export interface CreateServiceCommandOutput extends CreateServiceResponse, __Met
27
28
  * maintains your desired number of tasks across your cluster. By default, the
28
29
  * service scheduler spreads tasks across Availability Zones. You can use task
29
30
  * placement strategies and constraints to customize task placement decisions. For
30
- * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service Scheduler Concepts</a> in the
31
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service scheduler concepts</a> in the
31
32
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
32
33
  * </li>
33
34
  * <li>
@@ -38,7 +39,7 @@ export interface CreateServiceCommandOutput extends CreateServiceResponse, __Met
38
39
  * evaluates the task placement constraints for running tasks. It also stops tasks
39
40
  * that don't meet the placement constraints. When using this strategy, you don't
40
41
  * need to specify a desired number of tasks, a task placement strategy, or use
41
- * Service Auto Scaling policies. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service Scheduler Concepts</a> in the
42
+ * Service Auto Scaling policies. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service scheduler concepts</a> in the
42
43
  * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
43
44
  * </li>
44
45
  * </ul>
@@ -82,7 +83,7 @@ export interface CreateServiceCommandOutput extends CreateServiceResponse, __Met
82
83
  * currently visible when describing your service.</p>
83
84
  * <p>When creating a service that uses the <code>EXTERNAL</code> deployment controller, you
84
85
  * can specify only parameters that aren't controlled at the task set level. The only
85
- * required parameter is the service name. You control your services using the <a>CreateTaskSet</a> operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
86
+ * required parameter is the service name. You control your services using the <a>CreateTaskSet</a> operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
86
87
  * <p>When the service scheduler launches new tasks, it determines task placement in your
87
88
  * cluster using the following logic:</p>
88
89
  * <ul>
@@ -9,8 +9,8 @@ export interface CreateTaskSetCommandOutput extends CreateTaskSetResponse, __Met
9
9
  /**
10
10
  * <p>Create a task set in the specified cluster and service. This is used when a service
11
11
  * uses the <code>EXTERNAL</code> deployment controller type. For more information, see
12
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment
13
- * Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
12
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment
13
+ * types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
14
14
  * @example
15
15
  * Use a bare-bones client and the command you need to make an API call.
16
16
  * ```javascript
@@ -8,7 +8,7 @@ export interface DeleteTaskSetCommandOutput extends DeleteTaskSetResponse, __Met
8
8
  }
9
9
  /**
10
10
  * <p>Deletes a specified task set within a service. This is used when a service uses the
11
- * <code>EXTERNAL</code> deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
11
+ * <code>EXTERNAL</code> deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
12
12
  * @example
13
13
  * Use a bare-bones client and the command you need to make an API call.
14
14
  * ```javascript
@@ -8,6 +8,7 @@ export interface DescribeTasksCommandOutput extends DescribeTasksResponse, __Met
8
8
  }
9
9
  /**
10
10
  * <p>Describes a specified task or tasks.</p>
11
+ * <p>Currently, stopped tasks appear in the returned results for at least one hour.</p>
11
12
  * @example
12
13
  * Use a bare-bones client and the command you need to make an API call.
13
14
  * ```javascript
@@ -8,6 +8,10 @@ export interface ExecuteCommandCommandOutput extends ExecuteCommandResponse, __M
8
8
  }
9
9
  /**
10
10
  * <p>Runs a command remotely on a container within a task.</p>
11
+ * <p>If you use a condition key in your IAM policy to refine the conditions for the policy
12
+ * statement, for example limit the actions to a specific cluster, you recevie an
13
+ * <code>AccessDeniedException</code> when there is a mismatch between the condition
14
+ * key value and the corresponding parameter value.</p>
11
15
  * @example
12
16
  * Use a bare-bones client and the command you need to make an API call.
13
17
  * ```javascript