@aws-sdk/client-ecs 3.682.0 → 3.686.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 (90) hide show
  1. package/README.md +24 -0
  2. package/dist-cjs/index.js +254 -11
  3. package/dist-es/ECS.js +6 -0
  4. package/dist-es/commands/DescribeServiceDeploymentsCommand.js +22 -0
  5. package/dist-es/commands/DescribeServiceRevisionsCommand.js +22 -0
  6. package/dist-es/commands/ListServiceDeploymentsCommand.js +22 -0
  7. package/dist-es/commands/index.js +3 -0
  8. package/dist-es/models/models_0.js +16 -24
  9. package/dist-es/models/models_1.js +25 -1
  10. package/dist-es/protocols/Aws_json1_1.js +178 -1
  11. package/dist-types/ECS.d.ts +21 -0
  12. package/dist-types/ECSClient.d.ts +5 -2
  13. package/dist-types/commands/CreateCapacityProviderCommand.d.ts +1 -1
  14. package/dist-types/commands/CreateClusterCommand.d.ts +2 -2
  15. package/dist-types/commands/CreateServiceCommand.d.ts +4 -4
  16. package/dist-types/commands/CreateTaskSetCommand.d.ts +1 -1
  17. package/dist-types/commands/DeleteAccountSettingCommand.d.ts +1 -1
  18. package/dist-types/commands/DeleteCapacityProviderCommand.d.ts +1 -1
  19. package/dist-types/commands/DeleteClusterCommand.d.ts +1 -1
  20. package/dist-types/commands/DeleteServiceCommand.d.ts +2 -2
  21. package/dist-types/commands/DeleteTaskDefinitionsCommand.d.ts +1 -1
  22. package/dist-types/commands/DeleteTaskSetCommand.d.ts +1 -1
  23. package/dist-types/commands/DeregisterContainerInstanceCommand.d.ts +1 -1
  24. package/dist-types/commands/DeregisterTaskDefinitionCommand.d.ts +1 -1
  25. package/dist-types/commands/DescribeCapacityProvidersCommand.d.ts +1 -1
  26. package/dist-types/commands/DescribeClustersCommand.d.ts +1 -1
  27. package/dist-types/commands/DescribeContainerInstancesCommand.d.ts +1 -1
  28. package/dist-types/commands/DescribeServiceDeploymentsCommand.d.ts +177 -0
  29. package/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +243 -0
  30. package/dist-types/commands/DescribeServicesCommand.d.ts +2 -2
  31. package/dist-types/commands/DescribeTaskDefinitionCommand.d.ts +1 -1
  32. package/dist-types/commands/DescribeTaskSetsCommand.d.ts +1 -1
  33. package/dist-types/commands/DescribeTasksCommand.d.ts +1 -1
  34. package/dist-types/commands/DiscoverPollEndpointCommand.d.ts +1 -1
  35. package/dist-types/commands/ExecuteCommandCommand.d.ts +1 -1
  36. package/dist-types/commands/GetTaskProtectionCommand.d.ts +1 -1
  37. package/dist-types/commands/ListAccountSettingsCommand.d.ts +1 -1
  38. package/dist-types/commands/ListClustersCommand.d.ts +1 -1
  39. package/dist-types/commands/ListContainerInstancesCommand.d.ts +1 -1
  40. package/dist-types/commands/ListServiceDeploymentsCommand.d.ts +130 -0
  41. package/dist-types/commands/ListServicesByNamespaceCommand.d.ts +1 -1
  42. package/dist-types/commands/ListServicesCommand.d.ts +1 -1
  43. package/dist-types/commands/ListTagsForResourceCommand.d.ts +1 -1
  44. package/dist-types/commands/ListTaskDefinitionFamiliesCommand.d.ts +1 -1
  45. package/dist-types/commands/ListTaskDefinitionsCommand.d.ts +1 -1
  46. package/dist-types/commands/ListTasksCommand.d.ts +1 -1
  47. package/dist-types/commands/PutAccountSettingCommand.d.ts +1 -1
  48. package/dist-types/commands/PutAccountSettingDefaultCommand.d.ts +1 -1
  49. package/dist-types/commands/PutClusterCapacityProvidersCommand.d.ts +1 -1
  50. package/dist-types/commands/RegisterContainerInstanceCommand.d.ts +1 -1
  51. package/dist-types/commands/RegisterTaskDefinitionCommand.d.ts +1 -1
  52. package/dist-types/commands/RunTaskCommand.d.ts +1 -1
  53. package/dist-types/commands/StartTaskCommand.d.ts +1 -1
  54. package/dist-types/commands/StopTaskCommand.d.ts +1 -1
  55. package/dist-types/commands/SubmitAttachmentStateChangesCommand.d.ts +1 -1
  56. package/dist-types/commands/SubmitContainerStateChangeCommand.d.ts +1 -1
  57. package/dist-types/commands/SubmitTaskStateChangeCommand.d.ts +1 -1
  58. package/dist-types/commands/TagResourceCommand.d.ts +1 -1
  59. package/dist-types/commands/UntagResourceCommand.d.ts +1 -1
  60. package/dist-types/commands/UpdateCapacityProviderCommand.d.ts +1 -1
  61. package/dist-types/commands/UpdateClusterCommand.d.ts +2 -2
  62. package/dist-types/commands/UpdateClusterSettingsCommand.d.ts +2 -2
  63. package/dist-types/commands/UpdateContainerAgentCommand.d.ts +2 -2
  64. package/dist-types/commands/UpdateContainerInstancesStateCommand.d.ts +2 -2
  65. package/dist-types/commands/UpdateServiceCommand.d.ts +4 -4
  66. package/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +2 -2
  67. package/dist-types/commands/UpdateTaskProtectionCommand.d.ts +2 -2
  68. package/dist-types/commands/UpdateTaskSetCommand.d.ts +2 -3
  69. package/dist-types/commands/index.d.ts +3 -0
  70. package/dist-types/models/models_0.d.ts +3009 -2904
  71. package/dist-types/models/models_1.d.ts +517 -1
  72. package/dist-types/protocols/Aws_json1_1.d.ts +27 -0
  73. package/dist-types/ts3.4/ECS.d.ts +51 -0
  74. package/dist-types/ts3.4/ECSClient.d.ts +18 -0
  75. package/dist-types/ts3.4/commands/DescribeServiceDeploymentsCommand.d.ts +51 -0
  76. package/dist-types/ts3.4/commands/DescribeServiceRevisionsCommand.d.ts +51 -0
  77. package/dist-types/ts3.4/commands/ListServiceDeploymentsCommand.d.ts +51 -0
  78. package/dist-types/ts3.4/commands/UpdateClusterCommand.d.ts +1 -1
  79. package/dist-types/ts3.4/commands/UpdateClusterSettingsCommand.d.ts +1 -1
  80. package/dist-types/ts3.4/commands/UpdateContainerAgentCommand.d.ts +1 -1
  81. package/dist-types/ts3.4/commands/UpdateContainerInstancesStateCommand.d.ts +1 -1
  82. package/dist-types/ts3.4/commands/UpdateServiceCommand.d.ts +1 -1
  83. package/dist-types/ts3.4/commands/UpdateServicePrimaryTaskSetCommand.d.ts +1 -1
  84. package/dist-types/ts3.4/commands/UpdateTaskProtectionCommand.d.ts +1 -1
  85. package/dist-types/ts3.4/commands/UpdateTaskSetCommand.d.ts +4 -2
  86. package/dist-types/ts3.4/commands/index.d.ts +3 -0
  87. package/dist-types/ts3.4/models/models_0.d.ts +125 -95
  88. package/dist-types/ts3.4/models/models_1.d.ts +119 -1
  89. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +36 -0
  90. package/package.json +36 -36
