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.
@@ -227,6 +227,14 @@ module Aws::ECS
227
227
  # * drainingFargateServiceCount
228
228
  # @return [Array<Types::KeyValuePair>]
229
229
  #
230
+ # @!attribute [rw] tags
231
+ # The metadata that you apply to the cluster to help you categorize
232
+ # and organize them. Each tag consists of a key and an optional value,
233
+ # both of which you define. Tag keys can have a maximum character
234
+ # length of 128 characters, and tag values can have a maximum length
235
+ # of 256 characters.
236
+ # @return [Array<Types::Tag>]
237
+ #
230
238
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Cluster AWS API Documentation
231
239
  #
232
240
  class Cluster < Struct.new(
@@ -237,7 +245,8 @@ module Aws::ECS
237
245
  :running_tasks_count,
238
246
  :pending_tasks_count,
239
247
  :active_services_count,
240
- :statistics)
248
+ :statistics,
249
+ :tags)
241
250
  include Aws::Structure
242
251
  end
243
252
 
@@ -279,7 +288,7 @@ module Aws::ECS
279
288
  # @!attribute [rw] health_status
280
289
  # The health status of the container. If health checks are not
281
290
  # configured for this container in its task definition, then it
282
- # reports health status as `UNKNOWN`.
291
+ # reports the health status as `UNKNOWN`.
283
292
  # @return [String]
284
293
  #
285
294
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Container AWS API Documentation
@@ -364,6 +373,12 @@ module Aws::ECS
364
373
  # },
365
374
  # ],
366
375
  # },
376
+ # secrets: [
377
+ # {
378
+ # name: "String", # required
379
+ # value_from: "String", # required
380
+ # },
381
+ # ],
367
382
  # hostname: "String",
368
383
  # user: "String",
369
384
  # working_directory: "String",
@@ -516,7 +531,7 @@ module Aws::ECS
516
531
  # instance uses the CPU value to calculate the relative CPU share
517
532
  # ratios for running containers. For more information, see [CPU share
518
533
  # constraint][5] in the Docker documentation. The minimum valid CPU
519
- # share value that the Linux kernel allows is 2; however, the CPU
534
+ # share value that the Linux kernel allows is 2. However, the CPU
520
535
  # parameter is not required, and you can use CPU values below 2 in
521
536
  # your container definitions. For CPU values below 2 (including null),
522
537
  # the behavior varies based on your Amazon ECS container agent
@@ -562,7 +577,7 @@ module Aws::ECS
562
577
  # `memory` must be greater than `memoryReservation`. If you specify
563
578
  # `memoryReservation`, then that value is subtracted from the
564
579
  # available memory resources for the container instance on which the
565
- # container is placed; otherwise, the value of `memory` is used.
580
+ # container is placed. Otherwise, the value of `memory` is used.
566
581
  #
567
582
  # The Docker daemon reserves a minimum of 4 MiB of memory for a
568
583
  # container, so you should not specify fewer than 4 MiB of memory for
@@ -578,7 +593,7 @@ module Aws::ECS
578
593
  # @!attribute [rw] memory_reservation
579
594
  # The soft limit (in MiB) of memory to reserve for the container. When
580
595
  # system memory is under heavy contention, Docker attempts to keep the
581
- # container memory to this soft limit; however, your container can
596
+ # container memory to this soft limit. However, your container can
582
597
  # consume more memory when it needs to, up to either the hard limit
583
598
  # specified with the `memory` parameter (if applicable), or all of the
584
599
  # available memory on the container instance, whichever comes first.
@@ -591,7 +606,7 @@ module Aws::ECS
591
606
  # `memory` must be greater than `memoryReservation`. If you specify
592
607
  # `memoryReservation`, then that value is subtracted from the
593
608
  # available memory resources for the container instance on which the
594
- # container is placed; otherwise, the value of `memory` is used.
609
+ # container is placed. Otherwise, the value of `memory` is used.
595
610
  #
596
611
  # For example, if your container normally uses 128 MiB of memory, but
597
612
  # occasionally bursts to 256 MiB of memory for short periods of time,
@@ -788,13 +803,17 @@ module Aws::ECS
788
803
  # </note>
789
804
  # @return [Types::LinuxParameters]
790
805
  #
806
+ # @!attribute [rw] secrets
807
+ # The secrets to pass to the container.
808
+ # @return [Array<Types::Secret>]
809
+ #
791
810
  # @!attribute [rw] hostname
792
811
  # The hostname to use for your container. This parameter maps to
793
812
  # `Hostname` in the [Create a container][1] section of the [Docker
794
813
  # Remote API][2] and the `--hostname` option to [docker run][3].
795
814
  #
796
- # <note markdown="1"> The `hostname` parameter is not supported if using the `awsvpc`
797
- # networkMode.
815
+ # <note markdown="1"> The `hostname` parameter is not supported if you are using the
816
+ # `awsvpc` network mode.
798
817
  #
799
818
  # </note>
800
819
  #
@@ -921,13 +940,12 @@ module Aws::ECS
921
940
  #
922
941
  # @!attribute [rw] extra_hosts
923
942
  # A list of hostnames and IP address mappings to append to the
924
- # `/etc/hosts` file on the container. If using the Fargate launch
925
- # type, this may be used to list non-Fargate hosts to which the
926
- # container can talk. This parameter maps to `ExtraHosts` in the
927
- # [Create a container][1] section of the [Docker Remote API][2] and
928
- # the `--add-host` option to [docker run][3].
943
+ # `/etc/hosts` file on the container. This parameter maps to
944
+ # `ExtraHosts` in the [Create a container][1] section of the [Docker
945
+ # Remote API][2] and the `--add-host` option to [docker run][3].
929
946
  #
930
- # <note markdown="1"> This parameter is not supported for Windows containers.
947
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks that
948
+ # use the `awsvpc` network mode.
931
949
  #
932
950
  # </note>
933
951
  #
@@ -999,8 +1017,8 @@ module Aws::ECS
999
1017
  # This parameter requires version 1.18 of the Docker Remote API or
1000
1018
  # greater on your container instance. To check the Docker Remote API
1001
1019
  # version on your container instance, log in to your container
1002
- # instance and run the following command: `sudo docker version | grep
1003
- # "Server API version"`
1020
+ # instance and run the following command: `sudo docker version
1021
+ # --format '\{\{.Server.APIVersion\}\}'`
1004
1022
  #
1005
1023
  #
1006
1024
  #
@@ -1017,7 +1035,8 @@ module Aws::ECS
1017
1035
  # requires version 1.18 of the Docker Remote API or greater on your
1018
1036
  # container instance. To check the Docker Remote API version on your
1019
1037
  # container instance, log in to your container instance and run the
1020
- # following command: `sudo docker version | grep "Server API version"`
1038
+ # following command: `sudo docker version --format
1039
+ # '\{\{.Server.APIVersion\}\}'`
1021
1040
  #
1022
1041
  # <note markdown="1"> This parameter is not supported for Windows containers.
1023
1042
  #
@@ -1033,13 +1052,13 @@ module Aws::ECS
1033
1052
  # @!attribute [rw] log_configuration
1034
1053
  # The log configuration specification for the container.
1035
1054
  #
1036
- # If using the Fargate launch type, the only supported value is
1037
- # `awslogs`.
1055
+ # If you are using the Fargate launch type, the only supported value
1056
+ # is `awslogs`.
1038
1057
  #
1039
1058
  # This parameter maps to `LogConfig` in the [Create a container][1]
1040
1059
  # section of the [Docker Remote API][2] and the `--log-driver` option
1041
1060
  # to [docker run][3]. By default, containers use the same logging
1042
- # driver that the Docker daemon uses; however the container may use a
1061
+ # driver that the Docker daemon uses. However the container may use a
1043
1062
  # different logging driver than the Docker daemon by specifying a log
1044
1063
  # driver with this parameter in the container definition. To use a
1045
1064
  # different logging driver for a container, the log system must be
@@ -1058,8 +1077,8 @@ module Aws::ECS
1058
1077
  # This parameter requires version 1.18 of the Docker Remote API or
1059
1078
  # greater on your container instance. To check the Docker Remote API
1060
1079
  # version on your container instance, log in to your container
1061
- # instance and run the following command: `sudo docker version | grep
1062
- # "Server API version"`
1080
+ # instance and run the following command: `sudo docker version
1081
+ # --format '\{\{.Server.APIVersion\}\}'`
1063
1082
  #
1064
1083
  # <note markdown="1"> The Amazon ECS container agent running on a container instance must
1065
1084
  # register the logging drivers available on that instance with the
@@ -1101,9 +1120,12 @@ module Aws::ECS
1101
1120
  #
1102
1121
  # <note markdown="1"> It is not recommended that you specify network-related
1103
1122
  # `systemControls` parameters for multiple containers in a single task
1104
- # that also uses either the `awsvpc` or `host` network modes. When you
1105
- # do, the container that is started last will determine which
1106
- # `systemControls` parameters take effect.
1123
+ # that also uses either the `awsvpc` or `host` network modes. For
1124
+ # tasks that use the `awsvpc` network mode, the container that is
1125
+ # started last determines which `systemControls` parameters take
1126
+ # effect. For tasks that use the `host` network mode, it changes the
1127
+ # container instance's namespaced kernel parameters as well as the
1128
+ # containers.
1107
1129
  #
1108
1130
  # </note>
1109
1131
  #
@@ -1132,6 +1154,7 @@ module Aws::ECS
1132
1154
  :mount_points,
1133
1155
  :volumes_from,
1134
1156
  :linux_parameters,
1157
+ :secrets,
1135
1158
  :hostname,
1136
1159
  :user,
1137
1160
  :working_directory,
@@ -1199,7 +1222,7 @@ module Aws::ECS
1199
1222
  # @!attribute [rw] registered_resources
1200
1223
  # For CPU and memory resource types, this parameter describes the
1201
1224
  # amount of each resource that was available on the container instance
1202
- # when the container agent registered it with Amazon ECS; this value
1225
+ # when the container agent registered it with Amazon ECS. This value
1203
1226
  # represents the total amount of CPU and memory that can be allocated
1204
1227
  # on this container instance to tasks. For port resource types, this
1205
1228
  # parameter describes the ports that were reserved by the Amazon ECS
@@ -1250,7 +1273,7 @@ module Aws::ECS
1250
1273
  # @return [Array<Types::Attribute>]
1251
1274
  #
1252
1275
  # @!attribute [rw] registered_at
1253
- # The Unix time stamp for when the container instance was registered.
1276
+ # The Unix timestamp for when the container instance was registered.
1254
1277
  # @return [Time]
1255
1278
  #
1256
1279
  # @!attribute [rw] attachments
@@ -1258,6 +1281,14 @@ module Aws::ECS
1258
1281
  # instance.
1259
1282
  # @return [Array<Types::Attachment>]
1260
1283
  #
1284
+ # @!attribute [rw] tags
1285
+ # The metadata that you apply to the container instance to help you
1286
+ # categorize and organize them. Each tag consists of a key and an
1287
+ # optional value, both of which you define. Tag keys can have a
1288
+ # maximum character length of 128 characters, and tag values can have
1289
+ # a maximum length of 256 characters.
1290
+ # @return [Array<Types::Tag>]
1291
+ #
1261
1292
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ContainerInstance AWS API Documentation
1262
1293
  #
1263
1294
  class ContainerInstance < Struct.new(
@@ -1274,7 +1305,8 @@ module Aws::ECS
1274
1305
  :agent_update_status,
1275
1306
  :attributes,
1276
1307
  :registered_at,
1277
- :attachments)
1308
+ :attachments,
1309
+ :tags)
1278
1310
  include Aws::Structure
1279
1311
  end
1280
1312
 
@@ -1404,6 +1436,12 @@ module Aws::ECS
1404
1436
  #
