@aws-sdk/client-ecs 3.844.0 → 3.846.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 +33 -0
  2. package/dist-es/models/models_0.js +25 -0
  3. package/dist-es/protocols/Aws_json1_1.js +2 -0
  4. package/dist-types/commands/CreateServiceCommand.d.ts +165 -39
  5. package/dist-types/commands/CreateTaskSetCommand.d.ts +12 -0
  6. package/dist-types/commands/DeleteServiceCommand.d.ts +31 -0
  7. package/dist-types/commands/DeleteTaskSetCommand.d.ts +6 -0
  8. package/dist-types/commands/DescribeServiceDeploymentsCommand.d.ts +12 -0
  9. package/dist-types/commands/DescribeServiceRevisionsCommand.d.ts +22 -0
  10. package/dist-types/commands/DescribeServicesCommand.d.ts +31 -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 +59 -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 +428 -274
  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 +66 -57
  26. package/dist-types/ts3.4/models/models_1.d.ts +62 -0
  27. package/package.json +11 -11
@@ -12,6 +12,37 @@ export declare class AccessDeniedException extends __BaseException {
12
12
  */
13
13
  constructor(opts: __ExceptionOptionType<AccessDeniedException, __BaseException>);
14
14
  }
15
+ /**
16
+ * <p>The advanced settings for a load balancer used in blue/green deployments. Specify the
17
+ * alternate target group, listener rules, and IAM role required for traffic shifting during
18
+ * 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
19
+ * blue/green deployments</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
20
+ * @public
21
+ */
22
+ export interface AdvancedConfiguration {
23
+ /**
24
+ * <p>The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.</p>
25
+ * @public
26
+ */
27
+ alternateTargetGroupArn?: string | undefined;
28
+ /**
29
+ * <p>The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or
30
+ * listener (in the case for an Network Load Balancer) for routing production traffic.</p>
31
+ * @public
32
+ */
33
+ productionListenerRule?: string | undefined;
34
+ /**
35
+ * <p>The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or
36
+ * listener (in the case for an Network Load Balancer) for routing test traffic.</p>
37
+ * @public
38
+ */
39
+ testListenerRule?: string | undefined;
40
+ /**
41
+ * <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>
42
+ * @public
43
+ */
44
+ roleArn?: string | undefined;
45
+ }
15
46
  /**
16
47
  * @public
17
48
  * @enum
@@ -1199,8 +1230,7 @@ export type AvailabilityZoneRebalancing = (typeof AvailabilityZoneRebalancing)[k
1199
1230
  * rollback parameter to have Amazon ECS to roll back your service to the last completed
1200
1231
  * deployment after a failure.</p>
1201
1232
  * <p>You can only use the <code>DeploymentAlarms</code> method to detect failures when the
1202
- * <code>DeploymentController</code> is set to <code>ECS</code> (rolling
1203
- * update).</p>
1233
+ * <code>DeploymentController</code> is set to <code>ECS</code>.</p>
1204
1234
  * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html">Rolling
1205
1235
  * update</a> in the <i>
1206
1236
  * <i>Amazon Elastic Container Service Developer Guide</i>
@@ -1256,6 +1286,100 @@ 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
+ * <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>
1309
+ * Amazon Elastic Container Service Developer Guide</i>.</p>
1310
+ * @public
1311
+ */
1312
+ export interface DeploymentLifecycleHook {
1313
+ /**
1314
+ * <p>The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.</p>
1315
+ * <p>You must provide this parameter when configuring a deployment lifecycle hook.</p>
1316
+ * @public
1317
+ */
1318
+ hookTargetArn?: string | undefined;
1319
+ /**
1320
+ * <p>The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.</p>
1321
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html">Permissions required
1322
+ * for Lambda functions in Amazon ECS blue/green deployments</a> in the <i>
1323
+ * Amazon Elastic Container Service Developer Guide</i>.</p>
1324
+ * @public
1325
+ */
1326
+ roleArn?: string | undefined;
1327
+ /**
1328
+ * <p>The lifecycle stages at which to run the hook. Choose from these valid values:</p>
1329
+ * <ul>
1330
+ * <li>
1331
+ * <p>RECONCILE_SERVICE</p>
1332
+ * <p>The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.</p>
1333
+ * <p>You can use a lifecycle hook for this stage.</p>
1334
+ * </li>
1335
+ * <li>
1336
+ * <p>PRE_SCALE_UP</p>
1337
+ * <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>
1338
+ * <p>You can use a lifecycle hook for this stage.</p>
1339
+ * </li>
1340
+ * <li>
1341
+ * <p>POST_SCALE_UP</p>
1342
+ * <p>The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.</p>
1343
+ * <p>You can use a lifecycle hook for this stage.</p>
1344
+ * </li>
1345
+ * <li>
1346
+ * <p>TEST_TRAFFIC_SHIFT</p>
1347
+ * <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>
1348
+ * <p>You can use a lifecycle hook for this stage.</p>
1349
+ * </li>
1350
+ * <li>
1351
+ * <p>POST_TEST_TRAFFIC_SHIFT</p>
1352
+ * <p>The test traffic shift is complete. The green service revision handles 100% of the test traffic.</p>
1353
+ * <p>You can use a lifecycle hook for this stage.</p>
1354
+ * </li>
1355
+ * <li>
1356
+ * <p>PRODUCTION_TRAFFIC_SHIFT</p>
1357
+ * <p>Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.</p>
1358
+ * <p>You can use a lifecycle hook for this stage.</p>
1359
+ * </li>
1360
+ * <li>
1361
+ * <p>POST_PRODUCTION_TRAFFIC_SHIFT</p>
1362
+ * <p>The production traffic shift is complete.</p>
1363
+ * <p>You can use a lifecycle hook for this stage.</p>
1364
+ * </li>
1365
+ * </ul>
1366
+ * <p>You must provide this parameter when configuring a deployment lifecycle hook.</p>
1367
+ * @public
1368
+ */
1369
+ lifecycleStages?: DeploymentLifecycleHookStage[] | undefined;
1370
+ }
1371
+ /**
1372
+ * @public
1373
+ * @enum
1374
+ */
1375
+ export declare const DeploymentStrategy: {
1376
+ readonly BLUE_GREEN: "BLUE_GREEN";
1377
+ readonly ROLLING: "ROLLING";
1378
+ };
1379
+ /**
1380
+ * @public
1381
+ */
1382
+ export type DeploymentStrategy = (typeof DeploymentStrategy)[keyof typeof DeploymentStrategy];
1259
1383
  /**
1260
1384
  * <p>Optional deployment parameters that control how many tasks run during a deployment and
1261
1385
  * the ordering of stopping and starting tasks.</p>
@@ -1397,6 +1521,42 @@ export interface DeploymentConfiguration {
1397
1521
  * @public
1398
1522
  */
