aws-sdk-ecs 1.22.0 → 1.23.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf862e6c7f696a213ea321fdee439b46ebcc099b
4
- data.tar.gz: 9483d50791e615de02e4aae67ab6b3ffe06332d5
3
+ metadata.gz: 9a464d02d4d6c6982f2c4348f9b51e75885f6aa6
4
+ data.tar.gz: 55c530461c5ba4e77d3cf9bdf30e82258261587c
5
5
  SHA512:
6
- metadata.gz: 3679ea3a178a3106b0b5abb4b96fb3eabf8e002a2d763948f6378e1d8140ae304894ffbac1dffe283b9e435a55c8b0cb8d52c92b8ef53dcac7af3724473566c9
7
- data.tar.gz: 1fcdeffac2742f1315ee760f9749e618c65d20f2756b94ee50017558c903880e73b5f181a656eaf1f69332737d065751e06fa4ec9b286caac8efe4d61f39d79f
6
+ metadata.gz: c703f74c9361ef3248d8a916af1ee82d484ede781e1ffd5d8e0042cc72ac83f741dc029d6d2494f30adbc6037ac598a0ab4961a6a20cecfcc1f5a47f6bb8b70d
7
+ data.tar.gz: acfb85385793ebd5abca60eb10e22850fa5ecf044627afda6f625e6b108345162b52fedf1448782249db3265e0fb0f176659e06bbd78a374f4c71d45d179b672
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-ecs/customizations'
43
43
  # @service
44
44
  module Aws::ECS
45
45
 
46
- GEM_VERSION = '1.22.0'
46
+ GEM_VERSION = '1.23.0'
47
47
 
48
48
  end
@@ -15,6 +15,7 @@ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
15
  require 'aws-sdk-core/plugins/retry_errors.rb'
16
16
  require 'aws-sdk-core/plugins/global_configuration.rb'
17
17
  require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
18
19
  require 'aws-sdk-core/plugins/response_paging.rb'
19
20
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
21
  require 'aws-sdk-core/plugins/idempotency_token.rb'
@@ -45,6 +46,7 @@ module Aws::ECS
45
46
  add_plugin(Aws::Plugins::RetryErrors)
46
47
  add_plugin(Aws::Plugins::GlobalConfiguration)
47
48
  add_plugin(Aws::Plugins::RegionalEndpoint)
49
+ add_plugin(Aws::Plugins::EndpointDiscovery)
48
50
  add_plugin(Aws::Plugins::ResponsePaging)
49
51
  add_plugin(Aws::Plugins::StubResponses)
50
52
  add_plugin(Aws::Plugins::IdempotencyToken)
@@ -98,6 +100,10 @@ module Aws::ECS
98
100
  #
99
101
  # @option options [String] :access_key_id
100
102
  #
103
+ # @option options [Boolean] :active_endpoint_cache (false)
104
+ # When set to `true`, a thread polling for endpoints will be running in
105
+ # the background every 60 secs (default). Defaults to `false`.
106
+ #
101
107
  # @option options [Boolean] :client_side_monitoring (false)
102
108
  # When `true`, client-side metrics will be collected for all API requests from
103
109
  # this client.
@@ -123,6 +129,21 @@ module Aws::ECS
123
129
  # option. You should only configure an `:endpoint` when connecting
124
130
  # to test endpoints. This should be avalid HTTP(S) URI.
125
131
  #
132
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
133
+ # Used for the maximum size limit of the LRU cache storing endpoints data
134
+ # for endpoint discovery enabled operations. Defaults to 1000.
135
+ #
136
+ # @option options [Integer] :endpoint_cache_max_threads (10)
137
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
138
+ #
139
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
140
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
141
+ # Use this option to config the time interval in seconds for making
142
+ # requests fetching endpoints information. Defaults to 60 sec.
143
+ #
144
+ # @option options [Boolean] :endpoint_discovery (false)
145
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
146
+ #
126
147
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
127
148
  # The log formatter.
128
149
  #
@@ -213,6 +234,13 @@ module Aws::ECS
213
234
  # (uppercase and lowercase), numbers, hyphens, and underscores are
214
235
  # allowed.
215
236
  #
237
+ # @option params [Array<Types::Tag>] :tags
238
+ # The metadata that you apply to the cluster to help you categorize and
239
+ # organize them. Each tag consists of a key and an optional value, both
240
+ # of which you define. Tag keys can have a maximum character length of
241
+ # 128 characters, and tag values can have a maximum length of 256
242
+ # characters.
243
+ #
216
244
  # @return [Types::CreateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
217
245
  #
218
246
  # * {Types::CreateClusterResponse#cluster #cluster} => Types::Cluster
@@ -243,6 +271,12 @@ module Aws::ECS
243
271
  #
244
272
  # resp = client.create_cluster({
245
273
  # cluster_name: "String",
274
+ # tags: [
275
+ # {
276
+ # key: "TagKey",
277
+ # value: "TagValue",
278
+ # },
279
+ # ],
246
280
  # })
247
281
  #
248
282
  # @example Response structure
@@ -257,6 +291,9 @@ module Aws::ECS
257
291
  # resp.cluster.statistics #=> Array
258
292
  # resp.cluster.statistics[0].name #=> String
259
293
  # resp.cluster.statistics[0].value #=> String
294
+ # resp.cluster.tags #=> Array
295
+ # resp.cluster.tags[0].key #=> String
296
+ # resp.cluster.tags[0].value #=> String
260
297
  #
261
298
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster AWS API Documentation
262
299
  #
@@ -382,7 +419,7 @@ module Aws::ECS
382
419
  #
383
420
  # Services with tasks that use the `awsvpc` network mode (for example,
384
421
  # those with the Fargate launch type) only support Application Load
385
- # Balancers and Network Load Balancers; Classic Load Balancers are not
422
+ # Balancers and Network Load Balancers. Classic Load Balancers are not
386
423
  # supported. Also, when you create any target groups for these services,
387
424
  # you must choose `ip` as the target type, not `instance`, because tasks
388
425
  # that use the `awsvpc` network mode are associated with an elastic
@@ -392,9 +429,9 @@ module Aws::ECS
392
429
  # The details of the service discovery registries to assign to this
393
430
  # service. For more information, see [Service Discovery][1].
394
431
  #
395
- # <note markdown="1"> Service discovery is supported for Fargate tasks if using platform
396
- # version v1.1.0 or later. For more information, see [AWS Fargate
397
- # Platform Versions][2].
432
+ # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
433
+ # platform version v1.1.0 or later. For more information, see [AWS
434
+ # Fargate Platform Versions][2].
398
435
  #
399
436
  # </note>
400
437
  #
@@ -454,7 +491,7 @@ module Aws::ECS
454
491
  # An array of placement constraint objects to use for tasks in your
455
492
  # service. You can specify a maximum of 10 constraints per task (this
456
493
  # limit includes constraints in the task definition and those specified
457
- # at run time).
494
+ # at runtime).
458
495
  #
459
496
  # @option params [Array<Types::PlacementStrategy>] :placement_strategy
460
497
  # The placement strategy objects to use for tasks in your service. You
@@ -463,7 +500,7 @@ module Aws::ECS
463
500
  # @option params [Types::NetworkConfiguration] :network_configuration
464
501
  # The network configuration for the service. This parameter is required
465
502
  # for task definitions that use the `awsvpc` network mode to receive
466
- # their own Elastic Network Interface, and it is not supported for other
503
+ # their own elastic network interface, and it is not supported for other
467
504
  # network modes. For more information, see [Task Networking][1] in the
468
505
  # *Amazon Elastic Container Service Developer Guide*.
469
506
  #
@@ -496,9 +533,10 @@ module Aws::ECS
496
533
  #
497
534
  # * `DAEMON`-The daemon scheduling strategy deploys exactly one task on
498
535
  # each active container instance that meets all of the task placement
499
- # constraints that you specify in your cluster. When using this
500
- # strategy, there is no need to specify a desired number of tasks, a
501
- # task placement strategy, or use Service Auto Scaling policies.
536
+ # constraints that you specify in your cluster. When you are using
537
+ # this strategy, there is no need to specify a desired number of
538
+ # tasks, a task placement strategy, or use Service Auto Scaling
539
+ # policies.
502
540
  #
