@aws-sdk/client-ecs 3.315.0 → 3.318.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.
@@ -56,983 +56,359 @@ import { UpdateServicePrimaryTaskSetCommandInput, UpdateServicePrimaryTaskSetCom
56
56
  import { UpdateTaskProtectionCommandInput, UpdateTaskProtectionCommandOutput } from "./commands/UpdateTaskProtectionCommand";
57
57
  import { UpdateTaskSetCommandInput, UpdateTaskSetCommandOutput } from "./commands/UpdateTaskSetCommand";
58
58
  import { ECSClient } from "./ECSClient";
59
- /**
60
- * @public
61
- * <fullname>Amazon Elastic Container Service</fullname>
62
- * <p>Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes
63
- * it easy to run, stop, and manage Docker containers. You can host your cluster on a
64
- * serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on
65
- * Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)
66
- * or External (on-premises) instances that you manage.</p>
67
- * <p>Amazon ECS makes it easy to launch and stop container-based applications with simple API
68
- * calls. This makes it easy to get the state of your cluster from a centralized service,
69
- * and gives you access to many familiar Amazon EC2 features.</p>
70
- * <p>You can use Amazon ECS to schedule the placement of containers across your cluster based on
71
- * your resource needs, isolation policies, and availability requirements. With Amazon ECS, you
72
- * don't need to operate your own cluster management and configuration management systems.
73
- * You also don't need to worry about scaling your management infrastructure.</p>
74
- */
75
- export declare class ECS extends ECSClient {
59
+ export interface ECS {
76
60
  /**
77
- * @public
78
- * <p>Creates a new capacity provider. Capacity providers are associated with an Amazon ECS
79
- * cluster and are used in capacity provider strategies to facilitate cluster auto
80
- * scaling.</p>
81
- * <p>Only capacity providers that use an Auto Scaling group can be created. Amazon ECS tasks on
82
- * Fargate use the <code>FARGATE</code> and <code>FARGATE_SPOT</code> capacity providers.
83
- * These providers are available to all accounts in the Amazon Web Services Regions that Fargate
84
- * supports.</p>
61
+ * @see {@link CreateCapacityProviderCommand}
85
62
  */
86
63
  createCapacityProvider(args: CreateCapacityProviderCommandInput, options?: __HttpHandlerOptions): Promise<CreateCapacityProviderCommandOutput>;
87
64
  createCapacityProvider(args: CreateCapacityProviderCommandInput, cb: (err: any, data?: CreateCapacityProviderCommandOutput) => void): void;
88
65
  createCapacityProvider(args: CreateCapacityProviderCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateCapacityProviderCommandOutput) => void): void;
89
66
  /**
90
- * @public
91
- * <p>Creates a new Amazon ECS cluster. By default, your account receives a <code>default</code>
92
- * cluster when you launch your first container instance. However, you can create your own
93
- * cluster with a unique name with the <code>CreateCluster</code> action.</p>
94
- * <note>
95
- * <p>When you call the <a>CreateCluster</a> API operation, Amazon ECS attempts to
96
- * create the Amazon ECS service-linked role for your account. This is so that it can manage
97
- * required resources in other Amazon Web Services services on your behalf. However, if the user
98
- * that makes the call doesn't have permissions to create the service-linked role, it
99
- * isn't created. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html">Using
100
- * service-linked roles for Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
101
- * </note>
67
+ * @see {@link CreateClusterCommand}
102
68
  */
103
69
  createCluster(args: CreateClusterCommandInput, options?: __HttpHandlerOptions): Promise<CreateClusterCommandOutput>;
104
70
  createCluster(args: CreateClusterCommandInput, cb: (err: any, data?: CreateClusterCommandOutput) => void): void;
105
71
  createCluster(args: CreateClusterCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateClusterCommandOutput) => void): void;
106
72
  /**
107
- * @public
108
- * <p>Runs and maintains your desired number of tasks from a specified task definition. If
109
- * the number of tasks running in a service drops below the <code>desiredCount</code>,
110
- * Amazon ECS runs another copy of the task in the specified cluster. To update an existing
111
- * service, see the <a>UpdateService</a> action.</p>
112
- * <note>
113
- * <p>Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. </p>
114
- * </note>
115
- * <p>In addition to maintaining the desired count of tasks in your service, you can
116
- * optionally run your service behind one or more load balancers. The load balancers
117
- * distribute traffic across the tasks that are associated with the service. For more
118
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html">Service load balancing</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
119
- * <p>Tasks for services that don't use a load balancer are considered healthy if they're in
120
- * the <code>RUNNING</code> state. Tasks for services that use a load balancer are
121
- * considered healthy if they're in the <code>RUNNING</code> state and are reported as
122
- * healthy by the load balancer.</p>
123
- * <p>There are two service scheduler strategies available:</p>
124
- * <ul>
125
- * <li>
126
- * <p>
127
- * <code>REPLICA</code> - The replica scheduling strategy places and
128
- * maintains your desired number of tasks across your cluster. By default, the
129
- * service scheduler spreads tasks across Availability Zones. You can use task
130
- * placement strategies and constraints to customize task placement decisions. For
131
- * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html">Service scheduler concepts</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
132
- * </li>
133
- * <li>
134
- * <p>
135
- * <code>DAEMON</code> - The daemon scheduling strategy deploys exactly one
136
- * task on each active container instance that meets all of the task placement
137
- * constraints that you specify in your cluster. The service scheduler also
138
- * evaluates the task placement constraints for running tasks. It also stops tasks
139
- * that don't meet the placement constraints. When using this strategy, you don't
140
- * need to specify a desired number of tasks, a task placement strategy, or use
141
- * 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 <i>Amazon Elastic Container Service Developer Guide</i>.</p>
142
- * </li>
143
- * </ul>
144
- * <p>You can optionally specify a deployment configuration for your service. The deployment
145
- * is initiated by changing properties. For example, the deployment might be initiated by
146
- * the task definition or by your desired count of a service. This is done with an <a>UpdateService</a> operation. The default value for a replica service for
147
- * <code>minimumHealthyPercent</code> is 100%. The default value for a daemon service
148
- * for <code>minimumHealthyPercent</code> is 0%.</p>
149
- * <p>If a service uses the <code>ECS</code> deployment controller, the minimum healthy
150
- * percent represents a lower limit on the number of tasks in a service that must remain in
151
- * the <code>RUNNING</code> state during a deployment. Specifically, it represents it as a
152
- * percentage of your desired number of tasks (rounded up to the nearest integer). This
153
- * happens when any of your container instances are in the <code>DRAINING</code> state if
154
- * the service contains tasks using the EC2 launch type. Using this
155
- * parameter, you can deploy without using additional cluster capacity. For example, if you
156
- * set your service to have desired number of four tasks and a minimum healthy percent of
157
- * 50%, the scheduler might stop two existing tasks to free up cluster capacity before
158
- * starting two new tasks. If they're in the <code>RUNNING</code> state, tasks for services
159
- * that don't use a load balancer are considered healthy . If they're in the
160
- * <code>RUNNING</code> state and reported as healthy by the load balancer, tasks for
161
- * services that <i>do</i> use a load balancer are considered healthy . The
162
- * default value for minimum healthy percent is 100%.</p>
163
- * <p>If a service uses the <code>ECS</code> deployment controller, the <b>maximum percent</b> parameter represents an upper limit on the
164
- * number of tasks in a service that are allowed in the <code>RUNNING</code> or
165
- * <code>PENDING</code> state during a deployment. Specifically, it represents it as a
166
- * percentage of the desired number of tasks (rounded down to the nearest integer). This
167
- * happens when any of your container instances are in the <code>DRAINING</code> state if
168
- * the service contains tasks using the EC2 launch type. Using this
169
- * parameter, you can define the deployment batch size. For example, if your service has a
170
- * desired number of four tasks and a maximum percent value of 200%, the scheduler may
171
- * start four new tasks before stopping the four older tasks (provided that the cluster
172
- * resources required to do this are available). The default value for maximum percent is
173
- * 200%.</p>
174
- * <p>If a service uses either the <code>CODE_DEPLOY</code> or <code>EXTERNAL</code>
175
- * deployment controller types and tasks that use the EC2 launch type, the
176
- * <b>minimum healthy percent</b> and <b>maximum percent</b> values are used only to define the lower and upper limit
177
- * on the number of the tasks in the service that remain in the <code>RUNNING</code> state.
178
- * This is while the container instances are in the <code>DRAINING</code> state. If the
179
- * tasks in the service use the Fargate launch type, the minimum healthy
180
- * percent and maximum percent values aren't used. This is the case even if they're
181
- * currently visible when describing your service.</p>
182
- * <p>When creating a service that uses the <code>EXTERNAL</code> deployment controller, you
183
- * can specify only parameters that aren't controlled at the task set level. The only
184
- * 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>
185
- * <p>When the service scheduler launches new tasks, it determines task placement. For
186
- * information about task placement and task placement strategies, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement.html">Amazon ECS
187
- * task placement</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
73
+ * @see {@link CreateServiceCommand}
188
74
  */
189
75
  createService(args: CreateServiceCommandInput, options?: __HttpHandlerOptions): Promise<CreateServiceCommandOutput>;
190
76
  createService(args: CreateServiceCommandInput, cb: (err: any, data?: CreateServiceCommandOutput) => void): void;
191
77
  createService(args: CreateServiceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateServiceCommandOutput) => void): void;