1399
1523
  alarms?: DeploymentAlarms | undefined;
1524
+ /**
1525
+ * <p>The deployment strategy for the service. Choose from these valid values:</p>
1526
+ * <ul>
1527
+ * <li>
1528
+ * <p>
1529
+ * <code>ROLLING</code> - When you create a service which uses the rolling update
1530
+ * (<code>ROLLING</code>) deployment strategy, the Amazon ECS service scheduler replaces
1531
+ * the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or
1532
+ * removes from the service during a rolling update is controlled by the service
1533
+ * deployment configuration.</p>
1534
+ * </li>
1535
+ * <li>
1536
+ * <p>
1537
+ * <code>BLUE_GREEN</code> - A blue/green deployment strategy
1538
+ * (<code>BLUE_GREEN</code>) is a release methodology that reduces downtime and risk
1539
+ * by running two identical production environments called blue and green. With Amazon ECS
1540
+ * blue/green deployments, you can validate new service revisions before directing
1541
+ * production traffic to them. This approach provides a safer way to deploy changes with
1542
+ * the ability to quickly roll back if needed.</p>
1543
+ * </li>
1544
+ * </ul>
1545
+ * @public
1546
+ */
1547
+ strategy?: DeploymentStrategy | undefined;
1548
+ /**
1549
+ * <p>The time period when both blue and green service revisions are running simultaneously after the production traffic has shifted.</p>
1550
+ * <p>You must provide this parameter when you use the <code>BLUE_GREEN</code> deployment
1551
+ * strategy.</p>
1552
+ * @public
1553
+ */
1554
+ bakeTimeInMinutes?: number | undefined;
1555
+ /**
1556
+ * <p>An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.</p>
1557
+ * @public
1558
+ */
1559
+ lifecycleHooks?: DeploymentLifecycleHook[] | undefined;
1400
1560
  }