503
541
  # <note markdown="1"> Fargate tasks do not support the `DAEMON` scheduling strategy.
504
542
  #
@@ -508,6 +546,31 @@ module Aws::ECS
508
546
  #
509
547
  # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideecs_services.html
510
548
  #
549
+ # @option params [Array<Types::Tag>] :tags
550
+ # The metadata that you apply to the service to help you categorize and
551
+ # organize them. Each tag consists of a key and an optional value, both
552
+ # of which you define. When a service is deleted, the tags are deleted
553
+ # as well. Tag keys can have a maximum character length of 128
554
+ # characters, and tag values can have a maximum length of 256
555
+ # characters.
556
+ #
557
+ # @option params [Boolean] :enable_ecs_managed_tags
558
+ # Specifies whether to enable Amazon ECS managed tags for the tasks
559
+ # within the service. For more information, see [Tagging Your Amazon ECS
560
+ # Resources][1] in the *Amazon Elastic Container Service Developer
561
+ # Guide*.
562
+ #
563
+ #
564
+ #
565
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html
566
+ #
567
+ # @option params [String] :propagate_tags
568
+ # Specifies whether to propagate the tags from the task definition or
569
+ # the service to the tasks. If no value is specified, the tags are not
570
+ # propagated. Tags can only be propagated to the tasks within the
571
+ # service during service creation. To add tags to a task after service
572
+ # creation, use the TagResource API action.
573
+ #
511
574
  # @return [Types::CreateServiceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
512
575
  #
513
576
  # * {Types::CreateServiceResponse#service #service} => Types::Service
@@ -682,6 +745,14 @@ module Aws::ECS
682
745
  # },
683
746
  # health_check_grace_period_seconds: 1,
684
747
  # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
748
+ # tags: [
749
+ # {
750
+ # key: "TagKey",
751
+ # value: "TagValue",
752
+ # },
753
+ # ],
754
+ # enable_ecs_managed_tags: false,
755
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
685
756
  # })
686
757
  #
687
758
  # @example Response structure
@@ -743,6 +814,12 @@ module Aws::ECS
743
814
  # resp.service.network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
744
815
  # resp.service.health_check_grace_period_seconds #=> Integer
745
816
  # resp.service.scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
817
+ # resp.service.tags #=> Array
818
+ # resp.service.tags[0].key #=> String
819
+ # resp.service.tags[0].value #=> String
820
+ # resp.service.created_by #=> String
821
+ # resp.service.enable_ecs_managed_tags #=> Boolean
822
+ # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
746
823
  #
747
824
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateService AWS API Documentation
748
825
  #
@@ -753,6 +830,53 @@ module Aws::ECS
753
830
  req.send_request(options)
754
831
  end
755
832
 
833
+ # Modifies the ARN and resource ID format of a resource for a specified
834
+ # IAM user, IAM role, or the root user for an account. You can specify
835
+ # whether the new ARN and resource ID format are disabled for new
836
+ # resources that are created.
837
+ #
838
+ # @option params [required, String] :name
839
+ # The resource name for which to disable the new format. If
840
+ # `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
841
+ # services is affected. If `taskLongArnFormat` is specified, the ARN and
842
+ # resource ID for your Amazon ECS tasks is affected. If
843
+ # `containerInstanceLongArnFormat` is specified, the ARN and resource ID
844
+ # for your Amazon ECS container instances is affected.
845
+ #
846
+ # @option params [String] :principal_arn
847
+ # The ARN of the principal, which can be an IAM user, IAM role, or the
848
+ # root user. If you specify the root user, it modifies the ARN and
849
+ # resource ID format for all IAM users, IAM roles, and the root user of
850
+ # the account unless an IAM user or role explicitly overrides these
851
+ # settings for themselves. If this field is omitted, the setting are
852
+ # changed only for the authenticated user.
853
+ #
854
+ # @return [Types::DeleteAccountSettingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
855
+ #
856
+ # * {Types::DeleteAccountSettingResponse#setting #setting} => Types::Setting
857
+ #
858
+ # @example Request syntax with placeholder values
859
+ #
860
+ # resp = client.delete_account_setting({
861
+ # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat
862
+ # principal_arn: "String",
863
+ # })
864
+ #
865
+ # @example Response structure
866
+ #
867
+ # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat"
868
+ # resp.setting.value #=> String
869
+ # resp.setting.principal_arn #=> String
870
+ #
871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSetting AWS API Documentation
872
+ #
873
+ # @overload delete_account_setting(params = {})
874
+ # @param [Hash] params ({})
875
+ def delete_account_setting(params = {}, options = {})
876
+ req = build_request(:delete_account_setting, params)
877
+ req.send_request(options)
878
+ end
879
+
756
880
  # Deletes one or more custom attributes from an Amazon ECS resource.
757
881
  #
758
882
  # @option params [String] :cluster
@@ -854,6 +978,9 @@ module Aws::ECS
854
978
  # resp.cluster.statistics #=> Array
855
979
  # resp.cluster.statistics[0].name #=> String
856
980
  # resp.cluster.statistics[0].value #=> String
981
+ # resp.cluster.tags #=> Array
982
+ # resp.cluster.tags[0].key #=> String
983
+ # resp.cluster.tags[0].value #=> String
857
984
  #
858
985
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster AWS API Documentation
859
986
  #
@@ -872,20 +999,20 @@ module Aws::ECS
872
999
  #
873
1000
  # <note markdown="1"> When you delete a service, if there are still running tasks that
874
1001
  # require cleanup, the service status moves from `ACTIVE` to `DRAINING`,
875
- # and the service is no longer visible in the console or in ListServices
876
- # API operations. After the tasks have stopped, then the service status
877
- # moves from `DRAINING` to `INACTIVE`. Services in the `DRAINING` or
878
- # `INACTIVE` status can still be viewed with DescribeServices API
879
- # operations. However, in the future, `INACTIVE` services may be cleaned
880
- # up and purged from Amazon ECS record keeping, and DescribeServices API
881
- # operations on those services return a `ServiceNotFoundException`
882
- # error.
1002
+ # and the service is no longer visible in the console or in the
1003
+ # ListServices API operation. After the tasks have stopped, then the
1004
+ # service status moves from `DRAINING` to `INACTIVE`. Services in the
1005
+ # `DRAINING` or `INACTIVE` status can still be viewed with the
1006
+ # DescribeServices API operation. However, in the future, `INACTIVE`
1007
+ # services may be cleaned up and purged from Amazon ECS record keeping,
1008
+ # and DescribeServices calls on those services return a
1009
+ # `ServiceNotFoundException` error.
883
1010
  #
884
1011
  # </note>
885
1012
  #
886
1013
  # If you attempt to create a new service with the same name as an
887
- # existing service in either `ACTIVE` or `DRAINING` status, you will
888
- # receive an error.
1014
+ # existing service in either `ACTIVE` or `DRAINING` status, you receive
1015
+ # an error.
889
1016
  #
890
1017
  # @option params [String] :cluster
891
1018
  # The short name or full Amazon Resource Name (ARN) of the cluster that
@@ -985,6 +1112,12 @@ module Aws::ECS
985
1112
  # resp.service.network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
986
1113
  # resp.service.health_check_grace_period_seconds #=> Integer
987
1114
  # resp.service.scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
1115
+ # resp.service.tags #=> Array
1116
+ # resp.service.tags[0].key #=> String
1117
+ # resp.service.tags[0].value #=> String
1118
+ # resp.service.created_by #=> String
1119
+ # resp.service.enable_ecs_managed_tags #=> Boolean
1120
+ # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
988
1121
  #
989
1122
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteService AWS API Documentation
990
1123
  #
@@ -1004,7 +1137,7 @@ module Aws::ECS
1004
1137
  # tasks from consuming resources.
1005
1138
  #
1006
1139
  # Deregistering a container instance removes the instance from a
1007
- # cluster, but it does not terminate the EC2 instance; if you are
1140
+ # cluster, but it does not terminate the EC2 instance. If you are
1008
1141
  # finished using the instance, be sure to terminate it in the Amazon EC2
1009
1142
  # console to stop billing.
1010
1143
  #
@@ -1114,6 +1247,9 @@ module Aws::ECS
1114
1247
  # resp.container_instance.attachments[0].details #=> Array