192
78
  /**
193
- * @public
194
- * <p>Create a task set in the specified cluster and service. This is used when a service
195
- * uses the <code>EXTERNAL</code> deployment controller type. For more information, see
196
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS deployment
197
- * types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
79
+ * @see {@link CreateTaskSetCommand}
198
80
  */
199
81
  createTaskSet(args: CreateTaskSetCommandInput, options?: __HttpHandlerOptions): Promise<CreateTaskSetCommandOutput>;
200
82
  createTaskSet(args: CreateTaskSetCommandInput, cb: (err: any, data?: CreateTaskSetCommandOutput) => void): void;
201
83
  createTaskSet(args: CreateTaskSetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: CreateTaskSetCommandOutput) => void): void;
202
84
  /**
203
- * @public
204
- * <p>Disables an account setting for a specified user, role, or the root user for
205
- * an account.</p>
85
+ * @see {@link DeleteAccountSettingCommand}
206
86
  */
207
87
  deleteAccountSetting(args: DeleteAccountSettingCommandInput, options?: __HttpHandlerOptions): Promise<DeleteAccountSettingCommandOutput>;
208
88
  deleteAccountSetting(args: DeleteAccountSettingCommandInput, cb: (err: any, data?: DeleteAccountSettingCommandOutput) => void): void;
209
89
  deleteAccountSetting(args: DeleteAccountSettingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteAccountSettingCommandOutput) => void): void;
210
90
  /**
211
- * @public
212
- * <p>Deletes one or more custom attributes from an Amazon ECS resource.</p>
91
+ * @see {@link DeleteAttributesCommand}
213
92
  */
214
93
  deleteAttributes(args: DeleteAttributesCommandInput, options?: __HttpHandlerOptions): Promise<DeleteAttributesCommandOutput>;
215
94
  deleteAttributes(args: DeleteAttributesCommandInput, cb: (err: any, data?: DeleteAttributesCommandOutput) => void): void;
216
95
  deleteAttributes(args: DeleteAttributesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteAttributesCommandOutput) => void): void;
217
96
  /**
218
- * @public
219
- * <p>Deletes the specified capacity provider.</p>
220
- * <note>
221
- * <p>The <code>FARGATE</code> and <code>FARGATE_SPOT</code> capacity providers are
222
- * reserved and can't be deleted. You can disassociate them from a cluster using either
223
- * the <a>PutClusterCapacityProviders</a> API or by deleting the
224
- * cluster.</p>
225
- * </note>
226
- * <p>Prior to a capacity provider being deleted, the capacity provider must be removed from
227
- * the capacity provider strategy from all services. The <a>UpdateService</a>
228
- * API can be used to remove a capacity provider from a service's capacity provider
229
- * strategy. When updating a service, the <code>forceNewDeployment</code> option can be
230
- * used to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity
231
- * provider are transitioned to use the capacity from the remaining capacity providers.
232
- * Only capacity providers that aren't associated with a cluster can be deleted. To remove
233
- * a capacity provider from a cluster, you can either use <a>PutClusterCapacityProviders</a> or delete the cluster.</p>
97
+ * @see {@link DeleteCapacityProviderCommand}
234
98
  */
235
99
  deleteCapacityProvider(args: DeleteCapacityProviderCommandInput, options?: __HttpHandlerOptions): Promise<DeleteCapacityProviderCommandOutput>;
236
100
  deleteCapacityProvider(args: DeleteCapacityProviderCommandInput, cb: (err: any, data?: DeleteCapacityProviderCommandOutput) => void): void;
237
101
  deleteCapacityProvider(args: DeleteCapacityProviderCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteCapacityProviderCommandOutput) => void): void;
238
102
  /**
239
- * @public
240
- * <p>Deletes the specified cluster. The cluster transitions to the <code>INACTIVE</code>
241
- * state. Clusters with an <code>INACTIVE</code> status might remain discoverable in your
242
- * account for a period of time. However, this behavior is subject to change in the future.
243
- * We don't recommend that you rely on <code>INACTIVE</code> clusters persisting.</p>
244
- * <p>You must deregister all container instances from this cluster before you may delete
245
- * it. You can list the container instances in a cluster with <a>ListContainerInstances</a> and deregister them with <a>DeregisterContainerInstance</a>.</p>
103
+ * @see {@link DeleteClusterCommand}
246
104
  */
247
105
  deleteCluster(args: DeleteClusterCommandInput, options?: __HttpHandlerOptions): Promise<DeleteClusterCommandOutput>;
248
106
  deleteCluster(args: DeleteClusterCommandInput, cb: (err: any, data?: DeleteClusterCommandOutput) => void): void;
249
107
  deleteCluster(args: DeleteClusterCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteClusterCommandOutput) => void): void;
250
108
  /**
251
- * @public
252
- * <p>Deletes a specified service within a cluster. You can delete a service if you have no
253
- * running tasks in it and the desired task count is zero. If the service is actively
254
- * maintaining tasks, you can't delete it, and you must update the service to a desired
255
- * task count of zero. For more information, see <a>UpdateService</a>.</p>
256
- * <note>
257
- * <p>When you delete a service, if there are still running tasks that require cleanup,
258
- * the service status moves from <code>ACTIVE</code> to <code>DRAINING</code>, and the
259
- * service is no longer visible in the console or in the <a>ListServices</a>
260
- * API operation. After all tasks have transitioned to either <code>STOPPING</code> or
261
- * <code>STOPPED</code> status, the service status moves from <code>DRAINING</code>
262
- * to <code>INACTIVE</code>. Services in the <code>DRAINING</code> or
263
- * <code>INACTIVE</code> status can still be viewed with the <a>DescribeServices</a> API operation. However, in the future,
264
- * <code>INACTIVE</code> services may be cleaned up and purged from Amazon ECS record
265
- * keeping, and <a>DescribeServices</a> calls on those services return a
266
- * <code>ServiceNotFoundException</code> error.</p>
267
- * </note>
268
- * <important>
269
- * <p>If you attempt to create a new service with the same name as an existing service
270
- * in either <code>ACTIVE</code> or <code>DRAINING</code> status, you receive an
271
- * error.</p>
272
- * </important>
109
+ * @see {@link DeleteServiceCommand}
273
110
  */
274
111
  deleteService(args: DeleteServiceCommandInput, options?: __HttpHandlerOptions): Promise<DeleteServiceCommandOutput>;
275
112
  deleteService(args: DeleteServiceCommandInput, cb: (err: any, data?: DeleteServiceCommandOutput) => void): void;
276
113
  deleteService(args: DeleteServiceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteServiceCommandOutput) => void): void;
277
114
  /**
278
- * @public
279
- * <p>Deletes one or more task definitions.</p>
280
- * <p>You must deregister a task definition revision before you delete it. For more information,
281
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterTaskDefinition.html">DeregisterTaskDefinition</a>.</p>
282
- * <p>When you delete a task definition revision, it is immediately transitions from the
283
- * <code>INACTIVE</code> to <code>DELETE_IN_PROGRESS</code>. Existing tasks and services
284
- * that reference a <code>DELETE_IN_PROGRESS</code> task definition revision continue to run
285
- * without disruption. Existing services that reference a <code>DELETE_IN_PROGRESS</code> task
286
- * definition revision can still scale up or down by modifying the service's desired
287
- * count.</p>
288
- * <p>You can't use a <code>DELETE_IN_PROGRESS</code> task definition revision to run new tasks
289
- * or create new services. You also can't update an existing service to reference a
290
- * <code>DELETE_IN_PROGRESS</code> task definition revision.</p>
291
- * <p> A task definition revision will stay in <code>DELETE_IN_PROGRESS</code> status until
292
- * all the associated tasks and services have been terminated.</p>
115
+ * @see {@link DeleteTaskDefinitionsCommand}
293
116
  */
294
117
  deleteTaskDefinitions(args: DeleteTaskDefinitionsCommandInput, options?: __HttpHandlerOptions): Promise<DeleteTaskDefinitionsCommandOutput>;
295
118
  deleteTaskDefinitions(args: DeleteTaskDefinitionsCommandInput, cb: (err: any, data?: DeleteTaskDefinitionsCommandOutput) => void): void;
296
119
  deleteTaskDefinitions(args: DeleteTaskDefinitionsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteTaskDefinitionsCommandOutput) => void): void;
297
120
  /**
298
- * @public
299
- * <p>Deletes a specified task set within a service. This is used when a service uses the
300
- * <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>
121
+ * @see {@link DeleteTaskSetCommand}
301
122
  */