1401
1561
  /**
1402
1562
  * @public
@@ -1418,35 +1578,111 @@ export type DeploymentControllerType = (typeof DeploymentControllerType)[keyof t
1418
1578
  export interface DeploymentController {
1419
1579
  /**
1420
1580
  * <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>
1581
+ * <p>The deployment controller is the mechanism that determines how tasks are deployed for
1582
+ * your service. The valid options are:</p>
1583
+ * <ul>
1584
+ * <li>
1585
+ * <p>ECS</p>
1586
+ * <p>When you create a service which uses the <code>ECS</code> deployment controller, you can choose between the following deployment strategies:</p>
1587
+ * <ul>
1588
+ * <li>
1589
+ * <p>
1590
+ * <code>ROLLING</code>: When you create a service which uses the <i>rolling update</i>
1591
+ * (<code>ROLLING</code>) deployment strategy, the Amazon ECS service scheduler replaces the
1592
+ * currently running tasks with new tasks. The number of tasks that Amazon ECS adds or
1593
+ * removes from the service during a rolling update is controlled by the service
1594
+ * deployment configuration. </p>
1595
+ * <p>Rolling update deployments are best suited for the following scenarios:</p>
1596
+ * <ul>
1597
+ * <li>
1598
+ * <p>Gradual service updates: You need to
1599
+ * update your service incrementally without taking the entire service
1600
+ * offline at once.</p>
1601
+ * </li>
1602
+ * <li>
1603
+ * <p>Limited resource requirements: You
1604
+ * want to avoid the additional resource costs of running two complete
1605
+ * environments simultaneously (as required by blue/green
1606
+ * deployments).</p>
1607
+ * </li>
1608
+ * <li>
1609
+ * <p>Acceptable deployment time: Your
1610
+ * application can tolerate a longer deployment process, as rolling updates
1611
+ * replace tasks one by one.</p>
1612
+ * </li>
1613
+ * <li>
1614
+ * <p>No need for instant roll back: Your
1615
+ * service can tolerate a rollback process that takes minutes rather than
1616
+ * seconds.</p>
1617
+ * </li>
1618
+ * <li>
1619
+ * <p>Simple deployment process: You prefer
1620
+ * a straightforward deployment approach without the complexity of managing
1621
+ * multiple environments, target groups, and listeners.</p>
1622
+ * </li>
1623
+ * <li>
1624
+ * <p>No load balancer requirement: Your
1625
+ * service doesn't use or require a load balancer, Application Load Balancer, Network Load Balancer, or Service Connect (which are required
1626
+ * for blue/green deployments).</p>
1627
+ * </li>
1628
+ * <li>
1629
+ * <p>Stateful applications: Your
1630
+ * application maintains state that makes it difficult to run two parallel
1631
+ * environments.</p>
1632
+ * </li>
1633
+ * <li>
1634
+ * <p>Cost sensitivity: You want to
1635
+ * minimize deployment costs by not running duplicate environments during
1636
+ * deployment.</p>
1637
+ * </li>
1638
+ * </ul>
1639
+ * <p>Rolling updates are the default deployment strategy for services and provide a
1640
+ * balance between deployment safety and resource efficiency for many common
1641
+ * application scenarios.</p>
1642
+ * </li>
1643
+ * <li>
1644
+ * <p>
1645
+ * <code>BLUE_GREEN</code>: A <i>blue/green</i> deployment strategy (<code>BLUE_GREEN</code>) is a release methodology that reduces downtime and
1646
+ * risk by running two identical production environments called blue and green.
1647
+ * With Amazon ECS blue/green deployments, you can validate new service revisions before
1648
+ * directing production traffic to them. This approach provides a safer way to
1649
+ * deploy changes with the ability to quickly roll back if needed.</p>
1650
+ * <p>Amazon ECS blue/green deployments are best suited for the following scenarios:</p>
1651
+ * <ul>
1652
+ * <li>
1653
+ * <p>Service validation: When you need to
1654
+ * validate new service revisions before directing production traffic to
1655
+ * them</p>
1656
+ * </li>
1657
+ * <li>
1658
+ * <p>Zero downtime: When your service
1659
+ * requires zero-downtime deployments</p>
1660
+ * </li>
1661
+ * <li>
1662
+ * <p>Instant roll back: When you
1663
+ * need the ability to quickly roll back if issues are detected</p>
1664
+ * </li>
1665
+ * <li>
1666
+ * <p>Load balancer requirement: When your
1667
+ * service uses Application Load Balancer, Network Load Balancer, or Service Connect</p>
1668
+ * </li>
1669
+ * </ul>
1670
+ * </li>
1671
+ * </ul>
1672
+ * </li>
1673
+ * <li>
1674
+ * <p>External</p>
1675
+ * <p>Use a third-party deployment controller.</p>
1676
+ * </li>
1677
+ * <li>
1678
+ * <p>Blue/green deployment (powered by CodeDeploy)</p>
1679
+ * <p>CodeDeploy installs an updated version of the application as a new replacement task
1680
+ * set and reroutes production traffic from the original application task set to
1681
+ * the replacement task set. The original task set is terminated after a successful
1682
+ * deployment. Use this deployment controller to verify a new deployment of a service
1683
+ * before sending production traffic to it.</p>
1684
+ * </li>
1685
+ * </ul>
1450
1686
  * @public
1451
1687
  */
