@aws-sdk/client-ecs 3.840.0 → 3.845.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 (27) hide show
  1. package/dist-cjs/index.js +148 -4
  2. package/dist-es/models/models_0.js +25 -0
  3. package/dist-es/protocols/Aws_json1_1.js +121 -4
  4. package/dist-types/commands/CreateServiceCommand.d.ts +164 -39
  5. package/dist-types/commands/CreateTaskSetCommand.d.ts +12 -0
  6. package/dist-types/commands/DeleteServiceCommand.d.ts +32 -0
  7. package/dist-types/commands/DeleteTaskSetCommand.d.ts +6 -0
  8. package/dist-types/commands/DescribeServiceDeploymentsCommand.d.ts +13 -0
  9. package/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +22 -0
  10. package/dist-types/commands/DescribeServicesCommand.d.ts +32 -0
  11. package/dist-types/commands/DescribeTaskSetsCommand.d.ts +6 -0
  12. package/dist-types/commands/StopTaskCommand.d.ts +2 -1
  13. package/dist-types/commands/SubmitAttachmentStateChangesCommand.d.ts +1 -1
  14. package/dist-types/commands/SubmitContainerStateChangeCommand.d.ts +1 -1
  15. package/dist-types/commands/SubmitTaskStateChangeCommand.d.ts +1 -1
  16. package/dist-types/commands/UpdateServiceCommand.d.ts +61 -0
  17. package/dist-types/commands/UpdateServicePrimaryTaskSetCommand.d.ts +6 -0
  18. package/dist-types/commands/UpdateTaskSetCommand.d.ts +6 -0
  19. package/dist-types/models/models_0.d.ts +420 -272
  20. package/dist-types/models/models_1.d.ts +246 -1
  21. package/dist-types/ts3.4/commands/StopTaskCommand.d.ts +2 -1
  22. package/dist-types/ts3.4/commands/SubmitAttachmentStateChangesCommand.d.ts +1 -1
  23. package/dist-types/ts3.4/commands/SubmitContainerStateChangeCommand.d.ts +1 -1
  24. package/dist-types/ts3.4/commands/SubmitTaskStateChangeCommand.d.ts +1 -1
  25. package/dist-types/ts3.4/models/models_0.d.ts +68 -57
  26. package/dist-types/ts3.4/models/models_1.d.ts +62 -0
  27. package/package.json +14 -14
@@ -1,4 +1,5 @@
1
1
  import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
2
+ import { DocumentType as __DocumentType } from "@smithy/types";
2
3
  import { ECSServiceException as __BaseException } from "./ECSServiceException";
3
4
  /**
4
5
  * <p>You don't have authorization to perform the requested action.</p>
@@ -12,6 +13,35 @@ export declare class AccessDeniedException extends __BaseException {
12
13
  */
13
14
  constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>);
14
15
  }
16
+ /**
17
+ * <p>The advanced settings for a load balancer used in blue/green deployments. Specify the
18
+ * alternate target group, listener rules, and IAM role required for traffic shifting during
19
+ * blue/green deployments. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-deployment-implementation.html">Required resources for Amazon ECS
20
+ * blue/green deployments</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
21
+ * @public
22
+ */
23
+ export interface AdvancedConfiguration {
24
+ /**
25
+ * <p>The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments. </p>
26
+ * @public
27
+ */
28
+ alternateTargetGroupArn?: string | undefined;
29
+ /**
30
+ * <p>The Amazon Resource Name (ARN) that identifies the production listener rule for routing production traffic.</p>
31
+ * @public
32
+ */
33
+ productionListenerRule?: string | undefined;
34
+ /**
35
+ * <p>The Amazon Resource Name (ARN) that identifies the test listener rule or listener for routing test traffic.</p>
36
+ * @public
37
+ */
38
+ testListenerRule?: string | undefined;
39
+ /**
40
+ * <p>The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.</p>
41
+ * @public
42
+ */
43
+ roleArn?: string | undefined;
44
+ }
15
45
  /**
16
46
  * @public
17
47
  * @enum
@@ -1256,6 +1286,118 @@ export interface DeploymentCircuitBreaker {
1256
1286
  */
1257
1287
  rollback: boolean | undefined;
1258
1288
  }
