@aws-sdk/client-ecs 3.899.0 → 3.901.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist-cjs/index.js +395 -65
  2. package/dist-es/models/models_0.js +111 -93
  3. package/dist-es/models/models_1.js +69 -0
  4. package/dist-es/protocols/Aws_json1_1.js +227 -14
  5. package/dist-types/commands/CreateCapacityProviderCommand.d.ts +188 -9
  6. package/dist-types/commands/CreateServiceCommand.d.ts +4 -4
  7. package/dist-types/commands/CreateTaskSetCommand.d.ts +2 -2
  8. package/dist-types/commands/DeleteCapacityProviderCommand.d.ts +99 -2
  9. package/dist-types/commands/DeleteClusterCommand.d.ts +3 -0
  10. package/dist-types/commands/DeleteServiceCommand.d.ts +3 -3
  11. package/dist-types/commands/DeleteTaskDefinitionsCommand.d.ts +2 -2
  12. package/dist-types/commands/DeleteTaskSetCommand.d.ts +1 -1
  13. package/dist-types/commands/DeregisterTaskDefinitionCommand.d.ts +2 -2
  14. package/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +99 -2
  15. package/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +1 -1
  16. package/dist-types/commands/DescribeServicesCommand.d.ts +3 -3
  17. package/dist-types/commands/DescribeTaskDefinitionCommand.d.ts +2 -2
  18. package/dist-types/commands/DescribeTaskSetsCommand.d.ts +1 -1
  19. package/dist-types/commands/DescribeTasksCommand.d.ts +1 -1
  20. package/dist-types/commands/ListServicesCommand.d.ts +1 -1
  21. package/dist-types/commands/ListTasksCommand.d.ts +1 -1
  22. package/dist-types/commands/PutAccountSettingDefaultCommand.d.ts +1 -1
  23. package/dist-types/commands/PutAttributesCommand.d.ts +1 -1
  24. package/dist-types/commands/PutClusterCapacityProvidersCommand.d.ts +2 -1
  25. package/dist-types/commands/RegisterContainerInstanceCommand.d.ts +1 -1
  26. package/dist-types/commands/RegisterTaskDefinitionCommand.d.ts +4 -4
  27. package/dist-types/commands/RunTaskCommand.d.ts +3 -3
  28. package/dist-types/commands/StartTaskCommand.d.ts +2 -2
  29. package/dist-types/commands/StopServiceDeploymentCommand.d.ts +1 -1
  30. package/dist-types/commands/StopTaskCommand.d.ts +2 -3
  31. package/dist-types/commands/UpdateCapacityProviderCommand.d.ts +188 -2
  32. package/dist-types/commands/UpdateServiceCommand.d.ts +3 -3
  33. package/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +1 -1
  34. package/dist-types/commands/UpdateTaskSetCommand.d.ts +1 -1
  35. package/dist-types/models/models_0.d.ts +8091 -8904
  36. package/dist-types/models/models_1.d.ts +1488 -2
  37. package/dist-types/ts3.4/commands/PutAccountSettingDefaultCommand.d.ts +1 -1
  38. package/dist-types/ts3.4/commands/PutAttributesCommand.d.ts +1 -1
  39. package/dist-types/ts3.4/commands/PutClusterCapacityProvidersCommand.d.ts +1 -1
  40. package/dist-types/ts3.4/commands/RegisterContainerInstanceCommand.d.ts +1 -1
  41. package/dist-types/ts3.4/commands/RegisterTaskDefinitionCommand.d.ts +1 -1
  42. package/dist-types/ts3.4/commands/RunTaskCommand.d.ts +1 -1
  43. package/dist-types/ts3.4/commands/StartTaskCommand.d.ts +1 -1
  44. package/dist-types/ts3.4/commands/StopServiceDeploymentCommand.d.ts +1 -1
  45. package/dist-types/ts3.4/commands/StopTaskCommand.d.ts +1 -2
  46. package/dist-types/ts3.4/models/models_0.d.ts +217 -205
  47. package/dist-types/ts3.4/models/models_1.d.ts +233 -1
  48. package/package.json +39 -39
@@ -1,6 +1,1425 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
2
  import { ECSServiceException as __BaseException } from "./ECSServiceException";