@@ -1,4 +1,520 @@
1
- import { TaskSet } from "./models_0";
1
+ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
+ import { ECSServiceException as __BaseException } from "./ECSServiceException";
3
+ import { CapacityProviderStrategyItem, Cluster, ClusterConfiguration, ClusterServiceConnectDefaultsRequest, ClusterSetting, ContainerInstance, ContainerInstanceStatus, DeploymentConfiguration, Failure, LoadBalancer, NetworkConfiguration, PlacementConstraint, PlacementStrategy, PropagateTags, ProtectedTask, Scale, Service, ServiceConnectConfiguration, ServiceRegistry, ServiceVolumeConfiguration, TaskSet } from "./models_0";
4
+ /**
5
+ * @public
6
+ */
7
+ export interface UpdateClusterRequest {
8
+ /**
9
+ * <p>The name of the cluster to modify the settings for.</p>
10
+ * @public
11
+ */
12
+ cluster: string | undefined;
13
+ /**
14
+ * <p>The cluster settings for your cluster.</p>
15
+ * @public
16
+ */
17
+ settings?: ClusterSetting[];
18
+ /**
19
+ * <p>The execute command configuration for the cluster.</p>
20
+ * @public
21
+ */
22
+ configuration?: ClusterConfiguration;
23
+ /**
24
+ * <p>Use this parameter to set a default Service Connect namespace. After you set a default
25
+ * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
26
+ * client services in the namespace. This setting only applies to new services that set the <code>enabled</code> parameter to
27
+ * <code>true</code> in the <code>ServiceConnectConfiguration</code>.
28
+ * You can set the namespace of each service individually in the <code>ServiceConnectConfiguration</code> to override this default
29
+ * parameter.</p>
30
+ * <p>Tasks that run in a namespace can use short names to connect
31
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
32
+ * Tasks connect through a managed proxy container
33
+ * that collects logs and metrics for increased visibility.
34
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
35
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
36
+ * @public
37
+ */
38
+ serviceConnectDefaults?: ClusterServiceConnectDefaultsRequest;
39
+ }
40
+ /**
41
+ * @public
42
+ */
43
+ export interface UpdateClusterResponse {
44
+ /**
45
+ * <p>Details about the cluster.</p>
46
+ * @public
47
+ */
48
+ cluster?: Cluster;
49
+ }
50
+ /**
51
+ * @public
52
+ */
53
+ export interface UpdateClusterSettingsRequest {
54
+ /**
55
+ * <p>The name of the cluster to modify the settings for.</p>
56
+ * @public
57
+ */
58
+ cluster: string | undefined;
59
+ /**
60
+ * <p>The setting to use by default for a cluster. This parameter is used to turn on CloudWatch
61
+ * Container Insights for a cluster. If this value is specified, it overrides the
62
+ * <code>containerInsights</code> value set with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html">PutAccountSetting</a> or
63
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html">PutAccountSettingDefault</a>.</p>
64
+ * <important>
65
+ * <p>Currently, if you delete an existing cluster that does not have Container Insights
66
+ * turned on, and then create a new cluster with the same name with Container Insights
67
+ * tuned on, Container Insights will not actually be turned on. If you want to preserve
68
+ * the same name for your existing cluster and turn on Container Insights, you must
69
+ * wait 7 days before you can re-create it.</p>
70
+ * </important>
71
+ * @public
72
+ */
73
+ settings: ClusterSetting[] | undefined;
74
+ }
75
+ /**
76
+ * @public
77
+ */
78
+ export interface UpdateClusterSettingsResponse {
79
+ /**
80
+ * <p>Details about the cluster</p>
81
+ * @public
82
+ */
83
+ cluster?: Cluster;
84
+ }
85
+ /**
86
+ * <p>Amazon ECS can't determine the current version of the Amazon ECS container agent on the
87
+ * container instance and doesn't have enough information to proceed with an update. This
88
+ * could be because the agent running on the container instance is a previous or custom
89
+ * version that doesn't use our version information.</p>
90
+ * @public
91
+ */
92
+ export declare class MissingVersionException extends __BaseException {
93
+ readonly name: "MissingVersionException";
94
+ readonly $fault: "client";
95
+ /**
96
+ * @internal
97
+ */
98
+ constructor(opts: __ExceptionOptionType<MissingVersionException, __BaseException>);
99
+ }
100
+ /**
101
+ * <p>There's no update available for this Amazon ECS container agent. This might be because the
102
+ * agent is already running the latest version or because it's so old that there's no
103
+ * update path to the current version.</p>
104
+ * @public
105
+ */
106
+ export declare class NoUpdateAvailableException extends __BaseException {
107
+ readonly name: "NoUpdateAvailableException";
108
+ readonly $fault: "client";
109
+ /**
110
+ * @internal
111
+ */
112
+ constructor(opts: __ExceptionOptionType<NoUpdateAvailableException, __BaseException>);
113
+ }
114
+ /**
115
+ * @public
116
+ */
117
+ export interface UpdateContainerAgentRequest {
118
+ /**
119
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is
120
+ * running on. If you do not specify a cluster, the default cluster is assumed.</p>
121
+ * @public
122
+ */
123
+ cluster?: string;
124
+ /**
125
+ * <p>The container instance ID or full ARN entries for the container instance where you
126
+ * would like to update the Amazon ECS container agent.</p>
127
+ * @public
128
+ */
129
+ containerInstance: string | undefined;
130
+ }
131
+ /**
132
+ * @public
133
+ */
134
+ export interface UpdateContainerAgentResponse {
135
+ /**
136
+ * <p>The container instance that the container agent was updated for.</p>
137
+ * @public
138
+ */
139
+ containerInstance?: ContainerInstance;
140
+ }
141
+ /**
142
+ * @public
143
+ */
144
+ export interface UpdateContainerInstancesStateRequest {
145
+ /**
146
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to
147
+ * update. If you do not specify a cluster, the default cluster is assumed.</p>
148
+ * @public
149
+ */
150
+ cluster?: string;
151
+ /**
152
+ * <p>A list of up to 10 container instance IDs or full ARN entries.</p>
153
+ * @public
154
+ */
155
+ containerInstances: string[] | undefined;
156
+ /**
157
+ * <p>The container instance state to update the container instance with. The only valid
158
+ * values for this action are <code>ACTIVE</code> and <code>DRAINING</code>. A container
159
+ * instance can only be updated to <code>DRAINING</code> status once it has reached an
160
+ * <code>ACTIVE</code> state. If a container instance is in <code>REGISTERING</code>,
161
+ * <code>DEREGISTERING</code>, or <code>REGISTRATION_FAILED</code> state you can
162
+ * describe the container instance but can't update the container instance state.</p>
163
+ * @public
164
+ */
165
+ status: ContainerInstanceStatus | undefined;
166
+ }
167
+ /**
168
+ * @public
169
+ */
170
+ export interface UpdateContainerInstancesStateResponse {
171
+ /**
172
+ * <p>The list of container instances.</p>
173
+ * @public
174
+ */
175
+ containerInstances?: ContainerInstance[];
176
+ /**
177
+ * <p>Any failures associated with the call.</p>
178
+ * @public
179
+ */
180
+ failures?: Failure[];
181
+ }
182
+ /**
183
+ * @public
184
+ */
185
+ export interface UpdateServiceRequest {
186
+ /**
187
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on.
188
+ * If you do not specify a cluster, the default cluster is assumed.</p>
189
+ * @public
190
+ */
191
+ cluster?: string;
192
+ /**
193
+ * <p>The name of the service to update.</p>
194
+ * @public
195
+ */
196
+ service: string | undefined;
197
+ /**
198
+ * <p>The number of instantiations of the task to place and keep running in your
199
+ * service.</p>
200
+ * @public
201
+ */
202
+ desiredCount?: number;
203
+ /**
204
+ * <p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or
205
+ * full ARN of the task definition to run in your service. If a <code>revision</code> is
206
+ * not specified, the latest <code>ACTIVE</code> revision is used. If you modify the task
207
+ * definition with <code>UpdateService</code>, Amazon ECS spawns a task with the new version of
208
+ * the task definition and then stops an old task after the new version is running.</p>
209
+ * @public
210
+ */
211
+ taskDefinition?: string;
212
+ /**
213
+ * <p>The capacity provider strategy to update the service to use.</p>
214
+ * <p>if the service uses the default capacity provider strategy for the cluster, the
215
+ * service can be updated to use one or more capacity providers as opposed to the default
216
+ * capacity provider strategy. However, when a service is using a capacity provider
217
+ * strategy that's not the default capacity provider strategy, the service can't be updated
218
+ * to use the cluster's default capacity provider strategy.</p>
219
+ * <p>A capacity provider strategy consists of one or more capacity providers along with the
220
+ * <code>base</code> and <code>weight</code> to assign to them. A capacity provider
221
+ * must be associated with the cluster to be used in a capacity provider strategy. The
222
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutClusterCapacityProviders.html">PutClusterCapacityProviders</a> API is used to associate a capacity
223
+ * provider with a cluster. Only capacity providers with an <code>ACTIVE</code> or
224
+ * <code>UPDATING</code> status can be used.</p>
225
+ * <p>If specifying a capacity provider that uses an Auto Scaling group, the capacity
226
+ * provider must already be created. New capacity providers can be created with the <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateClusterCapacityProvider.html">CreateClusterCapacityProvider</a> API operation.</p>
227
+ * <p>To use a Fargate capacity provider, specify either the <code>FARGATE</code> or
228
+ * <code>FARGATE_SPOT</code> capacity providers. The Fargate capacity providers are
229
+ * available to all accounts and only need to be associated with a cluster to be
230
+ * used.</p>
231
+ * <p>The <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutClusterCapacityProviders.html">PutClusterCapacityProviders</a>API operation is used to update the
232
+ * list of available capacity providers for a cluster after the cluster is created.</p>
233
+ * <p></p>
234
+ * @public
235
+ */
236
+ capacityProviderStrategy?: CapacityProviderStrategyItem[];
237
+ /**
238
+ * <p>Optional deployment parameters that control how many tasks run during the deployment and the
239
+ * failure detection methods.</p>
240
+ * @public
241
+ */
242
+ deploymentConfiguration?: DeploymentConfiguration;
243
+ /**
244
+ * <p>An object representing the network configuration for the service.</p>
245
+ * @public
246
+ */
247
+ networkConfiguration?: NetworkConfiguration;
248
+ /**
249
+ * <p>An array of task placement constraint objects to update the service to use. If no
250
+ * value is specified, the existing placement constraints for the service will remain
251
+ * unchanged. If this value is specified, it will override any existing placement
252
+ * constraints defined for the service. To remove all existing placement constraints,
253
+ * specify an empty array.</p>
254
+ * <p>You can specify a maximum of 10 constraints for each task. This limit includes
255
+ * constraints in the task definition and those specified at runtime.</p>
256
+ * @public
257
+ */
258
+ placementConstraints?: PlacementConstraint[];
259
+ /**
260
+ * <p>The task placement strategy objects to update the service to use. If no value is
261
+ * specified, the existing placement strategy for the service will remain unchanged. If
262
+ * this value is specified, it will override the existing placement strategy defined for
263
+ * the service. To remove an existing placement strategy, specify an empty object.</p>
264
+ * <p>You can specify a maximum of five strategy rules for each service.</p>
265
+ * @public
266
+ */
267
+ placementStrategy?: PlacementStrategy[];
268
+ /**
269
+ * <p>The platform version that your tasks in the service run on. A platform version is only
270
+ * specified for tasks using the Fargate launch type. If a platform version
271
+ * is not specified, the <code>LATEST</code> platform version is used. For more
272
+ * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html">Fargate Platform
273
+ * Versions</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
274
+ * @public
275
+ */
276
+ platformVersion?: string;
277
+ /**
278
+ * <p>Determines whether to force a new deployment of the service. By default, deployments
279
+ * aren't forced. You can use this option to start a new deployment with no service
280
+ * definition changes. For example, you can update a service's tasks to use a newer Docker
281
+ * image with the same image/tag combination (<code>my_image:latest</code>) or to roll
282
+ * Fargate tasks onto a newer platform version.</p>
283
+ * @public
284
+ */
285
+ forceNewDeployment?: boolean;
286
+ /**
287
+ * <p>The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy
288
+ * Elastic Load Balancing target health checks after a task has first started. This is only valid if your
289
+ * service is configured to use a load balancer. If your service's tasks take a while to
290
+ * start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of
291
+ * up to 2,147,483,647 seconds. During that time, the Amazon ECS service scheduler ignores
292
+ * the Elastic Load Balancing health check status. This grace period can prevent the ECS service scheduler
293
+ * from marking tasks as unhealthy and stopping them before they have time to come
294
+ * up.</p>
295
+ * @public
296
+ */
297
+ healthCheckGracePeriodSeconds?: number;
298
+ /**
299
+ * <p>If <code>true</code>, this enables execute command functionality on all task
300
+ * containers.</p>
301
+ * <p>If you do not want to override the value that was set when the service was created,
302
+ * you can set this to <code>null</code> when performing this action.</p>
303
+ * @public
304
+ */
305
+ enableExecuteCommand?: boolean;
306
+ /**
307
+ * <p>Determines whether to turn on Amazon ECS managed tags for the tasks in the service. For
308
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
309
+ * Resources</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
310
+ * <p>Only tasks launched after the update will reflect the update. To update the tags on
311
+ * all tasks, set <code>forceNewDeployment</code> to <code>true</code>, so that Amazon ECS
312
+ * starts new tasks with the updated tags.</p>
313
+ * @public
314
+ */
315
+ enableECSManagedTags?: boolean;
316
+ /**
317
+ * <p>A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the
318
+ * container name, and the container port to access from the load balancer. The container
319
+ * name is as it appears in a container definition.</p>
320
+ * <p>When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks
321
+ * with the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks
322
+ * are running.</p>
323
+ * <p>For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target
324
+ * groups. You can update from a single target group to multiple target groups and from
325
+ * multiple target groups to a single target group.</p>
326
+ * <p>For services that use blue/green deployments, you can update Elastic Load Balancing target groups by
327
+ * using <code>
328
+ * <a href="https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html">CreateDeployment</a>
329
+ * </code> through CodeDeploy. Note that multiple target groups
330
+ * 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
331
+ * multiple target groups with a service</a> in the <i>Amazon Elastic Container Service Developer Guide</i>. </p>
332
+ * <p>For services that use the external deployment controller, you can add, update, or
333
+ * remove load balancers by using <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateTaskSet.html">CreateTaskSet</a>.
334
+ * Note that multiple target groups are not supported for external deployments. For more
335
+ * information see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html">Register
336
+ * multiple target groups with a service</a> in the <i>Amazon Elastic Container Service Developer Guide</i>. </p>
337
+ * <p>You can remove existing <code>loadBalancers</code> by passing an empty list.</p>
338
+ * @public
339
+ */
340
+ loadBalancers?: LoadBalancer[];
341
+ /**
342
+ * <p>Determines whether to propagate the tags from the task definition or the service to
343
+ * the task. If no value is specified, the tags aren't propagated.</p>
344
+ * <p>Only tasks launched after the update will reflect the update. To update the tags on
345
+ * all tasks, set <code>forceNewDeployment</code> to <code>true</code>, so that Amazon ECS
346
+ * starts new tasks with the updated tags.</p>
347
+ * @public
348
+ */
349
+ propagateTags?: PropagateTags;
350
+ /**
351
+ * <p>The details for the service discovery registries to assign to this service. For more
352
+ * information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html">Service
353
+ * Discovery</a>.</p>
354
+ * <p>When you add, update, or remove the service registries configuration, Amazon ECS starts new
355
+ * tasks with the updated service registries configuration, and then stops the old tasks
356
+ * when the new tasks are running.</p>
357
+ * <p>You can remove existing <code>serviceRegistries</code> by passing an empty
358
+ * list.</p>
359
+ * @public
360
+ */
361
+ serviceRegistries?: ServiceRegistry[];
362
+ /**
363
+ * <p>The configuration for this service to discover and connect to
364
+ * services, and be discovered by, and connected from, other services within a namespace.</p>
365
+ * <p>Tasks that run in a namespace can use short names to connect
366
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
367
+ * Tasks connect through a managed proxy container
368
+ * that collects logs and metrics for increased visibility.
369
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
370
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
371
+ * @public
372
+ */
373
+ serviceConnectConfiguration?: ServiceConnectConfiguration;
374
+ /**
375
+ * <p>The details of the volume that was <code>configuredAtLaunch</code>. You can configure
376
+ * 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
377
+ * must match the <code>name</code> from the task definition. If set to null, no new
378
+ * deployment is triggered. Otherwise, if this configuration differs from the existing one,
379
+ * it triggers a new deployment.</p>
380
+ * @public
381
+ */
382
+ volumeConfigurations?: ServiceVolumeConfiguration[];
383
+ }
384
+ /**
385
+ * @public
386
+ */
387
+ export interface UpdateServiceResponse {
388
+ /**
389
+ * <p>The full description of your service following the update call.</p>
390
+ * @public
391
+ */
392
+ service?: Service;
393
+ }
394
+ /**
395
+ * @public
396
+ */
397
+ export interface UpdateServicePrimaryTaskSetRequest {
398
+ /**
399
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task
400
+ * set exists in.</p>
401
+ * @public
402
+ */
403
+ cluster: string | undefined;
404
+ /**
405
+ * <p>The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.</p>
406
+ * @public
407
+ */
408
+ service: string | undefined;
409
+ /**
410
+ * <p>The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the
411
+ * deployment.</p>
412
+ * @public
413
+ */
414
+ primaryTaskSet: string | undefined;
415
+ }
416
+ /**
417
+ * @public
418
+ */
419
+ export interface UpdateServicePrimaryTaskSetResponse {
420
+ /**
421
+ * <p>The details about the task set.</p>
422
+ * @public
423
+ */
424
+ taskSet?: TaskSet;
425
+ }
426
+ /**
427
+ * @public
428
+ */
429
+ export interface UpdateTaskProtectionRequest {
430
+ /**
431
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task
432
+ * sets exist in.</p>
433
+ * @public
434
+ */
435
+ cluster: string | undefined;
436
+ /**
437
+ * <p>A list of up to 10 task IDs or full ARN entries.</p>
438
+ * @public
439
+ */
440
+ tasks: string[] | undefined;
441
+ /**
442
+ * <p>Specify <code>true</code> to mark a task for protection and <code>false</code> to
443
+ * unset protection, making it eligible for termination.</p>
444
+ * @public
445
+ */
446
+ protectionEnabled: boolean | undefined;
447
+ /**
448
+ * <p>If you set <code>protectionEnabled</code> to <code>true</code>, you can specify the
449
+ * duration for task protection in minutes. You can specify a value from 1 minute to up to
450
+ * 2,880 minutes (48 hours). During this time, your task will not be terminated by scale-in
451
+ * events from Service Auto Scaling or deployments. After this time period lapses,
452
+ * <code>protectionEnabled</code> will be reset to <code>false</code>.</p>
453
+ * <p>If you don’t specify the time, then the task is automatically protected for 120
454
+ * minutes (2 hours).</p>
455
+ * @public
456
+ */
457
+ expiresInMinutes?: number;
458
+ }
459
+ /**
460
+ * @public
461
+ */
462
+ export interface UpdateTaskProtectionResponse {
463
+ /**
464
+ * <p>A list of tasks with the following information.</p>
465
+ * <ul>
466
+ * <li>
467
+ * <p>
468
+ * <code>taskArn</code>: The task ARN.</p>
469
+ * </li>
470
+ * <li>
471
+ * <p>
472
+ * <code>protectionEnabled</code>: The protection status of the task. If scale-in
473
+ * protection is turned on for a task, the value is <code>true</code>. Otherwise,
474
+ * it is <code>false</code>.</p>
475
+ * </li>
476
+ * <li>
477
+ * <p>
478
+ * <code>expirationDate</code>: The epoch time when protection for the task will
479
+ * expire.</p>
480
+ * </li>
481
+ * </ul>
482
+ * @public
483
+ */
484
+ protectedTasks?: ProtectedTask[];
485
+ /**
486
+ * <p>Any failures associated with the call.</p>
487
+ * @public
488
+ */
489
+ failures?: Failure[];
490
+ }
491
+ /**
492
+ * @public
493
+ */
494
+ export interface UpdateTaskSetRequest {
495
+ /**
496
+ * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task
497
+ * set is found in.</p>
498
+ * @public
499
+ */
500
+ cluster: string | undefined;
501
+ /**
502
+ * <p>The short name or full Amazon Resource Name (ARN) of the service that the task set is found in.</p>
503
+ * @public
504
+ */
505
+ service: string | undefined;
506
+ /**
507
+ * <p>The short name or full Amazon Resource Name (ARN) of the task set to update.</p>
508
+ * @public
509
+ */
510
+ taskSet: string | undefined;
511
+ /**
512
+ * <p>A floating-point percentage of the desired number of tasks to place and keep running
513
+ * in the task set.</p>
514
+ * @public
515
+ */
516
+ scale: Scale | undefined;
517
+ }
2
518
  /**
3
519
  * @public
4
520
  */