1289
+ /**
1290
+ * @public
1291
+ * @enum
1292
+ */
1293
+ export declare const DeploymentLifecycleHookStage: {
1294
+ readonly POST_PRODUCTION_TRAFFIC_SHIFT: "POST_PRODUCTION_TRAFFIC_SHIFT";
1295
+ readonly POST_SCALE_UP: "POST_SCALE_UP";
1296
+ readonly POST_TEST_TRAFFIC_SHIFT: "POST_TEST_TRAFFIC_SHIFT";
1297
+ readonly PRE_SCALE_UP: "PRE_SCALE_UP";
1298
+ readonly PRODUCTION_TRAFFIC_SHIFT: "PRODUCTION_TRAFFIC_SHIFT";
1299
+ readonly RECONCILE_SERVICE: "RECONCILE_SERVICE";
1300
+ readonly TEST_TRAFFIC_SHIFT: "TEST_TRAFFIC_SHIFT";
1301
+ };
1302
+ /**
1303
+ * @public
1304
+ */
1305
+ export type DeploymentLifecycleHookStage = (typeof DeploymentLifecycleHookStage)[keyof typeof DeploymentLifecycleHookStage];
1306
+ /**
1307
+ * <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>
1308
+ * @public
1309
+ */
1310
+ export interface DeploymentLifecycleHook {
1311
+ /**
1312
+ * <p>The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.</p>
1313
+ * <p>You must provide this parameter when configuring a deployment lifecycle hook.</p>
1314
+ * @public
1315
+ */
1316
+ hookTargetArn?: string | undefined;
1317
+ /**
1318
+ * <p>The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.</p>
1319
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html">Permissions required
1320
+ * for Lambda functions in Amazon ECS blue/green deployments</a> in the<i>
1321
+ * Amazon Elastic Container Service Developer Guide</i>.</p>
1322
+ * @public
1323
+ */
1324
+ roleArn?: string | undefined;
1325
+ /**
1326
+ * <p>The lifecycle stages at which to run the hook. Choose from these valid values:</p>
1327
+ * <ul>
1328
+ * <li>
1329
+ * <p>RECONCILE_SERVICE</p>
1330
+ * <p>This stage only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.</p>
1331
+ * <p>You can use a lifecycle hook for this stage.</p>
1332
+ * </li>
1333
+ * <li>
1334
+ * <p>PRE_SCALE_UP</p>
1335
+ * <p>The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.</p>
1336
+ * <p>You can use a lifecycle hook for this stage.</p>
1337
+ * </li>
1338
+ * <li>
1339
+ * <p>SCALE_UP</p>
1340
+ * <p>The time when the green service revision scales up to 100% and launches new tasks. The green service revision is not serving any traffic at this point.</p>
1341
+ * <p>You can't use a lifecycle hook for this stage.</p>
1342
+ * </li>
1343
+ * <li>
1344
+ * <p>POST_SCALE_UP</p>
1345
+ * <p>The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.</p>
1346
+ * <p>You can use a lifecycle hook for this stage.</p>
1347
+ * </li>
1348
+ * <li>
1349
+ * <p>TEST_TRAFFIC_SHIFT</p>
1350
+ * <p>The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.</p>
1351
+ * <p>You can use a lifecycle hook for this stage.</p>
1352
+ * </li>
1353
+ * <li>
1354
+ * <p>POST_TEST_TRAFFIC_SHIFT</p>
1355
+ * <p>The test traffic shift is complete. The green service revision handles 100% of the test traffic.</p>
1356
+ * <p>You can use a lifecycle hook for this stage.</p>
1357
+ * </li>
1358
+ * <li>
1359
+ * <p>PRODUCTION_TRAFFIC_SHIFT</p>
1360
+ * <p>Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.</p>
1361
+ * <p>You can use a lifecycle hook for this stage.</p>
1362
+ * </li>
1363
+ * <li>
1364
+ * <p>POST_PRODUCTION_TRAFFIC_SHIFT</p>
1365
+ * <p>The production traffic shift is complete.</p>
1366
+ * <p>Yes</p>
1367
+ * </li>
1368
+ * <li>
1369
+ * <p>BAKE_TIME</p>
1370
+ * <p>The duration when both blue and green service revisions are running simultaneously.</p>
1371
+ * <p>You can't use a lifecycle hook for this stage.</p>
1372
+ * </li>
1373
+ * <li>
1374
+ * <p>CLEAN_UP</p>
1375
+ * <p>The blue service revision has completely scaled down to 0 running tasks. The green service revision is now the production service revision after this stage.</p>
1376
+ * <p>You can't use a lifecycle hook for this stage.</p>
1377
+ * </li>
1378
+ * </ul>
1379
+ * <p>You must provide this parameter when configuring a deployment lifecycle hook.</p>
1380
+ * @public
1381
+ */
1382
+ lifecycleStages?: DeploymentLifecycleHookStage[] | undefined;
1383
+ /**
1384
+ * <p>Optionally provide details about the hook. Use this field to pass custom parameters to your hook target (such as a Lambda function).</p>
1385
+ * @public
1386
+ */
1387
+ hookDetails?: __DocumentType | undefined;
1388
+ }
1389
+ /**
1390
+ * @public
1391
+ * @enum
1392
+ */
1393
+ export declare const DeploymentStrategy: {
1394
+ readonly BLUE_GREEN: "BLUE_GREEN";
1395
+ readonly ROLLING: "ROLLING";
1396
+ };
1397
+ /**
1398
+ * @public
1399
+ */
1400
+ export type DeploymentStrategy = (typeof DeploymentStrategy)[keyof typeof DeploymentStrategy];
1259
1401
  /**
1260
1402
  * <p>Optional deployment parameters that control how many tasks run during a deployment and
1261
1403
  * the ordering of stopping and starting tasks.</p>
@@ -1397,6 +1539,42 @@ export interface DeploymentConfiguration {
1397
1539
  * @public
1398
1540
  */