302
123
  deleteTaskSet(args: DeleteTaskSetCommandInput, options?: __HttpHandlerOptions): Promise<DeleteTaskSetCommandOutput>;
303
124
  deleteTaskSet(args: DeleteTaskSetCommandInput, cb: (err: any, data?: DeleteTaskSetCommandOutput) => void): void;
304
125
  deleteTaskSet(args: DeleteTaskSetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeleteTaskSetCommandOutput) => void): void;
305
126
  /**
306
- * @public
307
- * <p>Deregisters an Amazon ECS container instance from the specified cluster. This instance is
308
- * no longer available to run tasks.</p>
309
- * <p>If you intend to use the container instance for some other purpose after
310
- * deregistration, we recommend that you stop all of the tasks running on the container
311
- * instance before deregistration. That prevents any orphaned tasks from consuming
312
- * resources.</p>
313
- * <p>Deregistering a container instance removes the instance from a cluster, but it doesn't
314
- * terminate the EC2 instance. If you are finished using the instance, be sure to terminate
315
- * it in the Amazon EC2 console to stop billing.</p>
316
- * <note>
317
- * <p>If you terminate a running container instance, Amazon ECS automatically deregisters the
318
- * instance from your cluster (stopped container instances or instances with
319
- * disconnected agents aren't automatically deregistered when terminated).</p>
320
- * </note>
127
+ * @see {@link DeregisterContainerInstanceCommand}
321
128
  */
322
129
  deregisterContainerInstance(args: DeregisterContainerInstanceCommandInput, options?: __HttpHandlerOptions): Promise<DeregisterContainerInstanceCommandOutput>;
323
130
  deregisterContainerInstance(args: DeregisterContainerInstanceCommandInput, cb: (err: any, data?: DeregisterContainerInstanceCommandOutput) => void): void;
324
131
  deregisterContainerInstance(args: DeregisterContainerInstanceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeregisterContainerInstanceCommandOutput) => void): void;
325
132
  /**
326
- * @public
327
- * <p>Deregisters the specified task definition by family and revision. Upon deregistration, the
328
- * task definition is marked as <code>INACTIVE</code>. Existing tasks and services that
329
- * reference an <code>INACTIVE</code> task definition continue to run without disruption.
330
- * Existing services that reference an <code>INACTIVE</code> task definition can still
331
- * scale up or down by modifying the service's desired count. If you want to delete a task
332
- * definition revision, you must first deregister the task definition revision.</p>
333
- * <p>You can't use an <code>INACTIVE</code> task definition to run new tasks or create new
334
- * services, and you can't update an existing service to reference an <code>INACTIVE</code>
335
- * task definition. However, there may be up to a 10-minute window following deregistration
336
- * where these restrictions have not yet taken effect.</p>
337
- * <note>
338
- * <p>At this time, <code>INACTIVE</code> task definitions remain discoverable in your
339
- * account indefinitely. However, this behavior is subject to change in the future. We
340
- * don't recommend that you rely on <code>INACTIVE</code> task definitions persisting
341
- * beyond the lifecycle of any associated tasks and services.</p>
342
- * </note>
343
- * <p>You must deregister a task definition revision before you delete it. For more information,
344
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskDefinitions.html">DeleteTaskDefinitions</a>.</p>
133
+ * @see {@link DeregisterTaskDefinitionCommand}
345
134
  */
346
135
  deregisterTaskDefinition(args: DeregisterTaskDefinitionCommandInput, options?: __HttpHandlerOptions): Promise<DeregisterTaskDefinitionCommandOutput>;
347
136
  deregisterTaskDefinition(args: DeregisterTaskDefinitionCommandInput, cb: (err: any, data?: DeregisterTaskDefinitionCommandOutput) => void): void;
348
137
  deregisterTaskDefinition(args: DeregisterTaskDefinitionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeregisterTaskDefinitionCommandOutput) => void): void;
349
138
  /**
350
- * @public
351
- * <p>Describes one or more of your capacity providers.</p>
139
+ * @see {@link DescribeCapacityProvidersCommand}
352
140
  */
353
141
  describeCapacityProviders(args: DescribeCapacityProvidersCommandInput, options?: __HttpHandlerOptions): Promise<DescribeCapacityProvidersCommandOutput>;
354
142
  describeCapacityProviders(args: DescribeCapacityProvidersCommandInput, cb: (err: any, data?: DescribeCapacityProvidersCommandOutput) => void): void;
355
143
  describeCapacityProviders(args: DescribeCapacityProvidersCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeCapacityProvidersCommandOutput) => void): void;
356
144
  /**
357
- * @public
358
- * <p>Describes one or more of your clusters.</p>
145
+ * @see {@link DescribeClustersCommand}
359
146
  */
360
147
  describeClusters(args: DescribeClustersCommandInput, options?: __HttpHandlerOptions): Promise<DescribeClustersCommandOutput>;
361
148
  describeClusters(args: DescribeClustersCommandInput, cb: (err: any, data?: DescribeClustersCommandOutput) => void): void;
362
149
  describeClusters(args: DescribeClustersCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeClustersCommandOutput) => void): void;
363
150
  /**
364
- * @public
365
- * <p>Describes one or more container instances. Returns metadata about each container
366
- * instance requested.</p>
151
+ * @see {@link DescribeContainerInstancesCommand}
367
152
  */
368
153
  describeContainerInstances(args: DescribeContainerInstancesCommandInput, options?: __HttpHandlerOptions): Promise<DescribeContainerInstancesCommandOutput>;
369
154
  describeContainerInstances(args: DescribeContainerInstancesCommandInput, cb: (err: any, data?: DescribeContainerInstancesCommandOutput) => void): void;
370
155
  describeContainerInstances(args: DescribeContainerInstancesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeContainerInstancesCommandOutput) => void): void;
371
156
  /**
372
- * @public
373
- * <p>Describes the specified services running in your cluster.</p>
157
+ * @see {@link DescribeServicesCommand}
374
158
  */
375
159
  describeServices(args: DescribeServicesCommandInput, options?: __HttpHandlerOptions): Promise<DescribeServicesCommandOutput>;
376
160
  describeServices(args: DescribeServicesCommandInput, cb: (err: any, data?: DescribeServicesCommandOutput) => void): void;
377
161
  describeServices(args: DescribeServicesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeServicesCommandOutput) => void): void;
378
162
  /**
379
- * @public
380
- * <p>Describes a task definition. You can specify a <code>family</code> and
381
- * <code>revision</code> to find information about a specific task definition, or you
382
- * can simply specify the family to find the latest <code>ACTIVE</code> revision in that
383
- * family.</p>
384
- * <note>
385
- * <p>You can only describe <code>INACTIVE</code> task definitions while an active task
386
- * or service references them.</p>
387
- * </note>
163
+ * @see {@link DescribeTaskDefinitionCommand}
388
164
  */
389
165
  describeTaskDefinition(args: DescribeTaskDefinitionCommandInput, options?: __HttpHandlerOptions): Promise<DescribeTaskDefinitionCommandOutput>;
390
166
  describeTaskDefinition(args: DescribeTaskDefinitionCommandInput, cb: (err: any, data?: DescribeTaskDefinitionCommandOutput) => void): void;
391
167
  describeTaskDefinition(args: DescribeTaskDefinitionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeTaskDefinitionCommandOutput) => void): void;
392
168
  /**
393
- * @public
394
- * <p>Describes a specified task or tasks.</p>
395
- * <p>Currently, stopped tasks appear in the returned results for at least one hour.</p>
169
+ * @see {@link DescribeTasksCommand}
396
170
  */
397
171
  describeTasks(args: DescribeTasksCommandInput, options?: __HttpHandlerOptions): Promise<DescribeTasksCommandOutput>;
398
172
  describeTasks(args: DescribeTasksCommandInput, cb: (err: any, data?: DescribeTasksCommandOutput) => void): void;
399
173
  describeTasks(args: DescribeTasksCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeTasksCommandOutput) => void): void;
400
174
  /**
401
- * @public
402
- * <p>Describes the task sets in the specified cluster and service. This is used when a
403
- * service uses the <code>EXTERNAL</code> deployment controller type. For more information,
404
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment
405
- * Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
175
+ * @see {@link DescribeTaskSetsCommand}
406
176
  */
407
177
  describeTaskSets(args: DescribeTaskSetsCommandInput, options?: __HttpHandlerOptions): Promise<DescribeTaskSetsCommandOutput>;
408
178
  describeTaskSets(args: DescribeTaskSetsCommandInput, cb: (err: any, data?: DescribeTaskSetsCommandOutput) => void): void;
409
179
  describeTaskSets(args: DescribeTaskSetsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeTaskSetsCommandOutput) => void): void;
410
180
  /**
411
- * @public
412
- * <note>
413
- * <p>This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.</p>
414
- * </note>
415
- * <p>Returns an endpoint for the Amazon ECS agent to poll for updates.</p>
181
+ * @see {@link DiscoverPollEndpointCommand}
416
182
  */