3
- import { AvailabilityZoneRebalancing, CapacityProvider, CapacityProviderStrategyItem, Cluster, ClusterConfiguration, ClusterServiceConnectDefaultsRequest, ClusterSetting, ContainerInstance, ContainerInstanceStatus, DeploymentConfiguration, DeploymentController, Failure, LoadBalancer, ManagedAgentName, ManagedDraining, ManagedScaling, ManagedTerminationProtection, NetworkBinding, NetworkConfiguration, PlacementConstraint, PlacementStrategy, PropagateTags, ProtectedTask, Scale, Service, ServiceConnectConfiguration, ServiceRegistry, ServiceVolumeConfiguration, Tag, Task, TaskSet, VpcLatticeConfiguration } from "./models_0";
3
+ import { Attribute, AvailabilityZoneRebalancing, CapacityProvider, CapacityProviderStrategyItem, Cluster, ClusterConfiguration, ClusterServiceConnectDefaultsRequest, ClusterSetting, Compatibility, ContainerDefinition, ContainerInstance, ContainerInstanceStatus, DeploymentConfiguration, DeploymentController, EBSTagSpecification, EphemeralStorage, Failure, InferenceAccelerator, InstanceRequirementsRequest, IpcMode, LaunchType, LoadBalancer, ManagedAgentName, ManagedDraining, ManagedInstancesMonitoringOptions, ManagedInstancesNetworkConfiguration, ManagedInstancesStorageConfiguration, ManagedScaling, ManagedTerminationProtection, NetworkBinding, NetworkConfiguration, NetworkMode, PidMode, PlacementConstraint, PlacementStrategy, PropagateMITags, PropagateTags, ProtectedTask, ProxyConfiguration, Resource, RuntimePlatform, Scale, Service, ServiceConnectConfiguration, ServiceRegistry, ServiceVolumeConfiguration, Setting, SettingName, Tag, Task, TaskDefinition, TaskDefinitionPlacementConstraint, TaskFilesystemType, TaskOverride, TaskSet, VersionInfo, Volume, VpcLatticeConfiguration } from "./models_0";
4
+ /**
5
+ * @public
6
+ */
7
+ export interface PutAccountSettingDefaultRequest {
8
+ /**
9
+ * <p>The resource name for which to modify the account setting.</p>
10
+ * <p>The following are the valid values for the account setting name.</p>
11
+ * <ul>
12
+ * <li>
13
+ * <p>
14
+ * <code>serviceLongArnFormat</code> - When modified, the Amazon Resource Name
15
+ * (ARN) and resource ID format of the resource type for a specified user, role, or
16
+ * the root user for an account is affected. The opt-in and opt-out account setting
17
+ * must be set for each Amazon ECS resource separately. The ARN and resource ID format
18
+ * of a resource is defined by the opt-in status of the user or role that created
19
+ * the resource. You must turn on this setting to use Amazon ECS features such as
20
+ * resource tagging.</p>
21
+ * </li>
22
+ * <li>
23
+ * <p>
24
+ * <code>taskLongArnFormat</code> - When modified, the Amazon Resource Name (ARN)
25
+ * and resource ID format of the resource type for a specified user, role, or the
26
+ * root user for an account is affected. The opt-in and opt-out account setting must
27
+ * be set for each Amazon ECS resource separately. The ARN and resource ID format of a
28
+ * resource is defined by the opt-in status of the user or role that created the
29
+ * resource. You must turn on this setting to use Amazon ECS features such as resource
30
+ * tagging.</p>
31
+ * </li>
32
+ * <li>
33
+ * <p>
34
+ * <code>containerInstanceLongArnFormat</code> - When modified, the Amazon
35
+ * Resource Name (ARN) and resource ID format of the resource type for a specified
36
+ * user, role, or the root user for an account is affected. The opt-in and opt-out
37
+ * account setting must be set for each Amazon ECS resource separately. The ARN and
38
+ * resource ID format of a resource is defined by the opt-in status of the user or
39
+ * role that created the resource. You must turn on this setting to use Amazon ECS
40
+ * features such as resource tagging.</p>
41
+ * </li>
42
+ * <li>
43
+ * <p>
44
+ * <code>awsvpcTrunking</code> - When modified, the elastic network interface
45
+ * (ENI) limit for any new container instances that support the feature is changed.
46
+ * If <code>awsvpcTrunking</code> is turned on, any new container instances that
47
+ * support the feature are launched have the increased ENI limits available to
48
+ * them. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html">Elastic
49
+ * Network Interface Trunking</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
50
+ * </li>
51
+ * <li>
52
+ * <p>
53
+ * <code>containerInsights</code> - Container Insights with enhanced
54
+ * observability provides all the Container Insights metrics, plus additional task
55
+ * and container metrics. This version supports enhanced observability for Amazon ECS
56
+ * clusters using the Amazon EC2 and Fargate launch types. After you configure
57
+ * Container Insights with enhanced observability on Amazon ECS, Container Insights
58
+ * auto-collects detailed infrastructure telemetry from the cluster level down to
59
+ * the container level in your environment and displays these critical performance
60
+ * data in curated dashboards removing the heavy lifting in observability set-up. </p>
61
+ * <p>To use Container Insights with enhanced observability, set the
62
+ * <code>containerInsights</code> account setting to
63
+ * <code>enhanced</code>.</p>
64
+ * <p>To use Container Insights, set the <code>containerInsights</code> account
65
+ * setting to <code>enabled</code>.</p>
66
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html">Monitor Amazon ECS containers using Container Insights with enhanced
67
+ * observability</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
68
+ * </li>
69
+ * <li>
70
+ * <p>
71
+ * <code>dualStackIPv6</code> - When turned on, when using a VPC in dual stack
72
+ * mode, your tasks using the <code>awsvpc</code> network mode can have an IPv6
73
+ * address assigned. For more information on using IPv6 with tasks launched on
74
+ * Amazon EC2 instances, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking-awsvpc.html#task-networking-vpc-dual-stack">Using a VPC in dual-stack mode</a>. For more information on using IPv6
75
+ * with tasks launched on Fargate, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-task-networking.html#fargate-task-networking-vpc-dual-stack">Using a VPC in dual-stack mode</a>.</p>
76
+ * </li>
77
+ * <li>
78
+ * <p>
79
+ * <code>fargateFIPSMode</code> - If you specify <code>fargateFIPSMode</code>,
80
+ * Fargate FIPS 140 compliance is affected.</p>
81
+ * </li>
82
+ * <li>
83
+ * <p>
84
+ * <code>fargateTaskRetirementWaitPeriod</code> - When Amazon Web Services determines that a
85
+ * security or infrastructure update is needed for an Amazon ECS task hosted on
86
+ * Fargate, the tasks need to be stopped and new tasks launched to replace them.
87
+ * Use <code>fargateTaskRetirementWaitPeriod</code> to configure the wait time to
88
+ * retire a Fargate task. For information about the Fargate tasks maintenance,
89
+ * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html">Amazon Web Services Fargate
90
+ * task maintenance</a> in the <i>Amazon ECS Developer
91
+ * Guide</i>.</p>
92
+ * </li>
93
+ * <li>
94
+ * <p>
95
+ * <code>tagResourceAuthorization</code> - Amazon ECS is introducing tagging
96
+ * authorization for resource creation. Users must have permissions for actions
97
+ * that create the resource, such as <code>ecsCreateCluster</code>. If tags are
98
+ * specified when you create a resource, Amazon Web Services performs additional authorization to
99
+ * verify if users or roles have permissions to create tags. Therefore, you must
100
+ * grant explicit permissions to use the <code>ecs:TagResource</code> action. For
101
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/supported-iam-actions-tagging.html">Grant permission to tag resources on creation</a> in the
102
+ * <i>Amazon ECS Developer Guide</i>.</p>
103
+ * </li>
104
+ * <li>
105
+ * <p>
106
+ * <code>defaultLogDriverMode</code> -Amazon ECS supports setting a default delivery
107
+ * mode of log messages from a container to the <code>logDriver</code> that you specify in the container's <code>logConfiguration</code>. The delivery mode affects
108
+ * application stability when the flow of logs from the container to the log driver is
109
+ * interrupted. The <code>defaultLogDriverMode</code> setting supports two values:
110
+ * <code>blocking</code> and <code>non-blocking</code>. If you don't specify a
111
+ * delivery mode in your container definition's <code>logConfiguration</code>, the
112
+ * mode you specify using this account setting will be used as the default. For
113
+ * more information about log delivery modes, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html">LogConfiguration</a>.</p>
114
+ * <note>
115
+ * <p>On June 25, 2025, Amazon ECS changed the default log driver mode from <code>blocking</code> to <code>non-blocking</code> to prioritize task availability over logging. To continue using the <code>blocking</code> mode after this change, do one of the following:</p>
116
+ * <ul>
117
+ * <li>
118
+ * <p>Set the <code>mode</code> option in your container definition's <code>logConfiguration</code> as <code>blocking</code>.</p>
119
+ * </li>
120
+ * <li>
121
+ * <p>Set the <code>defaultLogDriverMode</code> account setting to <code>blocking</code>.</p>
122
+ * </li>
123
+ * </ul>
124
+ * </note>
125
+ * </li>
126
+ * <li>
127
+ * <p>
128
+ * <code>guardDutyActivate</code> - The <code>guardDutyActivate</code> parameter is read-only in Amazon ECS and indicates whether
129
+ * Amazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your
130
+ * Amazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-guard-duty-integration.html">Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring</a>.</p>
131
+ * </li>
132
+ * </ul>
133
+ * @public
134
+ */
135
+ name: SettingName | undefined;
136
+ /**
137
+ * <p>The account setting value for the specified principal ARN. Accepted values are
138
+ * <code>enabled</code>, <code>disabled</code>, <code>on</code>, <code>enhanced</code>,
139
+ * and <code>off</code>.</p>
140
+ * <p>When you specify <code>fargateTaskRetirementWaitPeriod</code> for the
141
+ * <code>name</code>, the following are the valid values:</p>
142
+ * <ul>
143
+ * <li>
144
+ * <p>
145
+ * <code>0</code> - Amazon Web Services sends the notification, and immediately retires the
146
+ * affected tasks.</p>
147
+ * </li>
148
+ * <li>
149
+ * <p>
150
+ * <code>7</code> - Amazon Web Services sends the notification, and waits 7 calendar days to
151
+ * retire the tasks.</p>
152
+ * </li>
153
+ * <li>
154
+ * <p>
155
+ * <code>14</code> - Amazon Web Services sends the notification, and waits 14 calendar days to
156
+ * retire the tasks.</p>
157
+ * </li>
158
+ * </ul>
159
+ * @public
160
+ */
161
+ value: string | undefined;
162
+ }
163
+ /**
164
+ * @public
165
+ */
166
+ export interface PutAccountSettingDefaultResponse {
167
+ /**
168
+ * <p>The current setting for a resource.</p>
169
+ * @public
170
+ */
171
+ setting?: Setting | undefined;
172
+ }
173
+ /**
174
+ * <p>You can apply up to 10 custom attributes for each resource. You can view the
175
+ * attributes of a resource with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListAttributes.html">ListAttributes</a>.
176
+ * You can remove existing attributes on a resource with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteAttributes.html">DeleteAttributes</a>.</p>
177
+ * @public
178
+ */
179
+ export declare class AttributeLimitExceededException extends __BaseException {
180
+ readonly name: "AttributeLimitExceededException";
181
+ readonly $fault: "client";
182
+ /**
183
+ * @internal
184
+ */
185
+ constructor(opts: __ExceptionOptionType<AttributeLimitExceededException, __BaseException>);
186
+ }
187
+ /**
188
+ * @public
189
+ */
190
+ export interface PutAttributesRequest {
191
+ /**
192
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply
193
+ * attributes. If you do not specify a cluster, the default cluster is assumed.</p>
194
+ * @public
195
+ */
196
+ cluster?: string | undefined;
197
+ /**
198
+ * <p>The attributes to apply to your resource. You can specify up to 10 custom attributes
199
+ * for each resource. You can specify up to 10 attributes in a single call.</p>
200
+ * @public
201
+ */
202
+ attributes: Attribute[] | undefined;
203
+ }
204
+ /**
205
+ * @public
206
+ */
207
+ export interface PutAttributesResponse {
208
+ /**
209
+ * <p>The attributes applied to your resource.</p>
210
+ * @public
211
+ */
212
+ attributes?: Attribute[] | undefined;
213
+ }
214
+ /**
215
+ * @public
216
+ */
217
+ export interface PutClusterCapacityProvidersRequest {
218
+ /**
219
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider
220
+ * settings for. If you don't specify a cluster, the default cluster is assumed.</p>
221
+ * @public
222
+ */
223
+ cluster: string | undefined;
224
+ /**
225
+ * <p>The name of one or more capacity providers to associate with the cluster.</p>
226
+ * <p>If specifying a capacity provider that uses an Auto Scaling group, the capacity
227
+ * provider must already be created. New capacity providers can be created with the <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html">CreateCapacityProvider</a> API operation.</p>
228
+ * <p>To use a Fargate capacity provider, specify either the <code>FARGATE</code> or
229
+ * <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers are
230
+ * available to all accounts and only need to be associated with a cluster to be
231
+ * used.</p>
232
+ * @public
233
+ */
234
+ capacityProviders: string[] | undefined;
235
+ /**
236
+ * <p>The capacity provider strategy to use by default for the cluster.</p>
237
+ * <p>When creating a service or running a task on a cluster, if no capacity provider or
238
+ * launch type is specified then the default capacity provider strategy for the cluster is
239
+ * used.</p>
240
+ * <p>A capacity provider strategy consists of one or more capacity providers along with the
241
+ * <code>base</code> and <code>weight</code> to assign to them. A capacity provider
242
+ * must be associated with the cluster to be used in a capacity provider strategy. The
243
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutClusterCapacityProviders.html">PutClusterCapacityProviders</a> API is used to associate a capacity provider
244
+ * with a cluster. Only capacity providers with an <code>ACTIVE</code> or
245
+ * <code>UPDATING</code> status can be used.</p>
246
+ * <p>If specifying a capacity provider that uses an Auto Scaling group, the capacity
247
+ * provider must already be created. New capacity providers can be created with the <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html">CreateCapacityProvider</a> API operation.</p>
248
+ * <p>To use a Fargate capacity provider, specify either the <code>FARGATE</code> or
249
+ * <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers are
250
+ * available to all accounts and only need to be associated with a cluster to be
251
+ * used.</p>
252
+ * @public
253
+ */
254
+ defaultCapacityProviderStrategy: CapacityProviderStrategyItem[] | undefined;
255
+ }
256
+ /**
257
+ * @public
258
+ */
259
+ export interface PutClusterCapacityProvidersResponse {
260
+ /**
261
+ * <p>Details about the cluster.</p>
262
+ * @public
263
+ */
264
+ cluster?: Cluster | undefined;
265
+ }
266
+ /**
267
+ * <p>The specified resource is in-use and can't be removed.</p>
268
+ * @public
269
+ */
270
+ export declare class ResourceInUseException extends __BaseException {
271
+ readonly name: "ResourceInUseException";
272
+ readonly $fault: "client";
273
+ /**
274
+ * @internal
275
+ */
276
+ constructor(opts: __ExceptionOptionType<ResourceInUseException, __BaseException>);
277
+ }
278
+ /**
279
+ * @public
280
+ * @enum
281
+ */
282
+ export declare const PlatformDeviceType: {
283
+ readonly GPU: "GPU";
284
+ };
285
+ /**
286
+ * @public
287
+ */
288
+ export type PlatformDeviceType = (typeof PlatformDeviceType)[keyof typeof PlatformDeviceType];
289
+ /**
290
+ * <p>The devices that are available on the container instance. The only supported device
291
+ * type is a GPU.</p>
292
+ * @public
293
+ */
294
+ export interface PlatformDevice {
295
+ /**
296
+ * <p>The ID for the GPUs on the container instance. The available GPU IDs can also be
297
+ * obtained on the container instance in the
298
+ * <code>/var/lib/ecs/gpu/nvidia_gpu_info.json</code> file.</p>
299
+ * @public
300
+ */
301
+ id: string | undefined;
302
+ /**
303
+ * <p>The type of device that's available on the container instance. The only supported
304
+ * value is <code>GPU</code>.</p>
305
+ * @public
306
+ */
307
+ type: PlatformDeviceType | undefined;
308
+ }
309
+ /**
310
+ * @public
311
+ */
312
+ export interface RegisterContainerInstanceRequest {
313
+ /**
314
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster to register your container instance
315
+ * with. If you do not specify a cluster, the default cluster is assumed.</p>
316
+ * @public
317
+ */
318
+ cluster?: string | undefined;
319
+ /**
320
+ * <p>The instance identity document for the EC2 instance to register. This document can be
321
+ * found by running the following command from the instance: <code>curl
322
+ * http://169.254.169.254/latest/dynamic/instance-identity/document/</code>
323
+ * </p>
324
+ * @public
325
+ */
326
+ instanceIdentityDocument?: string | undefined;
327
+ /**
328
+ * <p>The instance identity document signature for the EC2 instance to register. This
329
+ * signature can be found by running the following command from the instance: <code>curl
330
+ * http://169.254.169.254/latest/dynamic/instance-identity/signature/</code>
331
+ * </p>
332
+ * @public
333
+ */
334
+ instanceIdentityDocumentSignature?: string | undefined;
335
+ /**
336
+ * <p>The resources available on the instance.</p>
337
+ * @public
338
+ */
339
+ totalResources?: Resource[] | undefined;
340
+ /**
341
+ * <p>The version information for the Amazon ECS container agent and Docker daemon that runs on
342
+ * the container instance.</p>
343
+ * @public
344
+ */
345
+ versionInfo?: VersionInfo | undefined;
346
+ /**
347
+ * <p>The ARN of the container instance (if it was previously registered).</p>
348
+ * @public
349
+ */
350
+ containerInstanceArn?: string | undefined;
351
+ /**
352
+ * <p>The container instance attributes that this container instance supports.</p>
353
+ * @public
354
+ */
355
+ attributes?: Attribute[] | undefined;
356
+ /**
357
+ * <p>The devices that are available on the container instance. The only supported device
358
+ * type is a GPU.</p>
359
+ * @public
360
+ */
361
+ platformDevices?: PlatformDevice[] | undefined;
362
+ /**
363
+ * <p>The metadata that you apply to the container instance to help you categorize and
364
+ * organize them. Each tag consists of a key and an optional value. You define both.</p>
365
+ * <p>The following basic restrictions apply to tags:</p>
366
+ * <ul>
367
+ * <li>
368
+ * <p>Maximum number of tags per resource - 50</p>
369
+ * </li>
370
+ * <li>
371
+ * <p>For each resource, each tag key must be unique, and each tag key can have only
372
+ * one value.</p>
373
+ * </li>
374
+ * <li>
375
+ * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
376
+ * </li>
377
+ * <li>
378
+ * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
379
+ * </li>
380
+ * <li>
381
+ * <p>If your tagging schema is used across multiple services and resources,
382
+ * remember that other services may have restrictions on allowed characters.
383
+ * Generally allowed characters are: letters, numbers, and spaces representable in
384
+ * UTF-8, and the following characters: + - = . _ : / @.</p>
385
+ * </li>
386
+ * <li>
387
+ * <p>Tag keys and values are case-sensitive.</p>
388
+ * </li>
389
+ * <li>
390
+ * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
391
+ * combination of such as a prefix for either keys or values as it is reserved for
392
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
393
+ * this prefix do not count against your tags per resource limit.</p>
394
+ * </li>
395
+ * </ul>
396
+ * @public
397
+ */
398
+ tags?: Tag[] | undefined;
399
+ }
400
+ /**
401
+ * @public
402
+ */
403
+ export interface RegisterContainerInstanceResponse {
404
+ /**
405
+ * <p>The container instance that was registered.</p>
406
+ * @public
407
+ */
408
+ containerInstance?: ContainerInstance | undefined;
409
+ }
410
+ /**
411
+ * @public
412
+ */
413
+ export interface RegisterTaskDefinitionRequest {
414
+ /**
415
+ * <p>You must specify a <code>family</code> for a task definition. You can use it track
416
+ * multiple versions of the same task definition. The <code>family</code> is used as a name
417
+ * for your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.</p>
418
+ * @public
419
+ */
420
+ family: string | undefined;
421
+ /**
422
+ * <p>The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can
423
+ * assume. All containers in this task are granted the permissions that are specified in
424
+ * this role. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html">IAM Roles for
425
+ * Tasks</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
426
+ * @public
427
+ */
428
+ taskRoleArn?: string | undefined;
429
+ /**
430
+ * <p>The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent
431
+ * permission to make Amazon Web Services API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-ecs-iam-role-overview.html">IAM roles for Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
432
+ * @public
433
+ */
434
+ executionRoleArn?: string | undefined;
435
+ /**
436
+ * <p>The Docker networking mode to use for the containers in the task. The valid values are
437
+ * <code>none</code>, <code>bridge</code>, <code>awsvpc</code>, and <code>host</code>.
438
+ * If no network mode is specified, the default is <code>bridge</code>.</p>
439
+ * <p>For Amazon ECS tasks on Fargate, the <code>awsvpc</code> network mode is required.
440
+ * For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, <code><default></code> or <code>awsvpc</code> can be used. If the network
441
+ * mode is set to <code>none</code>, you cannot specify port mappings in your container
442
+ * definitions, and the tasks containers do not have external connectivity. The
443
+ * <code>host</code> and <code>awsvpc</code> network modes offer the highest networking
444
+ * performance for containers because they use the EC2 network stack instead of the
445
+ * virtualized network stack provided by the <code>bridge</code> mode.</p>
446
+ * <p>With the <code>host</code> and <code>awsvpc</code> network modes, exposed container
447
+ * ports are mapped directly to the corresponding host port (for the <code>host</code>
448
+ * network mode) or the attached elastic network interface port (for the
449
+ * <code>awsvpc</code> network mode), so you cannot take advantage of dynamic host port
450
+ * mappings. </p>
451
+ * <important>
452
+ * <p>When using the <code>host</code> network mode, you should not run
453
+ * containers using the root user (UID 0). It is considered best practice
454
+ * to use a non-root user.</p>
455
+ * </important>
456
+ * <p>If the network mode is <code>awsvpc</code>, the task is allocated an elastic network
457
+ * interface, and you must specify a <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html">NetworkConfiguration</a> value when you create
458
+ * a service or run a task with the task definition. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task Networking</a> in the
459
+ * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
460
+ * <p>If the network mode is <code>host</code>, you cannot run multiple instantiations of the
461
+ * same task on a single container instance when port mappings are used.</p>
462
+ * @public
463
+ */
464
+ networkMode?: NetworkMode | undefined;
465
+ /**
466
+ * <p>A list of container definitions in JSON format that describe the different containers
467
+ * that make up your task.</p>
468
+ * @public
469
+ */
470
+ containerDefinitions: ContainerDefinition[] | undefined;
471
+ /**
472
+ * <p>A list of volume definitions in JSON format that containers in your task might
473
+ * use.</p>
474
+ * @public
475
+ */
476
+ volumes?: Volume[] | undefined;
477
+ /**
478
+ * <p>An array of placement constraint objects to use for the task. You can specify a
479
+ * maximum of 10 constraints for each task. This limit includes constraints in the task
480
+ * definition and those specified at runtime.</p>
481
+ * @public
482
+ */
483
+ placementConstraints?: TaskDefinitionPlacementConstraint[] | undefined;
484
+ /**
485
+ * <p>The task launch type that Amazon ECS validates the task definition against. A client
486
+ * exception is returned if the task definition doesn't validate against the
487
+ * compatibilities specified. If no value is specified, the parameter is omitted from the
488
+ * response.</p>
489
+ * @public
490
+ */
491
+ requiresCompatibilities?: Compatibility[] | undefined;
492
+ /**
493
+ * <p>The number of CPU units used by the task. It can be expressed as an integer using CPU
494
+ * units (for example, <code>1024</code>) or as a string using vCPUs (for example, <code>1
495
+ * vCPU</code> or <code>1 vcpu</code>) in a task definition. String values are
496
+ * converted to an integer indicating the CPU units when the task definition is
497
+ * registered.</p>
498
+ * <note>
499
+ * <p>Task-level CPU and memory parameters are ignored for Windows containers. We
500
+ * recommend specifying container-level resources for Windows containers.</p>
501
+ * </note>
502
+ * <p>If you're using the EC2 launch type or external launch type, this field
503
+ * is optional. Supported values are between <code>128</code> CPU units (<code>0.125</code>
504
+ * vCPUs) and <code>196608</code> CPU units (<code>192</code> vCPUs). If you do not specify
505
+ * a value, the parameter is ignored.</p>
506
+ * <p>This field is required for Fargate. For information about the valid values, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#task_size">Task size</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
507
+ * @public
508
+ */
509
+ cpu?: string | undefined;
510
+ /**
511
+ * <p>The amount of memory (in MiB) used by the task. It can be expressed as an integer
512
+ * using MiB (for example ,<code>1024</code>) or as a string using GB (for example,
513
+ * <code>1GB</code> or <code>1 GB</code>) in a task definition. String values are
514
+ * converted to an integer indicating the MiB when the task definition is
515
+ * registered.</p>
516
+ * <note>
517
+ * <p>Task-level CPU and memory parameters are ignored for Windows containers. We
518
+ * recommend specifying container-level resources for Windows containers.</p>
519
+ * </note>
520
+ * <p>If using the EC2 launch type, this field is optional.</p>
521
+ * <p>If using the Fargate launch type, this field is required and you must
522
+ * use one of the following values. This determines your range of supported values for the
523
+ * <code>cpu</code> parameter.</p>
524
+ * <p>The CPU units cannot be less than 1 vCPU when you use Windows containers on
525
+ * Fargate.</p>
526
+ * <ul>
527
+ * <li>
528
+ * <p>512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available <code>cpu</code> values: 256 (.25 vCPU)</p>
529
+ * </li>
530
+ * <li>
531
+ * <p>1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available <code>cpu</code> values: 512 (.5 vCPU)</p>
532
+ * </li>
533
+ * <li>
534
+ * <p>2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available <code>cpu</code> values: 1024 (1 vCPU)</p>
535
+ * </li>
536
+ * <li>
537
+ * <p>Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available <code>cpu</code> values: 2048 (2 vCPU)</p>
538
+ * </li>
539
+ * <li>
540
+ * <p>Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available <code>cpu</code> values: 4096 (4 vCPU)</p>
541
+ * </li>
542
+ * <li>
543
+ * <p>Between 16 GB and 60 GB in 4 GB increments - Available <code>cpu</code> values: 8192 (8 vCPU)</p>
544
+ * <p>This option requires Linux platform <code>1.4.0</code> or
545
+ * later.</p>
546
+ * </li>
547
+ * <li>
548
+ * <p>Between 32GB and 120 GB in 8 GB increments - Available <code>cpu</code> values: 16384 (16 vCPU)</p>
549
+ * <p>This option requires Linux platform <code>1.4.0</code> or
550
+ * later.</p>
551
+ * </li>
552
+ * </ul>
553
+ * @public
554
+ */
555
+ memory?: string | undefined;
556
+ /**
557
+ * <p>The metadata that you apply to the task definition to help you categorize and organize
558
+ * them. Each tag consists of a key and an optional value. You define both of them.</p>
559
+ * <p>The following basic restrictions apply to tags:</p>
560
+ * <ul>
561
+ * <li>
562
+ * <p>Maximum number of tags per resource - 50</p>
563
+ * </li>
564
+ * <li>
565
+ * <p>For each resource, each tag key must be unique, and each tag key can have only
566
+ * one value.</p>
567
+ * </li>
568
+ * <li>
569
+ * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
570
+ * </li>
571
+ * <li>
572
+ * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
573
+ * </li>
574
+ * <li>
575
+ * <p>If your tagging schema is used across multiple services and resources,
576
+ * remember that other services may have restrictions on allowed characters.
577
+ * Generally allowed characters are: letters, numbers, and spaces representable in
578
+ * UTF-8, and the following characters: + - = . _ : / @.</p>
579
+ * </li>
580
+ * <li>
581
+ * <p>Tag keys and values are case-sensitive.</p>
582
+ * </li>
583
+ * <li>
584
+ * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
585
+ * combination of such as a prefix for either keys or values as it is reserved for
586
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
587
+ * this prefix do not count against your tags per resource limit.</p>
588
+ * </li>
589
+ * </ul>
590
+ * @public
591
+ */
592
+ tags?: Tag[] | undefined;
593
+ /**
594
+ * <p>The process namespace to use for the containers in the task. The valid
595
+ * values are <code>host</code> or <code>task</code>. On Fargate for
596
+ * Linux containers, the only valid value is <code>task</code>. For
597
+ * example, monitoring sidecars might need <code>pidMode</code> to access
598
+ * information about other containers running in the same task.</p>
599
+ * <p>If <code>host</code> is specified, all containers within the tasks
600
+ * that specified the <code>host</code> PID mode on the same container
601
+ * instance share the same process namespace with the host Amazon EC2
602
+ * instance.</p>
603
+ * <p>If <code>task</code> is specified, all containers within the specified
604
+ * task share the same process namespace.</p>
605
+ * <p>If no value is specified, the
606
+ * default is a private namespace for each container.</p>
607
+ * <p>If the <code>host</code> PID mode is used, there's a heightened risk
608
+ * of undesired process namespace exposure.</p>
609
+ * <note>
610
+ * <p>This parameter is not supported for Windows containers.</p>
611
+ * </note>
612
+ * <note>
613
+ * <p>This parameter is only supported for tasks that are hosted on
614
+ * Fargate if the tasks are using platform version <code>1.4.0</code> or later
615
+ * (Linux). This isn't supported for Windows containers on
616
+ * Fargate.</p>
617
+ * </note>
618
+ * @public
619
+ */
620
+ pidMode?: PidMode | undefined;
621
+ /**
622
+ * <p>The IPC resource namespace to use for the containers in the task. The valid values are
623
+ * <code>host</code>, <code>task</code>, or <code>none</code>. If <code>host</code> is
624
+ * specified, then all containers within the tasks that specified the <code>host</code> IPC
625
+ * mode on the same container instance share the same IPC resources with the host Amazon EC2
626
+ * instance. If <code>task</code> is specified, all containers within the specified task
627
+ * share the same IPC resources. If <code>none</code> is specified, then IPC resources
628
+ * within the containers of a task are private and not shared with other containers in a
629
+ * task or on the container instance. If no value is specified, then the IPC resource
630
+ * namespace sharing depends on the Docker daemon setting on the container instance.</p>
631
+ * <p>If the <code>host</code> IPC mode is used, be aware that there is a heightened risk of
632
+ * undesired IPC namespace expose.</p>
633
+ * <p>If you are setting namespaced kernel parameters using <code>systemControls</code> for
634
+ * the containers in the task, the following will apply to your IPC resource namespace. For
635
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html">System
636
+ * Controls</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
637
+ * <ul>
638
+ * <li>
639
+ * <p>For tasks that use the <code>host</code> IPC mode, IPC namespace related
640
+ * <code>systemControls</code> are not supported.</p>
641
+ * </li>
642
+ * <li>
643
+ * <p>For tasks that use the <code>task</code> IPC mode, IPC namespace related
644
+ * <code>systemControls</code> will apply to all containers within a
645
+ * task.</p>
646
+ * </li>
647
+ * </ul>
648
+ * <note>
649
+ * <p>This parameter is not supported for Windows containers or tasks run on Fargate.</p>
650
+ * </note>
651
+ * @public
652
+ */
653
+ ipcMode?: IpcMode | undefined;
654
+ /**
655
+ * <p>The configuration details for the App Mesh proxy.</p>
656
+ * <p>For tasks hosted on Amazon EC2 instances, the container instances require at least version
657
+ * <code>1.26.0</code> of the container agent and at least version
658
+ * <code>1.26.0-1</code> of the <code>ecs-init</code> package to use a proxy
659
+ * configuration. If your container instances are launched from the Amazon ECS-optimized
660
+ * AMI version <code>20190301</code> or later, then they contain the required versions of
661
+ * the container agent and <code>ecs-init</code>. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-ami-versions.html">Amazon ECS-optimized AMI versions</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
662
+ * @public
663
+ */
664
+ proxyConfiguration?: ProxyConfiguration | undefined;
665
+ /**
666
+ * <p>The Elastic Inference accelerators to use for the containers in the task.</p>
667
+ * @public
668
+ */
669
+ inferenceAccelerators?: InferenceAccelerator[] | undefined;
670
+ /**
671
+ * <p>The amount of ephemeral storage to allocate for the task. This parameter is used to
672
+ * expand the total amount of ephemeral storage available, beyond the default amount, for
673
+ * tasks hosted on Fargate. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html">Using data volumes in
674
+ * tasks</a> in the <i>Amazon ECS Developer Guide</i>.</p>
675
+ * <note>
676
+ * <p>For tasks using the Fargate launch type, the task requires the
677
+ * following platforms:</p>
678
+ * <ul>
679
+ * <li>
680
+ * <p>Linux platform version <code>1.4.0</code> or later.</p>
681
+ * </li>
682
+ * <li>
683
+ * <p>Windows platform version <code>1.0.0</code> or later.</p>
684
+ * </li>
685
+ * </ul>
686
+ * </note>
687
+ * @public
688
+ */
689
+ ephemeralStorage?: EphemeralStorage | undefined;
690
+ /**
691
+ * <p>The operating system that your tasks definitions run on. A platform family is
692
+ * specified only for tasks using the Fargate launch type. </p>
693
+ * @public
694
+ */
695
+ runtimePlatform?: RuntimePlatform | undefined;
696
+ /**
697
+ * <p>Enables fault injection when you register your task definition and allows for fault
698
+ * injection requests to be accepted from the task's containers. The default value is
699
+ * <code>false</code>.</p>
700
+ * @public
701
+ */
702
+ enableFaultInjection?: boolean | undefined;
703
+ }
704
+ /**
705
+ * @public
706
+ */
707
+ export interface RegisterTaskDefinitionResponse {
708
+ /**
709
+ * <p>The full description of the registered task definition.</p>
710
+ * @public
711
+ */
712
+ taskDefinition?: TaskDefinition | undefined;
713
+ /**
714
+ * <p>The list of tags associated with the task definition.</p>
715
+ * @public
716
+ */
717
+ tags?: Tag[] | undefined;
718
+ }
719
+ /**
720
+ * <p>Your Amazon Web Services account was blocked. For more information, contact <a href="http://aws.amazon.com/contact-us/">
721
+ * Amazon Web Services Support</a>.</p>
722
+ * @public
723
+ */
724
+ export declare class BlockedException extends __BaseException {
725
+ readonly name: "BlockedException";
726
+ readonly $fault: "client";
727
+ /**
728
+ * @internal
729
+ */
730
+ constructor(opts: __ExceptionOptionType<BlockedException, __BaseException>);
731
+ }
732
+ /**
733
+ * <p>The request could not be processed because of conflict in the current state of the resource. </p>
734
+ * @public
735
+ */
736
+ export declare class ConflictException extends __BaseException {
737
+ readonly name: "ConflictException";
738
+ readonly $fault: "client";
739
+ /**
740
+ * <p>The existing task ARNs which are already associated with the
741
+ * <code>clientToken</code>.</p>
742
+ * @public
743
+ */
744
+ resourceIds?: string[] | undefined;
745
+ /**
746
+ * @internal
747
+ */
748
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
749
+ }
750
+ /**
751
+ * <p>The termination policy for the Amazon EBS volume when the task exits. For more information,
752
+ * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volume-types">Amazon ECS volume termination policy</a>.</p>
753
+ * @public
754
+ */
755
+ export interface TaskManagedEBSVolumeTerminationPolicy {
756
+ /**
757
+ * <p>Indicates whether the volume should be deleted on when the task stops. If a value of
758
+ * <code>true</code> is specified,
759
+ Amazon ECS deletes the Amazon EBS volume on your behalf when
760
+ * the task goes into the <code>STOPPED</code> state. If no value is specified, the
761
+ *
762
+ default value is <code>true</code> is used. When set to <code>false</code>, Amazon ECS
763
+ * leaves the volume in your
764
+ account.</p>
765
+ * @public
766
+ */
767
+ deleteOnTermination: boolean | undefined;
768
+ }
769
+ /**
770
+ * <p>The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.
771
+ * These settings are used to create each Amazon EBS volume, with one volume created for each
772
+ * task.</p>
773
+ * @public
774
+ */
775
+ export interface TaskManagedEBSVolumeConfiguration {
776
+ /**
777
+ * <p>Indicates whether the volume should be encrypted. If you turn on Region-level Amazon EBS
778
+ * encryption by default but set this value as <code>false</code>, the setting is
779
+ * overridden and the volume is encrypted with the KMS key specified for Amazon EBS encryption
780
+ * by default. This parameter maps 1:1 with the <code>Encrypted</code> parameter of the
781
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in the <i>Amazon EC2 API Reference</i>.</p>
782
+ * @public
783
+ */
784
+ encrypted?: boolean | undefined;
785
+ /**
786
+ * <p>The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key to use for Amazon EBS encryption. When a key
787
+ * is specified using this parameter, it overrides Amazon EBS default encryption or any KMS key
788
+ * that you specified for cluster-level managed storage encryption. This parameter maps 1:1
789
+ * with the <code>KmsKeyId</code> parameter of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in
790
+ * the <i>Amazon EC2 API Reference</i>. For more information about encrypting
791
+ * Amazon EBS volumes attached to a task, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-kms-encryption.html">Encrypt data stored in Amazon EBS volumes attached to Amazon ECS tasks</a>.</p>
792
+ * <important>
793
+ * <p>Amazon Web Services authenticates the Amazon Web Services Key Management Service key asynchronously. Therefore, if you specify an
794
+ * ID, alias, or ARN that is invalid, the action can appear to complete, but
795
+ * eventually fails.</p>
796
+ * </important>
797
+ * @public
798
+ */
799
+ kmsKeyId?: string | undefined;
800
+ /**
801
+ * <p>The volume type. This parameter maps 1:1 with the <code>VolumeType</code> parameter of
802
+ * the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in the <i>Amazon EC2 API Reference</i>. For more
803
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html">Amazon EBS volume types</a> in
804
+ * the <i>Amazon EC2 User Guide</i>.</p>
805
+ * <p>The following are the supported volume types.</p>
806
+ * <ul>
807
+ * <li>
808
+ * <p>General Purpose SSD: <code>gp2</code>|<code>gp3</code>
809
+ * </p>
810
+ * </li>
811
+ * <li>
812
+ * <p>Provisioned IOPS SSD: <code>io1</code>|<code>io2</code>
813
+ * </p>
814
+ * </li>
815
+ * <li>
816
+ * <p>Throughput Optimized HDD: <code>st1</code>
817
+ * </p>
818
+ * </li>
819
+ * <li>
820
+ * <p>Cold HDD: <code>sc1</code>
821
+ * </p>
822
+ * </li>
823
+ * <li>
824
+ * <p>Magnetic: <code>standard</code>
825
+ * </p>
826
+ * <note>
827
+ * <p>The magnetic volume type is not supported on Fargate.</p>
828
+ * </note>
829
+ * </li>
830
+ * </ul>
831
+ * @public
832
+ */
833
+ volumeType?: string | undefined;
834
+ /**
835
+ * <p>The size of the volume in GiB. You must specify either a volume size or a snapshot ID.
836
+ * If you specify a snapshot ID, the snapshot size is used for the volume size by default.
837
+ * You can optionally specify a volume size greater than or equal to the snapshot size.
838
+ * This parameter maps 1:1 with the <code>Size</code> parameter of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in the <i>Amazon EC2 API Reference</i>.</p>
839
+ * <p>The following are the supported volume size values for each volume type.</p>
840
+ * <ul>
841
+ * <li>
842
+ * <p>
843
+ * <code>gp2</code> and <code>gp3</code>: 1-16,384</p>
844
+ * </li>
845
+ * <li>
846
+ * <p>
847
+ * <code>io1</code> and <code>io2</code>: 4-16,384</p>
848
+ * </li>
849
+ * <li>
850
+ * <p>
851
+ * <code>st1</code> and <code>sc1</code>: 125-16,384</p>
852
+ * </li>
853
+ * <li>
854
+ * <p>
855
+ * <code>standard</code>: 1-1,024</p>
856
+ * </li>
857
+ * </ul>
858
+ * @public
859
+ */
860
+ sizeInGiB?: number | undefined;
861
+ /**
862
+ * <p>The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot
863
+ * ID or a volume size. This parameter maps 1:1 with the <code>SnapshotId</code> parameter
864
+ * of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in
865
+ * the <i>Amazon EC2 API Reference</i>.</p>
866
+ * @public
867
+ */
868
+ snapshotId?: string | undefined;
869
+ /**
870
+ * <p>The rate, in MiB/s, at which data is fetched from a snapshot of an existing Amazon EBS
871
+ * volume to create a new volume for attachment to the task. This property can be specified
872
+ * only if you specify a <code>snapshotId</code>. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html">Initialize Amazon EBS volumes</a> in the <i>Amazon EBS User
873
+ * Guide</i>.</p>
874
+ * @public
875
+ */
876
+ volumeInitializationRate?: number | undefined;
877
+ /**
878
+ * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>,
879
+ * <code>io1</code>, and <code>io2</code> volumes, this represents the number of IOPS that
880
+ * are provisioned for the volume. For <code>gp2</code> volumes, this represents the
881
+ * baseline performance of the volume and the rate at which the volume accumulates I/O
882
+ * credits for bursting.</p>
883
+ * <p>The following are the supported values for each volume type.</p>
884
+ * <ul>
885
+ * <li>
886
+ * <p>
887
+ * <code>gp3</code>: 3,000 - 16,000 IOPS</p>
888
+ * </li>
889
+ * <li>
890
+ * <p>
891
+ * <code>io1</code>: 100 - 64,000 IOPS</p>
892
+ * </li>
893
+ * <li>
894
+ * <p>
895
+ * <code>io2</code>: 100 - 256,000 IOPS</p>
896
+ * </li>
897
+ * </ul>
898
+ * <p>This parameter is required for <code>io1</code> and <code>io2</code> volume types. The
899
+ * default for <code>gp3</code> volumes is <code>3,000 IOPS</code>. This parameter is not
900
+ * supported for <code>st1</code>, <code>sc1</code>, or <code>standard</code> volume
901
+ * types.</p>
902
+ * <p>This parameter maps 1:1 with the <code>Iops</code> parameter of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in the <i>Amazon EC2 API Reference</i>.</p>
903
+ * @public
904
+ */
905
+ iops?: number | undefined;
906
+ /**
907
+ * <p>The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.
908
+ * This parameter maps 1:1 with the <code>Throughput</code> parameter of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in the <i>Amazon EC2 API Reference</i>.</p>
909
+ * <important>
910
+ * <p>This parameter is only supported for the <code>gp3</code> volume type.</p>
911
+ * </important>
912
+ * @public
913
+ */
914
+ throughput?: number | undefined;
915
+ /**
916
+ * <p>The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This
917
+ * parameter maps 1:1 with the <code>TagSpecifications.N</code> parameter of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in the <i>Amazon EC2 API Reference</i>.</p>
918
+ * @public
919
+ */
920
+ tagSpecifications?: EBSTagSpecification[] | undefined;
921
+ /**
922
+ * <p>The ARN of the IAM role to associate with this volume. This is the Amazon ECS
923
+ * infrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We recommend
924
+ * using the Amazon ECS-managed <code>AmazonECSInfrastructureRolePolicyForVolumes</code> IAM
925
+ * policy with this role. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html">Amazon ECS
926
+ * infrastructure IAM role</a> in the <i>Amazon ECS Developer
927
+ * Guide</i>.</p>
928
+ * @public
929
+ */
930
+ roleArn: string | undefined;
931
+ /**
932
+ * <p>The termination policy for the volume when the task exits. This provides a way to
933
+ * control whether Amazon ECS terminates the Amazon EBS volume when the task stops.</p>
934
+ * @public
935
+ */
936
+ terminationPolicy?: TaskManagedEBSVolumeTerminationPolicy | undefined;
937
+ /**
938
+ * <p>The Linux filesystem type for the volume. For volumes created from a snapshot, you
939
+ * must specify the same filesystem type that the volume was using when the snapshot was
940
+ * created. If there is a filesystem type mismatch, the task will fail to start.</p>
941
+ * <p>The available filesystem types are
942
+ <code>ext3</code>, <code>ext4</code>, and
943
+ * <code>xfs</code>. If no value is specified, the <code>xfs</code> filesystem type is
944
+ * used by default.</p>
945
+ * @public
946
+ */
947
+ filesystemType?: TaskFilesystemType | undefined;
948
+ }
949
+ /**
950
+ * <p>Configuration settings for the task volume that was <code>configuredAtLaunch</code>
951
+ * that weren't set during <code>RegisterTaskDef</code>.</p>
952
+ * @public
953
+ */
954
+ export interface TaskVolumeConfiguration {
955
+ /**
956
+ * <p>The name of the volume. This value must match the volume name from the
957
+ * <code>Volume</code> object in the task definition.</p>
958
+ * @public
959
+ */
960
+ name: string | undefined;
961
+ /**
962
+ * <p>The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.
963
+ * These settings are used to create each Amazon EBS volume, with one volume created for each
964
+ * task. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are
965
+ * created.</p>
966
+ * @public
967
+ */
968
+ managedEBSVolume?: TaskManagedEBSVolumeConfiguration | undefined;
969
+ }
970
+ /**
971
+ * @public
972
+ */
973
+ export interface RunTaskRequest {
974
+ /**
975
+ * <p>The capacity provider strategy to use for the task.</p>
976
+ * <p>If a <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
977
+ * parameter must be omitted. If no <code>capacityProviderStrategy</code> or
978
+ * <code>launchType</code> is specified, the
979
+ * <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p>
980
+ * <p>When you use cluster auto scaling, you must specify
981
+ * <code>capacityProviderStrategy</code> and not <code>launchType</code>. </p>
982
+ * <p>A capacity provider strategy can contain a maximum of 20 capacity providers.</p>
983
+ * @public
984
+ */
985
+ capacityProviderStrategy?: CapacityProviderStrategyItem[] | undefined;
986
+ /**
987
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster to run your task on.
988
+ * If you do not specify a cluster, the default cluster is assumed.</p>
989
+ * <p>Each account receives a default cluster the first time you use the service, but you
990
+ * may also create other clusters.</p>
991
+ * @public
992
+ */
993
+ cluster?: string | undefined;
994
+ /**
995
+ * <p>The number of instantiations of the specified task to place on your cluster. You can
996
+ * specify up to 10 tasks for each call.</p>
997
+ * @public
998
+ */
999
+ count?: number | undefined;
1000
+ /**
1001
+ * <p>Specifies whether to use Amazon ECS managed tags for the task. For more information, see
1002
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
1003
+ * Resources</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1004
+ * @public
1005
+ */
1006
+ enableECSManagedTags?: boolean | undefined;
1007
+ /**
1008
+ * <p>Determines whether to use the execute command functionality for the containers in this
1009
+ * task. If <code>true</code>, this enables execute command functionality on all containers
1010
+ * in the task.</p>
1011
+ * <p>If <code>true</code>, then the task definition must have a task role, or you must
1012
+ * provide one as an override.</p>
1013
+ * @public
1014
+ */
1015
+ enableExecuteCommand?: boolean | undefined;
1016
+ /**
1017
+ * <p>The name of the task group to associate with the task. The default value is the family
1018
+ * name of the task definition (for example, <code>family:my-family-name</code>).</p>
1019
+ * @public
1020
+ */
1021
+ group?: string | undefined;
1022
+ /**
1023
+ * <p>The infrastructure to run your standalone task on. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">Amazon ECS
1024
+ * launch types</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1025
+ * <p>The <code>FARGATE</code> launch type runs your tasks on Fargate On-Demand
1026
+ * infrastructure.</p>
1027
+ * <note>
1028
+ * <p>Fargate Spot infrastructure is available for use but a capacity provider
1029
+ * strategy must be used. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html">Fargate capacity providers</a> in the
1030
+ * <i>Amazon ECS Developer Guide</i>.</p>
1031
+ * </note>
1032
+ * <p>The <code>EC2</code> launch type runs your tasks on Amazon EC2 instances registered to your
1033
+ * cluster.</p>
1034
+ * <p>The <code>EXTERNAL</code> launch type runs your tasks on your on-premises server or
1035
+ * virtual machine (VM) capacity registered to your cluster.</p>
1036
+ * <p>A task can use either a launch type or a capacity provider strategy. If a
1037
+ * <code>launchType</code> is specified, the <code>capacityProviderStrategy</code>
1038
+ * parameter must be omitted.</p>
1039
+ * <p>When you use cluster auto scaling, you must specify
1040
+ * <code>capacityProviderStrategy</code> and not <code>launchType</code>. </p>
1041
+ * @public
1042
+ */
1043
+ launchType?: LaunchType | undefined;
1044
+ /**
1045
+ * <p>The network configuration for the task. This parameter is required for task
1046
+ * definitions that use the <code>awsvpc</code> network mode to receive their own elastic
1047
+ * network interface, and it isn't supported for other network modes. For more information,
1048
+ * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task networking</a>
1049
+ * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1050
+ * @public
1051
+ */
1052
+ networkConfiguration?: NetworkConfiguration | undefined;
1053
+ /**
1054
+ * <p>A list of container overrides in JSON format that specify the name of a container in
1055
+ * the specified task definition and the overrides it should receive. You can override the
1056
+ * default command for a container (that's specified in the task definition or Docker
1057
+ * image) with a <code>command</code> override. You can also override existing environment
1058
+ * variables (that are specified in the task definition or Docker image) on a container or
1059
+ * add new environment variables to it with an <code>environment</code> override.</p>
1060
+ * <p>A total of 8192 characters are allowed for overrides. This limit includes the JSON
1061
+ * formatting characters of the override structure.</p>
1062
+ * @public
1063
+ */
1064
+ overrides?: TaskOverride | undefined;
1065
+ /**
1066
+ * <p>An array of placement constraint objects to use for the task. You can specify up to 10
1067
+ * constraints for each task (including constraints in the task definition and those
1068
+ * specified at runtime).</p>
1069
+ * @public
1070
+ */
1071
+ placementConstraints?: PlacementConstraint[] | undefined;
1072
+ /**
1073
+ * <p>The placement strategy objects to use for the task. You can specify a maximum of 5
1074
+ * strategy rules for each task.</p>
1075
+ * @public
1076
+ */
1077
+ placementStrategy?: PlacementStrategy[] | undefined;
1078
+ /**
1079
+ * <p>The platform version the task uses. A platform version is only specified for tasks
1080
+ * hosted on Fargate. If one isn't specified, the <code>LATEST</code>
1081
+ * platform version is used. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">Fargate platform
1082
+ * versions</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1083
+ * @public
1084
+ */
1085
+ platformVersion?: string | undefined;
1086
+ /**
1087
+ * <p>Specifies whether to propagate the tags from the task definition to the task. If no
1088
+ * value is specified, the tags aren't propagated. Tags can only be propagated to the task
1089
+ * during task creation. To add tags to a task after task creation, use the<a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html">TagResource</a> API action.</p>
1090
+ * <note>
1091
+ * <p>An error will be received if you specify the <code>SERVICE</code> option when
1092
+ * running a task.</p>
1093
+ * </note>
1094
+ * @public
1095
+ */
1096
+ propagateTags?: PropagateTags | undefined;
1097
+ /**
1098
+ * <p>This parameter is only used by Amazon ECS. It is not intended for use by customers.</p>
1099
+ * @public
1100
+ */
1101
+ referenceId?: string | undefined;
1102
+ /**
1103
+ * <p>An optional tag specified when a task is started. For example, if you automatically
1104
+ * trigger a task to run a batch process job, you could apply a unique identifier for that
1105
+ * job to your task with the <code>startedBy</code> parameter. You can then identify which
1106
+ * tasks belong to that job by filtering the results of a <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html">ListTasks</a> call with
1107
+ * the <code>startedBy</code> value. Up to 128 letters (uppercase and lowercase), numbers,
1108
+ * hyphens (-), forward slash (/), and underscores (_) are allowed.</p>
1109
+ * <p>If a task is started by an Amazon ECS service, then the <code>startedBy</code> parameter
1110
+ * contains the deployment ID of the service that starts it.</p>
1111
+ * @public
1112
+ */
1113
+ startedBy?: string | undefined;
1114
+ /**
1115
+ * <p>The metadata that you apply to the task to help you categorize and organize them. Each
1116
+ * tag consists of a key and an optional value, both of which you define.</p>
1117
+ * <p>The following basic restrictions apply to tags:</p>
1118
+ * <ul>
1119
+ * <li>
1120
+ * <p>Maximum number of tags per resource - 50</p>
1121
+ * </li>
1122
+ * <li>
1123
+ * <p>For each resource, each tag key must be unique, and each tag key can have only
1124
+ * one value.</p>
1125
+ * </li>
1126
+ * <li>
1127
+ * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
1128
+ * </li>
1129
+ * <li>
1130
+ * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
1131
+ * </li>
1132
+ * <li>
1133
+ * <p>If your tagging schema is used across multiple services and resources,
1134
+ * remember that other services may have restrictions on allowed characters.
1135
+ * Generally allowed characters are: letters, numbers, and spaces representable in
1136
+ * UTF-8, and the following characters: + - = . _ : / @.</p>
1137
+ * </li>
1138
+ * <li>
1139
+ * <p>Tag keys and values are case-sensitive.</p>
1140
+ * </li>
1141
+ * <li>
1142
+ * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
1143
+ * combination of such as a prefix for either keys or values as it is reserved for
1144
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
1145
+ * this prefix do not count against your tags per resource limit.</p>
1146
+ * </li>
1147
+ * </ul>
1148
+ * @public
1149
+ */
1150
+ tags?: Tag[] | undefined;
1151
+ /**
1152
+ * <p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or
1153
+ * full ARN of the task definition to run. If a <code>revision</code> isn't specified,
1154
+ * the latest <code>ACTIVE</code> revision is used.</p>
1155
+ * <p>The full ARN value must match the value that you specified as the
1156
+ * <code>Resource</code> of the principal's permissions policy.</p>
1157
+ * <p>When you specify a task definition, you must either specify a specific revision, or
1158
+ * all revisions in the ARN.</p>
1159
+ * <p>To specify a specific revision, include the revision number in the ARN. For example,
1160
+ * to specify revision 2, use
1161
+ * <code>arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2</code>.</p>
1162
+ * <p>To specify all revisions, use the wildcard (*) in the ARN. For example, to specify
1163
+ * all revisions, use
1164
+ * <code>arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*</code>.</p>
1165
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources">Policy Resources for Amazon ECS</a> in the Amazon Elastic Container Service Developer Guide.</p>
1166
+ * @public
1167
+ */
1168
+ taskDefinition: string | undefined;
1169
+ /**
1170
+ * <p>An identifier that you provide to ensure the idempotency of the request. It must be
1171
+ * unique and is case sensitive. Up to 64 characters are allowed. The valid characters are
1172
+ * characters in the range of 33-126, inclusive. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/ECS_Idempotency.html">Ensuring idempotency</a>.</p>
1173
+ * @public
1174
+ */
1175
+ clientToken?: string | undefined;
1176
+ /**
1177
+ * <p>The details of the volume that was <code>configuredAtLaunch</code>. You can configure
1178
+ * the size, volumeType, IOPS, throughput, snapshot and encryption in <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskManagedEBSVolumeConfiguration.html">TaskManagedEBSVolumeConfiguration</a>. The <code>name</code> of the volume must
1179
+ * match the <code>name</code> from the task definition.</p>
1180
+ * @public
1181
+ */
1182
+ volumeConfigurations?: TaskVolumeConfiguration[] | undefined;
1183
+ }
1184
+ /**
1185
+ * @public
1186
+ */
1187
+ export interface RunTaskResponse {
1188
+ /**
1189
+ * <p>A full description of the tasks that were run. The tasks that were successfully placed
1190
+ * on your cluster are described here.</p>
1191
+ * @public
1192
+ */
1193
+ tasks?: Task[] | undefined;
1194
+ /**
1195
+ * <p>Any failures associated with the call.</p>
1196
+ * <p>For information about how to address failures, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-event-messages.html#service-event-messages-list">Service event messages</a> and <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html">API failure
1197
+ * reasons</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1198
+ * @public
1199
+ */
1200
+ failures?: Failure[] | undefined;
1201
+ }
1202
+ /**
1203
+ * @public
1204
+ */
1205
+ export interface StartTaskRequest {
1206
+ /**
1207
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster where to start your task.
1208
+ * If you do not specify a cluster, the default cluster is assumed.</p>
1209
+ * @public
1210
+ */
1211
+ cluster?: string | undefined;
1212
+ /**
1213
+ * <p>The container instance IDs or full ARN entries for the container instances where you
1214
+ * would like to place your task. You can specify up to 10 container instances.</p>
1215
+ * @public
1216
+ */
1217
+ containerInstances: string[] | undefined;
1218
+ /**
1219
+ * <p>Specifies whether to use Amazon ECS managed tags for the task. For more information, see
1220
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
1221
+ * Resources</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1222
+ * @public
1223
+ */
1224
+ enableECSManagedTags?: boolean | undefined;
1225
+ /**
1226
+ * <p>Whether or not the execute command functionality is turned on for the task. If
1227
+ * <code>true</code>, this turns on the execute command functionality on all containers
1228
+ * in the task.</p>
1229
+ * @public
1230
+ */
1231
+ enableExecuteCommand?: boolean | undefined;
1232
+ /**
1233
+ * <p>The name of the task group to associate with the task. The default value is the family
1234
+ * name of the task definition (for example, family:my-family-name).</p>
1235
+ * @public
1236
+ */
1237
+ group?: string | undefined;
1238
+ /**
1239
+ * <p>The VPC subnet and security group configuration for tasks that receive their own
1240
+ * elastic network interface by using the <code>awsvpc</code> networking mode.</p>
1241
+ * @public
1242
+ */
1243
+ networkConfiguration?: NetworkConfiguration | undefined;
1244
+ /**
1245
+ * <p>A list of container overrides in JSON format that specify the name of a container in
1246
+ * the specified task definition and the overrides it receives. You can override the
1247
+ * default command for a container (that's specified in the task definition or Docker
1248
+ * image) with a <code>command</code> override. You can also override existing environment
1249
+ * variables (that are specified in the task definition or Docker image) on a container or
1250
+ * add new environment variables to it with an <code>environment</code> override.</p>
1251
+ * <note>
1252
+ * <p>A total of 8192 characters are allowed for overrides. This limit includes the JSON
1253
+ * formatting characters of the override structure.</p>
1254
+ * </note>
1255
+ * @public
1256
+ */
1257
+ overrides?: TaskOverride | undefined;
1258
+ /**
1259
+ * <p>Specifies whether to propagate the tags from the task definition or the service to the
1260
+ * task. If no value is specified, the tags aren't propagated.</p>
1261
+ * @public
1262
+ */
1263
+ propagateTags?: PropagateTags | undefined;
1264
+ /**
1265
+ * <p>This parameter is only used by Amazon ECS. It is not intended for use by customers.</p>
1266
+ * @public
1267
+ */
1268
+ referenceId?: string | undefined;
1269
+ /**
1270
+ * <p>An optional tag specified when a task is started. For example, if you automatically
1271
+ * trigger a task to run a batch process job, you could apply a unique identifier for that
1272
+ * job to your task with the <code>startedBy</code> parameter. You can then identify which
1273
+ * tasks belong to that job by filtering the results of a <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListTasks.html">ListTasks</a> call with
1274
+ * the <code>startedBy</code> value. Up to 36 letters (uppercase and lowercase), numbers,
1275
+ * hyphens (-), forward slash (/), and underscores (_) are allowed.</p>
1276
+ * <p>If a task is started by an Amazon ECS service, the <code>startedBy</code> parameter
1277
+ * contains the deployment ID of the service that starts it.</p>
1278
+ * @public
1279
+ */
1280
+ startedBy?: string | undefined;
1281
+ /**
1282
+ * <p>The metadata that you apply to the task to help you categorize and organize them. Each
1283
+ * tag consists of a key and an optional value, both of which you define.</p>
1284
+ * <p>The following basic restrictions apply to tags:</p>
1285
+ * <ul>
1286
+ * <li>
1287
+ * <p>Maximum number of tags per resource - 50</p>
1288
+ * </li>
1289
+ * <li>
1290
+ * <p>For each resource, each tag key must be unique, and each tag key can have only
1291
+ * one value.</p>
1292
+ * </li>
1293
+ * <li>
1294
+ * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
1295
+ * </li>
1296
+ * <li>
1297
+ * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
1298
+ * </li>
1299
+ * <li>
1300
+ * <p>If your tagging schema is used across multiple services and resources,
1301
+ * remember that other services may have restrictions on allowed characters.
1302
+ * Generally allowed characters are: letters, numbers, and spaces representable in
1303
+ * UTF-8, and the following characters: + - = . _ : / @.</p>
1304
+ * </li>
1305
+ * <li>
1306
+ * <p>Tag keys and values are case-sensitive.</p>
1307
+ * </li>
1308
+ * <li>
1309
+ * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
1310
+ * combination of such as a prefix for either keys or values as it is reserved for
1311
+ * Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with
1312
+ * this prefix do not count against your tags per resource limit.</p>
1313
+ * </li>
1314
+ * </ul>
1315
+ * @public
1316
+ */
1317
+ tags?: Tag[] | undefined;
1318
+ /**
1319
+ * <p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or
1320
+ * full ARN of the task definition to start. If a <code>revision</code> isn't specified,
1321
+ * the latest <code>ACTIVE</code> revision is used.</p>
1322
+ * @public
1323
+ */
1324
+ taskDefinition: string | undefined;
1325
+ /**
1326
+ * <p>The details of the volume that was <code>configuredAtLaunch</code>. You can configure
1327
+ * the size, volumeType, IOPS, throughput, snapshot and encryption in <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskManagedEBSVolumeConfiguration.html">TaskManagedEBSVolumeConfiguration</a>. The <code>name</code> of the volume must
1328
+ * match the <code>name</code> from the task definition.</p>
1329
+ * @public
1330
+ */
1331
+ volumeConfigurations?: TaskVolumeConfiguration[] | undefined;
1332
+ }
1333
+ /**
1334
+ * @public
1335
+ */
1336
+ export interface StartTaskResponse {
1337
+ /**
1338
+ * <p>A full description of the tasks that were started. Each task that was successfully
1339
+ * placed on your container instances is described.</p>
1340
+ * @public
1341
+ */
1342
+ tasks?: Task[] | undefined;
1343
+ /**
1344
+ * <p>Any failures associated with the call.</p>
1345
+ * @public
1346
+ */
1347
+ failures?: Failure[] | undefined;
1348
+ }
1349
+ /**
1350
+ * <p>The service deploy ARN that you specified in the <code>StopServiceDeployment</code> doesn't exist. You can use <code>ListServiceDeployments</code> to retrieve the service deployment ARNs.</p>
1351
+ * @public
1352
+ */
1353
+ export declare class ServiceDeploymentNotFoundException extends __BaseException {
1354
+ readonly name: "ServiceDeploymentNotFoundException";
1355
+ readonly $fault: "client";
1356
+ /**
1357
+ * @internal
1358
+ */
1359
+ constructor(opts: __ExceptionOptionType<ServiceDeploymentNotFoundException, __BaseException>);
1360
+ }
1361
+ /**
1362
+ * @public
1363
+ * @enum
1364
+ */
1365
+ export declare const StopServiceDeploymentStopType: {
1366
+ readonly ABORT: "ABORT";
1367
+ readonly ROLLBACK: "ROLLBACK";
1368
+ };
1369
+ /**
1370
+ * @public
1371
+ */
1372
+ export type StopServiceDeploymentStopType = (typeof StopServiceDeploymentStopType)[keyof typeof StopServiceDeploymentStopType];
1373
+ /**
1374
+ * @public
1375
+ */
1376
+ export interface StopServiceDeploymentRequest {
1377
+ /**
1378
+ * <p>The ARN of the service deployment that you want to stop.</p>
1379
+ * @public
1380
+ */
1381
+ serviceDeploymentArn: string | undefined;
1382
+ /**
1383
+ * <p>How you want Amazon ECS to stop the service. </p>
1384
+ * <p>The valid values are <code>ROLLBACK</code>.</p>
1385
+ * @public
1386
+ */
1387
+ stopType?: StopServiceDeploymentStopType | undefined;
1388
+ }
1389
+ /**
1390
+ * @public
1391
+ */
1392
+ export interface StopServiceDeploymentResponse {
1393
+ /**
1394
+ * <p>The ARN of the stopped service deployment.</p>
1395
+ * @public
1396
+ */
1397
+ serviceDeploymentArn?: string | undefined;
1398
+ }
1399
+ /**
1400
+ * @public
1401
+ */
1402
+ export interface StopTaskRequest {
1403
+ /**
1404
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop.
1405
+ * If you do not specify a cluster, the default cluster is assumed.</p>
1406
+ * @public
1407
+ */
1408
+ cluster?: string | undefined;
1409
+ /**
1410
+ * <p>Thefull Amazon Resource Name (ARN) of the task.</p>
1411
+ * @public
1412
+ */
1413
+ task: string | undefined;
1414
+ /**
1415
+ * <p>An optional message specified when a task is stopped. For example, if you're using a
1416
+ * custom scheduler, you can use this parameter to specify the reason for stopping the task
1417
+ * here, and the message appears in subsequent <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html">DescribeTasks</a>>
1418
+ * API operations on this task.</p>
1419
+ * @public
1420
+ */
1421
+ reason?: string | undefined;
1422
+ }
4
1423
  /**
5
1424
  * @public
6
1425
  */
