@aws-sdk/client-ecs 3.216.0 → 3.222.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 (35) hide show
  1. package/dist-cjs/ECS.js +15 -0
  2. package/dist-cjs/commands/ListServicesByNamespaceCommand.js +46 -0
  3. package/dist-cjs/commands/index.js +1 -0
  4. package/dist-cjs/models/models_0.js +79 -25
  5. package/dist-cjs/pagination/ListServicesByNamespacePaginator.js +36 -0
  6. package/dist-cjs/pagination/index.js +1 -0
  7. package/dist-cjs/protocols/Aws_json1_1.js +233 -3
  8. package/dist-es/ECS.js +15 -0
  9. package/dist-es/commands/ListServicesByNamespaceCommand.js +42 -0
  10. package/dist-es/commands/index.js +1 -0
  11. package/dist-es/models/models_0.js +62 -17
  12. package/dist-es/pagination/ListServicesByNamespacePaginator.js +32 -0
  13. package/dist-es/pagination/index.js +1 -0
  14. package/dist-es/protocols/Aws_json1_1.js +229 -1
  15. package/dist-types/ECS.d.ts +25 -9
  16. package/dist-types/ECSClient.d.ts +3 -2
  17. package/dist-types/commands/CreateServiceCommand.d.ts +2 -3
  18. package/dist-types/commands/ExecuteCommandCommand.d.ts +1 -1
  19. package/dist-types/commands/ListServicesByNamespaceCommand.d.ts +41 -0
  20. package/dist-types/commands/UpdateContainerAgentCommand.d.ts +5 -0
  21. package/dist-types/commands/UpdateTaskProtectionCommand.d.ts +6 -5
  22. package/dist-types/commands/index.d.ts +1 -0
  23. package/dist-types/models/models_0.d.ts +610 -147
  24. package/dist-types/pagination/ListServicesByNamespacePaginator.d.ts +4 -0
  25. package/dist-types/pagination/index.d.ts +1 -0
  26. package/dist-types/protocols/Aws_json1_1.d.ts +3 -0
  27. package/dist-types/ts3.4/ECS.d.ts +17 -0
  28. package/dist-types/ts3.4/ECSClient.d.ts +6 -0
  29. package/dist-types/ts3.4/commands/ListServicesByNamespaceCommand.d.ts +41 -0
  30. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  31. package/dist-types/ts3.4/models/models_0.d.ts +107 -23
  32. package/dist-types/ts3.4/pagination/ListServicesByNamespacePaginator.d.ts +11 -0
  33. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  34. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +12 -0
  35. package/package.json +30 -29
@@ -72,7 +72,7 @@ export interface ManagedScaling {
72
72
  /**
73
73
  * <p>The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale
74
74
  * in process is not affected by this parameter. If this parameter is omitted, the default
75
- * value of <code>10000</code> is used.</p>
75
+ * value of <code>1</code> is used.</p>
76
76
  */
77
77
  maximumScalingStepSize?: number;
78
78
  /**
@@ -504,6 +504,39 @@ export interface CapacityProviderStrategyItem {
504
504
  */
505
505
  base?: number;
506
506
  }
507
+ /**
508
+ * <p>Use this parameter to set a default Service Connect namespace. After you set a default
509
+ * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
510
+ * client services in the namespace. This setting only applies to new services that set the <code>enabled</code> parameter to
511
+ * <code>true</code> in the <code>ServiceConnectConfiguration</code>.
512
+ * You can set the namespace of each service individually in the <code>ServiceConnectConfiguration</code> to override this default
513
+ * parameter.</p>
514
+ * <p>Tasks that run in a namespace can use short names to connect
515
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
516
+ * Tasks connect through a managed proxy container
517
+ * that collects logs and metrics for increased visibility.
518
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
519
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
520
+ */
521
+ export interface ClusterServiceConnectDefaultsRequest {
522
+ /**
523
+ * <p>The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace that's used when you create a service
524
+ * and don't specify a Service Connect configuration. Up to 1024 characters are allowed. The
525
+ * name is case-sensitive. The characters can't include hyphens (-), tilde (~), greater than
526
+ * (>), less than (<), or slash (/).</p>
527
+ * <p>If you enter an existing namespace name or ARN, then that namespace will be used. Any
528
+ * namespace type is supported. The namespace must be in this account and this Amazon Web Services Region.</p>
529
+ * <p>If you enter a new name, a Cloud Map namespace will be created. Amazon ECS creates a
530
+ * Cloud Map namespace with the "API calls" method of instance discovery only. This instance
531
+ * discovery method is the "HTTP" namespace type in the Command Line Interface. Other types of
532
+ * instance discovery aren't used by Service Connect.</p>
533
+ * <p>If you update the service with an empty string <code>""</code> for the namespace name,
534
+ * the cluster configuration for Service Connect is removed. Note that the namespace will
535
+ * remain in Cloud Map and must be deleted separately.</p>
536
+ * <p>For more information about Cloud Map, see <a href="https://docs.aws.amazon.com/">Working with Services</a> in the <i>Cloud Map Developer Guide</i>.</p>
537
+ */
538
+ namespace: string | undefined;
539
+ }
507
540
  export declare enum ClusterSettingName {
508
541
  CONTAINER_INSIGHTS = "containerInsights"
509
542
  }
@@ -608,6 +641,21 @@ export interface CreateClusterRequest {
608
641
  * API operation.</p>
609
642
  */
610
643
  defaultCapacityProviderStrategy?: CapacityProviderStrategyItem[];
644
+ /**
645
+ * <p>Use this parameter to set a default Service Connect namespace. After you set a default
646
+ * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
647
+ * client services in the namespace. This setting only applies to new services that set the <code>enabled</code> parameter to
648
+ * <code>true</code> in the <code>ServiceConnectConfiguration</code>.
649
+ * You can set the namespace of each service individually in the <code>ServiceConnectConfiguration</code> to override this default
650
+ * parameter.</p>
651
+ * <p>Tasks that run in a namespace can use short names to connect
652
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
653
+ * Tasks connect through a managed proxy container
654
+ * that collects logs and metrics for increased visibility.
655
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
656
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
657
+ */
658
+ serviceConnectDefaults?: ClusterServiceConnectDefaultsRequest;
611
659
  }
612
660
  /**
613
661
  * <p>A key-value pair object.</p>
@@ -649,6 +697,27 @@ export interface Attachment {
649
697
  */
650
698
  details?: KeyValuePair[];
651
699
  }
700
+ /**
701
+ * <p>Use this parameter to set a default Service Connect namespace. After you set a default
702
+ * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
703
+ * client services in the namespace. This setting only applies to new services that set the <code>enabled</code> parameter to
704
+ * <code>true</code> in the <code>ServiceConnectConfiguration</code>.
705
+ * You can set the namespace of each service individually in the <code>ServiceConnectConfiguration</code> to override this default
706
+ * parameter.</p>
707
+ * <p>Tasks that run in a namespace can use short names to connect
708
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
709
+ * Tasks connect through a managed proxy container
710
+ * that collects logs and metrics for increased visibility.
711
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
712
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
713
+ */
714
+ export interface ClusterServiceConnectDefaults {
715
+ /**
716
+ * <p>The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you create a service
717
+ * and don't specify a Service Connect configuration, this namespace is used.</p>
718
+ */
719
+ namespace?: string;
720
+ }
652
721
  /**
653
722
  * <p>A regional grouping of one or more container instances where you can run task
654
723
  * requests. Each account receives a default cluster the first time you use the Amazon ECS
@@ -828,6 +897,21 @@ export interface Cluster {
828
897
  * </dl>
829
898
  */