1115
1248
  # resp.container_instance.attachments[0].details[0].name #=> String
1116
1249
  # resp.container_instance.attachments[0].details[0].value #=> String
1250
+ # resp.container_instance.tags #=> Array
1251
+ # resp.container_instance.tags[0].key #=> String
1252
+ # resp.container_instance.tags[0].value #=> String
1117
1253
  #
1118
1254
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstance AWS API Documentation
1119
1255
  #
@@ -1138,7 +1274,7 @@ module Aws::ECS
1138
1274
  # have not yet taken effect).
1139
1275
  #
1140
1276
  # <note markdown="1"> At this time, `INACTIVE` task definitions remain discoverable in your
1141
- # account indefinitely; however, this behavior is subject to change in
1277
+ # account indefinitely. However, this behavior is subject to change in
1142
1278
  # the future, so you should not rely on `INACTIVE` task definitions
1143
1279
  # persisting beyond the lifecycle of any associated tasks and services.
1144
1280
  #
@@ -1206,6 +1342,9 @@ module Aws::ECS
1206
1342
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].size #=> Integer
1207
1343
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].mount_options #=> Array
1208
1344
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].mount_options[0] #=> String
1345
+ # resp.task_definition.container_definitions[0].secrets #=> Array
1346
+ # resp.task_definition.container_definitions[0].secrets[0].name #=> String
1347
+ # resp.task_definition.container_definitions[0].secrets[0].value_from #=> String
1209
1348
  # resp.task_definition.container_definitions[0].hostname #=> String
1210
1349
  # resp.task_definition.container_definitions[0].user #=> String
1211
1350
  # resp.task_definition.container_definitions[0].working_directory #=> String
@@ -1341,7 +1480,7 @@ module Aws::ECS
1341
1480
  #
1342
1481
  # resp = client.describe_clusters({
1343
1482
  # clusters: ["String"],
1344
- # include: ["STATISTICS"], # accepts STATISTICS
1483
+ # include: ["STATISTICS"], # accepts STATISTICS, TAGS
1345
1484
  # })
1346
1485
  #
1347
1486
  # @example Response structure
@@ -1357,6 +1496,9 @@ module Aws::ECS
1357
1496
  # resp.clusters[0].statistics #=> Array
1358
1497
  # resp.clusters[0].statistics[0].name #=> String
1359
1498
  # resp.clusters[0].statistics[0].value #=> String
1499
+ # resp.clusters[0].tags #=> Array
1500
+ # resp.clusters[0].tags[0].key #=> String
1501
+ # resp.clusters[0].tags[0].value #=> String
1360
1502
  # resp.failures #=> Array
1361
1503
  # resp.failures[0].arn #=> String
1362
1504
  # resp.failures[0].reason #=> String
@@ -1383,6 +1525,12 @@ module Aws::ECS
1383
1525
  # A list of up to 100 container instance IDs or full Amazon Resource
1384
1526
  # Name (ARN) entries.
1385
1527
  #
1528
+ # @option params [Array<String>] :include
1529
+ # Specifies whether you want to see the resource tags for the container
1530
+ # instance. If `TAGS` is specified, the tags are included in the
1531
+ # response. If this field is omitted, tags are not included in the
1532
+ # response.
1533
+ #
1386
1534
  # @return [Types::DescribeContainerInstancesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1387
1535
  #
1388
1536
  # * {Types::DescribeContainerInstancesResponse#container_instances #container_instances} => Array&lt;Types::ContainerInstance&gt;
@@ -1481,6 +1629,7 @@ module Aws::ECS
1481
1629
  # resp = client.describe_container_instances({
1482
1630
  # cluster: "String",
1483
1631
  # container_instances: ["String"], # required
1632
+ # include: ["TAGS"], # accepts TAGS
1484
1633
  # })
1485
1634
  #
1486
1635
  # @example Response structure
@@ -1526,6 +1675,9 @@ module Aws::ECS
1526
1675
  # resp.container_instances[0].attachments[0].details #=> Array
1527
1676
  # resp.container_instances[0].attachments[0].details[0].name #=> String
1528
1677
  # resp.container_instances[0].attachments[0].details[0].value #=> String
1678
+ # resp.container_instances[0].tags #=> Array
1679
+ # resp.container_instances[0].tags[0].key #=> String
1680
+ # resp.container_instances[0].tags[0].value #=> String
1529
1681
  # resp.failures #=> Array
1530
1682
  # resp.failures[0].arn #=> String
1531
1683
  # resp.failures[0].reason #=> String
@@ -1550,6 +1702,11 @@ module Aws::ECS
1550
1702
  # A list of services to describe. You may specify up to 10 services to
1551
1703
  # describe in a single operation.
1552
1704
  #
1705
+ # @option params [Array<String>] :include
1706
+ # Specifies whether you want to see the resource tags for the service.
1707
+ # If `TAGS` is specified, the tags are included in the response. If this
1708
+ # field is omitted, tags are not included in the response.
1709
+ #
1553
1710
  # @return [Types::DescribeServicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1554
1711
  #
1555
1712
  # * {Types::DescribeServicesResponse#services #services} => Array&lt;Types::Service&gt;
@@ -1615,6 +1772,7 @@ module Aws::ECS
1615
1772
  # resp = client.describe_services({
1616
1773
  # cluster: "String",
1617
1774
  # services: ["String"], # required
1775
+ # include: ["TAGS"], # accepts TAGS
1618
1776
  # })
1619
1777
  #
1620
1778
  # @example Response structure
@@ -1677,6 +1835,12 @@ module Aws::ECS
1677
1835
  # resp.services[0].network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1678
1836
  # resp.services[0].health_check_grace_period_seconds #=> Integer
1679
1837
  # resp.services[0].scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
1838
+ # resp.services[0].tags #=> Array
1839
+ # resp.services[0].tags[0].key #=> String
1840
+ # resp.services[0].tags[0].value #=> String
1841
+ # resp.services[0].created_by #=> String
1842
+ # resp.services[0].enable_ecs_managed_tags #=> Boolean
1843
+ # resp.services[0].propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
1680
1844
  # resp.failures #=> Array
1681
1845
  # resp.failures[0].arn #=> String
1682
1846
  # resp.failures[0].reason #=> String
@@ -1705,9 +1869,15 @@ module Aws::ECS
1705
1869
  # (`family:revision`) for a specific revision in the family, or full
1706
1870
  # Amazon Resource Name (ARN) of the task definition to describe.
1707
1871
  #
1872
+ # @option params [Array<String>] :include
1873
+ # Specifies whether to see the resource tags for the task definition. If
1874
+ # `TAGS` is specified, the tags are included in the response. If this
1875
+ # field is omitted, tags are not included in the response.
1876
+ #
1708
1877
  # @return [Types::DescribeTaskDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1709
1878
  #
1710
1879
  # * {Types::DescribeTaskDefinitionResponse#task_definition #task_definition} => Types::TaskDefinition
1880
+ # * {Types::DescribeTaskDefinitionResponse#tags #tags} => Array&lt;Types::Tag&gt;
1711
1881
  #
1712
1882
  #
1713
1883
  # @example Example: To describe a task definition
@@ -1776,6 +1946,7 @@ module Aws::ECS
1776
1946
  #
1777
1947
  # resp = client.describe_task_definition({
1778
1948
  # task_definition: "String", # required
1949
+ # include: ["TAGS"], # accepts TAGS
1779
1950
  # })
1780
1951
  #
1781
1952
  # @example Response structure
@@ -1825,6 +1996,9 @@ module Aws::ECS
1825
1996
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].size #=> Integer
1826
1997
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].mount_options #=> Array
1827
1998
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].mount_options[0] #=> String
1999
+ # resp.task_definition.container_definitions[0].secrets #=> Array
2000
+ # resp.task_definition.container_definitions[0].secrets[0].name #=> String
2001
+ # resp.task_definition.container_definitions[0].secrets[0].value_from #=> String
1828
2002
  # resp.task_definition.container_definitions[0].hostname #=> String
1829
2003
  # resp.task_definition.container_definitions[0].user #=> String
1830
2004
  # resp.task_definition.container_definitions[0].working_directory #=> String
