@aws-sdk/client-ecs 3.1048.0 → 3.1050.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 (40) hide show
  1. package/README.md +7 -0
  2. package/dist-cjs/index.js +33 -0
  3. package/dist-cjs/models/errors.js +14 -14
  4. package/dist-cjs/schemas/schemas_0.js +69 -28
  5. package/dist-es/ECS.js +2 -0
  6. package/dist-es/commands/ContinueServiceDeploymentCommand.js +16 -0
  7. package/dist-es/commands/index.js +1 -0
  8. package/dist-es/models/enums.js +16 -0
  9. package/dist-es/models/errors.js +12 -12
  10. package/dist-es/schemas/schemas_0.js +60 -20
  11. package/dist-types/ECS.d.ts +7 -0
  12. package/dist-types/ECSClient.d.ts +3 -2
  13. package/dist-types/commands/ContinueServiceDeploymentCommand.d.ts +130 -0
  14. package/dist-types/commands/CreateServiceCommand.d.ts +85 -2
  15. package/dist-types/commands/DeleteServiceCommand.d.ts +6 -1
  16. package/dist-types/commands/DeleteTaskDefinitionsCommand.d.ts +1 -2
  17. package/dist-types/commands/DescribeServiceDeploymentsCommand.d.ts +79 -1
  18. package/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +2 -1
  19. package/dist-types/commands/DescribeServicesCommand.d.ts +67 -1
  20. package/dist-types/commands/TagResourceCommand.d.ts +1 -1
  21. package/dist-types/commands/UpdateServiceCommand.d.ts +40 -2
  22. package/dist-types/commands/index.d.ts +1 -0
  23. package/dist-types/models/enums.d.ts +40 -0
  24. package/dist-types/models/errors.d.ts +12 -12
  25. package/dist-types/models/models_0.d.ts +101 -49
  26. package/dist-types/models/models_1.d.ts +46 -1
  27. package/dist-types/schemas/schemas_0.d.ts +5 -0
  28. package/dist-types/ts3.4/ECS.d.ts +17 -0
  29. package/dist-types/ts3.4/ECSClient.d.ts +6 -0
  30. package/dist-types/ts3.4/commands/ContinueServiceDeploymentCommand.d.ts +53 -0
  31. package/dist-types/ts3.4/commands/DeleteTaskDefinitionsCommand.d.ts +4 -2
  32. package/dist-types/ts3.4/commands/DescribeServiceRevisionsCommand.d.ts +2 -4
  33. package/dist-types/ts3.4/commands/TagResourceCommand.d.ts +1 -1
  34. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  35. package/dist-types/ts3.4/models/enums.d.ts +22 -0
  36. package/dist-types/ts3.4/models/errors.d.ts +10 -10
  37. package/dist-types/ts3.4/models/models_0.d.ts +28 -12
  38. package/dist-types/ts3.4/models/models_1.d.ts +13 -0
  39. package/dist-types/ts3.4/schemas/schemas_0.d.ts +5 -0
  40. package/package.json +3 -3