@@ -361,6 +1780,62 @@ export interface AutoScalingGroupProviderUpdate {
361
1780
  */
362
1781
  managedDraining?: ManagedDraining | undefined;
363
1782
  }
1783
+ /**
1784
+ * <p>The updated launch template configuration for Amazon ECS Managed Instances. You can modify the instance profile, network configuration, storage settings, and instance requirements. Changes apply to new instances launched after the update.</p>
1785
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Store instance launch parameters in Amazon EC2 launch templates</a> in the <i>Amazon EC2 User Guide</i>.</p>
1786
+ * @public
1787
+ */
1788
+ export interface InstanceLaunchTemplateUpdate {
1789
+ /**
1790
+ * <p>The updated Amazon Resource Name (ARN) of the instance profile. The new instance profile must have the necessary permissions for your tasks.</p>
1791
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html">Amazon ECS instance profile for Managed Instances</a> in the <i>Amazon ECS Developer Guide</i>.
1792
+ * </p>
1793
+ * @public
1794
+ */
1795
+ ec2InstanceProfileArn?: string | undefined;
1796
+ /**
1797
+ * <p>The updated network configuration for Amazon ECS Managed Instances. Changes to subnets and security groups affect new instances launched after the update.</p>
1798
+ * @public
1799
+ */
1800
+ networkConfiguration?: ManagedInstancesNetworkConfiguration | undefined;
1801
+ /**
1802
+ * <p>The updated storage configuration for Amazon ECS Managed Instances. Changes to storage settings apply to new instances launched after the update.</p>
1803
+ * @public
1804
+ */
1805
+ storageConfiguration?: ManagedInstancesStorageConfiguration | undefined;
1806
+ /**
1807
+ * <p>CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html">Detailed monitoring for Amazon ECS Managed Instances</a> in the Amazon ECS Developer Guide.</p>
1808
+ * @public
1809
+ */
1810
+ monitoring?: ManagedInstancesMonitoringOptions | undefined;
1811
+ /**
1812
+ * <p>The updated instance requirements for attribute-based instance type selection. Changes to instance requirements affect which instance types Amazon ECS selects for new instances.</p>
1813
+ * @public
1814
+ */
1815
+ instanceRequirements?: InstanceRequirementsRequest | undefined;
1816
+ }
1817
+ /**
1818
+ * <p>The updated configuration for a Amazon ECS Managed Instances provider. You can modify the infrastructure role, instance launch template, and tag propagation settings. Changes apply to new instances launched after the update.</p>
1819
+ * @public
1820
+ */
1821
+ export interface UpdateManagedInstancesProviderConfiguration {
1822
+ /**
1823
+ * <p>The updated Amazon Resource Name (ARN) of the infrastructure role. The new role must have the necessary permissions to manage instances and access required Amazon Web Services services.</p>
1824
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html">Amazon ECS infrastructure IAM role</a> in the <i>Amazon ECS Developer Guide</i>.</p>
1825
+ * @public
1826
+ */
1827
+ infrastructureRoleArn: string | undefined;
1828
+ /**
1829
+ * <p>The updated launch template configuration. Changes to the launch template affect new instances launched after the update, while existing instances continue to use their original configuration.</p>
1830
+ * @public
1831
+ */
1832
+ instanceLaunchTemplate: InstanceLaunchTemplateUpdate | undefined;
1833
+ /**
1834
+ * <p>The updated tag propagation setting. When changed, this affects only new instances launched after the update.</p>
1835
+ * @public
1836
+ */
1837
+ propagateTags?: PropagateMITags | undefined;
1838
+ }
364
1839
  /**
365
1840
  * @public
366
1841
  */