1452
1688
  type: DeploymentControllerType | undefined;
@@ -1522,6 +1758,11 @@ export interface LoadBalancer {
1522
1758
  * @public
1523
1759
  */
1524
1760
  containerPort?: number | undefined;
1761
+ /**
1762
+ * <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>
1763
+ * @public
1764
+ */
1765
+ advancedConfiguration?: AdvancedConfiguration | undefined;
1525
1766
  }
1526
1767
  /**
1527
1768
  * @public
@@ -1999,6 +2240,55 @@ export interface LogConfiguration {
1999
2240
  */
2000
2241
  secretOptions?: Secret[] | undefined;
2001
2242
  }
2243
+ /**
2244
+ * <p>The header matching rules for test traffic routing in Amazon ECS blue/green deployments.
2245
+ * These rules determine how incoming requests are matched based on HTTP headers to route test
2246
+ * traffic to the new service revision.</p>
2247
+ * @public
2248
+ */
2249
+ export interface ServiceConnectTestTrafficHeaderMatchRules {
2250
+ /**
2251
+ * <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>
2252
+ * @public
2253
+ */
2254
+ exact: string | undefined;
2255
+ }
2256
+ /**
2257
+ * <p>The HTTP header rules used to identify and route test traffic during Amazon ECS blue/green
2258
+ * deployments. These rules specify which HTTP headers to examine and what values to match for
2259
+ * routing decisions.</p>
2260
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-blue-green.html">Service Connect for Amazon ECS blue/green deployments</a> in the <i>
2261
+ * Amazon Elastic Container Service Developer Guide</i>.</p>
2262
+ * @public
2263
+ */
2264
+ export interface ServiceConnectTestTrafficHeaderRules {
2265
+ /**
2266
+ * <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>
2267
+ * @public
2268
+ */
2269
+ name: string | undefined;
2270
+ /**
2271
+ * <p>The header value matching configuration that determines how the HTTP header value is evaluated for test traffic routing decisions.</p>
2272
+ * @public
2273
+ */
2274
+ value?: ServiceConnectTestTrafficHeaderMatchRules | undefined;
2275
+ }
2276
+ /**
2277
+ * <p>The test traffic routing configuration for Amazon ECS blue/green deployments. This
2278
+ * configuration allows you to define rules for routing specific traffic to the new service
2279
+ * revision during the deployment process, allowing for safe testing before full production
2280
+ * traffic shift.</p>
2281
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-blue-green.html">Service Connect for Amazon ECS blue/green deployments</a> in the <i>
2282
+ * Amazon Elastic Container Service Developer Guide</i>.</p>
2283
+ * @public
2284
+ */
2285
+ export interface ServiceConnectTestTrafficRules {
2286
+ /**
2287
+ * <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>
2288
+ * @public
2289
+ */
2290
+ header: ServiceConnectTestTrafficHeaderRules | undefined;
2291
+ }
2002
2292
  /**
2003
2293
  * <p>Each alias ("endpoint") is a fully-qualified name and port number that other tasks
2004
2294
  * ("clients") can use to connect to this service.</p>
@@ -2034,6 +2324,11 @@ export interface ServiceConnectClientAlias {
2034
2324
  * @public
2035
2325
  */