@@ -77,6 +77,16 @@ declare const DescribeServiceDeploymentsCommand_base: {
77
77
  * // status: "PENDING" || "SUCCESSFUL" || "STOPPED" || "STOP_REQUESTED" || "IN_PROGRESS" || "ROLLBACK_REQUESTED" || "ROLLBACK_IN_PROGRESS" || "ROLLBACK_SUCCESSFUL" || "ROLLBACK_FAILED",
78
78
  * // statusReason: "STRING_VALUE",
79
79
  * // lifecycleStage: "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT" || "BAKE_TIME" || "CLEAN_UP",
80
+ * // lifecycleHookDetails: [ // DeploymentLifecycleHookDetailList
81
+ * // { // DeploymentLifecycleHookDetail
82
+ * // hookId: "STRING_VALUE",
83
+ * // targetType: "AWS_LAMBDA" || "PAUSE",
84
+ * // targetArn: "STRING_VALUE",
85
+ * // status: "AWAITING_ACTION" || "IN_PROGRESS" || "SUCCEEDED" || "FAILED" || "TIMED_OUT",
86
+ * // expiresAt: new Date("TIMESTAMP"),
87
+ * // timeoutAction: "ROLLBACK" || "CONTINUE",
88
+ * // },
89
+ * // ],
80
90
  * // deploymentConfiguration: { // DeploymentConfiguration
81
91
  * // deploymentCircuitBreaker: { // DeploymentCircuitBreaker
82
92
  * // enable: true || false, // required
@@ -95,12 +105,17 @@ declare const DescribeServiceDeploymentsCommand_base: {
95
105
  * // bakeTimeInMinutes: Number("int"),
96
106
  * // lifecycleHooks: [ // DeploymentLifecycleHookList
97
107
  * // { // DeploymentLifecycleHook
108
+ * // targetType: "AWS_LAMBDA" || "PAUSE",
98
109
  * // hookTargetArn: "STRING_VALUE",
99
110
  * // roleArn: "STRING_VALUE",
100
111
  * // lifecycleStages: [ // DeploymentLifecycleHookStageList
101
- * // "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
112
+ * // "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRE_PRODUCTION_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
102
113
  * // ],
103
114
  * // hookDetails: "DOCUMENT_VALUE",
115
+ * // timeoutConfiguration: { // DeploymentLifecycleHookTimeoutConfiguration
116
+ * // timeoutInMinutes: Number("int"),
117
+ * // action: "ROLLBACK" || "CONTINUE",
118
+ * // },
104
119
  * // },
105
120
  * // ],
106
121
  * // linearConfiguration: { // LinearConfiguration
@@ -215,6 +230,69 @@ declare const DescribeServiceDeploymentsCommand_base: {
215
230
  * *\/
216
231
  * ```
217
232
  *
233
+ * @example To describe a service deployment with a paused lifecycle hook
234
+ * ```javascript
235
+ * // This example describes a service deployment that is currently paused at a lifecycle hook. The lifecycleHookDetails field shows the status of the pause hook, including when it will expire and what action will be taken if the timeout is reached.
236
+ * const input = {
237
+ * serviceDeploymentArns: [
238
+ * "arn:aws:ecs:us-east-1:123456789012:service-deployment/MyCluster/MyService/r9i43YFjvgF_xlg7m2eJ1r"
239
+ * ]
240
+ * };
241
+ * const command = new DescribeServiceDeploymentsCommand(input);
242
+ * const response = await client.send(command);
243
+ * /* response is
244
+ * {
245
+ * failures: [],
246
+ * serviceDeployments: [
247
+ * {
248
+ * clusterArn: "arn:aws:ecs:us-east-1:123456789012:cluster/MyCluster",
249
+ * deploymentConfiguration: {
250
+ * deploymentCircuitBreaker: {
251
+ * enable: false,
252
+ * rollback: false
253
+ * },
254
+ * lifecycleHooks: [
255
+ * {
256
+ * lifecycleStages: [
257
+ * "POST_PRODUCTION_TRAFFIC_SHIFT"
258
+ * ],
259
+ * targetType: "PAUSE",
260
+ * timeoutConfiguration: {
261
+ * action: "ROLLBACK",
262
+ * timeoutInMinutes: 60
263
+ * }
264
+ * }
265
+ * ],
266
+ * maximumPercent: 200,
267
+ * minimumHealthyPercent: 100,
268
+ * strategy: "BLUE_GREEN"
269
+ * },
270
+ * lifecycleHookDetails: [
271
+ * {
272
+ * expiresAt: "2026-05-06T17:00:00.000Z",
273
+ * hookId: "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",
274
+ * status: "AWAITING_ACTION",
275
+ * targetType: "PAUSE",
276
+ * timeoutAction: "ROLLBACK"
277
+ * }
278
+ * ],
279
+ * lifecycleStage: "POST_PRODUCTION_TRAFFIC_SHIFT",
280
+ * serviceArn: "arn:aws:ecs:us-east-1:123456789012:service/MyCluster/MyService",
281
+ * serviceDeploymentArn: "arn:aws:ecs:us-east-1:123456789012:service-deployment/MyCluster/MyService/r9i43YFjvgF_xlg7m2eJ1r",
282
+ * status: "IN_PROGRESS",
283
+ * targetServiceRevision: {
284
+ * arn: "arn:aws:ecs:us-east-1:123456789012:service-revision/MyCluster/MyService/1234567890123456789",
285
+ * pendingTaskCount: 1,
286
+ * requestedTaskCount: 2,
287
+ * runningTaskCount: 1
288
+ * },
289
+ * updatedAt: "2026-05-06T16:00:00.000Z"
290
+ * }
291
+ * ]
292
+ * }
293
+ * *\/
294
+ * ```
295
+ *
218
296
  * @public
219
297
  */
220
298
  export declare class DescribeServiceDeploymentsCommand extends DescribeServiceDeploymentsCommand_base {
@@ -1,7 +1,8 @@
1
1
  import { Command as $Command } from "@smithy/core/client";
2
2
  import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
3
  import type { ECSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ECSClient";
4
- import type { DescribeServiceRevisionsRequest, DescribeServiceRevisionsResponse } from "../models/models_0";
4
+ import type { DescribeServiceRevisionsRequest } from "../models/models_0";
5
+ import type { DescribeServiceRevisionsResponse } from "../models/models_1";
5
6
  /**
6
7
  * @public
7
8
  */
@@ -110,12 +110,17 @@ declare const DescribeServicesCommand_base: {
110
110
  * // bakeTimeInMinutes: Number("int"),
111
111
  * // lifecycleHooks: [ // DeploymentLifecycleHookList
112
112
  * // { // DeploymentLifecycleHook
113
+ * // targetType: "AWS_LAMBDA" || "PAUSE",
113
114
  * // hookTargetArn: "STRING_VALUE",
114
115
  * // roleArn: "STRING_VALUE",
115
116
  * // lifecycleStages: [ // DeploymentLifecycleHookStageList
116
- * // "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
117
+ * // "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRE_PRODUCTION_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
117
118
  * // ],
118
119
  * // hookDetails: "DOCUMENT_VALUE",
120
+ * // timeoutConfiguration: { // DeploymentLifecycleHookTimeoutConfiguration
121
+ * // timeoutInMinutes: Number("int"),
122
+ * // action: "ROLLBACK" || "CONTINUE",
123
+ * // },
119
124
  * // },
120
125
  * // ],
121
126
  * // linearConfiguration: { // LinearConfiguration
@@ -476,6 +481,67 @@ declare const DescribeServicesCommand_base: {
476
481
  * *\/
477
482
  * ```
478
483
  *
484
+ * @example To describe a service with a pause lifecycle hook
485
+ * ```javascript
486
+ * // This example provides descriptive information about the service ``ecs-service-with-pause-hook``, which is configured with a pause lifecycle hook in its deployment configuration.
487
+ * const input = {
488
+ * services: [
489
+ * "ecs-service-with-pause-hook"
490
+ * ]
491
+ * };
492
+ * const command = new DescribeServicesCommand(input);
493
+ * const response = await client.send(command);
494
+ * /* response is
495
+ * {
496
+ * failures: [],
497
+ * services: [
498
+ * {
499
+ * clusterArn: "arn:aws:ecs:us-east-1:012345678910:cluster/default",
500
+ * createdAt: "2026-05-06T16:00:00.000Z",
501
+ * deploymentConfiguration: {
502
+ * lifecycleHooks: [
503
+ * {
504
+ * lifecycleStages: [
505
+ * "POST_PRODUCTION_TRAFFIC_SHIFT"
506
+ * ],
507
+ * targetType: "PAUSE",
508
+ * timeoutConfiguration: {
509
+ * action: "ROLLBACK",
510
+ * timeoutInMinutes: 60
511
+ * }
512
+ * }
513
+ * ],
514
+ * maximumPercent: 200,
515
+ * minimumHealthyPercent: 100,
516
+ * strategy: "BLUE_GREEN"
517
+ * },
518
+ * deployments: [
519
+ * {
520
+ * createdAt: "2026-05-06T16:00:00.000Z",
521
+ * desiredCount: 2,
522
+ * id: "ecs-svc/9223370564341623665",
523
+ * pendingCount: 0,
524
+ * runningCount: 2,
525
+ * status: "PRIMARY",
526
+ * taskDefinition: "arn:aws:ecs:us-east-1:012345678910:task-definition/ecs-demo:1",
527
+ * updatedAt: "2026-05-06T16:00:00.000Z"
528
+ * }
529
+ * ],
530
+ * desiredCount: 2,
531
+ * events: [],
532
+ * loadBalancers: [],
533
+ * pendingCount: 0,
534
+ * runningCount: 2,
535
+ * serviceArn: "arn:aws:ecs:us-east-1:012345678910:service/default/ecs-service-with-pause-hook",
536
+ * serviceName: "ecs-service-with-pause-hook",
537
+ * status: "ACTIVE",
538
+ * taskDefinition: "arn:aws:ecs:us-east-1:012345678910:task-definition/ecs-demo:1"
539
+ * }
540
+ * ]
541
+ * }
542
+ * *\/
543
+ * ```
544
+ *
479
545
  * @public
480
546
  */
481
547
  export declare class DescribeServicesCommand extends DescribeServicesCommand_base {
@@ -1,7 +1,7 @@
1
1
  import { Command as $Command } from "@smithy/core/client";
2
2
  import type { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
3
  import type { ECSClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../ECSClient";
4
- import type { TagResourceRequest, TagResourceResponse } from "../models/models_0";
4
+ import type { TagResourceRequest, TagResourceResponse } from "../models/models_1";
5
5
  /**
6
6
  * @public
7
7
  */
@@ -68,12 +68,17 @@ declare const UpdateServiceCommand_base: {
68
68
  * bakeTimeInMinutes: Number("int"),
69
69
  * lifecycleHooks: [ // DeploymentLifecycleHookList
70
70
  * { // DeploymentLifecycleHook
71
+ * targetType: "AWS_LAMBDA" || "PAUSE",
71
72
  * hookTargetArn: "STRING_VALUE",
72
73
  * roleArn: "STRING_VALUE",
73
74
  * lifecycleStages: [ // DeploymentLifecycleHookStageList
74
- * "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
75
+ * "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRE_PRODUCTION_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
75
76
  * ],
76
77
  * hookDetails: "DOCUMENT_VALUE",
78
+ * timeoutConfiguration: { // DeploymentLifecycleHookTimeoutConfiguration
79
+ * timeoutInMinutes: Number("int"),
80
+ * action: "ROLLBACK" || "CONTINUE",
81
+ * },
77
82
  * },
78
83
  * ],
79
84
  * linearConfiguration: { // LinearConfiguration
@@ -291,12 +296,17 @@ declare const UpdateServiceCommand_base: {
291
296
  * // bakeTimeInMinutes: Number("int"),
292
297
  * // lifecycleHooks: [ // DeploymentLifecycleHookList
293
298
  * // { // DeploymentLifecycleHook
299
+ * // targetType: "AWS_LAMBDA" || "PAUSE",
294
300
  * // hookTargetArn: "STRING_VALUE",
295
301
  * // roleArn: "STRING_VALUE",
296
302
  * // lifecycleStages: [ // DeploymentLifecycleHookStageList
297
- * // "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
303
+ * // "RECONCILE_SERVICE" || "PRE_SCALE_UP" || "POST_SCALE_UP" || "TEST_TRAFFIC_SHIFT" || "POST_TEST_TRAFFIC_SHIFT" || "PRE_PRODUCTION_TRAFFIC_SHIFT" || "PRODUCTION_TRAFFIC_SHIFT" || "POST_PRODUCTION_TRAFFIC_SHIFT",
298
304
  * // ],
299
305
  * // hookDetails: "DOCUMENT_VALUE",
306
+ * // timeoutConfiguration: { // DeploymentLifecycleHookTimeoutConfiguration
307
+ * // timeoutInMinutes: Number("int"),
308
+ * // action: "ROLLBACK" || "CONTINUE",
309
+ * // },
300
310
  * // },
301
311
  * // ],
302
312
  * // linearConfiguration: { // LinearConfiguration
@@ -641,6 +651,34 @@ declare const UpdateServiceCommand_base: {
641
651
  * *\/
642
652
  * ```
643
653
  *
654
+ * @example To update a service to add a pause lifecycle hook
655
+ * ```javascript
656
+ * // This example updates the my-blue-green-service service to add a pause lifecycle hook at the POST_PRODUCTION_TRAFFIC_SHIFT stage. The deployment will pause at that stage until you explicitly continue or roll back using the ContinueServiceDeployment API, or until the 30-minute timeout expires and triggers a continue.
657
+ * const input = {
658
+ * deploymentConfiguration: {
659
+ * lifecycleHooks: [
660
+ * {
661
+ * lifecycleStages: [
662
+ * "POST_PRODUCTION_TRAFFIC_SHIFT"
663
+ * ],
664
+ * targetType: "PAUSE",
665
+ * timeoutConfiguration: {
666
+ * action: "CONTINUE",
667
+ * timeoutInMinutes: 30
668
+ * }
669
+ * }
670
+ * ],
671
+ * strategy: "BLUE_GREEN"
672
+ * },
673
+ * service: "my-blue-green-service"
674
+ * };
675
+ * const command = new UpdateServiceCommand(input);
676
+ * const response = await client.send(command);
677
+ * /* response is
678
+ * { /* empty *\/ }
679
+ * *\/
680
+ * ```
681
+ *
644
682
  * @public
645
683
  */
646
684
  export declare class UpdateServiceCommand extends UpdateServiceCommand_base {
@@ -1,3 +1,4 @@
1
+ export * from "./ContinueServiceDeploymentCommand";
1
2
  export * from "./CreateCapacityProviderCommand";
2
3
  export * from "./CreateClusterCommand";
3
4
  export * from "./CreateDaemonCommand";
@@ -473,6 +473,18 @@ export declare const PlatformDeviceType: {
473
473
  * @public
474
474
  */
475
475
  export type PlatformDeviceType = (typeof PlatformDeviceType)[keyof typeof PlatformDeviceType];
476
+ /**
477
+ * @public
478
+ * @enum
479
+ */
480
+ export declare const DeploymentLifecycleHookAction: {
481
+ readonly CONTINUE: "CONTINUE";
482
+ readonly ROLLBACK: "ROLLBACK";
483
+ };
484
+ /**
485
+ * @public
486
+ */
487
+ export type DeploymentLifecycleHookAction = (typeof DeploymentLifecycleHookAction)[keyof typeof DeploymentLifecycleHookAction];
476
488
  /**
477
489
  * @public
478
490
  * @enum
@@ -943,6 +955,7 @@ export declare const DeploymentLifecycleHookStage: {
943
955
  readonly POST_PRODUCTION_TRAFFIC_SHIFT: "POST_PRODUCTION_TRAFFIC_SHIFT";
944
956
  readonly POST_SCALE_UP: "POST_SCALE_UP";
945
957
  readonly POST_TEST_TRAFFIC_SHIFT: "POST_TEST_TRAFFIC_SHIFT";
958
+ readonly PRE_PRODUCTION_TRAFFIC_SHIFT: "PRE_PRODUCTION_TRAFFIC_SHIFT";
946
959
  readonly PRE_SCALE_UP: "PRE_SCALE_UP";
947
960
  readonly PRODUCTION_TRAFFIC_SHIFT: "PRODUCTION_TRAFFIC_SHIFT";
948
961
  readonly RECONCILE_SERVICE: "RECONCILE_SERVICE";
@@ -952,6 +965,18 @@ export declare const DeploymentLifecycleHookStage: {
952
965
  * @public
953
966
  */
954
967
  export type DeploymentLifecycleHookStage = (typeof DeploymentLifecycleHookStage)[keyof typeof DeploymentLifecycleHookStage];
968
+ /**
969
+ * @public
970
+ * @enum
971
+ */
972
+ export declare const DeploymentLifecycleHookTargetType: {
973
+ readonly AWS_LAMBDA: "AWS_LAMBDA";
974
+ readonly PAUSE: "PAUSE";
975
+ };
976
+ /**
977
+ * @public
978
+ */
979
+ export type DeploymentLifecycleHookTargetType = (typeof DeploymentLifecycleHookTargetType)[keyof typeof DeploymentLifecycleHookTargetType];
955
980
  /**
956
981
  * @public
957
982
  * @enum
@@ -966,6 +991,21 @@ export declare const DeploymentStrategy: {
966
991
  * @public
967
992
  */
968
993
  export type DeploymentStrategy = (typeof DeploymentStrategy)[keyof typeof DeploymentStrategy];
994
+ /**
995
+ * @public
996
+ * @enum
997
+ */
998
+ export declare const DeploymentLifecycleHookStatus: {
999
+ readonly AWAITING_ACTION: "AWAITING_ACTION";
1000
+ readonly FAILED: "FAILED";
1001
+ readonly IN_PROGRESS: "IN_PROGRESS";
1002
+ readonly SUCCEEDED: "SUCCEEDED";
1003
+ readonly TIMED_OUT: "TIMED_OUT";
1004
+ };
1005
+ /**
1006
+ * @public
1007
+ */
1008
+ export type DeploymentLifecycleHookStatus = (typeof DeploymentLifecycleHookStatus)[keyof typeof DeploymentLifecycleHookStatus];
969
1009
  /**
970
1010
  * @public
971
1011
  * @enum
@@ -240,6 +240,18 @@ export declare class NoUpdateAvailableException extends __BaseException {
240
240
  */
241
241
  constructor(opts: __ExceptionOptionType<NoUpdateAvailableException, __BaseException>);
242
242
  }
243
+ /**
244
+ * <p>The service deploy ARN that you specified in the <code>StopServiceDeployment</code> doesn't exist. You can use <code>ListServiceDeployments</code> to retrieve the service deployment ARNs.</p>
245
+ * @public
246
+ */
247
+ export declare class ServiceDeploymentNotFoundException extends __BaseException {
248
+ readonly name: "ServiceDeploymentNotFoundException";
249
+ readonly $fault: "client";
250
+ /**
251
+ * @internal
252
+ */
253
+ constructor(opts: __ExceptionOptionType<ServiceDeploymentNotFoundException, __BaseException>);
254
+ }
243
255
  /**
244
256
  * <p>The specified platform version doesn't exist.</p>
245
257
  * @public
@@ -329,18 +341,6 @@ export declare class ConflictException extends __BaseException {
329
341
  */
330
342
  constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
331
343
  }
332
- /**
333
- * <p>The service deploy ARN that you specified in the <code>StopServiceDeployment</code> doesn't exist. You can use <code>ListServiceDeployments</code> to retrieve the service deployment ARNs.</p>
334
- * @public
335
- */
336
- export declare class ServiceDeploymentNotFoundException extends __BaseException {
337
- readonly name: "ServiceDeploymentNotFoundException";
338
- readonly $fault: "client";
339
- /**
340
- * @internal
341
- */
342
- constructor(opts: __ExceptionOptionType<ServiceDeploymentNotFoundException, __BaseException>);
343
- }
344
344
  /**
345
345
  * <p>The specified task set wasn't found. You can view your available task sets with <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTaskSets.html">DescribeTaskSets</a>. Task sets are specific to each cluster, service and Region.</p>
346
346
  * @public
@@ -1,5 +1,5 @@
1
1
  import type { DocumentType as __DocumentType } from "@smithy/types";
2
- import type { AcceleratorManufacturer, AcceleratorName, AcceleratorType, AccessType, AgentUpdateStatus, ApplicationProtocol, AssignPublicIp, AutoRepairActionsStatus, AvailabilityZoneRebalancing, BareMetal, BurstablePerformance, CapacityOptionType, CapacityProviderField, CapacityProviderStatus, CapacityProviderType, CapacityProviderUpdateStatus, CapacityReservationPreference, ClusterField, ClusterSettingName, Compatibility, ContainerCondition, ContainerInstanceField, ContainerInstanceStatus, CPUArchitecture, CpuManufacturer, DaemonDeploymentRollbackMonitorsStatus, DaemonDeploymentStatus, DaemonPropagateTags, DaemonStatus, DaemonTaskDefinitionRevisionFilter, DaemonTaskDefinitionStatus, DaemonTaskDefinitionStatusFilter, DeploymentControllerType, DeploymentLifecycleHookStage, DeploymentRolloutState, DeploymentStrategy, DesiredStatus, DeviceCgroupPermission, EBSResourceType, EFSAuthorizationConfigIAM, EFSTransitEncryption, EnvironmentFileType, ExecuteCommandLogging, ExpressGatewayServiceInclude, ExpressGatewayServiceScalingMetric, ExpressGatewayServiceStatusCode, FirelensConfigurationType, InstanceGeneration, InstanceHealthCheckState, InstanceHealthCheckType, IpcMode, LaunchType, LocalStorage, LocalStorageType, LogDriver, ManagedAgentName, ManagedDraining, ManagedInstancesMonitoringOptions, ManagedResourceStatus, ManagedScalingStatus, ManagedTerminationProtection, NetworkMode, OSFamily, PidMode, PlacementConstraintType, PlacementStrategyType, PlatformDeviceType, PropagateMITags, PropagateTags, ProxyConfigurationType, ResourceManagementType, ResourceType, ScaleUnit, SchedulingStrategy, Scope, ServiceConnectAccessLoggingFormat, ServiceConnectIncludeQueryParameters, ServiceDeploymentLifecycleStage, ServiceDeploymentRollbackMonitorsStatus, ServiceDeploymentStatus, ServiceField, SettingName, SettingType, SortOrder, StabilityStatus, StopServiceDeploymentStopType, TargetType, TaskDefinitionFamilyStatus, TaskDefinitionField, TaskDefinitionPlacementConstraintType, TaskDefinitionStatus, TaskFilesystemType, TransportProtocol, UlimitName, VersionConsistency } from "./enums";
2
+ import type { AcceleratorManufacturer, AcceleratorName, AcceleratorType, AccessType, AgentUpdateStatus, ApplicationProtocol, AssignPublicIp, AutoRepairActionsStatus, AvailabilityZoneRebalancing, BareMetal, BurstablePerformance, CapacityOptionType, CapacityProviderField, CapacityProviderStatus, CapacityProviderType, CapacityProviderUpdateStatus, CapacityReservationPreference, ClusterField, ClusterSettingName, Compatibility, ContainerCondition, ContainerInstanceField, ContainerInstanceStatus, CPUArchitecture, CpuManufacturer, DaemonDeploymentRollbackMonitorsStatus, DaemonDeploymentStatus, DaemonPropagateTags, DaemonStatus, DaemonTaskDefinitionRevisionFilter, DaemonTaskDefinitionStatus, DaemonTaskDefinitionStatusFilter, DeploymentControllerType, DeploymentLifecycleHookAction, DeploymentLifecycleHookStage, DeploymentLifecycleHookStatus, DeploymentLifecycleHookTargetType, DeploymentRolloutState, DeploymentStrategy, DesiredStatus, DeviceCgroupPermission, EBSResourceType, EFSAuthorizationConfigIAM, EFSTransitEncryption, EnvironmentFileType, ExecuteCommandLogging, ExpressGatewayServiceInclude, ExpressGatewayServiceScalingMetric, ExpressGatewayServiceStatusCode, FirelensConfigurationType, InstanceGeneration, InstanceHealthCheckState, InstanceHealthCheckType, IpcMode, LaunchType, LocalStorage, LocalStorageType, LogDriver, ManagedAgentName, ManagedDraining, ManagedInstancesMonitoringOptions, ManagedResourceStatus, ManagedScalingStatus, ManagedTerminationProtection, NetworkMode, OSFamily, PidMode, PlacementConstraintType, PlacementStrategyType, PlatformDeviceType, PropagateMITags, PropagateTags, ProxyConfigurationType, ResourceManagementType, ResourceType, ScaleUnit, SchedulingStrategy, Scope, ServiceConnectAccessLoggingFormat, ServiceConnectIncludeQueryParameters, ServiceDeploymentLifecycleStage, ServiceDeploymentRollbackMonitorsStatus, ServiceDeploymentStatus, ServiceField, SettingName, SettingType, SortOrder, StabilityStatus, StopServiceDeploymentStopType, TargetType, TaskDefinitionFamilyStatus, TaskDefinitionField, TaskDefinitionPlacementConstraintType, TaskDefinitionStatus, TaskFilesystemType, TransportProtocol, UlimitName, VersionConsistency } from "./enums";
3
3
  /**
4
4
  * <p>The minimum and maximum number of accelerators (such as GPUs) for instance type selection. This is used for workloads that require specific numbers of accelerators.</p>
5
5
  * @public
@@ -2402,6 +2402,36 @@ export interface UpdateContainerInstancesStateResponse {
2402
2402
  */
2403
2403
  failures?: Failure[] | undefined;
2404
2404
  }
2405
+ /**
2406
+ * @public
2407
+ */
2408
+ export interface ContinueServiceDeploymentRequest {
2409
+ /**
2410
+ * <p>The ARN of the service deployment to continue or roll back.</p>
2411
+ * @public
2412
+ */
2413
+ serviceDeploymentArn: string | undefined;
2414
+ /**
2415
+ * <p>The ID of the paused lifecycle hook to act on. You can find the <code>hookId</code> by calling <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeServiceDeployments.html">DescribeServiceDeployments</a> and inspecting the <code>lifecycleHookDetails</code> field of the service deployment.</p>
2416
+ * @public
2417
+ */
2418
+ hookId: string | undefined;
2419
+ /**
2420
+ * <p>The action to take on the paused lifecycle hook. Valid values are:</p> <ul> <li> <p> <code>CONTINUE</code> - Proceeds the deployment to the next lifecycle stage.</p> </li> <li> <p> <code>ROLLBACK</code> - Rolls back the deployment to the previous service revision.</p> </li> </ul> <p>If no value is specified, the default action is <code>CONTINUE</code>.</p>
2421
+ * @public
2422
+ */
2423
+ action?: DeploymentLifecycleHookAction | undefined;
2424
+ }
2425
+ /**
2426
+ * @public
2427
+ */
2428
+ export interface ContinueServiceDeploymentResponse {
2429
+ /**
2430
+ * <p>The ARN of the service deployment that was continued or rolled back.</p>
2431
+ * @public
2432
+ */
2433
+ serviceDeploymentArn?: string | undefined;
2434
+ }
2405
2435
  /**
2406
2436
  * @public
2407
2437
  */
@@ -4544,7 +4574,7 @@ export interface FSxWindowsFileServerVolumeConfiguration {
4544
4574
  authorizationConfig: FSxWindowsFileServerAuthorizationConfig | undefined;
4545
4575
  }
4546
4576
  /**
4547
- * <p>This parameter is specified when you're using an Amazon S3 Files file system for task storage. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/s3files-volumes.html">Amazon S3 Files volumes</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p> <important> <p>Your task definition must include a Task IAM Role. See <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-prereq-policies.html#s3-files-prereq-iam-compute-role"> IAM role for attaching your file system to AWS compute resources</a> for required permissions.</p> </important>
4577
+ * <p>This parameter is specified when you're using an Amazon S3 Files file system for task storage. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/s3files-volumes.html">Amazon S3 Files volumes</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p> <important> <p>Your task definition must include a Task IAM Role. See <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-files-prereq-policies.html#s3-files-prereq-iam-compute-role"> IAM role for attaching your file system to Amazon Web Services compute resources</a> for required permissions.</p> </important>
4548
4578
  * @public
4549
4579
  */
4550
4580
  export interface S3FilesVolumeConfiguration {
@@ -5135,11 +5165,32 @@ export interface DeploymentCircuitBreaker {
5135
5165
  */
5136
5166
  rollback: boolean | undefined;
5137
5167
  }
5168
+ /**
5169
+ * <p>The timeout configuration for a deployment lifecycle hook. This determines how long Amazon ECS waits for the hook to complete before taking the specified timeout action.</p>
5170
+ * @public
5171
+ */
5172
+ export interface DeploymentLifecycleHookTimeoutConfiguration {
5173
+ /**
5174
+ * <p>The number of minutes Amazon ECS waits for the lifecycle hook to complete before taking the timeout action.</p>
5175
+ * @public
5176
+ */
5177
+ timeoutInMinutes?: number | undefined;
5178
+ /**
5179
+ * <p>The action Amazon ECS takes when the lifecycle hook times out. Valid values are:</p> <ul> <li> <p> <code>CONTINUE</code> - Proceeds the deployment to the next lifecycle stage.</p> </li> <li> <p> <code>ROLLBACK</code> - Rolls back the deployment to the previous service revision.</p> </li> </ul>
5180
+ * @public
5181
+ */
5182
+ action?: DeploymentLifecycleHookAction | undefined;
5183
+ }
5138
5184
  /**
5139
5185
  * <p>A deployment lifecycle hook runs custom logic at specific stages of the deployment process. Currently, you can use Lambda functions as hook targets.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-lifecycle-hooks.html">Lifecycle hooks for Amazon ECS service deployments</a> in the <i> Amazon Elastic Container Service Developer Guide</i>.</p>
5140
5186
  * @public
5141
5187
  */
5142
5188
  export interface DeploymentLifecycleHook {
5189
+ /**
5190
+ * <p>The type of action the lifecycle hook performs. Valid values are:</p> <ul> <li> <p> <code>AWS_LAMBDA</code> - Invokes a Lambda function at the specified lifecycle stage. This is the default value.</p> </li> <li> <p> <code>PAUSE</code> - Pauses the deployment at the specified lifecycle stage until you call <code>ContinueServiceDeployment</code> to continue or roll back.</p> </li> </ul> <p>This field is optional. If not specified, the default value is <code>AWS_LAMBDA</code>.</p>
5191
+ * @public
5192
+ */
5193
+ targetType?: DeploymentLifecycleHookTargetType | undefined;
5143
5194
  /**
5144
5195
  * <p>The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.</p> <p>You must provide this parameter when configuring a deployment lifecycle hook.</p>
5145
5196
  * @public
@@ -5160,6 +5211,11 @@ export interface DeploymentLifecycleHook {
5160
5211
  * @public
5161
5212
  */
5162
5213
  hookDetails?: __DocumentType | undefined;
5214
+ /**
5215
+ * <p>The timeout configuration for the lifecycle hook. This specifies how long Amazon ECS waits before taking the timeout action if the hook is not resolved.</p>
5216
+ * @public
5217
+ */
5218
+ timeoutConfiguration?: DeploymentLifecycleHookTimeoutConfiguration | undefined;
5163
5219
  }
5164
5220
  /**
5165
5221
  * <p>Configuration for linear deployment strategy that shifts production traffic in equal percentage increments with configurable wait times between each step until 100% of traffic is shifted to the new service revision. This is only valid when you run <code>CreateService</code> or <code>UpdateService</code> with <code>deploymentController</code> set to <code>ECS</code> and a <code>deploymentConfiguration</code> with a strategy set to <code>LINEAR</code>. </p>
@@ -5228,6 +5284,42 @@ export interface DeploymentConfiguration {
5228
5284
  */
5229
5285
  canaryConfiguration?: CanaryConfiguration | undefined;
5230
5286
  }
5287
+ /**
5288
+ * <p>The details of a deployment lifecycle hook that is active during a service deployment.</p> <p>You can view lifecycle hook details by calling <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeServiceDeployments.html">DescribeServiceDeployments</a>.</p>
5289
+ * @public
5290
+ */
5291
+ export interface DeploymentLifecycleHookDetail {
5292
+ /**
5293
+ * <p>The ID of the lifecycle hook. Use this value when calling <code>ContinueServiceDeployment</code> to continue or roll back a paused deployment.</p>
5294
+ * @public
5295
+ */
5296
+ hookId?: string | undefined;
5297
+ /**
5298
+ * <p>The type of action the lifecycle hook performs, such as <code>AWS_LAMBDA</code> or <code>PAUSE</code>.</p>
5299
+ * @public
5300
+ */
5301
+ targetType?: DeploymentLifecycleHookTargetType | undefined;
5302
+ /**
5303
+ * <p>The Amazon Resource Name (ARN) of the hook target. For <code>AWS_LAMBDA</code> hooks, this is the Lambda function ARN. For <code>PAUSE</code> hooks, this field is not set.</p>
5304
+ * @public
5305
+ */
5306
+ targetArn?: string | undefined;
5307
+ /**
5308
+ * <p>The status of the lifecycle hook. Valid values depend on the hook type:</p> <ul> <li> <p>For <code>AWS_LAMBDA</code> hooks: <code>IN_PROGRESS</code>, <code>SUCCEEDED</code>, <code>FAILED</code>, and <code>TIMED_OUT</code>.</p> </li> <li> <p>For <code>PAUSE</code> hooks: <code>AWAITING_ACTION</code>, <code>SUCCEEDED</code>, <code>FAILED</code>, and <code>TIMED_OUT</code>.</p> </li> </ul>
5309
+ * @public
5310
+ */
5311
+ status?: DeploymentLifecycleHookStatus | undefined;
5312
+ /**
5313
+ * <p>The time when the lifecycle hook times out. If the hook has not been completed by this time, Amazon ECS takes the timeout action.</p>
5314
+ * @public
5315
+ */
5316
+ expiresAt?: Date | undefined;
5317
+ /**
5318
+ * <p>The action Amazon ECS takes when the lifecycle hook times out. Valid values are <code>CONTINUE</code> and <code>ROLLBACK</code>.</p>
5319
+ * @public
5320
+ */
5321
+ timeoutAction?: DeploymentLifecycleHookAction | undefined;
5322
+ }
5231
5323
  /**
5232
5324
  * <p>Information about the service deployment rollback.</p>
5233
5325
  * @public
@@ -5355,6 +5447,11 @@ export interface ServiceDeployment {
5355
5447
  * @public
5356
5448
  */
5357
5449
  lifecycleStage?: ServiceDeploymentLifecycleStage | undefined;
5450
+ /**
5451
+ * <p>The details of the lifecycle hooks for the current service deployment.</p>
5452
+ * @public
5453
+ */
5454
+ lifecycleHookDetails?: DeploymentLifecycleHookDetail[] | undefined;
5358
5455
  /**
5359
5456
  * <p>Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.</p>
5360
5457
  * @public
@@ -6821,7 +6918,7 @@ export interface Service {
6821
6918
  */
6822
6919
  export interface CreateServiceResponse {
6823
6920
  /**
6824
- * <p>The full description of your service following the create call.</p> <p>A service will return either a <code>capacityProviderStrategy</code> or <code>launchType</code> parameter, but not both, depending where one was specified when it was created.</p> <p>If a service is using the <code>ECS</code> deployment controller, the <code>deploymentController</code> and <code>taskSets</code> parameters will not be returned.</p> <p>if the service uses the <code>CODE_DEPLOY</code> deployment controller, the <code>deploymentController</code>, <code>taskSets</code> and <code>deployments</code> parameters will be returned, however the <code>deployments</code> parameter will be an empty list.</p>
6921
+ * <p>The full description of your service following the create call.</p> <p>A service will return either a <code>capacityProviderStrategy</code> or <code>launchType</code> parameter, but not both, depending where one was specified when it was created.</p> <p>If a service is using the <code>ECS</code> deployment controller, the <code>deploymentController</code> and <code>taskSets</code> parameters will not be returned.</p> <p>if the service uses the <code>CODE_DEPLOY</code> deployment controller, the <code>deploymentController</code>, <code>taskSets</code> and <code>deployments</code> parameters will be returned, however the <code>deployments</code> parameter will be an empty list.</p> <p>The response includes a <code>lifecycleHookDetails</code> field, which is an empty array when the service is created or updated. The values are populated when a lifecycle hook executes and are available as part of the service deployment details (<a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeServiceDeployments.html">DescribeServiceDeployments</a>).</p>
6825
6922
  * @public
6826
6923
  */
6827
6924
  service?: Service | undefined;
@@ -7341,7 +7438,7 @@ export interface UpdateServiceRequest {
7341
7438
  */
7342
7439
  export interface UpdateServiceResponse {
7343
7440
  /**
7344
- * <p>The full description of your service following the update call.</p>
7441
+ * <p>The full description of your service following the update call.</p> <p>The response includes a <code>lifecycleHookDetails</code> field, which is an empty array when the service is created or updated. The values are populated when a lifecycle hook executes and are available as part of the service deployment details (<a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeServiceDeployments.html">DescribeServiceDeployments</a>).</p>
7345
7442
  * @public
7346
7443
  */
7347
7444
  service?: Service | undefined;
@@ -7958,48 +8055,3 @@ export interface ServiceRevision {
7958
8055
  */
7959
8056
  ecsManagedResources?: ECSManagedResources | undefined;
7960
8057
  }
7961
- /**
7962
- * @public
7963
- */
7964
- export interface DescribeServiceRevisionsResponse {
7965
- /**
7966
- * <p>The list of service revisions described.</p>
7967
- * @public
7968
- */
7969
- serviceRevisions?: ServiceRevision[] | undefined;
7970
- /**
7971
- * <p>Any failures associated with the call.</p>
7972
- * @public
7973
- */
7974
- failures?: Failure[] | undefined;
7975
- }
7976
- /**
7977
- * @public
7978
- */
7979
- export interface TagResourceRequest {
7980
- /**
7981
- * <p>The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the supported resources are Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container instances.</p> <p>In order to tag a service that has the following ARN format, you need to migrate the 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 ECS short service ARN to a long ARN</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p> <p> <code>arn:aws:ecs:region:aws_account_id:service/service-name</code> </p> <p>After the migration is complete, the service has the long ARN format, as shown below. Use this ARN to tag the service.</p> <p> <code>arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name</code> </p> <p>If you try to tag a service with a short ARN, you receive an <code>InvalidParameterException</code> error.</p>
7982
- * @public
7983
- */
7984
- resourceArn: string | undefined;
7985
- /**
7986
- * <p>The tags to add to the resource. A tag is an array of key-value pairs.</p> <p>The following basic restrictions apply to tags:</p> <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each resource, each tag key must be unique, and each tag key can have only one value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.</p> </li> </ul>
7987
- * @public
7988
- */
7989
- tags: Tag[] | undefined;
7990
- }
7991
- /**
7992
- * @public
7993
- */
7994
- export interface TagResourceResponse {
7995
- }
7996
- /**
7997
- * @public
7998
- */
7999
- export interface DeleteTaskDefinitionsRequest {
8000
- /**
8001
- * <p>The <code>family</code> and <code>revision</code> (<code>family:revision</code>) or full Amazon Resource Name (ARN) of the task definition to delete. You must specify a <code>revision</code>.</p> <p>You can specify up to 10 task definitions as a comma separated list.</p>
8002
- * @public
8003
- */
8004
- taskDefinitions: string[] | undefined;
8005
- }