1405
1437
  # {
1406
1438
  # cluster_name: "String",
1439
+ # tags: [
1440
+ # {
1441
+ # key: "TagKey",
1442
+ # value: "TagValue",
1443
+ # },
1444
+ # ],
1407
1445
  # }
1408
1446
  #
1409
1447
  # @!attribute [rw] cluster_name
@@ -1413,10 +1451,19 @@ module Aws::ECS
1413
1451
  # allowed.
1414
1452
  # @return [String]
1415
1453
  #
1454
+ # @!attribute [rw] tags
1455
+ # The metadata that you apply to the cluster to help you categorize
1456
+ # and organize them. Each tag consists of a key and an optional value,
1457
+ # both of which you define. Tag keys can have a maximum character
1458
+ # length of 128 characters, and tag values can have a maximum length
1459
+ # of 256 characters.
1460
+ # @return [Array<Types::Tag>]
1461
+ #
1416
1462
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateClusterRequest AWS API Documentation
1417
1463
  #
1418
1464
  class CreateClusterRequest < Struct.new(
1419
- :cluster_name)
1465
+ :cluster_name,
1466
+ :tags)
1420
1467
  include Aws::Structure
1421
1468
  end
1422
1469
 
@@ -1484,6 +1531,14 @@ module Aws::ECS
1484
1531
  # },
1485
1532
  # health_check_grace_period_seconds: 1,
1486
1533
  # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
1534
+ # tags: [
1535
+ # {
1536
+ # key: "TagKey",
1537
+ # value: "TagValue",
1538
+ # },
1539
+ # ],
1540
+ # enable_ecs_managed_tags: false,
1541
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
1487
1542
  # }
1488
1543
  #
1489
1544
  # @!attribute [rw] cluster
@@ -1530,7 +1585,7 @@ module Aws::ECS
1530
1585
  #
1531
1586
  # Services with tasks that use the `awsvpc` network mode (for example,
1532
1587
  # those with the Fargate launch type) only support Application Load
1533
- # Balancers and Network Load Balancers; Classic Load Balancers are not
1588
+ # Balancers and Network Load Balancers. Classic Load Balancers are not
1534
1589
  # supported. Also, when you create any target groups for these
1535
1590
  # services, you must choose `ip` as the target type, not `instance`,
1536
1591
  # because tasks that use the `awsvpc` network mode are associated with
@@ -1541,9 +1596,9 @@ module Aws::ECS
1541
1596
  # The details of the service discovery registries to assign to this
1542
1597
  # service. For more information, see [Service Discovery][1].
1543
1598
  #
1544
- # <note markdown="1"> Service discovery is supported for Fargate tasks if using platform
1545
- # version v1.1.0 or later. For more information, see [AWS Fargate
1546
- # Platform Versions][2].
1599
+ # <note markdown="1"> Service discovery is supported for Fargate tasks if you are using
1600
+ # platform version v1.1.0 or later. For more information, see [AWS
1601
+ # Fargate Platform Versions][2].
1547
1602
  #
1548
1603
  # </note>
1549
1604
  #
@@ -1612,7 +1667,7 @@ module Aws::ECS
1612
1667
  # An array of placement constraint objects to use for tasks in your
1613
1668
  # service. You can specify a maximum of 10 constraints per task (this
1614
1669
  # limit includes constraints in the task definition and those
1615
- # specified at run time).
1670
+ # specified at runtime).
1616
1671
  # @return [Array<Types::PlacementConstraint>]
1617
1672
  #
1618
1673
  # @!attribute [rw] placement_strategy
@@ -1623,7 +1678,7 @@ module Aws::ECS
1623
1678
  # @!attribute [rw] network_configuration
1624
1679
  # The network configuration for the service. This parameter is
1625
1680
  # required for task definitions that use the `awsvpc` network mode to
1626
- # receive their own Elastic Network Interface, and it is not supported
1681
+ # receive their own elastic network interface, and it is not supported
1627
1682
  # for other network modes. For more information, see [Task
1628
1683
  # Networking][1] in the *Amazon Elastic Container Service Developer
1629
1684
  # Guide*.
@@ -1660,10 +1715,10 @@ module Aws::ECS
1660
1715
  #
1661
1716
  # * `DAEMON`-The daemon scheduling strategy deploys exactly one task
1662
1717
  # on each active container instance that meets all of the task
1663
- # placement constraints that you specify in your cluster. When using
1664
- # this strategy, there is no need to specify a desired number of
1665
- # tasks, a task placement strategy, or use Service Auto Scaling
1666
- # policies.
1718
+ # placement constraints that you specify in your cluster. When you
1719
+ # are using this strategy, there is no need to specify a desired
1720
+ # number of tasks, a task placement strategy, or use Service Auto
1721
+ # Scaling policies.
1667
1722
  #
1668
1723
  # <note markdown="1"> Fargate tasks do not support the `DAEMON` scheduling strategy.
1669
1724
  #
@@ -1674,6 +1729,34 @@ module Aws::ECS
1674
1729
  # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideecs_services.html
1675
1730
  # @return [String]
1676
1731
  #
1732
+ # @!attribute [rw] tags
1733
+ # The metadata that you apply to the service to help you categorize
1734
+ # and organize them. Each tag consists of a key and an optional value,
1735
+ # both of which you define. When a service is deleted, the tags are
1736
+ # deleted as well. Tag keys can have a maximum character length of 128
1737
+ # characters, and tag values can have a maximum length of 256
1738
+ # characters.
1739
+ # @return [Array<Types::Tag>]
1740
+ #
1741
+ # @!attribute [rw] enable_ecs_managed_tags
1742
+ # Specifies whether to enable Amazon ECS managed tags for the tasks
1743
+ # within the service. For more information, see [Tagging Your Amazon
1744
+ # ECS Resources][1] in the *Amazon Elastic Container Service Developer
1745
+ # Guide*.
1746
+ #
1747
+ #
1748
+ #
1749
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html
1750
+ # @return [Boolean]
1751
+ #
1752
+ # @!attribute [rw] propagate_tags
1753
+ # Specifies whether to propagate the tags from the task definition or
1754
+ # the service to the tasks. If no value is specified, the tags are not
1755
+ # propagated. Tags can only be propagated to the tasks within the
1756
+ # service during service creation. To add tags to a task after service
1757
+ # creation, use the TagResource API action.
1758
+ # @return [String]
1759
+ #
1677
1760
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
1678
1761
  #
1679
1762
  class CreateServiceRequest < Struct.new(
@@ -1692,7 +1775,10 @@ module Aws::ECS
1692
1775
  :placement_strategy,
1693
1776
  :network_configuration,
1694
1777
  :health_check_grace_period_seconds,
1695
- :scheduling_strategy)
1778
+ :scheduling_strategy,
1779
+ :tags,
1780
+ :enable_ecs_managed_tags,
1781
+ :propagate_tags)
1696
1782
  include Aws::Structure
1697
1783
  end
1698
1784
 
@@ -1707,6 +1793,51 @@ module Aws::ECS
1707
1793
  include Aws::Structure
1708
1794
  end
1709
1795
 
1796
+ # @note When making an API call, you may pass DeleteAccountSettingRequest
1797
+ # data as a hash:
1798
+ #
1799
+ # {
1800
+ # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat
1801
+ # principal_arn: "String",
1802
+ # }
1803
+ #
1804
+ # @!attribute [rw] name
1805
+ # The resource name for which to disable the new format. If
1806
+ # `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
1807
+ # services is affected. If `taskLongArnFormat` is specified, the ARN
1808
+ # and resource ID for your Amazon ECS tasks is affected. If
1809
+ # `containerInstanceLongArnFormat` is specified, the ARN and resource
1810
+ # ID for your Amazon ECS container instances is affected.
1811
+ # @return [String]
1812
+ #
1813
+ # @!attribute [rw] principal_arn
1814
+ # The ARN of the principal, which can be an IAM user, IAM role, or the
1815
+ # root user. If you specify the root user, it modifies the ARN and
1816
+ # resource ID format for all IAM users, IAM roles, and the root user
1817
+ # of the account unless an IAM user or role explicitly overrides these
1818
+ # settings for themselves. If this field is omitted, the setting are
1819
+ # changed only for the authenticated user.
1820
+ # @return [String]
1821
+ #
1822
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSettingRequest AWS API Documentation
1823
+ #
1824
+ class DeleteAccountSettingRequest < Struct.new(
1825
+ :name,
1826
+ :principal_arn)
1827
+ include Aws::Structure
1828
+ end
1829
+
1830
+ # @!attribute [rw] setting
1831
+ # The account setting for the specified principal ARN.
1832
+ # @return [Types::Setting]
1833
+ #
1834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteAccountSettingResponse AWS API Documentation
1835
+ #
1836
+ class DeleteAccountSettingResponse < Struct.new(
1837
+ :setting)
1838
+ include Aws::Structure
1839
+ end
1840
+
1710
1841
  # @note When making an API call, you may pass DeleteAttributesRequest
1711
1842
  # data as a hash:
1712
1843
  #
@@ -1838,11 +1969,11 @@ module Aws::ECS
1838
1969
  # @return [String]
1839
1970
  #
1840
1971
  # @!attribute [rw] status
1841
- # The status of the deployment. Valid values are `PRIMARY` (for the
1842
- # most recent deployment), `ACTIVE` (for previous deployments that
1843
- # still have tasks running, but are being replaced with the `PRIMARY`
1844
- # deployment), and `INACTIVE` (for deployments that have been
1845
- # completely replaced).
1972
+ # The status of the deployment. Valid values are `PRIMARY` for the
1973
+ # most recent deployment, `ACTIVE` for previous deployments that still
1974
+ # have tasks running, but are being replaced with the `PRIMARY`
1975
+ # deployment, and `INACTIVE` for deployments that have been completely
1976
+ # replaced.
1846
1977
  # @return [String]
1847
1978
  #
1848
1979
  # @!attribute [rw] task_definition
@@ -1866,11 +1997,11 @@ module Aws::ECS
1866
1997
  # @return [Integer]
1867
1998
  #
1868
1999
  # @!attribute [rw] created_at
1869
- # The Unix time stamp for when the service was created.
2000
+ # The Unix timestamp for when the service was created.
1870
2001
  # @return [Time]
1871
2002
  #
1872
2003
  # @!attribute [rw] updated_at
1873
- # The Unix time stamp for when the service was last updated.
2004
+ # The Unix timestamp for when the service was last updated.
1874
2005
  # @return [Time]
1875
2006
  #
1876
2007
  # @!attribute [rw] launch_type
@@ -2037,7 +2168,7 @@ module Aws::ECS
2037
2168
  #
2038
2169
  # {
2039
2170
  # clusters: ["String"],
2040
- # include: ["STATISTICS"], # accepts STATISTICS
2171
+ # include: ["STATISTICS"], # accepts STATISTICS, TAGS
2041
2172
  # }
2042
2173
  #
2043
2174
  # @!attribute [rw] clusters
@@ -2097,6 +2228,7 @@ module Aws::ECS
2097
2228
  # {
2098
2229
  # cluster: "String",
2099
2230
  # container_instances: ["String"], # required
2231
+ # include: ["TAGS"], # accepts TAGS
2100
2232
  # }
2101
2233
  #
2102
2234
  # @!attribute [rw] cluster
@@ -2110,11 +2242,19 @@ module Aws::ECS
2110
2242
  # Name (ARN) entries.
2111
2243
  # @return [Array<String>]
2112
2244
  #
2245
+ # @!attribute [rw] include
2246
+ # Specifies whether you want to see the resource tags for the
2247
+ # container instance. If `TAGS` is specified, the tags are included in
2248
+ # the response. If this field is omitted, tags are not included in the
2249
+ # response.
2250
+ # @return [Array<String>]
2251
+ #
2113
2252
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstancesRequest AWS API Documentation
2114
2253
  #