830
899
  attachmentsStatus?: string;
900
+ /**
901
+ * <p>Use this parameter to set a default Service Connect namespace. After you set a default
902
+ * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
903
+ * client services in the namespace. This setting only applies to new services that set the <code>enabled</code> parameter to
904
+ * <code>true</code> in the <code>ServiceConnectConfiguration</code>.
905
+ * You can set the namespace of each service individually in the <code>ServiceConnectConfiguration</code> to override this default
906
+ * parameter.</p>
907
+ * <p>Tasks that run in a namespace can use short names to connect
908
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
909
+ * Tasks connect through a managed proxy container
910
+ * that collects logs and metrics for increased visibility.
911
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
912
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
913
+ */
914
+ serviceConnectDefaults?: ClusterServiceConnectDefaults;
831
915
  }
832
916
  export interface CreateClusterResponse {
833
917
  /**
@@ -1181,6 +1265,281 @@ export declare enum SchedulingStrategy {
1181
1265
  DAEMON = "DAEMON",
1182
1266
  REPLICA = "REPLICA"
1183
1267
  }
1268
+ export declare enum LogDriver {
1269
+ AWSFIRELENS = "awsfirelens",
1270
+ AWSLOGS = "awslogs",
1271
+ FLUENTD = "fluentd",
1272
+ GELF = "gelf",
1273
+ JOURNALD = "journald",
1274
+ JSON_FILE = "json-file",
1275
+ SPLUNK = "splunk",
1276
+ SYSLOG = "syslog"
1277
+ }
1278
+ /**
1279
+ * <p>An object representing the secret to expose to your container. Secrets can be exposed
1280
+ * to a container in the following ways:</p>
1281
+ * <ul>
1282
+ * <li>
1283
+ * <p>To inject sensitive data into your containers as environment variables, use
1284
+ * the <code>secrets</code> container definition parameter.</p>
1285
+ * </li>
1286
+ * <li>
1287
+ * <p>To reference sensitive information in the log configuration of a container,
1288
+ * use the <code>secretOptions</code> container definition parameter.</p>
1289
+ * </li>
1290
+ * </ul>
1291
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html">Specifying
1292
+ * sensitive data</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1293
+ */
1294
+ export interface Secret {
1295
+ /**
1296
+ * <p>The name of the secret.</p>
1297
+ */
1298
+ name: string | undefined;
1299
+ /**
1300
+ * <p>The secret to expose to the container. The supported values are either the full ARN
1301
+ * of the Secrets Manager secret or the full ARN of the parameter in the SSM Parameter
1302
+ * Store.</p>
1303
+ * <p>For information about the require Identity and Access Management permissions, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html#secrets-iam">Required IAM permissions for Amazon ECS secrets</a> (for Secrets Manager) or <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-parameters.html">Required IAM permissions for Amazon ECS secrets</a> (for Systems Manager Parameter
1304
+ * store) in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1305
+ * <note>
1306
+ * <p>If the SSM Parameter Store parameter exists in the same Region as the task
1307
+ * you're launching, then you can use either the full ARN or name of the parameter.
1308
+ * If the parameter exists in a different Region, then the full ARN must be
1309
+ * specified.</p>
1310
+ * </note>
1311
+ */
1312
+ valueFrom: string | undefined;
1313
+ }
1314
+ /**
1315
+ * <p>The log configuration for the container. This parameter maps to <code>LogConfig</code>
1316
+ * in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
1317
+ * <code>--log-driver</code> option to <a href="https://docs.docker.com/engine/reference/commandline/run/">
1318
+ * <code>docker
1319
+ * run</code>
1320
+ * </a>.</p>
1321
+ * <p>By default, containers use the same logging driver that the Docker daemon uses.
1322
+ * However, the container might use a different logging driver than the Docker daemon by
1323
+ * specifying a log driver configuration in the container definition. For more information
1324
+ * about the options for different supported log drivers, see <a href="https://docs.docker.com/engine/admin/logging/overview/">Configure logging
1325
+ * drivers</a> in the Docker documentation.</p>
1326
+ * <p>Understand the following when specifying a log configuration for your
1327
+ * containers.</p>
1328
+ * <ul>
1329
+ * <li>
1330
+ * <p>Amazon ECS currently supports a subset of the logging drivers available to the
1331
+ * Docker daemon (shown in the valid values below). Additional log drivers may be
1332
+ * available in future releases of the Amazon ECS container agent.</p>
1333
+ * </li>
1334
+ * <li>
1335
+ * <p>This parameter requires version 1.18 of the Docker Remote API or greater on
1336
+ * your container instance.</p>
1337
+ * </li>
1338
+ * <li>
1339
+ * <p>For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must
1340
+ * register the available logging drivers with the
1341
+ * <code>ECS_AVAILABLE_LOGGING_DRIVERS</code> environment variable before
1342
+ * containers placed on that instance can use these log configuration options. For
1343
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html">Amazon ECS container agent configuration</a> in the
1344
+ * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1345
+ * </li>
1346
+ * <li>
1347
+ * <p>For tasks that are on Fargate, because you don't have access to the
1348
+ * underlying infrastructure your tasks are hosted on, any additional software
1349
+ * needed must be installed outside of the task. For example, the Fluentd output
1350
+ * aggregators or a remote host running Logstash to send Gelf logs to.</p>
1351
+ * </li>
1352
+ * </ul>
1353
+ */
1354
+ export interface LogConfiguration {
1355
+ /**
1356
+ * <p>The log driver to use for the container.</p>
1357
+ * <p>For tasks on Fargate, the supported log drivers are <code>awslogs</code>,
1358
+ * <code>splunk</code>, and <code>awsfirelens</code>.</p>
1359
+ * <p>For tasks hosted on Amazon EC2 instances, the supported log drivers are
1360
+ * <code>awslogs</code>, <code>fluentd</code>, <code>gelf</code>,
1361
+ * <code>json-file</code>, <code>journald</code>,
1362
+ * <code>logentries</code>,<code>syslog</code>, <code>splunk</code>, and
1363
+ * <code>awsfirelens</code>.</p>
1364
+ * <p>For more information about using the <code>awslogs</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html">Using
1365
+ * the awslogs log driver</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1366
+ * <p>For more information about using the <code>awsfirelens</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html">Custom log routing</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1367
+ * <note>
1368
+ * <p>If you have a custom driver that isn't listed, you can fork the Amazon ECS container
1369
+ * agent project that's <a href="https://github.com/aws/amazon-ecs-agent">available
1370
+ * on GitHub</a> and customize it to work with that driver. We encourage you to
1371
+ * submit pull requests for changes that you would like to have included. However, we
1372
+ * don't currently provide support for running modified copies of this software.</p>
1373
+ * </note>
1374
+ */
1375
+ logDriver: LogDriver | string | undefined;
1376
+ /**
1377
+ * <p>The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: <code>sudo docker version --format '{{.Server.APIVersion}}'</code>
1378
+ * </p>
1379
+ */
1380
+ options?: Record<string, string>;
1381
+ /**
1382
+ * <p>The secrets to pass to the log configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html">Specifying
1383
+ * sensitive data</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1384
+ */
1385
+ secretOptions?: Secret[];
1386
+ }
1387
+ /**
1388
+ * <p>Each alias ("endpoint") is a fully-qualified name and port number that other
1389
+ * tasks ("clients") can use to connect to this service.</p>
1390
+ * <p>Each name and port mapping must be unique within the namespace.</p>
1391
+ * <p>Tasks that run in a namespace can use short names to connect
1392
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
1393
+ * Tasks connect through a managed proxy container
1394
+ * that collects logs and metrics for increased visibility.
1395
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
1396
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1397
+ */
1398
+ export interface ServiceConnectClientAlias {
1399
+ /**
1400
+ * <p>The listening port number for the Service Connect proxy. This port is
1401
+ * available inside of all of the tasks within the same namespace.</p>
1402
+ * <p>To avoid changing your applications in client Amazon ECS services, set this
1403
+ * to the same port that the client application uses by default.
1404
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1405
+ */
1406
+ port: number | undefined;
1407
+ /**
1408
+ * <p>The <code>dnsName</code> is the name that you use in the applications
1409
+ * of client tasks to connect to this service.
1410
+ * The name must be a valid DNS name but doesn't need to be fully-qualified.
1411
+ * Up to 127 characters are allowed. The characters can include lowercase letters,
1412
+ * numbers, underscores (_), hyphens (-), and periods (.). A hyphen can't be
1413
+ * the first character.</p>
1414
+ * <p>If this parameter isn't specified,
1415
+ * the default value of <code>discoveryName.namespace</code> is used.
1416
+ * If the <code>discoveryName</code> isn't specified, the <code>portName.namespace</code>
1417
+ * from the task definition is used.</p>
1418
+ * <p>To avoid changing your applications in client Amazon ECS services, set this
1419
+ * to the same name that the client application uses by default. For example, a few common names
1420
+ * are <code>database</code>, <code>db</code>, or the lowercase name of a database,
1421
+ * such as <code>mysql</code> or <code>redis</code>.
1422
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1423
+ */
1424
+ dnsName?: string;
1425
+ }
1426
+ /**
1427
+ * <p>The Service Connect service object configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1428
+ */
1429
+ export interface ServiceConnectService {
1430
+ /**
1431
+ * <p>The <code>portName</code> must match the name of one of the
1432
+ * <code>portMappings</code> from all the containers in the task
1433
+ * definition of this Amazon ECS service.</p>
1434
+ */
1435
+ portName: string | undefined;
1436
+ /**
1437
+ * <p>The <code>discoveryName</code> is the name of the new Cloud Map service that Amazon ECS creates
1438
+ * for this Amazon ECS service. This must be unique within the Cloud Map namespace. Up to 64 characters are allowed. The characters can include lowercase letters,
1439
+ * numbers, underscores (_), and hyphens (-). A hyphen can't be the first character.</p>
1440
+ * <p>If this field isn't specified, <code>portName</code> is used.</p>
1441
+ */
1442
+ discoveryName?: string;
1443
+ /**
1444
+ * <p>The list of client aliases for this Service Connect service. You use these to assign
1445
+ * names that can be used by client applications. The maximum number of client aliases
1446
+ * that you can have in this list is 1.</p>
1447
+ * <p>Each alias ("endpoint") is a fully-qualified name and port number that other Amazon ECS
1448
+ * tasks ("clients") can use to connect to this service.</p>
1449
+ * <p>Each name and port mapping must be unique within the namespace.</p>
1450
+ * <p>For each <code>ServiceConnectService</code>, you must provide at least one <code>clientAlias</code> with one <code>port</code>.</p>
1451
+ */
1452
+ clientAliases?: ServiceConnectClientAlias[];
1453
+ /**
1454
+ * <p>The port number for the Service Connect proxy to listen on.</p>
1455
+ * <p>Use the value of this field to bypass the proxy for traffic on the port number
1456
+ * specified in the named <code>portMapping</code> in the task definition of this application, and
1457
+ * then use it in your VPC security groups to allow traffic into the proxy for
1458
+ * this Amazon ECS service.</p>
1459
+ * <p>In <code>awsvpc</code> mode and Fargate, the default value is the container port number. The container port number is in the
1460
+ * <code>portMapping</code> in the task definition. In bridge mode,
1461
+ * the default value is the ephemeral port of the Service Connect proxy.</p>
1462
+ */
1463
+ ingressPortOverride?: number;
1464
+ }
1465
+ /**
1466
+ * <p>The Service Connect configuration of your Amazon ECS service. The configuration for
1467
+ * this service to discover and connect to services, and be discovered by, and
1468
+ * connected from, other services within a namespace.</p>
1469
+ * <p>Tasks that run in a namespace can use short names to connect
1470
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
1471
+ * Tasks connect through a managed proxy container
1472
+ * that collects logs and metrics for increased visibility.
1473
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
1474
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1475
+ */
1476
+ export interface ServiceConnectConfiguration {
1477
+ /**
1478
+ * <p>Specifies whether to use Service Connect with this service.</p>
1479
+ */
1480
+ enabled: boolean | undefined;
1481
+ /**
1482
+ * <p>The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace for use with Service Connect. The
1483
+ * namespace must be in the same Amazon Web Services Region as the Amazon ECS service and
1484
+ * cluster. The type of namespace doesn't affect Service Connect.
1485
+ * For more information about Cloud Map, see <a href="https://docs.aws.amazon.com/">Working with Services</a> in the <i>Cloud Map Developer Guide</i>.</p>
1486
+ */
1487
+ namespace?: string;
1488
+ /**
1489
+ * <p>The list of Service Connect service objects. These are names and aliases (also known as endpoints)
1490
+ * that are used by other Amazon ECS services to connect to this service. You can specify up to
1491
+ * X (30?) objects per Amazon ECS service.</p>
1492
+ * <p>This field is not required for a "client" Amazon ECS service that's a member of a
1493
+ * namespace only to connect to other services within the namespace. An example of this
1494
+ * would be a frontend application that accepts incoming requests
1495
+ * from either a load balancer that's attached to the service or by other means.</p>
1496
+ * <p>An object selects a port from the task definition, assigns a name for the
1497
+ * Cloud Map service, and a list of aliases (endpoints) and ports for
1498
+ * client applications to refer to this service.</p>
1499
+ */
1500
+ services?: ServiceConnectService[];
1501
+ /**
1502
+ * <p>The log configuration for the container. This parameter maps to <code>LogConfig</code>
1503
+ * in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
1504
+ * <code>--log-driver</code> option to <a href="https://docs.docker.com/engine/reference/commandline/run/">
1505
+ * <code>docker
1506
+ * run</code>
1507
+ * </a>.</p>
1508
+ * <p>By default, containers use the same logging driver that the Docker daemon uses.
1509
+ * However, the container might use a different logging driver than the Docker daemon by
1510
+ * specifying a log driver configuration in the container definition. For more information
1511
+ * about the options for different supported log drivers, see <a href="https://docs.docker.com/engine/admin/logging/overview/">Configure logging
1512
+ * drivers</a> in the Docker documentation.</p>
1513
+ * <p>Understand the following when specifying a log configuration for your
1514
+ * containers.</p>
1515
+ * <ul>
1516
+ * <li>
1517
+ * <p>Amazon ECS currently supports a subset of the logging drivers available to the
1518
+ * Docker daemon (shown in the valid values below). Additional log drivers may be
1519
+ * available in future releases of the Amazon ECS container agent.</p>
1520
+ * </li>
1521
+ * <li>
1522
+ * <p>This parameter requires version 1.18 of the Docker Remote API or greater on
1523
+ * your container instance.</p>
1524
+ * </li>
1525
+ * <li>
1526
+ * <p>For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must
1527
+ * register the available logging drivers with the
1528
+ * <code>ECS_AVAILABLE_LOGGING_DRIVERS</code> environment variable before
1529
+ * containers placed on that instance can use these log configuration options. For
1530
+ * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html">Amazon ECS container agent configuration</a> in the
1531
+ * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1532
+ * </li>
1533
+ * <li>
1534
+ * <p>For tasks that are on Fargate, because you don't have access to the
1535
+ * underlying infrastructure your tasks are hosted on, any additional software
1536
+ * needed must be installed outside of the task. For example, the Fluentd output
1537
+ * aggregators or a remote host running Logstash to send Gelf logs to.</p>
1538
+ * </li>
1539
+ * </ul>
1540
+ */
1541
+ logConfiguration?: LogConfiguration;
1542
+ }
1184
1543
  /**
1185
1544
  * <p>The details for the service registry.</p>
1186
1545
  * <p>Each service may be associated with one service registry. Multiple service registries
@@ -1395,8 +1754,8 @@ export interface CreateServiceRequest {
1395
1754
  * service is configured to use a load balancer. If your service has a load balancer
1396
1755
  * defined and you don't specify a health check grace period value, the default value of
1397
1756
  * <code>0</code> is used.</p>
1398
- * <p>If you do not use an Elastic Load Balancing, we recomend that you use the <code>startPeriod</code> in
1399
- * the task definition healtch check parameters. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html">Health
1757
+ * <p>If you do not use an Elastic Load Balancing, we recommend that you use the <code>startPeriod</code> in the
1758
+ * task definition health check parameters. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html">Health
1400
1759
  * check</a>.</p>
1401
1760
  * <p>If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you
1402
1761
  * can specify a health check grace period of up to
@@ -1498,12 +1857,49 @@ export interface CreateServiceRequest {
1498
1857
  * the service tasks.</p>
1499
1858
  */
1500
1859
  enableExecuteCommand?: boolean;
1860
+ /**
1861
+ * <p>The configuration for this service to discover and connect to
1862
+ * services, and be discovered by, and connected from, other services within a namespace.</p>
1863
+ * <p>Tasks that run in a namespace can use short names to connect
1864
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
1865
+ * Tasks connect through a managed proxy container
1866
+ * that collects logs and metrics for increased visibility.
1867
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
1868
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
1869
+ */
1870
+ serviceConnectConfiguration?: ServiceConnectConfiguration;
1501
1871
  }