417
183
  discoverPollEndpoint(args: DiscoverPollEndpointCommandInput, options?: __HttpHandlerOptions): Promise<DiscoverPollEndpointCommandOutput>;
418
184
  discoverPollEndpoint(args: DiscoverPollEndpointCommandInput, cb: (err: any, data?: DiscoverPollEndpointCommandOutput) => void): void;
419
185
  discoverPollEndpoint(args: DiscoverPollEndpointCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DiscoverPollEndpointCommandOutput) => void): void;
420
186
  /**
421
- * @public
422
- * <p>Runs a command remotely on a container within a task.</p>
423
- * <p>If you use a condition key in your IAM policy to refine the conditions for the policy
424
- * statement, for example limit the actions to a specific cluster, you receive an
425
- * <code>AccessDeniedException</code> when there is a mismatch between the condition
426
- * key value and the corresponding parameter value.</p>
427
- * <p>For information about required permissions and considerations, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html">Using Amazon ECS Exec for
428
- * debugging</a> in the <i>Amazon ECS Developer Guide</i>. </p>
187
+ * @see {@link ExecuteCommandCommand}
429
188
  */
430
189
  executeCommand(args: ExecuteCommandCommandInput, options?: __HttpHandlerOptions): Promise<ExecuteCommandCommandOutput>;
431
190
  executeCommand(args: ExecuteCommandCommandInput, cb: (err: any, data?: ExecuteCommandCommandOutput) => void): void;
432
191
  executeCommand(args: ExecuteCommandCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ExecuteCommandCommandOutput) => void): void;
433
192
  /**
434
- * @public
435
- * <p>Retrieves the protection status of tasks in an Amazon ECS service.</p>
193
+ * @see {@link GetTaskProtectionCommand}
436
194
  */
437
195
  getTaskProtection(args: GetTaskProtectionCommandInput, options?: __HttpHandlerOptions): Promise<GetTaskProtectionCommandOutput>;
438
196
  getTaskProtection(args: GetTaskProtectionCommandInput, cb: (err: any, data?: GetTaskProtectionCommandOutput) => void): void;
439
197
  getTaskProtection(args: GetTaskProtectionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: GetTaskProtectionCommandOutput) => void): void;
440
198
  /**
441
- * @public
442
- * <p>Lists the account settings for a specified principal.</p>
199
+ * @see {@link ListAccountSettingsCommand}
443
200
  */
444
201
  listAccountSettings(args: ListAccountSettingsCommandInput, options?: __HttpHandlerOptions): Promise<ListAccountSettingsCommandOutput>;
445
202
  listAccountSettings(args: ListAccountSettingsCommandInput, cb: (err: any, data?: ListAccountSettingsCommandOutput) => void): void;
446
203
  listAccountSettings(args: ListAccountSettingsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListAccountSettingsCommandOutput) => void): void;
447
204
  /**
448
- * @public
449
- * <p>Lists the attributes for Amazon ECS resources within a specified target type and cluster.
450
- * When you specify a target type and cluster, <code>ListAttributes</code> returns a list
451
- * of attribute objects, one for each attribute on each resource. You can filter the list
452
- * of results to a single attribute name to only return results that have that name. You
453
- * can also filter the results by attribute name and value. You can do this, for example,
454
- * to see which container instances in a cluster are running a Linux AMI
455
- * (<code>ecs.os-type=linux</code>). </p>
205
+ * @see {@link ListAttributesCommand}
456
206
  */
457
207
  listAttributes(args: ListAttributesCommandInput, options?: __HttpHandlerOptions): Promise<ListAttributesCommandOutput>;
458
208
  listAttributes(args: ListAttributesCommandInput, cb: (err: any, data?: ListAttributesCommandOutput) => void): void;
459
209
  listAttributes(args: ListAttributesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListAttributesCommandOutput) => void): void;
460
210
  /**
461
- * @public
462
- * <p>Returns a list of existing clusters.</p>
211
+ * @see {@link ListClustersCommand}
463
212
  */
464
213
  listClusters(args: ListClustersCommandInput, options?: __HttpHandlerOptions): Promise<ListClustersCommandOutput>;
465
214
  listClusters(args: ListClustersCommandInput, cb: (err: any, data?: ListClustersCommandOutput) => void): void;
466
215
  listClusters(args: ListClustersCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListClustersCommandOutput) => void): void;
467
216
  /**
468
- * @public
469
- * <p>Returns a list of container instances in a specified cluster. You can filter the
470
- * results of a <code>ListContainerInstances</code> operation with cluster query language
471
- * statements inside the <code>filter</code> parameter. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html">Cluster Query Language</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
217
+ * @see {@link ListContainerInstancesCommand}
472
218
  */
473
219
  listContainerInstances(args: ListContainerInstancesCommandInput, options?: __HttpHandlerOptions): Promise<ListContainerInstancesCommandOutput>;
474
220
  listContainerInstances(args: ListContainerInstancesCommandInput, cb: (err: any, data?: ListContainerInstancesCommandOutput) => void): void;
475
221
  listContainerInstances(args: ListContainerInstancesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListContainerInstancesCommandOutput) => void): void;
476
222
  /**
477
- * @public
478
- * <p>Returns a list of services. You can filter the results by cluster, launch type, and
479
- * scheduling strategy.</p>
223
+ * @see {@link ListServicesCommand}
480
224
  */
481
225
  listServices(args: ListServicesCommandInput, options?: __HttpHandlerOptions): Promise<ListServicesCommandOutput>;
482
226
  listServices(args: ListServicesCommandInput, cb: (err: any, data?: ListServicesCommandOutput) => void): void;
483
227
  listServices(args: ListServicesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListServicesCommandOutput) => void): void;
484
228
  /**
485
- * @public
486
- * <p>This operation lists all of the services that are associated with a Cloud Map
487
- * namespace. This list might include services in different clusters. In contrast,
488
- * <code>ListServices</code> can only list services in one cluster at a time. If you
489
- * need to filter the list of services in a single cluster by various parameters, use
490
- * <code>ListServices</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
229
+ * @see {@link ListServicesByNamespaceCommand}
491
230
  */
492
231
  listServicesByNamespace(args: ListServicesByNamespaceCommandInput, options?: __HttpHandlerOptions): Promise<ListServicesByNamespaceCommandOutput>;
493
232
  listServicesByNamespace(args: ListServicesByNamespaceCommandInput, cb: (err: any, data?: ListServicesByNamespaceCommandOutput) => void): void;
494
233
  listServicesByNamespace(args: ListServicesByNamespaceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListServicesByNamespaceCommandOutput) => void): void;
495
234
  /**
496
- * @public
497
- * <p>List the tags for an Amazon ECS resource.</p>
235
+ * @see {@link ListTagsForResourceCommand}
498
236
  */
499
237
  listTagsForResource(args: ListTagsForResourceCommandInput, options?: __HttpHandlerOptions): Promise<ListTagsForResourceCommandOutput>;
500
238
  listTagsForResource(args: ListTagsForResourceCommandInput, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
501
239
  listTagsForResource(args: ListTagsForResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void;
502
240
  /**
503
- * @public
504
- * <p>Returns a list of task definition families that are registered to your account. This
505
- * list includes task definition families that no longer have any <code>ACTIVE</code> task
506
- * definition revisions.</p>
507
- * <p>You can filter out task definition families that don't contain any <code>ACTIVE</code>
508
- * task definition revisions by setting the <code>status</code> parameter to
509
- * <code>ACTIVE</code>. You can also filter the results with the
510
- * <code>familyPrefix</code> parameter.</p>
241
+ * @see {@link ListTaskDefinitionFamiliesCommand}
511
242
  */
512
243
  listTaskDefinitionFamilies(args: ListTaskDefinitionFamiliesCommandInput, options?: __HttpHandlerOptions): Promise<ListTaskDefinitionFamiliesCommandOutput>;
513
244
  listTaskDefinitionFamilies(args: ListTaskDefinitionFamiliesCommandInput, cb: (err: any, data?: ListTaskDefinitionFamiliesCommandOutput) => void): void;
514
245
  listTaskDefinitionFamilies(args: ListTaskDefinitionFamiliesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTaskDefinitionFamiliesCommandOutput) => void): void;
515
246
  /**
516
- * @public
517
- * <p>Returns a list of task definitions that are registered to your account. You can filter
518
- * the results by family name with the <code>familyPrefix</code> parameter or by status
519
- * with the <code>status</code> parameter.</p>
247
+ * @see {@link ListTaskDefinitionsCommand}
520
248
  */
521
249
  listTaskDefinitions(args: ListTaskDefinitionsCommandInput, options?: __HttpHandlerOptions): Promise<ListTaskDefinitionsCommandOutput>;
522
250
  listTaskDefinitions(args: ListTaskDefinitionsCommandInput, cb: (err: any, data?: ListTaskDefinitionsCommandOutput) => void): void;
523
251
  listTaskDefinitions(args: ListTaskDefinitionsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTaskDefinitionsCommandOutput) => void): void;
524
252
  /**
525
- * @public
526
- * <p>Returns a list of tasks. You can filter the results by cluster, task definition
527
- * family, container instance, launch type, what IAM principal started the task, or by the
528
- * desired status of the task.</p>
529
- * <p>Recently stopped tasks might appear in the returned results. Currently, stopped tasks
530
- * appear in the returned results for at least one hour.</p>
253
+ * @see {@link ListTasksCommand}
531
254
  */
532
255
  listTasks(args: ListTasksCommandInput, options?: __HttpHandlerOptions): Promise<ListTasksCommandOutput>;
533
256
  listTasks(args: ListTasksCommandInput, cb: (err: any, data?: ListTasksCommandOutput) => void): void;
534
257
  listTasks(args: ListTasksCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListTasksCommandOutput) => void): void;
535
258
  /**
536
- * @public
537
- * <p>Modifies an account setting. Account settings are set on a per-Region basis.</p>
538
- * <p>If you change the root user account setting, the default settings are reset for users
539
- * and roles that do not have specified individual account settings. For more information,
540
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html">Account
541
- * Settings</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
542
- * <p>When <code>serviceLongArnFormat</code>, <code>taskLongArnFormat</code>, or
543
- * <code>containerInstanceLongArnFormat</code> are specified, the Amazon Resource Name
544
- * (ARN) and resource ID format of the resource type for a specified user, role, or
545
- * the root user for an account is affected. The opt-in and opt-out account setting must be
546
- * set for each Amazon ECS resource separately. The ARN and resource ID format of a resource
547
- * is defined by the opt-in status of the user or role that created the resource. You
548
- * must turn on this setting to use Amazon ECS features such as resource tagging.</p>
549
- * <p>When <code>awsvpcTrunking</code> is specified, the elastic network interface (ENI)
550
- * limit for any new container instances that support the feature is changed. If
551
- * <code>awsvpcTrunking</code> is turned on, any new container instances that support the
552
- * feature are launched have the increased ENI limits available to them. For more
553
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html">Elastic Network
554
- * Interface Trunking</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
555
- * <p>When <code>containerInsights</code> is specified, the default setting indicating whether
556
- * Amazon Web Services CloudWatch Container Insights is turned on for your clusters is changed. If
557
- * <code>containerInsights</code> is turned on, any new clusters that are created will
558
- * have Container Insights turned on unless you disable it during cluster creation. For
559
- * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html">CloudWatch
560
- * Container Insights</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
259
+ * @see {@link PutAccountSettingCommand}
561
260
  */
562
261
  putAccountSetting(args: PutAccountSettingCommandInput, options?: __HttpHandlerOptions): Promise<PutAccountSettingCommandOutput>;
563
262
  putAccountSetting(args: PutAccountSettingCommandInput, cb: (err: any, data?: PutAccountSettingCommandOutput) => void): void;
564
263
  putAccountSetting(args: PutAccountSettingCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutAccountSettingCommandOutput) => void): void;
565
264
  /**
566
- * @public
567
- * <p>Modifies an account setting for all users on an account for whom no individual
568
- * account setting has been specified. Account settings are set on a per-Region
569
- * basis.</p>
265
+ * @see {@link PutAccountSettingDefaultCommand}
570
266
  */
571
267
  putAccountSettingDefault(args: PutAccountSettingDefaultCommandInput, options?: __HttpHandlerOptions): Promise<PutAccountSettingDefaultCommandOutput>;
572
268
  putAccountSettingDefault(args: PutAccountSettingDefaultCommandInput, cb: (err: any, data?: PutAccountSettingDefaultCommandOutput) => void): void;
573
269
  putAccountSettingDefault(args: PutAccountSettingDefaultCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutAccountSettingDefaultCommandOutput) => void): void;
574
270
  /**
575
- * @public
576
- * <p>Create or update an attribute on an Amazon ECS resource. If the attribute doesn't exist,
577
- * it's created. If the attribute exists, its value is replaced with the specified value.
578
- * To delete an attribute, use <a>DeleteAttributes</a>. For more information,
579
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes">Attributes</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
271
+ * @see {@link PutAttributesCommand}
580
272
  */
581
273
  putAttributes(args: PutAttributesCommandInput, options?: __HttpHandlerOptions): Promise<PutAttributesCommandOutput>;
582
274
  putAttributes(args: PutAttributesCommandInput, cb: (err: any, data?: PutAttributesCommandOutput) => void): void;
583
275
  putAttributes(args: PutAttributesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutAttributesCommandOutput) => void): void;
584
276
  /**
585
- * @public
586
- * <p>Modifies the available capacity providers and the default capacity provider strategy
587
- * for a cluster.</p>
588
- * <p>You must specify both the available capacity providers and a default capacity provider
589
- * strategy for the cluster. If the specified cluster has existing capacity providers
590
- * associated with it, you must specify all existing capacity providers in addition to any
591
- * new ones you want to add. Any existing capacity providers that are associated with a
592
- * cluster that are omitted from a <a>PutClusterCapacityProviders</a> API call
593
- * will be disassociated with the cluster. You can only disassociate an existing capacity
594
- * provider from a cluster if it's not being used by any existing tasks.</p>
595
- * <p>When creating a service or running a task on a cluster, if no capacity provider or
596
- * launch type is specified, then the cluster's default capacity provider strategy is used.
597
- * We recommend that you define a default capacity provider strategy for your cluster.
598
- * However, you must specify an empty array (<code>[]</code>) to bypass defining a default
599
- * strategy.</p>
277
+ * @see {@link PutClusterCapacityProvidersCommand}
600
278
  */
601
279
  putClusterCapacityProviders(args: PutClusterCapacityProvidersCommandInput, options?: __HttpHandlerOptions): Promise<PutClusterCapacityProvidersCommandOutput>;
602
280
  putClusterCapacityProviders(args: PutClusterCapacityProvidersCommandInput, cb: (err: any, data?: PutClusterCapacityProvidersCommandOutput) => void): void;
603
281
  putClusterCapacityProviders(args: PutClusterCapacityProvidersCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: PutClusterCapacityProvidersCommandOutput) => void): void;
604
282
  /**
605
- * @public
606
- * <note>
607
- * <p>This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.</p>
608
- * </note>
609
- * <p>Registers an EC2 instance into the specified cluster. This instance becomes available
610
- * to place containers on.</p>
283
+ * @see {@link RegisterContainerInstanceCommand}
611
284
  */
612
285
  registerContainerInstance(args: RegisterContainerInstanceCommandInput, options?: __HttpHandlerOptions): Promise<RegisterContainerInstanceCommandOutput>;
613
286
  registerContainerInstance(args: RegisterContainerInstanceCommandInput, cb: (err: any, data?: RegisterContainerInstanceCommandOutput) => void): void;
614
287
  registerContainerInstance(args: RegisterContainerInstanceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RegisterContainerInstanceCommandOutput) => void): void;
615
288
  /**
616
- * @public
617
- * <p>Registers a new task definition from the supplied <code>family</code> and
618
- * <code>containerDefinitions</code>. Optionally, you can add data volumes to your
619
- * containers with the <code>volumes</code> parameter. For more information about task
620
- * definition parameters and defaults, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html">Amazon ECS Task
621
- * Definitions</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
622
- * <p>You can specify a role for your task with the <code>taskRoleArn</code> parameter.
623
- * When you specify a role for a task, its containers can then use the latest versions
624
- * of the CLI or SDKs to make API requests to the Amazon Web Services services that are specified in
625
- * the policy that's associated with the role. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html">IAM
626
- * Roles for Tasks</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
627
- * <p>You can specify a Docker networking mode for the containers in your task definition
628
- * with the <code>networkMode</code> parameter. The available network modes correspond to
629
- * those described in <a href="https://docs.docker.com/engine/reference/run/#/network-settings">Network
630
- * settings</a> in the Docker run reference. If you specify the <code>awsvpc</code>
631
- * network mode, the task is allocated an elastic network interface, and you must specify a
632
- * <a>NetworkConfiguration</a> when you create a service or run a task with
633
- * the task definition. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task Networking</a>
634
- * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
289
+ * @see {@link RegisterTaskDefinitionCommand}
635
290
  */
636
291
  registerTaskDefinition(args: RegisterTaskDefinitionCommandInput, options?: __HttpHandlerOptions): Promise<RegisterTaskDefinitionCommandOutput>;
637
292
  registerTaskDefinition(args: RegisterTaskDefinitionCommandInput, cb: (err: any, data?: RegisterTaskDefinitionCommandOutput) => void): void;
638
293
  registerTaskDefinition(args: RegisterTaskDefinitionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RegisterTaskDefinitionCommandOutput) => void): void;