@@ -1890,6 +2064,9 @@ module Aws::ECS
1890
2064
  # resp.task_definition.requires_compatibilities[0] #=> String, one of "EC2", "FARGATE"
1891
2065
  # resp.task_definition.cpu #=> String
1892
2066
  # resp.task_definition.memory #=> String
2067
+ # resp.tags #=> Array
2068
+ # resp.tags[0].key #=> String
2069
+ # resp.tags[0].value #=> String
1893
2070
  #
1894
2071
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinition AWS API Documentation
1895
2072
  #
@@ -1910,6 +2087,11 @@ module Aws::ECS
1910
2087
  # @option params [required, Array<String>] :tasks
1911
2088
  # A list of up to 100 task IDs or full ARN entries.
1912
2089
  #
2090
+ # @option params [Array<String>] :include
2091
+ # Specifies whether you want to see the resource tags for the task. If
2092
+ # `TAGS` is specified, the tags are included in the response. If this
2093
+ # field is omitted, tags are not included in the response.
2094
+ #
1913
2095
  # @return [Types::DescribeTasksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1914
2096
  #
1915
2097
  # * {Types::DescribeTasksResponse#tasks #tasks} => Array&lt;Types::Task&gt;
@@ -1970,6 +2152,7 @@ module Aws::ECS
1970
2152
  # resp = client.describe_tasks({
1971
2153
  # cluster: "String",
1972
2154
  # tasks: ["String"], # required
2155
+ # include: ["TAGS"], # accepts TAGS
1973
2156
  # })
1974
2157
  #
1975
2158
  # @example Response structure
@@ -2015,6 +2198,7 @@ module Aws::ECS
2015
2198
  # resp.tasks[0].started_by #=> String
2016
2199
  # resp.tasks[0].version #=> Integer
2017
2200
  # resp.tasks[0].stopped_reason #=> String
2201
+ # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
2018
2202
  # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
2019
2203
  # resp.tasks[0].connectivity_at #=> Time
2020
2204
  # resp.tasks[0].pull_started_at #=> Time
@@ -2035,6 +2219,9 @@ module Aws::ECS
2035
2219
  # resp.tasks[0].attachments[0].details[0].name #=> String
2036
2220
  # resp.tasks[0].attachments[0].details[0].value #=> String
2037
2221
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
2222
+ # resp.tasks[0].tags #=> Array
2223
+ # resp.tasks[0].tags[0].key #=> String
2224
+ # resp.tasks[0].tags[0].value #=> String
2038
2225
  # resp.failures #=> Array
2039
2226
  # resp.failures[0].arn #=> String
2040
2227
  # resp.failures[0].reason #=> String
@@ -2065,8 +2252,8 @@ module Aws::ECS
2065
2252
  # `.
2066
2253
  #
2067
2254
  # @option params [String] :cluster
2068
- # The short name or full Amazon Resource Name (ARN) of the cluster that
2069
- # the container instance belongs to.
2255
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
2256
+ # which the container instance belongs.
2070
2257
  #
2071
2258
  # @return [Types::DiscoverPollEndpointResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2072
2259
  #
@@ -2094,6 +2281,85 @@ module Aws::ECS
2094
2281
  req.send_request(options)
2095
2282
  end
2096
2283
 
2284
+ # Lists the account settings for an Amazon ECS resource for a specified
2285
+ # principal.
2286
+ #
2287
+ # @option params [String] :name
2288
+ # The resource name you want to list the account settings for.
2289
+ #
2290
+ # @option params [String] :value
2291
+ # The value of the account settings with which to filter results. You
2292
+ # must also specify an account setting name to use this parameter.
2293
+ #
2294
+ # @option params [String] :principal_arn
2295
+ # The ARN of the principal, which can be an IAM user, IAM role, or the
2296
+ # root user. If this field is omitted, the account settings are listed
2297
+ # only for the authenticated user.
2298
+ #
2299
+ # @option params [Boolean] :effective_settings
2300
+ # Specifies whether to return the effective settings. If `true`, the
2301
+ # account settings for the root user or the default setting for the
2302
+ # `principalArn`. If `false`, the account settings for the
2303
+ # `principalArn` are returned if they are set. Otherwise, no account
2304
+ # settings are returned.
2305
+ #
2306
+ # @option params [String] :next_token
2307
+ # The `nextToken` value returned from a previous paginated
2308
+ # `ListAccountSettings` request where `maxResults` was used and the
2309
+ # results exceeded the value of that parameter. Pagination continues
2310
+ # from the end of the previous results that returned the `nextToken`
2311
+ # value.
2312
+ #
2313
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
2314
+ # to retrieve the next items in a list and not for other programmatic
2315
+ # purposes.
2316
+ #
2317
+ # </note>
2318
+ #
2319
+ # @option params [Integer] :max_results
2320
+ # The maximum number of account setting results returned by
2321
+ # `ListAccountSettings` in paginated output. When this parameter is
2322
+ # used, `ListAccountSettings` only returns `maxResults` results in a
2323
+ # single page along with a `nextToken` response element. The remaining
2324
+ # results of the initial request can be seen by sending another
2325
+ # `ListAccountSettings` request with the returned `nextToken` value.
2326
+ # This value can be between 1 and 10. If this parameter is not used,
2327
+ # then `ListAccountSettings` returns up to 10 results and a `nextToken`
2328
+ # value if applicable.
2329
+ #
2330
+ # @return [Types::ListAccountSettingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2331
+ #
2332
+ # * {Types::ListAccountSettingsResponse#settings #settings} => Array&lt;Types::Setting&gt;
2333
+ # * {Types::ListAccountSettingsResponse#next_token #next_token} => String
2334
+ #
2335
+ # @example Request syntax with placeholder values
2336
+ #
2337
+ # resp = client.list_account_settings({
2338
+ # name: "serviceLongArnFormat", # accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat
2339
+ # value: "String",
2340
+ # principal_arn: "String",
2341
+ # effective_settings: false,
2342
+ # next_token: "String",
2343
+ # max_results: 1,
2344
+ # })
2345
+ #
2346
+ # @example Response structure
2347
+ #
2348
+ # resp.settings #=> Array
2349
+ # resp.settings[0].name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat"
2350
+ # resp.settings[0].value #=> String
2351
+ # resp.settings[0].principal_arn #=> String
2352
+ # resp.next_token #=> String
2353
+ #
2354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettings AWS API Documentation
2355
+ #
2356
+ # @overload list_account_settings(params = {})
2357
+ # @param [Hash] params ({})
2358
+ def list_account_settings(params = {}, options = {})
2359
+ req = build_request(:list_account_settings, params)
2360
+ req.send_request(options)
2361
+ end
2362
+
2097
2363
  # Lists the attributes for Amazon ECS resources within a specified
2098
2364
  # target type and cluster. When you specify a target type and cluster,
2099
2365
  # `ListAttributes` returns a list of attribute objects, one for each
@@ -2369,7 +2635,7 @@ module Aws::ECS
2369
2635
  # returns `maxResults` results in a single page along with a `nextToken`
2370
2636
  # response element. The remaining results of the initial request can be
2371
2637
  # seen by sending another `ListServices` request with the returned
2372
- # `nextToken` value. This value can be between 1 and 10. If this
2638
+ # `nextToken` value. This value can be between 1 and 100. If this
2373
2639
  # parameter is not used, then `ListServices` returns up to 10 results
2374
2640
  # and a `nextToken` value if applicable.
2375
2641
  #
@@ -2424,6 +2690,57 @@ module Aws::ECS
2424
2690
  req.send_request(options)
2425
2691
  end
2426
2692
 
