aws-sdk-ecs 1.25.0 → 1.26.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.
@@ -66,6 +66,8 @@ module Aws::ECS
66
66
  DeleteServiceResponse = Shapes::StructureShape.new(name: 'DeleteServiceResponse')
67
67
  Deployment = Shapes::StructureShape.new(name: 'Deployment')
68
68
  DeploymentConfiguration = Shapes::StructureShape.new(name: 'DeploymentConfiguration')
69
+ DeploymentController = Shapes::StructureShape.new(name: 'DeploymentController')
70
+ DeploymentControllerType = Shapes::StringShape.new(name: 'DeploymentControllerType')
69
71
  Deployments = Shapes::ListShape.new(name: 'Deployments')
70
72
  DeregisterContainerInstanceRequest = Shapes::StructureShape.new(name: 'DeregisterContainerInstanceRequest')
71
73
  DeregisterContainerInstanceResponse = Shapes::StructureShape.new(name: 'DeregisterContainerInstanceResponse')
@@ -167,6 +169,8 @@ module Aws::ECS
167
169
  Resources = Shapes::ListShape.new(name: 'Resources')
168
170
  RunTaskRequest = Shapes::StructureShape.new(name: 'RunTaskRequest')
169
171
  RunTaskResponse = Shapes::StructureShape.new(name: 'RunTaskResponse')
172
+ Scale = Shapes::StructureShape.new(name: 'Scale')
173
+ ScaleUnit = Shapes::StringShape.new(name: 'ScaleUnit')
170
174
  SchedulingStrategy = Shapes::StringShape.new(name: 'SchedulingStrategy')
171
175
  Scope = Shapes::StringShape.new(name: 'Scope')
172
176
  Secret = Shapes::StructureShape.new(name: 'Secret')
@@ -186,6 +190,7 @@ module Aws::ECS
186
190
  SettingName = Shapes::StringShape.new(name: 'SettingName')
187
191
  Settings = Shapes::ListShape.new(name: 'Settings')
188
192
  SortOrder = Shapes::StringShape.new(name: 'SortOrder')
193
+ StabilityStatus = Shapes::StringShape.new(name: 'StabilityStatus')
189
194
  StartTaskRequest = Shapes::StructureShape.new(name: 'StartTaskRequest')
190
195
  StartTaskResponse = Shapes::StructureShape.new(name: 'StartTaskResponse')
191
196
  Statistics = Shapes::ListShape.new(name: 'Statistics')
@@ -221,6 +226,8 @@ module Aws::ECS
221
226
  TaskField = Shapes::StringShape.new(name: 'TaskField')
222
227
  TaskFieldList = Shapes::ListShape.new(name: 'TaskFieldList')
223
228
  TaskOverride = Shapes::StructureShape.new(name: 'TaskOverride')
229
+ TaskSet = Shapes::StructureShape.new(name: 'TaskSet')
230
+ TaskSets = Shapes::ListShape.new(name: 'TaskSets')
224
231
  TaskStopCode = Shapes::StringShape.new(name: 'TaskStopCode')
225
232
  Tasks = Shapes::ListShape.new(name: 'Tasks')
226
233
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
@@ -405,6 +412,7 @@ module Aws::ECS
405
412
  CreateServiceRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
406
413
  CreateServiceRequest.add_member(:health_check_grace_period_seconds, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "healthCheckGracePeriodSeconds"))
407
414
  CreateServiceRequest.add_member(:scheduling_strategy, Shapes::ShapeRef.new(shape: SchedulingStrategy, location_name: "schedulingStrategy"))
415
+ CreateServiceRequest.add_member(:deployment_controller, Shapes::ShapeRef.new(shape: DeploymentController, location_name: "deploymentController"))
408
416
  CreateServiceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
409
417
  CreateServiceRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
410
418
  CreateServiceRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: PropagateTags, location_name: "propagateTags"))
@@ -458,6 +466,9 @@ module Aws::ECS
458
466
  DeploymentConfiguration.add_member(:minimum_healthy_percent, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "minimumHealthyPercent"))
459
467
  DeploymentConfiguration.struct_class = Types::DeploymentConfiguration
460
468
 
469
+ DeploymentController.add_member(:type, Shapes::ShapeRef.new(shape: DeploymentControllerType, required: true, location_name: "type"))
470
+ DeploymentController.struct_class = Types::DeploymentController
471
+
461
472
  Deployments.member = Shapes::ShapeRef.new(shape: Deployment)
462
473
 
463
474
  DeregisterContainerInstanceRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
@@ -820,6 +831,10 @@ module Aws::ECS
820
831
  RunTaskResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
821
832
  RunTaskResponse.struct_class = Types::RunTaskResponse
822
833
 
834
+ Scale.add_member(:value, Shapes::ShapeRef.new(shape: Double, location_name: "value"))
835
+ Scale.add_member(:unit, Shapes::ShapeRef.new(shape: ScaleUnit, location_name: "unit"))
836
+ Scale.struct_class = Types::Scale
837
+
823
838
  Secret.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
824
839
  Secret.add_member(:value_from, Shapes::ShapeRef.new(shape: String, required: true, location_name: "valueFrom"))
825
840
  Secret.struct_class = Types::Secret
@@ -839,6 +854,7 @@ module Aws::ECS
839
854
  Service.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
840
855
  Service.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
841
856
  Service.add_member(:deployment_configuration, Shapes::ShapeRef.new(shape: DeploymentConfiguration, location_name: "deploymentConfiguration"))
857
+ Service.add_member(:task_sets, Shapes::ShapeRef.new(shape: TaskSets, location_name: "taskSets"))
842
858
  Service.add_member(:deployments, Shapes::ShapeRef.new(shape: Deployments, location_name: "deployments"))
843
859
  Service.add_member(:role_arn, Shapes::ShapeRef.new(shape: String, location_name: "roleArn"))
844
860
  Service.add_member(:events, Shapes::ShapeRef.new(shape: ServiceEvents, location_name: "events"))
@@ -848,6 +864,7 @@ module Aws::ECS
848
864
  Service.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
849
865
  Service.add_member(:health_check_grace_period_seconds, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "healthCheckGracePeriodSeconds"))