@@ -16,6 +16,8 @@ import { DeregisterTaskDefinitionCommandInput, DeregisterTaskDefinitionCommandOu
16
16
  import { DescribeCapacityProvidersCommandInput, DescribeCapacityProvidersCommandOutput } from "../commands/DescribeCapacityProvidersCommand";
17
17
  import { DescribeClustersCommandInput, DescribeClustersCommandOutput } from "../commands/DescribeClustersCommand";
18
18
  import { DescribeContainerInstancesCommandInput, DescribeContainerInstancesCommandOutput } from "../commands/DescribeContainerInstancesCommand";
19
+ import { DescribeServiceDeploymentsCommandInput, DescribeServiceDeploymentsCommandOutput } from "../commands/DescribeServiceDeploymentsCommand";
20
+ import { DescribeServiceRevisionsCommandInput, DescribeServiceRevisionsCommandOutput } from "../commands/DescribeServiceRevisionsCommand";
19
21
  import { DescribeServicesCommandInput, DescribeServicesCommandOutput } from "../commands/DescribeServicesCommand";
20
22
  import { DescribeTaskDefinitionCommandInput, DescribeTaskDefinitionCommandOutput } from "../commands/DescribeTaskDefinitionCommand";
21
23
  import { DescribeTasksCommandInput, DescribeTasksCommandOutput } from "../commands/DescribeTasksCommand";
@@ -27,6 +29,7 @@ import { ListAccountSettingsCommandInput, ListAccountSettingsCommandOutput } fro
27
29
  import { ListAttributesCommandInput, ListAttributesCommandOutput } from "../commands/ListAttributesCommand";
28
30
  import { ListClustersCommandInput, ListClustersCommandOutput } from "../commands/ListClustersCommand";
29
31
  import { ListContainerInstancesCommandInput, ListContainerInstancesCommandOutput } from "../commands/ListContainerInstancesCommand";
32
+ import { ListServiceDeploymentsCommandInput, ListServiceDeploymentsCommandOutput } from "../commands/ListServiceDeploymentsCommand";
30
33
  import { ListServicesByNamespaceCommandInput, ListServicesByNamespaceCommandOutput } from "../commands/ListServicesByNamespaceCommand";
31
34
  import { ListServicesCommandInput, ListServicesCommandOutput } from "../commands/ListServicesCommand";
32
35
  import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput } from "../commands/ListTagsForResourceCommand";