2693
+ # List the tags for an Amazon ECS resource.
2694
+ #
2695
+ # @option params [required, String] :resource_arn
2696
+ # The Amazon Resource Name (ARN) that identifies the resource for which
2697
+ # to list the tags. Currently, the supported resources are Amazon ECS
2698
+ # tasks, services, task definitions, clusters, and container instances.
2699
+ #
2700
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2701
+ #
2702
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Array&lt;Types::Tag&gt;
2703
+ #
2704
+ #
2705
+ # @example Example: To list the tags for a cluster.
2706
+ #
2707
+ # # This example lists the tags for the 'dev' cluster.
2708
+ #
2709
+ # resp = client.list_tags_for_resource({
2710
+ # resource_arn: "arn:aws:ecs:region:aws_account_id:cluster/dev",
2711
+ # })
2712
+ #
2713
+ # resp.to_h outputs the following:
2714
+ # {
2715
+ # tags: [
2716
+ # {
2717
+ # key: "team",
2718
+ # value: "dev",
2719
+ # },
2720
+ # ],
2721
+ # }
2722
+ #
2723
+ # @example Request syntax with placeholder values
2724
+ #
2725
+ # resp = client.list_tags_for_resource({
2726
+ # resource_arn: "String", # required
2727
+ # })
2728
+ #
2729
+ # @example Response structure
2730
+ #
2731
+ # resp.tags #=> Array
2732
+ # resp.tags[0].key #=> String
2733
+ # resp.tags[0].value #=> String
2734
+ #
2735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResource AWS API Documentation
2736
+ #
2737
+ # @overload list_tags_for_resource(params = {})
2738
+ # @param [Hash] params ({})
2739
+ def list_tags_for_resource(params = {}, options = {})
2740
+ req = build_request(:list_tags_for_resource, params)
2741
+ req.send_request(options)
2742
+ end
2743
+
2427
2744
  # Returns a list of task definition families that are registered to your
2428
2745
  # account (which may include task definition families that no longer
2429
2746
  # have any `ACTIVE` task definition revisions).
@@ -2716,15 +3033,15 @@ module Aws::ECS
2716
3033
  # @option params [String] :desired_status
2717
3034
  # The task desired status with which to filter the `ListTasks` results.
2718
3035
  # Specifying a `desiredStatus` of `STOPPED` limits the results to tasks
2719
- # that Amazon ECS has set the desired status to `STOPPED`, which can be
3036
+ # that Amazon ECS has set the desired status to `STOPPED`. This can be
2720
3037
  # useful for debugging tasks that are not starting properly or have died
2721
3038
  # or finished. The default status filter is `RUNNING`, which shows tasks
2722
3039
  # that Amazon ECS has set the desired status to `RUNNING`.
2723
3040
  #
2724
3041
  # <note markdown="1"> Although you can filter results based on a desired status of
2725
- # `PENDING`, this does not return any results because Amazon ECS never
2726
- # sets the desired status of a task to that value (only a task's
2727
- # `lastStatus` may have a value of `PENDING`).
3042
+ # `PENDING`, this does not return any results. Amazon ECS never sets the
3043
+ # desired status of a task to that value (only a task's `lastStatus`
3044
+ # may have a value of `PENDING`).
2728
3045
  #
2729
3046
  # </note>
2730
3047
  #
@@ -2799,6 +3116,59 @@ module Aws::ECS
2799
3116
  req.send_request(options)
2800
3117
  end
2801
3118
 
3119
+ # Modifies the ARN and resource ID format of a resource for a specified
3120
+ # IAM user, IAM role, or the root user for an account. You can specify
3121
+ # whether the new ARN and resource ID format are enabled for new
3122
+ # resources that are created. Enabling this setting is required to use
3123
+ # new Amazon ECS features such as resource tagging.
3124
+ #
3125
+ # @option params [required, String] :name
3126
+ # The resource name for which to enable the new format. If
3127
+ # `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
3128
+ # services is affected. If `taskLongArnFormat` is specified, the ARN and
3129
+ # resource ID for your Amazon ECS tasks is affected. If
3130
+ # `containerInstanceLongArnFormat` is specified, the ARN and resource ID
3131
+ # for your Amazon ECS container instances is affected.
3132
+ #
3133
+ # @option params [required, String] :value
3134
+ # The account setting value for the specified principal ARN. Accepted
3135
+ # values are `ENABLED` and `DISABLED`.
3136
+ #
3137
+ # @option params [String] :principal_arn
3138
+ # The ARN of the principal, which can be an IAM user, IAM role, or the
3139
+ # root user. If you specify the root user, it modifies the ARN and
3140
+ # resource ID format for all IAM users, IAM roles, and the root user of
3141
+ # the account unless an IAM user or role explicitly overrides these
3142
+ # settings for themselves. If this field is omitted, the setting are
3143
+ # changed only for the authenticated user.
3144
+ #
3145
+ # @return [Types::PutAccountSettingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3146
+ #
3147
+ # * {Types::PutAccountSettingResponse#setting #setting} => Types::Setting
3148
+ #
3149
+ # @example Request syntax with placeholder values
3150
+ #
3151
+ # resp = client.put_account_setting({
3152
+ # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat
3153
+ # value: "String", # required
3154
+ # principal_arn: "String",
3155
+ # })
3156
+ #
3157
+ # @example Response structure
3158
+ #
3159
+ # resp.setting.name #=> String, one of "serviceLongArnFormat", "taskLongArnFormat", "containerInstanceLongArnFormat"
3160
+ # resp.setting.value #=> String
3161
+ # resp.setting.principal_arn #=> String
3162
+ #
3163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSetting AWS API Documentation
3164
+ #
3165
+ # @overload put_account_setting(params = {})
3166
+ # @param [Hash] params ({})
3167
+ def put_account_setting(params = {}, options = {})
3168
+ req = build_request(:put_account_setting, params)
3169
+ req.send_request(options)
3170
+ end
3171
+
2802
3172
  # Create or update an attribute on an Amazon ECS resource. If the
2803
3173
  # attribute does not exist, it is created. If the attribute exists, its
2804
3174
  # value is replaced with the specified value. To delete an attribute,
@@ -2893,6 +3263,13 @@ module Aws::ECS
2893
3263
  # The container instance attributes that this container instance
2894
3264
  # supports.
2895
3265
  #
3266
+ # @option params [Array<Types::Tag>] :tags
3267
+ # The metadata that you apply to the container instance to help you
3268
+ # categorize and organize them. Each tag consists of a key and an
3269
+ # optional value, both of which you define. Tag keys can have a maximum
3270
+ # character length of 128 characters, and tag values can have a maximum
3271
+ # length of 256 characters.
3272
+ #
2896
3273
  # @return [Types::RegisterContainerInstanceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2897
3274
  #
2898
3275
  # * {Types::RegisterContainerInstanceResponse#container_instance #container_instance} => Types::ContainerInstance
@@ -2927,6 +3304,12 @@ module Aws::ECS
2927
3304
  # target_id: "String",
2928
3305
  # },
2929
3306
  # ],
3307
+ # tags: [
3308
+ # {
3309
+ # key: "TagKey",
3310
+ # value: "TagValue",
3311
+ # },
3312
+ # ],
2930
3313
  # })
2931
3314
  #
2932
3315
  # @example Response structure
@@ -2971,6 +3354,9 @@ module Aws::ECS
2971
3354
  # resp.container_instance.attachments[0].details #=> Array
2972
3355
  # resp.container_instance.attachments[0].details[0].name #=> String
2973
3356
  # resp.container_instance.attachments[0].details[0].value #=> String
3357
+ # resp.container_instance.tags #=> Array
3358
+ # resp.container_instance.tags[0].key #=> String
3359
+ # resp.container_instance.tags[0].value #=> String
2974
3360
  #
2975
3361
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstance AWS API Documentation
2976
3362
  #
@@ -3036,14 +3422,15 @@ module Aws::ECS
3036
3422
  # @option params [String] :network_mode
3037
3423
  # The Docker networking mode to use for the containers in the task. The
3038
3424
  # valid values are `none`, `bridge`, `awsvpc`, and `host`. The default
3039
- # Docker network mode is `bridge`. If using the Fargate launch type, the
3040
- # `awsvpc` network mode is required. If using the EC2 launch type, any
3041
- # network mode can be used. If the network mode is set to `none`, you
3042
- # can't specify port mappings in your container definitions, and the
3043
- # task's containers do not have external connectivity. The `host` and
3044
- # `awsvpc` network modes offer the highest networking performance for
3045
- # containers because they use the EC2 network stack instead of the
3046
- # virtualized network stack provided by the `bridge` mode.
3425
+ # Docker network mode is `bridge`. If you are using the Fargate launch
3426
+ # type, the `awsvpc` network mode is required. If you are using the EC2
3427
+ # launch type, any network mode can be used. If the network mode is set
3428
+ # to `none`, you can't specify port mappings in your container
3429
+ # definitions, and the task's containers do not have external
3430
+ # connectivity. The `host` and `awsvpc` network modes offer the highest
3431
+ # networking performance for containers because they use the EC2 network
3432
+ # stack instead of the virtualized network stack provided by the
3433
+ # `bridge` mode.
3047
3434
  #