1399
1541
  alarms?: DeploymentAlarms | undefined;
1542
+ /**
1543
+ * <p>The deployment strategy for the service. Choose from these valid values:</p>
1544
+ * <ul>
1545
+ * <li>
1546
+ * <p>
1547
+ * <code>ROLLING</code> - When you create a service which uses the rolling update
1548
+ * (<code>ROLLING</code>) deployment strategy, the Amazon ECS service scheduler replaces
1549
+ * the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or
1550
+ * removes from the service during a rolling update is controlled by the service
1551
+ * deployment configuration.</p>
1552
+ * </li>
1553
+ * <li>
1554
+ * <p>
1555
+ * <code>BLUE_GREEN</code> - A blue/green deployment strategy
1556
+ * (<code>BLUE_GREEN</code>) is a release methodology that reduces downtime and risk
1557
+ * by running two identical production environments called blue and green. With Amazon ECS
1558
+ * blue/green deployments, you can validate new service revisions before directing
1559
+ * production traffic to them. This approach provides a safer way to deploy changes with
1560
+ * the ability to quickly roll back if needed.</p>
1561
+ * </li>
1562
+ * </ul>
1563
+ * @public
1564
+ */
1565
+ strategy?: DeploymentStrategy | undefined;
1566
+ /**
1567
+ * <p>The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.</p>
1568
+ * <p>You must provide this parameter when you use the <code>BLUE_GREEN</code> deployment
1569
+ * strategy.</p>
1570
+ * @public
1571
+ */
1572
+ bakeTimeInMinutes?: number | undefined;
1573
+ /**
1574
+ * <p>An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle. These hooks allow you to run custom logic at key points during the deployment process.</p>
1575
+ * @public
1576
+ */
1577
+ lifecycleHooks?: DeploymentLifecycleHook[] | undefined;
1400
1578
  }