639
294
  /**
640
- * @public
641
- * <p>Starts a new task using the specified task definition.</p>
642
- * <p>You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places
643
- * tasks using placement constraints and placement strategies. For more information, see
644
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html">Scheduling Tasks</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
645
- * <p>Alternatively, you can use <a>StartTask</a> to use your own scheduler or
646
- * place tasks manually on specific container instances.</p>
647
- * <note>
648
- * <p>Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. </p>
649
- * </note>
650
- * <p>The Amazon ECS API follows an eventual consistency model. This is because of the
651
- * distributed nature of the system supporting the API. This means that the result of an
652
- * API command you run that affects your Amazon ECS resources might not be immediately visible
653
- * to all subsequent commands you run. Keep this in mind when you carry out an API command
654
- * that immediately follows a previous API command.</p>
655
- * <p>To manage eventual consistency, you can do the following:</p>
656
- * <ul>
657
- * <li>
658
- * <p>Confirm the state of the resource before you run a command to modify it. Run
659
- * the DescribeTasks command using an exponential backoff algorithm to ensure that
660
- * you allow enough time for the previous command to propagate through the system.
661
- * To do this, run the DescribeTasks command repeatedly, starting with a couple of
662
- * seconds of wait time and increasing gradually up to five minutes of wait
663
- * time.</p>
664
- * </li>
665
- * <li>
666
- * <p>Add wait time between subsequent commands, even if the DescribeTasks command
667
- * returns an accurate response. Apply an exponential backoff algorithm starting
668
- * with a couple of seconds of wait time, and increase gradually up to about five
669
- * minutes of wait time.</p>
670
- * </li>
671
- * </ul>
295
+ * @see {@link RunTaskCommand}
672
296
  */
673
297
  runTask(args: RunTaskCommandInput, options?: __HttpHandlerOptions): Promise<RunTaskCommandOutput>;
674
298
  runTask(args: RunTaskCommandInput, cb: (err: any, data?: RunTaskCommandOutput) => void): void;
675
299
  runTask(args: RunTaskCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RunTaskCommandOutput) => void): void;
676
300
  /**
677
- * @public
678
- * <p>Starts a new task from the specified task definition on the specified container
679
- * instance or instances.</p>
680
- * <note>
681
- * <p>Starting April 15, 2023, Amazon Web Services will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service. </p>
682
- * </note>
683
- * <p>Alternatively, you can use <a>RunTask</a> to place tasks for you. For more
684
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html">Scheduling Tasks</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
301
+ * @see {@link StartTaskCommand}
685
302
  */
686
303
  startTask(args: StartTaskCommandInput, options?: __HttpHandlerOptions): Promise<StartTaskCommandOutput>;
687
304
  startTask(args: StartTaskCommandInput, cb: (err: any, data?: StartTaskCommandOutput) => void): void;
688
305
  startTask(args: StartTaskCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StartTaskCommandOutput) => void): void;
689
306
  /**
690
- * @public
691
- * <p>Stops a running task. Any tags associated with the task will be deleted.</p>
692
- * <p>When <a>StopTask</a> is called on a task, the equivalent of <code>docker
693
- * stop</code> is issued to the containers running in the task. This results in a
694
- * <code>SIGTERM</code> value and a default 30-second timeout, after which the
695
- * <code>SIGKILL</code> value is sent and the containers are forcibly stopped. If the
696
- * container handles the <code>SIGTERM</code> value gracefully and exits within 30 seconds
697
- * from receiving it, no <code>SIGKILL</code> value is sent.</p>
698
- * <note>
699
- * <p>The default 30-second timeout can be configured on the Amazon ECS container agent with
700
- * the <code>ECS_CONTAINER_STOP_TIMEOUT</code> variable. For more information, see
701
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html">Amazon ECS Container Agent Configuration</a> in the
702
- * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
703
- * </note>
307
+ * @see {@link StopTaskCommand}
704
308
  */
705
309
  stopTask(args: StopTaskCommandInput, options?: __HttpHandlerOptions): Promise<StopTaskCommandOutput>;
706
310
  stopTask(args: StopTaskCommandInput, cb: (err: any, data?: StopTaskCommandOutput) => void): void;
707
311
  stopTask(args: StopTaskCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: StopTaskCommandOutput) => void): void;
708
312
  /**
709
- * @public
710
- * <note>
711
- * <p>This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.</p>
712
- * </note>
713
- * <p>Sent to acknowledge that an attachment changed states.</p>
313
+ * @see {@link SubmitAttachmentStateChangesCommand}
714
314
  */
715
315
  submitAttachmentStateChanges(args: SubmitAttachmentStateChangesCommandInput, options?: __HttpHandlerOptions): Promise<SubmitAttachmentStateChangesCommandOutput>;
716
316
  submitAttachmentStateChanges(args: SubmitAttachmentStateChangesCommandInput, cb: (err: any, data?: SubmitAttachmentStateChangesCommandOutput) => void): void;
717
317
  submitAttachmentStateChanges(args: SubmitAttachmentStateChangesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: SubmitAttachmentStateChangesCommandOutput) => void): void;
718
318
  /**
719
- * @public
720
- * <note>
721
- * <p>This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.</p>
722
- * </note>
723
- * <p>Sent to acknowledge that a container changed states.</p>
319
+ * @see {@link SubmitContainerStateChangeCommand}
724
320
  */
725
321
  submitContainerStateChange(args: SubmitContainerStateChangeCommandInput, options?: __HttpHandlerOptions): Promise<SubmitContainerStateChangeCommandOutput>;
726
322
  submitContainerStateChange(args: SubmitContainerStateChangeCommandInput, cb: (err: any, data?: SubmitContainerStateChangeCommandOutput) => void): void;
727
323
  submitContainerStateChange(args: SubmitContainerStateChangeCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: SubmitContainerStateChangeCommandOutput) => void): void;
728
324
  /**
729
- * @public
730
- * <note>
731
- * <p>This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.</p>
732
- * </note>
733
- * <p>Sent to acknowledge that a task changed states.</p>
325
+ * @see {@link SubmitTaskStateChangeCommand}
734
326
  */
735
327
  submitTaskStateChange(args: SubmitTaskStateChangeCommandInput, options?: __HttpHandlerOptions): Promise<SubmitTaskStateChangeCommandOutput>;
736
328
  submitTaskStateChange(args: SubmitTaskStateChangeCommandInput, cb: (err: any, data?: SubmitTaskStateChangeCommandOutput) => void): void;
737
329
  submitTaskStateChange(args: SubmitTaskStateChangeCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: SubmitTaskStateChangeCommandOutput) => void): void;
738
330
  /**
739
- * @public
740
- * <p>Associates the specified tags to a resource with the specified
741
- * <code>resourceArn</code>. If existing tags on a resource aren't specified in the
742
- * request parameters, they aren't changed. When a resource is deleted, the tags that are
743
- * associated with that resource are deleted as well.</p>
331
+ * @see {@link TagResourceCommand}
744
332
  */
745
333
  tagResource(args: TagResourceCommandInput, options?: __HttpHandlerOptions): Promise<TagResourceCommandOutput>;
746
334
  tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
747
335
  tagResource(args: TagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: TagResourceCommandOutput) => void): void;
748
336
  /**
749
- * @public
750
- * <p>Deletes specified tags from a resource.</p>
337
+ * @see {@link UntagResourceCommand}
751
338
  */
752
339
  untagResource(args: UntagResourceCommandInput, options?: __HttpHandlerOptions): Promise<UntagResourceCommandOutput>;
753
340
  untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
754
341
  untagResource(args: UntagResourceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void;
755
342
  /**
756
- * @public
757
- * <p>Modifies the parameters for a capacity provider.</p>
343
+ * @see {@link UpdateCapacityProviderCommand}
758
344
  */
759
345
  updateCapacityProvider(args: UpdateCapacityProviderCommandInput, options?: __HttpHandlerOptions): Promise<UpdateCapacityProviderCommandOutput>;
760
346
  updateCapacityProvider(args: UpdateCapacityProviderCommandInput, cb: (err: any, data?: UpdateCapacityProviderCommandOutput) => void): void;
761
347
  updateCapacityProvider(args: UpdateCapacityProviderCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateCapacityProviderCommandOutput) => void): void;
762
348
  /**
763
- * @public
764
- * <p>Updates the cluster.</p>
349
+ * @see {@link UpdateClusterCommand}
765
350
  */
766
351
  updateCluster(args: UpdateClusterCommandInput, options?: __HttpHandlerOptions): Promise<UpdateClusterCommandOutput>;
767
352
  updateCluster(args: UpdateClusterCommandInput, cb: (err: any, data?: UpdateClusterCommandOutput) => void): void;
768
353
  updateCluster(args: UpdateClusterCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateClusterCommandOutput) => void): void;
769
354
  /**
770
- * @public
771
- * <p>Modifies the settings to use for a cluster.</p>
355
+ * @see {@link UpdateClusterSettingsCommand}
772
356
  */
773
357
  updateClusterSettings(args: UpdateClusterSettingsCommandInput, options?: __HttpHandlerOptions): Promise<UpdateClusterSettingsCommandOutput>;