@@ -120,6 +123,14 @@ export declare const se_DescribeClustersCommand: (input: DescribeClustersCommand
120
123
  * serializeAws_json1_1DescribeContainerInstancesCommand
121
124
  */
122
125
  export declare const se_DescribeContainerInstancesCommand: (input: DescribeContainerInstancesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
126
+ /**
127
+ * serializeAws_json1_1DescribeServiceDeploymentsCommand
128
+ */
129
+ export declare const se_DescribeServiceDeploymentsCommand: (input: DescribeServiceDeploymentsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
130
+ /**
131
+ * serializeAws_json1_1DescribeServiceRevisionsCommand
132
+ */
133
+ export declare const se_DescribeServiceRevisionsCommand: (input: DescribeServiceRevisionsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
123
134
  /**
124
135
  * serializeAws_json1_1DescribeServicesCommand
125
136
  */
@@ -164,6 +175,10 @@ export declare const se_ListClustersCommand: (input: ListClustersCommandInput, c
164
175
  * serializeAws_json1_1ListContainerInstancesCommand
165
176
  */
166
177
  export declare const se_ListContainerInstancesCommand: (input: ListContainerInstancesCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
178
+ /**
179
+ * serializeAws_json1_1ListServiceDeploymentsCommand
180
+ */
181
+ export declare const se_ListServiceDeploymentsCommand: (input: ListServiceDeploymentsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
167
182
  /**
168
183
  * serializeAws_json1_1ListServicesCommand
169
184
  */
@@ -344,6 +359,14 @@ export declare const de_DescribeClustersCommand: (output: __HttpResponse, contex
344
359
  * deserializeAws_json1_1DescribeContainerInstancesCommand
345
360
  */
346
361
  export declare const de_DescribeContainerInstancesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<DescribeContainerInstancesCommandOutput>;
362
+ /**
363
+ * deserializeAws_json1_1DescribeServiceDeploymentsCommand
364
+ */
365
+ export declare const de_DescribeServiceDeploymentsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<DescribeServiceDeploymentsCommandOutput>;
366
+ /**
367
+ * deserializeAws_json1_1DescribeServiceRevisionsCommand
368
+ */
369
+ export declare const de_DescribeServiceRevisionsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<DescribeServiceRevisionsCommandOutput>;
347
370
  /**
348
371
  * deserializeAws_json1_1DescribeServicesCommand
349
372
  */
@@ -388,6 +411,10 @@ export declare const de_ListClustersCommand: (output: __HttpResponse, context: _
388
411
  * deserializeAws_json1_1ListContainerInstancesCommand
389
412
  */
390
413
  export declare const de_ListContainerInstancesCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListContainerInstancesCommandOutput>;
414
+ /**
415
+ * deserializeAws_json1_1ListServiceDeploymentsCommand
416
+ */
417
+ export declare const de_ListServiceDeploymentsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ListServiceDeploymentsCommandOutput>;
391
418
  /**
392
419
  * deserializeAws_json1_1ListServicesCommand
393
420
  */
@@ -63,6 +63,14 @@ import {
63
63
  DescribeContainerInstancesCommandInput,
64
64
  DescribeContainerInstancesCommandOutput,
65
65
  } from "./commands/DescribeContainerInstancesCommand";
66
+ import {
67
+ DescribeServiceDeploymentsCommandInput,
68
+ DescribeServiceDeploymentsCommandOutput,
69
+ } from "./commands/DescribeServiceDeploymentsCommand";
70
+ import {
71
+ DescribeServiceRevisionsCommandInput,
72
+ DescribeServiceRevisionsCommandOutput,
73
+ } from "./commands/DescribeServiceRevisionsCommand";
66
74
  import {
67
75
  DescribeServicesCommandInput,
68
76
  DescribeServicesCommandOutput,
@@ -107,6 +115,10 @@ import {
107
115
  ListContainerInstancesCommandInput,
108
116
  ListContainerInstancesCommandOutput,
109
117
  } from "./commands/ListContainerInstancesCommand";
118
+ import {
119
+ ListServiceDeploymentsCommandInput,
120
+ ListServiceDeploymentsCommandOutput,
121
+ } from "./commands/ListServiceDeploymentsCommand";
110
122
  import {
111
123
  ListServicesByNamespaceCommandInput,
112
124
  ListServicesByNamespaceCommandOutput,
@@ -436,6 +448,32 @@ export interface ECS {
436
448
  options: __HttpHandlerOptions,
437
449
  cb: (err: any, data?: DescribeContainerInstancesCommandOutput) => void
438
450
  ): void;
451
+ describeServiceDeployments(
452
+ args: DescribeServiceDeploymentsCommandInput,
453
+ options?: __HttpHandlerOptions
454
+ ): Promise<DescribeServiceDeploymentsCommandOutput>;
455
+ describeServiceDeployments(
456
+ args: DescribeServiceDeploymentsCommandInput,
457
+ cb: (err: any, data?: DescribeServiceDeploymentsCommandOutput) => void
458
+ ): void;
459
+ describeServiceDeployments(
460
+ args: DescribeServiceDeploymentsCommandInput,
461
+ options: __HttpHandlerOptions,
462
+ cb: (err: any, data?: DescribeServiceDeploymentsCommandOutput) => void
463
+ ): void;
464
+ describeServiceRevisions(
465
+ args: DescribeServiceRevisionsCommandInput,
466
+ options?: __HttpHandlerOptions
467
+ ): Promise<DescribeServiceRevisionsCommandOutput>;
468
+ describeServiceRevisions(
469
+ args: DescribeServiceRevisionsCommandInput,
470
+ cb: (err: any, data?: DescribeServiceRevisionsCommandOutput) => void
471
+ ): void;
472
+ describeServiceRevisions(
473
+ args: DescribeServiceRevisionsCommandInput,
474
+ options: __HttpHandlerOptions,
475
+ cb: (err: any, data?: DescribeServiceRevisionsCommandOutput) => void
476
+ ): void;
439
477
  describeServices(
440
478
  args: DescribeServicesCommandInput,
441
479
  options?: __HttpHandlerOptions
@@ -583,6 +621,19 @@ export interface ECS {
583
621
  options: __HttpHandlerOptions,
584
622
  cb: (err: any, data?: ListContainerInstancesCommandOutput) => void
585
623
  ): void;
624
+ listServiceDeployments(
625
+ args: ListServiceDeploymentsCommandInput,
626
+ options?: __HttpHandlerOptions
627
+ ): Promise<ListServiceDeploymentsCommandOutput>;
628
+ listServiceDeployments(
629
+ args: ListServiceDeploymentsCommandInput,
630
+ cb: (err: any, data?: ListServiceDeploymentsCommandOutput) => void
631
+ ): void;
632
+ listServiceDeployments(
633
+ args: ListServiceDeploymentsCommandInput,
634
+ options: __HttpHandlerOptions,
635
+ cb: (err: any, data?: ListServiceDeploymentsCommandOutput) => void
636
+ ): void;
586
637
  listServices(): Promise<ListServicesCommandOutput>;
587
638
  listServices(
588
639
  args: ListServicesCommandInput,