1401
1579
  /**
1402
1580
  * @public
@@ -1418,35 +1596,111 @@ export type DeploymentControllerType = (typeof DeploymentControllerType)[keyof t
1418
1596
  export interface DeploymentController {
1419
1597
  /**
1420
1598
  * <p>The deployment controller type to use.</p>
1421
- * <p>There are three deployment controller types available:</p>
1422
- * <dl>
1423
- * <dt>ECS</dt>
1424
- * <dd>
1425
- * <p>The rolling update (<code>ECS</code>) deployment type involves replacing
1426
- * the current running version of the container with the latest version. The
1427
- * number of containers Amazon ECS adds or removes from the service during a rolling
1428
- * update is controlled by adjusting the minimum and maximum number of healthy
1429
- * tasks allowed during a service deployment, as specified in the <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeploymentConfiguration.html">DeploymentConfiguration</a>.</p>
1430
- * <p>For more information about rolling deployments, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html">Deploy
1431
- * Amazon ECS services by replacing tasks</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1432
- * </dd>
1433
- * <dt>CODE_DEPLOY</dt>
1434
- * <dd>
1435
- * <p>The blue/green (<code>CODE_DEPLOY</code>) deployment type uses the
1436
- * blue/green deployment model powered by CodeDeploy, which allows you to verify a
1437
- * new deployment of a service before sending production traffic to it.</p>
1438
- * <p>For more information about blue/green deployments, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html">Validate the state of an Amazon ECS service before deployment </a> in
1439
- * the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1440
- * </dd>
1441
- * <dt>EXTERNAL</dt>
1442
- * <dd>
1443
- * <p>The external (<code>EXTERNAL</code>) deployment type enables you to use
1444
- * any third-party deployment controller for full control over the deployment
1445
- * process for an Amazon ECS service.</p>
1446
- * <p>For more information about external deployments, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-external.html">Deploy Amazon ECS services using a third-party controller </a> in the
1447
- * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1448
- * </dd>
1449
- * </dl>
1599
+ * <p>The deployment controller is the mechanism that determines how tasks are deployed for
1600
+ * your service. The valid options are:</p>
1601
+ * <ul>
1602
+ * <li>
1603
+ * <p>ECS</p>
1604
+ * <p>When you create a service which uses the <code>ECS</code> deployment controller, you can choose between the following deployment strategies:</p>
1605
+ * <ul>
1606
+ * <li>
1607
+ * <p>
1608
+ * <code>ROLLING</code>: When you create a service which uses the <i>rolling update</i>
1609
+ * (<code>ROLLING</code>) deployment strategy, the Amazon ECS service scheduler replaces the
1610
+ * currently running tasks with new tasks. The number of tasks that Amazon ECS adds or
1611
+ * removes from the service during a rolling update is controlled by the service
1612
+ * deployment configuration. </p>
1613
+ * <p>Rolling update deployments are best suited for the following scenarios:</p>
1614
+ * <ul>
1615
+ * <li>
1616
+ * <p>Gradual service updates: You need to
1617
+ * update your service incrementally without taking the entire service
1618
+ * offline at once.</p>
1619
+ * </li>
1620
+ * <li>
1621
+ * <p>Limited resource requirements: You
1622
+ * want to avoid the additional resource costs of running two complete
1623
+ * environments simultaneously (as required by blue/green
1624
+ * deployments).</p>
1625
+ * </li>
1626
+ * <li>
1627
+ * <p>Acceptable deployment time: Your
1628
+ * application can tolerate a longer deployment process, as rolling updates
1629
+ * replace tasks one by one.</p>
1630
+ * </li>
1631
+ * <li>
1632
+ * <p>No need for instant roll back: Your
1633
+ * service can tolerate a rollback process that takes minutes rather than
1634
+ * seconds.</p>
1635
+ * </li>
1636
+ * <li>
1637
+ * <p>Simple deployment process: You prefer
1638
+ * a straightforward deployment approach without the complexity of managing
1639
+ * multiple environments, target groups, and listeners.</p>
1640
+ * </li>
1641
+ * <li>
1642
+ * <p>No load balancer requirement: Your
1643
+ * service doesn't use or require a load balancer, Application Load Balancer, Network Load Balancer, or Service Connect (which are required
1644
+ * for blue/green deployments).</p>
1645
+ * </li>
1646
+ * <li>
1647
+ * <p>Stateful applications: Your
1648
+ * application maintains state that makes it difficult to run two parallel
1649
+ * environments.</p>
1650
+ * </li>
1651
+ * <li>
1652
+ * <p>Cost sensitivity: You want to
1653
+ * minimize deployment costs by not running duplicate environments during
1654
+ * deployment.</p>
1655
+ * </li>
1656
+ * </ul>
1657
+ * <p>Rolling updates are the default deployment strategy for services and provide a
1658
+ * balance between deployment safety and resource efficiency for many common
1659
+ * application scenarios.</p>
1660
+ * </li>
1661
+ * <li>
1662
+ * <p>
1663
+ * <code>BLUE_GREEN</code>: A <i>blue/green</i> deployment strategy (<code>BLUE_GREEN</code>) is a release methodology that reduces downtime and
1664
+ * risk by running two identical production environments called blue and green.
1665
+ * With Amazon ECS blue/green deployments, you can validate new service revisions before
1666
+ * directing production traffic to them. This approach provides a safer way to
1667
+ * deploy changes with the ability to quickly roll back if needed.</p>
1668
+ * <p>Amazon ECS blue/green deployments are best suited for the following scenarios:</p>
1669
+ * <ul>
1670
+ * <li>
1671
+ * <p>Service validation: When you need to
1672
+ * validate new service revisions before directing production traffic to
1673
+ * them</p>
1674
+ * </li>
1675
+ * <li>
1676
+ * <p>Zero downtime: When your service
1677
+ * requires zero-downtime deployments</p>
1678
+ * </li>
1679
+ * <li>
1680
+ * <p>Instant roll back: When you
1681
+ * need the ability to quickly roll back if issues are detected</p>
1682
+ * </li>
1683
+ * <li>
1684
+ * <p>Load balancer requirement: When your
1685
+ * service uses Application Load Balancer, Network Load Balancer, or Service Connect</p>
1686
+ * </li>
1687
+ * </ul>
1688
+ * </li>
1689
+ * </ul>
1690
+ * </li>
1691
+ * <li>
1692
+ * <p>External</p>
1693
+ * <p>Use a third-party deployment controller.</p>
1694
+ * </li>
1695
+ * <li>
1696
+ * <p>Blue/green deployment (powered by CodeDeploy)</p>
1697
+ * <p>CodeDeploy installs an updated version of the application as a new replacement task
1698
+ * set and reroutes production traffic from the original application task set to
1699
+ * the replacement task set. The original task set is terminated after a successful
1700
+ * deployment. Use this deployment controller to verify a new deployment of a service
1701
+ * before sending production traffic to it.</p>
1702
+ * </li>
1703
+ * </ul>
1450
1704
  * @public
1451
1705
  */
