aws-sdk-ecs 1.22.0 → 1.23.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.
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