aws-sdk-ecs 1.92.0 → 1.131.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:ecs)
@@ -73,8 +77,13 @@ module Aws::ECS
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
86
+ add_plugin(Aws::ECS::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::ECS
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::ECS
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::ECS
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::ECS
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -287,6 +318,19 @@ module Aws::ECS
287
318
  # ** Please note ** When response stubbing is enabled, no HTTP
288
319
  # requests are made, and retries are disabled.
289
320
  #
321
+ # @option options [Aws::TokenProvider] :token_provider
322
+ # A Bearer Token Provider. This can be an instance of any one of the
323
+ # following classes:
324
+ #
325
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
326
+ # tokens.
327
+ #
328
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
329
+ # access token generated from `aws login`.
330
+ #
331
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
332
+ # will be used to search for tokens configured for your profile in shared configuration files.
333
+ #
290
334
  # @option options [Boolean] :use_dualstack_endpoint
291
335
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
336
  # will be used if available.
@@ -300,6 +344,9 @@ module Aws::ECS
300
344
  # When `true`, request parameters are validated before
301
345
  # sending the request.
302
346
  #
347
+ # @option options [Aws::ECS::EndpointProvider] :endpoint_provider
348
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::ECS::EndpointParameters`
349
+ #
303
350
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
351
  # requests through. Formatted like 'http://proxy.com:123'.
305
352
  #
@@ -307,7 +354,7 @@ module Aws::ECS
307
354
  # seconds to wait when opening a HTTP session before raising a
308
355
  # `Timeout::Error`.
309
356
  #
310
- # @option options [Integer] :http_read_timeout (60) The default
357
+ # @option options [Float] :http_read_timeout (60) The default
311
358
  # number of seconds to wait for response data. This value can
312
359
  # safely be set per-request on the session.
313
360
  #
@@ -323,6 +370,9 @@ module Aws::ECS
323
370
  # disables this behaviour. This value can safely be set per
324
371
  # request on the session.
325
372
  #
373
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
374
+ # in seconds.
375
+ #
326
376
  # @option options [Boolean] :http_wire_trace (false) When `true`,
327
377
  # HTTP debug output will be sent to the `:logger`.
328
378
  #
@@ -458,9 +508,9 @@ module Aws::ECS
458
508
  # <note markdown="1"> When you call the CreateCluster API operation, Amazon ECS attempts to
459
509
  # create the Amazon ECS service-linked role for your account. This is so
460
510
  # that it can manage required resources in other Amazon Web Services
461
- # services on your behalf. However, if the IAM user that makes the call
511
+ # services on your behalf. However, if the user that makes the call
462
512
  # doesn't have permissions to create the service-linked role, it isn't
463
- # created. For more information, see [Using Service-Linked Roles for
513
+ # created. For more information, see [Using service-linked roles for
464
514
  # Amazon ECS][1] in the *Amazon Elastic Container Service Developer
465
515
  # Guide*.
466
516
  #
@@ -508,45 +558,79 @@ module Aws::ECS
508
558
  #
509
559
  # @option params [Array<Types::ClusterSetting>] :settings
510
560
  # The setting to use when creating a cluster. This parameter is used to
511
- # enable CloudWatch Container Insights for a cluster. If this value is
561
+ # turn on CloudWatch Container Insights for a cluster. If this value is
512
562
  # specified, it overrides the `containerInsights` value set with
513
563
  # PutAccountSetting or PutAccountSettingDefault.
514
564
  #
515
565
  # @option params [Types::ClusterConfiguration] :configuration
516
- # The execute command configuration for the cluster.
566
+ # The `execute` command configuration for the cluster.
517
567
  #
518
568
  # @option params [Array<String>] :capacity_providers
519
569
  # The short name of one or more capacity providers to associate with the
520
570
  # cluster. A capacity provider must be associated with a cluster before
521
571
  # it can be included as part of the default capacity provider strategy
522
572
  # of the cluster or used in a capacity provider strategy when calling
523
- # the CreateService or RunTask actions.
573
+ # the [CreateService][1] or [RunTask][2] actions.
524
574
  #
525
575
  # If specifying a capacity provider that uses an Auto Scaling group, the
526
576
  # capacity provider must be created but not associated with another
527
577
  # cluster. New Auto Scaling group capacity providers can be created with
528
- # the CreateCapacityProvider API operation.
578
+ # the [CreateCapacityProvider][3] API operation.
529
579
  #
530
580
  # To use a Fargate capacity provider, specify either the `FARGATE` or
531
581
  # `FARGATE_SPOT` capacity providers. The Fargate capacity providers are
532
582
  # available to all accounts and only need to be associated with a
533
583
  # cluster to be used.
534
584
  #
535
- # The PutClusterCapacityProviders API operation is used to update the
536
- # list of available capacity providers for a cluster after the cluster
537
- # is created.
585
+ # The [PutCapacityProvider][4] API operation is used to update the list
586
+ # of available capacity providers for a cluster after the cluster is
587
+ # created.
588
+ #
589
+ #
590
+ #
591
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html
592
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
593
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCapacityProvider.html
594
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutCapacityProvider.html
538
595
  #
539
596
  # @option params [Array<Types::CapacityProviderStrategyItem>] :default_capacity_provider_strategy
540
597
  # The capacity provider strategy to set as the default for the cluster.
541
598
  # After a default capacity provider strategy is set for a cluster, when
542
- # you call the RunTask or CreateService APIs with no capacity provider
543
- # strategy or launch type specified, the default capacity provider
544
- # strategy for the cluster is used.
599
+ # you call the [CreateService][1] or [RunTask][2] APIs with no capacity
600
+ # provider strategy or launch type specified, the default capacity
601
+ # provider strategy for the cluster is used.
545
602
  #
546
603
  # If a default capacity provider strategy isn't defined for a cluster
547
604
  # when it was created, it can be defined later with the
548
605
  # PutClusterCapacityProviders API operation.
549
606
  #
607
+ #
608
+ #
609
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html
610
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html
611
+ #
612
+ # @option params [Types::ClusterServiceConnectDefaultsRequest] :service_connect_defaults
613
+ # Use this parameter to set a default Service Connect namespace. After
614
+ # you set a default Service Connect namespace, any new services with
615
+ # Service Connect turned on that are created in the cluster are added as
616
+ # client services in the namespace. This setting only applies to new
617
+ # services that set the `enabled` parameter to `true` in the
618
+ # `ServiceConnectConfiguration`. You can set the namespace of each
619
+ # service individually in the `ServiceConnectConfiguration` to override
620
+ # this default parameter.
621
+ #
622
+ # Tasks that run in a namespace can use short names to connect to
623
+ # services in the namespace. Tasks can connect to services across all of
624
+ # the clusters in the namespace. Tasks connect through a managed proxy
625
+ # container that collects logs and metrics for increased visibility.
626
+ # Only the tasks that Amazon ECS services create are supported with
627
+ # Service Connect. For more information, see [Service Connect][1] in the
628
+ # *Amazon Elastic Container Service Developer Guide*.
629
+ #
630
+ #
631
+ #
632
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
633
+ #
550
634
  # @return [Types::CreateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
551
635
  #
552
636
  # * {Types::CreateClusterResponse#cluster #cluster} => Types::Cluster
@@ -610,6 +694,9 @@ module Aws::ECS
610
694
  # base: 1,
611
695
  # },
612
696
  # ],
697
+ # service_connect_defaults: {
698
+ # namespace: "String", # required
699
+ # },
613
700
  # })
614
701
  #
615
702
  # @example Response structure
@@ -651,6 +738,7 @@ module Aws::ECS
651
738
  # resp.cluster.attachments[0].details[0].name #=> String
652
739
  # resp.cluster.attachments[0].details[0].value #=> String
653
740
  # resp.cluster.attachments_status #=> String
741
+ # resp.cluster.service_connect_defaults.namespace #=> String
654
742
  #
655
743
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster AWS API Documentation
656
744
  #
@@ -667,18 +755,28 @@ module Aws::ECS
667
755
  # specified cluster. To update an existing service, see the
668
756
  # UpdateService action.
669
757
  #
758
+ # <note markdown="1"> Starting April 15, 2023, Amazon Web Services will not onboard new
759
+ # customers to Amazon Elastic Inference (EI), and will help current
760
+ # customers migrate their workloads to options that offer better price
761
+ # and performance. After April 15, 2023, new customers will not be able
762
+ # to launch instances with Amazon EI accelerators in Amazon SageMaker,
763
+ # Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI
764
+ # at least once during the past 30-day period are considered current
765
+ # customers and will be able to continue using the service.
766
+ #
767
+ # </note>
768
+ #
670
769
  # In addition to maintaining the desired count of tasks in your service,
671
770
  # you can optionally run your service behind one or more load balancers.
672
771
  # The load balancers distribute traffic across the tasks that are
673
- # associated with the service. For more information, see [Service Load
674
- # Balancing][1] in the *Amazon Elastic Container Service Developer
772
+ # associated with the service. For more information, see [Service load
773
+ # balancing][1] in the *Amazon Elastic Container Service Developer
675
774
  # Guide*.
676
775
  #
677
776
  # Tasks for services that don't use a load balancer are considered
678
777
  # healthy if they're in the `RUNNING` state. Tasks for services that
679
778
  # use a load balancer are considered healthy if they're in the
680
- # `RUNNING` state and the container instance that they're hosted on is
681
- # reported as healthy by the load balancer.
779
+ # `RUNNING` state and are reported as healthy by the load balancer.
682
780
  #
683
781
  # There are two service scheduler strategies available:
684
782
  #
@@ -686,8 +784,8 @@ module Aws::ECS
686
784
  # your desired number of tasks across your cluster. By default, the
687
785
  # service scheduler spreads tasks across Availability Zones. You can
688
786
  # use task placement strategies and constraints to customize task
689
- # placement decisions. For more information, see [Service Scheduler
690
- # Concepts][2] in the *Amazon Elastic Container Service Developer
787
+ # placement decisions. For more information, see [Service scheduler
788
+ # concepts][2] in the *Amazon Elastic Container Service Developer
691
789
  # Guide*.
692
790
  #
693
791
  # * `DAEMON` - The daemon scheduling strategy deploys exactly one task
@@ -697,8 +795,8 @@ module Aws::ECS
697
795
  # tasks. It also stops tasks that don't meet the placement
698
796
  # constraints. When using this strategy, you don't need to specify a
699
797
  # desired number of tasks, a task placement strategy, or use Service
700
- # Auto Scaling policies. For more information, see [Service Scheduler
701
- # Concepts][2] in the *Amazon Elastic Container Service Developer
798
+ # Auto Scaling policies. For more information, see [Service scheduler
799
+ # concepts][2] in the *Amazon Elastic Container Service Developer
702
800
  # Guide*.
703
801
  #
704
802
  # You can optionally specify a deployment configuration for your
@@ -754,38 +852,20 @@ module Aws::ECS
754
852
  # controller, you can specify only parameters that aren't controlled at
755
853
  # the task set level. The only required parameter is the service name.
756
854
  # You control your services using the CreateTaskSet operation. For more
757
- # information, see [Amazon ECS Deployment Types][3] in the *Amazon
855
+ # information, see [Amazon ECS deployment types][3] in the *Amazon
758
856
  # Elastic Container Service Developer Guide*.
759
857
  #
760
858
  # When the service scheduler launches new tasks, it determines task
761
- # placement in your cluster using the following logic:
762
- #
763
- # * Determine which of the container instances in your cluster can
764
- # support the task definition of your service. For example, they have
765
- # the required CPU, memory, ports, and container instance attributes.
766
- #
767
- # * By default, the service scheduler attempts to balance tasks across
768
- # Availability Zones in this manner. This is the case even if you can
769
- # choose a different placement strategy with the `placementStrategy`
770
- # parameter.
771
- #
772
- # * Sort the valid container instances, giving priority to instances
773
- # that have the fewest number of running tasks for this service in
774
- # their respective Availability Zone. For example, if zone A has one
775
- # running service task and zones B and C each have zero, valid
776
- # container instances in either zone B or C are considered optimal
777
- # for placement.
778
- #
779
- # * Place the new service task on a valid container instance in an
780
- # optimal Availability Zone based on the previous steps, favoring
781
- # container instances with the fewest number of running tasks for
782
- # this service.
859
+ # placement. For information about task placement and task placement
860
+ # strategies, see [Amazon ECS task placement][4] in the *Amazon Elastic
861
+ # Container Service Developer Guide*.
783
862
  #
784
863
  #
785
864
  #
786
865
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html
787
866
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html
788
867
  # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html
868
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement.html
789
869
  #
790
870
  # @option params [String] :cluster
791
871
  # The short name or full Amazon Resource Name (ARN) of the cluster that
@@ -806,9 +886,16 @@ module Aws::ECS
806
886
  # A task definition must be specified if the service uses either the
807
887
  # `ECS` or `CODE_DEPLOY` deployment controllers.
808
888
  #
889
+ # For more information about deployment types, see [Amazon ECS
890
+ # deployment types][1].
891
+ #
892
+ #
893
+ #
894
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html
895
+ #
809
896
  # @option params [Array<Types::LoadBalancer>] :load_balancers
810
897
  # A load balancer object representing the load balancers to use with
811
- # your service. For more information, see [Service Load Balancing][1] in
898
+ # your service. For more information, see [Service load balancing][1] in
812
899
  # the *Amazon Elastic Container Service Developer Guide*.
813
900
  #
814
901
  # If the service uses the rolling update (`ECS`) deployment controller
@@ -831,11 +918,8 @@ module Aws::ECS
831
918
  # listener that you can use to perform validation tests with Lambda
832
919
  # functions before routing production traffic to it.
833
920
  #
834
- # After you create a service using the `ECS` deployment controller, the
835
- # load balancer name or target group ARN, container name, and container
836
- # port that's specified in the service definition are immutable. If you
837
- # use the `CODE_DEPLOY` deployment controller, these values can be
838
- # changed when updating the service.
921
+ # If you use the `CODE_DEPLOY` deployment controller, these values can
922
+ # be changed when updating the service.
839
923
  #
840
924
  # For Application Load Balancers and Network Load Balancers, this object
841
925
  # must contain the load balancer target group ARN, the container name,
@@ -882,7 +966,7 @@ module Aws::ECS
882
966
  #
883
967
  # @option params [Integer] :desired_count
884
968
  # The number of instantiations of the specified task definition to place
885
- # and keep running on your cluster.
969
+ # and keep running in your service.
886
970
  #
887
971
  # This is required if `schedulingStrategy` is `REPLICA` or isn't
888
972
  # specified. If `schedulingStrategy` is `DAEMON` then this isn't
@@ -1007,6 +1091,10 @@ module Aws::ECS
1007
1091
  # defined and you don't specify a health check grace period value, the
1008
1092
  # default value of `0` is used.
1009
1093
  #
1094
+ # If you do not use an Elastic Load Balancing, we recommend that you use
1095
+ # the `startPeriod` in the task definition health check parameters. For
1096
+ # more information, see [Health check][1].
1097
+ #
1010
1098
  # If your service's tasks take a while to start and respond to Elastic
1011
1099
  # Load Balancing health checks, you can specify a health check grace
1012
1100
  # period of up to 2,147,483,647 seconds (about 69 years). During that
@@ -1014,6 +1102,10 @@ module Aws::ECS
1014
1102
  # This grace period can prevent the service scheduler from marking tasks
1015
1103
  # as unhealthy and stopping them before they have time to come up.
1016
1104
  #
1105
+ #
1106
+ #
1107
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html
1108
+ #
1017
1109
  # @option params [String] :scheduling_strategy
1018
1110
  # The scheduling strategy to use for the service. For more information,
1019
1111
  # see [Services][1].
@@ -1082,28 +1174,52 @@ module Aws::ECS
1082
1174
  # your tags per resource limit.
1083
1175
  #
1084
1176
  # @option params [Boolean] :enable_ecs_managed_tags
1085
- # Specifies whether to enable Amazon ECS managed tags for the tasks
1086
- # within the service. For more information, see [Tagging Your Amazon ECS
1087
- # Resources][1] in the *Amazon Elastic Container Service Developer
1177
+ # Specifies whether to turn on Amazon ECS managed tags for the tasks
1178
+ # within the service. For more information, see [Tagging your Amazon ECS
1179
+ # resources][1] in the *Amazon Elastic Container Service Developer
1088
1180
  # Guide*.
1089
1181
  #
1182
+ # When you use Amazon ECS managed tags, you need to set the
1183
+ # `propagateTags` request parameter.
1184
+ #
1090
1185
  #
1091
1186
  #
1092
1187
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
1093
1188
  #
1094
1189
  # @option params [String] :propagate_tags
1095
- # Specifies whether to propagate the tags from the task definition or
1096
- # the service to the tasks in the service. If no value is specified, the
1097
- # tags aren't propagated. Tags can only be propagated to the tasks
1098
- # within the service during service creation. To add tags to a task
1099
- # after service creation or task creation, use the TagResource API
1100
- # action.
1190
+ # Specifies whether to propagate the tags from the task definition to
1191
+ # the task. If no value is specified, the tags aren't propagated. Tags
1192
+ # can only be propagated to the task during task creation. To add tags
1193
+ # to a task after task creation, use the [TagResource][1] API action.
1194
+ #
1195
+ # The default is `NONE`.
1196
+ #
1197
+ #
1198
+ #
1199
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TagResource.html
1101
1200
  #
1102
1201
  # @option params [Boolean] :enable_execute_command
1103
- # Determines whether the execute command functionality is enabled for
1202
+ # Determines whether the execute command functionality is turned on for
1104
1203
  # the service. If `true`, this enables execute command functionality on
1105
1204
  # all containers in the service tasks.
1106
1205
  #
1206
+ # @option params [Types::ServiceConnectConfiguration] :service_connect_configuration
1207
+ # The configuration for this service to discover and connect to
1208
+ # services, and be discovered by, and connected from, other services
1209
+ # within a namespace.
1210
+ #
1211
+ # Tasks that run in a namespace can use short names to connect to
1212
+ # services in the namespace. Tasks can connect to services across all of
1213
+ # the clusters in the namespace. Tasks connect through a managed proxy
1214
+ # container that collects logs and metrics for increased visibility.
1215
+ # Only the tasks that Amazon ECS services create are supported with
1216
+ # Service Connect. For more information, see [Service Connect][1] in the
1217
+ # *Amazon Elastic Container Service Developer Guide*.
1218
+ #
1219
+ #
1220
+ #
1221
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
1222
+ #
1107
1223
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1108
1224
  #
1109
1225
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -1158,10 +1274,10 @@ module Aws::ECS
1158
1274
  # ],
1159
1275
  # pending_count: 0,
1160
1276
  # running_count: 0,
1161
- # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service",
1277
+ # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/default/ecs-simple-service",
1162
1278
  # service_name: "ecs-simple-service",
1163
1279
  # status: "ACTIVE",
1164
- # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6",
1280
+ # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/default/hello_world:6",
1165
1281
  # },
1166
1282
  # }
1167
1283
  #
@@ -1219,10 +1335,10 @@ module Aws::ECS
1219
1335
  # pending_count: 0,
1220
1336
  # role_arn: "arn:aws:iam::012345678910:role/ecsServiceRole",
1221
1337
  # running_count: 0,
1222
- # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service-elb",
1338
+ # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/default/ecs-simple-service-elb",
1223
1339
  # service_name: "ecs-simple-service-elb",
1224
1340
  # status: "ACTIVE",
1225
- # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/console-sample-app-static:6",
1341
+ # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/default/console-sample-app-static:6",
1226
1342
  # },
1227
1343
  # }
1228
1344
  #
@@ -1267,6 +1383,11 @@ module Aws::ECS
1267
1383
  # },
1268
1384
  # maximum_percent: 1,
1269
1385
  # minimum_healthy_percent: 1,
1386
+ # alarms: {
1387
+ # alarm_names: ["String"], # required
1388
+ # enable: false, # required
1389
+ # rollback: false, # required
1390
+ # },
1270
1391
  # },
1271
1392
  # placement_constraints: [
1272
1393
  # {
@@ -1299,8 +1420,37 @@ module Aws::ECS
1299
1420
  # },
1300
1421
  # ],
1301
1422
  # enable_ecs_managed_tags: false,
1302
- # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
1423
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
1303
1424
  # enable_execute_command: false,
1425
+ # service_connect_configuration: {
1426
+ # enabled: false, # required
1427
+ # namespace: "String",
1428
+ # services: [
1429
+ # {
1430
+ # port_name: "String", # required
1431
+ # discovery_name: "String",
1432
+ # client_aliases: [
1433
+ # {
1434
+ # port: 1, # required
1435
+ # dns_name: "String",
1436
+ # },
1437
+ # ],
1438
+ # ingress_port_override: 1,
1439
+ # },
1440
+ # ],
1441
+ # log_configuration: {
1442
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
1443
+ # options: {
1444
+ # "String" => "String",
1445
+ # },
1446
+ # secret_options: [
1447
+ # {
1448
+ # name: "String", # required
1449
+ # value_from: "String", # required
1450
+ # },
1451
+ # ],
1452
+ # },
1453
+ # },
1304
1454
  # })
1305
1455
  #
1306
1456
  # @example Response structure
@@ -1334,6 +1484,10 @@ module Aws::ECS
1334
1484
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
1335
1485
  # resp.service.deployment_configuration.maximum_percent #=> Integer
1336
1486
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
1487
+ # resp.service.deployment_configuration.alarms.alarm_names #=> Array
1488
+ # resp.service.deployment_configuration.alarms.alarm_names[0] #=> String
1489
+ # resp.service.deployment_configuration.alarms.enable #=> Boolean
1490
+ # resp.service.deployment_configuration.alarms.rollback #=> Boolean
1337
1491
  # resp.service.task_sets #=> Array
1338
1492
  # resp.service.task_sets[0].id #=> String
1339
1493
  # resp.service.task_sets[0].task_set_arn #=> String
@@ -1401,6 +1555,24 @@ module Aws::ECS
1401
1555
  # resp.service.deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1402
1556
  # resp.service.deployments[0].rollout_state #=> String, one of "COMPLETED", "FAILED", "IN_PROGRESS"
1403
1557
  # resp.service.deployments[0].rollout_state_reason #=> String
1558
+ # resp.service.deployments[0].service_connect_configuration.enabled #=> Boolean
1559
+ # resp.service.deployments[0].service_connect_configuration.namespace #=> String
1560
+ # resp.service.deployments[0].service_connect_configuration.services #=> Array
1561
+ # resp.service.deployments[0].service_connect_configuration.services[0].port_name #=> String
1562
+ # resp.service.deployments[0].service_connect_configuration.services[0].discovery_name #=> String
1563
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases #=> Array
1564
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases[0].port #=> Integer
1565
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases[0].dns_name #=> String
1566
+ # resp.service.deployments[0].service_connect_configuration.services[0].ingress_port_override #=> Integer
1567
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk", "awsfirelens"
1568
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.options #=> Hash
1569
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.options["String"] #=> String
1570
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options #=> Array
1571
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options[0].name #=> String
1572
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options[0].value_from #=> String
1573
+ # resp.service.deployments[0].service_connect_resources #=> Array
1574
+ # resp.service.deployments[0].service_connect_resources[0].discovery_name #=> String
1575
+ # resp.service.deployments[0].service_connect_resources[0].discovery_arn #=> String
1404
1576
  # resp.service.role_arn #=> String
1405
1577
  # resp.service.events #=> Array
1406
1578
  # resp.service.events[0].id #=> String
@@ -1426,7 +1598,7 @@ module Aws::ECS
1426
1598
  # resp.service.tags[0].value #=> String
1427
1599
  # resp.service.created_by #=> String
1428
1600
  # resp.service.enable_ecs_managed_tags #=> Boolean
1429
- # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
1601
+ # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE", "NONE"
1430
1602
  # resp.service.enable_execute_command #=> Boolean
1431
1603
  #
1432
1604
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService AWS API Documentation
@@ -1440,7 +1612,7 @@ module Aws::ECS
1440
1612
 
1441
1613
  # Create a task set in the specified cluster and service. This is used
1442
1614
  # when a service uses the `EXTERNAL` deployment controller type. For
1443
- # more information, see [Amazon ECS Deployment Types][1] in the *Amazon
1615
+ # more information, see [Amazon ECS deployment types][1] in the *Amazon
1444
1616
  # Elastic Container Service Developer Guide*.
1445
1617
  #
1446
1618
  #
@@ -1463,7 +1635,8 @@ module Aws::ECS
1463
1635
  # value.
1464
1636
  #
1465
1637
  # @option params [required, String] :task_definition
1466
- # The task definition for the tasks in the task set to use.
1638
+ # The task definition for the tasks in the task set to use. If a
1639
+ # revision isn't specified, the latest `ACTIVE` revision is used.
1467
1640
  #
1468
1641
  # @option params [Types::NetworkConfiguration] :network_configuration
1469
1642
  # An object representing the network configuration for a task set.
@@ -1475,7 +1648,7 @@ module Aws::ECS
1475
1648
  #
1476
1649
  # @option params [Array<Types::ServiceRegistry>] :service_registries
1477
1650
  # The details of the service discovery registries to assign to this task
1478
- # set. For more information, see [Service Discovery][1].
1651
+ # set. For more information, see [Service discovery][1].
1479
1652
  #
1480
1653
  #
1481
1654
  #
@@ -1483,7 +1656,7 @@ module Aws::ECS
1483
1656
  #
1484
1657
  # @option params [String] :launch_type
1485
1658
  # The launch type that new tasks in the task set uses. For more
1486
- # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
1659
+ # information, see [Amazon ECS launch types][1] in the *Amazon Elastic
1487
1660
  # Container Service Developer Guide*.
1488
1661
  #
1489
1662
  # If a `launchType` is specified, the `capacityProviderStrategy`
@@ -1675,8 +1848,8 @@ module Aws::ECS
1675
1848
  req.send_request(options)
1676
1849
  end
1677
1850
 
1678
- # Disables an account setting for a specified IAM user, IAM role, or the
1679
- # root user for an account.
1851
+ # Disables an account setting for a specified user, role, or the root
1852
+ # user for an account.
1680
1853
  #
1681
1854
  # @option params [required, String] :name
1682
1855
  # The resource name to disable the account setting for. If
@@ -1689,12 +1862,12 @@ module Aws::ECS
1689
1862
  # container instances is affected.
1690
1863
  #
1691
1864
  # @option params [String] :principal_arn
1692
- # The Amazon Resource Name (ARN) of the principal. It can be an IAM
1693
- # user, IAM role, or the root user. If you specify the root user, it
1694
- # disables the account setting for all IAM users, IAM roles, and the
1695
- # root user of the account unless an IAM user or role explicitly
1696
- # overrides these settings. If this field is omitted, the setting is
1697
- # changed only for the authenticated user.
1865
+ # The Amazon Resource Name (ARN) of the principal. It can be an user,
1866
+ # role, or the root user. If you specify the root user, it disables the
1867
+ # account setting for all users, roles, and the root user of the account
1868
+ # unless a user or role explicitly overrides these settings. If this
1869
+ # field is omitted, the setting is changed only for the authenticated
1870
+ # user.
1698
1871
  #
1699
1872
  # @return [Types::DeleteAccountSettingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1700
1873
  #
@@ -1740,13 +1913,13 @@ module Aws::ECS
1740
1913
  # @example Request syntax with placeholder values
1741
1914
  #
1742
1915
  # resp = client.delete_account_setting({
1743
- # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
1916
+ # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights, fargateFIPSMode, tagResourceAuthorization, fargateTaskRetirementWaitPeriod
1744
1917
  # principal_arn: "String",
1745
1918
  # })
1746
1919
  #
1747
1920
  # @example Response structure
1748
1921
  #
1749
- # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights"
1922
+ # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights", "fargateFIPSMode", "tagResourceAuthorization", "fargateTaskRetirementWaitPeriod"
1750
1923
  # resp.setting.value #=> String
1751
1924
  # resp.setting.principal_arn #=> String
1752
1925
  #
@@ -1954,6 +2127,7 @@ module Aws::ECS
1954
2127
  # resp.cluster.attachments[0].details[0].name #=> String
1955
2128
  # resp.cluster.attachments[0].details[0].value #=> String
1956
2129
  # resp.cluster.attachments_status #=> String
2130
+ # resp.cluster.service_connect_defaults.namespace #=> String
1957
2131
  #
1958
2132
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster AWS API Documentation
1959
2133
  #
@@ -2057,6 +2231,10 @@ module Aws::ECS
2057
2231
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
2058
2232
  # resp.service.deployment_configuration.maximum_percent #=> Integer
2059
2233
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
2234
+ # resp.service.deployment_configuration.alarms.alarm_names #=> Array
2235
+ # resp.service.deployment_configuration.alarms.alarm_names[0] #=> String
2236
+ # resp.service.deployment_configuration.alarms.enable #=> Boolean
2237
+ # resp.service.deployment_configuration.alarms.rollback #=> Boolean
2060
2238
  # resp.service.task_sets #=> Array
2061
2239
  # resp.service.task_sets[0].id #=> String
2062
2240
  # resp.service.task_sets[0].task_set_arn #=> String
@@ -2124,6 +2302,24 @@ module Aws::ECS
2124
2302
  # resp.service.deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
2125
2303
  # resp.service.deployments[0].rollout_state #=> String, one of "COMPLETED", "FAILED", "IN_PROGRESS"
2126
2304
  # resp.service.deployments[0].rollout_state_reason #=> String
2305
+ # resp.service.deployments[0].service_connect_configuration.enabled #=> Boolean
2306
+ # resp.service.deployments[0].service_connect_configuration.namespace #=> String
2307
+ # resp.service.deployments[0].service_connect_configuration.services #=> Array
2308
+ # resp.service.deployments[0].service_connect_configuration.services[0].port_name #=> String
2309
+ # resp.service.deployments[0].service_connect_configuration.services[0].discovery_name #=> String
2310
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases #=> Array
2311
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases[0].port #=> Integer
2312
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases[0].dns_name #=> String
2313
+ # resp.service.deployments[0].service_connect_configuration.services[0].ingress_port_override #=> Integer
2314
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk", "awsfirelens"
2315
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.options #=> Hash
2316
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.options["String"] #=> String
2317
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options #=> Array
2318
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options[0].name #=> String
2319
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options[0].value_from #=> String
2320
+ # resp.service.deployments[0].service_connect_resources #=> Array
2321
+ # resp.service.deployments[0].service_connect_resources[0].discovery_name #=> String
2322
+ # resp.service.deployments[0].service_connect_resources[0].discovery_arn #=> String
2127
2323
  # resp.service.role_arn #=> String
2128
2324
  # resp.service.events #=> Array
2129
2325
  # resp.service.events[0].id #=> String
@@ -2149,7 +2345,7 @@ module Aws::ECS
2149
2345
  # resp.service.tags[0].value #=> String
2150
2346
  # resp.service.created_by #=> String
2151
2347
  # resp.service.enable_ecs_managed_tags #=> Boolean
2152
- # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
2348
+ # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE", "NONE"
2153
2349
  # resp.service.enable_execute_command #=> Boolean
2154
2350
  #
2155
2351
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService AWS API Documentation
@@ -2161,9 +2357,239 @@ module Aws::ECS
2161
2357
  req.send_request(options)
2162
2358
  end
2163
2359
 
2360
+ # Deletes one or more task definitions.
2361
+ #
2362
+ # You must deregister a task definition revision before you delete it.
2363
+ # For more information, see [DeregisterTaskDefinition][1].
2364
+ #
2365
+ # When you delete a task definition revision, it is immediately
2366
+ # transitions from the `INACTIVE` to `DELETE_IN_PROGRESS`. Existing
2367
+ # tasks and services that reference a `DELETE_IN_PROGRESS` task
2368
+ # definition revision continue to run without disruption. Existing
2369
+ # services that reference a `DELETE_IN_PROGRESS` task definition
2370
+ # revision can still scale up or down by modifying the service's
2371
+ # desired count.
2372
+ #
2373
+ # You can't use a `DELETE_IN_PROGRESS` task definition revision to run
2374
+ # new tasks or create new services. You also can't update an existing
2375
+ # service to reference a `DELETE_IN_PROGRESS` task definition revision.
2376
+ #
2377
+ # A task definition revision will stay in `DELETE_IN_PROGRESS` status
2378
+ # until all the associated tasks and services have been terminated.
2379
+ #
2380
+ # When you delete all `INACTIVE` task definition revisions, the task
2381
+ # definition name is not displayed in the console and not returned in
2382
+ # the API. If a task definition revisions are in the
2383
+ # `DELETE_IN_PROGRESS` state, the task definition name is displayed in
2384
+ # the console and returned in the API. The task definition name is
2385
+ # retained by Amazon ECS and the revision is incremented the next time
2386
+ # you create a task definition with that name.
2387
+ #
2388
+ #
2389
+ #
2390
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeregisterTaskDefinition.html
2391
+ #
2392
+ # @option params [required, Array<String>] :task_definitions
2393
+ # The `family` and `revision` (`family:revision`) or full Amazon
2394
+ # Resource Name (ARN) of the task definition to delete. You must specify
2395
+ # a `revision`.
2396
+ #
2397
+ # You can specify up to 10 task definitions as a comma separated list.
2398
+ #
2399
+ # @return [Types::DeleteTaskDefinitionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2400
+ #
2401
+ # * {Types::DeleteTaskDefinitionsResponse#task_definitions #task_definitions} => Array&lt;Types::TaskDefinition&gt;
2402
+ # * {Types::DeleteTaskDefinitionsResponse#failures #failures} => Array&lt;Types::Failure&gt;
2403
+ #
2404
+ # @example Request syntax with placeholder values
2405
+ #
2406
+ # resp = client.delete_task_definitions({
2407
+ # task_definitions: ["String"], # required
2408
+ # })
2409
+ #
2410
+ # @example Response structure
2411
+ #
2412
+ # resp.task_definitions #=> Array
2413
+ # resp.task_definitions[0].task_definition_arn #=> String
2414
+ # resp.task_definitions[0].container_definitions #=> Array
2415
+ # resp.task_definitions[0].container_definitions[0].name #=> String
2416
+ # resp.task_definitions[0].container_definitions[0].image #=> String
2417
+ # resp.task_definitions[0].container_definitions[0].repository_credentials.credentials_parameter #=> String
2418
+ # resp.task_definitions[0].container_definitions[0].cpu #=> Integer
2419
+ # resp.task_definitions[0].container_definitions[0].memory #=> Integer
2420
+ # resp.task_definitions[0].container_definitions[0].memory_reservation #=> Integer
2421
+ # resp.task_definitions[0].container_definitions[0].links #=> Array
2422
+ # resp.task_definitions[0].container_definitions[0].links[0] #=> String
2423
+ # resp.task_definitions[0].container_definitions[0].port_mappings #=> Array
2424
+ # resp.task_definitions[0].container_definitions[0].port_mappings[0].container_port #=> Integer
2425
+ # resp.task_definitions[0].container_definitions[0].port_mappings[0].host_port #=> Integer
2426
+ # resp.task_definitions[0].container_definitions[0].port_mappings[0].protocol #=> String, one of "tcp", "udp"
2427
+ # resp.task_definitions[0].container_definitions[0].port_mappings[0].name #=> String
2428
+ # resp.task_definitions[0].container_definitions[0].port_mappings[0].app_protocol #=> String, one of "http", "http2", "grpc"
2429
+ # resp.task_definitions[0].container_definitions[0].port_mappings[0].container_port_range #=> String
2430
+ # resp.task_definitions[0].container_definitions[0].essential #=> Boolean
2431
+ # resp.task_definitions[0].container_definitions[0].entry_point #=> Array
2432
+ # resp.task_definitions[0].container_definitions[0].entry_point[0] #=> String
2433
+ # resp.task_definitions[0].container_definitions[0].command #=> Array
2434
+ # resp.task_definitions[0].container_definitions[0].command[0] #=> String
2435
+ # resp.task_definitions[0].container_definitions[0].environment #=> Array
2436
+ # resp.task_definitions[0].container_definitions[0].environment[0].name #=> String
2437
+ # resp.task_definitions[0].container_definitions[0].environment[0].value #=> String
2438
+ # resp.task_definitions[0].container_definitions[0].environment_files #=> Array
2439
+ # resp.task_definitions[0].container_definitions[0].environment_files[0].value #=> String
2440
+ # resp.task_definitions[0].container_definitions[0].environment_files[0].type #=> String, one of "s3"
2441
+ # resp.task_definitions[0].container_definitions[0].mount_points #=> Array
2442
+ # resp.task_definitions[0].container_definitions[0].mount_points[0].source_volume #=> String
2443
+ # resp.task_definitions[0].container_definitions[0].mount_points[0].container_path #=> String
2444
+ # resp.task_definitions[0].container_definitions[0].mount_points[0].read_only #=> Boolean
2445
+ # resp.task_definitions[0].container_definitions[0].volumes_from #=> Array
2446
+ # resp.task_definitions[0].container_definitions[0].volumes_from[0].source_container #=> String
2447
+ # resp.task_definitions[0].container_definitions[0].volumes_from[0].read_only #=> Boolean
2448
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.capabilities.add #=> Array
2449
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.capabilities.add[0] #=> String
2450
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.capabilities.drop #=> Array
2451
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.capabilities.drop[0] #=> String
2452
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.devices #=> Array
2453
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.devices[0].host_path #=> String
2454
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.devices[0].container_path #=> String
2455
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.devices[0].permissions #=> Array
2456
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.devices[0].permissions[0] #=> String, one of "read", "write", "mknod"
2457
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.init_process_enabled #=> Boolean
2458
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.shared_memory_size #=> Integer
2459
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.tmpfs #=> Array
2460
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.tmpfs[0].container_path #=> String
2461
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.tmpfs[0].size #=> Integer
2462
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.tmpfs[0].mount_options #=> Array
2463
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.tmpfs[0].mount_options[0] #=> String
2464
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.max_swap #=> Integer
2465
+ # resp.task_definitions[0].container_definitions[0].linux_parameters.swappiness #=> Integer
2466
+ # resp.task_definitions[0].container_definitions[0].secrets #=> Array
2467
+ # resp.task_definitions[0].container_definitions[0].secrets[0].name #=> String
2468
+ # resp.task_definitions[0].container_definitions[0].secrets[0].value_from #=> String
2469
+ # resp.task_definitions[0].container_definitions[0].depends_on #=> Array
2470
+ # resp.task_definitions[0].container_definitions[0].depends_on[0].container_name #=> String
2471
+ # resp.task_definitions[0].container_definitions[0].depends_on[0].condition #=> String, one of "START", "COMPLETE", "SUCCESS", "HEALTHY"
2472
+ # resp.task_definitions[0].container_definitions[0].start_timeout #=> Integer
2473
+ # resp.task_definitions[0].container_definitions[0].stop_timeout #=> Integer
2474
+ # resp.task_definitions[0].container_definitions[0].hostname #=> String
2475
+ # resp.task_definitions[0].container_definitions[0].user #=> String
2476
+ # resp.task_definitions[0].container_definitions[0].working_directory #=> String
2477
+ # resp.task_definitions[0].container_definitions[0].disable_networking #=> Boolean
2478
+ # resp.task_definitions[0].container_definitions[0].privileged #=> Boolean
2479
+ # resp.task_definitions[0].container_definitions[0].readonly_root_filesystem #=> Boolean
2480
+ # resp.task_definitions[0].container_definitions[0].dns_servers #=> Array
2481
+ # resp.task_definitions[0].container_definitions[0].dns_servers[0] #=> String
2482
+ # resp.task_definitions[0].container_definitions[0].dns_search_domains #=> Array
2483
+ # resp.task_definitions[0].container_definitions[0].dns_search_domains[0] #=> String
2484
+ # resp.task_definitions[0].container_definitions[0].extra_hosts #=> Array
2485
+ # resp.task_definitions[0].container_definitions[0].extra_hosts[0].hostname #=> String
2486
+ # resp.task_definitions[0].container_definitions[0].extra_hosts[0].ip_address #=> String
2487
+ # resp.task_definitions[0].container_definitions[0].docker_security_options #=> Array
2488
+ # resp.task_definitions[0].container_definitions[0].docker_security_options[0] #=> String
2489
+ # resp.task_definitions[0].container_definitions[0].interactive #=> Boolean
2490
+ # resp.task_definitions[0].container_definitions[0].pseudo_terminal #=> Boolean
2491
+ # resp.task_definitions[0].container_definitions[0].docker_labels #=> Hash
2492
+ # resp.task_definitions[0].container_definitions[0].docker_labels["String"] #=> String
2493
+ # resp.task_definitions[0].container_definitions[0].ulimits #=> Array
2494
+ # resp.task_definitions[0].container_definitions[0].ulimits[0].name #=> String, one of "core", "cpu", "data", "fsize", "locks", "memlock", "msgqueue", "nice", "nofile", "nproc", "rss", "rtprio", "rttime", "sigpending", "stack"
2495
+ # resp.task_definitions[0].container_definitions[0].ulimits[0].soft_limit #=> Integer
2496
+ # resp.task_definitions[0].container_definitions[0].ulimits[0].hard_limit #=> Integer
2497
+ # resp.task_definitions[0].container_definitions[0].log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk", "awsfirelens"
2498
+ # resp.task_definitions[0].container_definitions[0].log_configuration.options #=> Hash
2499
+ # resp.task_definitions[0].container_definitions[0].log_configuration.options["String"] #=> String
2500
+ # resp.task_definitions[0].container_definitions[0].log_configuration.secret_options #=> Array
2501
+ # resp.task_definitions[0].container_definitions[0].log_configuration.secret_options[0].name #=> String
2502
+ # resp.task_definitions[0].container_definitions[0].log_configuration.secret_options[0].value_from #=> String
2503
+ # resp.task_definitions[0].container_definitions[0].health_check.command #=> Array
2504
+ # resp.task_definitions[0].container_definitions[0].health_check.command[0] #=> String
2505
+ # resp.task_definitions[0].container_definitions[0].health_check.interval #=> Integer
2506
+ # resp.task_definitions[0].container_definitions[0].health_check.timeout #=> Integer
2507
+ # resp.task_definitions[0].container_definitions[0].health_check.retries #=> Integer
2508
+ # resp.task_definitions[0].container_definitions[0].health_check.start_period #=> Integer
2509
+ # resp.task_definitions[0].container_definitions[0].system_controls #=> Array
2510
+ # resp.task_definitions[0].container_definitions[0].system_controls[0].namespace #=> String
2511
+ # resp.task_definitions[0].container_definitions[0].system_controls[0].value #=> String
2512
+ # resp.task_definitions[0].container_definitions[0].resource_requirements #=> Array
2513
+ # resp.task_definitions[0].container_definitions[0].resource_requirements[0].value #=> String
2514
+ # resp.task_definitions[0].container_definitions[0].resource_requirements[0].type #=> String, one of "GPU", "InferenceAccelerator"
2515
+ # resp.task_definitions[0].container_definitions[0].firelens_configuration.type #=> String, one of "fluentd", "fluentbit"
2516
+ # resp.task_definitions[0].container_definitions[0].firelens_configuration.options #=> Hash
2517
+ # resp.task_definitions[0].container_definitions[0].firelens_configuration.options["String"] #=> String
2518
+ # resp.task_definitions[0].container_definitions[0].credential_specs #=> Array
2519
+ # resp.task_definitions[0].container_definitions[0].credential_specs[0] #=> String
2520
+ # resp.task_definitions[0].family #=> String
2521
+ # resp.task_definitions[0].task_role_arn #=> String
2522
+ # resp.task_definitions[0].execution_role_arn #=> String
2523
+ # resp.task_definitions[0].network_mode #=> String, one of "bridge", "host", "awsvpc", "none"
2524
+ # resp.task_definitions[0].revision #=> Integer
2525
+ # resp.task_definitions[0].volumes #=> Array
2526
+ # resp.task_definitions[0].volumes[0].name #=> String
2527
+ # resp.task_definitions[0].volumes[0].host.source_path #=> String
2528
+ # resp.task_definitions[0].volumes[0].docker_volume_configuration.scope #=> String, one of "task", "shared"
2529
+ # resp.task_definitions[0].volumes[0].docker_volume_configuration.autoprovision #=> Boolean
2530
+ # resp.task_definitions[0].volumes[0].docker_volume_configuration.driver #=> String
2531
+ # resp.task_definitions[0].volumes[0].docker_volume_configuration.driver_opts #=> Hash
2532
+ # resp.task_definitions[0].volumes[0].docker_volume_configuration.driver_opts["String"] #=> String
2533
+ # resp.task_definitions[0].volumes[0].docker_volume_configuration.labels #=> Hash
2534
+ # resp.task_definitions[0].volumes[0].docker_volume_configuration.labels["String"] #=> String
2535
+ # resp.task_definitions[0].volumes[0].efs_volume_configuration.file_system_id #=> String
2536
+ # resp.task_definitions[0].volumes[0].efs_volume_configuration.root_directory #=> String
2537
+ # resp.task_definitions[0].volumes[0].efs_volume_configuration.transit_encryption #=> String, one of "ENABLED", "DISABLED"
2538
+ # resp.task_definitions[0].volumes[0].efs_volume_configuration.transit_encryption_port #=> Integer
2539
+ # resp.task_definitions[0].volumes[0].efs_volume_configuration.authorization_config.access_point_id #=> String
2540
+ # resp.task_definitions[0].volumes[0].efs_volume_configuration.authorization_config.iam #=> String, one of "ENABLED", "DISABLED"
2541
+ # resp.task_definitions[0].volumes[0].fsx_windows_file_server_volume_configuration.file_system_id #=> String
2542
+ # resp.task_definitions[0].volumes[0].fsx_windows_file_server_volume_configuration.root_directory #=> String
2543
+ # resp.task_definitions[0].volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.credentials_parameter #=> String
2544
+ # resp.task_definitions[0].volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.domain #=> String
2545
+ # resp.task_definitions[0].status #=> String, one of "ACTIVE", "INACTIVE", "DELETE_IN_PROGRESS"
2546
+ # resp.task_definitions[0].requires_attributes #=> Array
2547
+ # resp.task_definitions[0].requires_attributes[0].name #=> String
2548
+ # resp.task_definitions[0].requires_attributes[0].value #=> String
2549
+ # resp.task_definitions[0].requires_attributes[0].target_type #=> String, one of "container-instance"
2550
+ # resp.task_definitions[0].requires_attributes[0].target_id #=> String
2551
+ # resp.task_definitions[0].placement_constraints #=> Array
2552
+ # resp.task_definitions[0].placement_constraints[0].type #=> String, one of "memberOf"
2553
+ # resp.task_definitions[0].placement_constraints[0].expression #=> String
2554
+ # resp.task_definitions[0].compatibilities #=> Array
2555
+ # resp.task_definitions[0].compatibilities[0] #=> String, one of "EC2", "FARGATE", "EXTERNAL"
2556
+ # resp.task_definitions[0].runtime_platform.cpu_architecture #=> String, one of "X86_64", "ARM64"
2557
+ # resp.task_definitions[0].runtime_platform.operating_system_family #=> String, one of "WINDOWS_SERVER_2019_FULL", "WINDOWS_SERVER_2019_CORE", "WINDOWS_SERVER_2016_FULL", "WINDOWS_SERVER_2004_CORE", "WINDOWS_SERVER_2022_CORE", "WINDOWS_SERVER_2022_FULL", "WINDOWS_SERVER_20H2_CORE", "LINUX"
2558
+ # resp.task_definitions[0].requires_compatibilities #=> Array
2559
+ # resp.task_definitions[0].requires_compatibilities[0] #=> String, one of "EC2", "FARGATE", "EXTERNAL"
2560
+ # resp.task_definitions[0].cpu #=> String
2561
+ # resp.task_definitions[0].memory #=> String
2562
+ # resp.task_definitions[0].inference_accelerators #=> Array
2563
+ # resp.task_definitions[0].inference_accelerators[0].device_name #=> String
2564
+ # resp.task_definitions[0].inference_accelerators[0].device_type #=> String
2565
+ # resp.task_definitions[0].pid_mode #=> String, one of "host", "task"
2566
+ # resp.task_definitions[0].ipc_mode #=> String, one of "host", "task", "none"
2567
+ # resp.task_definitions[0].proxy_configuration.type #=> String, one of "APPMESH"
2568
+ # resp.task_definitions[0].proxy_configuration.container_name #=> String
2569
+ # resp.task_definitions[0].proxy_configuration.properties #=> Array
2570
+ # resp.task_definitions[0].proxy_configuration.properties[0].name #=> String
2571
+ # resp.task_definitions[0].proxy_configuration.properties[0].value #=> String
2572
+ # resp.task_definitions[0].registered_at #=> Time
2573
+ # resp.task_definitions[0].deregistered_at #=> Time
2574
+ # resp.task_definitions[0].registered_by #=> String
2575
+ # resp.task_definitions[0].ephemeral_storage.size_in_gi_b #=> Integer
2576
+ # resp.failures #=> Array
2577
+ # resp.failures[0].arn #=> String
2578
+ # resp.failures[0].reason #=> String
2579
+ # resp.failures[0].detail #=> String
2580
+ #
2581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskDefinitions AWS API Documentation
2582
+ #
2583
+ # @overload delete_task_definitions(params = {})
2584
+ # @param [Hash] params ({})
2585
+ def delete_task_definitions(params = {}, options = {})
2586
+ req = build_request(:delete_task_definitions, params)
2587
+ req.send_request(options)
2588
+ end
2589
+
2164
2590
  # Deletes a specified task set within a service. This is used when a
2165
2591
  # service uses the `EXTERNAL` deployment controller type. For more
2166
- # information, see [Amazon ECS Deployment Types][1] in the *Amazon
2592
+ # information, see [Amazon ECS deployment types][1] in the *Amazon
2167
2593
  # Elastic Container Service Developer Guide*.
2168
2594
  #
2169
2595
  #
@@ -2280,11 +2706,12 @@ module Aws::ECS
2280
2706
  #
2281
2707
  # @option params [required, String] :container_instance
2282
2708
  # The container instance ID or full ARN of the container instance to
2283
- # deregister. The ARN contains the `arn:aws:ecs` namespace, followed by
2284
- # the Region of the container instance, the Amazon Web Services account
2285
- # ID of the container instance owner, the `container-instance`
2286
- # namespace, and then the container instance ID. For example,
2287
- # `arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID`.
2709
+ # deregister. For more information about the ARN format, see [Amazon
2710
+ # Resource Name (ARN)][1] in the *Amazon ECS Developer Guide*.
2711
+ #
2712
+ #
2713
+ #
2714
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
2288
2715
  #
2289
2716
  # @option params [Boolean] :force
2290
2717
  # Forces the container instance to be deregistered. If you have tasks
@@ -2397,7 +2824,8 @@ module Aws::ECS
2397
2824
  # tasks and services that reference an `INACTIVE` task definition
2398
2825
  # continue to run without disruption. Existing services that reference
2399
2826
  # an `INACTIVE` task definition can still scale up or down by modifying
2400
- # the service's desired count.
2827
+ # the service's desired count. If you want to delete a task definition
2828
+ # revision, you must first deregister the task definition revision.
2401
2829
  #
2402
2830
  # You can't use an `INACTIVE` task definition to run new tasks or
2403
2831
  # create new services, and you can't update an existing service to
@@ -2413,6 +2841,13 @@ module Aws::ECS
2413
2841
  #
2414
2842
  # </note>
2415
2843
  #
2844
+ # You must deregister a task definition revision before you delete it.
2845
+ # For more information, see [DeleteTaskDefinitions][1].
2846
+ #
2847
+ #
2848
+ #
2849
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskDefinitions.html
2850
+ #
2416
2851
  # @option params [required, String] :task_definition
2417
2852
  # The `family` and `revision` (`family:revision`) or full Amazon
2418
2853
  # Resource Name (ARN) of the task definition to deregister. You must
@@ -2444,6 +2879,9 @@ module Aws::ECS
2444
2879
  # resp.task_definition.container_definitions[0].port_mappings[0].container_port #=> Integer
2445
2880
  # resp.task_definition.container_definitions[0].port_mappings[0].host_port #=> Integer
2446
2881
  # resp.task_definition.container_definitions[0].port_mappings[0].protocol #=> String, one of "tcp", "udp"
2882
+ # resp.task_definition.container_definitions[0].port_mappings[0].name #=> String
2883
+ # resp.task_definition.container_definitions[0].port_mappings[0].app_protocol #=> String, one of "http", "http2", "grpc"
2884
+ # resp.task_definition.container_definitions[0].port_mappings[0].container_port_range #=> String
2447
2885
  # resp.task_definition.container_definitions[0].essential #=> Boolean
2448
2886
  # resp.task_definition.container_definitions[0].entry_point #=> Array
2449
2887
  # resp.task_definition.container_definitions[0].entry_point[0] #=> String
@@ -2532,6 +2970,8 @@ module Aws::ECS
2532
2970
  # resp.task_definition.container_definitions[0].firelens_configuration.type #=> String, one of "fluentd", "fluentbit"
2533
2971
  # resp.task_definition.container_definitions[0].firelens_configuration.options #=> Hash
2534
2972
  # resp.task_definition.container_definitions[0].firelens_configuration.options["String"] #=> String
2973
+ # resp.task_definition.container_definitions[0].credential_specs #=> Array
2974
+ # resp.task_definition.container_definitions[0].credential_specs[0] #=> String
2535
2975
  # resp.task_definition.family #=> String
2536
2976
  # resp.task_definition.task_role_arn #=> String
2537
2977
  # resp.task_definition.execution_role_arn #=> String
@@ -2557,7 +2997,7 @@ module Aws::ECS
2557
2997
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.root_directory #=> String
2558
2998
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.credentials_parameter #=> String
2559
2999
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.domain #=> String
2560
- # resp.task_definition.status #=> String, one of "ACTIVE", "INACTIVE"
3000
+ # resp.task_definition.status #=> String, one of "ACTIVE", "INACTIVE", "DELETE_IN_PROGRESS"
2561
3001
  # resp.task_definition.requires_attributes #=> Array
2562
3002
  # resp.task_definition.requires_attributes[0].name #=> String
2563
3003
  # resp.task_definition.requires_attributes[0].value #=> String
@@ -2696,7 +3136,8 @@ module Aws::ECS
2696
3136
  # isn't included.
2697
3137
  #
2698
3138
  # If `ATTACHMENTS` is specified, the attachments for the container
2699
- # instances or tasks within the cluster are included.
3139
+ # instances or tasks within the cluster are included, for example the
3140
+ # capacity providers.
2700
3141
  #
2701
3142
  # If `SETTINGS` is specified, the settings for the cluster are included.
2702
3143
  #
@@ -2785,6 +3226,7 @@ module Aws::ECS
2785
3226
  # resp.clusters[0].attachments[0].details[0].name #=> String
2786
3227
  # resp.clusters[0].attachments[0].details[0].value #=> String
2787
3228
  # resp.clusters[0].attachments_status #=> String
3229
+ # resp.clusters[0].service_connect_defaults.namespace #=> String
2788
3230
  # resp.failures #=> Array
2789
3231
  # resp.failures[0].arn #=> String
2790
3232
  # resp.failures[0].reason #=> String
@@ -2844,7 +3286,7 @@ module Aws::ECS
2844
3286
  # container_instances: [
2845
3287
  # {
2846
3288
  # agent_connected: true,
2847
- # container_instance_arn: "arn:aws:ecs:us-east-1:012345678910:container-instance/f2756532-8f13-4d53-87c9-aed50dc94cd7",
3289
+ # container_instance_arn: "arn:aws:ecs:us-east-1:012345678910:container-instance/default/f2756532-8f13-4d53-87c9-aed50dc94cd7",
2848
3290
  # ec2_instance_id: "i-807f3249",
2849
3291
  # pending_tasks_count: 0,
2850
3292
  # registered_resources: [
@@ -3060,10 +3502,10 @@ module Aws::ECS
3060
3502
  # ],
3061
3503
  # pending_count: 0,
3062
3504
  # running_count: 0,
3063
- # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/ecs-simple-service",
3505
+ # service_arn: "arn:aws:ecs:us-east-1:012345678910:service/default/ecs-simple-service",
3064
3506
  # service_name: "ecs-simple-service",
3065
3507
  # status: "ACTIVE",
3066
- # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/hello_world:6",
3508
+ # task_definition: "arn:aws:ecs:us-east-1:012345678910:task-definition/default/hello_world:6",
3067
3509
  # },
3068
3510
  # ],
3069
3511
  # }
@@ -3108,6 +3550,10 @@ module Aws::ECS
3108
3550
  # resp.services[0].deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
3109
3551
  # resp.services[0].deployment_configuration.maximum_percent #=> Integer
3110
3552
  # resp.services[0].deployment_configuration.minimum_healthy_percent #=> Integer
3553
+ # resp.services[0].deployment_configuration.alarms.alarm_names #=> Array
3554
+ # resp.services[0].deployment_configuration.alarms.alarm_names[0] #=> String
3555
+ # resp.services[0].deployment_configuration.alarms.enable #=> Boolean
3556
+ # resp.services[0].deployment_configuration.alarms.rollback #=> Boolean
3111
3557
  # resp.services[0].task_sets #=> Array
3112
3558
  # resp.services[0].task_sets[0].id #=> String
3113
3559
  # resp.services[0].task_sets[0].task_set_arn #=> String
@@ -3175,6 +3621,24 @@ module Aws::ECS
3175
3621
  # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
3176
3622
  # resp.services[0].deployments[0].rollout_state #=> String, one of "COMPLETED", "FAILED", "IN_PROGRESS"
3177
3623
  # resp.services[0].deployments[0].rollout_state_reason #=> String
3624
+ # resp.services[0].deployments[0].service_connect_configuration.enabled #=> Boolean
3625
+ # resp.services[0].deployments[0].service_connect_configuration.namespace #=> String
3626
+ # resp.services[0].deployments[0].service_connect_configuration.services #=> Array
3627
+ # resp.services[0].deployments[0].service_connect_configuration.services[0].port_name #=> String
3628
+ # resp.services[0].deployments[0].service_connect_configuration.services[0].discovery_name #=> String
3629
+ # resp.services[0].deployments[0].service_connect_configuration.services[0].client_aliases #=> Array
3630
+ # resp.services[0].deployments[0].service_connect_configuration.services[0].client_aliases[0].port #=> Integer
3631
+ # resp.services[0].deployments[0].service_connect_configuration.services[0].client_aliases[0].dns_name #=> String
3632
+ # resp.services[0].deployments[0].service_connect_configuration.services[0].ingress_port_override #=> Integer
3633
+ # resp.services[0].deployments[0].service_connect_configuration.log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk", "awsfirelens"
3634
+ # resp.services[0].deployments[0].service_connect_configuration.log_configuration.options #=> Hash
3635
+ # resp.services[0].deployments[0].service_connect_configuration.log_configuration.options["String"] #=> String
3636
+ # resp.services[0].deployments[0].service_connect_configuration.log_configuration.secret_options #=> Array
3637
+ # resp.services[0].deployments[0].service_connect_configuration.log_configuration.secret_options[0].name #=> String
3638
+ # resp.services[0].deployments[0].service_connect_configuration.log_configuration.secret_options[0].value_from #=> String
3639
+ # resp.services[0].deployments[0].service_connect_resources #=> Array
3640
+ # resp.services[0].deployments[0].service_connect_resources[0].discovery_name #=> String
3641
+ # resp.services[0].deployments[0].service_connect_resources[0].discovery_arn #=> String
3178
3642
  # resp.services[0].role_arn #=> String
3179
3643
  # resp.services[0].events #=> Array
3180
3644
  # resp.services[0].events[0].id #=> String
@@ -3200,7 +3664,7 @@ module Aws::ECS
3200
3664
  # resp.services[0].tags[0].value #=> String
3201
3665
  # resp.services[0].created_by #=> String
3202
3666
  # resp.services[0].enable_ecs_managed_tags #=> Boolean
3203
- # resp.services[0].propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
3667
+ # resp.services[0].propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE", "NONE"
3204
3668
  # resp.services[0].enable_execute_command #=> Boolean
3205
3669
  # resp.failures #=> Array
3206
3670
  # resp.failures[0].arn #=> String
@@ -3333,6 +3797,9 @@ module Aws::ECS
3333
3797
  # resp.task_definition.container_definitions[0].port_mappings[0].container_port #=> Integer
3334
3798
  # resp.task_definition.container_definitions[0].port_mappings[0].host_port #=> Integer
3335
3799
  # resp.task_definition.container_definitions[0].port_mappings[0].protocol #=> String, one of "tcp", "udp"
3800
+ # resp.task_definition.container_definitions[0].port_mappings[0].name #=> String
3801
+ # resp.task_definition.container_definitions[0].port_mappings[0].app_protocol #=> String, one of "http", "http2", "grpc"
3802
+ # resp.task_definition.container_definitions[0].port_mappings[0].container_port_range #=> String
3336
3803
  # resp.task_definition.container_definitions[0].essential #=> Boolean
3337
3804
  # resp.task_definition.container_definitions[0].entry_point #=> Array
3338
3805
  # resp.task_definition.container_definitions[0].entry_point[0] #=> String
@@ -3421,6 +3888,8 @@ module Aws::ECS
3421
3888
  # resp.task_definition.container_definitions[0].firelens_configuration.type #=> String, one of "fluentd", "fluentbit"
3422
3889
  # resp.task_definition.container_definitions[0].firelens_configuration.options #=> Hash
3423
3890
  # resp.task_definition.container_definitions[0].firelens_configuration.options["String"] #=> String
3891
+ # resp.task_definition.container_definitions[0].credential_specs #=> Array
3892
+ # resp.task_definition.container_definitions[0].credential_specs[0] #=> String
3424
3893
  # resp.task_definition.family #=> String
3425
3894
  # resp.task_definition.task_role_arn #=> String
3426
3895
  # resp.task_definition.execution_role_arn #=> String
@@ -3446,7 +3915,7 @@ module Aws::ECS
3446
3915
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.root_directory #=> String
3447
3916
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.credentials_parameter #=> String
3448
3917
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.domain #=> String
3449
- # resp.task_definition.status #=> String, one of "ACTIVE", "INACTIVE"
3918
+ # resp.task_definition.status #=> String, one of "ACTIVE", "INACTIVE", "DELETE_IN_PROGRESS"
3450
3919
  # resp.task_definition.requires_attributes #=> Array
3451
3920
  # resp.task_definition.requires_attributes[0].name #=> String
3452
3921
  # resp.task_definition.requires_attributes[0].value #=> String
@@ -3590,6 +4059,14 @@ module Aws::ECS
3590
4059
 
3591
4060
  # Describes a specified task or tasks.
3592
4061
  #
4062
+ # Currently, stopped tasks appear in the returned results for at least
4063
+ # one hour.
4064
+ #
4065
+ # If you have tasks with tags, and then delete the cluster, the tagged
4066
+ # tasks are returned in the response. If you create a new cluster with
4067
+ # the same name as the deleted cluster, the tagged tasks are not
4068
+ # included in the response.
4069
+ #
3593
4070
  # @option params [String] :cluster
3594
4071
  # The short name or full Amazon Resource Name (ARN) of the cluster that
3595
4072
  # hosts the task or tasks to describe. If you do not specify a cluster,
@@ -3628,7 +4105,7 @@ module Aws::ECS
3628
4105
  # tasks: [
3629
4106
  # {
3630
4107
  # cluster_arn: "arn:aws:ecs:<region>:<aws_account_id>:cluster/default",
3631
- # container_instance_arn: "arn:aws:ecs:<region>:<aws_account_id>:container-instance/18f9eda5-27d7-4c19-b133-45adc516e8fb",
4108
+ # container_instance_arn: "arn:aws:ecs:<region>:<aws_account_id>:container-instance/default/18f9eda5-27d7-4c19-b133-45adc516e8fb",
3632
4109
  # containers: [
3633
4110
  # {
3634
4111
  # name: "ecs-demo",
@@ -3641,7 +4118,7 @@ module Aws::ECS
3641
4118
  # host_port: 80,
3642
4119
  # },
3643
4120
  # ],
3644
- # task_arn: "arn:aws:ecs:<region>:<aws_account_id>:task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8",
4121
+ # task_arn: "arn:aws:ecs:<region>:<aws_account_id>:task/default/c5cba4eb-5dad-405e-96db-71ef8eefe6a8",
3645
4122
  # },
3646
4123
  # ],
3647
4124
  # desired_status: "RUNNING",
@@ -3654,7 +4131,7 @@ module Aws::ECS
3654
4131
  # ],
3655
4132
  # },
3656
4133
  # started_by: "ecs-svc/9223370608528463088",
3657
- # task_arn: "arn:aws:ecs:<region>:<aws_account_id>:task/c5cba4eb-5dad-405e-96db-71ef8eefe6a8",
4134
+ # task_arn: "arn:aws:ecs:<region>:<aws_account_id>:task/default/c5cba4eb-5dad-405e-96db-71ef8eefe6a8",
3658
4135
  # task_definition_arn: "arn:aws:ecs:<region>:<aws_account_id>:task-definition/amazon-ecs-sample:1",
3659
4136
  # },
3660
4137
  # ],
@@ -3704,6 +4181,8 @@ module Aws::ECS
3704
4181
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
3705
4182
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
3706
4183
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
4184
+ # resp.tasks[0].containers[0].network_bindings[0].container_port_range #=> String
4185
+ # resp.tasks[0].containers[0].network_bindings[0].host_port_range #=> String
3707
4186
  # resp.tasks[0].containers[0].network_interfaces #=> Array
3708
4187
  # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
3709
4188
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -3762,7 +4241,7 @@ module Aws::ECS
3762
4241
  # resp.tasks[0].pull_stopped_at #=> Time
3763
4242
  # resp.tasks[0].started_at #=> Time
3764
4243
  # resp.tasks[0].started_by #=> String
3765
- # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
4244
+ # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated", "ServiceSchedulerInitiated", "SpotInterruption", "TerminationNotice"
3766
4245
  # resp.tasks[0].stopped_at #=> Time
3767
4246
  # resp.tasks[0].stopped_reason #=> String
3768
4247
  # resp.tasks[0].stopping_at #=> Time
@@ -3801,12 +4280,13 @@ module Aws::ECS
3801
4280
  # Returns an endpoint for the Amazon ECS agent to poll for updates.
3802
4281
  #
3803
4282
  # @option params [String] :container_instance
3804
- # The container instance ID or full ARN of the container instance. The
3805
- # ARN contains the `arn:aws:ecs` namespace, followed by the Region of
3806
- # the container instance, the Amazon Web Services account ID of the
3807
- # container instance owner, the `container-instance` namespace, and then
3808
- # the container instance ID. For example,
3809
- # `arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID`.
4283
+ # The container instance ID or full ARN of the container instance. For
4284
+ # more information about the ARN format, see [Amazon Resource Name
4285
+ # (ARN)][1] in the *Amazon ECS Developer Guide*.
4286
+ #
4287
+ #
4288
+ #
4289
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids
3810
4290
  #
3811
4291
  # @option params [String] :cluster
3812
4292
  # The short name or full Amazon Resource Name (ARN) of the cluster that
@@ -3816,6 +4296,7 @@ module Aws::ECS
3816
4296
  #
3817
4297
  # * {Types::DiscoverPollEndpointResponse#endpoint #endpoint} => String
3818
4298
  # * {Types::DiscoverPollEndpointResponse#telemetry_endpoint #telemetry_endpoint} => String
4299
+ # * {Types::DiscoverPollEndpointResponse#service_connect_endpoint #service_connect_endpoint} => String
3819
4300
  #
3820
4301
  # @example Request syntax with placeholder values
3821
4302
  #
@@ -3828,6 +4309,7 @@ module Aws::ECS
3828
4309
  #
3829
4310
  # resp.endpoint #=> String
3830
4311
  # resp.telemetry_endpoint #=> String
4312
+ # resp.service_connect_endpoint #=> String
3831
4313
  #
3832
4314
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpoint AWS API Documentation
3833
4315
  #
@@ -3840,6 +4322,20 @@ module Aws::ECS
3840
4322
 
3841
4323
  # Runs a command remotely on a container within a task.
3842
4324
  #
4325
+ # If you use a condition key in your IAM policy to refine the conditions
4326
+ # for the policy statement, for example limit the actions to a specific
4327
+ # cluster, you receive an `AccessDeniedException` when there is a
4328
+ # mismatch between the condition key value and the corresponding
4329
+ # parameter value.
4330
+ #
4331
+ # For information about required permissions and considerations, see
4332
+ # [Using Amazon ECS Exec for debugging][1] in the *Amazon ECS Developer
4333
+ # Guide*.
4334
+ #
4335
+ #
4336
+ #
4337
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html
4338
+ #
3843
4339
  # @option params [String] :cluster
3844
4340
  # The Amazon Resource Name (ARN) or short name of the cluster the task
3845
4341
  # is running in. If you do not specify a cluster, the default cluster is
@@ -3898,6 +4394,72 @@ module Aws::ECS
3898
4394
  req.send_request(options)
3899
4395
  end
3900
4396
 
4397
+ # Retrieves the protection status of tasks in an Amazon ECS service.
4398
+ #
4399
+ # @option params [required, String] :cluster
4400
+ # The short name or full Amazon Resource Name (ARN) of the cluster that
4401
+ # hosts the service that the task sets exist in.
4402
+ #
4403
+ # @option params [Array<String>] :tasks
4404
+ # A list of up to 100 task IDs or full ARN entries.
4405
+ #
4406
+ # @return [Types::GetTaskProtectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4407
+ #
4408
+ # * {Types::GetTaskProtectionResponse#protected_tasks #protected_tasks} => Array&lt;Types::ProtectedTask&gt;
4409
+ # * {Types::GetTaskProtectionResponse#failures #failures} => Array&lt;Types::Failure&gt;
4410
+ #
4411
+ #
4412
+ # @example Example: To get the protection status of a task
4413
+ #
4414
+ # # In this example, we get the protection status for a single task.
4415
+ #
4416
+ # resp = client.get_task_protection({
4417
+ # cluster: "test-task-protection",
4418
+ # tasks: [
4419
+ # "b8b1cf532d0e46ba8d44a40d1de16772",
4420
+ # ],
4421
+ # })
4422
+ #
4423
+ # resp.to_h outputs the following:
4424
+ # {
4425
+ # failures: [
4426
+ # ],
4427
+ # protected_tasks: [
4428
+ # {
4429
+ # expiration_date: Time.parse("2022-11-02T06:56:32.553Z"),
4430
+ # protection_enabled: true,
4431
+ # task_arn: "arn:aws:ecs:us-west-2:012345678910:task/default/b8b1cf532d0e46ba8d44a40d1de16772",
4432
+ # },
4433
+ # ],
4434
+ # }
4435
+ #
4436
+ # @example Request syntax with placeholder values
4437
+ #
4438
+ # resp = client.get_task_protection({
4439
+ # cluster: "String", # required
4440
+ # tasks: ["String"],
4441
+ # })
4442
+ #
4443
+ # @example Response structure
4444
+ #
4445
+ # resp.protected_tasks #=> Array
4446
+ # resp.protected_tasks[0].task_arn #=> String
4447
+ # resp.protected_tasks[0].protection_enabled #=> Boolean
4448
+ # resp.protected_tasks[0].expiration_date #=> Time
4449
+ # resp.failures #=> Array
4450
+ # resp.failures[0].arn #=> String
4451
+ # resp.failures[0].reason #=> String
4452
+ # resp.failures[0].detail #=> String
4453
+ #
4454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/GetTaskProtection AWS API Documentation
4455
+ #
4456
+ # @overload get_task_protection(params = {})
4457
+ # @param [Hash] params ({})
4458
+ def get_task_protection(params = {}, options = {})
4459
+ req = build_request(:get_task_protection, params)
4460
+ req.send_request(options)
4461
+ end
4462
+
3901
4463
  # Lists the account settings for a specified principal.
3902
4464
  #
3903
4465
  # @option params [String] :name
@@ -3908,9 +4470,9 @@ module Aws::ECS
3908
4470
  # also specify an account setting name to use this parameter.
3909
4471
  #
3910
4472
  # @option params [String] :principal_arn
3911
- # The ARN of the principal, which can be an IAM user, IAM role, or the
3912
- # root user. If this field is omitted, the account settings are listed
3913
- # only for the authenticated user.
4473
+ # The ARN of the principal, which can be a user, role, or the root user.
4474
+ # If this field is omitted, the account settings are listed only for the
4475
+ # authenticated user.
3914
4476
  #
3915
4477
  # <note markdown="1"> Federated users assume the account setting of the root user and can't
3916
4478
  # have explicit account settings set for them.
@@ -4017,7 +4579,7 @@ module Aws::ECS
4017
4579
  # @example Request syntax with placeholder values
4018
4580
  #
4019
4581
  # resp = client.list_account_settings({
4020
- # name: "serviceLongArnFormat", # accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
4582
+ # name: "serviceLongArnFormat", # accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights, fargateFIPSMode, tagResourceAuthorization, fargateTaskRetirementWaitPeriod
4021
4583
  # value: "String",
4022
4584
  # principal_arn: "String",
4023
4585
  # effective_settings: false,
@@ -4028,7 +4590,7 @@ module Aws::ECS
4028
4590
  # @example Response structure
4029
4591
  #
4030
4592
  # resp.settings #=> Array
4031
- # resp.settings[0].name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights"
4593
+ # resp.settings[0].name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights", "fargateFIPSMode", "tagResourceAuthorization", "fargateTaskRetirementWaitPeriod"
4032
4594
  # resp.settings[0].value #=> String
4033
4595
  # resp.settings[0].principal_arn #=> String
4034
4596
  # resp.next_token #=> String
@@ -4267,8 +4829,8 @@ module Aws::ECS
4267
4829
  # resp.to_h outputs the following:
4268
4830
  # {
4269
4831
  # container_instance_arns: [
4270
- # "arn:aws:ecs:us-east-1:<aws_account_id>:container-instance/f6bbb147-5370-4ace-8c73-c7181ded911f",
4271
- # "arn:aws:ecs:us-east-1:<aws_account_id>:container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb",
4832
+ # "arn:aws:ecs:us-east-1:<aws_account_id>:container-instance/default/f6bbb147-5370-4ace-8c73-c7181ded911f",
4833
+ # "arn:aws:ecs:us-east-1:<aws_account_id>:container-instance/default/ffe3d344-77e2-476c-a4d0-bf560ad50acb",
4272
4834
  # ],
4273
4835
  # }
4274
4836
  #
@@ -4352,7 +4914,7 @@ module Aws::ECS
4352
4914
  # resp.to_h outputs the following:
4353
4915
  # {
4354
4916
  # service_arns: [
4355
- # "arn:aws:ecs:us-east-1:012345678910:service/my-http-service",
4917
+ # "arn:aws:ecs:us-east-1:012345678910:service/default/my-http-service",
4356
4918
  # ],
4357
4919
  # }
4358
4920
  #
@@ -4381,6 +4943,82 @@ module Aws::ECS
4381
4943
  req.send_request(options)
4382
4944
  end
4383
4945
 
4946
+ # This operation lists all of the services that are associated with a
4947
+ # Cloud Map namespace. This list might include services in different
4948
+ # clusters. In contrast, `ListServices` can only list services in one
4949
+ # cluster at a time. If you need to filter the list of services in a
4950
+ # single cluster by various parameters, use `ListServices`. For more
4951
+ # information, see [Service Connect][1] in the *Amazon Elastic Container
4952
+ # Service Developer Guide*.
4953
+ #
4954
+ #
4955
+ #
4956
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
4957
+ #
4958
+ # @option params [required, String] :namespace
4959
+ # The namespace name or full Amazon Resource Name (ARN) of the Cloud Map
4960
+ # namespace to list the services in.
4961
+ #
4962
+ # Tasks that run in a namespace can use short names to connect to
4963
+ # services in the namespace. Tasks can connect to services across all of
4964
+ # the clusters in the namespace. Tasks connect through a managed proxy
4965
+ # container that collects logs and metrics for increased visibility.
4966
+ # Only the tasks that Amazon ECS services create are supported with
4967
+ # Service Connect. For more information, see [Service Connect][1] in the
4968
+ # *Amazon Elastic Container Service Developer Guide*.
4969
+ #
4970
+ #
4971
+ #
4972
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
4973
+ #
4974
+ # @option params [String] :next_token
4975
+ # The `nextToken` value that's returned from a
4976
+ # `ListServicesByNamespace` request. It indicates that more results are
4977
+ # available to fulfill the request and further calls are needed. If
4978
+ # `maxResults` is returned, it is possible the number of results is less
4979
+ # than `maxResults`.
4980
+ #
4981
+ # @option params [Integer] :max_results
4982
+ # The maximum number of service results that `ListServicesByNamespace`
4983
+ # returns in paginated output. When this parameter is used,
4984
+ # `ListServicesByNamespace` only returns `maxResults` results in a
4985
+ # single page along with a `nextToken` response element. The remaining
4986
+ # results of the initial request can be seen by sending another
4987
+ # `ListServicesByNamespace` request with the returned `nextToken` value.
4988
+ # This value can be between 1 and 100. If this parameter isn't used,
4989
+ # then `ListServicesByNamespace` returns up to 10 results and a
4990
+ # `nextToken` value if applicable.
4991
+ #
4992
+ # @return [Types::ListServicesByNamespaceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4993
+ #
4994
+ # * {Types::ListServicesByNamespaceResponse#service_arns #service_arns} => Array&lt;String&gt;
4995
+ # * {Types::ListServicesByNamespaceResponse#next_token #next_token} => String
4996
+ #
4997
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4998
+ #
4999
+ # @example Request syntax with placeholder values
5000
+ #
5001
+ # resp = client.list_services_by_namespace({
5002
+ # namespace: "String", # required
5003
+ # next_token: "String",
5004
+ # max_results: 1,
5005
+ # })
5006
+ #
5007
+ # @example Response structure
5008
+ #
5009
+ # resp.service_arns #=> Array
5010
+ # resp.service_arns[0] #=> String
5011
+ # resp.next_token #=> String
5012
+ #
5013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesByNamespace AWS API Documentation
5014
+ #
5015
+ # @overload list_services_by_namespace(params = {})
5016
+ # @param [Hash] params ({})
5017
+ def list_services_by_namespace(params = {}, options = {})
5018
+ req = build_request(:list_services_by_namespace, params)
5019
+ req.send_request(options)
5020
+ end
5021
+
4384
5022
  # List the tags for an Amazon ECS resource.
4385
5023
  #
4386
5024
  # @option params [required, String] :resource_arn
@@ -4645,7 +5283,7 @@ module Aws::ECS
4645
5283
  #
4646
5284
  # resp = client.list_task_definitions({
4647
5285
  # family_prefix: "String",
4648
- # status: "ACTIVE", # accepts ACTIVE, INACTIVE
5286
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE, DELETE_IN_PROGRESS
4649
5287
  # sort: "ASC", # accepts ASC, DESC
4650
5288
  # next_token: "String",
4651
5289
  # max_results: 1,
@@ -4671,8 +5309,6 @@ module Aws::ECS
4671
5309
  # started the task, or by the desired status of the task.
4672
5310
  #
4673
5311
  # Recently stopped tasks might appear in the returned results.
4674
- # Currently, stopped tasks appear in the returned results for at least
4675
- # one hour.
4676
5312
  #
4677
5313
  # @option params [String] :cluster
4678
5314
  # The short name or full Amazon Resource Name (ARN) of the cluster to
@@ -4717,6 +5353,9 @@ module Aws::ECS
4717
5353
  # `startedBy` value limits the results to tasks that were started with
4718
5354
  # that value.
4719
5355
  #
5356
+ # When you specify `startedBy` as the filter, it must be the only filter
5357
+ # that you use.
5358
+ #
4720
5359
  # @option params [String] :service_name
4721
5360
  # The name of the service to use when filtering the `ListTasks` results.
4722
5361
  # Specifying a `serviceName` limits the results to tasks that belong to
@@ -4759,8 +5398,8 @@ module Aws::ECS
4759
5398
  # resp.to_h outputs the following:
4760
5399
  # {
4761
5400
  # task_arns: [
4762
- # "arn:aws:ecs:us-east-1:012345678910:task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84",
4763
- # "arn:aws:ecs:us-east-1:012345678910:task/6b809ef6-c67e-4467-921f-ee261c15a0a1",
5401
+ # "arn:aws:ecs:us-east-1:012345678910:task/default/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84",
5402
+ # "arn:aws:ecs:us-east-1:012345678910:task/default/6b809ef6-c67e-4467-921f-ee261c15a0a1",
4764
5403
  # ],
4765
5404
  # }
4766
5405
  #
@@ -4777,7 +5416,7 @@ module Aws::ECS
4777
5416
  # resp.to_h outputs the following:
4778
5417
  # {
4779
5418
  # task_arns: [
4780
- # "arn:aws:ecs:us-east-1:012345678910:task/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84",
5419
+ # "arn:aws:ecs:us-east-1:012345678910:task/default/0cc43cdb-3bee-4407-9c26-c0e6ea5bee84",
4781
5420
  # ],
4782
5421
  # }
4783
5422
  #
@@ -4813,69 +5452,110 @@ module Aws::ECS
4813
5452
  # Modifies an account setting. Account settings are set on a per-Region
4814
5453
  # basis.
4815
5454
  #
4816
- # If you change the account setting for the root user, the default
4817
- # settings for all of the IAM users and roles that no individual account
4818
- # setting was specified are reset for. For more information, see
4819
- # [Account Settings][1] in the *Amazon Elastic Container Service
4820
- # Developer Guide*.
5455
+ # If you change the root user account setting, the default settings are
5456
+ # reset for users and roles that do not have specified individual
5457
+ # account settings. For more information, see [Account Settings][1] in
5458
+ # the *Amazon Elastic Container Service Developer Guide*.
4821
5459
  #
4822
- # When `serviceLongArnFormat`, `taskLongArnFormat`, or
4823
- # `containerInstanceLongArnFormat` are specified, the Amazon Resource
4824
- # Name (ARN) and resource ID format of the resource type for a specified
4825
- # IAM user, IAM role, or the root user for an account is affected. The
4826
- # opt-in and opt-out account setting must be set for each Amazon ECS
4827
- # resource separately. The ARN and resource ID format of a resource is
4828
- # defined by the opt-in status of the IAM user or role that created the
4829
- # resource. You must enable this setting to use Amazon ECS features such
4830
- # as resource tagging.
4831
- #
4832
- # When `awsvpcTrunking` is specified, the elastic network interface
4833
- # (ENI) limit for any new container instances that support the feature
4834
- # is changed. If `awsvpcTrunking` is enabled, any new container
4835
- # instances that support the feature are launched have the increased ENI
4836
- # limits available to them. For more information, see [Elastic Network
5460
+ # When you specify `serviceLongArnFormat`, `taskLongArnFormat`, or
5461
+ # `containerInstanceLongArnFormat`, the Amazon Resource Name (ARN) and
5462
+ # resource ID format of the resource type for a specified user, role, or
5463
+ # the root user for an account is affected. The opt-in and opt-out
5464
+ # account setting must be set for each Amazon ECS resource separately.
5465
+ # The ARN and resource ID format of a resource is defined by the opt-in
5466
+ # status of the user or role that created the resource. You must turn on
5467
+ # this setting to use Amazon ECS features such as resource tagging.
5468
+ #
5469
+ # When you specify `awsvpcTrunking`, the elastic network interface (ENI)
5470
+ # limit for any new container instances that support the feature is
5471
+ # changed. If `awsvpcTrunking` is turned on, any new container instances
5472
+ # that support the feature are launched have the increased ENI limits
5473
+ # available to them. For more information, see [Elastic Network
4837
5474
  # Interface Trunking][2] in the *Amazon Elastic Container Service
4838
5475
  # Developer Guide*.
4839
5476
  #
4840
- # When `containerInsights` is specified, the default setting indicating
4841
- # whether CloudWatch Container Insights is enabled for your clusters is
4842
- # changed. If `containerInsights` is enabled, any new clusters that are
4843
- # created will have Container Insights enabled unless you disable it
4844
- # during cluster creation. For more information, see [CloudWatch
4845
- # Container Insights][3] in the *Amazon Elastic Container Service
4846
- # Developer Guide*.
5477
+ # When you specify `containerInsights`, the default setting indicating
5478
+ # whether Amazon Web Services CloudWatch Container Insights is turned on
5479
+ # for your clusters is changed. If `containerInsights` is turned on, any
5480
+ # new clusters that are created will have Container Insights turned on
5481
+ # unless you disable it during cluster creation. For more information,
5482
+ # see [CloudWatch Container Insights][3] in the *Amazon Elastic
5483
+ # Container Service Developer Guide*.
5484
+ #
5485
+ # Amazon ECS is introducing tagging authorization for resource creation.
5486
+ # Users must have permissions for actions that create the resource, such
5487
+ # as `ecsCreateCluster`. If tags are specified when you create a
5488
+ # resource, Amazon Web Services performs additional authorization to
5489
+ # verify if users or roles have permissions to create tags. Therefore,
5490
+ # you must grant explicit permissions to use the `ecs:TagResource`
5491
+ # action. For more information, see [Grant permission to tag resources
5492
+ # on creation][4] in the *Amazon ECS Developer Guide*.
5493
+ #
5494
+ # When Amazon Web Services determines that a security or infrastructure
5495
+ # update is needed for an Amazon ECS task hosted on Fargate, the tasks
5496
+ # need to be stopped and new tasks launched to replace them. Use
5497
+ # `fargateTaskRetirementWaitPeriod` to configure the wait time to retire
5498
+ # a Fargate task. For information about the Fargate tasks maintenance,
5499
+ # see [Amazon Web Services Fargate task maintenance][5] in the *Amazon
5500
+ # ECS Developer Guide*.
4847
5501
  #
4848
5502
  #
4849
5503
  #
4850
5504
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html
4851
5505
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-instance-eni.html
4852
5506
  # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html
5507
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/supported-iam-actions-tagging.html
5508
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html
4853
5509
  #
4854
5510
  # @option params [required, String] :name
4855
5511
  # The Amazon ECS resource name for which to modify the account setting.
4856
- # If `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
4857
- # services is affected. If `taskLongArnFormat` is specified, the ARN and
4858
- # resource ID for your Amazon ECS tasks is affected. If
4859
- # `containerInstanceLongArnFormat` is specified, the ARN and resource ID
4860
- # for your Amazon ECS container instances is affected. If
4861
- # `awsvpcTrunking` is specified, the elastic network interface (ENI)
4862
- # limit for your Amazon ECS container instances is affected. If
4863
- # `containerInsights` is specified, the default setting for CloudWatch
4864
- # Container Insights for your clusters is affected.
5512
+ # If you specify `serviceLongArnFormat`, the ARN for your Amazon ECS
5513
+ # services is affected. If you specify `taskLongArnFormat`, the ARN and
5514
+ # resource ID for your Amazon ECS tasks is affected. If you specify
5515
+ # `containerInstanceLongArnFormat`, the ARN and resource ID for your
5516
+ # Amazon ECS container instances is affected. If you specify
5517
+ # `awsvpcTrunking`, the elastic network interface (ENI) limit for your
5518
+ # Amazon ECS container instances is affected. If you specify
5519
+ # `containerInsights`, the default setting for Amazon Web Services
5520
+ # CloudWatch Container Insights for your clusters is affected. If you
5521
+ # specify `fargateFIPSMode`, Fargate FIPS 140 compliance is affected. If
5522
+ # you specify `tagResourceAuthorization`, the opt-in option for tagging
5523
+ # resources on creation is affected. For information about the opt-in
5524
+ # timeline, see [Tagging authorization timeline][1] in the *Amazon ECS
5525
+ # Developer Guide*. If you specify `fargateTaskRetirementWaitPeriod`,
5526
+ # the wait time to retire a Fargate task is affected.
5527
+ #
5528
+ #
5529
+ #
5530
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources
4865
5531
  #
4866
5532
  # @option params [required, String] :value
4867
5533
  # The account setting value for the specified principal ARN. Accepted
4868
- # values are `enabled` and `disabled`.
5534
+ # values are `enabled`, `disabled`, `on`, and `off`.
5535
+ #
5536
+ # When you specify `fargateTaskRetirementWaitPeriod` for the `name`, the
5537
+ # following are the valid values:
5538
+ #
5539
+ # * `0` - Amazon Web Services sends the notification, and immediately
5540
+ # retires the affected tasks.
5541
+ #
5542
+ # * `7` - Amazon Web Services sends the notification, and waits 7
5543
+ # calendar days to retire the tasks.
5544
+ #
5545
+ # * `14` - Amazon Web Services sends the notification, and waits 14
5546
+ # calendar days to retire the tasks.
4869
5547
  #
4870
5548
  # @option params [String] :principal_arn
4871
- # The ARN of the principal, which can be an IAM user, IAM role, or the
4872
- # root user. If you specify the root user, it modifies the account
4873
- # setting for all IAM users, IAM roles, and the root user of the account
4874
- # unless an IAM user or role explicitly overrides these settings. If
4875
- # this field is omitted, the setting is changed only for the
4876
- # authenticated user.
5549
+ # The ARN of the principal, which can be a user, role, or the root user.
5550
+ # If you specify the root user, it modifies the account setting for all
5551
+ # users, roles, and the root user of the account unless a user or role
5552
+ # explicitly overrides these settings. If this field is omitted, the
5553
+ # setting is changed only for the authenticated user.
4877
5554
  #
4878
- # <note markdown="1"> Federated users assume the account setting of the root user and can't
5555
+ # <note markdown="1"> You must use the root user when you set the Fargate wait time
5556
+ # (`fargateTaskRetirementWaitPeriod`).
5557
+ #
5558
+ # Federated users assume the account setting of the root user and can't
4879
5559
  # have explicit account settings set for them.
4880
5560
  #
4881
5561
  # </note>
@@ -4929,14 +5609,14 @@ module Aws::ECS
4929
5609
  # @example Request syntax with placeholder values
4930
5610
  #
4931
5611
  # resp = client.put_account_setting({
4932
- # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
5612
+ # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights, fargateFIPSMode, tagResourceAuthorization, fargateTaskRetirementWaitPeriod
4933
5613
  # value: "String", # required
4934
5614
  # principal_arn: "String",
4935
5615
  # })
4936
5616
  #
4937
5617
  # @example Response structure
4938
5618
  #
4939
- # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights"
5619
+ # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights", "fargateFIPSMode", "tagResourceAuthorization", "fargateTaskRetirementWaitPeriod"
4940
5620
  # resp.setting.value #=> String
4941
5621
  # resp.setting.principal_arn #=> String
4942
5622
  #
@@ -4949,25 +5629,63 @@ module Aws::ECS
4949
5629
  req.send_request(options)
4950
5630
  end
4951
5631
 
4952
- # Modifies an account setting for all IAM users on an account for whom
4953
- # no individual account setting has been specified. Account settings are
5632
+ # Modifies an account setting for all users on an account for whom no
5633
+ # individual account setting has been specified. Account settings are
4954
5634
  # set on a per-Region basis.
4955
5635
  #
4956
5636
  # @option params [required, String] :name
4957
- # The resource name for which to modify the account setting. If
4958
- # `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
4959
- # services is affected. If `taskLongArnFormat` is specified, the ARN and
4960
- # resource ID for your Amazon ECS tasks is affected. If
4961
- # `containerInstanceLongArnFormat` is specified, the ARN and resource ID
4962
- # for your Amazon ECS container instances is affected. If
4963
- # `awsvpcTrunking` is specified, the ENI limit for your Amazon ECS
4964
- # container instances is affected. If `containerInsights` is specified,
4965
- # the default setting for CloudWatch Container Insights for your
4966
- # clusters is affected.
5637
+ # The resource name for which to modify the account setting. If you
5638
+ # specify `serviceLongArnFormat`, the ARN for your Amazon ECS services
5639
+ # is affected. If you specify `taskLongArnFormat`, the ARN and resource
5640
+ # ID for your Amazon ECS tasks is affected. If you specify
5641
+ # `containerInstanceLongArnFormat`, the ARN and resource ID for your
5642
+ # Amazon ECS container instances is affected. If you specify
5643
+ # `awsvpcTrunking`, the ENI limit for your Amazon ECS container
5644
+ # instances is affected. If you specify `containerInsights`, the default
5645
+ # setting for Amazon Web Services CloudWatch Container Insights for your
5646
+ # clusters is affected. If you specify `tagResourceAuthorization`, the
5647
+ # opt-in option for tagging resources on creation is affected. For
5648
+ # information about the opt-in timeline, see [Tagging authorization
5649
+ # timeline][1] in the *Amazon ECS Developer Guide*. If you specify
5650
+ # `fargateTaskRetirementWaitPeriod`, the default wait time to retire a
5651
+ # Fargate task due to required maintenance is affected.
5652
+ #
5653
+ # When you specify `fargateFIPSMode` for the `name` and `enabled` for
5654
+ # the `value`, Fargate uses FIPS-140 compliant cryptographic algorithms
5655
+ # on your tasks. For more information about FIPS-140 compliance with
5656
+ # Fargate, see [ Amazon Web Services Fargate Federal Information
5657
+ # Processing Standard (FIPS) 140-2 compliance][2] in the *Amazon Elastic
5658
+ # Container Service Developer Guide*.
5659
+ #
5660
+ # When Amazon Web Services determines that a security or infrastructure
5661
+ # update is needed for an Amazon ECS task hosted on Fargate, the tasks
5662
+ # need to be stopped and new tasks launched to replace them. Use
5663
+ # `fargateTaskRetirementWaitPeriod` to set the wait time to retire a
5664
+ # Fargate task to the default. For information about the Fargate tasks
5665
+ # maintenance, see [Amazon Web Services Fargate task maintenance][3] in
5666
+ # the *Amazon ECS Developer Guide*.
5667
+ #
5668
+ #
5669
+ #
5670
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources
5671
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-fips-compliance.html
5672
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html
4967
5673
  #
4968
5674
  # @option params [required, String] :value
4969
5675
  # The account setting value for the specified principal ARN. Accepted
4970
- # values are `enabled` and `disabled`.
5676
+ # values are `enabled`, `disabled`, `on`, and `off`.
5677
+ #
5678
+ # When you specify `fargateTaskRetirementWaitPeriod` for the `name`, the
5679
+ # following are the valid values:
5680
+ #
5681
+ # * `0` - Amazon Web Services sends the notification, and immediately
5682
+ # retires the affected tasks.
5683
+ #
5684
+ # * `7` - Amazon Web Services sends the notification, and waits 7
5685
+ # calendar days to retire the tasks.
5686
+ #
5687
+ # * `14` - Amazon Web Services sends the notification, and waits 14
5688
+ # calendar days to retire the tasks.
4971
5689
  #
4972
5690
  # @return [Types::PutAccountSettingDefaultResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4973
5691
  #
@@ -4997,13 +5715,13 @@ module Aws::ECS
4997
5715
  # @example Request syntax with placeholder values
4998
5716
  #
4999
5717
  # resp = client.put_account_setting_default({
5000
- # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights
5718
+ # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat, awsvpcTrunking, containerInsights, fargateFIPSMode, tagResourceAuthorization, fargateTaskRetirementWaitPeriod
5001
5719
  # value: "String", # required
5002
5720
  # })
5003
5721
  #
5004
5722
  # @example Response structure
5005
5723
  #
5006
- # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights"
5724
+ # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat", "awsvpcTrunking", "containerInsights", "fargateFIPSMode", "tagResourceAuthorization", "fargateTaskRetirementWaitPeriod"
5007
5725
  # resp.setting.value #=> String
5008
5726
  # resp.setting.principal_arn #=> String
5009
5727
  #
@@ -5188,6 +5906,7 @@ module Aws::ECS
5188
5906
  # resp.cluster.attachments[0].details[0].name #=> String
5189
5907
  # resp.cluster.attachments[0].details[0].value #=> String
5190
5908
  # resp.cluster.attachments_status #=> String
5909
+ # resp.cluster.service_connect_defaults.namespace #=> String
5191
5910
  #
5192
5911
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders AWS API Documentation
5193
5912
  #
@@ -5389,13 +6108,12 @@ module Aws::ECS
5389
6108
  # Definitions][1] in the *Amazon Elastic Container Service Developer
5390
6109
  # Guide*.
5391
6110
  #
5392
- # You can specify an IAM role for your task with the `taskRoleArn`
5393
- # parameter. When you specify an IAM role for a task, its containers can
5394
- # then use the latest versions of the CLI or SDKs to make API requests
5395
- # to the Amazon Web Services services that are specified in the IAM
5396
- # policy that's associated with the role. For more information, see
5397
- # [IAM Roles for Tasks][2] in the *Amazon Elastic Container Service
5398
- # Developer Guide*.
6111
+ # You can specify a role for your task with the `taskRoleArn` parameter.
6112
+ # When you specify a role for a task, its containers can then use the
6113
+ # latest versions of the CLI or SDKs to make API requests to the Amazon
6114
+ # Web Services services that are specified in the policy that's
6115
+ # associated with the role. For more information, see [IAM Roles for
6116
+ # Tasks][2] in the *Amazon Elastic Container Service Developer Guide*.
5399
6117
  #
5400
6118
  # You can specify a Docker networking mode for the containers in your
5401
6119
  # task definition with the `networkMode` parameter. The available
@@ -5521,7 +6239,8 @@ module Aws::ECS
5521
6239
  #
5522
6240
  # If you're using the EC2 launch type, this field is optional.
5523
6241
  # Supported values are between `128` CPU units (`0.125` vCPUs) and
5524
- # `10240` CPU units (`10` vCPUs).
6242
+ # `10240` CPU units (`10` vCPUs). If you do not specify a value, the
6243
+ # parameter is ignored.
5525
6244
  #
5526
6245
  # If you're using the Fargate launch type, this field is required and
5527
6246
  # you must use one of the following values, which determines your range
@@ -5539,11 +6258,21 @@ module Aws::ECS
5539
6258
  # * 1024 (1 vCPU) - Available `memory` values: 2048 (2 GB), 3072 (3 GB),
5540
6259
  # 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)
5541
6260
  #
5542
- # * 2048 (2 vCPU) - Available `memory` values: Between 4096 (4 GB) and
5543
- # 16384 (16 GB) in increments of 1024 (1 GB)
6261
+ # * 2048 (2 vCPU) - Available `memory` values: 4096 (4 GB) and 16384 (16
6262
+ # GB) in increments of 1024 (1 GB)
6263
+ #
6264
+ # * 4096 (4 vCPU) - Available `memory` values: 8192 (8 GB) and 30720 (30
6265
+ # GB) in increments of 1024 (1 GB)
6266
+ #
6267
+ # * 8192 (8 vCPU) - Available `memory` values: 16 GB and 60 GB in 4 GB
6268
+ # increments
6269
+ #
6270
+ # This option requires Linux platform `1.4.0` or later.
5544
6271
  #
5545
- # * 4096 (4 vCPU) - Available `memory` values: Between 8192 (8 GB) and
5546
- # 30720 (30 GB) in increments of 1024 (1 GB)
6272
+ # * 16384 (16vCPU) - Available `memory` values: 32GB and 120 GB in 8 GB
6273
+ # increments
6274
+ #
6275
+ # This option requires Linux platform `1.4.0` or later.
5547
6276
  #
5548
6277
  # @option params [String] :memory
5549
6278
  # The amount of memory (in MiB) used by the task. It can be expressed as
@@ -5582,6 +6311,16 @@ module Aws::ECS
5582
6311
  # * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) -
5583
6312
  # Available `cpu` values: 4096 (4 vCPU)
5584
6313
  #
6314
+ # * Between 16 GB and 60 GB in 4 GB increments - Available `cpu` values:
6315
+ # 8192 (8 vCPU)
6316
+ #
6317
+ # This option requires Linux platform `1.4.0` or later.
6318
+ #
6319
+ # * Between 32GB and 120 GB in 8 GB increments - Available `cpu` values:
6320
+ # 16384 (16 vCPU)
6321
+ #
6322
+ # This option requires Linux platform `1.4.0` or later.
6323
+ #
5585
6324
  # @option params [Array<Types::Tag>] :tags
5586
6325
  # The metadata that you apply to the task definition to help you
5587
6326
  # categorize and organize them. Each tag consists of a key and an
@@ -5614,20 +6353,33 @@ module Aws::ECS
5614
6353
  #
5615
6354
  # @option params [String] :pid_mode
5616
6355
  # The process namespace to use for the containers in the task. The valid
5617
- # values are `host` or `task`. If `host` is specified, then all
5618
- # containers within the tasks that specified the `host` PID mode on the
5619
- # same container instance share the same process namespace with the host
5620
- # Amazon EC2 instance. If `task` is specified, all containers within the
5621
- # specified task share the same process namespace. If no value is
5622
- # specified, the default is a private namespace. For more information,
5623
- # see [PID settings][1] in the *Docker run reference*.
5624
- #
5625
- # If the `host` PID mode is used, be aware that there is a heightened
5626
- # risk of undesired process namespace expose. For more information, see
6356
+ # values are `host` or `task`. On Fargate for Linux containers, the only
6357
+ # valid value is `task`. For example, monitoring sidecars might need
6358
+ # `pidMode` to access information about other containers running in the
6359
+ # same task.
6360
+ #
6361
+ # If `host` is specified, all containers within the tasks that specified
6362
+ # the `host` PID mode on the same container instance share the same
6363
+ # process namespace with the host Amazon EC2 instance.
6364
+ #
6365
+ # If `task` is specified, all containers within the specified task share
6366
+ # the same process namespace.
6367
+ #
6368
+ # If no value is specified, the default is a private namespace for each
6369
+ # container. For more information, see [PID settings][1] in the *Docker
6370
+ # run reference*.
6371
+ #
6372
+ # If the `host` PID mode is used, there's a heightened risk of
6373
+ # undesired process namespace exposure. For more information, see
5627
6374
  # [Docker security][2].
5628
6375
  #
5629
- # <note markdown="1"> This parameter is not supported for Windows containers or tasks run on
5630
- # Fargate.
6376
+ # <note markdown="1"> This parameter is not supported for Windows containers.
6377
+ #
6378
+ # </note>
6379
+ #
6380
+ # <note markdown="1"> This parameter is only supported for tasks that are hosted on Fargate
6381
+ # if the tasks are using platform version `1.4.0` or later (Linux). This
6382
+ # isn't supported for Windows containers on Fargate.
5631
6383
  #
5632
6384
  # </note>
5633
6385
  #
@@ -5681,7 +6433,7 @@ module Aws::ECS
5681
6433
  #
5682
6434
  # For tasks hosted on Amazon EC2 instances, the container instances
5683
6435
  # require at least version `1.26.0` of the container agent and at least
5684
- # version `1.26.0-1` of the `ecs-init` package to enable a proxy
6436
+ # version `1.26.0-1` of the `ecs-init` package to use a proxy
5685
6437
  # configuration. If your container instances are launched from the
5686
6438
  # Amazon ECS-optimized AMI version `20190301` or later, then they
5687
6439
  # contain the required versions of the container agent and `ecs-init`.
@@ -5703,8 +6455,8 @@ module Aws::ECS
5703
6455
  # more information, see [Fargate task storage][1] in the *Amazon ECS
5704
6456
  # User Guide for Fargate*.
5705
6457
  #
5706
- # <note markdown="1"> This parameter is only supported for tasks hosted on Fargate using the
5707
- # following platform versions:
6458
+ # <note markdown="1"> For tasks using the Fargate launch type, the task requires the
6459
+ # following platforms:
5708
6460
  #
5709
6461
  # * Linux platform version `1.4.0` or later.
5710
6462
  #
@@ -5808,6 +6560,9 @@ module Aws::ECS
5808
6560
  # container_port: 1,
5809
6561
  # host_port: 1,
5810
6562
  # protocol: "tcp", # accepts tcp, udp
6563
+ # name: "String",
6564
+ # app_protocol: "http", # accepts http, http2, grpc
6565
+ # container_port_range: "String",
5811
6566
  # },
5812
6567
  # ],
5813
6568
  # essential: false,
@@ -5940,6 +6695,7 @@ module Aws::ECS
5940
6695
  # "String" => "String",
5941
6696
  # },
5942
6697
  # },
6698
+ # credential_specs: ["String"],
5943
6699
  # },
5944
6700
  # ],
5945
6701
  # volumes: [
@@ -6037,6 +6793,9 @@ module Aws::ECS
6037
6793
  # resp.task_definition.container_definitions[0].port_mappings[0].container_port #=> Integer
6038
6794
  # resp.task_definition.container_definitions[0].port_mappings[0].host_port #=> Integer
6039
6795
  # resp.task_definition.container_definitions[0].port_mappings[0].protocol #=> String, one of "tcp", "udp"
6796
+ # resp.task_definition.container_definitions[0].port_mappings[0].name #=> String
6797
+ # resp.task_definition.container_definitions[0].port_mappings[0].app_protocol #=> String, one of "http", "http2", "grpc"
6798
+ # resp.task_definition.container_definitions[0].port_mappings[0].container_port_range #=> String
6040
6799
  # resp.task_definition.container_definitions[0].essential #=> Boolean
6041
6800
  # resp.task_definition.container_definitions[0].entry_point #=> Array
6042
6801
  # resp.task_definition.container_definitions[0].entry_point[0] #=> String
@@ -6125,6 +6884,8 @@ module Aws::ECS
6125
6884
  # resp.task_definition.container_definitions[0].firelens_configuration.type #=> String, one of "fluentd", "fluentbit"
6126
6885
  # resp.task_definition.container_definitions[0].firelens_configuration.options #=> Hash
6127
6886
  # resp.task_definition.container_definitions[0].firelens_configuration.options["String"] #=> String
6887
+ # resp.task_definition.container_definitions[0].credential_specs #=> Array
6888
+ # resp.task_definition.container_definitions[0].credential_specs[0] #=> String
6128
6889
  # resp.task_definition.family #=> String
6129
6890
  # resp.task_definition.task_role_arn #=> String
6130
6891
  # resp.task_definition.execution_role_arn #=> String
@@ -6150,7 +6911,7 @@ module Aws::ECS
6150
6911
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.root_directory #=> String
6151
6912
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.credentials_parameter #=> String
6152
6913
  # resp.task_definition.volumes[0].fsx_windows_file_server_volume_configuration.authorization_config.domain #=> String
6153
- # resp.task_definition.status #=> String, one of "ACTIVE", "INACTIVE"
6914
+ # resp.task_definition.status #=> String, one of "ACTIVE", "INACTIVE", "DELETE_IN_PROGRESS"
6154
6915
  # resp.task_definition.requires_attributes #=> Array
6155
6916
  # resp.task_definition.requires_attributes[0].name #=> String
6156
6917
  # resp.task_definition.requires_attributes[0].value #=> String
@@ -6204,9 +6965,20 @@ module Aws::ECS
6204
6965
  # Alternatively, you can use StartTask to use your own scheduler or
6205
6966
  # place tasks manually on specific container instances.
6206
6967
  #
6968
+ # <note markdown="1"> Starting April 15, 2023, Amazon Web Services will not onboard new
6969
+ # customers to Amazon Elastic Inference (EI), and will help current
6970
+ # customers migrate their workloads to options that offer better price
6971
+ # and performance. After April 15, 2023, new customers will not be able
6972
+ # to launch instances with Amazon EI accelerators in Amazon SageMaker,
6973
+ # Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI
6974
+ # at least once during the past 30-day period are considered current
6975
+ # customers and will be able to continue using the service.
6976
+ #
6977
+ # </note>
6978
+ #
6207
6979
  # The Amazon ECS API follows an eventual consistency model. This is
6208
- # because the distributed nature of the system supporting the API. This
6209
- # means that the result of an API command you run that affects your
6980
+ # because of the distributed nature of the system supporting the API.
6981
+ # This means that the result of an API command you run that affects your
6210
6982
  # Amazon ECS resources might not be immediately visible to all
6211
6983
  # subsequent commands you run. Keep this in mind when you carry out an
6212
6984
  # API command that immediately follows a previous API command.
@@ -6254,7 +7026,7 @@ module Aws::ECS
6254
7026
  # cluster. You can specify up to 10 tasks for each call.
6255
7027
  #
6256
7028
  # @option params [Boolean] :enable_ecs_managed_tags
6257
- # Specifies whether to enable Amazon ECS managed tags for the task. For
7029
+ # Specifies whether to use Amazon ECS managed tags for the task. For
6258
7030
  # more information, see [Tagging Your Amazon ECS Resources][1] in the
6259
7031
  # *Amazon Elastic Container Service Developer Guide*.
6260
7032
  #
@@ -6263,10 +7035,13 @@ module Aws::ECS
6263
7035
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6264
7036
  #
6265
7037
  # @option params [Boolean] :enable_execute_command
6266
- # Determines whether to enable the execute command functionality for the
7038
+ # Determines whether to use the execute command functionality for the
6267
7039
  # containers in this task. If `true`, this enables execute command
6268
7040
  # functionality on all containers in the task.
6269
7041
  #
7042
+ # If `true`, then the task definition must have a task role, or you must
7043
+ # provide one as an override.
7044
+ #
6270
7045
  # @option params [String] :group
6271
7046
  # The name of the task group to associate with the task. The default
6272
7047
  # value is the family name of the task definition (for example,
@@ -6410,13 +7185,33 @@ module Aws::ECS
6410
7185
  # task definition to run. If a `revision` isn't specified, the latest
6411
7186
  # `ACTIVE` revision is used.
6412
7187
  #
7188
+ # When you create a policy for run-task, you can set the resource to be
7189
+ # the latest task definition revision, or a specific revision.
7190
+ #
6413
7191
  # The full ARN value must match the value that you specified as the
6414
- # `Resource` of the IAM principal's permissions policy. For example, if
6415
- # the `Resource` is
6416
- # arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*,
6417
- # the `taskDefinition` ARN value must be
7192
+ # `Resource` of the principal's permissions policy.
7193
+ #
7194
+ # When you specify the policy resource as the latest task definition
7195
+ # version (by setting the `Resource` in the policy to
7196
+ # `arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName`),
7197
+ # then set this value to
6418
7198
  # `arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName`.
6419
7199
  #
7200
+ # When you specify the policy resource as a specific task definition
7201
+ # version (by setting the `Resource` in the policy to
7202
+ # `arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1`
7203
+ # or
7204
+ # `arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*`),
7205
+ # then set this value to
7206
+ # `arn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:1`.
7207
+ #
7208
+ # For more information, see [Policy Resources for Amazon ECS][1] in the
7209
+ # Amazon Elastic Container Service developer Guide.
7210
+ #
7211
+ #
7212
+ #
7213
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-resources
7214
+ #
6420
7215
  # @return [Types::RunTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6421
7216
  #
6422
7217
  # * {Types::RunTaskResponse#tasks #tasks} => Array&lt;Types::Task&gt;
@@ -6436,13 +7231,13 @@ module Aws::ECS
6436
7231
  # {
6437
7232
  # tasks: [
6438
7233
  # {
6439
- # container_instance_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:container-instance/ffe3d344-77e2-476c-a4d0-bf560ad50acb",
7234
+ # container_instance_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:container-instance/default/ffe3d344-77e2-476c-a4d0-bf560ad50acb",
6440
7235
  # containers: [
6441
7236
  # {
6442
7237
  # name: "sleep",
6443
- # container_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:container/58591c8e-be29-4ddf-95aa-ee459d4c59fd",
7238
+ # container_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:container/default/58591c8e-be29-4ddf-95aa-ee459d4c59fd",
6444
7239
  # last_status: "PENDING",
6445
- # task_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0",
7240
+ # task_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:task/default/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0",
6446
7241
  # },
6447
7242
  # ],
6448
7243
  # desired_status: "RUNNING",
@@ -6454,7 +7249,7 @@ module Aws::ECS
6454
7249
  # },
6455
7250
  # ],
6456
7251
  # },
6457
- # task_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:task/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0",
7252
+ # task_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:task/default/a9f21ea7-c9f5-44b1-b8e6-b31f50ed33c0",
6458
7253
  # task_definition_arn: "arn:aws:ecs:us-east-1:<aws_account_id>:task-definition/sleep360:1",
6459
7254
  # },
6460
7255
  # ],
@@ -6538,7 +7333,7 @@ module Aws::ECS
6538
7333
  # },
6539
7334
  # ],
6540
7335
  # platform_version: "String",
6541
- # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
7336
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
6542
7337
  # reference_id: "String",
6543
7338
  # started_by: "String",
6544
7339
  # tags: [
@@ -6586,6 +7381,8 @@ module Aws::ECS
6586
7381
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
6587
7382
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
6588
7383
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
7384
+ # resp.tasks[0].containers[0].network_bindings[0].container_port_range #=> String
7385
+ # resp.tasks[0].containers[0].network_bindings[0].host_port_range #=> String
6589
7386
  # resp.tasks[0].containers[0].network_interfaces #=> Array
6590
7387
  # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
6591
7388
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -6644,7 +7441,7 @@ module Aws::ECS
6644
7441
  # resp.tasks[0].pull_stopped_at #=> Time
6645
7442
  # resp.tasks[0].started_at #=> Time
6646
7443
  # resp.tasks[0].started_by #=> String
6647
- # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
7444
+ # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated", "ServiceSchedulerInitiated", "SpotInterruption", "TerminationNotice"
6648
7445
  # resp.tasks[0].stopped_at #=> Time
6649
7446
  # resp.tasks[0].stopped_reason #=> String
6650
7447
  # resp.tasks[0].stopping_at #=> Time
@@ -6672,6 +7469,17 @@ module Aws::ECS
6672
7469
  # Starts a new task from the specified task definition on the specified
6673
7470
  # container instance or instances.
6674
7471
  #
7472
+ # <note markdown="1"> Starting April 15, 2023, Amazon Web Services will not onboard new
7473
+ # customers to Amazon Elastic Inference (EI), and will help current
7474
+ # customers migrate their workloads to options that offer better price
7475
+ # and performance. After April 15, 2023, new customers will not be able
7476
+ # to launch instances with Amazon EI accelerators in Amazon SageMaker,
7477
+ # Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI
7478
+ # at least once during the past 30-day period are considered current
7479
+ # customers and will be able to continue using the service.
7480
+ #
7481
+ # </note>
7482
+ #
6675
7483
  # Alternatively, you can use RunTask to place tasks for you. For more
6676
7484
  # information, see [Scheduling Tasks][1] in the *Amazon Elastic
6677
7485
  # Container Service Developer Guide*.
@@ -6691,7 +7499,7 @@ module Aws::ECS
6691
7499
  # to 10 container instances.
6692
7500
  #
6693
7501
  # @option params [Boolean] :enable_ecs_managed_tags
6694
- # Specifies whether to enable Amazon ECS managed tags for the task. For
7502
+ # Specifies whether to use Amazon ECS managed tags for the task. For
6695
7503
  # more information, see [Tagging Your Amazon ECS Resources][1] in the
6696
7504
  # *Amazon Elastic Container Service Developer Guide*.
6697
7505
  #
@@ -6700,9 +7508,9 @@ module Aws::ECS
6700
7508
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
6701
7509
  #
6702
7510
  # @option params [Boolean] :enable_execute_command
6703
- # Whether or not the execute command functionality is enabled for the
6704
- # task. If `true`, this enables execute command functionality on all
6705
- # containers in the task.
7511
+ # Whether or not the execute command functionality is turned on for the
7512
+ # task. If `true`, this turns on the execute command functionality on
7513
+ # all containers in the task.
6706
7514
  #
6707
7515
  # @option params [String] :group
6708
7516
  # The name of the task group to associate with the task. The default
@@ -6846,7 +7654,7 @@ module Aws::ECS
6846
7654
  # size_in_gi_b: 1, # required
6847
7655
  # },
6848
7656
  # },
6849
- # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
7657
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
6850
7658
  # reference_id: "String",
6851
7659
  # started_by: "String",
6852
7660
  # tags: [
@@ -6894,6 +7702,8 @@ module Aws::ECS
6894
7702
  # resp.tasks[0].containers[0].network_bindings[0].container_port #=> Integer
6895
7703
  # resp.tasks[0].containers[0].network_bindings[0].host_port #=> Integer
6896
7704
  # resp.tasks[0].containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
7705
+ # resp.tasks[0].containers[0].network_bindings[0].container_port_range #=> String
7706
+ # resp.tasks[0].containers[0].network_bindings[0].host_port_range #=> String
6897
7707
  # resp.tasks[0].containers[0].network_interfaces #=> Array
6898
7708
  # resp.tasks[0].containers[0].network_interfaces[0].attachment_id #=> String
6899
7709
  # resp.tasks[0].containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -6952,7 +7762,7 @@ module Aws::ECS
6952
7762
  # resp.tasks[0].pull_stopped_at #=> Time
6953
7763
  # resp.tasks[0].started_at #=> Time
6954
7764
  # resp.tasks[0].started_by #=> String
6955
- # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
7765
+ # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated", "ServiceSchedulerInitiated", "SpotInterruption", "TerminationNotice"
6956
7766
  # resp.tasks[0].stopped_at #=> Time
6957
7767
  # resp.tasks[0].stopped_reason #=> String
6958
7768
  # resp.tasks[0].stopping_at #=> Time
@@ -7004,7 +7814,7 @@ module Aws::ECS
7004
7814
  # cluster is assumed.
7005
7815
  #
7006
7816
  # @option params [required, String] :task
7007
- # The task ID or full Amazon Resource Name (ARN) of the task to stop.
7817
+ # The task ID of the task to stop.
7008
7818
  #
7009
7819
  # @option params [String] :reason
7010
7820
  # An optional message specified when a task is stopped. For example, if
@@ -7060,6 +7870,8 @@ module Aws::ECS
7060
7870
  # resp.task.containers[0].network_bindings[0].container_port #=> Integer
7061
7871
  # resp.task.containers[0].network_bindings[0].host_port #=> Integer
7062
7872
  # resp.task.containers[0].network_bindings[0].protocol #=> String, one of "tcp", "udp"
7873
+ # resp.task.containers[0].network_bindings[0].container_port_range #=> String
7874
+ # resp.task.containers[0].network_bindings[0].host_port_range #=> String
7063
7875
  # resp.task.containers[0].network_interfaces #=> Array
7064
7876
  # resp.task.containers[0].network_interfaces[0].attachment_id #=> String
7065
7877
  # resp.task.containers[0].network_interfaces[0].private_ipv_4_address #=> String
@@ -7118,7 +7930,7 @@ module Aws::ECS
7118
7930
  # resp.task.pull_stopped_at #=> Time
7119
7931
  # resp.task.started_at #=> Time
7120
7932
  # resp.task.started_by #=> String
7121
- # resp.task.stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
7933
+ # resp.task.stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated", "ServiceSchedulerInitiated", "SpotInterruption", "TerminationNotice"
7122
7934
  # resp.task.stopped_at #=> Time
7123
7935
  # resp.task.stopped_reason #=> String
7124
7936
  # resp.task.stopping_at #=> Time
@@ -7234,6 +8046,8 @@ module Aws::ECS
7234
8046
  # container_port: 1,
7235
8047
  # host_port: 1,
7236
8048
  # protocol: "tcp", # accepts tcp, udp
8049
+ # container_port_range: "String",
8050
+ # host_port_range: "String",
7237
8051
  # },
7238
8052
  # ],
7239
8053
  # })
@@ -7313,6 +8127,8 @@ module Aws::ECS
7313
8127
  # container_port: 1,
7314
8128
  # host_port: 1,
7315
8129
  # protocol: "tcp", # accepts tcp, udp
8130
+ # container_port_range: "String",
8131
+ # host_port_range: "String",
7316
8132
  # },
7317
8133
  # ],
7318
8134
  # reason: "String",
@@ -7542,6 +8358,28 @@ module Aws::ECS
7542
8358
  # @option params [Types::ClusterConfiguration] :configuration
7543
8359
  # The execute command configuration for the cluster.
7544
8360
  #
8361
+ # @option params [Types::ClusterServiceConnectDefaultsRequest] :service_connect_defaults
8362
+ # Use this parameter to set a default Service Connect namespace. After
8363
+ # you set a default Service Connect namespace, any new services with
8364
+ # Service Connect turned on that are created in the cluster are added as
8365
+ # client services in the namespace. This setting only applies to new
8366
+ # services that set the `enabled` parameter to `true` in the
8367
+ # `ServiceConnectConfiguration`. You can set the namespace of each
8368
+ # service individually in the `ServiceConnectConfiguration` to override
8369
+ # this default parameter.
8370
+ #
8371
+ # Tasks that run in a namespace can use short names to connect to
8372
+ # services in the namespace. Tasks can connect to services across all of
8373
+ # the clusters in the namespace. Tasks connect through a managed proxy
8374
+ # container that collects logs and metrics for increased visibility.
8375
+ # Only the tasks that Amazon ECS services create are supported with
8376
+ # Service Connect. For more information, see [Service Connect][1] in the
8377
+ # *Amazon Elastic Container Service Developer Guide*.
8378
+ #
8379
+ #
8380
+ #
8381
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
8382
+ #
7545
8383
  # @return [Types::UpdateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7546
8384
  #
7547
8385
  # * {Types::UpdateClusterResponse#cluster #cluster} => Types::Cluster
@@ -7569,6 +8407,9 @@ module Aws::ECS
7569
8407
  # },
7570
8408
  # },
7571
8409
  # },
8410
+ # service_connect_defaults: {
8411
+ # namespace: "String", # required
8412
+ # },
7572
8413
  # })
7573
8414
  #
7574
8415
  # @example Response structure
@@ -7610,6 +8451,7 @@ module Aws::ECS
7610
8451
  # resp.cluster.attachments[0].details[0].name #=> String
7611
8452
  # resp.cluster.attachments[0].details[0].value #=> String
7612
8453
  # resp.cluster.attachments_status #=> String
8454
+ # resp.cluster.service_connect_defaults.namespace #=> String
7613
8455
  #
7614
8456
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateCluster AWS API Documentation
7615
8457
  #
@@ -7627,10 +8469,17 @@ module Aws::ECS
7627
8469
  #
7628
8470
  # @option params [required, Array<Types::ClusterSetting>] :settings
7629
8471
  # The setting to use by default for a cluster. This parameter is used to
7630
- # enable CloudWatch Container Insights for a cluster. If this value is
8472
+ # turn on CloudWatch Container Insights for a cluster. If this value is
7631
8473
  # specified, it overrides the `containerInsights` value set with
7632
8474
  # PutAccountSetting or PutAccountSettingDefault.
7633
8475
  #
8476
+ # Currently, if you delete an existing cluster that does not have
8477
+ # Container Insights turned on, and then create a new cluster with the
8478
+ # same name with Container Insights tuned on, Container Insights will
8479
+ # not actually be turned on. If you want to preserve the same name for
8480
+ # your existing cluster and turn on Container Insights, you must wait 7
8481
+ # days before you can re-create it.
8482
+ #
7634
8483
  # @return [Types::UpdateClusterSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7635
8484
  #
7636
8485
  # * {Types::UpdateClusterSettingsResponse#cluster #cluster} => Types::Cluster
@@ -7686,6 +8535,7 @@ module Aws::ECS
7686
8535
  # resp.cluster.attachments[0].details[0].name #=> String
7687
8536
  # resp.cluster.attachments[0].details[0].value #=> String
7688
8537
  # resp.cluster.attachments_status #=> String
8538
+ # resp.cluster.service_connect_defaults.namespace #=> String
7689
8539
  #
7690
8540
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings AWS API Documentation
7691
8541
  #
@@ -7712,6 +8562,13 @@ module Aws::ECS
7712
8562
  #
7713
8563
  # </note>
7714
8564
  #
8565
+ # <note markdown="1"> Agent updates with the `UpdateContainerAgent` API operation do not
8566
+ # apply to Windows container instances. We recommend that you launch new
8567
+ # container instances to update the agent version in your Windows
8568
+ # clusters.
8569
+ #
8570
+ # </note>
8571
+ #
7715
8572
  # The `UpdateContainerAgent` API requires an Amazon ECS-optimized AMI or
7716
8573
  # Amazon Linux AMI with the `ecs-init` service installed and running.
7717
8574
  # For help updating the Amazon ECS container agent on other operating
@@ -7840,8 +8697,7 @@ module Aws::ECS
7840
8697
  # services that do not use a load balancer are considered healthy if
7841
8698
  # they're in the `RUNNING` state. Tasks for services that use a load
7842
8699
  # balancer are considered healthy if they're in the `RUNNING` state
7843
- # and the container instance they're hosted on is reported as healthy
7844
- # by the load balancer.
8700
+ # and are reported as healthy by the load balancer.
7845
8701
  #
7846
8702
  # * The `maximumPercent` parameter represents an upper limit on the
7847
8703
  # number of running tasks during task replacement. You can use this to
@@ -7869,7 +8725,7 @@ module Aws::ECS
7869
8725
  # cluster, the default cluster is assumed.
7870
8726
  #
7871
8727
  # @option params [required, Array<String>] :container_instances
7872
- # A list of container instance IDs or full ARN entries.
8728
+ # A list of up to 10 container instance IDs or full ARN entries.
7873
8729
  #
7874
8730
  # @option params [required, String] :status
7875
8731
  # The container instance state to update the container instance with.
@@ -7961,32 +8817,30 @@ module Aws::ECS
7961
8817
  req.send_request(options)
7962
8818
  end
7963
8819
 
7964
- # Updating the task placement strategies and constraints on an Amazon
7965
- # ECS service remains in preview and is a Beta Service as defined by and
7966
- # subject to the Beta Service Participation Service Terms located at
7967
- # [https://aws.amazon.com/service-terms][1] ("Beta Terms"). These Beta
7968
- # Terms apply to your participation in this preview.
7969
- #
7970
8820
  # Modifies the parameters of a service.
7971
8821
  #
7972
- # For services using the rolling update (`ECS`) deployment controller,
7973
- # the desired count, deployment configuration, network configuration,
7974
- # task placement constraints and strategies, or task definition used can
7975
- # be updated.
8822
+ # For services using the rolling update (`ECS`) you can update the
8823
+ # desired count, deployment configuration, network configuration, load
8824
+ # balancers, service registries, enable ECS managed tags option,
8825
+ # propagate tags option, task placement constraints and strategies, and
8826
+ # task definition. When you update any of these parameters, Amazon ECS
8827
+ # starts new tasks with the new configuration.
7976
8828
  #
7977
8829
  # For services using the blue/green (`CODE_DEPLOY`) deployment
7978
- # controller, only the desired count, deployment configuration, task
7979
- # placement constraints and strategies, and health check grace period
7980
- # can be updated using this API. If the network configuration, platform
7981
- # version, or task definition need to be updated, a new CodeDeploy
7982
- # deployment is created. For more information, see [CreateDeployment][2]
7983
- # in the *CodeDeploy API Reference*.
8830
+ # controller, only the desired count, deployment configuration, health
8831
+ # check grace period, task placement constraints and strategies, enable
8832
+ # ECS managed tags option, and propagate tags can be updated using this
8833
+ # API. If the network configuration, platform version, task definition,
8834
+ # or load balancer need to be updated, create a new CodeDeploy
8835
+ # deployment. For more information, see [CreateDeployment][1] in the
8836
+ # *CodeDeploy API Reference*.
7984
8837
  #
7985
8838
  # For services using an external deployment controller, you can update
7986
- # only the desired count, task placement constraints and strategies, and
7987
- # health check grace period using this API. If the launch type, load
8839
+ # only the desired count, task placement constraints and strategies,
8840
+ # health check grace period, enable ECS managed tags option, and
8841
+ # propagate tags option, using this API. If the launch type, load
7988
8842
  # balancer, network configuration, platform version, or task definition
7989
- # need to be updated, create a new task set. For more information, see
8843
+ # need to be updated, create a new task set For more information, see
7990
8844
  # CreateTaskSet.
7991
8845
  #
7992
8846
  # You can add to or subtract from the number of instantiations of a task
@@ -8022,8 +8876,7 @@ module Aws::ECS
8022
8876
  # services that don't use a load balancer are considered healthy if
8023
8877
  # they're in the `RUNNING` state. Tasks for services that use a load
8024
8878
  # balancer are considered healthy if they're in the `RUNNING` state
8025
- # and the container instance they're hosted on is reported as healthy
8026
- # by the load balancer.
8879
+ # and are reported as healthy by the load balancer.
8027
8880
  #
8028
8881
  # * The `maximumPercent` parameter represents an upper limit on the
8029
8882
  # number of running tasks during a deployment. You can use it to
@@ -8075,10 +8928,22 @@ module Aws::ECS
8075
8928
  # Zone (based on the previous steps), favoring container instances
8076
8929
  # with the largest number of running tasks for this service.
8077
8930
  #
8931
+ # <note markdown="1"> You must have a service-linked role when you update any of the
8932
+ # following service properties:
8078
8933
  #
8934
+ # * `loadBalancers`,
8079
8935
  #
8080
- # [1]: https://aws.amazon.com/service-terms
8081
- # [2]: https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html
8936
+ # * `serviceRegistries`
8937
+ #
8938
+ # For more information about the role see the `CreateService` request
8939
+ # parameter [ `role` ][2].
8940
+ #
8941
+ # </note>
8942
+ #
8943
+ #
8944
+ #
8945
+ # [1]: https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html
8946
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html#ECS-CreateService-request-role
8082
8947
  #
8083
8948
  # @option params [String] :cluster
8084
8949
  # The short name or full Amazon Resource Name (ARN) of the cluster that
@@ -8195,6 +9060,98 @@ module Aws::ECS
8195
9060
  # If you do not want to override the value that was set when the service
8196
9061
  # was created, you can set this to `null` when performing this action.
8197
9062
  #
9063
+ # @option params [Boolean] :enable_ecs_managed_tags
9064
+ # Determines whether to turn on Amazon ECS managed tags for the tasks in
9065
+ # the service. For more information, see [Tagging Your Amazon ECS
9066
+ # Resources][1] in the *Amazon Elastic Container Service Developer
9067
+ # Guide*.
9068
+ #
9069
+ # Only tasks launched after the update will reflect the update. To
9070
+ # update the tags on all tasks, set `forceNewDeployment` to `true`, so
9071
+ # that Amazon ECS starts new tasks with the updated tags.
9072
+ #
9073
+ #
9074
+ #
9075
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html
9076
+ #
9077
+ # @option params [Array<Types::LoadBalancer>] :load_balancers
9078
+ # A list of Elastic Load Balancing load balancer objects. It contains
9079
+ # the load balancer name, the container name, and the container port to
9080
+ # access from the load balancer. The container name is as it appears in
9081
+ # a container definition.
9082
+ #
9083
+ # When you add, update, or remove a load balancer configuration, Amazon
9084
+ # ECS starts new tasks with the updated Elastic Load Balancing
9085
+ # configuration, and then stops the old tasks when the new tasks are
9086
+ # running.
9087
+ #
9088
+ # For services that use rolling updates, you can add, update, or remove
9089
+ # Elastic Load Balancing target groups. You can update from a single
9090
+ # target group to multiple target groups and from multiple target groups
9091
+ # to a single target group.
9092
+ #
9093
+ # For services that use blue/green deployments, you can update Elastic
9094
+ # Load Balancing target groups by using ` CreateDeployment ` through
9095
+ # CodeDeploy. Note that multiple target groups are not supported for
9096
+ # blue/green deployments. For more information see [Register multiple
9097
+ # target groups with a service][1] in the *Amazon Elastic Container
9098
+ # Service Developer Guide*.
9099
+ #
9100
+ # For services that use the external deployment controller, you can add,
9101
+ # update, or remove load balancers by using [CreateTaskSet][2]. Note
9102
+ # that multiple target groups are not supported for external
9103
+ # deployments. For more information see [Register multiple target groups
9104
+ # with a service][1] in the *Amazon Elastic Container Service Developer
9105
+ # Guide*.
9106
+ #
9107
+ # You can remove existing `loadBalancers` by passing an empty list.
9108
+ #
9109
+ #
9110
+ #
9111
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html
9112
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateTaskSet.html
9113
+ #
9114
+ # @option params [String] :propagate_tags
9115
+ # Determines whether to propagate the tags from the task definition or
9116
+ # the service to the task. If no value is specified, the tags aren't
9117
+ # propagated.
9118
+ #
9119
+ # Only tasks launched after the update will reflect the update. To
9120
+ # update the tags on all tasks, set `forceNewDeployment` to `true`, so
9121
+ # that Amazon ECS starts new tasks with the updated tags.
9122
+ #
9123
+ # @option params [Array<Types::ServiceRegistry>] :service_registries
9124
+ # The details for the service discovery registries to assign to this
9125
+ # service. For more information, see [Service Discovery][1].
9126
+ #
9127
+ # When you add, update, or remove the service registries configuration,
9128
+ # Amazon ECS starts new tasks with the updated service registries
9129
+ # configuration, and then stops the old tasks when the new tasks are
9130
+ # running.
9131
+ #
9132
+ # You can remove existing `serviceRegistries` by passing an empty list.
9133
+ #
9134
+ #
9135
+ #
9136
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
9137
+ #
9138
+ # @option params [Types::ServiceConnectConfiguration] :service_connect_configuration
9139
+ # The configuration for this service to discover and connect to
9140
+ # services, and be discovered by, and connected from, other services
9141
+ # within a namespace.
9142
+ #
9143
+ # Tasks that run in a namespace can use short names to connect to
9144
+ # services in the namespace. Tasks can connect to services across all of
9145
+ # the clusters in the namespace. Tasks connect through a managed proxy
9146
+ # container that collects logs and metrics for increased visibility.
9147
+ # Only the tasks that Amazon ECS services create are supported with
9148
+ # Service Connect. For more information, see [Service Connect][1] in the
9149
+ # *Amazon Elastic Container Service Developer Guide*.
9150
+ #
9151
+ #
9152
+ #
9153
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html
9154
+ #
8198
9155
  # @return [Types::UpdateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8199
9156
  #
8200
9157
  # * {Types::UpdateServiceResponse#service #service} => Types::Service
@@ -8247,6 +9204,11 @@ module Aws::ECS
8247
9204
  # },
8248
9205
  # maximum_percent: 1,
8249
9206
  # minimum_healthy_percent: 1,
9207
+ # alarms: {
9208
+ # alarm_names: ["String"], # required
9209
+ # enable: false, # required
9210
+ # rollback: false, # required
9211
+ # },
8250
9212
  # },
8251
9213
  # network_configuration: {
8252
9214
  # awsvpc_configuration: {
@@ -8271,6 +9233,53 @@ module Aws::ECS
8271
9233
  # force_new_deployment: false,
8272
9234
  # health_check_grace_period_seconds: 1,
8273
9235
  # enable_execute_command: false,
9236
+ # enable_ecs_managed_tags: false,
9237
+ # load_balancers: [
9238
+ # {
9239
+ # target_group_arn: "String",
9240
+ # load_balancer_name: "String",
9241
+ # container_name: "String",
9242
+ # container_port: 1,
9243
+ # },
9244
+ # ],
9245
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE, NONE
9246
+ # service_registries: [
9247
+ # {
9248
+ # registry_arn: "String",
9249
+ # port: 1,
9250
+ # container_name: "String",
9251
+ # container_port: 1,
9252
+ # },
9253
+ # ],
9254
+ # service_connect_configuration: {
9255
+ # enabled: false, # required
9256
+ # namespace: "String",
9257
+ # services: [
9258
+ # {
9259
+ # port_name: "String", # required
9260
+ # discovery_name: "String",
9261
+ # client_aliases: [
9262
+ # {
9263
+ # port: 1, # required
9264
+ # dns_name: "String",
9265
+ # },
9266
+ # ],
9267
+ # ingress_port_override: 1,
9268
+ # },
9269
+ # ],
9270
+ # log_configuration: {
9271
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk, awsfirelens
9272
+ # options: {
9273
+ # "String" => "String",
9274
+ # },
9275
+ # secret_options: [
9276
+ # {
9277
+ # name: "String", # required
9278
+ # value_from: "String", # required
9279
+ # },
9280
+ # ],
9281
+ # },
9282
+ # },
8274
9283
  # })
8275
9284
  #
8276
9285
  # @example Response structure
@@ -8304,6 +9313,10 @@ module Aws::ECS
8304
9313
  # resp.service.deployment_configuration.deployment_circuit_breaker.rollback #=> Boolean
8305
9314
  # resp.service.deployment_configuration.maximum_percent #=> Integer
8306
9315
  # resp.service.deployment_configuration.minimum_healthy_percent #=> Integer
9316
+ # resp.service.deployment_configuration.alarms.alarm_names #=> Array
9317
+ # resp.service.deployment_configuration.alarms.alarm_names[0] #=> String
9318
+ # resp.service.deployment_configuration.alarms.enable #=> Boolean
9319
+ # resp.service.deployment_configuration.alarms.rollback #=> Boolean
8307
9320
  # resp.service.task_sets #=> Array
8308
9321
  # resp.service.task_sets[0].id #=> String
8309
9322
  # resp.service.task_sets[0].task_set_arn #=> String
@@ -8371,6 +9384,24 @@ module Aws::ECS
8371
9384
  # resp.service.deployments[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
8372
9385
  # resp.service.deployments[0].rollout_state #=> String, one of "COMPLETED", "FAILED", "IN_PROGRESS"
8373
9386
  # resp.service.deployments[0].rollout_state_reason #=> String
9387
+ # resp.service.deployments[0].service_connect_configuration.enabled #=> Boolean
9388
+ # resp.service.deployments[0].service_connect_configuration.namespace #=> String
9389
+ # resp.service.deployments[0].service_connect_configuration.services #=> Array
9390
+ # resp.service.deployments[0].service_connect_configuration.services[0].port_name #=> String
9391
+ # resp.service.deployments[0].service_connect_configuration.services[0].discovery_name #=> String
9392
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases #=> Array
9393
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases[0].port #=> Integer
9394
+ # resp.service.deployments[0].service_connect_configuration.services[0].client_aliases[0].dns_name #=> String
9395
+ # resp.service.deployments[0].service_connect_configuration.services[0].ingress_port_override #=> Integer
9396
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.log_driver #=> String, one of "json-file", "syslog", "journald", "gelf", "fluentd", "awslogs", "splunk", "awsfirelens"
9397
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.options #=> Hash
9398
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.options["String"] #=> String
9399
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options #=> Array
9400
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options[0].name #=> String
9401
+ # resp.service.deployments[0].service_connect_configuration.log_configuration.secret_options[0].value_from #=> String
9402
+ # resp.service.deployments[0].service_connect_resources #=> Array
9403
+ # resp.service.deployments[0].service_connect_resources[0].discovery_name #=> String
9404
+ # resp.service.deployments[0].service_connect_resources[0].discovery_arn #=> String
8374
9405
  # resp.service.role_arn #=> String
8375
9406
  # resp.service.events #=> Array
8376
9407
  # resp.service.events[0].id #=> String
@@ -8396,7 +9427,7 @@ module Aws::ECS
8396
9427
  # resp.service.tags[0].value #=> String
8397
9428
  # resp.service.created_by #=> String
8398
9429
  # resp.service.enable_ecs_managed_tags #=> Boolean
8399
- # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
9430
+ # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE", "NONE"
8400
9431
  # resp.service.enable_execute_command #=> Boolean
8401
9432
  #
8402
9433
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService AWS API Documentation
@@ -8497,6 +9528,178 @@ module Aws::ECS
8497
9528
  req.send_request(options)
8498
9529
  end
8499
9530
 
9531
+ # Updates the protection status of a task. You can set
9532
+ # `protectionEnabled` to `true` to protect your task from termination
9533
+ # during scale-in events from [Service Autoscaling][1] or
9534
+ # [deployments][2].
9535
+ #
9536
+ # Task-protection, by default, expires after 2 hours at which point
9537
+ # Amazon ECS clears the `protectionEnabled` property making the task
9538
+ # eligible for termination by a subsequent scale-in event.
9539
+ #
9540
+ # You can specify a custom expiration period for task protection from 1
9541
+ # minute to up to 2,880 minutes (48 hours). To specify the custom
9542
+ # expiration period, set the `expiresInMinutes` property. The
9543
+ # `expiresInMinutes` property is always reset when you invoke this
9544
+ # operation for a task that already has `protectionEnabled` set to
9545
+ # `true`. You can keep extending the protection expiration period of a
9546
+ # task by invoking this operation repeatedly.
9547
+ #
9548
+ # To learn more about Amazon ECS task protection, see [Task scale-in
9549
+ # protection][3] in the <i> <i>Amazon Elastic Container Service
9550
+ # Developer Guide</i> </i>.
9551
+ #
9552
+ # <note markdown="1"> This operation is only supported for tasks belonging to an Amazon ECS
9553
+ # service. Invoking this operation for a standalone task will result in
9554
+ # an `TASK_NOT_VALID` failure. For more information, see [API failure
9555
+ # reasons][4].
9556
+ #
9557
+ # </note>
9558
+ #
9559
+ # If you prefer to set task protection from within the container, we
9560
+ # recommend using the [Task scale-in protection endpoint][5].
9561
+ #
9562
+ #
9563
+ #
9564
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-auto-scaling.html
9565
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html
9566
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-scale-in-protection.html
9567
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html
9568
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-scale-in-protection-endpoint.html
9569
+ #
9570
+ # @option params [required, String] :cluster
9571
+ # The short name or full Amazon Resource Name (ARN) of the cluster that
9572
+ # hosts the service that the task sets exist in.
9573
+ #
9574
+ # @option params [required, Array<String>] :tasks
9575
+ # A list of up to 10 task IDs or full ARN entries.
9576
+ #
9577
+ # @option params [required, Boolean] :protection_enabled
9578
+ # Specify `true` to mark a task for protection and `false` to unset
9579
+ # protection, making it eligible for termination.
9580
+ #
9581
+ # @option params [Integer] :expires_in_minutes
9582
+ # If you set `protectionEnabled` to `true`, you can specify the duration
9583
+ # for task protection in minutes. You can specify a value from 1 minute
9584
+ # to up to 2,880 minutes (48 hours). During this time, your task will
9585
+ # not be terminated by scale-in events from Service Auto Scaling or
9586
+ # deployments. After this time period lapses, `protectionEnabled` will
9587
+ # be reset to `false`.
9588
+ #
9589
+ # If you don’t specify the time, then the task is automatically
9590
+ # protected for 120 minutes (2 hours).
9591
+ #
9592
+ # @return [Types::UpdateTaskProtectionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9593
+ #
9594
+ # * {Types::UpdateTaskProtectionResponse#protected_tasks #protected_tasks} => Array&lt;Types::ProtectedTask&gt;
9595
+ # * {Types::UpdateTaskProtectionResponse#failures #failures} => Array&lt;Types::Failure&gt;
9596
+ #
9597
+ #
9598
+ # @example Example: To set task scale-in protection for a task for 60 minutes
9599
+ #
9600
+ # # This example enables scale-in protection for a task for 60 minutes.
9601
+ #
9602
+ # resp = client.update_task_protection({
9603
+ # cluster: "test-task-protection",
9604
+ # expires_in_minutes: 60,
9605
+ # protection_enabled: true,
9606
+ # tasks: [
9607
+ # "b8b1cf532d0e46ba8d44a40d1de16772",
9608
+ # ],
9609
+ # })
9610
+ #
9611
+ # resp.to_h outputs the following:
9612
+ # {
9613
+ # failures: [
9614
+ # ],
9615
+ # protected_tasks: [
9616
+ # {
9617
+ # expiration_date: Time.parse("2022-11-02T06:56:32.553Z"),
9618
+ # protection_enabled: true,
9619
+ # task_arn: "arn:aws:ecs:us-west-2:012345678910:task/default/b8b1cf532d0e46ba8d44a40d1de16772",
9620
+ # },
9621
+ # ],
9622
+ # }
9623
+ #
9624
+ # @example Example: To set task scale-in protection for the default time period in minutes
9625
+ #
9626
+ # # This example enables task scale-in protection for a task, without specifying the expiresInMinutes parameter, for the
9627
+ # # default protection period of 120 minutes.
9628
+ #
9629
+ # resp = client.update_task_protection({
9630
+ # cluster: "test-task-protection",
9631
+ # protection_enabled: true,
9632
+ # tasks: [
9633
+ # "b8b1cf532d0e46ba8d44a40d1de16772",
9634
+ # ],
9635
+ # })
9636
+ #
9637
+ # resp.to_h outputs the following:
9638
+ # {
9639
+ # failures: [
9640
+ # ],
9641
+ # protected_tasks: [
9642
+ # {
9643
+ # expiration_date: Time.parse("2022-11-02T06:56:32.553Z"),
9644
+ # protection_enabled: true,
9645
+ # task_arn: "arn:aws:ecs:us-west-2:012345678910:task/default/b8b1cf532d0e46ba8d44a40d1de16772",
9646
+ # },
9647
+ # ],
9648
+ # }
9649
+ #
9650
+ # @example Example: To remove task scale-in protection
9651
+ #
9652
+ # # This example removes scale-in protection for a task.
9653
+ #
9654
+ # resp = client.update_task_protection({
9655
+ # cluster: "test-task-protection",
9656
+ # protection_enabled: false,
9657
+ # tasks: [
9658
+ # "b8b1cf532d0e46ba8d44a40d1de16772",
9659
+ # ],
9660
+ # })
9661
+ #
9662
+ # resp.to_h outputs the following:
9663
+ # {
9664
+ # failures: [
9665
+ # ],
9666
+ # protected_tasks: [
9667
+ # {
9668
+ # protection_enabled: false,
9669
+ # task_arn: "arn:aws:ecs:us-west-2:012345678910:task/default/b8b1cf532d0e46ba8d44a40d1de16772",
9670
+ # },
9671
+ # ],
9672
+ # }
9673
+ #
9674
+ # @example Request syntax with placeholder values
9675
+ #
9676
+ # resp = client.update_task_protection({
9677
+ # cluster: "String", # required
9678
+ # tasks: ["String"], # required
9679
+ # protection_enabled: false, # required
9680
+ # expires_in_minutes: 1,
9681
+ # })
9682
+ #
9683
+ # @example Response structure
9684
+ #
9685
+ # resp.protected_tasks #=> Array
9686
+ # resp.protected_tasks[0].task_arn #=> String
9687
+ # resp.protected_tasks[0].protection_enabled #=> Boolean
9688
+ # resp.protected_tasks[0].expiration_date #=> Time
9689
+ # resp.failures #=> Array
9690
+ # resp.failures[0].arn #=> String
9691
+ # resp.failures[0].reason #=> String
9692
+ # resp.failures[0].detail #=> String
9693
+ #
9694
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskProtection AWS API Documentation
9695
+ #
9696
+ # @overload update_task_protection(params = {})
9697
+ # @param [Hash] params ({})
9698
+ def update_task_protection(params = {}, options = {})
9699
+ req = build_request(:update_task_protection, params)
9700
+ req.send_request(options)
9701
+ end
9702
+
8500
9703
  # Modifies a task set. This is used when a service uses the `EXTERNAL`
8501
9704
  # deployment controller type. For more information, see [Amazon ECS
8502
9705
  # Deployment Types][1] in the *Amazon Elastic Container Service
@@ -8605,7 +9808,7 @@ module Aws::ECS
8605
9808
  params: params,
8606
9809
  config: config)
8607
9810
  context[:gem_name] = 'aws-sdk-ecs'
8608
- context[:gem_version] = '1.92.0'
9811
+ context[:gem_version] = '1.131.0'
8609
9812
  Seahorse::Client::Request.new(handlers, context)
8610
9813
  end
8611
9814