1452
1706
  type: DeploymentControllerType | undefined;
@@ -1522,6 +1776,11 @@ export interface LoadBalancer {
1522
1776
  * @public
1523
1777
  */
1524
1778
  containerPort?: number | undefined;
1779
+ /**
1780
+ * <p>The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.</p>
1781
+ * @public
1782
+ */
1783
+ advancedConfiguration?: AdvancedConfiguration | undefined;
1525
1784
  }
1526
1785
  /**
1527
1786
  * @public
@@ -1999,6 +2258,51 @@ export interface LogConfiguration {
1999
2258
  */
2000
2259
  secretOptions?: Secret[] | undefined;
2001
2260
  }
2261
+ /**
2262
+ * <p>The header matching rules for test traffic routing in Amazon ECS blue/green deployments.
2263
+ * These rules determine how incoming requests are matched based on HTTP headers to route test
2264
+ * traffic to the new service revision.</p>
2265
+ * @public
2266
+ */
2267
+ export interface ServiceConnectTestTrafficHeaderMatchRules {
2268
+ /**
2269
+ * <p>The exact value that the HTTP header must match for the test traffic routing rule to apply. This provides precise control over which requests are routed to the new service revision during blue/green deployments.</p>
2270
+ * @public
2271
+ */
2272
+ exact: string | undefined;
2273
+ }
2274
+ /**
2275
+ * <p>The HTTP header rules used to identify and route test traffic during Amazon ECS blue/green
2276
+ * deployments. These rules specify which HTTP headers to examine and what values to match for
2277
+ * routing decisions.</p>
2278
+ * @public
2279
+ */
2280
+ export interface ServiceConnectTestTrafficHeaderRules {
2281
+ /**
2282
+ * <p>The name of the HTTP header to examine for test traffic routing. Common examples include custom headers like <code>X-Test-Version</code> or <code>X-Canary-Request</code> that can be used to identify test traffic.</p>
2283
+ * @public
2284
+ */
2285
+ name: string | undefined;
2286
+ /**
2287
+ * <p>The header value matching configuration that determines how the HTTP header value is evaluated for test traffic routing decisions.</p>
2288
+ * @public
2289
+ */
2290
+ value?: ServiceConnectTestTrafficHeaderMatchRules | undefined;
2291
+ }
2292
+ /**
2293
+ * <p>The test traffic routing configuration for Amazon ECS blue/green deployments. This
2294
+ * configuration allows you to define rules for routing specific traffic to the new service
2295
+ * revision during the deployment process, allowing for safe testing before full production
2296
+ * traffic shift.</p>
2297
+ * @public
2298
+ */
2299
+ export interface ServiceConnectTestTrafficRules {
2300
+ /**
2301
+ * <p>The HTTP header-based routing rules that determine which requests should be routed to the new service version during blue/green deployment testing. These rules provide fine-grained control over test traffic routing based on request headers.</p>
2302
+ * @public
2303
+ */
2304
+ header: ServiceConnectTestTrafficHeaderRules | undefined;
2305
+ }
2002
2306
  /**
2003
2307
  * <p>Each alias ("endpoint") is a fully-qualified name and port number that other tasks
2004
2308
  * ("clients") can use to connect to this service.</p>
@@ -2034,6 +2338,11 @@ export interface ServiceConnectClientAlias {
2034
2338
  * @public
2035
2339
  */
2036
2340
  dnsName?: string | undefined;
2341
+ /**
2342
+ * <p>The configuration for test traffic routing rules used during blue/green deployments with Amazon ECS Service Connect. This allows you to route a portion of traffic to the new service revision of your service for testing before shifting all production traffic.</p>
2343
+ * @public
2344
+ */
2345
+ testTrafficRules?: ServiceConnectTestTrafficRules | undefined;
2037
2346
  }
2038
2347
  /**
2039
2348
  * <p>An object that represents the timeout configurations for Service Connect.</p>
@@ -2857,7 +3166,7 @@ export interface CreateServiceRequest {
2857
3166
  * <p>Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For
2858
3167
  * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging your Amazon ECS
2859
3168
  * resources</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2860
- * <p>When you use Amazon ECS managed tags, you need to set the <code>propagateTags</code>
3169
+ * <p>When you use Amazon ECS managed tags, you must set the <code>propagateTags</code>
2861
3170
  * request parameter.</p>
2862
3171
  * @public
2863
3172
  */