1502
1872
  export declare enum DeploymentRolloutState {
1503
1873
  COMPLETED = "COMPLETED",
1504
1874
  FAILED = "FAILED",
1505
1875
  IN_PROGRESS = "IN_PROGRESS"
1506
1876
  }
1877
+ /**
1878
+ * <p>The Service Connect resource. Each configuration maps a discovery name to a Cloud Map service name.
1879
+ * The data is stored in Cloud Map as part of the Service Connect configuration
1880
+ * for each discovery name of this Amazon ECS service.</p>
1881
+ * <p>A task can resolve the <code>dnsName</code> for each of the
1882
+ * <code>clientAliases</code> of a service. However a task can't resolve the discovery names.
1883
+ * If you want to connect to a service, refer to the
1884
+ * <code>ServiceConnectConfiguration</code> of
1885
+ * that service for the list of <code>clientAliases</code> that you can use.</p>
1886
+ */
1887
+ export interface ServiceConnectServiceResource {
1888
+ /**
1889
+ * <p>The discovery name of this Service Connect resource.</p>
1890
+ * <p>The <code>discoveryName</code> is the name of the new Cloud Map service that Amazon ECS creates
1891
+ * for this Amazon ECS service. This must be unique within the Cloud Map namespace. Up to 64 characters are allowed. The characters can include lowercase letters,
1892
+ * numbers, underscores (_), and hyphens (-). A hyphen can't be the first character.</p>
1893
+ * <p>If this field isn't specified, <code>portName</code> is used.</p>
1894
+ */
1895
+ discoveryName?: string;
1896
+ /**
1897
+ * <p>The Amazon Resource Name (ARN) for the namespace in Cloud Map that matches the discovery name
1898
+ * for this Service Connect resource. You can use this ARN in other integrations
1899
+ * with Cloud Map. However, Service Connect can't ensure connectivity outside of Amazon ECS.</p>
1900
+ */
1901
+ discoveryArn?: string;
1902
+ }
1507
1903
  /**
1508
1904
  * <p>The details of an Amazon ECS service deployment. This is used only when a service uses the
1509
1905
  * <code>ECS</code> deployment controller type.</p>
@@ -1618,6 +2014,25 @@ export interface Deployment {
1618
2014
  * <p>A description of the rollout state of a deployment.</p>
1619
2015
  */