2115
2254
  class DescribeContainerInstancesRequest < Struct.new(
2116
2255
  :cluster,
2117
- :container_instances)
2256
+ :container_instances,
2257
+ :include)
2118
2258
  include Aws::Structure
2119
2259
  end
2120
2260
 
@@ -2140,6 +2280,7 @@ module Aws::ECS
2140
2280
  # {
2141
2281
  # cluster: "String",
2142
2282
  # services: ["String"], # required
2283
+ # include: ["TAGS"], # accepts TAGS
2143
2284
  # }
2144
2285
  #
2145
2286
  # @!attribute [rw] cluster
@@ -2153,11 +2294,18 @@ module Aws::ECS
2153
2294
  # describe in a single operation.
2154
2295
  # @return [Array<String>]
2155
2296
  #
2297
+ # @!attribute [rw] include
2298
+ # Specifies whether you want to see the resource tags for the service.
2299
+ # If `TAGS` is specified, the tags are included in the response. If
2300
+ # this field is omitted, tags are not included in the response.
2301
+ # @return [Array<String>]
2302
+ #
2156
2303
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeServicesRequest AWS API Documentation
2157
2304
  #
2158
2305
  class DescribeServicesRequest < Struct.new(
2159
2306
  :cluster,
2160
- :services)
2307
+ :services,
2308
+ :include)
2161
2309
  include Aws::Structure
2162
2310
  end
2163
2311
 
@@ -2182,6 +2330,7 @@ module Aws::ECS
2182
2330
  #
2183
2331
  # {
2184
2332
  # task_definition: "String", # required
2333
+ # include: ["TAGS"], # accepts TAGS
2185
2334
  # }
2186
2335
  #
2187
2336
  # @!attribute [rw] task_definition
@@ -2191,10 +2340,17 @@ module Aws::ECS
2191
2340
  # describe.
2192
2341
  # @return [String]
2193
2342
  #
2343
+ # @!attribute [rw] include
2344
+ # Specifies whether to see the resource tags for the task definition.
2345
+ # If `TAGS` is specified, the tags are included in the response. If
2346
+ # this field is omitted, tags are not included in the response.
2347
+ # @return [Array<String>]
2348
+ #
2194
2349
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinitionRequest AWS API Documentation
2195
2350
  #
2196
2351
  class DescribeTaskDefinitionRequest < Struct.new(
2197
- :task_definition)
2352
+ :task_definition,
2353
+ :include)
2198
2354
  include Aws::Structure
2199
2355
  end
2200
2356
 
@@ -2202,10 +2358,19 @@ module Aws::ECS
2202
2358
  # The full task definition description.
2203
2359
  # @return [Types::TaskDefinition]
2204
2360
  #
2361
+ # @!attribute [rw] tags
2362
+ # The metadata that is applied to the task definition to help you
2363
+ # categorize and organize them. Each tag consists of a key and an
2364
+ # optional value, both of which you define. Tag keys can have a
2365
+ # maximum character length of 128 characters, and tag values can have
2366
+ # a maximum length of 256 characters.
2367
+ # @return [Array<Types::Tag>]
2368
+ #
2205
2369
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskDefinitionResponse AWS API Documentation
2206
2370
  #
2207
2371
  class DescribeTaskDefinitionResponse < Struct.new(
2208
- :task_definition)
2372
+ :task_definition,
2373
+ :tags)
2209
2374
  include Aws::Structure
2210
2375
  end
2211
2376
 
@@ -2215,6 +2380,7 @@ module Aws::ECS
2215
2380
  # {
2216
2381
  # cluster: "String",
2217
2382
  # tasks: ["String"], # required
2383
+ # include: ["TAGS"], # accepts TAGS
2218
2384
  # }
2219
2385
  #
2220
2386
  # @!attribute [rw] cluster
@@ -2227,11 +2393,18 @@ module Aws::ECS
2227
2393
  # A list of up to 100 task IDs or full ARN entries.
2228
2394
  # @return [Array<String>]
2229
2395
  #
2396
+ # @!attribute [rw] include
2397
+ # Specifies whether you want to see the resource tags for the task. If
2398
+ # `TAGS` is specified, the tags are included in the response. If this
2399
+ # field is omitted, tags are not included in the response.
2400
+ # @return [Array<String>]
2401
+ #
2230
2402
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasksRequest AWS API Documentation
2231
2403
  #
2232
2404
  class DescribeTasksRequest < Struct.new(
2233
2405
  :cluster,
2234
- :tasks)
2406
+ :tasks,
2407
+ :include)
2235
2408
  include Aws::Structure
2236
2409
  end
2237
2410
 
@@ -2304,8 +2477,8 @@ module Aws::ECS
2304
2477
  # @return [String]
2305
2478
  #
2306
2479
  # @!attribute [rw] cluster
2307
- # The short name or full Amazon Resource Name (ARN) of the cluster
2308
- # that the container instance belongs to.
2480
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
2481
+ # which the container instance belongs.
2309
2482
  # @return [String]
2310
2483
  #
2311
2484
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DiscoverPollEndpointRequest AWS API Documentation
@@ -2332,10 +2505,10 @@ module Aws::ECS
2332
2505
  include Aws::Structure
2333
2506
  end
2334
2507
 
2335
- # This parameter is specified when using Docker volumes. Docker volumes
2336
- # are only supported when using the EC2 launch type. Windows containers
2337
- # only support the use of the `local` driver. To use bind mounts,
2338
- # specify a `host` instead.
2508
+ # This parameter is specified when you are using Docker volumes. Docker
2509
+ # volumes are only supported when you are using the EC2 launch type.
2510
+ # Windows containers only support the use of the `local` driver. To use
2511
+ # bind mounts, specify a `host` instead.
2339
2512
  #
2340
2513
  # @note When making an API call, you may pass DockerVolumeConfiguration
2341
2514
  # data as a hash:
@@ -2353,7 +2526,7 @@ module Aws::ECS
2353
2526
  # }
2354
2527
  #
2355
2528
  # @!attribute [rw] scope
2356
- # The scope for the Docker volume which determines it's lifecycle.
2529
+ # The scope for the Docker volume that determines its lifecycle.
2357
2530
  # Docker volumes that are scoped to a `task` are automatically
2358
2531
  # provisioned when the task starts and destroyed when the task stops.
2359
2532
  # Docker volumes that are scoped as `shared` persist after the task
@@ -2390,7 +2563,7 @@ module Aws::ECS
2390
2563
  # @return [String]
2391
2564
  #
2392
2565
  # @!attribute [rw] driver_opts
2393
- # A map of Docker driver specific options passed through. This
2566
+ # A map of Docker driver-specific options passed through. This
2394
2567
  # parameter maps to `DriverOpts` in the [Create a volume][1] section
2395
2568
  # of the [Docker Remote API][2] and the `xxopt` option to [ `docker
2396
2569
  # volume create` ][3].
@@ -2454,8 +2627,8 @@ module Aws::ECS
2454
2627
  # Amazon ECS container agent. For more information, see [Updating the
2455
2628
  # Amazon ECS Container Agent][1].
2456
2629
  #
2457
- # * Container health checks are supported for Fargate tasks if using
2458
- # platform version version 1.1.0 or greater. For more information, see
2630
+ # * Container health checks are supported for Fargate tasks if you are
2631
+ # using platform version 1.1.0 or greater. For more information, see
2459
2632
  # [AWS Fargate Platform Versions][2].
2460
2633
  #
2461
2634
  # * Container health checks are not supported for tasks that are part of
@@ -2485,7 +2658,7 @@ module Aws::ECS
2485
2658
  #
2486
2659
  # `[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`
2487
2660
  #
2488
- # An exit code of 0 indicates success, and non-zero exit code
2661
+ # An exit code of 0 indicates success, and a non-zero exit code
2489
2662
  # indicates failure. For more information, see `HealthCheck` in the
2490
2663
  # [Create a container][1] section of the [Docker Remote API][2].
2491
2664
  #
@@ -2675,7 +2848,7 @@ module Aws::ECS
2675
2848
  include Aws::Structure
2676
2849
  end
2677
2850
 
2678
- # A key and value pair object.
2851
+ # A key-value pair object.
2679
2852
  #
2680
2853
  # @note When making an API call, you may pass KeyValuePair
2681
2854
  # data as a hash:
@@ -2686,12 +2859,12 @@ module Aws::ECS
2686
2859
  # }
2687
2860
  #
2688
2861
  # @!attribute [rw] name
2689
- # The name of the key value pair. For environment variables, this is
2862
+ # The name of the key-value pair. For environment variables, this is
2690
2863
  # the name of the environment variable.
2691
2864
  # @return [String]
2692
2865
  #
2693
2866
  # @!attribute [rw] value
2694
- # The value of the key value pair. For environment variables, this is
2867
+ # The value of the key-value pair. For environment variables, this is
2695
2868
  # the value of the environment variable.
2696
2869
  # @return [String]
2697
2870
  #
@@ -2767,7 +2940,7 @@ module Aws::ECS
2767
2940
  # Remote API or greater on your container instance. To check the
2768
2941
  # Docker Remote API version on your container instance, log in to your
2769
2942
  # container instance and run the following command: `sudo docker
2770
- # version | grep "Server API version"`
2943
+ # version --format '\{\{.Server.APIVersion\}\}'`
2771
2944
  #
2772
2945
  #
2773
2946
  #
@@ -2814,6 +2987,99 @@ module Aws::ECS
2814
2987
  include Aws::Structure
2815
2988
  end
2816
2989
 
2990
+ # @note When making an API call, you may pass ListAccountSettingsRequest
2991
+ # data as a hash:
2992
+ #
2993
+ # {
2994
+ # name: "serviceLongArnFormat", # accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat
2995
+ # value: "String",
2996
+ # principal_arn: "String",
2997
+ # effective_settings: false,
2998
+ # next_token: "String",
2999
+ # max_results: 1,
3000
+ # }
3001
+ #
3002
+ # @!attribute [rw] name
3003
+ # The resource name you want to list the account settings for.
3004
+ # @return [String]
3005
+ #
3006
+ # @!attribute [rw] value
3007
+ # The value of the account settings with which to filter results. You
3008
+ # must also specify an account setting name to use this parameter.
3009
+ # @return [String]
3010
+ #
3011
+ # @!attribute [rw] principal_arn
3012
+ # The ARN of the principal, which can be an IAM user, IAM role, or the
3013
+ # root user. If this field is omitted, the account settings are listed
3014
+ # only for the authenticated user.
3015
+ # @return [String]
3016
+ #
3017
+ # @!attribute [rw] effective_settings
3018
+ # Specifies whether to return the effective settings. If `true`, the
3019
+ # account settings for the root user or the default setting for the
3020
+ # `principalArn`. If `false`, the account settings for the
3021
+ # `principalArn` are returned if they are set. Otherwise, no account
3022
+ # settings are returned.
3023
+ # @return [Boolean]
3024
+ #
3025
+ # @!attribute [rw] next_token
3026
+ # The `nextToken` value returned from a previous paginated
3027
+ # `ListAccountSettings` request where `maxResults` was used and the
3028
+ # results exceeded the value of that parameter. Pagination continues
3029
+ # from the end of the previous results that returned the `nextToken`
3030
+ # value.
3031
+ #
3032
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
3033
+ # used to retrieve the next items in a list and not for other
3034
+ # programmatic purposes.
3035
+ #
3036
+ # </note>
3037
+ # @return [String]
3038
+ #
3039
+ # @!attribute [rw] max_results
3040
+ # The maximum number of account setting results returned by
3041
+ # `ListAccountSettings` in paginated output. When this parameter is
3042
+ # used, `ListAccountSettings` only returns `maxResults` results in a
3043
+ # single page along with a `nextToken` response element. The remaining
3044
+ # results of the initial request can be seen by sending another
3045
+ # `ListAccountSettings` request with the returned `nextToken` value.
3046
+ # This value can be between 1 and 10. If this parameter is not used,
3047
+ # then `ListAccountSettings` returns up to 10 results and a
3048
+ # `nextToken` value if applicable.
3049
+ # @return [Integer]
3050
+ #
3051
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettingsRequest AWS API Documentation
3052
+ #
3053
+ class ListAccountSettingsRequest < Struct.new(
3054
+ :name,
3055
+ :value,
3056
+ :principal_arn,
3057
+ :effective_settings,
3058
+ :next_token,
3059
+ :max_results)
3060
+ include Aws::Structure
3061
+ end
3062
+
3063
+ # @!attribute [rw] settings
3064
+ # The account settings for the resource.
3065
+ # @return [Array<Types::Setting>]
3066
+ #
3067
+ # @!attribute [rw] next_token
3068
+ # The `nextToken` value to include in a future `ListAccountSettings`
3069
+ # request. When the results of a `ListAccountSettings` request exceed
3070
+ # `maxResults`, this value can be used to retrieve the next page of
3071
+ # results. This value is `null` when there are no more results to
3072
+ # return.
3073
+ # @return [String]
3074
+ #
3075
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListAccountSettingsResponse AWS API Documentation
3076
+ #
3077
+ class ListAccountSettingsResponse < Struct.new(
3078
+ :settings,
3079
+ :next_token)
3080
+ include Aws::Structure
3081
+ end
3082
+
2817
3083
  # @note When making an API call, you may pass ListAttributesRequest
