aws-sdk-ecs 1.92.0 → 1.131.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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