1620
2016
  rolloutStateReason?: string;
2017
+ /**
2018
+ * <p>The details of the Service Connect configuration that's used by this deployment. Compare the
2019
+ * configuration between multiple deployments when troubleshooting issues with new
2020
+ * deployments.</p>
2021
+ * <p>The configuration for this service to discover and connect to
2022
+ * services, and be discovered by, and connected from, other services within a namespace.</p>
2023
+ * <p>Tasks that run in a namespace can use short names to connect
2024
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
2025
+ * Tasks connect through a managed proxy container
2026
+ * that collects logs and metrics for increased visibility.
2027
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
2028
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
2029
+ */
2030
+ serviceConnectConfiguration?: ServiceConnectConfiguration;
2031
+ /**
2032
+ * <p>The list of Service Connect resources that are associated with this deployment.
2033
+ * Each list entry maps a discovery name to a Cloud Map service name.</p>
2034
+ */
2035
+ serviceConnectResources?: ServiceConnectServiceResource[];
1621
2036
  }
1622
2037
  /**
1623
2038
  * <p>The details for an event that's associated with a service.</p>
@@ -1684,7 +2099,7 @@ export interface TaskSet {
1684
2099
  /**
1685
2100
  * <p>The tag specified when a task set is started. If an CodeDeploy deployment created the task
1686
2101
  * set, the <code>startedBy</code> parameter is <code>CODE_DEPLOY</code>. If an external
1687
- * deployment created the task set, the startedBy field isn't used.</p>
2102
+ * deployment created the task set, the <code>startedBy</code> field isn't used.</p>
1688
2103
  */