@@ -370,12 +1845,22 @@ export interface UpdateCapacityProviderRequest {
370
1845
  * @public
371
1846
  */
372
1847
  name: string | undefined;
1848
+ /**
1849
+ * <p>The name of the cluster that contains the capacity provider to update. Managed instances capacity providers are cluster-scoped and can only be updated within their associated cluster.</p>
1850
+ * @public
1851
+ */
1852
+ cluster?: string | undefined;
373
1853
  /**
374
1854
  * <p>An object that represent the parameters to update for the Auto Scaling group capacity
375
1855
  * provider.</p>
376
1856
  * @public
377
1857
  */
378
- autoScalingGroupProvider: AutoScalingGroupProviderUpdate | undefined;
1858
+ autoScalingGroupProvider?: AutoScalingGroupProviderUpdate | undefined;
1859
+ /**
1860
+ * <p>The updated configuration for the Amazon ECS Managed Instances provider. You can modify the infrastructure role, instance launch template, and tag propagation settings. Changes take effect for new instances launched after the update.</p>
1861
+ * @public
1862
+ */
1863
+ managedInstancesProvider?: UpdateManagedInstancesProviderConfiguration | undefined;
379
1864
  }
380
1865
  /**
381
1866
  * @public
@@ -713,6 +2198,7 @@ export interface UpdateServiceRequest {
713
2198
  * During that time, the Amazon ECS service scheduler ignores health check status. This grace
714
2199
  * period can prevent the service scheduler from marking tasks as unhealthy and stopping
715
2200
  * them before they have time to come up.</p>
2201
+ * <p>If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.</p>
716
2202
  * <p>This parameter doesn't trigger a new service deployment.</p>
717
2203
  * @public
718
2204
  */