aws-sdk-ecs 1.22.0 → 1.23.0

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