2036
2326
  dnsName?: string | undefined;
2327
+ /**
2328
+ * <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>
2329
+ * @public
2330
+ */
2331
+ testTrafficRules?: ServiceConnectTestTrafficRules | undefined;
2037
2332
  }
2038
2333
  /**
2039
2334
  * <p>An object that represents the timeout configurations for Service Connect.</p>
@@ -2857,7 +3152,7 @@ export interface CreateServiceRequest {
2857
3152
  * <p>Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For
2858
3153
  * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging your Amazon ECS
2859
3154
  * 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>
3155
+ * <p>When you use Amazon ECS managed tags, you must set the <code>propagateTags</code>
2861
3156
  * request parameter.</p>
2862
3157
  * @public
2863
3158
  */
@@ -2951,7 +3246,7 @@ export interface ServiceConnectServiceResource {
2951
3246
  */
2952
3247
  discoveryName?: string | undefined;
2953
3248
  /**
2954
- * <p>The Amazon Resource Name (ARN) for the namespace in Cloud Map that matches the discovery name for this
3249
+ * <p>The Amazon Resource Name (ARN) for the service in Cloud Map that matches the discovery name for this
2955
3250
  * Service Connect resource. You can use this ARN in other integrations with Cloud Map.
2956
3251
  * However, Service Connect can't ensure connectivity outside of Amazon ECS.</p>
2957
3252
  * @public
@@ -7725,6 +8020,26 @@ export interface ServiceDeploymentCircuitBreaker {
7725
8020
  */
7726
8021
  threshold?: number | undefined;
7727
8022
  }
8023
+ /**
8024
+ * @public
8025
+ * @enum
8026
+ */
8027
+ export declare const ServiceDeploymentLifecycleStage: {
8028
+ readonly BAKE_TIME: "BAKE_TIME";
8029
+ readonly CLEAN_UP: "CLEAN_UP";
8030
+ readonly POST_PRODUCTION_TRAFFIC_SHIFT: "POST_PRODUCTION_TRAFFIC_SHIFT";
8031
+ readonly POST_SCALE_UP: "POST_SCALE_UP";
8032
+ readonly POST_TEST_TRAFFIC_SHIFT: "POST_TEST_TRAFFIC_SHIFT";
8033
+ readonly PRE_SCALE_UP: "PRE_SCALE_UP";
8034
+ readonly PRODUCTION_TRAFFIC_SHIFT: "PRODUCTION_TRAFFIC_SHIFT";
8035
+ readonly RECONCILE_SERVICE: "RECONCILE_SERVICE";
8036
+ readonly SCALE_UP: "SCALE_UP";
8037
+ readonly TEST_TRAFFIC_SHIFT: "TEST_TRAFFIC_SHIFT";
8038
+ };
8039
+ /**
8040
+ * @public
8041
+ */
8042
+ export type ServiceDeploymentLifecycleStage = (typeof ServiceDeploymentLifecycleStage)[keyof typeof ServiceDeploymentLifecycleStage];
7728
8043
  /**
7729
8044
  * <p>Information about the service deployment rollback.</p>
7730
8045
  * @public
@@ -7879,6 +8194,53 @@ export interface ServiceDeployment {
7879
8194
  * @public
7880
8195
  */
7881
8196
  statusReason?: string | undefined;