1689
2104
  startedBy?: string;
1690
2105
  /**
@@ -1790,7 +2205,7 @@ export interface TaskSet {
1790
2205
  scale?: Scale;
1791
2206
  /**
1792
2207
  * <p>The stability status. This indicates whether the task set has reached a steady state.
1793
- * If the following conditions are met, the task set sre in
2208
+ * If the following conditions are met, the task set are in
1794
2209
  * <code>STEADY_STATE</code>:</p>
1795
2210
  * <ul>
1796
2211
  * <li>
@@ -2088,6 +2503,17 @@ export interface CreateServiceResponse {
2088
2503
  */
2089
2504
  service?: Service;
2090
2505
  }
2506
+ /**
2507
+ * <p>The specified namespace wasn't found.</p>
2508
+ */
2509
+ export declare class NamespaceNotFoundException extends __BaseException {
2510
+ readonly name: "NamespaceNotFoundException";
2511
+ readonly $fault: "client";
2512
+ /**
2513
+ * @internal
2514
+ */
2515
+ constructor(opts: __ExceptionOptionType<NamespaceNotFoundException, __BaseException>);
2516
+ }
2091
2517
  /**
2092
2518
  * <p>The specified platform version doesn't satisfy the required capabilities of the task
2093
2519
  * definition.</p>
@@ -2345,7 +2771,7 @@ export interface Attribute {
2345
2771
  * <p>The value of the attribute. The <code>value</code> must contain between 1 and 128
2346
2772
  * characters. It can contain letters (uppercase and lowercase), numbers, hyphens (-),
2347
2773
  * underscores (_), periods (.), at signs (@), forward slashes (/), back slashes (\),
2348
- * colons (:), or spaces. The value can't can't start or end with a space.</p>
2774
+ * colons (:), or spaces. The value can't start or end with a space.</p>
2349
2775
  */
2350
2776
  value?: string;
2351
2777
  /**
@@ -3001,8 +3427,8 @@ export interface FirelensConfiguration {
3001
3427
  * </li>
3002
3428
  * </ul>
3003
3429
  * <p>The following describes the possible <code>healthStatus</code> values for a task. The
3004
- * container health check status of nonessential containers do not have an effect on the
3005
- * health status of a task.</p>
3430
+ * container health check status of nonessential containers only affects the health status
3431
+ * of a task if no essential containers have health checks defined.</p>
3006
3432
  * <ul>
3007
3433
  * <li>
3008
3434
  * <p>
@@ -3017,14 +3443,22 @@ export interface FirelensConfiguration {
3017
3443
  * <li>
3018
3444
  * <p>
3019
3445
  * <code>UNKNOWN</code>-The essential containers within the task are still
3020
- * having their health checks evaluated or there are no container health checks
3021
- * defined.</p>
3446
+ * having their health checks evaluated or there are only nonessential containers
3447
+ * with health checks defined.</p>
3022
3448
  * </li>
3023
3449
  * </ul>
3024
3450
  * <p>If a task is run manually, and not as part of a service, the task will continue its
3025
3451
  * lifecycle regardless of its health status. For tasks that are part of a service, if the
3026
3452
  * task reports as unhealthy then the task will be stopped and the service scheduler will
3027
3453
  * replace it.</p>
3454
+ * <important>
3455
+ * <p>For tasks that are a part of a service and the service uses the <code>ECS</code>
3456
+ * rolling deployment type, the deployment is paused while the new tasks have the
3457
+ * <code>UNKNOWN</code> task health check status. For example, tasks that define
3458
+ * health checks for nonessential containers when no essential containers have health
3459
+ * checks will have the <code>UNKNOWN</code> health check status indefinitely which
3460
+ * prevents the deployment from completing.</p>
3461
+ * </important>
3028
3462
  * <p>The following are notes about container health check support:</p>
3029
3463
  * <ul>
3030
3464
  * <li>
@@ -3268,125 +3702,6 @@ export interface LinuxParameters {
3268
3702
  */
3269
3703
  swappiness?: number;
3270
3704
  }
3271
- export declare enum LogDriver {
3272
- AWSFIRELENS = "awsfirelens",
3273
- AWSLOGS = "awslogs",
3274
- FLUENTD = "fluentd",
3275
- GELF = "gelf",
3276
- JOURNALD = "journald",
3277
- JSON_FILE = "json-file",
3278
- SPLUNK = "splunk",
3279
- SYSLOG = "syslog"
3280
- }
3281
- /**
3282
- * <p>An object representing the secret to expose to your container. Secrets can be exposed
3283
- * to a container in the following ways:</p>
3284
- * <ul>
3285
- * <li>
3286
- * <p>To inject sensitive data into your containers as environment variables, use
3287
- * the <code>secrets</code> container definition parameter.</p>
3288
- * </li>
3289
- * <li>
3290
- * <p>To reference sensitive information in the log configuration of a container,
3291
- * use the <code>secretOptions</code> container definition parameter.</p>
3292
- * </li>
3293
- * </ul>
3294
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html">Specifying
3295
- * sensitive data</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3296
- */
3297
- export interface Secret {
3298
- /**
3299
- * <p>The name of the secret.</p>
3300
- */
3301
- name: string | undefined;
3302
- /**
3303
- * <p>The secret to expose to the container. The supported values are either the full ARN
3304
- * of the Secrets Manager secret or the full ARN of the parameter in the SSM Parameter
3305
- * Store.</p>
3306
- * <p>For information about the require Identity and Access Management permissions, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-secrets.html#secrets-iam">Required IAM permissions for Amazon ECS secrets</a> (for Secrets Manager) or <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data-parameters.html">Required IAM permissions for Amazon ECS secrets</a> (for Systems Manager Parameter
3307
- * store) in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3308
- * <note>
3309
- * <p>If the SSM Parameter Store parameter exists in the same Region as the task
3310
- * you're launching, then you can use either the full ARN or name of the parameter.
3311
- * If the parameter exists in a different Region, then the full ARN must be
3312
- * specified.</p>
3313
- * </note>
3314
- */
3315
- valueFrom: string | undefined;
3316
- }
3317
- /**
3318
- * <p>The log configuration for the container. This parameter maps to <code>LogConfig</code>
3319
- * in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the
3320
- * <code>--log-driver</code> option to <a href="https://docs.docker.com/engine/reference/commandline/run/">
3321
- * <code>docker
3322
- * run</code>
3323
- * </a>.</p>
3324
- * <p>By default, containers use the same logging driver that the Docker daemon uses.
3325
- * However, the container might use a different logging driver than the Docker daemon by
3326
- * specifying a log driver configuration in the container definition. For more information
3327
- * about the options for different supported log drivers, see <a href="https://docs.docker.com/engine/admin/logging/overview/">Configure logging
3328
- * drivers</a> in the Docker documentation.</p>
3329
- * <p>Understand the following when specifying a log configuration for your
3330
- * containers.</p>
3331
- * <ul>
3332
- * <li>
3333
- * <p>Amazon ECS currently supports a subset of the logging drivers available to the
3334
- * Docker daemon (shown in the valid values below). Additional log drivers may be
3335
- * available in future releases of the Amazon ECS container agent.</p>
3336
- * </li>
3337
- * <li>
3338
- * <p>This parameter requires version 1.18 of the Docker Remote API or greater on
3339
- * your container instance.</p>
3340
- * </li>
3341
- * <li>
3342
- * <p>For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must
3343
- * register the available logging drivers with the
3344
- * <code>ECS_AVAILABLE_LOGGING_DRIVERS</code> environment variable before
3345
- * containers placed on that instance can use these log configuration options. For
3346
- * more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html">Amazon ECS container agent configuration</a> in the
3347
- * <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3348
- * </li>
3349
- * <li>
3350
- * <p>For tasks that are on Fargate, because you don't have access to the
3351
- * underlying infrastructure your tasks are hosted on, any additional software
3352
- * needed must be installed outside of the task. For example, the Fluentd output
3353
- * aggregators or a remote host running Logstash to send Gelf logs to.</p>
3354
- * </li>
3355
- * </ul>
3356
- */
3357
- export interface LogConfiguration {
3358
- /**
3359
- * <p>The log driver to use for the container.</p>
3360
- * <p>For tasks on Fargate, the supported log drivers are <code>awslogs</code>,
3361
- * <code>splunk</code>, and <code>awsfirelens</code>.</p>
3362
- * <p>For tasks hosted on Amazon EC2 instances, the supported log drivers are
3363
- * <code>awslogs</code>, <code>fluentd</code>, <code>gelf</code>,
3364
- * <code>json-file</code>, <code>journald</code>,
3365
- * <code>logentries</code>,<code>syslog</code>, <code>splunk</code>, and
3366
- * <code>awsfirelens</code>.</p>
3367
- * <p>For more information about using the <code>awslogs</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html">Using
3368
- * the awslogs log driver</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3369
- * <p>For more information about using the <code>awsfirelens</code> log driver, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html">Custom log routing</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3370
- * <note>
3371
- * <p>If you have a custom driver that isn't listed, you can fork the Amazon ECS container
3372
- * agent project that's <a href="https://github.com/aws/amazon-ecs-agent">available
3373
- * on GitHub</a> and customize it to work with that driver. We encourage you to
3374
- * submit pull requests for changes that you would like to have included. However, we
3375
- * don't currently provide support for running modified copies of this software.</p>
3376
- * </note>
3377
- */
3378
- logDriver: LogDriver | string | undefined;
3379
- /**
3380
- * <p>The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: <code>sudo docker version --format '{{.Server.APIVersion}}'</code>
3381
- * </p>
3382
- */
3383
- options?: Record<string, string>;
3384
- /**
3385
- * <p>The secrets to pass to the log configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html">Specifying
3386
- * sensitive data</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3387
- */
3388
- secretOptions?: Secret[];
3389
- }
3390
3705
  /**
3391
3706
  * <p>Details for a volume mount point that's used in a container definition.</p>
3392
3707
  */