2818
3084
  # data as a hash:
2819
3085
  #
@@ -3092,7 +3358,7 @@ module Aws::ECS
3092
3358
  # returns `maxResults` results in a single page along with a
3093
3359
  # `nextToken` response element. The remaining results of the initial
3094
3360
  # request can be seen by sending another `ListServices` request with
3095
- # the returned `nextToken` value. This value can be between 1 and 10.
3361
+ # the returned `nextToken` value. This value can be between 1 and 100.
3096
3362
  # If this parameter is not used, then `ListServices` returns up to 10
3097
3363
  # results and a `nextToken` value if applicable.
3098
3364
  # @return [Integer]
@@ -3136,6 +3402,38 @@ module Aws::ECS
3136
3402
  include Aws::Structure
3137
3403
  end
3138
3404
 
3405
+ # @note When making an API call, you may pass ListTagsForResourceRequest
3406
+ # data as a hash:
3407
+ #
3408
+ # {
3409
+ # resource_arn: "String", # required
3410
+ # }
3411
+ #
3412
+ # @!attribute [rw] resource_arn
3413
+ # The Amazon Resource Name (ARN) that identifies the resource for
3414
+ # which to list the tags. Currently, the supported resources are
3415
+ # Amazon ECS tasks, services, task definitions, clusters, and
3416
+ # container instances.
3417
+ # @return [String]
3418
+ #
3419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResourceRequest AWS API Documentation
3420
+ #
3421
+ class ListTagsForResourceRequest < Struct.new(
3422
+ :resource_arn)
3423
+ include Aws::Structure
3424
+ end
3425
+
3426
+ # @!attribute [rw] tags
3427
+ # The tags for the resource.
3428
+ # @return [Array<Types::Tag>]
3429
+ #
3430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTagsForResourceResponse AWS API Documentation
3431
+ #
3432
+ class ListTagsForResourceResponse < Struct.new(
3433
+ :tags)
3434
+ include Aws::Structure
3435
+ end
3436
+
3139
3437
  # @note When making an API call, you may pass ListTaskDefinitionFamiliesRequest
3140
3438
  # data as a hash:
3141
3439
  #
@@ -3391,14 +3689,14 @@ module Aws::ECS
3391
3689
  # The task desired status with which to filter the `ListTasks`
3392
3690
  # results. Specifying a `desiredStatus` of `STOPPED` limits the
3393
3691
  # results to tasks that Amazon ECS has set the desired status to
3394
- # `STOPPED`, which can be useful for debugging tasks that are not
3692
+ # `STOPPED`. This can be useful for debugging tasks that are not
3395
3693
  # starting properly or have died or finished. The default status
3396
3694
  # filter is `RUNNING`, which shows tasks that Amazon ECS has set the
3397
3695
  # desired status to `RUNNING`.
3398
3696
  #
3399
3697
  # <note markdown="1"> Although you can filter results based on a desired status of
3400
- # `PENDING`, this does not return any results because Amazon ECS never
3401
- # sets the desired status of a task to that value (only a task's
3698
+ # `PENDING`, this does not return any results. Amazon ECS never sets
3699
+ # the desired status of a task to that value (only a task's
3402
3700
  # `lastStatus` may have a value of `PENDING`).
3403
3701
  #
3404
3702
  # </note>
@@ -3446,11 +3744,11 @@ module Aws::ECS
3446
3744
  #
3447
3745
  # Services with tasks that use the `awsvpc` network mode (for example,
3448
3746
  # those with the Fargate launch type) only support Application Load
3449
- # Balancers and Network Load Balancers; Classic Load Balancers are not
3747
+ # Balancers and Network Load Balancers. Classic Load Balancers are not
3450
3748
  # supported. Also, when you create any target groups for these services,
3451
- # you must choose `ip` as the target type, not `instance`, because tasks
3452
- # that use the `awsvpc` network mode are associated with an elastic
3453
- # network interface, not an Amazon EC2 instance.
3749
+ # you must choose `ip` as the target type, not `instance`. Tasks that
3750
+ # use the `awsvpc` network mode are associated with an elastic network
3751
+ # interface, not an Amazon EC2 instance.
3454
3752
  #
3455
3753
  # @note When making an API call, you may pass LoadBalancer
3456
3754
  # data as a hash:
@@ -3515,10 +3813,11 @@ module Aws::ECS
3515
3813
  # @!attribute [rw] log_driver
3516
3814
  # The log driver to use for the container. The valid values listed for
3517
3815
  # this parameter are log drivers that the Amazon ECS container agent
3518
- # can communicate with by default. If using the Fargate launch type,
3519
- # the only supported value is `awslogs`. For more information about
3520
- # using the `awslogs` driver, see [Using the awslogs Log Driver][1] in
3521
- # the *Amazon Elastic Container Service Developer Guide*.
3816
+ # can communicate with by default. If you are using the Fargate launch
3817
+ # type, the only supported value is `awslogs`. For more information
3818
+ # about using the `awslogs` driver, see [Using the awslogs Log
3819
+ # Driver][1] in the *Amazon Elastic Container Service Developer
3820
+ # Guide*.
3522
3821
  #
3523
3822
  # <note markdown="1"> If you have a custom driver that is not listed above that you would
3524
3823
  # like to work with the Amazon ECS container agent, you can fork the
@@ -3533,8 +3832,8 @@ module Aws::ECS
3533
3832
  # This parameter requires version 1.18 of the Docker Remote API or
3534
3833
  # greater on your container instance. To check the Docker Remote API
3535
3834
  # version on your container instance, log in to your container
3536
- # instance and run the following command: `sudo docker version | grep
3537
- # "Server API version"`
3835
+ # instance and run the following command: `sudo docker version
3836
+ # --format '\{\{.Server.APIVersion\}\}'`
3538
3837
  #
3539
3838
  #
3540
3839
  #
@@ -3547,7 +3846,8 @@ module Aws::ECS
3547
3846
  # requires version 1.19 of the Docker Remote API or greater on your
3548
3847
  # container instance. To check the Docker Remote API version on your
3549
3848
  # container instance, log in to your container instance and run the
3550
- # following command: `sudo docker version | grep "Server API version"`
3849
+ # following command: `sudo docker version --format
3850
+ # '\{\{.Server.APIVersion\}\}'`
3551
3851
  # @return [Hash<String,String>]
3552
3852
  #
3553
3853
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/LogConfiguration AWS API Documentation
@@ -3784,9 +4084,9 @@ module Aws::ECS
3784
4084
  # instance to send or receive traffic. Port mappings are specified as
3785
4085
  # part of the container definition.
3786
4086
  #
3787
- # If using containers in a task with the `awsvpc` or `host` network
3788
- # mode, exposed ports should be specified using `containerPort`. The
3789
- # `hostPort` can be left blank or it must be the same value as the
4087
+ # If you are using containers in a task with the `awsvpc` or `host`
4088
+ # network mode, exposed ports should be specified using `containerPort`.
4089
+ # The `hostPort` can be left blank or it must be the same value as the
3790
4090
  # `containerPort`.
3791
4091
  #
3792
4092
  # After a task reaches the `RUNNING` status, manual and automatic host
@@ -3806,13 +4106,14 @@ module Aws::ECS
3806
4106
  # The port number on the container that is bound to the user-specified
3807
4107
  # or automatically assigned host port.
3808
4108
  #
3809
- # If using containers in a task with the `awsvpc` or `host` network
3810
- # mode, exposed ports should be specified using `containerPort`.
4109
+ # If you are using containers in a task with the `awsvpc` or `host`
4110
+ # network mode, exposed ports should be specified using
4111
+ # `containerPort`.
3811
4112
  #
3812
- # If using containers in a task with the `bridge` network mode and you
3813
- # specify a container port and not a host port, your container
3814
- # automatically receives a host port in the ephemeral port range (for
3815
- # more information, see `hostPort`). Port mappings that are
4113
+ # If you are using containers in a task with the `bridge` network mode
4114
+ # and you specify a container port and not a host port, your container
4115
+ # automatically receives a host port in the ephemeral port range. For
4116
+ # more information, see `hostPort`. Port mappings that are
3816
4117
  # automatically assigned in this way do not count toward the 100
3817
4118
  # reserved ports limit of a container instance.
3818
4119
  # @return [Integer]
@@ -3821,22 +4122,22 @@ module Aws::ECS
3821
4122
  # The port number on the container instance to reserve for your
3822
4123
  # container.
3823
4124
  #
3824
- # If using containers in a task with the `awsvpc` or `host` network
3825
- # mode, the `hostPort` can either be left blank or set to the same
3826
- # value as the `containerPort`.
4125
+ # If you are using containers in a task with the `awsvpc` or `host`
4126
+ # network mode, the `hostPort` can either be left blank or set to the
4127
+ # same value as the `containerPort`.
3827
4128
  #
3828
- # If using containers in a task with the `bridge` network mode, you
3829
- # can specify a non-reserved host port for your container port
3830
- # mapping, or you can omit the `hostPort` (or set it to `0`) while
3831
- # specifying a `containerPort` and your container automatically
4129
+ # If you are using containers in a task with the `bridge` network
4130
+ # mode, you can specify a non-reserved host port for your container
4131
+ # port mapping, or you can omit the `hostPort` (or set it to `0`)
4132
+ # while specifying a `containerPort` and your container automatically
3832
4133
  # receives a port in the ephemeral port range for your container
3833
4134
  # instance operating system and Docker version.
3834
4135
  #
3835
4136
  # The default ephemeral port range for Docker version 1.6.0 and later
3836
4137
  # is listed on the instance under
3837
- # `/proc/sys/net/ipv4/ip_local_port_range`; if this kernel parameter
4138
+ # `/proc/sys/net/ipv4/ip_local_port_range`. If this kernel parameter
3838
4139
  # is unavailable, the default ephemeral port range from 49153 through
3839
- # 65535 is used. You should not attempt to specify a host port in the
4140
+ # 65535 is used. Do not attempt to specify a host port in the
3840
4141
  # ephemeral port range as these are reserved for automatic assignment.
3841
4142
  # In general, ports below 32768 are outside of the ephemeral port
3842
4143
  # range.