3048
3435
  # With the `host` and `awsvpc` network modes, exposed container ports
3049
3436
  # are mapped directly to the corresponding host port (for the `host`
@@ -3051,8 +3438,8 @@ module Aws::ECS
3051
3438
  # `awsvpc` network mode), so you cannot take advantage of dynamic host
3052
3439
  # port mappings.
3053
3440
  #
3054
- # If the network mode is `awsvpc`, the task is allocated an Elastic
3055
- # Network Interface, and you must specify a NetworkConfiguration when
3441
+ # If the network mode is `awsvpc`, the task is allocated an elastic
3442
+ # network interface, and you must specify a NetworkConfiguration when
3056
3443
  # you create a service or run a task with the task definition. For more
3057
3444
  # information, see [Task Networking][1] in the *Amazon Elastic Container
3058
3445
  # Service Developer Guide*.
@@ -3084,7 +3471,7 @@ module Aws::ECS
3084
3471
  # @option params [Array<Types::TaskDefinitionPlacementConstraint>] :placement_constraints
3085
3472
  # An array of placement constraint objects to use for the task. You can
3086
3473
  # specify a maximum of 10 constraints per task (this limit includes
3087
- # constraints in the task definition and those specified at run time).
3474
+ # constraints in the task definition and those specified at runtime).
3088
3475
  #
3089
3476
  # @option params [Array<String>] :requires_compatibilities
3090
3477
  # The launch type required by the task. If no value is specified, it
@@ -3103,13 +3490,13 @@ module Aws::ECS
3103
3490
  #
3104
3491
  # </note>
3105
3492
  #
3106
- # If using the EC2 launch type, this field is optional. Supported values
3107
- # are between `128` CPU units (`0.125` vCPUs) and `10240` CPU units
3108
- # (`10` vCPUs).
3493
+ # If you are using the EC2 launch type, this field is optional.
3494
+ # Supported values are between `128` CPU units (`0.125` vCPUs) and
3495
+ # `10240` CPU units (`10` vCPUs).
3109
3496
  #
3110
- # If using the Fargate launch type, this field is required and you must
3111
- # use one of the following values, which determines your range of
3112
- # supported values for the `memory` parameter:
3497
+ # If you are using the Fargate launch type, this field is required and
3498
+ # you must use one of the following values, which determines your range
3499
+ # of supported values for the `memory` parameter:
3113
3500
  #
3114
3501
  # * 256 (.25 vCPU) - Available `memory` values: 512 (0.5 GB), 1024 (1
3115
3502
  # GB), 2048 (2 GB)
@@ -3139,11 +3526,11 @@ module Aws::ECS
3139
3526
  #
3140
3527
  # </note>
3141
3528
  #
3142
- # If using the EC2 launch type, this field is optional.
3529
+ # If you are using the EC2 launch type, this field is optional.
3143
3530
  #
3144
- # If using the Fargate launch type, this field is required and you must
3145
- # use one of the following values, which determines your range of
3146
- # supported values for the `cpu` parameter:
3531
+ # If you are using the Fargate launch type, this field is required and
3532
+ # you must use one of the following values, which determines your range
3533
+ # of supported values for the `cpu` parameter:
3147
3534
  #
3148
3535
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values: 256
3149
3536
  # (.25 vCPU)
@@ -3160,9 +3547,17 @@ module Aws::ECS
3160
3547
  # * Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) -
3161
3548
  # Available `cpu` values: 4096 (4 vCPU)
3162
3549
  #
3550
+ # @option params [Array<Types::Tag>] :tags
3551
+ # The metadata that you apply to the task definition to help you
3552
+ # categorize and organize them. Each tag consists of a key and an
3553
+ # optional value, both of which you define. Tag keys can have a maximum
3554
+ # character length of 128 characters, and tag values can have a maximum
3555
+ # length of 256 characters.
3556
+ #
3163
3557
  # @return [Types::RegisterTaskDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3164
3558
  #
3165
3559
  # * {Types::RegisterTaskDefinitionResponse#task_definition #task_definition} => Types::TaskDefinition
3560
+ # * {Types::RegisterTaskDefinitionResponse#tags #tags} => Array&lt;Types::Tag&gt;
3166
3561
  #
3167
3562
  #
3168
3563
  # @example Example: To register a task definition
@@ -3290,6 +3685,12 @@ module Aws::ECS
3290
3685
  # },
3291
3686
  # ],
3292
3687
  # },
3688
+ # secrets: [
3689
+ # {
3690
+ # name: "String", # required
3691
+ # value_from: "String", # required
3692
+ # },
3693
+ # ],
3293
3694
  # hostname: "String",
3294
3695
  # user: "String",
3295
3696
  # working_directory: "String",
@@ -3366,6 +3767,12 @@ module Aws::ECS
3366
3767
  # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE
3367
3768
  # cpu: "String",
3368
3769
  # memory: "String",
3770
+ # tags: [
3771
+ # {
3772
+ # key: "TagKey",
3773
+ # value: "TagValue",
3774
+ # },
3775
+ # ],
3369
3776
  # })
3370
3777
  #
3371
3778
  # @example Response structure
@@ -3415,6 +3822,9 @@ module Aws::ECS
3415
3822
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].size #=> Integer
3416
3823
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].mount_options #=> Array
3417
3824
  # resp.task_definition.container_definitions[0].linux_parameters.tmpfs[0].mount_options[0] #=> String
3825
+ # resp.task_definition.container_definitions[0].secrets #=> Array
3826
+ # resp.task_definition.container_definitions[0].secrets[0].name #=> String
3827
+ # resp.task_definition.container_definitions[0].secrets[0].value_from #=> String
3418
3828
  # resp.task_definition.container_definitions[0].hostname #=> String
3419
3829
  # resp.task_definition.container_definitions[0].user #=> String
3420
3830
  # resp.task_definition.container_definitions[0].working_directory #=> String
@@ -3480,6 +3890,9 @@ module Aws::ECS
3480
3890
  # resp.task_definition.requires_compatibilities[0] #=> String, one of "EC2", "FARGATE"
3481
3891
  # resp.task_definition.cpu #=> String
3482
3892
  # resp.task_definition.memory #=> String
3893
+ # resp.tags #=> Array
3894
+ # resp.tags[0].key #=> String
3895
+ # resp.tags[0].value #=> String
3483
3896
  #
3484
3897
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinition AWS API Documentation
3485
3898
  #
@@ -3504,8 +3917,8 @@ module Aws::ECS
3504
3917
  # distributed nature of the system supporting the API. This means that
3505
3918
  # the result of an API command you run that affects your Amazon ECS
3506
3919
  # resources might not be immediately visible to all subsequent commands
3507
- # you run. You should keep this in mind when you carry out an API
3508
- # command that immediately follows a previous API command.
3920
+ # you run. Keep this in mind when you carry out an API command that
3921
+ # immediately follows a previous API command.
3509
3922
  #
3510
3923
  # To manage eventual consistency, you can do the following:
3511
3924
  #
@@ -3556,7 +3969,7 @@ module Aws::ECS
3556
3969
  # cluster. You can specify up to 10 tasks per call.
3557
3970
  #
3558
3971
  # @option params [String] :started_by
3559
- # An optional tag specified when a task is started. For example if you
3972
+ # An optional tag specified when a task is started. For example, if you
3560
3973
  # automatically trigger a task to run a batch process job, you could
3561
3974
  # apply a unique identifier for that job to your task with the
3562
3975
  # `startedBy` parameter. You can then identify which tasks belong to
@@ -3575,7 +3988,7 @@ module Aws::ECS
3575
3988
  # @option params [Array<Types::PlacementConstraint>] :placement_constraints
3576
3989
  # An array of placement constraint objects to use for the task. You can
3577
3990
  # specify up to 10 constraints per task (including constraints in the
3578
- # task definition and those specified at run time).
3991
+ # task definition and those specified at runtime).
3579
3992
  #
3580
3993
  # @option params [Array<Types::PlacementStrategy>] :placement_strategy