@@ -3407,6 +3722,11 @@ export interface MountPoint {
3407
3722
  */
3408
3723
  readOnly?: boolean;
3409
3724
  }
3725
+ export declare enum ApplicationProtocol {
3726
+ GRPC = "grpc",
3727
+ HTTP = "http",
3728
+ HTTP2 = "http2"
3729
+ }
3410
3730
  export declare enum TransportProtocol {
3411
3731
  TCP = "tcp",
3412
3732
  UDP = "udp"
@@ -3472,6 +3792,30 @@ export interface PortMapping {
3472
3792
  * <code>udp</code>. The default is <code>tcp</code>.</p>
3473
3793
  */
3474
3794
  protocol?: TransportProtocol | string;
3795
+ /**
3796
+ * <p>The name that's used for the port mapping. This parameter only applies to Service Connect.
3797
+ * This parameter is the name that you use in the <code>serviceConnectConfiguration</code>
3798
+ * of a service. Up to 64 characters are allowed. The characters can include lowercase letters,
3799
+ * numbers, underscores (_), and hyphens (-). A hyphen can't be the first character.</p>
3800
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3801
+ */
3802
+ name?: string;
3803
+ /**
3804
+ * <p>The application protocol that's used for the port mapping. This parameter only applies
3805
+ * to Service Connect. We recommend that you set this parameter to be consistent with
3806
+ * the protocol that your application uses.
3807
+ * If you set this parameter, Amazon ECS adds protocol-specific connection
3808
+ * handling to the Service Connect proxy.
3809
+ * If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.</p>
3810
+ * <p>If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP.</p>
3811
+ * <p>Tasks that run in a namespace can use short names to connect
3812
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
3813
+ * Tasks connect through a managed proxy container
3814
+ * that collects logs and metrics for increased visibility.
3815
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
3816
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
3817
+ */
3818
+ appProtocol?: ApplicationProtocol | string;
3475
3819
  }
3476
3820
  /**
3477
3821
  * <p>The repository credentials for private registry authentication.</p>
@@ -3587,11 +3931,11 @@ export interface Ulimit {
3587
3931
  */
3588
3932
  name: UlimitName | string | undefined;
3589
3933
  /**
3590
- * <p>The soft limit for the ulimit type.</p>
3934
+ * <p>The soft limit for the <code>ulimit</code> type.</p>
3591
3935
  */
3592
3936
  softLimit: number | undefined;
3593
3937
  /**
3594
- * <p>The hard limit for the ulimit type.</p>
3938
+ * <p>The hard limit for the <code>ulimit</code> type.</p>
3595
3939
  */
3596
3940
  hardLimit: number | undefined;
3597
3941
  }