@@ -3871,6 +4172,58 @@ module Aws::ECS
3871
4172
  include Aws::Structure
3872
4173
  end
3873
4174
 
4175
+ # @note When making an API call, you may pass PutAccountSettingRequest
4176
+ # data as a hash:
4177
+ #
4178
+ # {
4179
+ # name: "serviceLongArnFormat", # required, accepts serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat
4180
+ # value: "String", # required
4181
+ # principal_arn: "String",
4182
+ # }
4183
+ #
4184
+ # @!attribute [rw] name
4185
+ # The resource name for which to enable the new format. If
4186
+ # `serviceLongArnFormat` is specified, the ARN for your Amazon ECS
4187
+ # services is affected. If `taskLongArnFormat` is specified, the ARN
4188
+ # and resource ID for your Amazon ECS tasks is affected. If
4189
+ # `containerInstanceLongArnFormat` is specified, the ARN and resource
4190
+ # ID for your Amazon ECS container instances is affected.
4191
+ # @return [String]
4192
+ #
4193
+ # @!attribute [rw] value
4194
+ # The account setting value for the specified principal ARN. Accepted
4195
+ # values are `ENABLED` and `DISABLED`.
4196
+ # @return [String]
4197
+ #
4198
+ # @!attribute [rw] principal_arn
4199
+ # The ARN of the principal, which can be an IAM user, IAM role, or the
4200
+ # root user. If you specify the root user, it modifies the ARN and
4201
+ # resource ID format for all IAM users, IAM roles, and the root user
4202
+ # of the account unless an IAM user or role explicitly overrides these
4203
+ # settings for themselves. If this field is omitted, the setting are
4204
+ # changed only for the authenticated user.
4205
+ # @return [String]
4206
+ #
4207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingRequest AWS API Documentation
4208
+ #
4209
+ class PutAccountSettingRequest < Struct.new(
4210
+ :name,
4211
+ :value,
4212
+ :principal_arn)
4213
+ include Aws::Structure
4214
+ end
4215
+
4216
+ # @!attribute [rw] setting
4217
+ # The current account setting for a resource.
4218
+ # @return [Types::Setting]
4219
+ #
4220
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutAccountSettingResponse AWS API Documentation
4221
+ #
4222
+ class PutAccountSettingResponse < Struct.new(
4223
+ :setting)
4224
+ include Aws::Structure
4225
+ end
4226
+
3874
4227
  # @note When making an API call, you may pass PutAttributesRequest
3875
4228
  # data as a hash:
3876
4229
  #
@@ -3948,6 +4301,12 @@ module Aws::ECS
3948
4301
  # target_id: "String",
3949
4302
  # },
3950
4303
  # ],
4304
+ # tags: [
4305
+ # {
4306
+ # key: "TagKey",
4307
+ # value: "TagValue",
4308
+ # },
4309
+ # ],
3951
4310
  # }
3952
4311
  #
3953
4312
  # @!attribute [rw] cluster
@@ -3988,6 +4347,14 @@ module Aws::ECS
3988
4347
  # supports.
3989
4348
  # @return [Array<Types::Attribute>]
3990
4349
  #
4350
+ # @!attribute [rw] tags
4351
+ # The metadata that you apply to the container instance to help you
4352
+ # categorize and organize them. Each tag consists of a key and an
4353
+ # optional value, both of which you define. Tag keys can have a
4354
+ # maximum character length of 128 characters, and tag values can have
4355
+ # a maximum length of 256 characters.
4356
+ # @return [Array<Types::Tag>]
4357
+ #
3991
4358
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterContainerInstanceRequest AWS API Documentation
3992
4359
  #
3993
4360
  class RegisterContainerInstanceRequest < Struct.new(
@@ -3997,7 +4364,8 @@ module Aws::ECS
3997
4364
  :total_resources,
3998
4365
  :version_info,
3999
4366
  :container_instance_arn,
4000
- :attributes)
4367
+ :attributes,
4368
+ :tags)
4001
4369
  include Aws::Structure
4002
4370
  end
4003
4371
 
@@ -4082,6 +4450,12 @@ module Aws::ECS
4082
4450
  # },
4083
4451
  # ],
4084
4452
  # },
4453
+ # secrets: [
4454
+ # {
4455
+ # name: "String", # required
4456
+ # value_from: "String", # required
4457
+ # },
4458
+ # ],
4085
4459
  # hostname: "String",
4086
4460
  # user: "String",
4087
4461
  # working_directory: "String",
@@ -4158,6 +4532,12 @@ module Aws::ECS
4158
4532
  # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE
4159
4533
  # cpu: "String",
4160
4534
  # memory: "String",
4535
+ # tags: [
4536
+ # {
4537
+ # key: "TagKey",
4538
+ # value: "TagValue",
4539
+ # },
4540
+ # ],
4161
4541
  # }
4162
4542
  #
4163
4543
  # @!attribute [rw] family
@@ -4188,15 +4568,15 @@ module Aws::ECS
4188
4568
  # @!attribute [rw] network_mode
4189
4569
  # The Docker networking mode to use for the containers in the task.
4190
4570
  # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
4191
- # default Docker network mode is `bridge`. If using the Fargate launch
4192
- # type, the `awsvpc` network mode is required. If using the EC2 launch
4193
- # type, any network mode can be used. If the network mode is set to
4194
- # `none`, you can't specify port mappings in your container
4195
- # definitions, and the task's containers do not have external
4196
- # connectivity. The `host` and `awsvpc` network modes offer the
4197
- # highest networking performance for containers because they use the
4198
- # EC2 network stack instead of the virtualized network stack provided
4199
- # by the `bridge` mode.
4571
+ # default Docker network mode is `bridge`. If you are using the
4572
+ # Fargate launch type, the `awsvpc` network mode is required. If you
4573
+ # are using the EC2 launch type, any network mode can be used. If the
4574
+ # network mode is set to `none`, you can't specify port mappings in
4575
+ # your container definitions, and the task's containers do not have
4576
+ # external connectivity. The `host` and `awsvpc` network modes offer
4577
+ # the highest networking performance for containers because they use
4578
+ # the EC2 network stack instead of the virtualized network stack
4579
+ # provided by the `bridge` mode.
4200
4580
  #
4201
4581
  # With the `host` and `awsvpc` network modes, exposed container ports
4202
4582
  # are mapped directly to the corresponding host port (for the `host`
@@ -4204,8 +4584,8 @@ module Aws::ECS
4204
4584
  # the `awsvpc` network mode), so you cannot take advantage of dynamic
4205
4585
  # host port mappings.
4206
4586
  #
4207
- # If the network mode is `awsvpc`, the task is allocated an Elastic
4208
- # Network Interface, and you must specify a NetworkConfiguration when
4587
+ # If the network mode is `awsvpc`, the task is allocated an elastic
4588
+ # network interface, and you must specify a NetworkConfiguration when
4209
4589
  # you create a service or run a task with the task definition. For
4210
4590
  # more information, see [Task Networking][1] in the *Amazon Elastic
4211
4591
  # Container Service Developer Guide*.
@@ -4241,7 +4621,7 @@ module Aws::ECS
4241
4621
  # An array of placement constraint objects to use for the task. You
4242
4622
  # can specify a maximum of 10 constraints per task (this limit
4243
4623
  # includes constraints in the task definition and those specified at
4244
- # run time).
4624
+ # runtime).
4245
4625
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
4246
4626
  #
4247
4627
  # @!attribute [rw] requires_compatibilities
@@ -4262,13 +4642,13 @@ module Aws::ECS
4262
4642
  #
4263
4643
  # </note>
4264
4644
  #
4265
- # If using the EC2 launch type, this field is optional. Supported
4266
- # values are between `128` CPU units (`0.125` vCPUs) and `10240` CPU
4267
- # units (`10` vCPUs).
4645
+ # If you are using the EC2 launch type, this field is optional.
4646
+ # Supported values are between `128` CPU units (`0.125` vCPUs) and
4647
+ # `10240` CPU units (`10` vCPUs).
4268
4648
  #
4269
- # If using the Fargate launch type, this field is required and you
4270
- # must use one of the following values, which determines your range of
4271
- # supported values for the `memory` parameter:
4649
+ # If you are using the Fargate launch type, this field is required and
4650
+ # you must use one of the following values, which determines your
4651
+ # range of supported values for the `memory` parameter:
4272
4652
  #
4273
4653
  # * 256 (.25 vCPU) - Available `memory` values: 512 (0.5 GB), 1024 (1
4274
4654
  # GB), 2048 (2 GB)
@@ -4300,11 +4680,11 @@ module Aws::ECS
4300
4680
  #
4301
4681
  # </note>
4302
4682
  #
4303
- # If using the EC2 launch type, this field is optional.
4683
+ # If you are using the EC2 launch type, this field is optional.
4304
4684
  #
4305
- # If using the Fargate launch type, this field is required and you
4306
- # must use one of the following values, which determines your range of
4307
- # supported values for the `cpu` parameter:
4685
+ # If you are using the Fargate launch type, this field is required and
4686
+ # you must use one of the following values, which determines your
4687
+ # range of supported values for the `cpu` parameter:
4308
4688
  #
4309
4689
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
4310
4690
  # 256 (.25 vCPU)
@@ -4322,6 +4702,14 @@ module Aws::ECS
4322
4702
  # - Available `cpu` values: 4096 (4 vCPU)
4323
4703
  # @return [String]
4324
4704
  #
4705
+ # @!attribute [rw] tags
4706
+ # The metadata that you apply to the task definition to help you
4707
+ # categorize and organize them. Each tag consists of a key and an
4708
+ # optional value, both of which you define. Tag keys can have a
4709
+ # maximum character length of 128 characters, and tag values can have
4710
+ # a maximum length of 256 characters.
4711
+ # @return [Array<Types::Tag>]
4712
+ #
4325
4713
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest AWS API Documentation
4326
4714
  #
4327
4715
  class RegisterTaskDefinitionRequest < Struct.new(
@@ -4334,7 +4722,8 @@ module Aws::ECS
4334
4722
  :placement_constraints,
4335
4723
  :requires_compatibilities,
4336
4724
  :cpu,
4337
- :memory)
4725
+ :memory,
4726
+ :tags)
4338
4727
  include Aws::Structure
4339
4728
  end
4340
4729
 
@@ -4342,10 +4731,15 @@ module Aws::ECS
4342
4731
  # The full description of the registered task definition.
4343
4732
  # @return [Types::TaskDefinition]
4344
4733
  #
4734
+ # @!attribute [rw] tags
4735
+ # The list of tags associated with the task definition.
4736
+ # @return [Array<Types::Tag>]
4737
+ #
4345
4738
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionResponse AWS API Documentation
4346
4739
  #
4347
4740
  class RegisterTaskDefinitionResponse < Struct.new(
4348
- :task_definition)
4741
+ :task_definition,
4742
+ :tags)
4349
4743
  include Aws::Structure
4350
4744
  end
4351
4745
 
@@ -4359,8 +4753,16 @@ module Aws::ECS
4359
4753
  # }
4360
4754
  #
4361
4755
  # @!attribute [rw] credentials_parameter
4362
- # The Amazon Resource Name (ARN) or name of the secret containing the
4363
- # private repository credentials.
4756
+ # The Amazon Resource Name (ARN) of the secret containing the private
4757
+ # repository credentials.
4758
+ #
4759
+ # <note markdown="1"> When you are using the Amazon ECS API, AWS CLI, or AWS SDK, if the
4760
+ # secret exists in the same Region as the task that you are launching
4761
+ # then you can use either the full ARN or the name of the secret. When
4762
+ # you are using the AWS Management Console, you must specify the full
4763
+ # ARN of the secret.
4764
+ #
4765
+ # </note>
4364
4766
  # @return [String]
4365
4767
  #