774
358
  updateClusterSettings(args: UpdateClusterSettingsCommandInput, cb: (err: any, data?: UpdateClusterSettingsCommandOutput) => void): void;
775
359
  updateClusterSettings(args: UpdateClusterSettingsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateClusterSettingsCommandOutput) => void): void;
776
360
  /**
777
- * @public
778
- * <p>Updates the Amazon ECS container agent on a specified container instance. Updating the
779
- * Amazon ECS container agent doesn't interrupt running tasks or services on the container
780
- * instance. The process for updating the agent differs depending on whether your container
781
- * instance was launched with the Amazon ECS-optimized AMI or another operating system.</p>
782
- * <note>
783
- * <p>The <code>UpdateContainerAgent</code> API isn't supported for container instances
784
- * using the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container agent,
785
- * you can update the <code>ecs-init</code> package. This updates the agent. For more
786
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/agent-update-ecs-ami.html">Updating the
787
- * Amazon ECS container agent</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
788
- * </note>
789
- * <note>
790
- * <p>Agent updates with the <code>UpdateContainerAgent</code> API operation do not
791
- * apply to Windows container instances. We recommend that you launch new container
792
- * instances to update the agent version in your Windows clusters.</p>
793
- * </note>
794
- * <p>The <code>UpdateContainerAgent</code> API requires an Amazon ECS-optimized AMI or Amazon
795
- * Linux AMI with the <code>ecs-init</code> service installed and running. For help
796
- * updating the Amazon ECS container agent on other operating systems, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html#manually_update_agent">Manually updating the Amazon ECS container agent</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
361
+ * @see {@link UpdateContainerAgentCommand}
797
362
  */
798
363
  updateContainerAgent(args: UpdateContainerAgentCommandInput, options?: __HttpHandlerOptions): Promise<UpdateContainerAgentCommandOutput>;
799
364
  updateContainerAgent(args: UpdateContainerAgentCommandInput, cb: (err: any, data?: UpdateContainerAgentCommandOutput) => void): void;
800
365
  updateContainerAgent(args: UpdateContainerAgentCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateContainerAgentCommandOutput) => void): void;
801
366
  /**
802
- * @public
803
- * <p>Modifies the status of an Amazon ECS container instance.</p>
804
- * <p>Once a container instance has reached an <code>ACTIVE</code> state, you can change the
805
- * status of a container instance to <code>DRAINING</code> to manually remove an instance
806
- * from a cluster, for example to perform system updates, update the Docker daemon, or
807
- * scale down the cluster size.</p>
808
- * <important>
809
- * <p>A container instance can't be changed to <code>DRAINING</code> until it has
810
- * reached an <code>ACTIVE</code> status. If the instance is in any other status, an
811
- * error will be received.</p>
812
- * </important>
813
- * <p>When you set a container instance to <code>DRAINING</code>, Amazon ECS prevents new tasks
814
- * from being scheduled for placement on the container instance and replacement service
815
- * tasks are started on other container instances in the cluster if the resources are
816
- * available. Service tasks on the container instance that are in the <code>PENDING</code>
817
- * state are stopped immediately.</p>
818
- * <p>Service tasks on the container instance that are in the <code>RUNNING</code> state are
819
- * stopped and replaced according to the service's deployment configuration parameters,
820
- * <code>minimumHealthyPercent</code> and <code>maximumPercent</code>. You can change
821
- * the deployment configuration of your service using <a>UpdateService</a>.</p>
822
- * <ul>
823
- * <li>
824
- * <p>If <code>minimumHealthyPercent</code> is below 100%, the scheduler can ignore
825
- * <code>desiredCount</code> temporarily during task replacement. For example,
826
- * <code>desiredCount</code> is four tasks, a minimum of 50% allows the
827
- * scheduler to stop two existing tasks before starting two new tasks. If the
828
- * minimum is 100%, the service scheduler can't remove existing tasks until the
829
- * replacement tasks are considered healthy. Tasks for services that do not use a
830
- * load balancer are considered healthy if they're in the <code>RUNNING</code>
831
- * state. Tasks for services that use a load balancer are considered healthy if
832
- * they're in the <code>RUNNING</code> state and are reported as healthy by the
833
- * load balancer.</p>
834
- * </li>
835
- * <li>
836
- * <p>The <code>maximumPercent</code> parameter represents an upper limit on the
837
- * number of running tasks during task replacement. You can use this to define the
838
- * replacement batch size. For example, if <code>desiredCount</code> is four tasks,
839
- * a maximum of 200% starts four new tasks before stopping the four tasks to be
840
- * drained, provided that the cluster resources required to do this are available.
841
- * If the maximum is 100%, then replacement tasks can't start until the draining
842
- * tasks have stopped.</p>
843
- * </li>
844
- * </ul>
845
- * <p>Any <code>PENDING</code> or <code>RUNNING</code> tasks that do not belong to a service
846
- * aren't affected. You must wait for them to finish or stop them manually.</p>
847
- * <p>A container instance has completed draining when it has no more <code>RUNNING</code>
848
- * tasks. You can verify this using <a>ListTasks</a>.</p>
849
- * <p>When a container instance has been drained, you can set a container instance to
850
- * <code>ACTIVE</code> status and once it has reached that status the Amazon ECS scheduler
851
- * can begin scheduling tasks on the instance again.</p>
367
+ * @see {@link UpdateContainerInstancesStateCommand}
852
368
  */
853
369
  updateContainerInstancesState(args: UpdateContainerInstancesStateCommandInput, options?: __HttpHandlerOptions): Promise<UpdateContainerInstancesStateCommandOutput>;
854
370
  updateContainerInstancesState(args: UpdateContainerInstancesStateCommandInput, cb: (err: any, data?: UpdateContainerInstancesStateCommandOutput) => void): void;
855
371
  updateContainerInstancesState(args: UpdateContainerInstancesStateCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateContainerInstancesStateCommandOutput) => void): void;