@@ -4167,7 +4511,7 @@ export interface ContainerDefinition {
4167
4511
  */
4168
4512
  dockerLabels?: Record<string, string>;
4169
4513
  /**
4170
- * <p>A list of <code>ulimits</code> to set in the container. If a ulimit value is specified
4514
+ * <p>A list of <code>ulimits</code> to set in the container. If a <code>ulimit</code> value is specified
4171
4515
  * in a task definition, it overrides the default values set by Docker. This parameter maps
4172
4516
  * to <code>Ulimits</code> in the <a href="https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate">Create a container</a> section of the
4173
4517
  * <a href="https://docs.docker.com/engine/api/v1.35/">Docker Remote API</a> and the <code>--ulimit</code> option to <a href="https://docs.docker.com/engine/reference/run/#security-configuration">docker run</a>. Valid naming values are displayed
@@ -4418,7 +4762,7 @@ export interface RuntimePlatform {
4418
4762
  /**
4419
4763
  * <p>The CPU architecture.</p>
4420
4764
  * <p>You can run your Linux tasks on an ARM-based platform by setting the value to
4421
- * <code>ARM64</code>. This option is avaiable for tasks that run on Linux Amazon EC2
4765
+ * <code>ARM64</code>. This option is available for tasks that run on Linux Amazon EC2
4422
4766
  * instance or Linux containers on Fargate.</p>
4423
4767
  */
4424
4768
  cpuArchitecture?: CPUArchitecture | string;
@@ -4614,8 +4958,7 @@ export interface HostVolumeProperties {
4614
4958
  sourcePath?: string;
4615
4959
  }
4616
4960
  /**
4617
- * <p>A data volume that's used in a task definition. For tasks that use the Amazon Elastic
4618
- * File System (Amazon EFS), specify an <code>efsVolumeConfiguration</code>. For Windows
4961
+ * <p>A data volume that's used in a task definition. For tasks that use the Amazon Elastic File System (Amazon EFS), specify an <code>efsVolumeConfiguration</code>. For Windows
4619
4962
  * tasks that use Amazon FSx for Windows File Server file system, specify a
4620
4963
  * <code>fsxWindowsFileServerVolumeConfiguration</code>. For tasks that use a Docker
4621
4964
  * volume, specify a <code>DockerVolumeConfiguration</code>. For tasks that use a bind
@@ -5057,7 +5400,7 @@ export interface DescribeClustersRequest {
5057
5400
  * <p>Determines whether to include additional information about the clusters in the
5058
5401
  * response. If this field is omitted, this information isn't included.</p>
5059
5402
  * <p>If <code>ATTACHMENTS</code> is specified, the attachments for the container instances
5060
- * or tasks within the cluster are included.</p>
5403
+ * or tasks within the cluster are included, for example the capacity providers.</p>
5061
5404
  * <p>If <code>SETTINGS</code> is specified, the settings for the cluster are
5062
5405
  * included.</p>
5063
5406
  * <p>If <code>CONFIGURATIONS</code> is specified, the configuration for the cluster is
@@ -5463,7 +5806,7 @@ export interface TaskOverride {
5463
5806
  */
5464
5807
  containerOverrides?: ContainerOverride[];
5465
5808
  /**
5466
- * <p>The cpu override for the task.</p>
5809
+ * <p>The CPU override for the task.</p>
5467
5810
  */
5468
5811
  cpu?: string;
5469
5812
  /**
@@ -5506,7 +5849,10 @@ export interface TaskOverride {
5506
5849
  }
5507
5850
  export declare enum TaskStopCode {
5508
5851
  ESSENTIAL_CONTAINER_EXITED = "EssentialContainerExited",
5852
+ SERVICE_SCHEDULER_INITIATED = "ServiceSchedulerInitiated",
5853
+ SPOT_INTERRUPTION = "SpotInterruption",
5509
5854
  TASK_FAILED_TO_START = "TaskFailedToStart",
5855
+ TERMINATION_NOTICE = "TerminationNotice",
5510
5856
  USER_INITIATED = "UserInitiated"
5511
5857
  }
5512
5858
  /**
@@ -5905,6 +6251,10 @@ export interface DiscoverPollEndpointResponse {
5905
6251
  * <p>The telemetry endpoint for the Amazon ECS agent.</p>
5906
6252
  */
5907
6253
  telemetryEndpoint?: string;
6254
+ /**
6255
+ * <p>The endpoint for the Amazon ECS agent to poll for Service Connect configuration. For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6256
+ */
6257
+ serviceConnectEndpoint?: string;
5908
6258
  }
5909
6259
  export interface ExecuteCommandRequest {
5910
6260
  /**
@@ -6355,6 +6705,52 @@ export interface ListServicesResponse {
6355
6705
  */
6356
6706
  nextToken?: string;
6357
6707
  }