@@ -2951,7 +3260,7 @@ export interface ServiceConnectServiceResource {
2951
3260
  */
2952
3261
  discoveryName?: string | undefined;
2953
3262
  /**
2954
- * <p>The Amazon Resource Name (ARN) for the namespace in Cloud Map that matches the discovery name for this
3263
+ * <p>The Amazon Resource Name (ARN) for the service in Cloud Map that matches the discovery name for this
2955
3264
  * Service Connect resource. You can use this ARN in other integrations with Cloud Map.
2956
3265
  * However, Service Connect can't ensure connectivity outside of Amazon ECS.</p>
2957
3266
  * @public
@@ -7725,6 +8034,26 @@ export interface ServiceDeploymentCircuitBreaker {
7725
8034
  */
7726
8035
  threshold?: number | undefined;
7727
8036
  }
8037
+ /**
8038
+ * @public
8039
+ * @enum
8040
+ */
8041
+ export declare const ServiceDeploymentLifecycleStage: {
8042
+ readonly BAKE_TIME: "BAKE_TIME";
8043
+ readonly CLEAN_UP: "CLEAN_UP";
8044
+ readonly POST_PRODUCTION_TRAFFIC_SHIFT: "POST_PRODUCTION_TRAFFIC_SHIFT";
8045
+ readonly POST_SCALE_UP: "POST_SCALE_UP";
8046
+ readonly POST_TEST_TRAFFIC_SHIFT: "POST_TEST_TRAFFIC_SHIFT";
8047
+ readonly PRE_SCALE_UP: "PRE_SCALE_UP";
8048
+ readonly PRODUCTION_TRAFFIC_SHIFT: "PRODUCTION_TRAFFIC_SHIFT";
8049
+ readonly RECONCILE_SERVICE: "RECONCILE_SERVICE";
8050
+ readonly SCALE_UP: "SCALE_UP";
8051
+ readonly TEST_TRAFFIC_SHIFT: "TEST_TRAFFIC_SHIFT";
8052
+ };
8053
+ /**
8054
+ * @public
8055
+ */
8056
+ export type ServiceDeploymentLifecycleStage = (typeof ServiceDeploymentLifecycleStage)[keyof typeof ServiceDeploymentLifecycleStage];
7728
8057
  /**
7729
8058
  * <p>Information about the service deployment rollback.</p>
7730
8059
  * @public
@@ -7879,6 +8208,33 @@ export interface ServiceDeployment {
7879
8208
  * @public
7880
8209
  */
7881
8210
  statusReason?: string | undefined;
8211
+ /**
8212
+ * <p>The current lifecycle stage of the deployment. Possible values include:</p>
8213
+ * <ul>
8214
+ * <li>
8215
+ * <p>
8216
+ * <code>SCALE_UP_IN_PROGRESS</code> - Creating the new (green) tasks</p>
8217
+ * </li>
8218
+ * <li>
8219
+ * <p>
8220
+ * <code>TEST_TRAFFIC_SHIFT_IN_PROGRESS</code> - Shifting test traffic to the new (green) tasks</p>
8221
+ * </li>
8222
+ * <li>
8223
+ * <p>
8224
+ * <code>PRODUCTION_TRAFFIC_SHIFT_IN_PROGRESS</code> - Shifting production traffic to the new (green) tasks</p>
8225
+ * </li>
8226
+ * <li>
8227
+ * <p>
8228
+ * <code>BAKE_TIME_IN_PROGRESS</code> - The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted</p>
8229
+ * </li>
8230
+ * <li>
8231
+ * <p>
8232
+ * <code>CLEAN_UP_IN_PROGRESS</code> - Stopping the old (blue) tasks</p>
8233
+ * </li>
8234
+ * </ul>
8235
+ * @public
8236
+ */
8237
+ lifecycleStage?: ServiceDeploymentLifecycleStage | undefined;
7882
8238
  /**
7883
8239
  * <p>Optional deployment parameters that control how many tasks run during a deployment and
7884
8240
  * the ordering of stopping and starting tasks.</p>
@@ -7959,6 +8315,33 @@ export interface ContainerImage {
7959
8315
  */
7960
8316
  image?: string | undefined;
7961
8317
  }
