@aws-sdk/client-ecs 3.934.0 → 3.935.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 (76) hide show
  1. package/dist-cjs/index.js +480 -476
  2. package/dist-es/index.js +2 -1
  3. package/dist-es/models/enums.js +447 -0
  4. package/dist-es/models/errors.js +339 -0
  5. package/dist-es/models/models_0.js +1 -688
  6. package/dist-es/schemas/schemas_0.js +11 -7
  7. package/dist-types/commands/CreateCapacityProviderCommand.d.ts +6 -0
  8. package/dist-types/commands/DeleteCapacityProviderCommand.d.ts +3 -0
  9. package/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +3 -0
  10. package/dist-types/commands/ListTasksCommand.d.ts +1 -1
  11. package/dist-types/commands/PutAccountSettingCommand.d.ts +1 -1
  12. package/dist-types/commands/PutAccountSettingDefaultCommand.d.ts +1 -1
  13. package/dist-types/commands/PutAttributesCommand.d.ts +1 -1
  14. package/dist-types/commands/PutClusterCapacityProvidersCommand.d.ts +1 -1
  15. package/dist-types/commands/RegisterContainerInstanceCommand.d.ts +1 -1
  16. package/dist-types/commands/RegisterTaskDefinitionCommand.d.ts +1 -1
  17. package/dist-types/commands/RunTaskCommand.d.ts +1 -1
  18. package/dist-types/commands/StartTaskCommand.d.ts +1 -1
  19. package/dist-types/commands/StopServiceDeploymentCommand.d.ts +1 -1
  20. package/dist-types/commands/StopTaskCommand.d.ts +1 -1
  21. package/dist-types/commands/SubmitAttachmentStateChangesCommand.d.ts +1 -1
  22. package/dist-types/commands/SubmitContainerStateChangeCommand.d.ts +1 -1
  23. package/dist-types/commands/SubmitTaskStateChangeCommand.d.ts +1 -1
  24. package/dist-types/commands/TagResourceCommand.d.ts +1 -1
  25. package/dist-types/commands/UntagResourceCommand.d.ts +1 -1
  26. package/dist-types/commands/UpdateCapacityProviderCommand.d.ts +7 -1
  27. package/dist-types/commands/UpdateClusterCommand.d.ts +1 -1
  28. package/dist-types/commands/UpdateClusterSettingsCommand.d.ts +1 -1
  29. package/dist-types/commands/UpdateContainerAgentCommand.d.ts +1 -1
  30. package/dist-types/commands/UpdateContainerInstancesStateCommand.d.ts +1 -1
  31. package/dist-types/commands/UpdateServiceCommand.d.ts +1 -1
  32. package/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +1 -1
  33. package/dist-types/commands/UpdateTaskProtectionCommand.d.ts +1 -1
  34. package/dist-types/commands/UpdateTaskSetCommand.d.ts +1 -1
  35. package/dist-types/index.d.ts +3 -1
  36. package/dist-types/models/enums.d.ts +1119 -0
  37. package/dist-types/models/errors.d.ts +397 -0
  38. package/dist-types/models/models_0.d.ts +2816 -1381
  39. package/dist-types/schemas/schemas_0.d.ts +1 -0
  40. package/dist-types/ts3.4/commands/ListTasksCommand.d.ts +1 -1
  41. package/dist-types/ts3.4/commands/PutAccountSettingCommand.d.ts +1 -1
  42. package/dist-types/ts3.4/commands/PutAccountSettingDefaultCommand.d.ts +1 -1
  43. package/dist-types/ts3.4/commands/PutAttributesCommand.d.ts +1 -1
  44. package/dist-types/ts3.4/commands/PutClusterCapacityProvidersCommand.d.ts +1 -1
  45. package/dist-types/ts3.4/commands/RegisterContainerInstanceCommand.d.ts +1 -1
  46. package/dist-types/ts3.4/commands/RegisterTaskDefinitionCommand.d.ts +1 -1
  47. package/dist-types/ts3.4/commands/RunTaskCommand.d.ts +1 -1
  48. package/dist-types/ts3.4/commands/StartTaskCommand.d.ts +1 -1
  49. package/dist-types/ts3.4/commands/StopServiceDeploymentCommand.d.ts +1 -1
  50. package/dist-types/ts3.4/commands/StopTaskCommand.d.ts +1 -1
  51. package/dist-types/ts3.4/commands/SubmitAttachmentStateChangesCommand.d.ts +1 -1
  52. package/dist-types/ts3.4/commands/SubmitContainerStateChangeCommand.d.ts +1 -1
  53. package/dist-types/ts3.4/commands/SubmitTaskStateChangeCommand.d.ts +1 -1
  54. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +1 -1
  55. package/dist-types/ts3.4/commands/UntagResourceCommand.d.ts +1 -1
  56. package/dist-types/ts3.4/commands/UpdateCapacityProviderCommand.d.ts +1 -1
  57. package/dist-types/ts3.4/commands/UpdateClusterCommand.d.ts +1 -1
  58. package/dist-types/ts3.4/commands/UpdateClusterSettingsCommand.d.ts +1 -1
  59. package/dist-types/ts3.4/commands/UpdateContainerAgentCommand.d.ts +1 -1
  60. package/dist-types/ts3.4/commands/UpdateContainerInstancesStateCommand.d.ts +1 -1
  61. package/dist-types/ts3.4/commands/UpdateServiceCommand.d.ts +1 -1
  62. package/dist-types/ts3.4/commands/UpdateServicePrimaryTaskSetCommand.d.ts +1 -1
  63. package/dist-types/ts3.4/commands/UpdateTaskProtectionCommand.d.ts +1 -1
  64. package/dist-types/ts3.4/commands/UpdateTaskSetCommand.d.ts +1 -1
  65. package/dist-types/ts3.4/index.d.ts +3 -1
  66. package/dist-types/ts3.4/models/enums.d.ts +589 -0
  67. package/dist-types/ts3.4/models/errors.d.ts +209 -0
  68. package/dist-types/ts3.4/models/models_0.d.ts +437 -729
  69. package/dist-types/ts3.4/schemas/schemas_0.d.ts +1 -0
  70. package/package.json +12 -12
  71. package/dist-es/models/index.js +0 -2
  72. package/dist-es/models/models_1.js +0 -99
  73. package/dist-types/models/index.d.ts +0 -2
  74. package/dist-types/models/models_1.d.ts +0 -2908
  75. package/dist-types/ts3.4/models/index.d.ts +0 -2
  76. package/dist-types/ts3.4/models/models_1.d.ts +0 -476