6708
+ export interface ListServicesByNamespaceRequest {
6709
+ /**
6710
+ * <p>The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace to list the services in.</p>
6711
+ * <p>Tasks that run in a namespace can use short names to connect
6712
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
6713
+ * Tasks connect through a managed proxy container
6714
+ * that collects logs and metrics for increased visibility.
6715
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
6716
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
6717
+ */
6718
+ namespace: string | undefined;
6719
+ /**
6720
+ * <p>The <code>nextToken</code> value that's returned from a <code>ListServicesByNamespace</code> request.
6721
+ * It indicates that more results are available to fulfill the request and further calls
6722
+ * are needed. If <code>maxResults</code> is returned, it is possible the number of results
6723
+ * is less than <code>maxResults</code>.</p>
6724
+ */
6725
+ nextToken?: string;
6726
+ /**
6727
+ * <p>The maximum number of service results that <code>ListServicesByNamespace</code> returns in
6728
+ * paginated output. When this parameter is used, <code>ListServicesByNamespace</code> only returns
6729
+ * <code>maxResults</code> results in a single page along with a <code>nextToken</code>
6730
+ * response element. The remaining results of the initial request can be seen by sending
6731
+ * another <code>ListServicesByNamespace</code> request with the returned <code>nextToken</code>
6732
+ * value. This value can be between 1 and 100. If
6733
+ * this parameter isn't used, then <code>ListServicesByNamespace</code> returns up to
6734
+ * 10 results and a <code>nextToken</code> value if
6735
+ * applicable.</p>
6736
+ */
6737
+ maxResults?: number;
6738
+ }
6739
+ export interface ListServicesByNamespaceResponse {
6740
+ /**
6741
+ * <p>The list of full ARN entries for each service that's associated with the specified
6742
+ * namespace.</p>
6743
+ */
6744
+ serviceArns?: string[];
6745
+ /**
6746
+ * <p>The <code>nextToken</code> value to include in a future <code>ListServicesByNamespace</code>
6747
+ * request. When the results of a <code>ListServicesByNamespace</code> request exceed
6748
+ * <code>maxResults</code>, this value can be used to retrieve the next page of
6749
+ * results. When there are no more results to
6750
+ * return, this value is <code>null</code>.</p>
6751
+ */
6752
+ nextToken?: string;
6753
+ }
6358
6754
  export interface ListTagsForResourceRequest {
6359
6755
  /**
6360
6756
  * <p>The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the
@@ -6553,6 +6949,8 @@ export interface ListTasksRequest {
6553
6949
  * <p>The <code>startedBy</code> value to filter the task results with. Specifying a
6554
6950
  * <code>startedBy</code> value limits the results to tasks that were started with that
6555
6951
  * value.</p>
6952
+ * <p>When you specify <code>startedBy</code> as the filter, it must be the only filter that
6953
+ * you use.</p>
6556
6954
  */
6557
6955
  startedBy?: string;
6558
6956
  /**
@@ -7377,7 +7775,7 @@ export interface StartTaskRequest {
7377
7775
  containerInstances: string[] | undefined;
7378
7776
  /**
7379
7777
  * <p>Specifies whether to use Amazon ECS managed tags for the task. For more information, see
7380
- * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
7778
+ * <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html">Tagging Your Amazon ECS
7381
7779
  * Resources</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
7382
7780
  */
7383
7781
  enableECSManagedTags?: boolean;
@@ -7795,6 +8193,21 @@ export interface UpdateClusterRequest {
7795
8193
  * <p>The execute command configuration for the cluster.</p>
7796
8194
  */
7797
8195
  configuration?: ClusterConfiguration;
8196
+ /**
8197
+ * <p>Use this parameter to set a default Service Connect namespace. After you set a default
8198
+ * Service Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as
8199
+ * client services in the namespace. This setting only applies to new services that set the <code>enabled</code> parameter to
8200
+ * <code>true</code> in the <code>ServiceConnectConfiguration</code>.
8201
+ * You can set the namespace of each service individually in the <code>ServiceConnectConfiguration</code> to override this default
8202
+ * parameter.</p>
8203
+ * <p>Tasks that run in a namespace can use short names to connect
8204
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
8205
+ * Tasks connect through a managed proxy container
8206
+ * that collects logs and metrics for increased visibility.
8207
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
8208
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
8209
+ */
8210
+ serviceConnectDefaults?: ClusterServiceConnectDefaultsRequest;
7798
8211
  }
7799
8212
  export interface UpdateClusterResponse {
7800
8213
  /**
@@ -7812,6 +8225,13 @@ export interface UpdateClusterSettingsRequest {
7812
8225
  * Container Insights for a cluster. If this value is specified, it overrides the
7813
8226
  * <code>containerInsights</code> value set with <a>PutAccountSetting</a> or
7814
8227
  * <a>PutAccountSettingDefault</a>.</p>
8228
+ * <important>
8229
+ * <p>Currently, if you delete an existing cluster that does not have Container Insights
8230
+ * turned on, and then create a new cluster with the same name with Container Insights
8231
+ * tuned on, Container Insights will not actually be turned on. If you want to preserve
8232
+ * the same name for your existing cluster and turn on Container Insights, you must
8233
+ * wait 7 days before you can re-create it.</p>
8234
+ * </important>
7815
8235
  */
7816
8236
  settings: ClusterSetting[] | undefined;
7817
8237
  }
@@ -8058,6 +8478,17 @@ export interface UpdateServiceRequest {
8058
8478
  * list.</p>
8059
8479
  */
8060
8480
  serviceRegistries?: ServiceRegistry[];
8481
+ /**
8482
+ * <p>The configuration for this service to discover and connect to
8483
+ * services, and be discovered by, and connected from, other services within a namespace.</p>
8484
+ * <p>Tasks that run in a namespace can use short names to connect
8485
+ * to services in the namespace. Tasks can connect to services across all of the clusters in the namespace.
8486
+ * Tasks connect through a managed proxy container
8487
+ * that collects logs and metrics for increased visibility.
8488
+ * Only the tasks that Amazon ECS services create are supported with Service Connect.
8489
+ * For more information, see <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html">Service Connect</a> in the <i>Amazon Elastic Container Service Developer Guide</i>.</p>
8490
+ */
8491
+ serviceConnectConfiguration?: ServiceConnectConfiguration;
8061
8492
  }
8062
8493
  export interface UpdateServiceResponse {
8063
8494
  /**
@@ -8083,7 +8514,7 @@ export interface UpdateServicePrimaryTaskSetRequest {
8083
8514
  }
8084
8515
  export interface UpdateServicePrimaryTaskSetResponse {
8085
8516
  /**
8086
- * <p>etails about the task set.</p>
8517
+ * <p>The details about the task set.</p>
8087
8518
  */
8088
8519
  taskSet?: TaskSet;
8089
8520
  }
@@ -8206,6 +8637,10 @@ export declare const ClusterConfigurationFilterSensitiveLog: (obj: ClusterConfig
8206
8637
  * @internal
8207
8638
  */
8208
8639
  export declare const CapacityProviderStrategyItemFilterSensitiveLog: (obj: CapacityProviderStrategyItem) => any;
8640
+ /**
8641
+ * @internal
8642
+ */
8643
+ export declare const ClusterServiceConnectDefaultsRequestFilterSensitiveLog: (obj: ClusterServiceConnectDefaultsRequest) => any;
8209
8644
  /**
8210
8645
  * @internal
8211
8646
  */
@@ -8222,6 +8657,10 @@ export declare const KeyValuePairFilterSensitiveLog: (obj: KeyValuePair) => any;
8222
8657
  * @internal
8223
8658
  */
8224
8659
  export declare const AttachmentFilterSensitiveLog: (obj: Attachment) => any;
8660
+ /**
8661
+ * @internal
8662
+ */
8663
+ export declare const ClusterServiceConnectDefaultsFilterSensitiveLog: (obj: ClusterServiceConnectDefaults) => any;
8225
8664
  /**
8226
8665
  * @internal
8227
8666
  */
@@ -8262,6 +8701,26 @@ export declare const PlacementConstraintFilterSensitiveLog: (obj: PlacementConst
8262
8701
  * @internal
8263
8702
  */
8264
8703
  export declare const PlacementStrategyFilterSensitiveLog: (obj: PlacementStrategy) => any;
8704
+ /**
8705
+ * @internal
8706
+ */
8707
+ export declare const SecretFilterSensitiveLog: (obj: Secret) => any;
8708
+ /**
8709
+ * @internal
8710
+ */
8711
+ export declare const LogConfigurationFilterSensitiveLog: (obj: LogConfiguration) => any;
8712
+ /**
8713
+ * @internal
8714
+ */
8715
+ export declare const ServiceConnectClientAliasFilterSensitiveLog: (obj: ServiceConnectClientAlias) => any;
8716
+ /**
8717
+ * @internal
8718
+ */
8719
+ export declare const ServiceConnectServiceFilterSensitiveLog: (obj: ServiceConnectService) => any;
8720
+ /**
8721
+ * @internal
8722
+ */
8723
+ export declare const ServiceConnectConfigurationFilterSensitiveLog: (obj: ServiceConnectConfiguration) => any;
8265
8724
  /**
8266
8725
  * @internal
8267
8726
  */
@@ -8270,6 +8729,10 @@ export declare const ServiceRegistryFilterSensitiveLog: (obj: ServiceRegistry) =
8270
8729
  * @internal
8271
8730
  */
8272
8731
  export declare const CreateServiceRequestFilterSensitiveLog: (obj: CreateServiceRequest) => any;
8732
+ /**
8733
+ * @internal
8734
+ */
8735
+ export declare const ServiceConnectServiceResourceFilterSensitiveLog: (obj: ServiceConnectServiceResource) => any;
8273
8736
  /**
8274
8737
  * @internal
8275
8738
  */
@@ -8426,14 +8889,6 @@ export declare const TmpfsFilterSensitiveLog: (obj: Tmpfs) => any;
8426
8889
  * @internal
8427
8890
  */
8428
8891
  export declare const LinuxParametersFilterSensitiveLog: (obj: LinuxParameters) => any;
8429
- /**
8430
- * @internal
8431
- */
8432
- export declare const SecretFilterSensitiveLog: (obj: Secret) => any;
8433
- /**
8434
- * @internal
8435
- */
8436
- export declare const LogConfigurationFilterSensitiveLog: (obj: LogConfiguration) => any;
8437
8892
  /**
8438
8893
  * @internal
8439
8894
  */
@@ -8686,6 +9141,14 @@ export declare const ListServicesRequestFilterSensitiveLog: (obj: ListServicesRe
8686
9141
  * @internal
8687
9142
  */
8688
9143
  export declare const ListServicesResponseFilterSensitiveLog: (obj: ListServicesResponse) => any;
9144
+ /**
9145
+ * @internal
9146
+ */
9147
+ export declare const ListServicesByNamespaceRequestFilterSensitiveLog: (obj: ListServicesByNamespaceRequest) => any;
9148
+ /**
9149
+ * @internal
9150
+ */
9151
+ export declare const ListServicesByNamespaceResponseFilterSensitiveLog: (obj: ListServicesByNamespaceResponse) => any;
8689
9152
  /**
8690
9153
  * @internal
8691
9154
  */