4366
4768
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RepositoryCredentials AWS API Documentation
@@ -4475,6 +4877,14 @@ module Aws::ECS
4475
4877
  # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4476
4878
  # },
4477
4879
  # },
4880
+ # tags: [
4881
+ # {
4882
+ # key: "TagKey",
4883
+ # value: "TagValue",
4884
+ # },
4885
+ # ],
4886
+ # enable_ecs_managed_tags: false,
4887
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
4478
4888
  # }
4479
4889
  #
4480
4890
  # @!attribute [rw] cluster
@@ -4511,9 +4921,9 @@ module Aws::ECS
4511
4921
  # @return [Integer]
4512
4922
  #
4513
4923
  # @!attribute [rw] started_by
4514
- # An optional tag specified when a task is started. For example if you
4515
- # automatically trigger a task to run a batch process job, you could
4516
- # apply a unique identifier for that job to your task with the
4924
+ # An optional tag specified when a task is started. For example, if
4925
+ # you automatically trigger a task to run a batch process job, you
4926
+ # could apply a unique identifier for that job to your task with the
4517
4927
  # `startedBy` parameter. You can then identify which tasks belong to
4518
4928
  # that job by filtering the results of a ListTasks call with the
4519
4929
  # `startedBy` value. Up to 36 letters (uppercase and lowercase),
@@ -4532,7 +4942,7 @@ module Aws::ECS
4532
4942
  # @!attribute [rw] placement_constraints
4533
4943
  # An array of placement constraint objects to use for the task. You
4534
4944
  # can specify up to 10 constraints per task (including constraints in
4535
- # the task definition and those specified at run time).
4945
+ # the task definition and those specified at runtime).
4536
4946
  # @return [Array<Types::PlacementConstraint>]
4537
4947
  #
4538
4948
  # @!attribute [rw] placement_strategy
@@ -4552,7 +4962,7 @@ module Aws::ECS
4552
4962
  # @!attribute [rw] network_configuration
4553
4963
  # The network configuration for the task. This parameter is required
4554
4964
  # for task definitions that use the `awsvpc` network mode to receive
4555
- # their own Elastic Network Interface, and it is not supported for
4965
+ # their own elastic network interface, and it is not supported for
4556
4966
  # other network modes. For more information, see [Task Networking][1]
4557
4967
  # in the *Amazon Elastic Container Service Developer Guide*.
4558
4968
  #
@@ -4561,6 +4971,30 @@ module Aws::ECS
4561
4971
  # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
4562
4972
  # @return [Types::NetworkConfiguration]
4563
4973
  #
4974
+ # @!attribute [rw] tags
4975
+ # The metadata that you apply to the task to help you categorize and
4976
+ # organize them. Each tag consists of a key and an optional value,
4977
+ # both of which you define. Tag keys can have a maximum character
4978
+ # length of 128 characters, and tag values can have a maximum length
4979
+ # of 256 characters.
4980
+ # @return [Array<Types::Tag>]
4981
+ #
4982
+ # @!attribute [rw] enable_ecs_managed_tags
4983
+ # Specifies whether to enable Amazon ECS managed tags for the task.
4984
+ # For more information, see [Tagging Your Amazon ECS Resources][1] in
4985
+ # the *Amazon Elastic Container Service Developer Guide*.
4986
+ #
4987
+ #
4988
+ #
4989
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html
4990
+ # @return [Boolean]
4991
+ #
4992
+ # @!attribute [rw] propagate_tags
4993
+ # Specifies whether to propagate the tags from the task definition or
4994
+ # the service to the task. If no value is specified, the tags are not
4995
+ # propagated.
4996
+ # @return [String]
4997
+ #
4564
4998
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTaskRequest AWS API Documentation
4565
4999
  #
4566
5000
  class RunTaskRequest < Struct.new(
@@ -4574,7 +5008,10 @@ module Aws::ECS
4574
5008
  :placement_strategy,
4575
5009
  :launch_type,
4576
5010
  :platform_version,
4577
- :network_configuration)
5011
+ :network_configuration,
5012
+ :tags,
5013
+ :enable_ecs_managed_tags,
5014
+ :propagate_tags)
4578
5015
  include Aws::Structure
4579
5016
  end
4580
5017
 
@@ -4595,6 +5032,34 @@ module Aws::ECS
4595
5032
  include Aws::Structure
4596
5033
  end
4597
5034
 
5035
+ # An object representing the secret to expose to your container.
5036
+ #
5037
+ # @note When making an API call, you may pass Secret
5038
+ # data as a hash:
5039
+ #
5040
+ # {
5041
+ # name: "String", # required
5042
+ # value_from: "String", # required
5043
+ # }
5044
+ #
5045
+ # @!attribute [rw] name
5046
+ # The value to set as the environment variable on the container.
5047
+ # @return [String]
5048
+ #
5049
+ # @!attribute [rw] value_from
5050
+ # The secret to expose to the container. Supported values are either
5051
+ # the full ARN or the name of the parameter in the AWS Systems Manager
5052
+ # Parameter Store.
5053
+ # @return [String]
5054
+ #
5055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Secret AWS API Documentation
5056
+ #
5057
+ class Secret < Struct.new(
5058
+ :name,
5059
+ :value_from)
5060
+ include Aws::Structure
5061
+ end
5062
+
4598
5063
  # Details on a service within a cluster
4599
5064
  #
4600
5065
  # @!attribute [rw] service_arn
@@ -4626,7 +5091,7 @@ module Aws::ECS
4626
5091
  #
4627
5092
  # Services with tasks that use the `awsvpc` network mode (for example,
4628
5093
  # those with the Fargate launch type) only support Application Load
4629
- # Balancers and Network Load Balancers; Classic Load Balancers are not
5094
+ # Balancers and Network Load Balancers. Classic Load Balancers are not
4630
5095
  # supported. Also, when you create any target groups for these
4631
5096
  # services, you must choose `ip` as the target type, not `instance`,
4632
5097
  # because tasks that use the `awsvpc` network mode are associated with
@@ -4698,7 +5163,7 @@ module Aws::ECS
4698
5163
  # @return [Array<Types::ServiceEvent>]
4699
5164
  #
4700
5165
  # @!attribute [rw] created_at
4701
- # The Unix time stamp for when the service was created.
5166
+ # The Unix timestamp for when the service was created.
4702
5167
  # @return [Time]
4703
5168
  #
4704
5169
  # @!attribute [rw] placement_constraints
@@ -4735,9 +5200,9 @@ module Aws::ECS
4735
5200
  # placement decisions.
4736
5201
  #
4737
5202
  # * `DAEMON`-The daemon scheduling strategy deploys exactly one task
4738
- # on each container instance in your cluster. When using this
4739
- # strategy, do not specify a desired number of tasks or any task
4740
- # placement strategies.
5203
+ # on each container instance in your cluster. When you are using
5204
+ # this strategy, do not specify a desired number of tasks or any
5205
+ # task placement strategies.
4741
5206
  #
4742
5207
  # <note markdown="1"> Fargate tasks do not support the `DAEMON` scheduling strategy.
4743
5208
  #
@@ -4748,6 +5213,35 @@ module Aws::ECS
4748
5213
  # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideecs_services.html
4749
5214
  # @return [String]
4750
5215
  #
5216
+ # @!attribute [rw] tags
5217
+ # The metadata that you apply to the service to help you categorize
5218
+ # and organize them. Each tag consists of a key and an optional value,
5219
+ # both of which you define. Tag keys can have a maximum character
5220
+ # length of 128 characters, and tag values can have a maximum length
5221
+ # of 256 characters.
5222
+ # @return [Array<Types::Tag>]
5223
+ #
5224
+ # @!attribute [rw] created_by
5225
+ # The principal that created the service.
5226
+ # @return [String]
5227
+ #
5228
+ # @!attribute [rw] enable_ecs_managed_tags
5229
+ # Specifies whether to enable Amazon ECS managed tags for the tasks in
5230
+ # the service. For more information, see [Tagging Your Amazon ECS
5231
+ # Resources][1] in the *Amazon Elastic Container Service Developer
5232
+ # Guide*.
5233
+ #
5234
+ #
5235
+ #
5236
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html
5237
+ # @return [Boolean]
5238
+ #
5239
+ # @!attribute [rw] propagate_tags
5240
+ # Specifies whether to propagate the tags from the task definition or
5241
+ # the service to the task. If no value is specified, the tags are not
5242
+ # propagated.
5243
+ # @return [String]
5244
+ #
4751
5245
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Service AWS API Documentation
4752
5246
  #
4753
5247
  class Service < Struct.new(
@@ -4772,7 +5266,11 @@ module Aws::ECS
4772
5266
  :placement_strategy,
4773
5267
  :network_configuration,
4774
5268
  :health_check_grace_period_seconds,
4775
- :scheduling_strategy)
5269
+ :scheduling_strategy,
5270
+ :tags,
5271
+ :created_by,
5272
+ :enable_ecs_managed_tags,
5273
+ :propagate_tags)
4776
5274
  include Aws::Structure
4777
5275
  end
4778
5276
 
@@ -4783,7 +5281,7 @@ module Aws::ECS
4783
5281
  # @return [String]
4784
5282
  #
4785
5283
  # @!attribute [rw] created_at
4786
- # The Unix time stamp for when the event was triggered.
5284
+ # The Unix timestamp for when the event was triggered.
4787
5285
  # @return [Time]
4788
5286
  #
4789
5287
  # @!attribute [rw] message
@@ -4860,6 +5358,35 @@ module Aws::ECS
4860
5358
  include Aws::Structure
4861
5359
  end
4862
5360
 
5361
+ # The current account setting for a resource.
5362
+ #
5363
+ # @!attribute [rw] name
5364
+ # The account resource name.
5365
+ # @return [String]
5366
+ #
5367
+ # @!attribute [rw] value
5368
+ # The current account setting for the resource name. If `ENABLED`,
5369
+ # then the resource will receive the new Amazon Resource Name (ARN)
5370
+ # and resource identifier (ID) format. If `DISABLED`, then the
5371
+ # resource will receive the old Amazon Resource Name (ARN) and
5372
+ # resource identifier (ID) format.
5373
+ # @return [String]
5374
+ #
5375
+ # @!attribute [rw] principal_arn
5376
+ # The ARN of the principal, which can be an IAM user, IAM role, or the
5377
+ # root user. If this field is omitted, the authenticated user is
5378
+ # assumed.
5379
+ # @return [String]
5380
+ #
5381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Setting AWS API Documentation
5382
+ #
5383
+ class Setting < Struct.new(
5384
+ :name,
5385
+ :value,
5386
+ :principal_arn)
5387
+ include Aws::Structure
5388
+ end
5389
+
4863
5390
  # @note When making an API call, you may pass StartTaskRequest
4864
5391
  # data as a hash:
4865
5392
  #
@@ -4895,6 +5422,14 @@ module Aws::ECS
4895
5422
  # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4896
5423
  # },
4897
5424
  # },
5425
+ # tags: [
5426
+ # {
5427
+ # key: "TagKey",
5428
+ # value: "TagValue",
5429
+ # },
5430
+ # ],
5431
+ # enable_ecs_managed_tags: false,
5432
+ # propagate_tags: "TASK_DEFINITION", # accepts TASK_DEFINITION, SERVICE
4898
5433
  # }
4899
5434
  #
4900
5435
  # @!attribute [rw] cluster
@@ -4932,9 +5467,9 @@ module Aws::ECS
4932
5467
  # @return [Array<String>]
4933
5468
  #
4934
5469
  # @!attribute [rw] started_by
4935
- # An optional tag specified when a task is started. For example if you
4936
- # automatically trigger a task to run a batch process job, you could
4937
- # apply a unique identifier for that job to your task with the
5470
+ # An optional tag specified when a task is started. For example, if
5471
+ # you automatically trigger a task to run a batch process job, you
5472
+ # could apply a unique identifier for that job to your task with the
4938
5473
  # `startedBy` parameter. You can then identify which tasks belong to