8197
+ /**
8198
+ * <p>The current lifecycle stage of the deployment. Possible values include:</p>
8199
+ * <ul>
8200
+ * <li>
8201
+ * <p>RECONCILE_SERVICE</p>
8202
+ * <p>The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.</p>
8203
+ * </li>
8204
+ * <li>
8205
+ * <p>PRE_SCALE_UP</p>
8206
+ * <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>
8207
+ * </li>
8208
+ * <li>
8209
+ * <p>SCALE_UP</p>
8210
+ * <p>The stage 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>
8211
+ * </li>
8212
+ * <li>
8213
+ * <p>POST_SCALE_UP</p>
8214
+ * <p>The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.</p>
8215
+ * </li>
8216
+ * <li>
8217
+ * <p>TEST_TRAFFIC_SHIFT</p>
8218
+ * <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>
8219
+ * </li>
8220
+ * <li>
8221
+ * <p>POST_TEST_TRAFFIC_SHIFT</p>
8222
+ * <p>The test traffic shift is complete. The green service revision handles 100% of the test traffic.</p>
8223
+ * </li>
8224
+ * <li>
8225
+ * <p>PRODUCTION_TRAFFIC_SHIFT</p>
8226
+ * <p>Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.</p>
8227
+ * </li>
8228
+ * <li>
8229
+ * <p>POST_PRODUCTION_TRAFFIC_SHIFT</p>
8230
+ * <p>The production traffic shift is complete.</p>
8231
+ * </li>
8232
+ * <li>
8233
+ * <p>BAKE_TIME</p>
8234
+ * <p>The stage when both blue and green service revisions are running simultaneously after the production traffic has shifted.</p>
8235
+ * </li>
8236
+ * <li>
8237
+ * <p>CLEAN_UP</p>
8238
+ * <p>The stage when 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>
8239
+ * </li>
8240
+ * </ul>
8241
+ * @public
8242
+ */
8243
+ lifecycleStage?: ServiceDeploymentLifecycleStage | undefined;
7882
8244
  /**
7883
8245
  * <p>Optional deployment parameters that control how many tasks run during a deployment and
7884
8246
  * the ordering of stopping and starting tasks.</p>
@@ -7959,6 +8321,33 @@ export interface ContainerImage {
7959
8321
  */
7960
8322
  image?: string | undefined;
7961
8323
  }
8324
+ /**
8325
+ * <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>
8326
+ * @public
8327
+ */
8328
+ export interface ServiceRevisionLoadBalancer {
8329
+ /**
8330
+ * <p>The Amazon Resource Name (ARN) of the target group associated with the service revision.</p>
8331
+ * @public
8332
+ */
8333
+ targetGroupArn?: string | undefined;
8334
+ /**
8335
+ * <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>
8336
+ * @public
8337
+ */
8338
+ productionListenerRule?: string | undefined;
8339
+ }
8340
+ /**
8341
+ * <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>
8342
+ * @public
8343
+ */
8344
+ export interface ResolvedConfiguration {
8345
+ /**
8346
+ * <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>
8347
+ * @public
8348
+ */
8349
+ loadBalancers?: ServiceRevisionLoadBalancer[] | undefined;
8350
+ }
7962
8351
  /**
7963
8352
  * <p>Information about the service revision.</p>
7964
8353
  * <p>A service revision contains a record of the workload configuration Amazon ECS is attempting
@@ -8070,6 +8459,11 @@ export interface ServiceRevision {
8070
8459
  * @public
8071
8460
  */
8072
8461
  vpcLatticeConfigurations?: VpcLatticeConfiguration[] | undefined;
8462
+ /**
8463
+ * <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>
8464
+ * @public
8465
+ */
8466
+ resolvedConfiguration?: ResolvedConfiguration | undefined;
8073
8467
  }
8074
8468
  /**
8075
8469
  * @public
@@ -8232,7 +8626,7 @@ export type TaskField = (typeof TaskField)[keyof typeof TaskField];
8232
8626
  export interface DescribeTasksRequest {
8233
8627
  /**
8234
8628
  * <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
8629
+ * describe. If you do not specify a cluster, the default cluster is assumed. If you do not specify a
8236
8630
  * value, the <code>default</code> cluster is used.</p>
8237
8631
  * @public
8238
8632
  */
@@ -11830,246 +12224,6 @@ export interface StopTaskRequest {
11830
12224
  */
11831
12225
  reason?: string | undefined;
11832
12226
  }
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
12227
  /**
12074
12228
  * @internal
12075
12229
  */