3581
3994
  # The placement strategy objects to use for the task. You can specify a
@@ -3591,7 +4004,7 @@ module Aws::ECS
3591
4004
  # @option params [Types::NetworkConfiguration] :network_configuration
3592
4005
  # The network configuration for the task. This parameter is required for
3593
4006
  # task definitions that use the `awsvpc` network mode to receive their
3594
- # own Elastic Network Interface, and it is not supported for other
4007
+ # own elastic network interface, and it is not supported for other
3595
4008
  # network modes. For more information, see [Task Networking][1] in the
3596
4009
  # *Amazon Elastic Container Service Developer Guide*.
3597
4010
  #
@@ -3599,6 +4012,27 @@ module Aws::ECS
3599
4012
  #
3600
4013
  # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
3601
4014
  #
4015
+ # @option params [Array<Types::Tag>] :tags
4016
+ # The metadata that you apply to the task to help you categorize and
4017
+ # organize them. Each tag consists of a key and an optional value, both
4018
+ # of which you define. Tag keys can have a maximum character length of
4019
+ # 128 characters, and tag values can have a maximum length of 256
4020
+ # characters.
4021
+ #
4022
+ # @option params [Boolean] :enable_ecs_managed_tags
4023
+ # Specifies whether to enable Amazon ECS managed tags for the task. For
4024
+ # more information, see [Tagging Your Amazon ECS Resources][1] in the
4025
+ # *Amazon Elastic Container Service Developer Guide*.
4026
+ #
4027
+ #
4028
+ #
4029
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html
4030
+ #
4031
+ # @option params [String] :propagate_tags
4032
+ # Specifies whether to propagate the tags from the task definition or
4033
+ # the service to the task. If no value is specified, the tags are not
4034
+ # propagated.
4035
+ #
3602
4036
  # @return [Types::RunTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3603
4037
  #
3604
4038
  # * {Types::RunTaskResponse#tasks #tasks} => Array&lt;Types::Task&gt;
@@ -3690,6 +4124,14 @@ module Aws::ECS
3690
4124
  # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3691
4125
  # },
3692
4126
  # },
4127
+ # tags: [
4128
+ # {
4129
+ # key: "TagKey",
4130
+ # value: "TagValue",
4131
+ # },
4132
+ # ],
4133
+ # enable_ecs_managed_tags: false,
4134
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
3693
4135
  # })
3694
4136
  #
3695
4137
  # @example Response structure
@@ -3735,6 +4177,7 @@ module Aws::ECS
3735
4177
  # resp.tasks[0].started_by #=> String
3736
4178
  # resp.tasks[0].version #=> Integer
3737
4179
  # resp.tasks[0].stopped_reason #=> String
4180
+ # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
3738
4181
  # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
3739
4182
  # resp.tasks[0].connectivity_at #=> Time
3740
4183
  # resp.tasks[0].pull_started_at #=> Time
@@ -3755,6 +4198,9 @@ module Aws::ECS
3755
4198
  # resp.tasks[0].attachments[0].details[0].name #=> String
3756
4199
  # resp.tasks[0].attachments[0].details[0].value #=> String
3757
4200
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
4201
+ # resp.tasks[0].tags #=> Array
4202
+ # resp.tasks[0].tags[0].key #=> String
4203
+ # resp.tasks[0].tags[0].value #=> String
3758
4204
  # resp.failures #=> Array
3759
4205
  # resp.failures[0].arn #=> String
3760
4206
  # resp.failures[0].reason #=> String
@@ -3810,7 +4256,7 @@ module Aws::ECS
3810
4256
  # up to 10 container instances.
3811
4257
  #
3812
4258
  # @option params [String] :started_by
3813
- # An optional tag specified when a task is started. For example if you
4259
+ # An optional tag specified when a task is started. For example, if you
3814
4260
  # automatically trigger a task to run a batch process job, you could
3815
4261
  # apply a unique identifier for that job to your task with the
3816
4262
  # `startedBy` parameter. You can then identify which tasks belong to
@@ -3831,6 +4277,27 @@ module Aws::ECS
3831
4277
  # their own elastic network interface by using the `awsvpc` networking
3832
4278
  # mode.
3833
4279
  #
4280
+ # @option params [Array<Types::Tag>] :tags
4281
+ # The metadata that you apply to the task to help you categorize and
4282
+ # organize them. Each tag consists of a key and an optional value, both
4283
+ # of which you define. Tag keys can have a maximum character length of
4284
+ # 128 characters, and tag values can have a maximum length of 256
4285
+ # characters.
4286
+ #
4287
+ # @option params [Boolean] :enable_ecs_managed_tags
4288
+ # Specifies whether to enable Amazon ECS managed tags for the task. For
4289
+ # more information, see [Tagging Your Amazon ECS Resources][1] in the
4290
+ # *Amazon Elastic Container Service Developer Guide*.
4291
+ #
4292
+ #
4293
+ #
4294
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html
4295
+ #
4296
+ # @option params [String] :propagate_tags
4297
+ # Specifies whether to propagate the tags from the task definition or
4298
+ # the service to the task. If no value is specified, the tags are not
4299
+ # propagated.
4300
+ #
3834
4301
  # @return [Types::StartTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3835
4302
  #
3836
4303
  # * {Types::StartTaskResponse#tasks #tasks} => Array&lt;Types::Task&gt;
@@ -3870,6 +4337,14 @@ module Aws::ECS
3870
4337
  # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3871
4338
  # },
3872
4339
  # },
4340
+ # tags: [
4341
+ # {
4342
+ # key: "TagKey",
4343
+ # value: "TagValue",
4344
+ # },
4345
+ # ],
4346
+ # enable_ecs_managed_tags: false,
4347
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
3873
4348
  # })
3874
4349
  #
3875
4350
  # @example Response structure
@@ -3915,6 +4390,7 @@ module Aws::ECS
3915
4390
  # resp.tasks[0].started_by #=> String
3916
4391
  # resp.tasks[0].version #=> Integer
3917
4392
  # resp.tasks[0].stopped_reason #=> String
4393
+ # resp.tasks[0].stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
3918
4394
  # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
3919
4395
  # resp.tasks[0].connectivity_at #=> Time
3920
4396
  # resp.tasks[0].pull_started_at #=> Time
@@ -3935,6 +4411,9 @@ module Aws::ECS
3935
4411
  # resp.tasks[0].attachments[0].details[0].name #=> String
3936
4412
  # resp.tasks[0].attachments[0].details[0].value #=> String
3937
4413
  # resp.tasks[0].health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
4414
+ # resp.tasks[0].tags #=> Array
4415
+ # resp.tasks[0].tags[0].key #=> String
4416
+ # resp.tasks[0].tags[0].value #=> String
3938
4417
  # resp.failures #=> Array
3939
4418
  # resp.failures[0].arn #=> String
3940
4419
  # resp.failures[0].reason #=> String
@@ -3948,7 +4427,8 @@ module Aws::ECS
3948
4427
  req.send_request(options)
3949
4428
  end
3950
4429
 
3951
- # Stops a running task.
4430
+ # Stops a running task. Any tags associated with the task will be
4431
+ # deleted.
3952
4432
  #
3953
4433
  # When StopTask is called on a task, the equivalent of `docker stop` is
3954
4434
  # issued to the containers running in the task. This results in a
@@ -4037,6 +4517,7 @@ module Aws::ECS
4037
4517
  # resp.task.started_by #=> String
4038
4518
  # resp.task.version #=> Integer
4039
4519
  # resp.task.stopped_reason #=> String
4520
+ # resp.task.stop_code #=> String, one of "TaskFailedToStart", "EssentialContainerExited", "UserInitiated"
4040
4521
  # resp.task.connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
4041
4522
  # resp.task.connectivity_at #=> Time
4042
4523
  # resp.task.pull_started_at #=> Time
@@ -4057,6 +4538,9 @@ module Aws::ECS
4057
4538
  # resp.task.attachments[0].details[0].name #=> String
4058
4539
  # resp.task.attachments[0].details[0].value #=> String
4059
4540
  # resp.task.health_status #=> String, one of "HEALTHY", "UNHEALTHY", "UNKNOWN"