856
372
  /**
857
- * @public
858
- * <p>Modifies the parameters of a service.</p>
859
- * <p>For services using the rolling update (<code>ECS</code>) you can update the desired
860
- * count, deployment configuration, network configuration, load balancers, service
861
- * registries, enable ECS managed tags option, propagate tags option, task placement
862
- * constraints and strategies, and task definition. When you update any of these
863
- * parameters, Amazon ECS starts new tasks with the new configuration. </p>
864
- * <p>For services using the blue/green (<code>CODE_DEPLOY</code>) deployment controller,
865
- * only the desired count, deployment configuration, health check grace period, task
866
- * placement constraints and strategies, enable ECS managed tags option, and propagate tags
867
- * can be updated using this API. If the network configuration, platform version, task
868
- * definition, or load balancer need to be updated, create a new CodeDeploy deployment. For more
869
- * 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>
870
- * <p>For services using an external deployment controller, you can update only the desired
871
- * count, task placement constraints and strategies, health check grace period, enable ECS
872
- * managed tags option, and propagate tags option, using this API. If the launch type, load
873
- * balancer, network configuration, platform version, or task definition need to be
874
- * updated, create a new task set For more information, see <a>CreateTaskSet</a>.</p>
875
- * <p>You can add to or subtract from the number of instantiations of a task definition in a
876
- * service by specifying the cluster that the service is running in and a new
877
- * <code>desiredCount</code> parameter.</p>
878
- * <p>If you have updated the Docker image of your application, you can create a new task
879
- * definition with that image and deploy it to your service. The service scheduler uses the
880
- * minimum healthy percent and maximum percent parameters (in the service's deployment
881
- * configuration) to determine the deployment strategy.</p>
882
- * <note>
883
- * <p>If your updated Docker image uses the same tag as what is in the existing task
884
- * definition for your service (for example, <code>my_image:latest</code>), you don't
885
- * need to create a new revision of your task definition. You can update the service
886
- * using the <code>forceNewDeployment</code> option. The new tasks launched by the
887
- * deployment pull the current image/tag combination from your repository when they
888
- * start.</p>
889
- * </note>
890
- * <p>You can also update the deployment configuration of a service. When a deployment is
891
- * triggered by updating the task definition of a service, the service scheduler uses the
892
- * deployment configuration parameters, <code>minimumHealthyPercent</code> and
893
- * <code>maximumPercent</code>, to determine the deployment strategy.</p>
894
- * <ul>
895
- * <li>
896
- * <p>If <code>minimumHealthyPercent</code> is below 100%, the scheduler can ignore
897
- * <code>desiredCount</code> temporarily during a deployment. For example, if
898
- * <code>desiredCount</code> is four tasks, a minimum of 50% allows the
899
- * scheduler to stop two existing tasks before starting two new tasks. Tasks for
900
- * services that don't use a load balancer are considered healthy if they're in the
901
- * <code>RUNNING</code> state. Tasks for services that use a load balancer are
902
- * considered healthy if they're in the <code>RUNNING</code> state and are reported
903
- * as healthy by the load balancer.</p>
904
- * </li>
905
- * <li>
906
- * <p>The <code>maximumPercent</code> parameter represents an upper limit on the
907
- * number of running tasks during a deployment. You can use it to define the
908
- * deployment batch size. For example, if <code>desiredCount</code> is four tasks,
909
- * a maximum of 200% starts four new tasks before stopping the four older tasks
910
- * (provided that the cluster resources required to do this are available).</p>
911
- * </li>
912
- * </ul>
913
- * <p>When <a>UpdateService</a> stops a task during a deployment, the equivalent
914
- * of <code>docker stop</code> is issued to the containers running in the task. This
915
- * results in a <code>SIGTERM</code> and a 30-second timeout. After this,
916
- * <code>SIGKILL</code> is sent and the containers are forcibly stopped. If the
917
- * container handles the <code>SIGTERM</code> gracefully and exits within 30 seconds from
918
- * receiving it, no <code>SIGKILL</code> is sent.</p>
919
- * <p>When the service scheduler launches new tasks, it determines task placement in your
920
- * cluster with the following logic.</p>
921
- * <ul>
922
- * <li>
923
- * <p>Determine which of the container instances in your cluster can support your
924
- * service's task definition. For example, they have the required CPU, memory,
925
- * ports, and container instance attributes.</p>
926
- * </li>
927
- * <li>
928
- * <p>By default, the service scheduler attempts to balance tasks across
929
- * Availability Zones in this manner even though you can choose a different
930
- * placement strategy.</p>
931
- * <ul>
932
- * <li>
933
- * <p>Sort the valid container instances by the fewest number of running
934
- * tasks for this service in the same Availability Zone as the instance.
935
- * For example, if zone A has one running service task and zones B and C
936
- * each have zero, valid container instances in either zone B or C are
937
- * considered optimal for placement.</p>
938
- * </li>
939
- * <li>
940
- * <p>Place the new service task on a valid container instance in an optimal
941
- * Availability Zone (based on the previous steps), favoring container
942
- * instances with the fewest number of running tasks for this
943
- * service.</p>
944
- * </li>
945
- * </ul>
946
- * </li>
947
- * </ul>
948
- * <p>When the service scheduler stops running tasks, it attempts to maintain balance across
949
- * the Availability Zones in your cluster using the following logic: </p>
950
- * <ul>
951
- * <li>
952
- * <p>Sort the container instances by the largest number of running tasks for this
953
- * service in the same Availability Zone as the instance. For example, if zone A
954
- * has one running service task and zones B and C each have two, container
955
- * instances in either zone B or C are considered optimal for termination.</p>
956
- * </li>
957
- * <li>
958
- * <p>Stop the task on a container instance in an optimal Availability Zone (based
959
- * on the previous steps), favoring container instances with the largest number of
960
- * running tasks for this service.</p>
961
- * </li>
962
- * </ul>
963
- * <note>
964
- * <p>You must have a service-linked role when you update any of the following service
965
- * properties. If you specified a custom role when you created the service, Amazon ECS
966
- * 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
967
- * 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 <i>Amazon Elastic Container Service Developer Guide</i>.</p>
968
- * <ul>
969
- * <li>
970
- * <p>
971
- * <code>loadBalancers,</code>
972
- * </p>
973
- * </li>
974
- * <li>
975
- * <p>
976
- * <code>serviceRegistries</code>
977
- * </p>
978
- * </li>
979
- * </ul>
980
- * </note>
373
+ * @see {@link UpdateServiceCommand}
981
374
  */
982
375
  updateService(args: UpdateServiceCommandInput, options?: __HttpHandlerOptions): Promise<UpdateServiceCommandOutput>;
983
376
  updateService(args: UpdateServiceCommandInput, cb: (err: any, data?: UpdateServiceCommandOutput) => void): void;
984
377
  updateService(args: UpdateServiceCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateServiceCommandOutput) => void): void;
985
378
  /**
986
- * @public
987
- * <p>Modifies which task set in a service is the primary task set. Any parameters that are
988
- * updated on the primary task set in a service will transition to the service. This is
989
- * used when a service uses the <code>EXTERNAL</code> deployment controller type. For more
990
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment
991
- * Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
379
+ * @see {@link UpdateServicePrimaryTaskSetCommand}
992
380
  */
993
381
  updateServicePrimaryTaskSet(args: UpdateServicePrimaryTaskSetCommandInput, options?: __HttpHandlerOptions): Promise<UpdateServicePrimaryTaskSetCommandOutput>;
994
382
  updateServicePrimaryTaskSet(args: UpdateServicePrimaryTaskSetCommandInput, cb: (err: any, data?: UpdateServicePrimaryTaskSetCommandOutput) => void): void;
995
383
  updateServicePrimaryTaskSet(args: UpdateServicePrimaryTaskSetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateServicePrimaryTaskSetCommandOutput) => void): void;
996
384
  /**
997
- * @public
998
- * <p>Updates the protection status of a task. You can set <code>protectionEnabled</code> to
999
- * <code>true</code> to protect your task from termination during scale-in events from
1000
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html">Service
1001
- * Autoscaling</a> or <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">deployments</a>.</p>
1002
- * <p>Task-protection, by default, expires after 2 hours at which point Amazon ECS clears the
1003
- * <code>protectionEnabled</code> property making the task eligible for termination by
1004
- * a subsequent scale-in event.</p>
1005
- * <p>You can specify a custom expiration period for task protection from 1 minute to up to
1006
- * 2,880 minutes (48 hours). To specify the custom expiration period, set the
1007
- * <code>expiresInMinutes</code> property. The <code>expiresInMinutes</code> property
1008
- * is always reset when you invoke this operation for a task that already has
1009
- * <code>protectionEnabled</code> set to <code>true</code>. You can keep extending the
1010
- * protection expiration period of a task by invoking this operation repeatedly.</p>
1011
- * <p>To learn more about Amazon ECS task protection, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-scale-in-protection.html">Task scale-in
1012
- * protection</a> in the <i>
1013
- * <i>Amazon Elastic Container Service Developer Guide</i>
1014
- * </i>.</p>
1015
- * <note>
1016
- * <p>This operation is only supported for tasks belonging to an Amazon ECS service. Invoking
1017
- * this operation for a standalone task will result in an <code>TASK_NOT_VALID</code>
1018
- * failure. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html">API failure
1019
- * reasons</a>.</p>
1020
- * </note>
1021
- * <important>
1022
- * <p>If you prefer to set task protection from within the container, we recommend using
1023
- * the <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-scale-in-protection-endpoint.html">Task scale-in protection endpoint</a>.</p>
1024
- * </important>
385
+ * @see {@link UpdateTaskProtectionCommand}
1025
386
  */
1026
387
  updateTaskProtection(args: UpdateTaskProtectionCommandInput, options?: __HttpHandlerOptions): Promise<UpdateTaskProtectionCommandOutput>;
1027
388
  updateTaskProtection(args: UpdateTaskProtectionCommandInput, cb: (err: any, data?: UpdateTaskProtectionCommandOutput) => void): void;
1028
389
  updateTaskProtection(args: UpdateTaskProtectionCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateTaskProtectionCommandOutput) => void): void;
1029
390
  /**
1030
- * @public
1031
- * <p>Modifies a task set. This is used when a service uses the <code>EXTERNAL</code>
1032
- * deployment controller type. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html">Amazon ECS Deployment
1033
- * Types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
391
+ * @see {@link UpdateTaskSetCommand}
1034
392
  */
1035
393
  updateTaskSet(args: UpdateTaskSetCommandInput, options?: __HttpHandlerOptions): Promise<UpdateTaskSetCommandOutput>;
1036
394
  updateTaskSet(args: UpdateTaskSetCommandInput, cb: (err: any, data?: UpdateTaskSetCommandOutput) => void): void;
1037
395
  updateTaskSet(args: UpdateTaskSetCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: UpdateTaskSetCommandOutput) => void): void;
1038
396
  }
397
+ /**
398
+ * @public
399
+ * <fullname>Amazon Elastic Container Service</fullname>
400
+ * <p>Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes
401
+ * it easy to run, stop, and manage Docker containers. You can host your cluster on a
402
+ * serverless infrastructure that's managed by Amazon ECS by launching your services or tasks on
403
+ * Fargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)
404
+ * or External (on-premises) instances that you manage.</p>
405
+ * <p>Amazon ECS makes it easy to launch and stop container-based applications with simple API
406
+ * calls. This makes it easy to get the state of your cluster from a centralized service,
407
+ * and gives you access to many familiar Amazon EC2 features.</p>
408
+ * <p>You can use Amazon ECS to schedule the placement of containers across your cluster based on
409
+ * your resource needs, isolation policies, and availability requirements. With Amazon ECS, you
410
+ * don't need to operate your own cluster management and configuration management systems.
411
+ * You also don't need to worry about scaling your management infrastructure.</p>
412
+ */
413
+ export declare class ECS extends ECSClient implements ECS {
414
+ }