@@ -1,2908 +0,0 @@
1
- import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
- import { ECSServiceException as __BaseException } from "./ECSServiceException";
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
- * @enum
7
- */
8
- export declare const DesiredStatus: {
9
- readonly PENDING: "PENDING";
10
- readonly RUNNING: "RUNNING";
11
- readonly STOPPED: "STOPPED";
12
- };
13
- /**
14
- * @public
15
- */
16
- export type DesiredStatus = (typeof DesiredStatus)[keyof typeof DesiredStatus];
17
- /**
18
- * @public
19
- */
20
- export interface ListTasksRequest {
21
- /**
22
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering
23
- * the <code>ListTasks</code> results. If you do not specify a cluster, the default cluster
24
- * is assumed.</p>
25
- * @public
26
- */
27
- cluster?: string | undefined;
28
- /**
29
- * <p>The container instance ID or full ARN of the container instance to use when filtering
30
- * the <code>ListTasks</code> results. Specifying a <code>containerInstance</code> limits
31
- * the results to tasks that belong to that container instance.</p>
32
- * @public
33
- */
34
- containerInstance?: string | undefined;
35
- /**
36
- * <p>The name of the task definition family to use when filtering the
37
- * <code>ListTasks</code> results. Specifying a <code>family</code> limits the results
38
- * to tasks that belong to that family.</p>
39
- * @public
40
- */
41
- family?: string | undefined;
42
- /**
43
- * <p>The <code>nextToken</code> value returned from a <code>ListTasks</code> request
44
- * indicating that more results are available to fulfill the request and further calls will
45
- * be needed. If <code>maxResults</code> was provided, it's possible the number of results
46
- * to be fewer than <code>maxResults</code>.</p>
47
- * <note>
48
- * <p>This token should be treated as an opaque identifier that is only used to retrieve
49
- * the next items in a list and not for other programmatic purposes.</p>
50
- * </note>
51
- * @public
52
- */
53
- nextToken?: string | undefined;
54
- /**
55
- * <p>The maximum number of task results that <code>ListTasks</code> returned in paginated
56
- * output. When this parameter is used, <code>ListTasks</code> only returns
57
- * <code>maxResults</code> results in a single page along with a <code>nextToken</code>
58
- * response element. The remaining results of the initial request can be seen by sending
59
- * another <code>ListTasks</code> request with the returned <code>nextToken</code> value.
60
- * This value can be between 1 and 100. If this parameter isn't used, then
61
- * <code>ListTasks</code> returns up to 100 results and a <code>nextToken</code> value
62
- * if applicable.</p>
63
- * @public
64
- */
65
- maxResults?: number | undefined;
66
- /**
67
- * <p>The <code>startedBy</code> value to filter the task results with. Specifying a
68
- * <code>startedBy</code> value limits the results to tasks that were started with that
69
- * value.</p>
70
- * <p>When you specify <code>startedBy</code> as the filter, it must be the only filter that
71
- * you use.</p>
72
- * @public
73
- */
74
- startedBy?: string | undefined;
75
- /**
76
- * <p>The name of the service to use when filtering the <code>ListTasks</code> results.
77
- * Specifying a <code>serviceName</code> limits the results to tasks that belong to that
78
- * service.</p>
79
- * @public
80
- */
81
- serviceName?: string | undefined;
82
- /**
83
- * <p>The task desired status to use when filtering the <code>ListTasks</code> results.
84
- * Specifying a <code>desiredStatus</code> of <code>STOPPED</code> limits the results to
85
- * tasks that Amazon ECS has set the desired status to <code>STOPPED</code>. This can be
86
- * useful for debugging tasks that aren't starting properly or have died or finished. The
87
- * default status filter is <code>RUNNING</code>, which shows tasks that Amazon ECS has set
88
- * the desired status to <code>RUNNING</code>.</p>
89
- * <note>
90
- * <p>Although you can filter results based on a desired status of <code>PENDING</code>,
91
- * this doesn't return any results. Amazon ECS never sets the desired status of a task
92
- * to that value (only a task's <code>lastStatus</code> may have a value of
93
- * <code>PENDING</code>).</p>
94
- * </note>
95
- * @public
96
- */
97
- desiredStatus?: DesiredStatus | undefined;
98
- /**
99
- * <p>The launch type to use when filtering the <code>ListTasks</code> results.</p>
100
- * @public
101
- */
102
- launchType?: LaunchType | undefined;
103
- }
104
- /**
105
- * @public
106
- */
107
- export interface ListTasksResponse {
108
- /**
109
- * <p>The list of task ARN entries for the <code>ListTasks</code> request.</p>
110
- * @public
111
- */
112
- taskArns?: string[] | undefined;
113
- /**
114
- * <p>The <code>nextToken</code> value to include in a future <code>ListTasks</code>
115
- * request. When the results of a <code>ListTasks</code> request exceed
116
- * <code>maxResults</code>, this value can be used to retrieve the next page of
117
- * results. This value is <code>null</code> when there are no more results to
118
- * return.</p>
119
- * @public
120
- */
121
- nextToken?: string | undefined;
122
- }
123
- /**
124
- * @public
125
- */
126
- export interface PutAccountSettingRequest {
127
- /**
128
- * <p>The Amazon ECS account setting name to modify.</p>
129
- * <p>The following are the valid values for the account setting name.</p>
130
- * <ul>
131
- * <li>
132
- * <p>
133
- * <code>serviceLongArnFormat</code> - When modified, the Amazon Resource Name
134
- * (ARN) and resource ID format of the resource type for a specified user, role, or
135
- * the root user for an account is affected. The opt-in and opt-out account setting
136
- * must be set for each Amazon ECS resource separately. The ARN and resource ID
137
- * format of a resource is defined by the opt-in status of the user or role that
138
- * created the resource. You must turn on this setting to use Amazon ECS features
139
- * such as resource tagging.</p>
140
- * </li>
141
- * <li>
142
- * <p>
143
- * <code>taskLongArnFormat</code> - When modified, the Amazon Resource Name (ARN)
144
- * and resource ID format of the resource type for a specified user, role, or the
145
- * root user for an account is affected. The opt-in and opt-out account setting
146
- * must be set for each Amazon ECS resource separately. The ARN and resource ID
147
- * format of a resource is defined by the opt-in status of the user or role that
148
- * created the resource. You must turn on this setting to use Amazon ECS features
149
- * such as resource tagging.</p>
150
- * </li>
151
- * <li>
152
- * <p>
153
- * <code>containerInstanceLongArnFormat</code> - When modified, the Amazon
154
- * Resource Name (ARN) and resource ID format of the resource type for a specified
155
- * user, role, or the root user for an account is affected. The opt-in and opt-out
156
- * account setting must be set for each Amazon ECS resource separately. The ARN and
157
- * resource ID format of a resource is defined by the opt-in status of the user or
158
- * role that created the resource. You must turn on this setting to use Amazon ECS
159
- * features such as resource tagging.</p>
160
- * </li>
161
- * <li>
162
- * <p>
163
- * <code>awsvpcTrunking</code> - When modified, the elastic network interface
164
- * (ENI) limit for any new container instances that support the feature is changed.
165
- * If <code>awsvpcTrunking</code> is turned on, any new container instances that
166
- * support the feature are launched have the increased ENI limits available to
167
- * them. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html">Elastic
168
- * Network Interface Trunking</a> in the <i>Amazon Elastic Container
169
- * Service Developer Guide</i>.</p>
170
- * </li>
171
- * <li>
172
- * <p>
173
- * <code>containerInsights</code> - Container Insights with enhanced
174
- * observability provides all the Container Insights metrics, plus additional task
175
- * and container metrics. This version supports enhanced observability for Amazon
176
- * ECS clusters using the Amazon EC2 and Fargate launch types. After you configure
177
- * Container Insights with enhanced observability on Amazon ECS, Container Insights
178
- * auto-collects detailed infrastructure telemetry from the cluster level down to
179
- * the container level in your environment and displays these critical performance
180
- * data in curated dashboards removing the heavy lifting in observability set-up. </p>
181
- * <p>To use Container Insights with enhanced observability, set the
182
- * <code>containerInsights</code> account setting to
183
- * <code>enhanced</code>.</p>
184
- * <p>To use Container Insights, set the <code>containerInsights</code> account
185
- * setting to <code>enabled</code>.</p>
186
- * <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
187
- * observability</a> in the <i>Amazon Elastic Container Service
188
- * Developer Guide</i>.</p>
189
- * </li>
190
- * <li>
191
- * <p>
192
- * <code>dualStackIPv6</code> - When turned on, when using a VPC in dual stack
193
- * mode, your tasks using the <code>awsvpc</code> network mode can have an IPv6
194
- * address assigned. For more information on using IPv6 with tasks launched on
195
- * 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
196
- * 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>
197
- * </li>
198
- * <li>
199
- * <p>
200
- * <code>fargateTaskRetirementWaitPeriod</code> - When Amazon Web Services
201
- * determines that a security or infrastructure update is needed for an Amazon ECS
202
- * task hosted on Fargate, the tasks need to be stopped and new tasks launched to
203
- * replace them. Use <code>fargateTaskRetirementWaitPeriod</code> to configure the
204
- * wait time to retire a Fargate task. For information about the Fargate tasks
205
- * maintenance, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html">Amazon Web
206
- * Services Fargate task maintenance</a> in the
207
- * <i>Amazon ECS Developer Guide</i>.</p>
208
- * </li>
209
- * <li>
210
- * <p>
211
- * <code>tagResourceAuthorization</code> - Amazon ECS is introducing tagging
212
- * authorization for resource creation. Users must have permissions for actions
213
- * that create the resource, such as <code>ecsCreateCluster</code>. If tags are
214
- * specified when you create a resource, Amazon Web Services performs
215
- * additional authorization to verify if users or roles have permissions to create
216
- * tags. Therefore, you must grant explicit permissions to use the
217
- * <code>ecs:TagResource</code> action. For 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
218
- * <i>Amazon ECS Developer Guide</i>.</p>
219
- * </li>
220
- * <li>
221
- * <p>
222
- * <code>defaultLogDriverMode</code> - Amazon ECS supports setting a default
223
- * delivery mode of log messages from a container to the <code>logDriver</code>
224
- * that you specify in the container's <code>logConfiguration</code>. The delivery
225
- * mode affects application stability when the flow of logs from the container to
226
- * the log driver is interrupted. The <code>defaultLogDriverMode</code> setting
227
- * supports two values: <code>blocking</code> and <code>non-blocking</code>. If you
228
- * don't specify a delivery mode in your container definition's
229
- * <code>logConfiguration</code>, the mode you specify using this account
230
- * setting will be used as the default. For more information about log delivery
231
- * modes, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html">LogConfiguration</a>. </p>
232
- * <note>
233
- * <p>On June 25, 2025, Amazon ECS changed the default log driver mode from
234
- * <code>blocking</code> to <code>non-blocking</code> to prioritize task
235
- * availability over logging. To continue using the <code>blocking</code> mode
236
- * after this change, do one of the following:</p>
237
- * <ul>
238
- * <li>
239
- * <p>Set the <code>mode</code> option in your container definition's
240
- * <code>logConfiguration</code> as <code>blocking</code>.</p>
241
- * </li>
242
- * <li>
243
- * <p>Set the <code>defaultLogDriverMode</code> account setting to
244
- * <code>blocking</code>.</p>
245
- * </li>
246
- * </ul>
247
- * </note>
248
- * </li>
249
- * <li>
250
- * <p>
251
- * <code>guardDutyActivate</code> - The <code>guardDutyActivate</code> parameter
252
- * is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring
253
- * is enabled or disabled by your security administrator in your Amazon ECS
254
- * account. Amazon GuardDuty controls this account setting on your behalf. For more
255
- * 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
256
- * Monitoring</a>.</p>
257
- * </li>
258
- * </ul>
259
- * @public
260
- */
261
- name: SettingName | undefined;
262
- /**
263
- * <p>The account setting value for the specified principal ARN. Accepted values are
264
- * <code>enabled</code>, <code>disabled</code>, <code>enhanced</code>, <code>on</code>,
265
- * and <code>off</code>.</p>
266
- * <p>When you specify <code>fargateTaskRetirementWaitPeriod</code> for the
267
- * <code>name</code>, the following are the valid values:</p>
268
- * <ul>
269
- * <li>
270
- * <p>
271
- * <code>0</code> - Amazon Web Services sends the notification, and
272
- * immediately retires the affected tasks.</p>
273
- * </li>
274
- * <li>
275
- * <p>
276
- * <code>7</code> - Amazon Web Services sends the notification, and waits 7
277
- * calendar days to retire the tasks.</p>
278
- * </li>
279
- * <li>
280
- * <p>
281
- * <code>14</code> - Amazon Web Services sends the notification, and waits 14
282
- * calendar days to retire the tasks.</p>
283
- * </li>
284
- * </ul>
285
- * @public
286
- */
287
- value: string | undefined;
288
- /**
289
- * <p>The ARN of the principal, which can be a user, role, or the root user. If you specify
290
- * the root user, it modifies the account setting for all users, roles, and the root user
291
- * of the account unless a user or role explicitly overrides these settings. If this field
292
- * is omitted, the setting is changed only for the authenticated user.</p>
293
- * <p>In order to use this parameter, you must be the root user, or the principal.</p>
294
- * <note>
295
- * <p>You must use the root user when you set the Fargate wait time
296
- * (<code>fargateTaskRetirementWaitPeriod</code>). </p>
297
- * <p>Federated users assume the account setting of the root user and can't have
298
- * explicit account settings set for them.</p>
299
- * </note>
300
- * @public
301
- */
302
- principalArn?: string | undefined;
303
- }
304
- /**
305
- * @public
306
- */
307
- export interface PutAccountSettingResponse {
308
- /**
309
- * <p>The current account setting for a resource.</p>
310
- * @public
311
- */
312
- setting?: Setting | undefined;
313
- }
314
- /**
315
- * @public
316
- */
317
- export interface PutAccountSettingDefaultRequest {
318
- /**
319
- * <p>The resource name for which to modify the account setting.</p>
320
- * <p>The following are the valid values for the account setting name.</p>
321
- * <ul>
322
- * <li>
323
- * <p>
324
- * <code>serviceLongArnFormat</code> - When modified, the Amazon Resource Name
325
- * (ARN) and resource ID format of the resource type for a specified user, role, or
326
- * the root user for an account is affected. The opt-in and opt-out account setting
327
- * must be set for each Amazon ECS resource separately. The ARN and resource ID
328
- * format of a resource is defined by the opt-in status of the user or role that
329
- * created the resource. You must turn on this setting to use Amazon ECS features
330
- * such as resource tagging.</p>
331
- * </li>
332
- * <li>
333
- * <p>
334
- * <code>taskLongArnFormat</code> - When modified, the Amazon Resource Name (ARN)
335
- * and resource ID format of the resource type for a specified user, role, or the
336
- * root user for an account is affected. The opt-in and opt-out account setting
337
- * must be set for each Amazon ECS resource separately. The ARN and resource ID
338
- * format of a resource is defined by the opt-in status of the user or role that
339
- * created the resource. You must turn on this setting to use Amazon ECS features
340
- * such as resource tagging.</p>
341
- * </li>
342
- * <li>
343
- * <p>
344
- * <code>containerInstanceLongArnFormat</code> - When modified, the Amazon
345
- * Resource Name (ARN) and resource ID format of the resource type for a specified
346
- * user, role, or the root user for an account is affected. The opt-in and opt-out
347
- * account setting must be set for each Amazon ECS resource separately. The ARN and
348
- * resource ID format of a resource is defined by the opt-in status of the user or
349
- * role that created the resource. You must turn on this setting to use Amazon ECS
350
- * features such as resource tagging.</p>
351
- * </li>
352
- * <li>
353
- * <p>
354
- * <code>awsvpcTrunking</code> - When modified, the elastic network interface
355
- * (ENI) limit for any new container instances that support the feature is changed.
356
- * If <code>awsvpcTrunking</code> is turned on, any new container instances that
357
- * support the feature are launched have the increased ENI limits available to
358
- * them. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html">Elastic
359
- * Network Interface Trunking</a> in the <i>Amazon Elastic Container
360
- * Service Developer Guide</i>.</p>
361
- * </li>
362
- * <li>
363
- * <p>
364
- * <code>containerInsights</code> - Container Insights with enhanced
365
- * observability provides all the Container Insights metrics, plus additional task
366
- * and container metrics. This version supports enhanced observability for Amazon
367
- * ECS clusters using the Amazon EC2 and Fargate launch types. After you configure
368
- * Container Insights with enhanced observability on Amazon ECS, Container Insights
369
- * auto-collects detailed infrastructure telemetry from the cluster level down to
370
- * the container level in your environment and displays these critical performance
371
- * data in curated dashboards removing the heavy lifting in observability set-up. </p>
372
- * <p>To use Container Insights with enhanced observability, set the
373
- * <code>containerInsights</code> account setting to
374
- * <code>enhanced</code>.</p>
375
- * <p>To use Container Insights, set the <code>containerInsights</code> account
376
- * setting to <code>enabled</code>.</p>
377
- * <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
378
- * observability</a> in the <i>Amazon Elastic Container Service
379
- * Developer Guide</i>.</p>
380
- * </li>
381
- * <li>
382
- * <p>
383
- * <code>dualStackIPv6</code> - When turned on, when using a VPC in dual stack
384
- * mode, your tasks using the <code>awsvpc</code> network mode can have an IPv6
385
- * address assigned. For more information on using IPv6 with tasks launched on
386
- * 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
387
- * 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>
388
- * </li>
389
- * <li>
390
- * <p>
391
- * <code>fargateFIPSMode</code> - If you specify <code>fargateFIPSMode</code>,
392
- * Fargate FIPS 140 compliance is affected.</p>
393
- * </li>
394
- * <li>
395
- * <p>
396
- * <code>fargateTaskRetirementWaitPeriod</code> - When Amazon Web Services
397
- * determines that a security or infrastructure update is needed for an Amazon ECS
398
- * task hosted on Fargate, the tasks need to be stopped and new tasks launched to
399
- * replace them. Use <code>fargateTaskRetirementWaitPeriod</code> to configure the
400
- * wait time to retire a Fargate task. For information about the Fargate tasks
401
- * maintenance, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html">Amazon Web
402
- * Services Fargate task maintenance</a> in the
403
- * <i>Amazon ECS Developer Guide</i>.</p>
404
- * </li>
405
- * <li>
406
- * <p>
407
- * <code>tagResourceAuthorization</code> - Amazon ECS is introducing tagging
408
- * authorization for resource creation. Users must have permissions for actions
409
- * that create the resource, such as <code>ecsCreateCluster</code>. If tags are
410
- * specified when you create a resource, Amazon Web Services performs
411
- * additional authorization to verify if users or roles have permissions to create
412
- * tags. Therefore, you must grant explicit permissions to use the
413
- * <code>ecs:TagResource</code> action. For 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
414
- * <i>Amazon ECS Developer Guide</i>.</p>
415
- * </li>
416
- * <li>
417
- * <p>
418
- * <code>defaultLogDriverMode</code> -Amazon ECS supports setting a default
419
- * delivery mode of log messages from a container to the <code>logDriver</code>
420
- * that you specify in the container's <code>logConfiguration</code>. The delivery
421
- * mode affects application stability when the flow of logs from the container to
422
- * the log driver is interrupted. The <code>defaultLogDriverMode</code> setting
423
- * supports two values: <code>blocking</code> and <code>non-blocking</code>. If you
424
- * don't specify a delivery mode in your container definition's
425
- * <code>logConfiguration</code>, the mode you specify using this account
426
- * setting will be used as the default. For more information about log delivery
427
- * modes, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html">LogConfiguration</a>.</p>
428
- * <note>
429
- * <p>On June 25, 2025, Amazon ECS changed the default log driver mode from
430
- * <code>blocking</code> to <code>non-blocking</code> to prioritize task
431
- * availability over logging. To continue using the <code>blocking</code> mode
432
- * after this change, do one of the following:</p>
433
- * <ul>
434
- * <li>
435
- * <p>Set the <code>mode</code> option in your container definition's
436
- * <code>logConfiguration</code> as <code>blocking</code>.</p>
437
- * </li>
438
- * <li>
439
- * <p>Set the <code>defaultLogDriverMode</code> account setting to
440
- * <code>blocking</code>.</p>
441
- * </li>
442
- * </ul>
443
- * </note>
444
- * </li>
445
- * <li>
446
- * <p>
447
- * <code>guardDutyActivate</code> - The <code>guardDutyActivate</code> parameter
448
- * is read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring
449
- * is enabled or disabled by your security administrator in your Amazon ECS
450
- * account. Amazon GuardDuty controls this account setting on your behalf. For more
451
- * 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
452
- * Monitoring</a>.</p>
453
- * </li>
454
- * </ul>
455
- * @public
456
- */
457
- name: SettingName | undefined;
458
- /**
459
- * <p>The account setting value for the specified principal ARN. Accepted values are
460
- * <code>enabled</code>, <code>disabled</code>, <code>on</code>, <code>enhanced</code>,
461
- * and <code>off</code>.</p>
462
- * <p>When you specify <code>fargateTaskRetirementWaitPeriod</code> for the
463
- * <code>name</code>, the following are the valid values:</p>
464
- * <ul>
465
- * <li>
466
- * <p>
467
- * <code>0</code> - Amazon Web Services sends the notification, and
468
- * immediately retires the affected tasks.</p>
469
- * </li>
470
- * <li>
471
- * <p>
472
- * <code>7</code> - Amazon Web Services sends the notification, and waits 7
473
- * calendar days to retire the tasks.</p>
474
- * </li>
475
- * <li>
476
- * <p>
477
- * <code>14</code> - Amazon Web Services sends the notification, and waits 14
478
- * calendar days to retire the tasks.</p>
479
- * </li>
480
- * </ul>
481
- * @public
482
- */
483
- value: string | undefined;
484
- }
485
- /**
486
- * @public
487
- */
488
- export interface PutAccountSettingDefaultResponse {
489
- /**
490
- * <p>The current setting for a resource.</p>
491
- * @public
492
- */
493
- setting?: Setting | undefined;
494
- }
495
- /**
496
- * <p>You can apply up to 10 custom attributes for each resource. You can view the
497
- * attributes of a resource with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ListAttributes.html">ListAttributes</a>.
498
- * 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>
499
- * @public
500
- */
501
- export declare class AttributeLimitExceededException extends __BaseException {
502
- readonly name: "AttributeLimitExceededException";
503
- readonly $fault: "client";
504
- /**
505
- * @internal
506
- */
507
- constructor(opts: __ExceptionOptionType<AttributeLimitExceededException, __BaseException>);
508
- }
509
- /**
510
- * @public
511
- */
512
- export interface PutAttributesRequest {
513
- /**
514
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that contains the
515
- * resource to apply attributes. If you do not specify a cluster, the default cluster is
516
- * assumed.</p>
517
- * @public
518
- */
519
- cluster?: string | undefined;
520
- /**
521
- * <p>The attributes to apply to your resource. You can specify up to 10 custom attributes
522
- * for each resource. You can specify up to 10 attributes in a single call.</p>
523
- * @public
524
- */
525
- attributes: Attribute[] | undefined;
526
- }
527
- /**
528
- * @public
529
- */
530
- export interface PutAttributesResponse {
531
- /**
532
- * <p>The attributes applied to your resource.</p>
533
- * @public
534
- */
535
- attributes?: Attribute[] | undefined;
536
- }
537
- /**
538
- * @public
539
- */
540
- export interface PutClusterCapacityProvidersRequest {
541
- /**
542
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster to modify the
543
- * capacity provider settings for. If you don't specify a cluster, the default cluster is
544
- * assumed.</p>
545
- * @public
546
- */
547
- cluster: string | undefined;
548
- /**
549
- * <p>The name of one or more capacity providers to associate with the cluster.</p>
550
- * <p>If specifying a capacity provider that uses an Auto Scaling group, the capacity
551
- * 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>
552
- * <p>To use a Fargate capacity provider, specify either the <code>FARGATE</code> or
553
- * <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers
554
- * are available to all accounts and only need to be associated with a cluster to be
555
- * used.</p>
556
- * @public
557
- */
558
- capacityProviders: string[] | undefined;
559
- /**
560
- * <p>The capacity provider strategy to use by default for the cluster.</p>
561
- * <p>When creating a service or running a task on a cluster, if no capacity provider or
562
- * launch type is specified then the default capacity provider strategy for the cluster is
563
- * used.</p>
564
- * <p>A capacity provider strategy consists of one or more capacity providers along with the
565
- * <code>base</code> and <code>weight</code> to assign to them. A capacity provider
566
- * must be associated with the cluster to be used in a capacity provider strategy. The
567
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutClusterCapacityProviders.html">PutClusterCapacityProviders</a> API is used to associate a capacity provider
568
- * with a cluster. Only capacity providers with an <code>ACTIVE</code> or
569
- * <code>UPDATING</code> status can be used.</p>
570
- * <p>If specifying a capacity provider that uses an Auto Scaling group, the capacity
571
- * 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>
572
- * <p>To use a Fargate capacity provider, specify either the <code>FARGATE</code> or
573
- * <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers
574
- * are available to all accounts and only need to be associated with a cluster to be
575
- * used.</p>
576
- * @public
577
- */
578
- defaultCapacityProviderStrategy: CapacityProviderStrategyItem[] | undefined;
579
- }
580
- /**
581
- * @public
582
- */
583
- export interface PutClusterCapacityProvidersResponse {
584
- /**
585
- * <p>Details about the cluster.</p>
586
- * @public
587
- */
588
- cluster?: Cluster | undefined;
589
- }
590
- /**
591
- * <p>The specified resource is in-use and can't be removed.</p>
592
- * @public
593
- */
594
- export declare class ResourceInUseException extends __BaseException {
595
- readonly name: "ResourceInUseException";
596
- readonly $fault: "client";
597
- /**
598
- * @internal
599
- */
600
- constructor(opts: __ExceptionOptionType<ResourceInUseException, __BaseException>);
601
- }
602
- /**
603
- * @public
604
- * @enum
605
- */
606
- export declare const PlatformDeviceType: {
607
- readonly GPU: "GPU";
608
- };
609
- /**
610
- * @public
611
- */
612
- export type PlatformDeviceType = (typeof PlatformDeviceType)[keyof typeof PlatformDeviceType];
613
- /**
614
- * <p>The devices that are available on the container instance. The only supported device
615
- * type is a GPU.</p>
616
- * @public
617
- */
618
- export interface PlatformDevice {
619
- /**
620
- * <p>The ID for the GPUs on the container instance. The available GPU IDs can also be
621
- * obtained on the container instance in the
622
- * <code>/var/lib/ecs/gpu/nvidia_gpu_info.json</code> file.</p>
623
- * @public
624
- */
625
- id: string | undefined;
626
- /**
627
- * <p>The type of device that's available on the container instance. The only supported
628
- * value is <code>GPU</code>.</p>
629
- * @public
630
- */
631
- type: PlatformDeviceType | undefined;
632
- }
633
- /**
634
- * @public
635
- */
636
- export interface RegisterContainerInstanceRequest {
637
- /**
638
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster to register your
639
- * container instance with. If you do not specify a cluster, the default cluster is
640
- * assumed.</p>
641
- * @public
642
- */
643
- cluster?: string | undefined;
644
- /**
645
- * <p>The instance identity document for the EC2 instance to register. This document can be
646
- * found by running the following command from the instance: <code>curl
647
- * http://169.254.169.254/latest/dynamic/instance-identity/document/</code>
648
- * </p>
649
- * @public
650
- */
651
- instanceIdentityDocument?: string | undefined;
652
- /**
653
- * <p>The instance identity document signature for the EC2 instance to register. This
654
- * signature can be found by running the following command from the instance: <code>curl
655
- * http://169.254.169.254/latest/dynamic/instance-identity/signature/</code>
656
- * </p>
657
- * @public
658
- */
659
- instanceIdentityDocumentSignature?: string | undefined;
660
- /**
661
- * <p>The resources available on the instance.</p>
662
- * @public
663
- */
664
- totalResources?: Resource[] | undefined;
665
- /**
666
- * <p>The version information for the Amazon ECS container agent and Docker daemon that runs
667
- * on the container instance.</p>
668
- * @public
669
- */
670
- versionInfo?: VersionInfo | undefined;
671
- /**
672
- * <p>The ARN of the container instance (if it was previously registered).</p>
673
- * @public
674
- */
675
- containerInstanceArn?: string | undefined;
676
- /**
677
- * <p>The container instance attributes that this container instance supports.</p>
678
- * @public
679
- */
680
- attributes?: Attribute[] | undefined;
681
- /**
682
- * <p>The devices that are available on the container instance. The only supported device
683
- * type is a GPU.</p>
684
- * @public
685
- */
686
- platformDevices?: PlatformDevice[] | undefined;
687
- /**
688
- * <p>The metadata that you apply to the container instance to help you categorize and
689
- * organize them. Each tag consists of a key and an optional value. You define both.</p>
690
- * <p>The following basic restrictions apply to tags:</p>
691
- * <ul>
692
- * <li>
693
- * <p>Maximum number of tags per resource - 50</p>
694
- * </li>
695
- * <li>
696
- * <p>For each resource, each tag key must be unique, and each tag key can have only
697
- * one value.</p>
698
- * </li>
699
- * <li>
700
- * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
701
- * </li>
702
- * <li>
703
- * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
704
- * </li>
705
- * <li>
706
- * <p>If your tagging schema is used across multiple services and resources,
707
- * remember that other services may have restrictions on allowed characters.
708
- * Generally allowed characters are: letters, numbers, and spaces representable in
709
- * UTF-8, and the following characters: + - = . _ : / @.</p>
710
- * </li>
711
- * <li>
712
- * <p>Tag keys and values are case-sensitive.</p>
713
- * </li>
714
- * <li>
715
- * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
716
- * combination of such as a prefix for either keys or values as it is reserved for
717
- * Amazon Web
718
- * Services use. You cannot edit or delete tag keys or values with
719
- * this prefix. Tags with this prefix do not count against your tags per resource
720
- * limit.</p>
721
- * </li>
722
- * </ul>
723
- * @public
724
- */
725
- tags?: Tag[] | undefined;
726
- }
727
- /**
728
- * @public
729
- */
730
- export interface RegisterContainerInstanceResponse {
731
- /**
732
- * <p>The container instance that was registered.</p>
733
- * @public
734
- */
735
- containerInstance?: ContainerInstance | undefined;
736
- }
737
- /**
738
- * @public
739
- */
740
- export interface RegisterTaskDefinitionRequest {
741
- /**
742
- * <p>You must specify a <code>family</code> for a task definition. You can use it track
743
- * multiple versions of the same task definition. The <code>family</code> is used as a name
744
- * for your task definition. Up to 255 letters (uppercase and lowercase), numbers,
745
- * underscores, and hyphens are allowed.</p>
746
- * @public
747
- */
748
- family: string | undefined;
749
- /**
750
- * <p>The short name or full Amazon Resource Name (ARN) of the IAM role that containers in
751
- * this task can assume. All containers in this task are granted the permissions that are
752
- * specified in this role. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html">IAM Roles for
753
- * Tasks</a> in the <i>Amazon Elastic Container Service Developer
754
- * Guide</i>.</p>
755
- * @public
756
- */
757
- taskRoleArn?: string | undefined;
758
- /**
759
- * <p>The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS
760
- * container agent permission to make Amazon Web Services API calls on your behalf. For
761
- * 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
762
- * for Amazon ECS</a> in the <i>Amazon Elastic Container Service Developer
763
- * Guide</i>.</p>
764
- * @public
765
- */
766
- executionRoleArn?: string | undefined;
767
- /**
768
- * <p>The Docker networking mode to use for the containers in the task. The valid values are
769
- * <code>none</code>, <code>bridge</code>, <code>awsvpc</code>, and <code>host</code>.
770
- * If no network mode is specified, the default is <code>bridge</code>.</p>
771
- * <p>For Amazon ECS tasks on Fargate, the <code>awsvpc</code> network mode is required. For
772
- * Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon
773
- * ECS tasks on Amazon EC2 Windows instances, <code><default></code> or
774
- * <code>awsvpc</code> can be used. If the network mode is set to <code>none</code>,
775
- * you cannot specify port mappings in your container definitions, and the tasks containers
776
- * do not have external connectivity. The <code>host</code> and <code>awsvpc</code> network
777
- * modes offer the highest networking performance for containers because they use the EC2
778
- * network stack instead of the virtualized network stack provided by the
779
- * <code>bridge</code> mode.</p>
780
- * <p>With the <code>host</code> and <code>awsvpc</code> network modes, exposed container
781
- * ports are mapped directly to the corresponding host port (for the <code>host</code>
782
- * network mode) or the attached elastic network interface port (for the
783
- * <code>awsvpc</code> network mode), so you cannot take advantage of dynamic host port
784
- * mappings. </p>
785
- * <important>
786
- * <p>When using the <code>host</code> network mode, you should not run containers using
787
- * the root user (UID 0). It is considered best practice to use a non-root user.</p>
788
- * </important>
789
- * <p>If the network mode is <code>awsvpc</code>, the task is allocated an elastic network
790
- * 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 a service or run a task with the
791
- * task definition. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task Networking</a>
792
- * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
793
- * <p>If the network mode is <code>host</code>, you cannot run multiple instantiations of
794
- * the same task on a single container instance when port mappings are used.</p>
795
- * @public
796
- */
797
- networkMode?: NetworkMode | undefined;
798
- /**
799
- * <p>A list of container definitions in JSON format that describe the different containers
800
- * that make up your task.</p>
801
- * @public
802
- */
803
- containerDefinitions: ContainerDefinition[] | undefined;
804
- /**
805
- * <p>A list of volume definitions in JSON format that containers in your task might
806
- * use.</p>
807
- * @public
808
- */
809
- volumes?: Volume[] | undefined;
810
- /**
811
- * <p>An array of placement constraint objects to use for the task. You can specify a
812
- * maximum of 10 constraints for each task. This limit includes constraints in the task
813
- * definition and those specified at runtime.</p>
814
- * @public
815
- */
816
- placementConstraints?: TaskDefinitionPlacementConstraint[] | undefined;
817
- /**
818
- * <p>The task launch type that Amazon ECS validates the task definition against. A client
819
- * exception is returned if the task definition doesn't validate against the
820
- * compatibilities specified. If no value is specified, the parameter is omitted from the
821
- * response.</p>
822
- * @public
823
- */
824
- requiresCompatibilities?: Compatibility[] | undefined;
825
- /**
826
- * <p>The number of CPU units used by the task. It can be expressed as an integer using CPU
827
- * units (for example, <code>1024</code>) or as a string using vCPUs (for example, <code>1
828
- * vCPU</code> or <code>1 vcpu</code>) in a task definition. String values are
829
- * converted to an integer indicating the CPU units when the task definition is
830
- * registered.</p>
831
- * <note>
832
- * <p>Task-level CPU and memory parameters are ignored for Windows containers. We
833
- * recommend specifying container-level resources for Windows containers.</p>
834
- * </note>
835
- * <p>If you're using the EC2 launch type or external launch type, this field is optional.
836
- * Supported values are between <code>128</code> CPU units (<code>0.125</code> vCPUs) and
837
- * <code>196608</code> CPU units (<code>192</code> vCPUs). If you do not specify a
838
- * value, the parameter is ignored.</p>
839
- * <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
840
- * size</a> in the <i>Amazon Elastic Container Service Developer
841
- * Guide</i>.</p>
842
- * @public
843
- */
844
- cpu?: string | undefined;
845
- /**
846
- * <p>The amount of memory (in MiB) used by the task. It can be expressed as an integer
847
- * using MiB (for example ,<code>1024</code>) or as a string using GB (for example,
848
- * <code>1GB</code> or <code>1 GB</code>) in a task definition. String values are
849
- * converted to an integer indicating the MiB when the task definition is
850
- * registered.</p>
851
- * <note>
852
- * <p>Task-level CPU and memory parameters are ignored for Windows containers. We
853
- * recommend specifying container-level resources for Windows containers.</p>
854
- * </note>
855
- * <p>If using the EC2 launch type, this field is optional.</p>
856
- * <p>If using the Fargate launch type, this field is required and you must use one of the
857
- * following values. This determines your range of supported values for the
858
- * <code>cpu</code> parameter.</p>
859
- * <p>The CPU units cannot be less than 1 vCPU when you use Windows containers on
860
- * Fargate.</p>
861
- * <ul>
862
- * <li>
863
- * <p>512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available <code>cpu</code> values:
864
- * 256 (.25 vCPU)</p>
865
- * </li>
866
- * <li>
867
- * <p>1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available
868
- * <code>cpu</code> values: 512 (.5 vCPU)</p>
869
- * </li>
870
- * <li>
871
- * <p>2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB),
872
- * 8192 (8 GB) - Available <code>cpu</code> values: 1024 (1 vCPU)</p>
873
- * </li>
874
- * <li>
875
- * <p>Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available
876
- * <code>cpu</code> values: 2048 (2 vCPU)</p>
877
- * </li>
878
- * <li>
879
- * <p>Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available
880
- * <code>cpu</code> values: 4096 (4 vCPU)</p>
881
- * </li>
882
- * <li>
883
- * <p>Between 16 GB and 60 GB in 4 GB increments - Available <code>cpu</code>
884
- * values: 8192 (8 vCPU)</p>
885
- * <p>This option requires Linux platform <code>1.4.0</code> or later.</p>
886
- * </li>
887
- * <li>
888
- * <p>Between 32GB and 120 GB in 8 GB increments - Available <code>cpu</code>
889
- * values: 16384 (16 vCPU)</p>
890
- * <p>This option requires Linux platform <code>1.4.0</code> or later.</p>
891
- * </li>
892
- * </ul>
893
- * @public
894
- */
895
- memory?: string | undefined;
896
- /**
897
- * <p>The metadata that you apply to the task definition to help you categorize and organize
898
- * them. Each tag consists of a key and an optional value. You define both of them.</p>
899
- * <p>The following basic restrictions apply to tags:</p>
900
- * <ul>
901
- * <li>
902
- * <p>Maximum number of tags per resource - 50</p>
903
- * </li>
904
- * <li>
905
- * <p>For each resource, each tag key must be unique, and each tag key can have only
906
- * one value.</p>
907
- * </li>
908
- * <li>
909
- * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
910
- * </li>
911
- * <li>
912
- * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
913
- * </li>
914
- * <li>
915
- * <p>If your tagging schema is used across multiple services and resources,
916
- * remember that other services may have restrictions on allowed characters.
917
- * Generally allowed characters are: letters, numbers, and spaces representable in
918
- * UTF-8, and the following characters: + - = . _ : / @.</p>
919
- * </li>
920
- * <li>
921
- * <p>Tag keys and values are case-sensitive.</p>
922
- * </li>
923
- * <li>
924
- * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
925
- * combination of such as a prefix for either keys or values as it is reserved for
926
- * Amazon Web
927
- * Services use. You cannot edit or delete tag keys or values with
928
- * this prefix. Tags with this prefix do not count against your tags per resource
929
- * limit.</p>
930
- * </li>
931
- * </ul>
932
- * @public
933
- */
934
- tags?: Tag[] | undefined;
935
- /**
936
- * <p>The process namespace to use for the containers in the task. The valid values are
937
- * <code>host</code> or <code>task</code>. On Fargate for Linux containers, the only
938
- * valid value is <code>task</code>. For example, monitoring sidecars might need
939
- * <code>pidMode</code> to access information about other containers running in the
940
- * same task.</p>
941
- * <p>If <code>host</code> is specified, all containers within the tasks that specified the
942
- * <code>host</code> PID mode on the same container instance share the same process
943
- * namespace with the host Amazon EC2 instance.</p>
944
- * <p>If <code>task</code> is specified, all containers within the specified task share the
945
- * same process namespace.</p>
946
- * <p>If no value is specified, the The default is a private namespace for each
947
- * container.</p>
948
- * <p>If the <code>host</code> PID mode is used, there's a heightened risk of undesired
949
- * process namespace exposure.</p>
950
- * <note>
951
- * <p>This parameter is not supported for Windows containers.</p>
952
- * </note>
953
- * <note>
954
- * <p>This parameter is only supported for tasks that are hosted on Fargate if
955
- * the tasks are using platform version <code>1.4.0</code> or later (Linux). This isn't
956
- * supported for Windows containers on Fargate.</p>
957
- * </note>
958
- * @public
959
- */
960
- pidMode?: PidMode | undefined;
961
- /**
962
- * <p>The IPC resource namespace to use for the containers in the task. The valid values are
963
- * <code>host</code>, <code>task</code>, or <code>none</code>. If <code>host</code> is
964
- * specified, then all containers within the tasks that specified the <code>host</code> IPC
965
- * mode on the same container instance share the same IPC resources with the host Amazon
966
- * EC2 instance. If <code>task</code> is specified, all containers within the specified
967
- * task share the same IPC resources. If <code>none</code> is specified, then IPC resources
968
- * within the containers of a task are private and not shared with other containers in a
969
- * task or on the container instance. If no value is specified, then the IPC resource
970
- * namespace sharing depends on the Docker daemon setting on the container instance.</p>
971
- * <p>If the <code>host</code> IPC mode is used, be aware that there is a heightened risk of
972
- * undesired IPC namespace expose.</p>
973
- * <p>If you are setting namespaced kernel parameters using <code>systemControls</code> for
974
- * the containers in the task, the following will apply to your IPC resource namespace. For
975
- * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html">System
976
- * Controls</a> in the <i>Amazon Elastic Container Service Developer
977
- * Guide</i>.</p>
978
- * <ul>
979
- * <li>
980
- * <p>For tasks that use the <code>host</code> IPC mode, IPC namespace related
981
- * <code>systemControls</code> are not supported.</p>
982
- * </li>
983
- * <li>
984
- * <p>For tasks that use the <code>task</code> IPC mode, IPC namespace related
985
- * <code>systemControls</code> will apply to all containers within a
986
- * task.</p>
987
- * </li>
988
- * </ul>
989
- * <note>
990
- * <p>This parameter is not supported for Windows containers or tasks run on Fargate.</p>
991
- * </note>
992
- * @public
993
- */
994
- ipcMode?: IpcMode | undefined;
995
- /**
996
- * <p>The configuration details for the App Mesh proxy.</p>
997
- * <p>For tasks hosted on Amazon EC2 instances, the container instances require at least
998
- * version <code>1.26.0</code> of the container agent and at least version
999
- * <code>1.26.0-1</code> of the <code>ecs-init</code> package to use a proxy
1000
- * configuration. If your container instances are launched from the Amazon ECS-optimized
1001
- * AMI version <code>20190301</code> or later, then they contain the required versions of
1002
- * 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
1003
- * Service Developer Guide</i>.</p>
1004
- * @public
1005
- */
1006
- proxyConfiguration?: ProxyConfiguration | undefined;
1007
- /**
1008
- * <p>The Elastic Inference accelerators to use for the containers in the task.</p>
1009
- * @public
1010
- */
1011
- inferenceAccelerators?: InferenceAccelerator[] | undefined;
1012
- /**
1013
- * <p>The amount of ephemeral storage to allocate for the task. This parameter is used to
1014
- * expand the total amount of ephemeral storage available, beyond the default amount, for
1015
- * 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
1016
- * tasks</a> in the <i>Amazon ECS Developer Guide</i>.</p>
1017
- * <note>
1018
- * <p>For tasks using the Fargate launch type, the task requires the following
1019
- * platforms:</p>
1020
- * <ul>
1021
- * <li>
1022
- * <p>Linux platform version <code>1.4.0</code> or later.</p>
1023
- * </li>
1024
- * <li>
1025
- * <p>Windows platform version <code>1.0.0</code> or later.</p>
1026
- * </li>
1027
- * </ul>
1028
- * </note>
1029
- * @public
1030
- */
1031
- ephemeralStorage?: EphemeralStorage | undefined;
1032
- /**
1033
- * <p>The operating system that your tasks definitions run on.</p>
1034
- * @public
1035
- */
1036
- runtimePlatform?: RuntimePlatform | undefined;
1037
- /**
1038
- * <p>Enables fault injection when you register your task definition and allows for fault
1039
- * injection requests to be accepted from the task's containers. The default value is
1040
- * <code>false</code>.</p>
1041
- * @public
1042
- */
1043
- enableFaultInjection?: boolean | undefined;
1044
- }
1045
- /**
1046
- * @public
1047
- */
1048
- export interface RegisterTaskDefinitionResponse {
1049
- /**
1050
- * <p>The full description of the registered task definition.</p>
1051
- * @public
1052
- */
1053
- taskDefinition?: TaskDefinition | undefined;
1054
- /**
1055
- * <p>The list of tags associated with the task definition.</p>
1056
- * @public
1057
- */
1058
- tags?: Tag[] | undefined;
1059
- }
1060
- /**
1061
- * <p>Your Amazon Web
1062
- * Services account was blocked. For more information, contact <a href="http://aws.amazon.com/contact-us/">
1063
- * Amazon Web
1064
- * Services Support</a>.</p>
1065
- * @public
1066
- */
1067
- export declare class BlockedException extends __BaseException {
1068
- readonly name: "BlockedException";
1069
- readonly $fault: "client";
1070
- /**
1071
- * @internal
1072
- */
1073
- constructor(opts: __ExceptionOptionType<BlockedException, __BaseException>);
1074
- }
1075
- /**
1076
- * <p>The request could not be processed because of conflict in the current state of the
1077
- * resource. </p>
1078
- * @public
1079
- */
1080
- export declare class ConflictException extends __BaseException {
1081
- readonly name: "ConflictException";
1082
- readonly $fault: "client";
1083
- /**
1084
- * <p>The existing task ARNs which are already associated with the
1085
- * <code>clientToken</code>.</p>
1086
- * @public
1087
- */
1088
- resourceIds?: string[] | undefined;
1089
- /**
1090
- * @internal
1091
- */
1092
- constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
1093
- }
1094
- /**
1095
- * <p>The termination policy for the Amazon EBS volume when the task exits. For more
1096
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-volume-types">Amazon ECS volume termination policy</a>.</p>
1097
- * @public
1098
- */
1099
- export interface TaskManagedEBSVolumeTerminationPolicy {
1100
- /**
1101
- * <p>Indicates whether the volume should be deleted on when the task stops. If a value of
1102
- * <code>true</code> is specified,
1103
- Amazon ECS deletes the Amazon EBS volume on
1104
- * your behalf when the task goes into the <code>STOPPED</code> state. If no value is
1105
- * specified, the
1106
- default value is <code>true</code> is used. When set to
1107
- * <code>false</code>, Amazon ECS leaves the volume in your
1108
- account.</p>
1109
- * @public
1110
- */
1111
- deleteOnTermination: boolean | undefined;
1112
- }
1113
- /**
1114
- * <p>The configuration for the Amazon EBS volume that Amazon ECS creates and manages on
1115
- * your behalf. These settings are used to create each Amazon EBS volume, with one volume
1116
- * created for each task.</p>
1117
- * @public
1118
- */
1119
- export interface TaskManagedEBSVolumeConfiguration {
1120
- /**
1121
- * <p>Indicates whether the volume should be encrypted. If you turn on Region-level Amazon
1122
- * EBS encryption by default but set this value as <code>false</code>, the setting is
1123
- * overridden and the volume is encrypted with the KMS key specified for Amazon EBS
1124
- * encryption by default. This parameter maps 1:1 with the <code>Encrypted</code> parameter
1125
- * of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in
1126
- * the <i>Amazon EC2 API Reference</i>.</p>
1127
- * @public
1128
- */
1129
- encrypted?: boolean | undefined;
1130
- /**
1131
- * <p>The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key
1132
- * to use for Amazon EBS encryption. When a key is specified using this parameter, it
1133
- * overrides Amazon EBS default encryption or any KMS key that you specified for
1134
- * cluster-level managed storage encryption. This parameter maps 1:1 with the
1135
- * <code>KmsKeyId</code> parameter of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in
1136
- * the <i>Amazon EC2 API Reference</i>. For more information about encrypting
1137
- * 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
1138
- * tasks</a>.</p>
1139
- * <important>
1140
- * <p>Amazon Web
1141
- * Services authenticates the Amazon Web Services Key Management Service
1142
- * key asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid,
1143
- * the action can appear to complete, but eventually fails.</p>
1144
- * </important>
1145
- * @public
1146
- */
1147
- kmsKeyId?: string | undefined;
1148
- /**
1149
- * <p>The volume type. This parameter maps 1:1 with the <code>VolumeType</code> parameter of
1150
- * 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
1151
- * more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html">Amazon EBS volume types</a>
1152
- * in the <i>Amazon EC2 User Guide</i>.</p>
1153
- * <p>The following are the supported volume types.</p>
1154
- * <ul>
1155
- * <li>
1156
- * <p>General Purpose SSD: <code>gp2</code>|<code>gp3</code>
1157
- * </p>
1158
- * </li>
1159
- * <li>
1160
- * <p>Provisioned IOPS SSD: <code>io1</code>|<code>io2</code>
1161
- * </p>
1162
- * </li>
1163
- * <li>
1164
- * <p>Throughput Optimized HDD: <code>st1</code>
1165
- * </p>
1166
- * </li>
1167
- * <li>
1168
- * <p>Cold HDD: <code>sc1</code>
1169
- * </p>
1170
- * </li>
1171
- * <li>
1172
- * <p>Magnetic: <code>standard</code>
1173
- * </p>
1174
- * <note>
1175
- * <p>The magnetic volume type is not supported on Fargate.</p>
1176
- * </note>
1177
- * </li>
1178
- * </ul>
1179
- * @public
1180
- */
1181
- volumeType?: string | undefined;
1182
- /**
1183
- * <p>The size of the volume in GiB. You must specify either a volume size or a snapshot ID.
1184
- * If you specify a snapshot ID, the snapshot size is used for the volume size by default.
1185
- * You can optionally specify a volume size greater than or equal to the snapshot size.
1186
- * 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
1187
- * Reference</i>.</p>
1188
- * <p>The following are the supported volume size values for each volume type.</p>
1189
- * <ul>
1190
- * <li>
1191
- * <p>
1192
- * <code>gp2</code> and <code>gp3</code>: 1-16,384</p>
1193
- * </li>
1194
- * <li>
1195
- * <p>
1196
- * <code>io1</code> and <code>io2</code>: 4-16,384</p>
1197
- * </li>
1198
- * <li>
1199
- * <p>
1200
- * <code>st1</code> and <code>sc1</code>: 125-16,384</p>
1201
- * </li>
1202
- * <li>
1203
- * <p>
1204
- * <code>standard</code>: 1-1,024</p>
1205
- * </li>
1206
- * </ul>
1207
- * @public
1208
- */
1209
- sizeInGiB?: number | undefined;
1210
- /**
1211
- * <p>The snapshot that Amazon ECS uses to create the volume. You must specify either a
1212
- * snapshot ID or a volume size. This parameter maps 1:1 with the <code>SnapshotId</code>
1213
- * parameter of the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in
1214
- * the <i>Amazon EC2 API Reference</i>.</p>
1215
- * @public
1216
- */
1217
- snapshotId?: string | undefined;
1218
- /**
1219
- * <p>The rate, in MiB/s, at which data is fetched from a snapshot of an existing Amazon EBS
1220
- * volume to create a new volume for attachment to the task. This property can be specified
1221
- * 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
1222
- * Amazon EBS volumes</a> in the <i>Amazon EBS User Guide</i>.</p>
1223
- * @public
1224
- */
1225
- volumeInitializationRate?: number | undefined;
1226
- /**
1227
- * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>,
1228
- * <code>io1</code>, and <code>io2</code> volumes, this represents the number of IOPS that
1229
- * are provisioned for the volume. For <code>gp2</code> volumes, this represents the
1230
- * baseline performance of the volume and the rate at which the volume accumulates I/O
1231
- * credits for bursting.</p>
1232
- * <p>The following are the supported values for each volume type.</p>
1233
- * <ul>
1234
- * <li>
1235
- * <p>
1236
- * <code>gp3</code>: 3,000 - 16,000 IOPS</p>
1237
- * </li>
1238
- * <li>
1239
- * <p>
1240
- * <code>io1</code>: 100 - 64,000 IOPS</p>
1241
- * </li>
1242
- * <li>
1243
- * <p>
1244
- * <code>io2</code>: 100 - 256,000 IOPS</p>
1245
- * </li>
1246
- * </ul>
1247
- * <p>This parameter is required for <code>io1</code> and <code>io2</code> volume types. The
1248
- * default for <code>gp3</code> volumes is <code>3,000 IOPS</code>. This parameter is not
1249
- * supported for <code>st1</code>, <code>sc1</code>, or <code>standard</code> volume
1250
- * types.</p>
1251
- * <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
1252
- * Reference</i>.</p>
1253
- * @public
1254
- */
1255
- iops?: number | undefined;
1256
- /**
1257
- * <p>The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.
1258
- * 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
1259
- * Reference</i>.</p>
1260
- * <important>
1261
- * <p>This parameter is only supported for the <code>gp3</code> volume type.</p>
1262
- * </important>
1263
- * @public
1264
- */
1265
- throughput?: number | undefined;
1266
- /**
1267
- * <p>The tags to apply to the volume. Amazon ECS applies service-managed tags by default.
1268
- * This parameter maps 1:1 with the <code>TagSpecifications.N</code> parameter of the
1269
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html">CreateVolume API</a> in the <i>Amazon EC2 API
1270
- * Reference</i>.</p>
1271
- * @public
1272
- */
1273
- tagSpecifications?: EBSTagSpecification[] | undefined;
1274
- /**
1275
- * <p>The ARN of the IAM role to associate with this volume. This is the Amazon ECS
1276
- * infrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We
1277
- * recommend using the Amazon ECS-managed
1278
- * <code>AmazonECSInfrastructureRolePolicyForVolumes</code> IAM policy with this role.
1279
- * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html">Amazon ECS
1280
- * infrastructure IAM role</a> in the <i>Amazon ECS Developer
1281
- * Guide</i>.</p>
1282
- * @public
1283
- */
1284
- roleArn: string | undefined;
1285
- /**
1286
- * <p>The termination policy for the volume when the task exits. This provides a way to
1287
- * control whether Amazon ECS terminates the Amazon EBS volume when the task stops.</p>
1288
- * @public
1289
- */
1290
- terminationPolicy?: TaskManagedEBSVolumeTerminationPolicy | undefined;
1291
- /**
1292
- * <p>The Linux filesystem type for the volume. For volumes created from a snapshot, you
1293
- * must specify the same filesystem type that the volume was using when the snapshot was
1294
- * created. If there is a filesystem type mismatch, the task will fail to start.</p>
1295
- * <p>The available filesystem types are
1296
- <code>ext3</code>, <code>ext4</code>, and
1297
- * <code>xfs</code>. If no value is specified, the <code>xfs</code> filesystem type is
1298
- * used by default.</p>
1299
- * @public
1300
- */
1301
- filesystemType?: TaskFilesystemType | undefined;
1302
- }
1303
- /**
1304
- * <p>Configuration settings for the task volume that was <code>configuredAtLaunch</code>
1305
- * that weren't set during <code>RegisterTaskDef</code>.</p>
1306
- * @public
1307
- */
1308
- export interface TaskVolumeConfiguration {
1309
- /**
1310
- * <p>The name of the volume. This value must match the volume name from the
1311
- * <code>Volume</code> object in the task definition.</p>
1312
- * @public
1313
- */
1314
- name: string | undefined;
1315
- /**
1316
- * <p>The configuration for the Amazon EBS volume that Amazon ECS creates and manages on
1317
- * your behalf. These settings are used to create each Amazon EBS volume, with one volume
1318
- * created for each task. The Amazon EBS volumes are visible in your account in the Amazon
1319
- * EC2 console once they are created.</p>
1320
- * @public
1321
- */
1322
- managedEBSVolume?: TaskManagedEBSVolumeConfiguration | undefined;
1323
- }
1324
- /**
1325
- * @public
1326
- */
1327
- export interface RunTaskRequest {
1328
- /**
1329
- * <p>The capacity provider strategy to use for the task.</p>
1330
- * <note>
1331
- * <p>If you want to use Amazon ECS Managed Instances, you must use the
1332
- * <code>capacityProviderStrategy</code> request parameter and omit the
1333
- * <code>launchType</code> request parameter.</p>
1334
- * </note>
1335
- * <p>If a <code>capacityProviderStrategy</code> is specified, the <code>launchType</code>
1336
- * parameter must be omitted. If no <code>capacityProviderStrategy</code> or
1337
- * <code>launchType</code> is specified, the
1338
- * <code>defaultCapacityProviderStrategy</code> for the cluster is used.</p>
1339
- * <p>When you use cluster auto scaling, you must specify
1340
- * <code>capacityProviderStrategy</code> and not <code>launchType</code>. </p>
1341
- * <p>A capacity provider strategy can contain a maximum of 20 capacity providers.</p>
1342
- * @public
1343
- */
1344
- capacityProviderStrategy?: CapacityProviderStrategyItem[] | undefined;
1345
- /**
1346
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster to run your task on.
1347
- * If you do not specify a cluster, the default cluster is assumed.</p>
1348
- * <p>Each account receives a default cluster the first time you use the service, but you
1349
- * may also create other clusters.</p>
1350
- * @public
1351
- */
1352
- cluster?: string | undefined;
1353
- /**
1354
- * <p>The number of instantiations of the specified task to place on your cluster. You can
1355
- * specify up to 10 tasks for each call.</p>
1356
- * @public
1357
- */
1358
- count?: number | undefined;
1359
- /**
1360
- * <p>Specifies whether to use Amazon ECS managed tags for the task. For more information,
1361
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
1362
- * Resources</a> in the <i>Amazon Elastic Container Service Developer
1363
- * Guide</i>.</p>
1364
- * @public
1365
- */
1366
- enableECSManagedTags?: boolean | undefined;
1367
- /**
1368
- * <p>Determines whether to use the execute command functionality for the containers in this
1369
- * task. If <code>true</code>, this enables execute command functionality on all containers
1370
- * in the task.</p>
1371
- * <p>If <code>true</code>, then the task definition must have a task role, or you must
1372
- * provide one as an override.</p>
1373
- * @public
1374
- */
1375
- enableExecuteCommand?: boolean | undefined;
1376
- /**
1377
- * <p>The name of the task group to associate with the task. The default value is the family
1378
- * name of the task definition (for example, <code>family:my-family-name</code>).</p>
1379
- * @public
1380
- */
1381
- group?: string | undefined;
1382
- /**
1383
- * <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
1384
- * ECS launch types</a> in the <i>Amazon Elastic Container Service Developer
1385
- * Guide</i>.</p>
1386
- * <note>
1387
- * <p>If you want to use Amazon ECS Managed Instances, you must use the
1388
- * <code>capacityProviderStrategy</code> request parameter and omit the
1389
- * <code>launchType</code> request parameter.</p>
1390
- * </note>
1391
- * <p>The <code>FARGATE</code> launch type runs your tasks on Fargate On-Demand
1392
- * infrastructure.</p>
1393
- * <note>
1394
- * <p>Fargate Spot infrastructure is available for use but a capacity provider strategy
1395
- * 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
1396
- * the <i>Amazon ECS Developer Guide</i>.</p>
1397
- * </note>
1398
- * <p>The <code>EC2</code> launch type runs your tasks on Amazon EC2 instances registered to
1399
- * your cluster.</p>
1400
- * <p>The <code>EXTERNAL</code> launch type runs your tasks on your on-premises server or
1401
- * virtual machine (VM) capacity registered to your cluster.</p>
1402
- * <p>A task can use either a launch type or a capacity provider strategy. If a
1403
- * <code>launchType</code> is specified, the <code>capacityProviderStrategy</code>
1404
- * parameter must be omitted.</p>
1405
- * <p>When you use cluster auto scaling, you must specify
1406
- * <code>capacityProviderStrategy</code> and not <code>launchType</code>. </p>
1407
- * @public
1408
- */
1409
- launchType?: LaunchType | undefined;
1410
- /**
1411
- * <p>The network configuration for the task. This parameter is required for task
1412
- * definitions that use the <code>awsvpc</code> network mode to receive their own elastic
1413
- * network interface, and it isn't supported for other network modes. For more information,
1414
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html">Task networking</a>
1415
- * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1416
- * @public
1417
- */
1418
- networkConfiguration?: NetworkConfiguration | undefined;
1419
- /**
1420
- * <p>A list of container overrides in JSON format that specify the name of a container in
1421
- * the specified task definition and the overrides it should receive. You can override the
1422
- * default command for a container (that's specified in the task definition or Docker
1423
- * image) with a <code>command</code> override. You can also override existing environment
1424
- * variables (that are specified in the task definition or Docker image) on a container or
1425
- * add new environment variables to it with an <code>environment</code> override.</p>
1426
- * <p>A total of 8192 characters are allowed for overrides. This limit includes the JSON
1427
- * formatting characters of the override structure.</p>
1428
- * @public
1429
- */
1430
- overrides?: TaskOverride | undefined;
1431
- /**
1432
- * <p>An array of placement constraint objects to use for the task. You can specify up to 10
1433
- * constraints for each task (including constraints in the task definition and those
1434
- * specified at runtime).</p>
1435
- * @public
1436
- */
1437
- placementConstraints?: PlacementConstraint[] | undefined;
1438
- /**
1439
- * <p>The placement strategy objects to use for the task. You can specify a maximum of 5
1440
- * strategy rules for each task.</p>
1441
- * @public
1442
- */
1443
- placementStrategy?: PlacementStrategy[] | undefined;
1444
- /**
1445
- * <p>The platform version the task uses. A platform version is only specified for tasks
1446
- * hosted on Fargate. If one isn't specified, the <code>LATEST</code> platform version is
1447
- * used. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">Fargate
1448
- * platform versions</a> in the <i>Amazon Elastic Container Service
1449
- * Developer Guide</i>.</p>
1450
- * @public
1451
- */
1452
- platformVersion?: string | undefined;
1453
- /**
1454
- * <p>Specifies whether to propagate the tags from the task definition to the task. If no
1455
- * value is specified, the tags aren't propagated. Tags can only be propagated to the task
1456
- * 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>
1457
- * <note>
1458
- * <p>An error will be received if you specify the <code>SERVICE</code> option when
1459
- * running a task.</p>
1460
- * </note>
1461
- * @public
1462
- */
1463
- propagateTags?: PropagateTags | undefined;
1464
- /**
1465
- * <p>This parameter is only used by Amazon ECS. It is not intended for use by
1466
- * customers.</p>
1467
- * @public
1468
- */
1469
- referenceId?: string | undefined;
1470
- /**
1471
- * <p>An optional tag specified when a task is started. For example, if you automatically
1472
- * trigger a task to run a batch process job, you could apply a unique identifier for that
1473
- * job to your task with the <code>startedBy</code> parameter. You can then identify which
1474
- * 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
1475
- * the <code>startedBy</code> value. Up to 128 letters (uppercase and lowercase), numbers,
1476
- * hyphens (-), forward slash (/), and underscores (_) are allowed.</p>
1477
- * <p>If a task is started by an Amazon ECS service, then the <code>startedBy</code>
1478
- * parameter contains the deployment ID of the service that starts it.</p>
1479
- * @public
1480
- */
1481
- startedBy?: string | undefined;
1482
- /**
1483
- * <p>The metadata that you apply to the task to help you categorize and organize them. Each
1484
- * tag consists of a key and an optional value, both of which you define.</p>
1485
- * <p>The following basic restrictions apply to tags:</p>
1486
- * <ul>
1487
- * <li>
1488
- * <p>Maximum number of tags per resource - 50</p>
1489
- * </li>
1490
- * <li>
1491
- * <p>For each resource, each tag key must be unique, and each tag key can have only
1492
- * one value.</p>
1493
- * </li>
1494
- * <li>
1495
- * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
1496
- * </li>
1497
- * <li>
1498
- * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
1499
- * </li>
1500
- * <li>
1501
- * <p>If your tagging schema is used across multiple services and resources,
1502
- * remember that other services may have restrictions on allowed characters.
1503
- * Generally allowed characters are: letters, numbers, and spaces representable in
1504
- * UTF-8, and the following characters: + - = . _ : / @.</p>
1505
- * </li>
1506
- * <li>
1507
- * <p>Tag keys and values are case-sensitive.</p>
1508
- * </li>
1509
- * <li>
1510
- * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
1511
- * combination of such as a prefix for either keys or values as it is reserved for
1512
- * Amazon Web
1513
- * Services use. You cannot edit or delete tag keys or values with
1514
- * this prefix. Tags with this prefix do not count against your tags per resource
1515
- * limit.</p>
1516
- * </li>
1517
- * </ul>
1518
- * @public
1519
- */
1520
- tags?: Tag[] | undefined;
1521
- /**
1522
- * <p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or
1523
- * full ARN of the task definition to run. If a <code>revision</code> isn't specified, the
1524
- * latest <code>ACTIVE</code> revision is used.</p>
1525
- * <p>The full ARN value must match the value that you specified as the
1526
- * <code>Resource</code> of the principal's permissions policy.</p>
1527
- * <p>When you specify a task definition, you must either specify a specific revision, or
1528
- * all revisions in the ARN.</p>
1529
- * <p>To specify a specific revision, include the revision number in the ARN. For example,
1530
- * to specify revision 2, use
1531
- * <code>arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2</code>.</p>
1532
- * <p>To specify all revisions, use the wildcard (*) in the ARN. For example, to specify all
1533
- * revisions, use
1534
- * <code>arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*</code>.</p>
1535
- * <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
1536
- * Developer Guide.</p>
1537
- * @public
1538
- */
1539
- taskDefinition: string | undefined;
1540
- /**
1541
- * <p>An identifier that you provide to ensure the idempotency of the request. It must be
1542
- * unique and is case sensitive. Up to 64 characters are allowed. The valid characters are
1543
- * 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>
1544
- * @public
1545
- */
1546
- clientToken?: string | undefined;
1547
- /**
1548
- * <p>The details of the volume that was <code>configuredAtLaunch</code>. You can configure
1549
- * 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
1550
- * match the <code>name</code> from the task definition.</p>
1551
- * @public
1552
- */
1553
- volumeConfigurations?: TaskVolumeConfiguration[] | undefined;
1554
- }
1555
- /**
1556
- * @public
1557
- */
1558
- export interface RunTaskResponse {
1559
- /**
1560
- * <p>A full description of the tasks that were run. The tasks that were successfully placed
1561
- * on your cluster are described here.</p>
1562
- * @public
1563
- */
1564
- tasks?: Task[] | undefined;
1565
- /**
1566
- * <p>Any failures associated with the call.</p>
1567
- * <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
1568
- * reasons</a> in the <i>Amazon Elastic Container Service Developer
1569
- * Guide</i>.</p>
1570
- * @public
1571
- */
1572
- failures?: Failure[] | undefined;
1573
- }
1574
- /**
1575
- * @public
1576
- */
1577
- export interface StartTaskRequest {
1578
- /**
1579
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster where to start your
1580
- * task. If you do not specify a cluster, the default cluster is assumed.</p>
1581
- * @public
1582
- */
1583
- cluster?: string | undefined;
1584
- /**
1585
- * <p>The container instance IDs or full ARN entries for the container instances where you
1586
- * would like to place your task. You can specify up to 10 container instances.</p>
1587
- * @public
1588
- */
1589
- containerInstances: string[] | undefined;
1590
- /**
1591
- * <p>Specifies whether to use Amazon ECS managed tags for the task. For more information,
1592
- * see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
1593
- * Resources</a> in the <i>Amazon Elastic Container Service Developer
1594
- * Guide</i>.</p>
1595
- * @public
1596
- */
1597
- enableECSManagedTags?: boolean | undefined;
1598
- /**
1599
- * <p>Whether or not the execute command functionality is turned on for the task. If
1600
- * <code>true</code>, this turns on the execute command functionality on all containers
1601
- * in the task.</p>
1602
- * @public
1603
- */
1604
- enableExecuteCommand?: boolean | undefined;
1605
- /**
1606
- * <p>The name of the task group to associate with the task. The default value is the family
1607
- * name of the task definition (for example, family:my-family-name).</p>
1608
- * @public
1609
- */
1610
- group?: string | undefined;
1611
- /**
1612
- * <p>The VPC subnet and security group configuration for tasks that receive their own
1613
- * elastic network interface by using the <code>awsvpc</code> networking mode.</p>
1614
- * @public
1615
- */
1616
- networkConfiguration?: NetworkConfiguration | undefined;
1617
- /**
1618
- * <p>A list of container overrides in JSON format that specify the name of a container in
1619
- * the specified task definition and the overrides it receives. You can override the
1620
- * default command for a container (that's specified in the task definition or Docker
1621
- * image) with a <code>command</code> override. You can also override existing environment
1622
- * variables (that are specified in the task definition or Docker image) on a container or
1623
- * add new environment variables to it with an <code>environment</code> override.</p>
1624
- * <note>
1625
- * <p>A total of 8192 characters are allowed for overrides. This limit includes the JSON
1626
- * formatting characters of the override structure.</p>
1627
- * </note>
1628
- * @public
1629
- */
1630
- overrides?: TaskOverride | undefined;
1631
- /**
1632
- * <p>Specifies whether to propagate the tags from the task definition or the service to the
1633
- * task. If no value is specified, the tags aren't propagated.</p>
1634
- * @public
1635
- */
1636
- propagateTags?: PropagateTags | undefined;
1637
- /**
1638
- * <p>This parameter is only used by Amazon ECS. It is not intended for use by
1639
- * customers.</p>
1640
- * @public
1641
- */
1642
- referenceId?: string | undefined;
1643
- /**
1644
- * <p>An optional tag specified when a task is started. For example, if you automatically
1645
- * trigger a task to run a batch process job, you could apply a unique identifier for that
1646
- * job to your task with the <code>startedBy</code> parameter. You can then identify which
1647
- * 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
1648
- * the <code>startedBy</code> value. Up to 36 letters (uppercase and lowercase), numbers,
1649
- * hyphens (-), forward slash (/), and underscores (_) are allowed.</p>
1650
- * <p>If a task is started by an Amazon ECS service, the <code>startedBy</code> parameter
1651
- * contains the deployment ID of the service that starts it.</p>
1652
- * @public
1653
- */
1654
- startedBy?: string | undefined;
1655
- /**
1656
- * <p>The metadata that you apply to the task to help you categorize and organize them. Each
1657
- * tag consists of a key and an optional value, both of which you define.</p>
1658
- * <p>The following basic restrictions apply to tags:</p>
1659
- * <ul>
1660
- * <li>
1661
- * <p>Maximum number of tags per resource - 50</p>
1662
- * </li>
1663
- * <li>
1664
- * <p>For each resource, each tag key must be unique, and each tag key can have only
1665
- * one value.</p>
1666
- * </li>
1667
- * <li>
1668
- * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
1669
- * </li>
1670
- * <li>
1671
- * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
1672
- * </li>
1673
- * <li>
1674
- * <p>If your tagging schema is used across multiple services and resources,
1675
- * remember that other services may have restrictions on allowed characters.
1676
- * Generally allowed characters are: letters, numbers, and spaces representable in
1677
- * UTF-8, and the following characters: + - = . _ : / @.</p>
1678
- * </li>
1679
- * <li>
1680
- * <p>Tag keys and values are case-sensitive.</p>
1681
- * </li>
1682
- * <li>
1683
- * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
1684
- * combination of such as a prefix for either keys or values as it is reserved for
1685
- * Amazon Web
1686
- * Services use. You cannot edit or delete tag keys or values with
1687
- * this prefix. Tags with this prefix do not count against your tags per resource
1688
- * limit.</p>
1689
- * </li>
1690
- * </ul>
1691
- * @public
1692
- */
1693
- tags?: Tag[] | undefined;
1694
- /**
1695
- * <p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or
1696
- * full ARN of the task definition to start. If a <code>revision</code> isn't specified,
1697
- * the latest <code>ACTIVE</code> revision is used.</p>
1698
- * @public
1699
- */
1700
- taskDefinition: string | undefined;
1701
- /**
1702
- * <p>The details of the volume that was <code>configuredAtLaunch</code>. You can configure
1703
- * 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
1704
- * match the <code>name</code> from the task definition.</p>
1705
- * @public
1706
- */
1707
- volumeConfigurations?: TaskVolumeConfiguration[] | undefined;
1708
- }
1709
- /**
1710
- * @public
1711
- */
1712
- export interface StartTaskResponse {
1713
- /**
1714
- * <p>A full description of the tasks that were started. Each task that was successfully
1715
- * placed on your container instances is described.</p>
1716
- * @public
1717
- */
1718
- tasks?: Task[] | undefined;
1719
- /**
1720
- * <p>Any failures associated with the call.</p>
1721
- * @public
1722
- */
1723
- failures?: Failure[] | undefined;
1724
- }
1725
- /**
1726
- * <p>The service deploy ARN that you specified in the <code>StopServiceDeployment</code>
1727
- * doesn't exist. You can use <code>ListServiceDeployments</code> to retrieve the service
1728
- * deployment ARNs.</p>
1729
- * @public
1730
- */
1731
- export declare class ServiceDeploymentNotFoundException extends __BaseException {
1732
- readonly name: "ServiceDeploymentNotFoundException";
1733
- readonly $fault: "client";
1734
- /**
1735
- * @internal
1736
- */
1737
- constructor(opts: __ExceptionOptionType<ServiceDeploymentNotFoundException, __BaseException>);
1738
- }
1739
- /**
1740
- * @public
1741
- * @enum
1742
- */
1743
- export declare const StopServiceDeploymentStopType: {
1744
- readonly ABORT: "ABORT";
1745
- readonly ROLLBACK: "ROLLBACK";
1746
- };
1747
- /**
1748
- * @public
1749
- */
1750
- export type StopServiceDeploymentStopType = (typeof StopServiceDeploymentStopType)[keyof typeof StopServiceDeploymentStopType];
1751
- /**
1752
- * @public
1753
- */
1754
- export interface StopServiceDeploymentRequest {
1755
- /**
1756
- * <p>The ARN of the service deployment that you want to stop.</p>
1757
- * @public
1758
- */
1759
- serviceDeploymentArn: string | undefined;
1760
- /**
1761
- * <p>How you want Amazon ECS to stop the service. </p>
1762
- * <p>The valid values are <code>ROLLBACK</code>.</p>
1763
- * @public
1764
- */
1765
- stopType?: StopServiceDeploymentStopType | undefined;
1766
- }
1767
- /**
1768
- * @public
1769
- */
1770
- export interface StopServiceDeploymentResponse {
1771
- /**
1772
- * <p>The ARN of the stopped service deployment.</p>
1773
- * @public
1774
- */
1775
- serviceDeploymentArn?: string | undefined;
1776
- }
1777
- /**
1778
- * @public
1779
- */
1780
- export interface StopTaskRequest {
1781
- /**
1782
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task
1783
- * to stop. If you do not specify a cluster, the default cluster is assumed.</p>
1784
- * @public
1785
- */
1786
- cluster?: string | undefined;
1787
- /**
1788
- * <p>Thefull Amazon Resource Name (ARN) of the task.</p>
1789
- * @public
1790
- */
1791
- task: string | undefined;
1792
- /**
1793
- * <p>An optional message specified when a task is stopped. For example, if you're using a
1794
- * custom scheduler, you can use this parameter to specify the reason for stopping the task
1795
- * here, and the message appears in subsequent <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html">DescribeTasks</a>>
1796
- * API operations on this task.</p>
1797
- * @public
1798
- */
1799
- reason?: string | undefined;
1800
- }
1801
- /**
1802
- * @public
1803
- */
1804
- export interface StopTaskResponse {
1805
- /**
1806
- * <p>The task that was stopped.</p>
1807
- * @public
1808
- */
1809
- task?: Task | undefined;
1810
- }
1811
- /**
1812
- * <p>An object representing a change in state for a task attachment.</p>
1813
- * @public
1814
- */
1815
- export interface AttachmentStateChange {
1816
- /**
1817
- * <p>The Amazon Resource Name (ARN) of the attachment.</p>
1818
- * @public
1819
- */
1820
- attachmentArn: string | undefined;
1821
- /**
1822
- * <p>The status of the attachment.</p>
1823
- * @public
1824
- */
1825
- status: string | undefined;
1826
- }
1827
- /**
1828
- * @public
1829
- */
1830
- export interface SubmitAttachmentStateChangesRequest {
1831
- /**
1832
- * <p>The short name or full ARN of the cluster that hosts the container instance the
1833
- * attachment belongs to.</p>
1834
- * @public
1835
- */
1836
- cluster?: string | undefined;
1837
- /**
1838
- * <p>Any attachments associated with the state change request.</p>
1839
- * @public
1840
- */
1841
- attachments: AttachmentStateChange[] | undefined;
1842
- }
1843
- /**
1844
- * @public
1845
- */
1846
- export interface SubmitAttachmentStateChangesResponse {
1847
- /**
1848
- * <p>Acknowledgement of the state change.</p>
1849
- * @public
1850
- */
1851
- acknowledgment?: string | undefined;
1852
- }
1853
- /**
1854
- * @public
1855
- */
1856
- export interface SubmitContainerStateChangeRequest {
1857
- /**
1858
- * <p>The short name or full ARN of the cluster that hosts the container.</p>
1859
- * @public
1860
- */
1861
- cluster?: string | undefined;
1862
- /**
1863
- * <p>The task ID or full Amazon Resource Name (ARN) of the task that hosts the
1864
- * container.</p>
1865
- * @public
1866
- */
1867
- task?: string | undefined;
1868
- /**
1869
- * <p>The name of the container.</p>
1870
- * @public
1871
- */
1872
- containerName?: string | undefined;
1873
- /**
1874
- * <p>The ID of the Docker container.</p>
1875
- * @public
1876
- */
1877
- runtimeId?: string | undefined;
1878
- /**
1879
- * <p>The status of the state change request.</p>
1880
- * @public
1881
- */
1882
- status?: string | undefined;
1883
- /**
1884
- * <p>The exit code that's returned for the state change request.</p>
1885
- * @public
1886
- */
1887
- exitCode?: number | undefined;
1888
- /**
1889
- * <p>The reason for the state change request.</p>
1890
- * @public
1891
- */
1892
- reason?: string | undefined;
1893
- /**
1894
- * <p>The network bindings of the container.</p>
1895
- * @public
1896
- */
1897
- networkBindings?: NetworkBinding[] | undefined;
1898
- }
1899
- /**
1900
- * @public
1901
- */
1902
- export interface SubmitContainerStateChangeResponse {
1903
- /**
1904
- * <p>Acknowledgement of the state change.</p>
1905
- * @public
1906
- */
1907
- acknowledgment?: string | undefined;
1908
- }
1909
- /**
1910
- * <p>An object that represents a change in state for a container.</p>
1911
- * @public
1912
- */
1913
- export interface ContainerStateChange {
1914
- /**
1915
- * <p>The name of the container.</p>
1916
- * @public
1917
- */
1918
- containerName?: string | undefined;
1919
- /**
1920
- * <p>The container image SHA 256 digest.</p>
1921
- * @public
1922
- */
1923
- imageDigest?: string | undefined;
1924
- /**
1925
- * <p>The ID of the Docker container.</p>
1926
- * @public
1927
- */
1928
- runtimeId?: string | undefined;
1929
- /**
1930
- * <p>The exit code for the container, if the state change is a result of the container
1931
- * exiting.</p>
1932
- * @public
1933
- */
1934
- exitCode?: number | undefined;
1935
- /**
1936
- * <p>Any network bindings that are associated with the container.</p>
1937
- * @public
1938
- */
1939
- networkBindings?: NetworkBinding[] | undefined;
1940
- /**
1941
- * <p>The reason for the state change.</p>
1942
- * @public
1943
- */
1944
- reason?: string | undefined;
1945
- /**
1946
- * <p>The status of the container.</p>
1947
- * @public
1948
- */
1949
- status?: string | undefined;
1950
- }
1951
- /**
1952
- * <p>An object representing a change in state for a managed agent.</p>
1953
- * @public
1954
- */
1955
- export interface ManagedAgentStateChange {
1956
- /**
1957
- * <p>The name of the container that's associated with the managed agent.</p>
1958
- * @public
1959
- */
1960
- containerName: string | undefined;
1961
- /**
1962
- * <p>The name of the managed agent.</p>
1963
- * @public
1964
- */
1965
- managedAgentName: ManagedAgentName | undefined;
1966
- /**
1967
- * <p>The status of the managed agent.</p>
1968
- * @public
1969
- */
1970
- status: string | undefined;
1971
- /**
1972
- * <p>The reason for the status of the managed agent.</p>
1973
- * @public
1974
- */
1975
- reason?: string | undefined;
1976
- }
1977
- /**
1978
- * @public
1979
- */
1980
- export interface SubmitTaskStateChangeRequest {
1981
- /**
1982
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the
1983
- * task.</p>
1984
- * @public
1985
- */
1986
- cluster?: string | undefined;
1987
- /**
1988
- * <p>The task ID or full ARN of the task in the state change request.</p>
1989
- * @public
1990
- */
1991
- task?: string | undefined;
1992
- /**
1993
- * <p>The status of the state change request.</p>
1994
- * @public
1995
- */
1996
- status?: string | undefined;
1997
- /**
1998
- * <p>The reason for the state change request.</p>
1999
- * @public
2000
- */
2001
- reason?: string | undefined;
2002
- /**
2003
- * <p>Any containers that's associated with the state change request.</p>
2004
- * @public
2005
- */
2006
- containers?: ContainerStateChange[] | undefined;
2007
- /**
2008
- * <p>Any attachments associated with the state change request.</p>
2009
- * @public
2010
- */
2011
- attachments?: AttachmentStateChange[] | undefined;
2012
- /**
2013
- * <p>The details for the managed agent that's associated with the task.</p>
2014
- * @public
2015
- */
2016
- managedAgents?: ManagedAgentStateChange[] | undefined;
2017
- /**
2018
- * <p>The Unix timestamp for the time when the container image pull started.</p>
2019
- * @public
2020
- */
2021
- pullStartedAt?: Date | undefined;
2022
- /**
2023
- * <p>The Unix timestamp for the time when the container image pull completed.</p>
2024
- * @public
2025
- */
2026
- pullStoppedAt?: Date | undefined;
2027
- /**
2028
- * <p>The Unix timestamp for the time when the task execution stopped.</p>
2029
- * @public
2030
- */
2031
- executionStoppedAt?: Date | undefined;
2032
- }
2033
- /**
2034
- * @public
2035
- */
2036
- export interface SubmitTaskStateChangeResponse {
2037
- /**
2038
- * <p>Acknowledgement of the state change.</p>
2039
- * @public
2040
- */
2041
- acknowledgment?: string | undefined;
2042
- }
2043
- /**
2044
- * @public
2045
- */
2046
- export interface TagResourceRequest {
2047
- /**
2048
- * <p>The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the
2049
- * supported resources are Amazon ECS capacity providers, tasks, services, task
2050
- * definitions, clusters, and container instances.</p>
2051
- * <p>In order to tag a service that has the following ARN format, you need to migrate the
2052
- * service to the long ARN. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-arn-migration.html">Migrate an Amazon
2053
- * ECS short service ARN to a long ARN</a> in the <i>Amazon Elastic
2054
- * Container Service Developer Guide</i>.</p>
2055
- * <p>
2056
- * <code>arn:aws:ecs:region:aws_account_id:service/service-name</code>
2057
- * </p>
2058
- * <p>After the migration is complete, the service has the long ARN format, as shown below.
2059
- * Use this ARN to tag the service.</p>
2060
- * <p>
2061
- * <code>arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name</code>
2062
- * </p>
2063
- * <p>If you try to tag a service with a short ARN, you receive an
2064
- * <code>InvalidParameterException</code> error.</p>
2065
- * @public
2066
- */
2067
- resourceArn: string | undefined;
2068
- /**
2069
- * <p>The tags to add to the resource. A tag is an array of key-value pairs.</p>
2070
- * <p>The following basic restrictions apply to tags:</p>
2071
- * <ul>
2072
- * <li>
2073
- * <p>Maximum number of tags per resource - 50</p>
2074
- * </li>
2075
- * <li>
2076
- * <p>For each resource, each tag key must be unique, and each tag key can have only
2077
- * one value.</p>
2078
- * </li>
2079
- * <li>
2080
- * <p>Maximum key length - 128 Unicode characters in UTF-8</p>
2081
- * </li>
2082
- * <li>
2083
- * <p>Maximum value length - 256 Unicode characters in UTF-8</p>
2084
- * </li>
2085
- * <li>
2086
- * <p>If your tagging schema is used across multiple services and resources,
2087
- * remember that other services may have restrictions on allowed characters.
2088
- * Generally allowed characters are: letters, numbers, and spaces representable in
2089
- * UTF-8, and the following characters: + - = . _ : / @.</p>
2090
- * </li>
2091
- * <li>
2092
- * <p>Tag keys and values are case-sensitive.</p>
2093
- * </li>
2094
- * <li>
2095
- * <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase
2096
- * combination of such as a prefix for either keys or values as it is reserved for
2097
- * Amazon Web
2098
- * Services use. You cannot edit or delete tag keys or values with
2099
- * this prefix. Tags with this prefix do not count against your tags per resource
2100
- * limit.</p>
2101
- * </li>
2102
- * </ul>
2103
- * @public
2104
- */
2105
- tags: Tag[] | undefined;
2106
- }
2107
- /**
2108
- * @public
2109
- */
2110
- export interface TagResourceResponse {
2111
- }
2112
- /**
2113
- * @public
2114
- */
2115
- export interface UntagResourceRequest {
2116
- /**
2117
- * <p>The Amazon Resource Name (ARN) of the resource to delete tags from. Currently, the
2118
- * supported resources are Amazon ECS capacity providers, tasks, services, task
2119
- * definitions, clusters, and container instances.</p>
2120
- * @public
2121
- */
2122
- resourceArn: string | undefined;
2123
- /**
2124
- * <p>The keys of the tags to be removed.</p>
2125
- * @public
2126
- */
2127
- tagKeys: string[] | undefined;
2128
- }
2129
- /**
2130
- * @public
2131
- */
2132
- export interface UntagResourceResponse {
2133
- }
2134
- /**
2135
- * <p>The details of the Auto Scaling group capacity provider to update.</p>
2136
- * @public
2137
- */
2138
- export interface AutoScalingGroupProviderUpdate {
2139
- /**
2140
- * <p>The managed scaling settings for the Auto Scaling group capacity provider.</p>
2141
- * @public
2142
- */
2143
- managedScaling?: ManagedScaling | undefined;
2144
- /**
2145
- * <p>The managed termination protection setting to use for the Auto Scaling group capacity
2146
- * provider. This determines whether the Auto Scaling group has managed termination
2147
- * protection.</p>
2148
- * <important>
2149
- * <p>When using managed termination protection, managed scaling must also be used
2150
- * otherwise managed termination protection doesn't work.</p>
2151
- * </important>
2152
- * <p>When managed termination protection is on, Amazon ECS prevents the Amazon EC2
2153
- * instances in an Auto Scaling group that contain tasks from being terminated during a
2154
- * scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must
2155
- * have instance protection from scale-in actions on. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection">Instance Protection</a> in the <i>Auto Scaling User
2156
- * Guide</i>.</p>
2157
- * <p>When managed termination protection is off, your Amazon EC2 instances aren't protected
2158
- * from termination when the Auto Scaling group scales in.</p>
2159
- * @public
2160
- */
2161
- managedTerminationProtection?: ManagedTerminationProtection | undefined;
2162
- /**
2163
- * <p>The managed draining option for the Auto Scaling group capacity provider. When you
2164
- * enable this, Amazon ECS manages and gracefully drains the EC2 container instances that
2165
- * are in the Auto Scaling group capacity provider.</p>
2166
- * @public
2167
- */
2168
- managedDraining?: ManagedDraining | undefined;
2169
- }
2170
- /**
2171
- * <p>The updated launch template configuration for Amazon ECS Managed Instances. You can
2172
- * modify the instance profile, network configuration, storage settings, and instance
2173
- * requirements. Changes apply to new instances launched after the update.</p>
2174
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Store instance launch
2175
- * parameters in Amazon EC2 launch templates</a> in the <i>Amazon EC2 User
2176
- * Guide</i>.</p>
2177
- * @public
2178
- */
2179
- export interface InstanceLaunchTemplateUpdate {
2180
- /**
2181
- * <p>The updated Amazon Resource Name (ARN) of the instance profile. The new instance
2182
- * profile must have the necessary permissions for your tasks.</p>
2183
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html">Amazon
2184
- * ECS instance profile for Managed Instances</a> in the <i>Amazon ECS
2185
- * Developer Guide</i>. </p>
2186
- * @public
2187
- */
2188
- ec2InstanceProfileArn?: string | undefined;
2189
- /**
2190
- * <p>The updated network configuration for Amazon ECS Managed Instances. Changes to subnets
2191
- * and security groups affect new instances launched after the update.</p>
2192
- * @public
2193
- */
2194
- networkConfiguration?: ManagedInstancesNetworkConfiguration | undefined;
2195
- /**
2196
- * <p>The updated storage configuration for Amazon ECS Managed Instances. Changes to storage
2197
- * settings apply to new instances launched after the update.</p>
2198
- * @public
2199
- */
2200
- storageConfiguration?: ManagedInstancesStorageConfiguration | undefined;
2201
- /**
2202
- * <p>CloudWatch provides two categories of monitoring: basic monitoring and detailed
2203
- * monitoring. By default, your managed instance is configured for basic monitoring. You
2204
- * can optionally enable detailed monitoring to help you more quickly identify and act on
2205
- * operational issues. You can enable or turn off detailed monitoring at launch or when the
2206
- * 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
2207
- * Developer Guide.</p>
2208
- * @public
2209
- */
2210
- monitoring?: ManagedInstancesMonitoringOptions | undefined;
2211
- /**
2212
- * <p>The updated instance requirements for attribute-based instance type selection. Changes
2213
- * to instance requirements affect which instance types Amazon ECS selects for new
2214
- * instances.</p>
2215
- * @public
2216
- */
2217
- instanceRequirements?: InstanceRequirementsRequest | undefined;
2218
- }
2219
- /**
2220
- * <p>The updated configuration for a Amazon ECS Managed Instances provider. You can modify
2221
- * the infrastructure role, instance launch template, and tag propagation settings. Changes
2222
- * apply to new instances launched after the update.</p>
2223
- * @public
2224
- */
2225
- export interface UpdateManagedInstancesProviderConfiguration {
2226
- /**
2227
- * <p>The updated Amazon Resource Name (ARN) of the infrastructure role. The new role must
2228
- * have the necessary permissions to manage instances and access required Amazon Web Services
2229
- * services.</p>
2230
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html">Amazon ECS
2231
- * infrastructure IAM role</a> in the <i>Amazon ECS Developer
2232
- * Guide</i>.</p>
2233
- * @public
2234
- */
2235
- infrastructureRoleArn: string | undefined;
2236
- /**
2237
- * <p>The updated launch template configuration. Changes to the launch template affect new
2238
- * instances launched after the update, while existing instances continue to use their
2239
- * original configuration.</p>
2240
- * @public
2241
- */
2242
- instanceLaunchTemplate: InstanceLaunchTemplateUpdate | undefined;
2243
- /**
2244
- * <p>The updated tag propagation setting. When changed, this affects only new instances
2245
- * launched after the update.</p>
2246
- * @public
2247
- */
2248
- propagateTags?: PropagateMITags | undefined;
2249
- }
2250
- /**
2251
- * @public
2252
- */
2253
- export interface UpdateCapacityProviderRequest {
2254
- /**
2255
- * <p>The name of the capacity provider to update.</p>
2256
- * @public
2257
- */
2258
- name: string | undefined;
2259
- /**
2260
- * <p>The name of the cluster that contains the capacity provider to update. Managed
2261
- * instances capacity providers are cluster-scoped and can only be updated within their
2262
- * associated cluster.</p>
2263
- * @public
2264
- */
2265
- cluster?: string | undefined;
2266
- /**
2267
- * <p>An object that represent the parameters to update for the Auto Scaling group capacity
2268
- * provider.</p>
2269
- * @public
2270
- */
2271
- autoScalingGroupProvider?: AutoScalingGroupProviderUpdate | undefined;
2272
- /**
2273
- * <p>The updated configuration for the Amazon ECS Managed Instances provider. You can
2274
- * modify the infrastructure role, instance launch template, and tag propagation settings.
2275
- * Changes take effect for new instances launched after the update.</p>
2276
- * @public
2277
- */
2278
- managedInstancesProvider?: UpdateManagedInstancesProviderConfiguration | undefined;
2279
- }
2280
- /**
2281
- * @public
2282
- */
2283
- export interface UpdateCapacityProviderResponse {
2284
- /**
2285
- * <p>Details about the capacity provider.</p>
2286
- * @public
2287
- */
2288
- capacityProvider?: CapacityProvider | undefined;
2289
- }
2290
- /**
2291
- * @public
2292
- */
2293
- export interface UpdateClusterRequest {
2294
- /**
2295
- * <p>The name of the cluster to modify the settings for.</p>
2296
- * @public
2297
- */
2298
- cluster: string | undefined;
2299
- /**
2300
- * <p>The cluster settings for your cluster.</p>
2301
- * @public
2302
- */
2303
- settings?: ClusterSetting[] | undefined;
2304
- /**
2305
- * <p>The execute command configuration for the cluster.</p>
2306
- * @public
2307
- */
2308
- configuration?: ClusterConfiguration | undefined;
2309
- /**
2310
- * <p>Use this parameter to set a default Service Connect namespace. After you set a default
2311
- * Service Connect namespace, any new services with Service Connect turned on that are
2312
- * created in the cluster are added as client services in the namespace. This setting only
2313
- * applies to new services that set the <code>enabled</code> parameter to <code>true</code>
2314
- * in the <code>ServiceConnectConfiguration</code>. You can set the namespace of each
2315
- * service individually in the <code>ServiceConnectConfiguration</code> to override this
2316
- * default parameter.</p>
2317
- * <p>Tasks that run in a namespace can use short names to connect to services in the
2318
- * namespace. Tasks can connect to services across all of the clusters in the namespace.
2319
- * Tasks connect through a managed proxy container that collects logs and metrics for
2320
- * increased visibility. Only the tasks that Amazon ECS services create are supported with
2321
- * Service Connect. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a>
2322
- * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2323
- * @public
2324
- */
2325
- serviceConnectDefaults?: ClusterServiceConnectDefaultsRequest | undefined;
2326
- }
2327
- /**
2328
- * @public
2329
- */
2330
- export interface UpdateClusterResponse {
2331
- /**
2332
- * <p>Details about the cluster.</p>
2333
- * @public
2334
- */
2335
- cluster?: Cluster | undefined;
2336
- }
2337
- /**
2338
- * @public
2339
- */
2340
- export interface UpdateClusterSettingsRequest {
2341
- /**
2342
- * <p>The name of the cluster to modify the settings for.</p>
2343
- * @public
2344
- */
2345
- cluster: string | undefined;
2346
- /**
2347
- * <p>The setting to use by default for a cluster. This parameter is used to turn on
2348
- * CloudWatch Container Insights for a cluster. If this value is specified, it overrides
2349
- * the <code>containerInsights</code> value set with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html">PutAccountSetting</a> or <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html">PutAccountSettingDefault</a>.</p>
2350
- * <important>
2351
- * <p>Currently, if you delete an existing cluster that does not have Container Insights
2352
- * turned on, and then create a new cluster with the same name with Container Insights
2353
- * tuned on, Container Insights will not actually be turned on. If you want to preserve
2354
- * the same name for your existing cluster and turn on Container Insights, you must
2355
- * wait 7 days before you can re-create it.</p>
2356
- * </important>
2357
- * @public
2358
- */
2359
- settings: ClusterSetting[] | undefined;
2360
- }
2361
- /**
2362
- * @public
2363
- */
2364
- export interface UpdateClusterSettingsResponse {
2365
- /**
2366
- * <p>Details about the cluster</p>
2367
- * @public
2368
- */
2369
- cluster?: Cluster | undefined;
2370
- }
2371
- /**
2372
- * <p>Amazon ECS can't determine the current version of the Amazon ECS container agent on
2373
- * the container instance and doesn't have enough information to proceed with an update.
2374
- * This could be because the agent running on the container instance is a previous or
2375
- * custom version that doesn't use our version information.</p>
2376
- * @public
2377
- */
2378
- export declare class MissingVersionException extends __BaseException {
2379
- readonly name: "MissingVersionException";
2380
- readonly $fault: "client";
2381
- /**
2382
- * @internal
2383
- */
2384
- constructor(opts: __ExceptionOptionType<MissingVersionException, __BaseException>);
2385
- }
2386
- /**
2387
- * <p>There's no update available for this Amazon ECS container agent. This might be because
2388
- * the agent is already running the latest version or because it's so old that there's no
2389
- * update path to the current version.</p>
2390
- * @public
2391
- */
2392
- export declare class NoUpdateAvailableException extends __BaseException {
2393
- readonly name: "NoUpdateAvailableException";
2394
- readonly $fault: "client";
2395
- /**
2396
- * @internal
2397
- */
2398
- constructor(opts: __ExceptionOptionType<NoUpdateAvailableException, __BaseException>);
2399
- }
2400
- /**
2401
- * @public
2402
- */
2403
- export interface UpdateContainerAgentRequest {
2404
- /**
2405
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that your container
2406
- * instance is running on. If you do not specify a cluster, the default cluster is
2407
- * assumed.</p>
2408
- * @public
2409
- */
2410
- cluster?: string | undefined;
2411
- /**
2412
- * <p>The container instance ID or full ARN entries for the container instance where you
2413
- * would like to update the Amazon ECS container agent.</p>
2414
- * @public
2415
- */
2416
- containerInstance: string | undefined;
2417
- }
2418
- /**
2419
- * @public
2420
- */
2421
- export interface UpdateContainerAgentResponse {
2422
- /**
2423
- * <p>The container instance that the container agent was updated for.</p>
2424
- * @public
2425
- */
2426
- containerInstance?: ContainerInstance | undefined;
2427
- }
2428
- /**
2429
- * @public
2430
- */
2431
- export interface UpdateContainerInstancesStateRequest {
2432
- /**
2433
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the
2434
- * container instance to update. If you do not specify a cluster, the default cluster is
2435
- * assumed.</p>
2436
- * @public
2437
- */
2438
- cluster?: string | undefined;
2439
- /**
2440
- * <p>A list of up to 10 container instance IDs or full ARN entries.</p>
2441
- * @public
2442
- */
2443
- containerInstances: string[] | undefined;
2444
- /**
2445
- * <p>The container instance state to update the container instance with. The only valid
2446
- * values for this action are <code>ACTIVE</code> and <code>DRAINING</code>. A container
2447
- * instance can only be updated to <code>DRAINING</code> status once it has reached an
2448
- * <code>ACTIVE</code> state. If a container instance is in <code>REGISTERING</code>,
2449
- * <code>DEREGISTERING</code>, or <code>REGISTRATION_FAILED</code> state you can
2450
- * describe the container instance but can't update the container instance state.</p>
2451
- * @public
2452
- */
2453
- status: ContainerInstanceStatus | undefined;
2454
- }
2455
- /**
2456
- * @public
2457
- */
2458
- export interface UpdateContainerInstancesStateResponse {
2459
- /**
2460
- * <p>The list of container instances.</p>
2461
- * @public
2462
- */
2463
- containerInstances?: ContainerInstance[] | undefined;
2464
- /**
2465
- * <p>Any failures associated with the call.</p>
2466
- * @public
2467
- */
2468
- failures?: Failure[] | undefined;
2469
- }
2470
- /**
2471
- * @public
2472
- */
2473
- export interface UpdateServiceRequest {
2474
- /**
2475
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that your service
2476
- * runs on. If you do not specify a cluster, the default cluster is assumed.</p>
2477
- * <p>You can't change the cluster name.</p>
2478
- * @public
2479
- */
2480
- cluster?: string | undefined;
2481
- /**
2482
- * <p>The name of the service to update.</p>
2483
- * @public
2484
- */
2485
- service: string | undefined;
2486
- /**
2487
- * <p>The number of instantiations of the task to place and keep running in your
2488
- * service.</p>
2489
- * <p>This parameter doesn't trigger a new service deployment.</p>
2490
- * @public
2491
- */
2492
- desiredCount?: number | undefined;
2493
- /**
2494
- * <p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or
2495
- * full ARN of the task definition to run in your service. If a <code>revision</code> is
2496
- * not specified, the latest <code>ACTIVE</code> revision is used. If you modify the task
2497
- * definition with <code>UpdateService</code>, Amazon ECS spawns a task with the new
2498
- * version of the task definition and then stops an old task after the new version is
2499
- * running.</p>
2500
- * <p>This parameter triggers a new service deployment.</p>
2501
- * @public
2502
- */
2503
- taskDefinition?: string | undefined;
2504
- /**
2505
- * <p>The details of a capacity provider strategy. You can set a capacity provider when you
2506
- * create a cluster, run a task, or update a service.</p>
2507
- * <note>
2508
- * <p>If you want to use Amazon ECS Managed Instances, you must use the
2509
- * <code>capacityProviderStrategy</code> request parameter.</p>
2510
- * </note>
2511
- * <p>When you use Fargate, the capacity providers are <code>FARGATE</code> or
2512
- * <code>FARGATE_SPOT</code>.</p>
2513
- * <p>When you use Amazon EC2, the capacity providers are Auto Scaling groups.</p>
2514
- * <p>You can change capacity providers for rolling deployments and blue/green
2515
- * deployments.</p>
2516
- * <p>The following list provides the valid transitions:</p>
2517
- * <ul>
2518
- * <li>
2519
- * <p>Update the Fargate launch type to an Auto Scaling group capacity
2520
- * provider.</p>
2521
- * </li>
2522
- * <li>
2523
- * <p>Update the Amazon EC2 launch type to a Fargate capacity provider.</p>
2524
- * </li>
2525
- * <li>
2526
- * <p>Update the Fargate capacity provider to an Auto Scaling group capacity
2527
- * provider.</p>
2528
- * </li>
2529
- * <li>
2530
- * <p>Update the Amazon EC2 capacity provider to a Fargate capacity provider.
2531
- * </p>
2532
- * </li>
2533
- * <li>
2534
- * <p>Update the Auto Scaling group or Fargate capacity provider back to the launch
2535
- * type.</p>
2536
- * <p>Pass an empty list in the <code>capacityProviderStrategy</code>
2537
- * parameter.</p>
2538
- * </li>
2539
- * </ul>
2540
- * <p>For information about Amazon Web Services CDK considerations, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/update-service-parameters.html">Amazon Web
2541
- * Services CDK considerations</a>.</p>
2542
- * <p>This parameter doesn't trigger a new service deployment.</p>
2543
- * @public
2544
- */
2545
- capacityProviderStrategy?: CapacityProviderStrategyItem[] | undefined;
2546
- /**
2547
- * <p>Optional deployment parameters that control how many tasks run during the deployment
2548
- * and the ordering of stopping and starting tasks.</p>
2549
- * <p>This parameter doesn't trigger a new service deployment.</p>
2550
- * @public
2551
- */
2552
- deploymentConfiguration?: DeploymentConfiguration | undefined;
2553
- /**
2554
- * <p>Indicates whether to use Availability Zone rebalancing for the service.</p>
2555
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-rebalancing.html">Balancing an Amazon
2556
- * ECS service across Availability Zones</a> in the <i>
2557
- * <i>Amazon
2558
- * Elastic Container Service Developer Guide</i>
2559
- * </i>.</p>
2560
- * <p>The default behavior of <code>AvailabilityZoneRebalancing</code> differs between
2561
- * create and update requests:</p>
2562
- * <ul>
2563
- * <li>
2564
- * <p>For create service requests, when no value is specified for
2565
- * <code>AvailabilityZoneRebalancing</code>, Amazon ECS defaults the value to
2566
- * <code>ENABLED</code>.</p>
2567
- * </li>
2568
- * <li>
2569
- * <p>For update service requests, when no value is specified for
2570
- * <code>AvailabilityZoneRebalancing</code>, Amazon ECS defaults to the
2571
- * existing service’s <code>AvailabilityZoneRebalancing</code> value. If the
2572
- * service never had an <code>AvailabilityZoneRebalancing</code> value set, Amazon
2573
- * ECS treats this as <code>DISABLED</code>.</p>
2574
- * </li>
2575
- * </ul>
2576
- * <p>This parameter doesn't trigger a new service deployment.</p>
2577
- * @public
2578
- */
2579
- availabilityZoneRebalancing?: AvailabilityZoneRebalancing | undefined;
2580
- /**
2581
- * <p>An object representing the network configuration for the service.</p>
2582
- * <p>This parameter triggers a new service deployment.</p>
2583
- * @public
2584
- */
2585
- networkConfiguration?: NetworkConfiguration | undefined;
2586
- /**
2587
- * <p>An array of task placement constraint objects to update the service to use. If no
2588
- * value is specified, the existing placement constraints for the service will remain
2589
- * unchanged. If this value is specified, it will override any existing placement
2590
- * constraints defined for the service. To remove all existing placement constraints,
2591
- * specify an empty array.</p>
2592
- * <p>You can specify a maximum of 10 constraints for each task. This limit includes
2593
- * constraints in the task definition and those specified at runtime.</p>
2594
- * <p>This parameter doesn't trigger a new service deployment.</p>
2595
- * @public
2596
- */
2597
- placementConstraints?: PlacementConstraint[] | undefined;
2598
- /**
2599
- * <p>The task placement strategy objects to update the service to use. If no value is
2600
- * specified, the existing placement strategy for the service will remain unchanged. If
2601
- * this value is specified, it will override the existing placement strategy defined for
2602
- * the service. To remove an existing placement strategy, specify an empty object.</p>
2603
- * <p>You can specify a maximum of five strategy rules for each service.</p>
2604
- * <p>This parameter doesn't trigger a new service deployment.</p>
2605
- * @public
2606
- */
2607
- placementStrategy?: PlacementStrategy[] | undefined;
2608
- /**
2609
- * <p>The platform version that your tasks in the service run on. A platform version is only
2610
- * specified for tasks using the Fargate launch type. If a platform version is not
2611
- * specified, the <code>LATEST</code> platform version is used. For more information, see
2612
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">Fargate
2613
- * Platform Versions</a> in the <i>Amazon Elastic Container Service
2614
- * Developer Guide</i>.</p>
2615
- * <p>This parameter triggers a new service deployment.</p>
2616
- * @public
2617
- */
2618
- platformVersion?: string | undefined;
2619
- /**
2620
- * <p>Determines whether to force a new deployment of the service. By default, deployments
2621
- * aren't forced. You can use this option to start a new deployment with no service
2622
- * definition changes. For example, you can update a service's tasks to use a newer Docker
2623
- * image with the same image/tag combination (<code>my_image:latest</code>) or to roll
2624
- * Fargate tasks onto a newer platform version.</p>
2625
- * @public
2626
- */
2627
- forceNewDeployment?: boolean | undefined;
2628
- /**
2629
- * <p>The period of time, in seconds, that the Amazon ECS service scheduler ignores
2630
- * unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task
2631
- * has first started. If you don't specify a health check grace period value, the default
2632
- * value of <code>0</code> is used. If you don't use any of the health checks, then
2633
- * <code>healthCheckGracePeriodSeconds</code> is unused.</p>
2634
- * <p>If your service's tasks take a while to start and respond to health checks, you can
2635
- * specify a health check grace period of up to 2,147,483,647 seconds (about 69 years).
2636
- * During that time, the Amazon ECS service scheduler ignores health check status. This
2637
- * grace period can prevent the service scheduler from marking tasks as unhealthy and
2638
- * stopping them before they have time to come up.</p>
2639
- * <p>If your service has more running tasks than desired, unhealthy tasks in the grace
2640
- * period might be stopped to reach the desired count.</p>
2641
- * <p>This parameter doesn't trigger a new service deployment.</p>
2642
- * @public
2643
- */
2644
- healthCheckGracePeriodSeconds?: number | undefined;
2645
- /**
2646
- * <p>The deployment controller to use for the service. </p>
2647
- * @public
2648
- */
2649
- deploymentController?: DeploymentController | undefined;
2650
- /**
2651
- * <p>If <code>true</code>, this enables execute command functionality on all task
2652
- * containers.</p>
2653
- * <p>If you do not want to override the value that was set when the service was created,
2654
- * you can set this to <code>null</code> when performing this action.</p>
2655
- * <p>This parameter doesn't trigger a new service deployment.</p>
2656
- * @public
2657
- */
2658
- enableExecuteCommand?: boolean | undefined;
2659
- /**
2660
- * <p>Determines whether to turn on Amazon ECS managed tags for the tasks in the service.
2661
- * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
2662
- * Resources</a> in the <i>Amazon Elastic Container Service Developer
2663
- * Guide</i>.</p>
2664
- * <p>Only tasks launched after the update will reflect the update. To update the tags on
2665
- * all tasks, set <code>forceNewDeployment</code> to <code>true</code>, so that Amazon ECS
2666
- * starts new tasks with the updated tags.</p>
2667
- * <p>This parameter doesn't trigger a new service deployment.</p>
2668
- * @public
2669
- */
2670
- enableECSManagedTags?: boolean | undefined;
2671
- /**
2672
- * <note>
2673
- * <p>You must have a service-linked role when you update this property</p>
2674
- * </note>
2675
- * <p>A list of Elastic Load Balancing load balancer objects. It contains the load balancer
2676
- * name, the container name, and the container port to access from the load balancer. The
2677
- * container name is as it appears in a container definition.</p>
2678
- * <p>When you add, update, or remove a load balancer configuration, Amazon ECS starts new
2679
- * tasks with the updated Elastic Load Balancing configuration, and then stops the old
2680
- * tasks when the new tasks are running.</p>
2681
- * <p>For services that use rolling updates, you can add, update, or remove Elastic Load
2682
- * Balancing target groups. You can update from a single target group to multiple target
2683
- * groups and from multiple target groups to a single target group.</p>
2684
- * <p>For services that use blue/green deployments, you can update Elastic Load Balancing
2685
- * target groups by using <code>
2686
- * <a href="https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html">CreateDeployment</a>
2687
- * </code> through CodeDeploy. Note that multiple target groups
2688
- * are not supported for blue/green deployments. For more information see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html">Register
2689
- * multiple target groups with a service</a> in the <i>Amazon Elastic
2690
- * Container Service Developer Guide</i>. </p>
2691
- * <p>For services that use the external deployment controller, you can add, update, or
2692
- * remove load balancers by using <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateTaskSet.html">CreateTaskSet</a>.
2693
- * Note that multiple target groups are not supported for external deployments. For more
2694
- * information see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html">Register
2695
- * multiple target groups with a service</a> in the <i>Amazon Elastic
2696
- * Container Service Developer Guide</i>. </p>
2697
- * <p>You can remove existing <code>loadBalancers</code> by passing an empty list.</p>
2698
- * <p>This parameter triggers a new service deployment.</p>
2699
- * @public
2700
- */
2701
- loadBalancers?: LoadBalancer[] | undefined;
2702
- /**
2703
- * <p>Determines whether to propagate the tags from the task definition or the service to
2704
- * the task. If no value is specified, the tags aren't propagated.</p>
2705
- * <p>Only tasks launched after the update will reflect the update. To update the tags on
2706
- * all tasks, set <code>forceNewDeployment</code> to <code>true</code>, so that Amazon ECS
2707
- * starts new tasks with the updated tags.</p>
2708
- * <p>This parameter doesn't trigger a new service deployment.</p>
2709
- * @public
2710
- */
2711
- propagateTags?: PropagateTags | undefined;
2712
- /**
2713
- * <note>
2714
- * <p>You must have a service-linked role when you update this property.</p>
2715
- * <p>For more information about the role see the <code>CreateService</code> request
2716
- * parameter <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html#ECS-CreateService-request-role">
2717
- * <code>role</code>
2718
- * </a>. </p>
2719
- * </note>
2720
- * <p>The details for the service discovery registries to assign to this service. For more
2721
- * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html">Service
2722
- * Discovery</a>.</p>
2723
- * <p>When you add, update, or remove the service registries configuration, Amazon ECS
2724
- * starts new tasks with the updated service registries configuration, and then stops the
2725
- * old tasks when the new tasks are running.</p>
2726
- * <p>You can remove existing <code>serviceRegistries</code> by passing an empty
2727
- * list.</p>
2728
- * <p>This parameter triggers a new service deployment.</p>
2729
- * @public
2730
- */
2731
- serviceRegistries?: ServiceRegistry[] | undefined;
2732
- /**
2733
- * <p>The configuration for this service to discover and connect to services, and be
2734
- * discovered by, and connected from, other services within a namespace.</p>
2735
- * <p>Tasks that run in a namespace can use short names to connect to services in the
2736
- * namespace. Tasks can connect to services across all of the clusters in the namespace.
2737
- * Tasks connect through a managed proxy container that collects logs and metrics for
2738
- * increased visibility. Only the tasks that Amazon ECS services create are supported with
2739
- * Service Connect. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a>
2740
- * in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2741
- * <p>This parameter triggers a new service deployment.</p>
2742
- * @public
2743
- */
2744
- serviceConnectConfiguration?: ServiceConnectConfiguration | undefined;
2745
- /**
2746
- * <p>The details of the volume that was <code>configuredAtLaunch</code>. You can configure
2747
- * the size, volumeType, IOPS, throughput, snapshot and encryption in <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ServiceManagedEBSVolumeConfiguration.html">ServiceManagedEBSVolumeConfiguration</a>. The <code>name</code> of the volume
2748
- * must match the <code>name</code> from the task definition. If set to null, no new
2749
- * deployment is triggered. Otherwise, if this configuration differs from the existing one,
2750
- * it triggers a new deployment.</p>
2751
- * <p>This parameter triggers a new service deployment.</p>
2752
- * @public
2753
- */
2754
- volumeConfigurations?: ServiceVolumeConfiguration[] | undefined;
2755
- /**
2756
- * <p>An object representing the VPC Lattice configuration for the service being
2757
- * updated.</p>
2758
- * <p>This parameter triggers a new service deployment.</p>
2759
- * @public
2760
- */
2761
- vpcLatticeConfigurations?: VpcLatticeConfiguration[] | undefined;
2762
- }
2763
- /**
2764
- * @public
2765
- */
2766
- export interface UpdateServiceResponse {
2767
- /**
2768
- * <p>The full description of your service following the update call.</p>
2769
- * @public
2770
- */
2771
- service?: Service | undefined;
2772
- }
2773
- /**
2774
- * @public
2775
- */
2776
- export interface UpdateServicePrimaryTaskSetRequest {
2777
- /**
2778
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the
2779
- * service that the task set exists in.</p>
2780
- * @public
2781
- */
2782
- cluster: string | undefined;
2783
- /**
2784
- * <p>The short name or full Amazon Resource Name (ARN) of the service that the task set
2785
- * exists in.</p>
2786
- * @public
2787
- */
2788
- service: string | undefined;
2789
- /**
2790
- * <p>The short name or full Amazon Resource Name (ARN) of the task set to set as the
2791
- * primary task set in the deployment.</p>
2792
- * @public
2793
- */
2794
- primaryTaskSet: string | undefined;
2795
- }
2796
- /**
2797
- * @public
2798
- */
2799
- export interface UpdateServicePrimaryTaskSetResponse {
2800
- /**
2801
- * <p>The details about the task set.</p>
2802
- * @public
2803
- */
2804
- taskSet?: TaskSet | undefined;
2805
- }
2806
- /**
2807
- * @public
2808
- */
2809
- export interface UpdateTaskProtectionRequest {
2810
- /**
2811
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the
2812
- * service that the task sets exist in.</p>
2813
- * @public
2814
- */
2815
- cluster: string | undefined;
2816
- /**
2817
- * <p>A list of up to 10 task IDs or full ARN entries.</p>
2818
- * @public
2819
- */
2820
- tasks: string[] | undefined;
2821
- /**
2822
- * <p>Specify <code>true</code> to mark a task for protection and <code>false</code> to
2823
- * unset protection, making it eligible for termination.</p>
2824
- * @public
2825
- */
2826
- protectionEnabled: boolean | undefined;
2827
- /**
2828
- * <p>If you set <code>protectionEnabled</code> to <code>true</code>, you can specify the
2829
- * duration for task protection in minutes. You can specify a value from 1 minute to up to
2830
- * 2,880 minutes (48 hours). During this time, your task will not be terminated by scale-in
2831
- * events from Service Auto Scaling or deployments. After this time period lapses,
2832
- * <code>protectionEnabled</code> will be reset to <code>false</code>.</p>
2833
- * <p>If you don’t specify the time, then the task is automatically protected for 120
2834
- * minutes (2 hours).</p>
2835
- * @public
2836
- */
2837
- expiresInMinutes?: number | undefined;
2838
- }
2839
- /**
2840
- * @public
2841
- */
2842
- export interface UpdateTaskProtectionResponse {
2843
- /**
2844
- * <p>A list of tasks with the following information.</p>
2845
- * <ul>
2846
- * <li>
2847
- * <p>
2848
- * <code>taskArn</code>: The task ARN.</p>
2849
- * </li>
2850
- * <li>
2851
- * <p>
2852
- * <code>protectionEnabled</code>: The protection status of the task. If scale-in
2853
- * protection is turned on for a task, the value is <code>true</code>. Otherwise,
2854
- * it is <code>false</code>.</p>
2855
- * </li>
2856
- * <li>
2857
- * <p>
2858
- * <code>expirationDate</code>: The epoch time when protection for the task will
2859
- * expire.</p>
2860
- * </li>
2861
- * </ul>
2862
- * @public
2863
- */
2864
- protectedTasks?: ProtectedTask[] | undefined;
2865
- /**
2866
- * <p>Any failures associated with the call.</p>
2867
- * @public
2868
- */
2869
- failures?: Failure[] | undefined;
2870
- }
2871
- /**
2872
- * @public
2873
- */
2874
- export interface UpdateTaskSetRequest {
2875
- /**
2876
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the
2877
- * service that the task set is found in.</p>
2878
- * @public
2879
- */
2880
- cluster: string | undefined;
2881
- /**
2882
- * <p>The short name or full Amazon Resource Name (ARN) of the service that the task set is
2883
- * found in.</p>
2884
- * @public
2885
- */
2886
- service: string | undefined;
2887
- /**
2888
- * <p>The short name or full Amazon Resource Name (ARN) of the task set to update.</p>
2889
- * @public
2890
- */
2891
- taskSet: string | undefined;
2892
- /**
2893
- * <p>A floating-point percentage of the desired number of tasks to place and keep running
2894
- * in the task set.</p>
2895
- * @public
2896
- */
2897
- scale: Scale | undefined;
2898
- }
2899
- /**
2900
- * @public
2901
- */
2902
- export interface UpdateTaskSetResponse {
2903
- /**
2904
- * <p>Details about the task set.</p>
2905
- * @public
2906
- */
2907
- taskSet?: TaskSet | undefined;
2908
- }