4541
+ # resp.task.tags #=> Array
4542
+ # resp.task.tags[0].key #=> String
4543
+ # resp.task.tags[0].value #=> String
4060
4544
  #
4061
4545
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StopTask AWS API Documentation
4062
4546
  #
@@ -4159,13 +4643,13 @@ module Aws::ECS
4159
4643
  # Any attachments associated with the state change request.
4160
4644
  #
4161
4645
  # @option params [Time,DateTime,Date,Integer,String] :pull_started_at
4162
- # The Unix time stamp for when the container image pull began.
4646
+ # The Unix timestamp for when the container image pull began.
4163
4647
  #
4164
4648
  # @option params [Time,DateTime,Date,Integer,String] :pull_stopped_at
4165
- # The Unix time stamp for when the container image pull completed.
4649
+ # The Unix timestamp for when the container image pull completed.
4166
4650
  #
4167
4651
  # @option params [Time,DateTime,Date,Integer,String] :execution_stopped_at
4168
- # The Unix time stamp for when the task execution stopped.
4652
+ # The Unix timestamp for when the task execution stopped.
4169
4653
  #
4170
4654
  # @return [Types::SubmitTaskStateChangeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4171
4655
  #
@@ -4218,6 +4702,107 @@ module Aws::ECS
4218
4702
  req.send_request(options)
4219
4703
  end
4220
4704
 
4705
+ # Associates the specified tags to a resource with the specified
4706
+ # `resourceArn`. If existing tags on a resource are not specified in the
4707
+ # request parameters, they are not changed. When a resource is deleted,
4708
+ # the tags associated with that resource are deleted as well.
4709
+ #
4710
+ # @option params [required, String] :resource_arn
4711
+ # The Amazon Resource Name (ARN) of the resource to which to add tags.
4712
+ # Currently, the supported resources are Amazon ECS tasks, services,
4713
+ # task definitions, clusters, and container instances.
4714
+ #
4715
+ # @option params [required, Array<Types::Tag>] :tags
4716
+ # The tags to add to the resource. A tag is an array of key-value pairs.
4717
+ # Tag keys can have a maximum character length of 128 characters, and
4718
+ # tag values can have a maximum length of 256 characters.
4719
+ #
4720
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4721
+ #
4722
+ #
4723
+ # @example Example: To tag a cluster.
4724
+ #
4725
+ # # This example tags the 'dev' cluster with key 'team' and value 'dev'.
4726
+ #
4727
+ # resp = client.tag_resource({
4728
+ # resource_arn: "arn:aws:ecs:region:aws_account_id:cluster/dev",
4729
+ # tags: [
4730
+ # {
4731
+ # key: "team",
4732
+ # value: "dev",
4733
+ # },
4734
+ # ],
4735
+ # })
4736
+ #
4737
+ # resp.to_h outputs the following:
4738
+ # {
4739
+ # }
4740
+ #
4741
+ # @example Request syntax with placeholder values
4742
+ #
4743
+ # resp = client.tag_resource({
4744
+ # resource_arn: "String", # required
4745
+ # tags: [ # required
4746
+ # {
4747
+ # key: "TagKey",
4748
+ # value: "TagValue",
4749
+ # },
4750
+ # ],
4751
+ # })
4752
+ #
4753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResource AWS API Documentation
4754
+ #
4755
+ # @overload tag_resource(params = {})
4756
+ # @param [Hash] params ({})
4757
+ def tag_resource(params = {}, options = {})
4758
+ req = build_request(:tag_resource, params)
4759
+ req.send_request(options)
4760
+ end
4761
+
4762
+ # Deletes specified tags from a resource.
4763
+ #
4764
+ # @option params [required, String] :resource_arn
4765
+ # The Amazon Resource Name (ARN) of the resource from which to delete
4766
+ # tags. Currently, the supported resources are Amazon ECS tasks,
4767
+ # services, task definitions, clusters, and container instances.
4768
+ #
4769
+ # @option params [required, Array<String>] :tag_keys
4770
+ # The keys of the tags to be removed.
4771
+ #
4772
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4773
+ #
4774
+ #
4775
+ # @example Example: To untag a cluster.
4776
+ #
4777
+ # # This example deletes the 'team' tag from the 'dev' cluster.
4778
+ #
4779
+ # resp = client.untag_resource({
4780
+ # resource_arn: "arn:aws:ecs:region:aws_account_id:cluster/dev",
4781
+ # tag_keys: [
4782
+ # "team",
4783
+ # ],
4784
+ # })
4785
+ #
4786
+ # resp.to_h outputs the following:
4787
+ # {
4788
+ # }
4789
+ #
4790
+ # @example Request syntax with placeholder values
4791
+ #
4792
+ # resp = client.untag_resource({
4793
+ # resource_arn: "String", # required
4794
+ # tag_keys: ["TagKey"], # required
4795
+ # })
4796
+ #
4797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResource AWS API Documentation
4798
+ #
4799
+ # @overload untag_resource(params = {})
4800
+ # @param [Hash] params ({})
4801
+ def untag_resource(params = {}, options = {})
4802
+ req = build_request(:untag_resource, params)
4803
+ req.send_request(options)
4804
+ end
4805
+
4221
4806
  # Updates the Amazon ECS container agent on a specified container
4222
4807
  # instance. Updating the Amazon ECS container agent does not interrupt
4223
4808
  # running tasks or services on the container instance. The process for
@@ -4298,6 +4883,9 @@ module Aws::ECS
4298
4883
  # resp.container_instance.attachments[0].details #=> Array
4299
4884
  # resp.container_instance.attachments[0].details[0].name #=> String
4300
4885
  # resp.container_instance.attachments[0].details[0].value #=> String
4886
+ # resp.container_instance.tags #=> Array
4887
+ # resp.container_instance.tags[0].key #=> String
4888
+ # resp.container_instance.tags[0].value #=> String
4301
4889
  #
4302
4890
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgent AWS API Documentation
4303
4891
  #
@@ -4350,7 +4938,7 @@ module Aws::ECS
4350
4938
  # have stopped.
4351
4939
  #
4352
4940
  # Any `PENDING` or `RUNNING` tasks that do not belong to a service are
4353
- # not affected; you must wait for them to finish or stop them manually.
4941
+ # not affected. You must wait for them to finish or stop them manually.
4354
4942
  #
4355
4943
  # A container instance has completed draining when it has no more
4356
4944
  # `RUNNING` tasks. You can verify this using ListTasks.
@@ -4426,6 +5014,9 @@ module Aws::ECS
4426
5014
  # resp.container_instances[0].attachments[0].details #=> Array
4427
5015
  # resp.container_instances[0].attachments[0].details[0].name #=> String
4428
5016
  # resp.container_instances[0].attachments[0].details[0].value #=> String
5017
+ # resp.container_instances[0].tags #=> Array
5018
+ # resp.container_instances[0].tags[0].key #=> String
5019
+ # resp.container_instances[0].tags[0].value #=> String
4429
5020
  # resp.failures #=> Array
4430
5021
  # resp.failures[0].arn #=> String
4431
5022
  # resp.failures[0].reason #=> String
@@ -4707,6 +5298,12 @@ module Aws::ECS
4707
5298
  # resp.service.network_configuration.awsvpc_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
4708
5299
  # resp.service.health_check_grace_period_seconds #=> Integer
4709
5300
  # resp.service.scheduling_strategy #=> String, one of "REPLICA", "DAEMON"
5301
+ # resp.service.tags #=> Array
5302
+ # resp.service.tags[0].key #=> String
5303
+ # resp.service.tags[0].value #=> String
5304
+ # resp.service.created_by #=> String
5305
+ # resp.service.enable_ecs_managed_tags #=> Boolean
5306
+ # resp.service.propagate_tags #=> String, one of "TASK_DEFINITION", "SERVICE"
4710
5307
  #
4711
5308
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateService AWS API Documentation
4712
5309
  #
@@ -4730,7 +5327,7 @@ module Aws::ECS
4730
5327
  params: params,
4731
5328
  config: config)
4732
5329
  context[:gem_name] = 'aws-sdk-ecs'
4733
- context[:gem_version] = '1.22.0'
5330
+ context[:gem_version] = '1.23.0'
4734
5331
  Seahorse::Client::Request.new(handlers, context)
4735
5332
  end
4736
5333