4939
5474
  # that job by filtering the results of a ListTasks call with the
4940
5475
  # `startedBy` value. Up to 36 letters (uppercase and lowercase),
@@ -4956,6 +5491,30 @@ module Aws::ECS
4956
5491
  # networking mode.
4957
5492
  # @return [Types::NetworkConfiguration]
4958
5493
  #
5494
+ # @!attribute [rw] tags
5495
+ # The metadata that you apply to the task to help you categorize and
5496
+ # organize them. Each tag consists of a key and an optional value,
5497
+ # both of which you define. Tag keys can have a maximum character
5498
+ # length of 128 characters, and tag values can have a maximum length
5499
+ # of 256 characters.
5500
+ # @return [Array<Types::Tag>]
5501
+ #
5502
+ # @!attribute [rw] enable_ecs_managed_tags
5503
+ # Specifies whether to enable Amazon ECS managed tags for the task.
5504
+ # For more information, see [Tagging Your Amazon ECS Resources][1] in
5505
+ # the *Amazon Elastic Container Service Developer Guide*.
5506
+ #
5507
+ #
5508
+ #
5509
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Using_Tags.html
5510
+ # @return [Boolean]
5511
+ #
5512
+ # @!attribute [rw] propagate_tags
5513
+ # Specifies whether to propagate the tags from the task definition or
5514
+ # the service to the task. If no value is specified, the tags are not
5515
+ # propagated.
5516
+ # @return [String]
5517
+ #
4959
5518
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/StartTaskRequest AWS API Documentation
4960
5519
  #
4961
5520
  class StartTaskRequest < Struct.new(
@@ -4965,7 +5524,10 @@ module Aws::ECS
4965
5524
  :container_instances,
4966
5525
  :started_by,
4967
5526
  :group,
4968
- :network_configuration)
5527
+ :network_configuration,
5528
+ :tags,
5529
+ :enable_ecs_managed_tags,
5530
+ :propagate_tags)
4969
5531
  include Aws::Structure
4970
5532
  end
4971
5533
 
@@ -5167,15 +5729,15 @@ module Aws::ECS
5167
5729
  # @return [Array<Types::AttachmentStateChange>]
5168
5730
  #
5169
5731
  # @!attribute [rw] pull_started_at
5170
- # The Unix time stamp for when the container image pull began.
5732
+ # The Unix timestamp for when the container image pull began.
5171
5733
  # @return [Time]
5172
5734
  #
5173
5735
  # @!attribute [rw] pull_stopped_at
5174
- # The Unix time stamp for when the container image pull completed.
5736
+ # The Unix timestamp for when the container image pull completed.
5175
5737
  # @return [Time]
5176
5738
  #
5177
5739
  # @!attribute [rw] execution_stopped_at
5178
- # The Unix time stamp for when the task execution stopped.
5740
+ # The Unix timestamp for when the task execution stopped.
5179
5741
  # @return [Time]
5180
5742
  #
5181
5743
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChangeRequest AWS API Documentation
@@ -5209,13 +5771,21 @@ module Aws::ECS
5209
5771
  # the [Docker Remote API][2] and the `--sysctl` option to [docker
5210
5772
  # run][3].
5211
5773
  #
5212
- # <note markdown="1"> It is not recommended that you specify network-related
5774
+ # It is not recommended that you specify network-related
5213
5775
  # `systemControls` parameters for multiple containers in a single task
5214
- # that also uses either the `awsvpc` or `host` network modes. When you
5215
- # do, the container that is started last will determine which
5216
- # `systemControls` parameters take effect.
5217
- #
5218
- # </note>
5776
+ # that also uses either the `awsvpc` or `host` network mode for the
5777
+ # following reasons:
5778
+ #
5779
+ # * For tasks that use the `awsvpc` network mode, if you set
5780
+ # `systemControls` for any container, it applies to all containers in
5781
+ # the task. If you set different `systemControls` for multiple
5782
+ # containers in a single task, the container that is started last
5783
+ # determines which `systemControls` take effect.
5784
+ #
5785
+ # * For tasks that use the `host` network mode, the `systemControls`
5786
+ # parameter applies to the container instance's kernel parameter as
5787
+ # well as that of all containers of any tasks running on that
5788
+ # container instance.
5219
5789
  #
5220
5790
  #
5221
5791
  #
@@ -5236,7 +5806,7 @@ module Aws::ECS
5236
5806
  # @return [String]
5237
5807
  #
5238
5808
  # @!attribute [rw] value
5239
- # The value for the namespaced kernel parameter specifed in
5809
+ # The value for the namespaced kernel parameter specified in
5240
5810
  # `namespace`.
5241
5811
  # @return [String]
5242
5812
  #
@@ -5248,6 +5818,77 @@ module Aws::ECS
5248
5818
  include Aws::Structure
5249
5819
  end
5250
5820
 
5821
+ # The metadata that you apply to a resource to help you categorize and
5822
+ # organize them. Each tag consists of a key and an optional value, both
5823
+ # of which you define. Tag keys can have a maximum character length of
5824
+ # 128 characters, and tag values can have a maximum length of 256
5825
+ # characters.
5826
+ #
5827
+ # @note When making an API call, you may pass Tag
5828
+ # data as a hash:
5829
+ #
5830
+ # {
5831
+ # key: "TagKey",
5832
+ # value: "TagValue",
5833
+ # }
5834
+ #
5835
+ # @!attribute [rw] key
5836
+ # One part of a key-value pair that make up a tag. A `key` is a
5837
+ # general label that acts like a category for more specific tag
5838
+ # values.
5839
+ # @return [String]
5840
+ #
5841
+ # @!attribute [rw] value
5842
+ # The optional part of a key-value pair that make up a tag. A `value`
5843
+ # acts as a descriptor within a tag category (key).
5844
+ # @return [String]
5845
+ #
5846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Tag AWS API Documentation
5847
+ #
5848
+ class Tag < Struct.new(
5849
+ :key,
5850
+ :value)
5851
+ include Aws::Structure
5852
+ end
5853
+
5854
+ # @note When making an API call, you may pass TagResourceRequest
5855
+ # data as a hash:
5856
+ #
5857
+ # {
5858
+ # resource_arn: "String", # required
5859
+ # tags: [ # required
5860
+ # {
5861
+ # key: "TagKey",
5862
+ # value: "TagValue",
5863
+ # },
5864
+ # ],
5865
+ # }
5866
+ #
5867
+ # @!attribute [rw] resource_arn
5868
+ # The Amazon Resource Name (ARN) of the resource to which to add tags.
5869
+ # Currently, the supported resources are Amazon ECS tasks, services,
5870
+ # task definitions, clusters, and container instances.
5871
+ # @return [String]
5872
+ #
5873
+ # @!attribute [rw] tags
5874
+ # The tags to add to the resource. A tag is an array of key-value
5875
+ # pairs. Tag keys can have a maximum character length of 128
5876
+ # characters, and tag values can have a maximum length of 256
5877
+ # characters.
5878
+ # @return [Array<Types::Tag>]
5879
+ #
5880
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResourceRequest AWS API Documentation
5881
+ #
5882
+ class TagResourceRequest < Struct.new(
5883
+ :resource_arn,
5884
+ :tags)
5885
+ include Aws::Structure
5886
+ end
5887
+
5888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TagResourceResponse AWS API Documentation
5889
+ #
5890
+ class TagResourceResponse < Aws::EmptyStructure; end
5891
+
5251
5892
  # Details on a task in a cluster.
5252
5893
  #
5253
5894
  # @!attribute [rw] task_arn
@@ -5289,19 +5930,20 @@ module Aws::ECS
5289
5930
  # @return [String]
5290
5931
  #
5291
5932
  # @!attribute [rw] cpu
5292
- # The number of CPU units used by the task. It can be expressed as an
5293
- # integer using CPU units, for example `1024`, or as a string using
5294
- # vCPUs, for example `1 vCPU` or `1 vcpu`, in a task definition.
5295
- # String values are converted to an integer indicating the CPU units
5296
- # when the task definition is registered.
5933
+ # The number of CPU units used by the task as expressed in a task
5934
+ # definition. It can be expressed as an integer using CPU units, for
5935
+ # example `1024`. It can also be expressed as a string using vCPUs,
5936
+ # for example `1 vCPU` or `1 vcpu`. String values are converted to an
5937
+ # integer indicating the CPU units when the task definition is
5938
+ # registered.
5297
5939
  #
5298
- # If using the EC2 launch type, this field is optional. Supported
5299
- # values are between `128` CPU units (`0.125` vCPUs) and `10240` CPU
5300
- # units (`10` vCPUs).
5940
+ # If you are using the EC2 launch type, this field is optional.
5941
+ # Supported values are between `128` CPU units (`0.125` vCPUs) and
5942
+ # `10240` CPU units (`10` vCPUs).
5301
5943
  #
5302
- # If using the Fargate launch type, this field is required and you
5303
- # must use one of the following values, which determines your range of
5304
- # supported values for the `memory` parameter:
5944
+ # If you are using the Fargate launch type, this field is required and
5945
+ # you must use one of the following values, which determines your
5946
+ # range of supported values for the `memory` parameter:
5305
5947
  #
5306
5948
  # * 256 (.25 vCPU) - Available `memory` values: 512 (0.5 GB), 1024 (1
5307
5949
  # GB), 2048 (2 GB)
@@ -5321,17 +5963,17 @@ module Aws::ECS
5321
5963
  # @return [String]
5322
5964
  #
5323
5965
  # @!attribute [rw] memory
5324
- # The amount of memory (in MiB) used by the task. It can be expressed
5325
- # as an integer using MiB, for example `1024`, or as a string using
5326
- # GB, for example `1GB` or `1 GB`, in a task definition. String values
5327
- # are converted to an integer indicating the MiB when the task
5328
- # definition is registered.
5966
+ # The amount of memory (in MiB) used by the task as expressed in a
5967
+ # task definition. It can be expressed as an integer using MiB, for
5968
+ # example `1024`. It can also be expressed as a string using GB, for
5969
+ # example `1GB` or `1 GB`. String values are converted to an integer
5970
+ # indicating the MiB when the task definition is registered.
5329
5971
  #
5330
- # If using the EC2 launch type, this field is optional.
5972
+ # If you are using the EC2 launch type, this field is optional.
5331
5973
  #
5332
- # If using the Fargate launch type, this field is required and you
5333
- # must use one of the following values, which determines your range of
5334
- # supported values for the `cpu` parameter:
5974
+ # If you are using the Fargate launch type, this field is required and
5975
+ # you must use one of the following values, which determines your
5976
+ # range of supported values for the `cpu` parameter:
5335
5977
  #
5336
5978
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
5337
5979
  # 256 (.25 vCPU)
@@ -5373,44 +6015,49 @@ module Aws::ECS
5373
6015
  # The reason the task was stopped.
5374
6016
  # @return [String]
5375
6017
  #
6018
+ # @!attribute [rw] stop_code
6019
+ # The stop code indicating why a task was stopped. The `stoppedReason`
6020
+ # may contain additional details.
6021
+ # @return [String]
6022
+ #
5376
6023
  # @!attribute [rw] connectivity
5377
6024
  # The connectivity status of a task.
5378
6025
  # @return [String]
5379
6026
  #
5380
6027
  # @!attribute [rw] connectivity_at
5381
- # The Unix time stamp for when the task last went into `CONNECTED`
6028
+ # The Unix timestamp for when the task last went into `CONNECTED`
5382
6029
  # status.
5383
6030
  # @return [Time]
5384
6031
  #
5385
6032
  # @!attribute [rw] pull_started_at