8318
+ /**
8319
+ * <p>The resolved load balancer configuration for a service revision. This includes information about which target groups serve traffic and which listener rules direct traffic to them.</p>
8320
+ * @public
8321
+ */
8322
+ export interface ServiceRevisionLoadBalancer {
8323
+ /**
8324
+ * <p>The Amazon Resource Name (ARN) of the target group associated with the service revision.</p>
8325
+ * @public
8326
+ */
8327
+ targetGroupArn?: string | undefined;
8328
+ /**
8329
+ * <p>The Amazon Resource Name (ARN) of the production listener rule or listener that directs traffic to the target group associated with the service revision.</p>
8330
+ * @public
8331
+ */
8332
+ productionListenerRule?: string | undefined;
8333
+ }
8334
+ /**
8335
+ * <p>The resolved configuration for a service revision, which contains the actual resources your service revision uses, such as which target groups serve traffic.</p>
8336
+ * @public
8337
+ */
8338
+ export interface ResolvedConfiguration {
8339
+ /**
8340
+ * <p>The resolved load balancer configuration for the service revision. This includes information about which target groups serve traffic and which listener rules direct traffic to them.</p>
8341
+ * @public
8342
+ */
8343
+ loadBalancers?: ServiceRevisionLoadBalancer[] | undefined;
8344
+ }
7962
8345
  /**
7963
8346
  * <p>Information about the service revision.</p>
7964
8347
  * <p>A service revision contains a record of the workload configuration Amazon ECS is attempting
@@ -8070,6 +8453,11 @@ export interface ServiceRevision {
8070
8453
  * @public
8071
8454
  */
8072
8455
  vpcLatticeConfigurations?: VpcLatticeConfiguration[] | undefined;
8456
+ /**
8457
+ * <p>The resolved configuration for the service revision which contains the actual resources your service revision uses, such as which target groups serve traffic.</p>
8458
+ * @public
8459
+ */
8460
+ resolvedConfiguration?: ResolvedConfiguration | undefined;
8073
8461
  }
8074
8462
  /**
8075
8463
  * @public
@@ -8232,7 +8620,7 @@ export type TaskField = (typeof TaskField)[keyof typeof TaskField];
8232
8620
  export interface DescribeTasksRequest {
8233
8621
  /**
8234
8622
  * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to
8235
- * describe. If you do not specify a cluster, the default cluster is assumed. This parameter is required. If you do not specify a
8623
+ * describe. If you do not specify a cluster, the default cluster is assumed. If you do not specify a
8236
8624
  * value, the <code>default</code> cluster is used.</p>
8237
8625
  * @public
8238
8626
  */
@@ -11830,246 +12218,6 @@ export interface StopTaskRequest {
11830
12218
  */
11831
12219
  reason?: string | undefined;
11832
12220
  }