850
866
  Service.add_member(:scheduling_strategy, Shapes::ShapeRef.new(shape: SchedulingStrategy, location_name: "schedulingStrategy"))
867
+ Service.add_member(:deployment_controller, Shapes::ShapeRef.new(shape: DeploymentController, location_name: "deploymentController"))
851
868
  Service.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
852
869
  Service.add_member(:created_by, Shapes::ShapeRef.new(shape: String, location_name: "createdBy"))
853
870
  Service.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
@@ -1022,6 +1039,28 @@ module Aws::ECS
1022
1039
  TaskOverride.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
1023
1040
  TaskOverride.struct_class = Types::TaskOverride
1024
1041
 
1042
+ TaskSet.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
1043
+ TaskSet.add_member(:task_set_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskSetArn"))
1044
+ TaskSet.add_member(:started_by, Shapes::ShapeRef.new(shape: String, location_name: "startedBy"))
1045
+ TaskSet.add_member(:external_id, Shapes::ShapeRef.new(shape: String, location_name: "externalId"))
1046
+ TaskSet.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
1047
+ TaskSet.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
1048
+ TaskSet.add_member(:computed_desired_count, Shapes::ShapeRef.new(shape: Integer, location_name: "computedDesiredCount"))
1049
+ TaskSet.add_member(:pending_count, Shapes::ShapeRef.new(shape: Integer, location_name: "pendingCount"))
1050
+ TaskSet.add_member(:running_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningCount"))
1051
+ TaskSet.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1052
+ TaskSet.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt"))
1053
+ TaskSet.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1054
+ TaskSet.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1055
+ TaskSet.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1056
+ TaskSet.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
1057
+ TaskSet.add_member(:scale, Shapes::ShapeRef.new(shape: Scale, location_name: "scale"))
1058
+ TaskSet.add_member(:stability_status, Shapes::ShapeRef.new(shape: StabilityStatus, location_name: "stabilityStatus"))
1059
+ TaskSet.add_member(:stability_status_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "stabilityStatusAt"))
1060
+ TaskSet.struct_class = Types::TaskSet
1061
+
1062
+ TaskSets.member = Shapes::ShapeRef.new(shape: TaskSet)
1063
+
1025
1064
  Tasks.member = Shapes::ShapeRef.new(shape: Task)
1026
1065
 
1027
1066
  Tmpfs.add_member(:container_path, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerPath"))
@@ -141,8 +141,8 @@ module Aws::ECS
141
141
  # @!attribute [rw] security_groups
142
142
  # The security groups associated with the task or service. If you do
143
143
  # not specify a security group, the default security group for the VPC
144
- # is used. There is a limit of 5 security groups able to be specified
145
- # per `AwsVpcConfiguration`.
144
+ # is used. There is a limit of five security groups able to be
145
+ # specified per `AwsVpcConfiguration`.
146
146
  #
147
147
  # <note markdown="1"> All specified security groups must be from the same VPC.
148
148
  #
@@ -540,7 +540,7 @@ module Aws::ECS
540
540
  # * **Agent versions less than or equal to 1.1.0:** Null and zero CPU
541
541
  # values are passed to Docker as 0, which Docker then converts to
542
542
  # 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which
543
- # the Linux kernel converts to 2 CPU shares.
543
+ # the Linux kernel converts to two CPU shares.
544
544
  #
545
545
  # * **Agent versions greater than or equal to 1.2.0:** Null, zero, and
546
546
  # CPU values of 1 are passed to Docker as 2.
@@ -1531,6 +1531,9 @@ module Aws::ECS
1531
1531
  # },
1532
1532
  # health_check_grace_period_seconds: 1,
1533
1533
  # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
1534
+ # deployment_controller: {
1535
+ # type: "ECS", # required, accepts ECS, CODE_DEPLOY
1536
+ # },
1534
1537
  # tags: [
1535
1538
  # {
1536
1539
  # key: "TagKey",
@@ -1563,10 +1566,28 @@ module Aws::ECS
1563
1566
  #
1564
1567
  # @!attribute [rw] load_balancers
1565
1568
  # A load balancer object representing the load balancer to use with
1566
- # your service. Currently, you are limited to one load balancer or
1567
- # target group per service. After you create a service, the load
1568
- # balancer name or target group ARN, container name, and container
1569
- # port specified in the service definition are immutable.
1569
+ # your service.
1570
+ #
1571
+ # If the service is using the `ECS` deployment controller, you are
1572
+ # limited to one load balancer or target group.
1573
+ #
1574
+ # If the service is using the `CODE_DEPLOY` deployment controller, the
1575
+ # service is required to use either an Application Load Balancer or
1576
+ # Network Load Balancer. When creating an AWS CodeDeploy deployment
1577
+ # group, you specify two target groups (referred to as a
1578
+ # `targetGroupPair`). During a deployment, AWS CodeDeploy determines
1579
+ # which task set in your service has the status `PRIMARY` and
1580
+ # associates one target group with it, and then associates the other
1581
+ # target group with the replacement task set. The load balancer can
1582
+ # also have up to two listeners: a required listener for production
1583
+ # traffic and an optional listener that allows you perform validation
1584
+ # tests with Lambda functions before routing production traffic to it.
1585
+ #
1586
+ # After you create a service using the `ECS` deployment controller,
1587
+ # the load balancer name or target group ARN, container name, and
1588
+ # container port specified in the service definition are immutable. If
1589
+ # you are using the `CODE_DEPLOY` deployment controller, these values
1590
+ # can be changed when updating the service.
1570
1591
  #
1571
1592
  # For Classic Load Balancers, this object must contain the load
1572
1593
  # balancer name, the container name (as it appears in a container
@@ -1619,12 +1640,26 @@ module Aws::ECS
1619
1640
  # @return [String]
1620
1641
  #
1621
1642
  # @!attribute [rw] launch_type
1622
- # The launch type on which to run your service.
1643
+ # The launch type on which to run your service. For more information,
1644
+ # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
1645
+ # Service Developer Guide*.
1646
+ #
1647
+ #
1648
+ #
1649
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
1623
1650
  # @return [String]
1624
1651
  #
1625
1652
  # @!attribute [rw] platform_version
1626
- # The platform version on which to run your service. If one is not
1627
- # specified, the latest version is used by default.
1653
+ # The platform version on which your tasks in the service are running.
1654
+ # A platform version is only specified for tasks using the Fargate
1655
+ # launch type. If one is not specified, the `LATEST` platform version
1656
+ # is used by default. For more information, see [AWS Fargate Platform
1657
+ # Versions][1] in the *Amazon Elastic Container Service Developer
1658
+ # Guide*.
1659
+ #
1660
+ #
1661
+ #
1662
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
1628
1663
  # @return [String]
1629
1664
  #
1630
1665
  # @!attribute [rw] role
@@ -1695,7 +1730,7 @@ module Aws::ECS
1695
1730
  # your service is configured to use a load balancer. If your
1696
1731
  # service's tasks take a while to start and respond to Elastic Load
1697
1732
  # Balancing health checks, you can specify a health check grace period
1698
- # of up to 7,200 seconds during which the ECS service scheduler
1733
+ # of up to 7,200 seconds. During that time, the ECS service scheduler
1699
1734
  # ignores health check status. This grace period can prevent the ECS
1700
1735
  # service scheduler from marking tasks as unhealthy and stopping them
1701
1736
  # before they have time to come up.
@@ -1711,7 +1746,8 @@ module Aws::ECS
1711
1746
  # desired number of tasks across your cluster. By default, the
1712
1747
  # service scheduler spreads tasks across Availability Zones. You can
1713
1748
  # use task placement strategies and constraints to customize task
1714
- # placement decisions.
1749
+ # placement decisions. This scheduler strategy is required if using
1750
+ # the `CODE_DEPLOY` deployment controller.
1715
1751
  #
1716
1752
  # * `DAEMON`-The daemon scheduling strategy deploys exactly one task
1717
1753
  # on each active container instance that meets all of the task
@@ -1720,15 +1756,21 @@ module Aws::ECS
1720
1756
  # number of tasks, a task placement strategy, or use Service Auto
1721
1757
  # Scaling policies.
1722
1758
  #
1723
- # <note markdown="1"> Fargate tasks do not support the `DAEMON` scheduling strategy.
1759
+ # <note markdown="1"> Tasks using the Fargate launch type or the `CODE_DEPLOY`
1760
+ # deploymenet controller do not support the `DAEMON` scheduling
1761
+ # strategy.
1724
1762
  #
1725
1763
  # </note>
1726
1764
  #
1727
1765
  #
1728
1766
  #
1729
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideecs_services.html
1767
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html
1730
1768
  # @return [String]
1731
1769
  #
1770
+ # @!attribute [rw] deployment_controller
1771
+ # The deployment controller to use for the service.
1772
+ # @return [Types::DeploymentController]
1773
+ #
1732
1774
  # @!attribute [rw] tags
1733
1775
  # The metadata that you apply to the service to help you categorize
1734
1776
  # and organize them. Each tag consists of a key and an optional value,
@@ -1776,6 +1818,7 @@ module Aws::ECS
1776
1818
  :network_configuration,
1777
1819
  :health_check_grace_period_seconds,
1778
1820
  :scheduling_strategy,
1821
+ :deployment_controller,
1779
1822
  :tags,
1780
1823
  :enable_ecs_managed_tags,
1781
1824
  :propagate_tags)
@@ -1784,6 +1827,15 @@ module Aws::ECS
1784
1827
 
1785
1828
  # @!attribute [rw] service
1786
1829
  # The full description of your service following the create call.
1830
+ #
1831
+ # If a service is using the `ECS` deployment controller, the
1832
+ # `deploymentController` and `taskSets` parameters will not be
1833
+ # returned.
1834
+ #
1835
+ # If the service is using the `CODE_DEPLOY` deployment controller, the
1836
+ # `deploymentController`, `taskSets` and `deployments` parameters will
1837
+ # be returned, however the `deployments` parameter will be an empty
1838
+ # list.
1787
1839
  # @return [Types::Service]
1788
1840
  #
1789
1841
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceResponse AWS API Documentation
@@ -1962,23 +2014,33 @@ module Aws::ECS
1962
2014
  include Aws::Structure
1963
2015
  end
1964
2016
 
1965
- # The details of an Amazon ECS service deployment.
2017
+ # The details of an Amazon ECS service deployment. This is used when a
2018
+ # service uses the `CODE_DEPLOY` deployment controller type.
1966
2019
  #
1967
2020
  # @!attribute [rw] id
1968
2021
  # The ID of the deployment.
1969
2022
  # @return [String]
1970
2023
  #
1971
2024
  # @!attribute [rw] status
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.
2025
+ # The status of the deployment. The following describes each state:
2026
+ #
2027
+ # PRIMARY
2028
+ #
2029
+ # : The most recent deployment of a service.
2030
+ #
2031
+ # ACTIVE
2032
+ #
2033
+ # : A service deployment that still has running tasks, but are in the
2034
+ # process of being replaced with a new `PRIMARY` deployment.
2035
+ #
2036
+ # INACTIVE
2037
+ #
2038
+ # : A deployment that has been completely replaced.
1977
2039
  # @return [String]
1978
2040
  #
1979
2041
  # @!attribute [rw] task_definition
1980
- # The most recent task definition that was specified for the service
1981
- # to use.
2042
+ # The most recent task definition that was specified for the tasks in
2043
+ # the service to use.
1982
2044
  # @return [String]
1983
2045
  #
1984
2046
  # @!attribute [rw] desired_count
@@ -1997,19 +2059,34 @@ module Aws::ECS
1997
2059
  # @return [Integer]
1998
2060
  #
1999
2061
  # @!attribute [rw] created_at
2000
- # The Unix timestamp for when the service was created.
2062
+ # The Unix timestamp for when the service deployment was created.
2001
2063
  # @return [Time]
2002
2064
  #
2003
2065
  # @!attribute [rw] updated_at
2004
- # The Unix timestamp for when the service was last updated.
2066
+ # The Unix timestamp for when the service deployment was last updated.
2005
2067
  # @return [Time]
2006
2068
  #
2007
2069
  # @!attribute [rw] launch_type
2008
- # The launch type on which your service is running.
2070
+ # The launch type the tasks in the service are using. For more
2071
+ # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
2072
+ # Container Service Developer Guide*.
2073
+ #
2074
+ #
2075
+ #
2076
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
2009
2077
  # @return [String]
2010
2078
  #
2011
2079
  # @!attribute [rw] platform_version
2012
- # The platform version on which your service is running.
2080
+ # The platform version on which your tasks in the service are running.
2081
+ # A platform version is only specified for tasks using the Fargate
2082
+ # launch type. If one is not specified, the `LATEST` platform version
2083
+ # is used by default. For more information, see [AWS Fargate Platform
2084
+ # Versions][1] in the *Amazon Elastic Container Service Developer
2085
+ # Guide*.
2086
+ #
2087
+ #
2088
+ #
2089
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
2013
2090
  # @return [String]
2014
2091
  #
2015
2092
  # @!attribute [rw] network_configuration
@@ -2047,20 +2124,55 @@ module Aws::ECS
2047
2124
  # }
2048
2125
  #
2049
2126
  # @!attribute [rw] maximum_percent
2050
- # The upper limit (as a percentage of the service's `desiredCount`)
2051
- # of the number of tasks that are allowed in the `RUNNING` or
2052
- # `PENDING` state in a service during a deployment. The maximum number
2053
- # of tasks during a deployment is the `desiredCount` multiplied by
2054
- # `maximumPercent`/100, rounded down to the nearest integer value.
2127
+ # If a service is using the rolling update (`ECS`) deployment type,
2128
+ # the **maximum percent** parameter represents an upper limit on the
2129
+ # number of tasks in a service that are allowed in the `RUNNING` or
2130
+ # `PENDING` state during a deployment, as a percentage of the desired
2131
+ # number of tasks (rounded down to the nearest integer), and while any
2132
+ # container instances are in the `DRAINING` state if the service
2133
+ # contains tasks using the EC2 launch type. This parameter enables you
2134
+ # to define the deployment batch size. For example, if your service
2135
+ # has a desired number of four tasks and a maximum percent value of
2136
+ # 200%, the scheduler may start four new tasks before stopping the
2137
+ # four older tasks (provided that the cluster resources required to do
2138
+ # this are available). The default value for maximum percent is 200%.
2139
+ #
2140
+ # If a service is using the blue/green (`CODE_DEPLOY`) deployment type
2141
+ # and tasks that use the EC2 launch type, the **maximum percent**
2142
+ # value is set to the default value and is used to define the upper
2143
+ # limit on the number of the tasks in the service that remain in the
2144
+ # `RUNNING` state while the container instances are in the `DRAINING`
2145
+ # state. If the tasks in the service use the Fargate launch type, the
2146
+ # maximum percent value is not used, although it is returned when
2147
+ # describing your service.
2055
2148
  # @return [Integer]
2056
2149
  #
2057
2150
  # @!attribute [rw] minimum_healthy_percent
2058
- # The lower limit (as a percentage of the service's `desiredCount`)
2059
- # of the number of running tasks that must remain in the `RUNNING`
2060
- # state in a service during a deployment. The minimum number of
2061
- # healthy tasks during a deployment is the `desiredCount` multiplied
2062
- # by `minimumHealthyPercent`/100, rounded up to the nearest integer
2063
- # value.
2151
+ # If a service is using the rolling update (`ECS`) deployment type,
2152
+ # the **minimum healthy percent** represents a lower limit on the
2153
+ # number of tasks in a service that must remain in the `RUNNING` state
2154
+ # during a deployment, as a percentage of the desired number of tasks
2155
+ # (rounded up to the nearest integer), and while any container
2156
+ # instances are in the `DRAINING` state if the service contains tasks
2157
+ # using the EC2 launch type. This parameter enables you to deploy
2158
+ # without using additional cluster capacity. For example, if your
2159
+ # service has a desired number of four tasks and a minimum healthy
2160
+ # percent of 50%, the scheduler may stop two existing tasks to free up
2161
+ # cluster capacity before starting two new tasks. Tasks for services
2162
+ # that *do not* use a load balancer are considered healthy if they are
2163
+ # in the `RUNNING` state; tasks for services that *do* use a load
2164
+ # balancer are considered healthy if they are in the `RUNNING` state
2165
+ # and they are reported as healthy by the load balancer. The default
2166
+ # value for minimum healthy percent is 100%.
2167
+ #
2168
+ # If a service is using the blue/green (`CODE_DEPLOY`) deployment type
2169
+ # and tasks that use the EC2 launch type, the **minimum healthy
2170
+ # percent** value is set to the default value and is used to define
2171
+ # the lower limit on the number of the tasks in the service that
2172
+ # remain in the `RUNNING` state while the container instances are in
2173
+ # the `DRAINING` state. If the tasks in the service use the Fargate
2174
+ # launch type, the minimum healthy percent value is not used, although
2175
+ # it is returned when describing your service.
2064
2176
  # @return [Integer]
2065
2177
  #
2066
2178
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration AWS API Documentation
@@ -2071,6 +2183,56 @@ module Aws::ECS
2071
2183
  include Aws::Structure
2072
2184
  end
2073
2185
 
2186
+ # The deployment controller to use for the service. For more
2187
+ # information, see [Amazon ECS Deployment Types][1] in the *Amazon
2188
+ # Elastic Container Service Developer Guide*.
2189
+ #
2190
+ #
2191
+ #
2192
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html
2193
+ #
2194
+ # @note When making an API call, you may pass DeploymentController
2195
+ # data as a hash:
2196
+ #
2197
+ # {
2198
+ # type: "ECS", # required, accepts ECS, CODE_DEPLOY
2199
+ # }
2200
+ #
2201
+ # @!attribute [rw] type
2202
+ # The deployment controller type to use.
2203
+ #
2204
+ # There are two deployment controller types available:
2205
+ #
2206
+ # ECS
2207
+ #
2208
+ # : The rolling update (`ECS`) deployment type involves replacing the
2209
+ # current running version of the container with the latest version.
2210
+ # The number of containers Amazon ECS adds or removes from the
2211
+ # service during a rolling update is controlled by adjusting the
2212
+ # minimum and maximum number of healthy tasks allowed during a
2213
+ # service deployment, as specified in the DeploymentConfiguration.
2214
+ #
2215
+ # CODE\_DEPLOY
2216
+ #
2217
+ # : The blue/green (`CODE_DEPLOY`) deployment type uses the blue/green
2218
+ # deployment model powered by AWS CodeDeploy, which allows you to
2219
+ # verify a new deployment of a service before sending production
2220
+ # traffic to it. For more information, see [Amazon ECS Deployment
2221
+ # Types][1] in the *Amazon Elastic Container Service Developer
2222
+ # Guide*.
2223
+ #
2224
+ #
2225
+ #
2226
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html
2227
+ # @return [String]
2228
+ #
2229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentController AWS API Documentation
2230
+ #
2231
+ class DeploymentController < Struct.new(
2232
+ :type)
2233
+ include Aws::Structure
2234
+ end
2235
+
2074
2236
  # @note When making an API call, you may pass DeregisterContainerInstanceRequest
2075
2237
  # data as a hash:
2076
2238
  #
@@ -3742,6 +3904,19 @@ module Aws::ECS
3742
3904
 
3743
3905
  # Details on a load balancer that is used with a service.
3744
3906
  #
3907
+ # If the service is using the `ECS` deployment controller, you are
3908
+ # limited to one load balancer or target group.
3909
+ #
3910
+ # If the service is using the `CODE_DEPLOY` deployment controller, the
3911
+ # service is required to use either an Application Load Balancer or
3912
+ # Network Load Balancer. When you are creating an AWS CodeDeploy
3913
+ # deployment group, you specify two target groups (referred to as a
3914
+ # `targetGroupPair`). Each target group binds to a separate task set in
3915
+ # the deployment. The load balancer can also have up to two listeners, a
3916
+ # required listener for production traffic and an optional listener that
3917
+ # allows you to test new revisions of the service before routing
3918
+ # production traffic to it.
3919
+ #
3745
3920
  # Services with tasks that use the `awsvpc` network mode (for example,
3746
3921
  # those with the Fargate launch type) only support Application Load
3747
3922
  # Balancers and Network Load Balancers. Classic Load Balancers are not
@@ -3762,7 +3937,10 @@ module Aws::ECS
3762
3937
  #
3763
3938
  # @!attribute [rw] target_group_arn
3764
3939
  # The full Amazon Resource Name (ARN) of the Elastic Load Balancing
3765
- # target group associated with a service.
3940
+ # target group or groups associated with a service. For services using
3941
+ # the `ECS` deployment controller, you are limited to one target
3942
+ # group. For services using the `CODE_DEPLOY` deployment controller,
3943
+ # you are required to define two target groups for the load balancer.
3766
3944
  #
3767
3945
  # If your service's task definition uses the `awsvpc` network mode
3768
3946
  # (which is required for the Fargate launch type), you must choose
@@ -4152,10 +4330,10 @@ module Aws::ECS
4152
4330
  # host port that was previously specified in a running task is also
4153
4331
  # reserved while the task is running (after a task stops, the host
4154
4332
  # port is released). The current reserved ports are displayed in the
4155
- # `remainingResources` of DescribeContainerInstances output, and a
4333
+ # `remainingResources` of DescribeContainerInstances output. A
4156
4334
  # container instance may have up to 100 reserved ports at a time,
4157
- # including the default reserved ports (automatically assigned ports
4158
- # do not count toward the 100 reserved ports limit).
4335
+ # including the default reserved ports. Aautomatically assigned ports
4336
+ # do not count toward the 100 reserved ports limit.
4159
4337
  # @return [Integer]
4160
4338
  #
4161
4339
  # @!attribute [rw] protocol
@@ -4784,7 +4962,7 @@ module Aws::ECS
4784
4962
  #
4785
4963
  # [1]: https://docs.docker.com/engine/reference/run/#ipc-settings---ipc
4786
4964
  # [2]: https://docs.docker.com/engine/security/security/
4787
- # [3]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask_definition_parameters.html
4965
+ # [3]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html
4788
4966
  # @return [String]
4789
4967
  #
4790
4968
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest AWS API Documentation
@@ -5030,12 +5208,25 @@ module Aws::ECS
5030
5208
  # @return [Array<Types::PlacementStrategy>]
5031
5209
  #
5032
5210
  # @!attribute [rw] launch_type
5033
- # The launch type on which to run your task.
5211
+ # The launch type on which to run your task. For more information, see
5212
+ # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
5213
+ # Service Developer Guide*.
5214
+ #
5215
+ #
5216
+ #
5217
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
5034
5218
  # @return [String]
5035
5219
  #
5036
5220
  # @!attribute [rw] platform_version
5037
- # The platform version on which to run your task. If one is not
5038
- # specified, the latest version is used by default.
5221
+ # The platform version the task should run. A platform version is only
5222
+ # specified for tasks using the Fargate launch type. If one is not
5223
+ # specified, the `LATEST` platform version is used by default. For
5224
+ # more information, see [AWS Fargate Platform Versions][1] in the
5225
+ # *Amazon Elastic Container Service Developer Guide*.
5226
+ #
5227
+ #
5228
+ #
5229
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
5039
5230
  # @return [String]
5040
5231
  #
5041
5232
  # @!attribute [rw] network_configuration
@@ -5111,6 +5302,27 @@ module Aws::ECS
5111
5302
  include Aws::Structure
5112
5303
  end
5113
5304
 
5305
+ # A floating-point percentage of the desired number of tasks to place
5306
+ # and keep running in the service. This is used when a service uses the
5307
+ # `CODE_DEPLOY` deployment controller type.
5308
+ #
5309
+ # @!attribute [rw] value
5310
+ # The value, specified as a percent total of a service's
5311
+ # `desiredCount`, to scale the task set.
5312
+ # @return [Float]
5313
+ #
5314
+ # @!attribute [rw] unit
5315
+ # The unit of measure for the scale value.
5316
+ # @return [String]
5317
+ #
5318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Scale AWS API Documentation
5319
+ #
5320
+ class Scale < Struct.new(
5321
+ :value,
5322
+ :unit)
5323
+ include Aws::Structure
5324
+ end
5325
+
5114
5326
  # An object representing the secret to expose to your container.
5115
5327
  #
5116
5328
  # @note When making an API call, you may pass Secret
@@ -5172,9 +5384,9 @@ module Aws::ECS
5172
5384
  # those with the Fargate launch type) only support Application Load
5173
5385
  # Balancers and Network Load Balancers. Classic Load Balancers are not
5174
5386
  # supported. Also, when you create any target groups for these
5175
- # services, you must choose `ip` as the target type, not `instance`,
5176
- # because tasks that use the `awsvpc` network mode are associated with
5177
- # an elastic network interface, not an Amazon EC2 instance.
5387
+ # services, you must choose `ip` as the target type, not `instance`.
5388
+ # Tasks that use the `awsvpc` network mode are associated with an
5389
+ # elastic network interface, not an Amazon EC2 instance.
5178
5390
  # @return [Array<Types::LoadBalancer>]
5179
5391
  #
5180
5392
  # @!attribute [rw] service_registries
@@ -5201,13 +5413,22 @@ module Aws::ECS
5201
5413
  # @return [Integer]
5202
5414
  #
5203
5415
  # @!attribute [rw] launch_type
5204
- # The launch type on which your service is running.
5416
+ # The launch type on which your service is running. For more
5417
+ # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
5418
+ # Container Service Developer Guide*.
5419
+ #
5420
+ #
5421
+ #
5422
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
5205
5423
  # @return [String]
5206
5424
  #
5207
5425
  # @!attribute [rw] platform_version
5208
- # The platform version on which your task is running. For more
5209
- # information, see [AWS Fargate Platform Versions][1] in the *Amazon
5210
- # Elastic Container Service Developer Guide*.
5426
+ # The platform version on which your tasks in the service are running.
5427
+ # A platform version is only specified for tasks using the Fargate
5428
+ # launch type. If one is not specified, the `LATEST` platform version
5429
+ # is used by default. For more information, see [AWS Fargate Platform
5430
+ # Versions][1] in the *Amazon Elastic Container Service Developer
5431
+ # Guide*.
5211
5432
  #
5212
5433
  #
5213
5434
  #
@@ -5226,6 +5447,13 @@ module Aws::ECS
5226
5447
  # tasks.
5227
5448
  # @return [Types::DeploymentConfiguration]
5228
5449
  #
5450
+ # @!attribute [rw] task_sets
5451
+ # Information about a set of Amazon ECS tasks in an AWS CodeDeploy
5452
+ # deployment. An Amazon ECS task set includes details such as the
5453
+ # desired number of tasks, how many tasks are running, and whether the
5454
+ # task set serves production traffic.
5455
+ # @return [Array<Types::TaskSet>]
5456
+ #
5229
5457
  # @!attribute [rw] deployments
5230
5458
  # The current state of deployments for the service.
5231
5459
  # @return [Array<Types::Deployment>]
@@ -5289,9 +5517,13 @@ module Aws::ECS
5289
5517
  #
5290
5518
  #
5291
5519
  #
5292
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideecs_services.html
5520
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html
5293
5521
  # @return [String]
5294
5522
  #
5523
+ # @!attribute [rw] deployment_controller
5524
+ # The deployment controller type the service is using.
5525
+ # @return [Types::DeploymentController]
5526
+ #
5295
5527
  # @!attribute [rw] tags
5296
5528
  # The metadata that you apply to the service to help you categorize
5297
5529
  # and organize them. Each tag consists of a key and an optional value,
@@ -5337,6 +5569,7 @@ module Aws::ECS
5337
5569
  :platform_version,
5338
5570
  :task_definition,
5339
5571
  :deployment_configuration,
5572
+ :task_sets,
5340
5573
  :deployments,
5341
5574
  :role_arn,
5342
5575
  :events,
@@ -5346,6 +5579,7 @@ module Aws::ECS
5346
5579
  :network_configuration,
5347
5580
  :health_check_grace_period_seconds,
5348
5581
  :scheduling_strategy,
5582
+ :deployment_controller,
5349
5583
  :tags,
5350
5584
  :created_by,
5351
5585
  :enable_ecs_managed_tags,
@@ -5881,7 +6115,7 @@ module Aws::ECS
5881
6115
  # }
5882
6116
  #
5883
6117
  # @!attribute [rw] namespace
5884
- # The namespaced kernel parameter to set a `value` for.
6118
+ # The namespaced kernel parameter for which to set a `value`.
5885
6119
  # @return [String]
5886
6120
  #
5887
6121
  # @!attribute [rw] value
@@ -6085,13 +6319,13 @@ module Aws::ECS
6085
6319
  # change that triggers a CloudWatch event, the version counter is
6086
6320
  # incremented. If you are replicating your Amazon ECS task state with
6087
6321
  # CloudWatch Events, you can compare the version of a task reported by
6088
- # the Amazon ECS APIs with the version reported in CloudWatch Events
6089
- # for the task (inside the `detail` object) to verify that the version
6090
- # in your event stream is current.
6322
+ # the Amazon ECS API actionss with the version reported in CloudWatch
6323
+ # Events for the task (inside the `detail` object) to verify that the
6324
+ # version in your event stream is current.
6091
6325
  # @return [Integer]
6092
6326
  #
6093
6327
  # @!attribute [rw] stopped_reason
6094
- # The reason the task was stopped.
6328
+ # The reason that the task was stopped.
6095
6329
  # @return [String]
6096
6330
  #
6097
6331
  # @!attribute [rw] stop_code
@@ -6145,13 +6379,22 @@ module Aws::ECS
6145
6379
  # @return [String]
6146
6380
  #
6147
6381
  # @!attribute [rw] launch_type
6148
- # The launch type on which your task is running.
6382
+ # The launch type on which your task is running. For more information,
6383
+ # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
6384
+ # Service Developer Guide*.
6385
+ #
6386
+ #
6387
+ #
6388
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
6149
6389
  # @return [String]
6150
6390
  #
6151
6391
  # @!attribute [rw] platform_version
6152
- # The platform version on which your task is running. For more
6153
- # information, see [AWS Fargate Platform Versions][1] in the *Amazon
6154
- # Elastic Container Service Developer Guide*.
6392
+ # The platform version on which your task is running. A platform
6393
+ # version is only specified for tasks using the Fargate launch type.
6394
+ # If one is not specified, the `LATEST` platform version is used by
6395
+ # default. For more information, see [AWS Fargate Platform
6396
+ # Versions][1] in the *Amazon Elastic Container Service Developer
6397
+ # Guide*.
6155
6398
  #
6156
6399
  #
6157
6400
  #
@@ -6322,9 +6565,9 @@ module Aws::ECS
6322
6565
  # The revision of the task in a particular family. The revision is a
6323
6566
  # version number of a task definition in a family. When you register a
6324
6567
  # task definition for the first time, the revision is `1`. Each time
6325
- # you register a new revision of a task definition in the same family,
6326
- # the revision value always increases by one (even if you have
6327
- # deregistered previous revisions in this family).
6568
+ # that you register a new revision of a task definition in the same
6569
+ # family, the revision value always increases by one, even if you have
6570
+ # deregistered previous revisions in this family.
6328
6571
  # @return [Integer]
6329
6572
  #
6330
6573
  # @!attribute [rw] volumes
@@ -6348,12 +6591,13 @@ module Aws::ECS
6348
6591
  #
6349
6592
  # @!attribute [rw] requires_attributes
6350
6593
  # The container instance attributes required by your task. This field
6351
- # is not valid if using the Fargate launch type for your task.
6594
+ # is not valid if you are using the Fargate launch type for your task.
6352
6595
  # @return [Array<Types::Attribute>]
6353
6596
  #
6354
6597
  # @!attribute [rw] placement_constraints
6355
6598
  # An array of placement constraint objects to use for tasks. This
6356
- # field is not valid if using the Fargate launch type for your task.
6599
+ # field is not valid if you are using the Fargate launch type for your
6600
+ # task.
6357
6601
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
6358
6602
  #
6359
6603
  # @!attribute [rw] compatibilities
@@ -6367,7 +6611,7 @@ module Aws::ECS
6367
6611
  # @return [Array<String>]
6368
6612
  #
6369
6613
  # @!attribute [rw] requires_compatibilities
6370
- # The launch type the task is using.
6614
+ # The launch type that the task is using.
6371
6615
  # @return [Array<String>]
6372
6616
  #
6373
6617
  # @!attribute [rw] cpu
@@ -6481,7 +6725,7 @@ module Aws::ECS
6481
6725
  #
6482
6726
  # [1]: https://docs.docker.com/engine/reference/run/#ipc-settings---ipc
6483
6727
  # [2]: https://docs.docker.com/engine/security/security/
6484
- # [3]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask_definition_parameters.html
6728
+ # [3]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html
6485
6729
  # @return [String]
6486
6730
  #
6487
6731
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
@@ -6602,6 +6846,163 @@ module Aws::ECS
6602
6846
  include Aws::Structure
6603
6847
  end
6604
6848
 
6849
+ # Information about a set of Amazon ECS tasks in an AWS CodeDeploy
6850
+ # deployment. An Amazon ECS task set includes details such as the
6851
+ # desired number of tasks, how many tasks are running, and whether the
6852
+ # task set serves production traffic.
6853
+ #
6854
+ # @!attribute [rw] id
6855
+ # The ID of the task set.
6856
+ # @return [String]
6857
+ #
6858
+ # @!attribute [rw] task_set_arn
6859
+ # The Amazon Resource Name (ARN) of the task set.
6860
+ # @return [String]
6861
+ #
6862
+ # @!attribute [rw] started_by
6863
+ # The tag specified when a task set is started. If the task is started
6864
+ # by an AWS CodeDeploy deployment, then the `startedBy` parameter is
6865
+ # `CODE_DEPLOY`.
6866
+ # @return [String]
6867
+ #
6868
+ # @!attribute [rw] external_id
6869
+ # The deployment ID of the AWS CodeDeploy deployment.
6870
+ # @return [String]
6871
+ #
6872
+ # @!attribute [rw] status
6873
+ # The status of the task set. The following describes each state:
6874
+ #
6875
+ # PRIMARY
6876
+ #
6877
+ # : The task set is serving production traffic.
6878
+ #
6879
+ # ACTIVE
6880
+ #
6881
+ # : The task set is not serving production traffic.
6882
+ #
6883
+ # DRAINING
6884
+ #
6885
+ # : The tasks in the task set are being stopped and their
6886
+ # corresponding targets are being deregistered from their target
6887
+ # group.
6888
+ # @return [String]
6889
+ #
6890
+ # @!attribute [rw] task_definition
6891
+ # The task definition the task set is using.
6892
+ # @return [String]
6893
+ #
6894
+ # @!attribute [rw] computed_desired_count
6895
+ # The computed desired count for the task set. This is calculated by
6896
+ # multiplying the service's `desiredCount` by the task set's `scale`
6897
+ # percentage.
6898
+ # @return [Integer]
6899
+ #
6900
+ # @!attribute [rw] pending_count
6901
+ # The number of tasks in the task set that are in the `PENDING` status
6902
+ # during a deployment. A task in the `PENDING` state is preparing to
6903
+ # enter the `RUNNING` state. A task set enters the `PENDING` status
6904
+ # when it launches for the first time, or when it is restarted after
6905
+ # being in the `STOPPED` state.
6906
+ # @return [Integer]
6907
+ #
6908
+ # @!attribute [rw] running_count
6909
+ # The number of tasks in the task set that are in the `RUNNING` status
6910
+ # during a deployment. A task in the `RUNNING` state is running and
6911
+ # ready for use.
6912
+ # @return [Integer]
6913
+ #
6914
+ # @!attribute [rw] created_at
6915
+ # The Unix timestamp for when the task set was created.
6916
+ # @return [Time]
6917
+ #
6918
+ # @!attribute [rw] updated_at
6919
+ # The Unix timestamp for when the task set was last updated.
6920
+ # @return [Time]
6921
+ #
6922
+ # @!attribute [rw] launch_type
6923
+ # The launch type the tasks in the task set are using. For more
6924
+ # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
6925
+ # Container Service Developer Guide*.
6926
+ #
6927
+ #
6928
+ #
6929
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
6930
+ # @return [String]
6931
+ #
6932
+ # @!attribute [rw] platform_version
6933
+ # The platform version on which the tasks in the task set are running.
6934
+ # A platform version is only specified for tasks using the Fargate
6935
+ # launch type. If one is not specified, the `LATEST` platform version
6936
+ # is used by default. For more information, see [AWS Fargate Platform
6937
+ # Versions][1] in the *Amazon Elastic Container Service Developer
6938
+ # Guide*.
6939
+ #
6940
+ #
6941
+ #
6942
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
6943
+ # @return [String]
6944
+ #
6945
+ # @!attribute [rw] network_configuration
6946
+ # The network configuration for the task set.
6947
+ # @return [Types::NetworkConfiguration]
6948
+ #
6949
+ # @!attribute [rw] load_balancers
6950
+ # Details on a load balancer that is used with a task set.
6951
+ # @return [Array<Types::LoadBalancer>]
6952
+ #
6953
+ # @!attribute [rw] scale
6954
+ # A floating-point percentage of the desired number of tasks to place
6955
+ # and keep running in the service.
6956
+ # @return [Types::Scale]
6957
+ #
6958
+ # @!attribute [rw] stability_status
6959
+ # The stability status, which indicates whether the task set has
6960
+ # reached a steady state. If the following conditions are met, the
6961
+ # task set will be in `STEADY_STATE`\:
6962
+ #
6963
+ # * The task `runningCount` is equal to the `computedDesiredCount`.
6964
+ #
6965
+ # * The `pendingCount` is `0`.
6966
+ #
6967
+ # * There are no tasks running on container instances in the
6968
+ # `DRAINING` status.
6969
+ #
6970
+ # * All tasks are reporting a healthy status from the load balancers,
6971
+ # service discovery, and container health checks.
6972
+ #
6973
+ # If any of those conditions are not met, the stability status returns
6974
+ # `STABILIZING`.
6975
+ # @return [String]
6976
+ #
6977
+ # @!attribute [rw] stability_status_at
6978
+ # The Unix timestamp for when the task set stability status was
6979
+ # retrieved.
6980
+ # @return [Time]
6981
+ #
6982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskSet AWS API Documentation
6983
+ #
6984
+ class TaskSet < Struct.new(
6985
+ :id,
6986
+ :task_set_arn,
6987
+ :started_by,
6988
+ :external_id,
6989
+ :status,
6990
+ :task_definition,
6991
+ :computed_desired_count,
6992
+ :pending_count,
6993
+ :running_count,
6994
+ :created_at,
6995
+ :updated_at,
6996
+ :launch_type,
6997
+ :platform_version,
6998
+ :network_configuration,
6999
+ :load_balancers,
7000
+ :scale,
7001
+ :stability_status,
7002
+ :stability_status_at)
7003
+ include Aws::Structure
7004
+ end
7005
+
6605
7006
  # The container path, mount options, and size of the tmpfs mount.
6606
7007
  #
6607
7008
  # @note When making an API call, you may pass Tmpfs
@@ -6868,7 +7269,16 @@ module Aws::ECS
6868
7269
  # @return [Types::NetworkConfiguration]
6869
7270
  #
6870
7271
  # @!attribute [rw] platform_version
6871
- # The platform version that your service should run.
7272
+ # The platform version on which your tasks in the service are running.
7273
+ # A platform version is only specified for tasks using the Fargate
7274
+ # launch type. If one is not specified, the `LATEST` platform version
7275
+ # is used by default. For more information, see [AWS Fargate Platform
7276
+ # Versions][1] in the *Amazon Elastic Container Service Developer
7277
+ # Guide*.
7278
+ #
7279
+ #
7280
+ #
7281
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
6872
7282
  # @return [String]
6873
7283
  #
6874
7284
  # @!attribute [rw] force_new_deployment
@@ -6887,7 +7297,7 @@ module Aws::ECS
6887
7297
  # your service is configured to use a load balancer. If your
6888
7298
  # service's tasks take a while to start and respond to Elastic Load
6889
7299
  # Balancing health checks, you can specify a health check grace period
6890
- # of up to 1,800 seconds during which the ECS service scheduler
7300
+ # of up to 1,800 seconds. During that time, the ECS service scheduler
6891
7301
  # ignores the Elastic Load Balancing health check status. This grace
6892
7302
  # period can prevent the ECS service scheduler from marking tasks as
6893
7303
  # unhealthy and stopping them before they have time to come up.
@@ -6964,7 +7374,7 @@ module Aws::ECS
6964
7374
  #
6965
7375
  #
6966
7376
  #
6967
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideusing_data_volumes.html
7377
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html
6968
7378
  #
6969
7379
  # @note When making an API call, you may pass Volume
6970
7380
  # data as a hash:
@@ -7001,8 +7411,8 @@ module Aws::ECS
7001
7411
  # parameter determine whether your bind mount host volume persists on
7002
7412
  # the host container instance and where it is stored. If the `host`
7003
7413
  # parameter is empty, then the Docker daemon assigns a host path for
7004
- # your data volume, but the data is not guaranteed to persist after
7005
- # the containers associated with it stop running.
7414
+ # your data volume. However, the data is not guaranteed to persist
7415
+ # after the containers associated with it stop running.
7006
7416
  #
7007
7417
  # Windows containers can mount whole directories on the same drive as
7008
7418
  # `$env:ProgramData`. Windows containers cannot mount directories on a
@@ -7039,8 +7449,8 @@ module Aws::ECS
7039
7449
  # }
7040
7450
  #
7041
7451
  # @!attribute [rw] source_container
7042
- # The name of another container within the same task definition to
7043
- # mount volumes from.
7452
+ # The name of another container within the same task definition from
7453
+ # which to mount volumes.
7044
7454
  # @return [String]
7045
7455
  #
7046
7456
  # @!attribute [rw] read_only