5386
- # The Unix time stamp for when the container image pull began.
6033
+ # The Unix timestamp for when the container image pull began.
5387
6034
  # @return [Time]
5388
6035
  #
5389
6036
  # @!attribute [rw] pull_stopped_at
5390
- # The Unix time stamp for when the container image pull completed.
6037
+ # The Unix timestamp for when the container image pull completed.
5391
6038
  # @return [Time]
5392
6039
  #
5393
6040
  # @!attribute [rw] execution_stopped_at
5394
- # The Unix time stamp for when the task execution stopped.
6041
+ # The Unix timestamp for when the task execution stopped.
5395
6042
  # @return [Time]
5396
6043
  #
5397
6044
  # @!attribute [rw] created_at
5398
- # The Unix time stamp for when the task was created (the task entered
6045
+ # The Unix timestamp for when the task was created (the task entered
5399
6046
  # the `PENDING` state).
5400
6047
  # @return [Time]
5401
6048
  #
5402
6049
  # @!attribute [rw] started_at
5403
- # The Unix time stamp for when the task started (the task transitioned
6050
+ # The Unix timestamp for when the task started (the task transitioned
5404
6051
  # from the `PENDING` state to the `RUNNING` state).
5405
6052
  # @return [Time]
5406
6053
  #
5407
6054
  # @!attribute [rw] stopping_at
5408
- # The Unix time stamp for when the task stops (transitions from the
6055
+ # The Unix timestamp for when the task stops (transitions from the
5409
6056
  # `RUNNING` state to `STOPPED`).
5410
6057
  # @return [Time]
5411
6058
  #
5412
6059
  # @!attribute [rw] stopped_at
5413
- # The Unix time stamp for when the task was stopped (the task
6060
+ # The Unix timestamp for when the task was stopped (the task
5414
6061
  # transitioned from the `RUNNING` state to the `STOPPED` state).
5415
6062
  # @return [Time]
5416
6063
  #
@@ -5433,7 +6080,7 @@ module Aws::ECS
5433
6080
  # @return [String]
5434
6081
  #
5435
6082
  # @!attribute [rw] attachments
5436
- # The elastic network adapter associated with the task if the task
6083
+ # The Elastic Network Adapter associated with the task if the task
5437
6084
  # uses the `awsvpc` network mode.
5438
6085
  # @return [Array<Types::Attachment>]
5439
6086
  #
@@ -5455,6 +6102,14 @@ module Aws::ECS
5455
6102
  # </note>
5456
6103
  # @return [String]
5457
6104
  #
6105
+ # @!attribute [rw] tags
6106
+ # The metadata that you apply to the task to help you categorize and
6107
+ # organize them. Each tag consists of a key and an optional value,
6108
+ # both of which you define. Tag keys can have a maximum character
6109
+ # length of 128 characters, and tag values can have a maximum length
6110
+ # of 256 characters.
6111
+ # @return [Array<Types::Tag>]
6112
+ #
5458
6113
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Task AWS API Documentation
5459
6114
  #
5460
6115
  class Task < Struct.new(
@@ -5471,6 +6126,7 @@ module Aws::ECS
5471
6126
  :started_by,
5472
6127
  :version,
5473
6128
  :stopped_reason,
6129
+ :stop_code,
5474
6130
  :connectivity,
5475
6131
  :connectivity_at,
5476
6132
  :pull_started_at,
@@ -5484,7 +6140,8 @@ module Aws::ECS
5484
6140
  :launch_type,
5485
6141
  :platform_version,
5486
6142
  :attachments,
5487
- :health_status)
6143
+ :health_status,
6144
+ :tags)
5488
6145
  include Aws::Structure
5489
6146
  end
5490
6147
 
@@ -5535,15 +6192,15 @@ module Aws::ECS
5535
6192
  # @!attribute [rw] network_mode
5536
6193
  # The Docker networking mode to use for the containers in the task.
5537
6194
  # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
5538
- # default Docker network mode is `bridge`. If using the Fargate launch
5539
- # type, the `awsvpc` network mode is required. If using the EC2 launch
5540
- # type, any network mode can be used. If the network mode is set to
5541
- # `none`, you can't specify port mappings in your container
5542
- # definitions, and the task's containers do not have external
5543
- # connectivity. The `host` and `awsvpc` network modes offer the
5544
- # highest networking performance for containers because they use the
5545
- # EC2 network stack instead of the virtualized network stack provided
5546
- # by the `bridge` mode.
6195
+ # default Docker network mode is `bridge`. If you are using the
6196
+ # Fargate launch type, the `awsvpc` network mode is required. If you
6197
+ # are using the EC2 launch type, any network mode can be used. If the
6198
+ # network mode is set to `none`, you can't specify port mappings in
6199
+ # your container definitions, and the task's containers do not have
6200
+ # external connectivity. The `host` and `awsvpc` network modes offer
6201
+ # the highest networking performance for containers because they use
6202
+ # the EC2 network stack instead of the virtualized network stack
6203
+ # provided by the `bridge` mode.
5547
6204
  #
5548
6205
  # With the `host` and `awsvpc` network modes, exposed container ports
5549
6206
  # are mapped directly to the corresponding host port (for the `host`
@@ -5551,8 +6208,8 @@ module Aws::ECS
5551
6208
  # the `awsvpc` network mode), so you cannot take advantage of dynamic
5552
6209
  # host port mappings.
5553
6210
  #
5554
- # If the network mode is `awsvpc`, the task is allocated an Elastic
5555
- # Network Interface, and you must specify a NetworkConfiguration when
6211
+ # If the network mode is `awsvpc`, the task is allocated an elastic
6212
+ # network interface, and you must specify a NetworkConfiguration when
5556
6213
  # you create a service or run a task with the task definition. For
5557
6214
  # more information, see [Task Networking][1] in the *Amazon Elastic
5558
6215
  # Container Service Developer Guide*.
@@ -5585,7 +6242,7 @@ module Aws::ECS
5585
6242
  # @!attribute [rw] revision
5586
6243
  # The revision of the task in a particular family. The revision is a
5587
6244
  # version number of a task definition in a family. When you register a
5588
- # task definition for the first time, the revision is `1`; each time
6245
+ # task definition for the first time, the revision is `1`. Each time
5589
6246
  # you register a new revision of a task definition in the same family,
5590
6247
  # the revision value always increases by one (even if you have
5591
6248
  # deregistered previous revisions in this family).
@@ -5635,11 +6292,11 @@ module Aws::ECS
5635
6292
  # @return [Array<String>]
5636
6293
  #
5637
6294
  # @!attribute [rw] cpu
5638
- # The number of `cpu` units used by the task. If using the EC2 launch
5639
- # type, this field is optional and any value can be used. If using the
5640
- # Fargate launch type, this field is required and you must use one of
5641
- # the following values, which determines your range of valid values
5642
- # for the `memory` parameter:
6295
+ # The number of `cpu` units used by the task. If you are using the EC2
6296
+ # launch type, this field is optional and any value can be used. If
6297
+ # you are using the Fargate launch type, this field is required and
6298
+ # you must use one of the following values, which determines your
6299
+ # range of valid values for the `memory` parameter:
5643
6300
  #
5644
6301
  # * 256 (.25 vCPU) - Available `memory` values: 512 (0.5 GB), 1024 (1
5645
6302
  # GB), 2048 (2 GB)
@@ -5659,11 +6316,11 @@ module Aws::ECS
5659
6316
  # @return [String]
5660
6317
  #
5661
6318
  # @!attribute [rw] memory
5662
- # The amount (in MiB) of memory used by the task. If using the EC2
5663
- # launch type, this field is optional and any value can be used. If
5664
- # using the Fargate launch type, this field is required and you must
5665
- # use one of the following values, which determines your range of
5666
- # valid values for the `cpu` parameter:
6319
+ # The amount (in MiB) of memory used by the task. If you are using the
6320
+ # EC2 launch type, this field is optional and any value can be used.
6321
+ # If you are using the Fargate launch type, this field is required and
6322
+ # you must use one of the following values, which determines your
6323
+ # range of valid values for the `cpu` parameter:
5667
6324
  #
5668
6325
  # * 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available `cpu` values:
5669
6326
  # 256 (.25 vCPU)
@@ -5869,6 +6526,36 @@ module Aws::ECS
5869
6526
  include Aws::Structure
5870
6527
  end
5871
6528
 
6529
+ # @note When making an API call, you may pass UntagResourceRequest
6530
+ # data as a hash:
6531
+ #
6532
+ # {
6533
+ # resource_arn: "String", # required
6534
+ # tag_keys: ["TagKey"], # required
6535
+ # }
6536
+ #
6537
+ # @!attribute [rw] resource_arn
6538
+ # The Amazon Resource Name (ARN) of the resource from which to delete
6539
+ # tags. Currently, the supported resources are Amazon ECS tasks,
6540
+ # services, task definitions, clusters, and container instances.
6541
+ # @return [String]
6542
+ #
6543
+ # @!attribute [rw] tag_keys
6544
+ # The keys of the tags to be removed.
6545
+ # @return [Array<String>]
6546
+ #
6547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResourceRequest AWS API Documentation
6548
+ #
6549
+ class UntagResourceRequest < Struct.new(
6550
+ :resource_arn,
6551
+ :tag_keys)
6552
+ include Aws::Structure
6553
+ end
6554
+
6555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UntagResourceResponse AWS API Documentation
6556
+ #
6557
+ class UntagResourceResponse < Aws::EmptyStructure; end
6558
+
5872
6559
  # @note When making an API call, you may pass UpdateContainerAgentRequest
5873
6560
  # data as a hash:
5874
6561
  #
@@ -6160,14 +6847,14 @@ module Aws::ECS
6160
6847
  # @return [String]
6161
6848
  #
6162
6849
  # @!attribute [rw] host
6163
- # This parameter is specified when using bind mount host volumes. Bind
6164
- # mount host volumes are supported when using either the EC2 or
6165
- # Fargate launch types. The contents of the `host` parameter determine
6166
- # whether your bind mount host volume persists on the host container
6167
- # instance and where it is stored. If the `host` parameter is empty,
6168
- # then the Docker daemon assigns a host path for your data volume, but
6169
- # the data is not guaranteed to persist after the containers
6170
- # associated with it stop running.
6850
+ # This parameter is specified when you are using bind mount host
6851
+ # volumes. Bind mount host volumes are supported when you are using
6852
+ # either the EC2 or Fargate launch types. The contents of the `host`
6853
+ # parameter determine whether your bind mount host volume persists on
6854
+ # the host container instance and where it is stored. If the `host`
6855
+ # parameter is empty, then the Docker daemon assigns a host path for
6856
+ # your data volume, but the data is not guaranteed to persist after
6857
+ # the containers associated with it stop running.
6171
6858
  #
6172
6859
  # Windows containers can mount whole directories on the same drive as
6173
6860
  # `$env:ProgramData`. Windows containers cannot mount directories on a
@@ -6177,10 +6864,10 @@ module Aws::ECS
6177
6864
  # @return [Types::HostVolumeProperties]
6178
6865
  #
6179
6866
  # @!attribute [rw] docker_volume_configuration
6180
- # This parameter is specified when using Docker volumes. Docker
6181
- # volumes are only supported when using the EC2 launch type. Windows
6182
- # containers only support the use of the `local` driver. To use bind
6183
- # mounts, specify a `host` instead.
6867
+ # This parameter is specified when you are using Docker volumes.
6868
+ # Docker volumes are only supported when you are using the EC2 launch
6869
+ # type. Windows containers only support the use of the `local` driver.
6870
+ # To use bind mounts, specify a `host` instead.
6184
6871
  # @return [Types::DockerVolumeConfiguration]
6185
6872
  #
6186
6873
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Volume AWS API Documentation