11833
- /**
11834
- * @public
11835
- */
11836
- export interface StopTaskResponse {
11837
- /**
11838
- * <p>The task that was stopped.</p>
11839
- * @public
11840
- */
11841
- task?: Task | undefined;
11842
- }
11843
- /**
11844
- * <p>An object representing a change in state for a task attachment.</p>
11845
- * @public
11846
- */
11847
- export interface AttachmentStateChange {
11848
- /**
11849
- * <p>The Amazon Resource Name (ARN) of the attachment.</p>
11850
- * @public
11851
- */
11852
- attachmentArn: string | undefined;
11853
- /**
11854
- * <p>The status of the attachment.</p>
11855
- * @public
11856
- */
11857
- status: string | undefined;
11858
- }
11859
- /**
11860
- * @public
11861
- */
11862
- export interface SubmitAttachmentStateChangesRequest {
11863
- /**
11864
- * <p>The short name or full ARN of the cluster that hosts the container instance the
11865
- * attachment belongs to.</p>
11866
- * @public
11867
- */
11868
- cluster?: string | undefined;
11869
- /**
11870
- * <p>Any attachments associated with the state change request.</p>
11871
- * @public
11872
- */
11873
- attachments: AttachmentStateChange[] | undefined;
11874
- }
11875
- /**
11876
- * @public
11877
- */
11878
- export interface SubmitAttachmentStateChangesResponse {
11879
- /**
11880
- * <p>Acknowledgement of the state change.</p>
11881
- * @public
11882
- */
11883
- acknowledgment?: string | undefined;
11884
- }
11885
- /**
11886
- * @public
11887
- */
11888
- export interface SubmitContainerStateChangeRequest {
11889
- /**
11890
- * <p>The short name or full ARN of the cluster that hosts the container.</p>
11891
- * @public
11892
- */
11893
- cluster?: string | undefined;
11894
- /**
11895
- * <p>The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.</p>
11896
- * @public
11897
- */
11898
- task?: string | undefined;
11899
- /**
11900
- * <p>The name of the container.</p>
11901
- * @public
11902
- */
11903
- containerName?: string | undefined;
11904
- /**
11905
- * <p>The ID of the Docker container.</p>
11906
- * @public
11907
- */
11908
- runtimeId?: string | undefined;
11909
- /**
11910
- * <p>The status of the state change request.</p>
11911
- * @public
11912
- */
11913
- status?: string | undefined;
11914
- /**
11915
- * <p>The exit code that's returned for the state change request.</p>
11916
- * @public
11917
- */
11918
- exitCode?: number | undefined;
11919
- /**
11920
- * <p>The reason for the state change request.</p>
11921
- * @public
11922
- */
11923
- reason?: string | undefined;
11924
- /**
11925
- * <p>The network bindings of the container.</p>
11926
- * @public
11927
- */
11928
- networkBindings?: NetworkBinding[] | undefined;
11929
- }
11930
- /**
11931
- * @public
11932
- */
11933
- export interface SubmitContainerStateChangeResponse {
11934
- /**
11935
- * <p>Acknowledgement of the state change.</p>
11936
- * @public
11937
- */
11938
- acknowledgment?: string | undefined;
11939
- }
11940
- /**
11941
- * <p>An object that represents a change in state for a container.</p>
11942
- * @public
11943
- */
11944
- export interface ContainerStateChange {
11945
- /**
11946
- * <p>The name of the container.</p>
11947
- * @public
11948
- */
11949
- containerName?: string | undefined;
11950
- /**
11951
- * <p>The container image SHA 256 digest.</p>
11952
- * @public
11953
- */
11954
- imageDigest?: string | undefined;
11955
- /**
11956
- * <p>The ID of the Docker container.</p>
11957
- * @public
11958
- */
11959
- runtimeId?: string | undefined;
11960
- /**
11961
- * <p>The exit code for the container, if the state change is a result of the container
11962
- * exiting.</p>
11963
- * @public
11964
- */
11965
- exitCode?: number | undefined;
11966
- /**
11967
- * <p>Any network bindings that are associated with the container.</p>
11968
- * @public
11969
- */
11970
- networkBindings?: NetworkBinding[] | undefined;
11971
- /**
11972
- * <p>The reason for the state change.</p>
11973
- * @public
11974
- */
11975
- reason?: string | undefined;
11976
- /**
11977
- * <p>The status of the container.</p>
11978
- * @public
11979
- */
11980
- status?: string | undefined;
11981
- }
11982
- /**
11983
- * <p>An object representing a change in state for a managed agent.</p>
11984
- * @public
11985
- */
11986
- export interface ManagedAgentStateChange {
11987
- /**
11988
- * <p>The name of the container that's associated with the managed agent.</p>
11989
- * @public
11990
- */
11991
- containerName: string | undefined;
11992
- /**
11993
- * <p>The name of the managed agent.</p>
11994
- * @public
11995
- */
11996
- managedAgentName: ManagedAgentName | undefined;
11997
- /**
11998
- * <p>The status of the managed agent.</p>
11999
- * @public
12000
- */
12001
- status: string | undefined;
12002
- /**
12003
- * <p>The reason for the status of the managed agent.</p>
12004
- * @public
12005
- */
12006
- reason?: string | undefined;
12007
- }
12008
- /**
12009
- * @public
12010
- */
12011
- export interface SubmitTaskStateChangeRequest {
12012
- /**
12013
- * <p>The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.</p>
12014
- * @public
12015
- */
12016
- cluster?: string | undefined;
12017
- /**
12018
- * <p>The task ID or full ARN of the task in the state change request.</p>
12019
- * @public
12020
- */
12021
- task?: string | undefined;
12022
- /**
12023
- * <p>The status of the state change request.</p>
12024
- * @public
12025
- */
12026
- status?: string | undefined;
12027
- /**
12028
- * <p>The reason for the state change request.</p>
12029
- * @public
12030
- */
12031
- reason?: string | undefined;
12032
- /**
12033
- * <p>Any containers that's associated with the state change request.</p>
12034
- * @public
12035
- */
12036
- containers?: ContainerStateChange[] | undefined;
12037
- /**
12038
- * <p>Any attachments associated with the state change request.</p>
12039
- * @public
12040
- */
12041
- attachments?: AttachmentStateChange[] | undefined;
12042
- /**
12043
- * <p>The details for the managed agent that's associated with the task.</p>
12044
- * @public
12045
- */
12046
- managedAgents?: ManagedAgentStateChange[] | undefined;
12047
- /**
12048
- * <p>The Unix timestamp for the time when the container image pull started.</p>
12049
- * @public
12050
- */
12051
- pullStartedAt?: Date | undefined;
12052
- /**
12053
- * <p>The Unix timestamp for the time when the container image pull completed.</p>
12054
- * @public
12055
- */
12056
- pullStoppedAt?: Date | undefined;
12057
- /**
12058
- * <p>The Unix timestamp for the time when the task execution stopped.</p>
12059
- * @public
12060
- */
12061
- executionStoppedAt?: Date | undefined;
12062
- }
12063
- /**
12064
- * @public
12065
- */
12066
- export interface SubmitTaskStateChangeResponse {
12067
- /**
12068
- * <p>Acknowledgement of the state change.</p>
12069
- * @public
12070
- */
12071
- acknowledgment?: string | undefined;
12072
- }
12073
12221
  /**
12074
12222
  * @internal
12075
12223
  */