aws-sdk-ecs 1.4.0 → 1.5.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.
@@ -11,7 +11,9 @@ module Aws::ECS
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
14
15
  AgentUpdateStatus = Shapes::StringShape.new(name: 'AgentUpdateStatus')
16
+ AssignPublicIp = Shapes::StringShape.new(name: 'AssignPublicIp')
15
17
  Attachment = Shapes::StructureShape.new(name: 'Attachment')
16
18
  AttachmentDetails = Shapes::ListShape.new(name: 'AttachmentDetails')
17
19
  AttachmentStateChange = Shapes::StructureShape.new(name: 'AttachmentStateChange')
@@ -21,6 +23,7 @@ module Aws::ECS
21
23
  AttributeLimitExceededException = Shapes::StructureShape.new(name: 'AttributeLimitExceededException')
22
24
  Attributes = Shapes::ListShape.new(name: 'Attributes')
23
25
  AwsVpcConfiguration = Shapes::StructureShape.new(name: 'AwsVpcConfiguration')
26
+ BlockedException = Shapes::StructureShape.new(name: 'BlockedException')
24
27
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
25
28
  BoxedBoolean = Shapes::BooleanShape.new(name: 'BoxedBoolean')
26
29
  BoxedInteger = Shapes::IntegerShape.new(name: 'BoxedInteger')
@@ -28,8 +31,14 @@ module Aws::ECS
28
31
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
29
32
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
30
33
  ClusterContainsServicesException = Shapes::StructureShape.new(name: 'ClusterContainsServicesException')
34
+ ClusterContainsTasksException = Shapes::StructureShape.new(name: 'ClusterContainsTasksException')
35
+ ClusterField = Shapes::StringShape.new(name: 'ClusterField')
36
+ ClusterFieldList = Shapes::ListShape.new(name: 'ClusterFieldList')
31
37
  ClusterNotFoundException = Shapes::StructureShape.new(name: 'ClusterNotFoundException')
32
38
  Clusters = Shapes::ListShape.new(name: 'Clusters')
39
+ Compatibility = Shapes::StringShape.new(name: 'Compatibility')
40
+ CompatibilityList = Shapes::ListShape.new(name: 'CompatibilityList')
41
+ Connectivity = Shapes::StringShape.new(name: 'Connectivity')
33
42
  Container = Shapes::StructureShape.new(name: 'Container')
34
43
  ContainerDefinition = Shapes::StructureShape.new(name: 'ContainerDefinition')
35
44
  ContainerDefinitions = Shapes::ListShape.new(name: 'ContainerDefinitions')
@@ -87,6 +96,7 @@ module Aws::ECS
87
96
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
88
97
  KernelCapabilities = Shapes::StructureShape.new(name: 'KernelCapabilities')
89
98
  KeyValuePair = Shapes::StructureShape.new(name: 'KeyValuePair')
99
+ LaunchType = Shapes::StringShape.new(name: 'LaunchType')
90
100
  LinuxParameters = Shapes::StructureShape.new(name: 'LinuxParameters')
91
101
  ListAttributesRequest = Shapes::StructureShape.new(name: 'ListAttributesRequest')
92
102
  ListAttributesResponse = Shapes::StructureShape.new(name: 'ListAttributesResponse')
@@ -124,6 +134,8 @@ module Aws::ECS
124
134
  PlacementStrategies = Shapes::ListShape.new(name: 'PlacementStrategies')
125
135
  PlacementStrategy = Shapes::StructureShape.new(name: 'PlacementStrategy')
126
136
  PlacementStrategyType = Shapes::StringShape.new(name: 'PlacementStrategyType')
137
+ PlatformTaskDefinitionIncompatibilityException = Shapes::StructureShape.new(name: 'PlatformTaskDefinitionIncompatibilityException')
138
+ PlatformUnknownException = Shapes::StructureShape.new(name: 'PlatformUnknownException')
127
139
  PortMapping = Shapes::StructureShape.new(name: 'PortMapping')
128
140
  PortMappingList = Shapes::ListShape.new(name: 'PortMappingList')
129
141
  PutAttributesRequest = Shapes::StructureShape.new(name: 'PutAttributesRequest')
@@ -147,6 +159,7 @@ module Aws::ECS
147
159
  SortOrder = Shapes::StringShape.new(name: 'SortOrder')
148
160
  StartTaskRequest = Shapes::StructureShape.new(name: 'StartTaskRequest')
149
161
  StartTaskResponse = Shapes::StructureShape.new(name: 'StartTaskResponse')
162
+ Statistics = Shapes::ListShape.new(name: 'Statistics')
150
163
  StopTaskRequest = Shapes::StructureShape.new(name: 'StopTaskRequest')
151
164
  StopTaskResponse = Shapes::StructureShape.new(name: 'StopTaskResponse')
152
165
  String = Shapes::StringShape.new(name: 'String')
@@ -171,6 +184,7 @@ module Aws::ECS
171
184
  Ulimit = Shapes::StructureShape.new(name: 'Ulimit')
172
185
  UlimitList = Shapes::ListShape.new(name: 'UlimitList')
173
186
  UlimitName = Shapes::StringShape.new(name: 'UlimitName')
187
+ UnsupportedFeatureException = Shapes::StructureShape.new(name: 'UnsupportedFeatureException')
174
188
  UpdateContainerAgentRequest = Shapes::StructureShape.new(name: 'UpdateContainerAgentRequest')
175
189
  UpdateContainerAgentResponse = Shapes::StructureShape.new(name: 'UpdateContainerAgentResponse')
176
190
  UpdateContainerInstancesStateRequest = Shapes::StructureShape.new(name: 'UpdateContainerInstancesStateRequest')
@@ -210,6 +224,7 @@ module Aws::ECS
210
224
 
211
225
  AwsVpcConfiguration.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
212
226
  AwsVpcConfiguration.add_member(:security_groups, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroups"))
227
+ AwsVpcConfiguration.add_member(:assign_public_ip, Shapes::ShapeRef.new(shape: AssignPublicIp, location_name: "assignPublicIp"))
213
228
  AwsVpcConfiguration.struct_class = Types::AwsVpcConfiguration
214
229
 
215
230
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
@@ -219,10 +234,15 @@ module Aws::ECS
219
234
  Cluster.add_member(:running_tasks_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningTasksCount"))
220
235
  Cluster.add_member(:pending_tasks_count, Shapes::ShapeRef.new(shape: Integer, location_name: "pendingTasksCount"))
221
236
  Cluster.add_member(:active_services_count, Shapes::ShapeRef.new(shape: Integer, location_name: "activeServicesCount"))
237
+ Cluster.add_member(:statistics, Shapes::ShapeRef.new(shape: Statistics, location_name: "statistics"))
222
238
  Cluster.struct_class = Types::Cluster
223
239
 
240
+ ClusterFieldList.member = Shapes::ShapeRef.new(shape: ClusterField)
241
+
224
242
  Clusters.member = Shapes::ShapeRef.new(shape: Cluster)
225
243
 
244
+ CompatibilityList.member = Shapes::ShapeRef.new(shape: Compatibility)
245
+
226
246
  Container.add_member(:container_arn, Shapes::ShapeRef.new(shape: String, location_name: "containerArn"))
227
247
  Container.add_member(:task_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskArn"))
228
248
  Container.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
@@ -315,6 +335,8 @@ module Aws::ECS
315
335
  CreateServiceRequest.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
316
336
  CreateServiceRequest.add_member(:desired_count, Shapes::ShapeRef.new(shape: BoxedInteger, required: true, location_name: "desiredCount"))
317
337
  CreateServiceRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
338
+ CreateServiceRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
339
+ CreateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
318
340
  CreateServiceRequest.add_member(:role, Shapes::ShapeRef.new(shape: String, location_name: "role"))
319
341
  CreateServiceRequest.add_member(:deployment_configuration, Shapes::ShapeRef.new(shape: DeploymentConfiguration, location_name: "deploymentConfiguration"))
320
342
  CreateServiceRequest.add_member(:placement_constraints, Shapes::ShapeRef.new(shape: PlacementConstraints, location_name: "placementConstraints"))
@@ -353,6 +375,8 @@ module Aws::ECS
353
375
  Deployment.add_member(:running_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningCount"))
354
376
  Deployment.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
355
377
  Deployment.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt"))
378
+ Deployment.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
379
+ Deployment.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
356
380
  Deployment.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
357
381
  Deployment.struct_class = Types::Deployment
358
382
 
@@ -377,6 +401,7 @@ module Aws::ECS
377
401
  DeregisterTaskDefinitionResponse.struct_class = Types::DeregisterTaskDefinitionResponse
378
402
 
379
403
  DescribeClustersRequest.add_member(:clusters, Shapes::ShapeRef.new(shape: StringList, location_name: "clusters"))
404
+ DescribeClustersRequest.add_member(:include, Shapes::ShapeRef.new(shape: ClusterFieldList, location_name: "include"))
380
405
  DescribeClustersRequest.struct_class = Types::DescribeClustersRequest
381
406
 
382
407
  DescribeClustersResponse.add_member(:clusters, Shapes::ShapeRef.new(shape: Clusters, location_name: "clusters"))
@@ -497,6 +522,7 @@ module Aws::ECS
497
522
  ListServicesRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
498
523
  ListServicesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
499
524
  ListServicesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maxResults"))
525
+ ListServicesRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
500
526
  ListServicesRequest.struct_class = Types::ListServicesRequest
501
527
 
502
528
  ListServicesResponse.add_member(:service_arns, Shapes::ShapeRef.new(shape: StringList, location_name: "serviceArns"))
@@ -532,6 +558,7 @@ module Aws::ECS
532
558
  ListTasksRequest.add_member(:started_by, Shapes::ShapeRef.new(shape: String, location_name: "startedBy"))
533
559
  ListTasksRequest.add_member(:service_name, Shapes::ShapeRef.new(shape: String, location_name: "serviceName"))
534
560
  ListTasksRequest.add_member(:desired_status, Shapes::ShapeRef.new(shape: DesiredStatus, location_name: "desiredStatus"))
561
+ ListTasksRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
535
562
  ListTasksRequest.struct_class = Types::ListTasksRequest
536
563
 
537
564
  ListTasksResponse.add_member(:task_arns, Shapes::ShapeRef.new(shape: StringList, location_name: "taskArns"))
@@ -618,10 +645,14 @@ module Aws::ECS
618
645
 
619
646
  RegisterTaskDefinitionRequest.add_member(:family, Shapes::ShapeRef.new(shape: String, required: true, location_name: "family"))
620
647
  RegisterTaskDefinitionRequest.add_member(:task_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskRoleArn"))
648
+ RegisterTaskDefinitionRequest.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
621
649
  RegisterTaskDefinitionRequest.add_member(:network_mode, Shapes::ShapeRef.new(shape: NetworkMode, location_name: "networkMode"))
622
650
  RegisterTaskDefinitionRequest.add_member(:container_definitions, Shapes::ShapeRef.new(shape: ContainerDefinitions, required: true, location_name: "containerDefinitions"))
623
651
  RegisterTaskDefinitionRequest.add_member(:volumes, Shapes::ShapeRef.new(shape: VolumeList, location_name: "volumes"))
624
652
  RegisterTaskDefinitionRequest.add_member(:placement_constraints, Shapes::ShapeRef.new(shape: TaskDefinitionPlacementConstraints, location_name: "placementConstraints"))
653
+ RegisterTaskDefinitionRequest.add_member(:requires_compatibilities, Shapes::ShapeRef.new(shape: CompatibilityList, location_name: "requiresCompatibilities"))
654
+ RegisterTaskDefinitionRequest.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
655
+ RegisterTaskDefinitionRequest.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
625
656
  RegisterTaskDefinitionRequest.struct_class = Types::RegisterTaskDefinitionRequest
626
657
 
627
658
  RegisterTaskDefinitionResponse.add_member(:task_definition, Shapes::ShapeRef.new(shape: TaskDefinition, location_name: "taskDefinition"))
@@ -647,6 +678,8 @@ module Aws::ECS
647
678
  RunTaskRequest.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
648
679
  RunTaskRequest.add_member(:placement_constraints, Shapes::ShapeRef.new(shape: PlacementConstraints, location_name: "placementConstraints"))
649
680
  RunTaskRequest.add_member(:placement_strategy, Shapes::ShapeRef.new(shape: PlacementStrategies, location_name: "placementStrategy"))
681
+ RunTaskRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
682
+ RunTaskRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
650
683
  RunTaskRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
651
684
  RunTaskRequest.struct_class = Types::RunTaskRequest
652
685
 
@@ -662,6 +695,8 @@ module Aws::ECS
662
695
  Service.add_member(:desired_count, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredCount"))
663
696
  Service.add_member(:running_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningCount"))
664
697
  Service.add_member(:pending_count, Shapes::ShapeRef.new(shape: Integer, location_name: "pendingCount"))
698
+ Service.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
699
+ Service.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
665
700
  Service.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
666
701
  Service.add_member(:deployment_configuration, Shapes::ShapeRef.new(shape: DeploymentConfiguration, location_name: "deploymentConfiguration"))
667
702
  Service.add_member(:deployments, Shapes::ShapeRef.new(shape: Deployments, location_name: "deployments"))
@@ -695,6 +730,8 @@ module Aws::ECS
695
730
  StartTaskResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
696
731
  StartTaskResponse.struct_class = Types::StartTaskResponse
697
732
 
733
+ Statistics.member = Shapes::ShapeRef.new(shape: KeyValuePair)
734
+
698
735
  StopTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
699
736
  StopTaskRequest.add_member(:task, Shapes::ShapeRef.new(shape: String, required: true, location_name: "task"))
700
737
  StopTaskRequest.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
@@ -723,6 +760,9 @@ module Aws::ECS
723
760
  SubmitTaskStateChangeRequest.add_member(:reason, Shapes::ShapeRef.new(shape: String, location_name: "reason"))
724
761
  SubmitTaskStateChangeRequest.add_member(:containers, Shapes::ShapeRef.new(shape: ContainerStateChanges, location_name: "containers"))
725
762
  SubmitTaskStateChangeRequest.add_member(:attachments, Shapes::ShapeRef.new(shape: AttachmentStateChanges, location_name: "attachments"))
763
+ SubmitTaskStateChangeRequest.add_member(:pull_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStartedAt"))
764
+ SubmitTaskStateChangeRequest.add_member(:pull_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStoppedAt"))
765
+ SubmitTaskStateChangeRequest.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
726
766
  SubmitTaskStateChangeRequest.struct_class = Types::SubmitTaskStateChangeRequest
727
767
 
728
768
  SubmitTaskStateChangeResponse.add_member(:acknowledgment, Shapes::ShapeRef.new(shape: String, location_name: "acknowledgment"))
@@ -735,14 +775,24 @@ module Aws::ECS
735
775
  Task.add_member(:overrides, Shapes::ShapeRef.new(shape: TaskOverride, location_name: "overrides"))
736
776
  Task.add_member(:last_status, Shapes::ShapeRef.new(shape: String, location_name: "lastStatus"))
737
777
  Task.add_member(:desired_status, Shapes::ShapeRef.new(shape: String, location_name: "desiredStatus"))
778
+ Task.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
779
+ Task.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
738
780
  Task.add_member(:containers, Shapes::ShapeRef.new(shape: Containers, location_name: "containers"))
739
781
  Task.add_member(:started_by, Shapes::ShapeRef.new(shape: String, location_name: "startedBy"))
740
782
  Task.add_member(:version, Shapes::ShapeRef.new(shape: Long, location_name: "version"))
741
783
  Task.add_member(:stopped_reason, Shapes::ShapeRef.new(shape: String, location_name: "stoppedReason"))
784
+ Task.add_member(:connectivity, Shapes::ShapeRef.new(shape: Connectivity, location_name: "connectivity"))
785
+ Task.add_member(:connectivity_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "connectivityAt"))
786
+ Task.add_member(:pull_started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStartedAt"))
787
+ Task.add_member(:pull_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "pullStoppedAt"))
788
+ Task.add_member(:execution_stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "executionStoppedAt"))
742
789
  Task.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
743
790
  Task.add_member(:started_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "startedAt"))
791
+ Task.add_member(:stopping_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "stoppingAt"))
744
792
  Task.add_member(:stopped_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "stoppedAt"))
745
793
  Task.add_member(:group, Shapes::ShapeRef.new(shape: String, location_name: "group"))
794
+ Task.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
795
+ Task.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
746
796
  Task.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
747
797
  Task.struct_class = Types::Task
748
798
 
@@ -750,12 +800,17 @@ module Aws::ECS
750
800
  TaskDefinition.add_member(:container_definitions, Shapes::ShapeRef.new(shape: ContainerDefinitions, location_name: "containerDefinitions"))
751
801
  TaskDefinition.add_member(:family, Shapes::ShapeRef.new(shape: String, location_name: "family"))
752
802
  TaskDefinition.add_member(:task_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskRoleArn"))
803
+ TaskDefinition.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
753
804
  TaskDefinition.add_member(:network_mode, Shapes::ShapeRef.new(shape: NetworkMode, location_name: "networkMode"))
754
805
  TaskDefinition.add_member(:revision, Shapes::ShapeRef.new(shape: Integer, location_name: "revision"))
755
806
  TaskDefinition.add_member(:volumes, Shapes::ShapeRef.new(shape: VolumeList, location_name: "volumes"))
756
807
  TaskDefinition.add_member(:status, Shapes::ShapeRef.new(shape: TaskDefinitionStatus, location_name: "status"))
757
808
  TaskDefinition.add_member(:requires_attributes, Shapes::ShapeRef.new(shape: RequiresAttributes, location_name: "requiresAttributes"))
758
809
  TaskDefinition.add_member(:placement_constraints, Shapes::ShapeRef.new(shape: TaskDefinitionPlacementConstraints, location_name: "placementConstraints"))
810
+ TaskDefinition.add_member(:compatibilities, Shapes::ShapeRef.new(shape: CompatibilityList, location_name: "compatibilities"))
811
+ TaskDefinition.add_member(:requires_compatibilities, Shapes::ShapeRef.new(shape: CompatibilityList, location_name: "requiresCompatibilities"))
812
+ TaskDefinition.add_member(:cpu, Shapes::ShapeRef.new(shape: String, location_name: "cpu"))
813
+ TaskDefinition.add_member(:memory, Shapes::ShapeRef.new(shape: String, location_name: "memory"))
759
814
  TaskDefinition.struct_class = Types::TaskDefinition
760
815
 
761
816
  TaskDefinitionPlacementConstraint.add_member(:type, Shapes::ShapeRef.new(shape: TaskDefinitionPlacementConstraintType, location_name: "type"))
@@ -766,6 +821,7 @@ module Aws::ECS
766
821
 
767
822
  TaskOverride.add_member(:container_overrides, Shapes::ShapeRef.new(shape: ContainerOverrides, location_name: "containerOverrides"))
768
823
  TaskOverride.add_member(:task_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskRoleArn"))
824
+ TaskOverride.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
769
825
  TaskOverride.struct_class = Types::TaskOverride
770
826
 
771
827
  Tasks.member = Shapes::ShapeRef.new(shape: Task)
@@ -799,6 +855,8 @@ module Aws::ECS
799
855
  UpdateServiceRequest.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
800
856
  UpdateServiceRequest.add_member(:deployment_configuration, Shapes::ShapeRef.new(shape: DeploymentConfiguration, location_name: "deploymentConfiguration"))
801
857
  UpdateServiceRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
858
+ UpdateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
859
+ UpdateServiceRequest.add_member(:force_new_deployment, Shapes::ShapeRef.new(shape: Boolean, location_name: "forceNewDeployment"))
802
860
  UpdateServiceRequest.struct_class = Types::UpdateServiceRequest
803
861
 
804
862
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
@@ -857,6 +915,10 @@ module Aws::ECS
857
915
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
858
916
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
859
917
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
918
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
919
+ o.errors << Shapes::ShapeRef.new(shape: PlatformUnknownException)
920
+ o.errors << Shapes::ShapeRef.new(shape: PlatformTaskDefinitionIncompatibilityException)
921
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
860
922
  end)
861
923
 
862
924
  api.add_operation(:delete_attributes, Seahorse::Model::Operation.new.tap do |o|
@@ -882,6 +944,7 @@ module Aws::ECS
882
944
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
883
945
  o.errors << Shapes::ShapeRef.new(shape: ClusterContainsContainerInstancesException)
884
946
  o.errors << Shapes::ShapeRef.new(shape: ClusterContainsServicesException)
947
+ o.errors << Shapes::ShapeRef.new(shape: ClusterContainsTasksException)
885
948
  end)
886
949
 
887
950
  api.add_operation(:delete_service, Seahorse::Model::Operation.new.tap do |o|
@@ -1124,6 +1187,7 @@ module Aws::ECS
1124
1187
  o.output = Shapes::ShapeRef.new(shape: RegisterContainerInstanceResponse)
1125
1188
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
1126
1189
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1190
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1127
1191
  end)
1128
1192
 
1129
1193
  api.add_operation(:register_task_definition, Seahorse::Model::Operation.new.tap do |o|
@@ -1147,6 +1211,11 @@ module Aws::ECS
1147
1211
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1148
1212
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1149
1213
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1214
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
1215
+ o.errors << Shapes::ShapeRef.new(shape: PlatformUnknownException)
1216
+ o.errors << Shapes::ShapeRef.new(shape: PlatformTaskDefinitionIncompatibilityException)
1217
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1218
+ o.errors << Shapes::ShapeRef.new(shape: BlockedException)
1150
1219
  end)
1151
1220
 
1152
1221
  api.add_operation(:start_task, Seahorse::Model::Operation.new.tap do |o|
@@ -1181,6 +1250,7 @@ module Aws::ECS
1181
1250
  o.output = Shapes::ShapeRef.new(shape: SubmitContainerStateChangeResponse)
1182
1251
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
1183
1252
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1253
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1184
1254
  end)
1185
1255
 
1186
1256
  api.add_operation(:submit_task_state_change, Seahorse::Model::Operation.new.tap do |o|
@@ -1191,6 +1261,7 @@ module Aws::ECS
1191
1261
  o.output = Shapes::ShapeRef.new(shape: SubmitTaskStateChangeResponse)
1192
1262
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
1193
1263
  o.errors << Shapes::ShapeRef.new(shape: ClientException)
1264
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1194
1265
  end)
1195
1266
 
1196
1267
  api.add_operation(:update_container_agent, Seahorse::Model::Operation.new.tap do |o|
@@ -1232,6 +1303,9 @@ module Aws::ECS
1232
1303
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1233
1304
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1234
1305
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1306
+ o.errors << Shapes::ShapeRef.new(shape: PlatformUnknownException)
1307
+ o.errors << Shapes::ShapeRef.new(shape: PlatformTaskDefinitionIncompatibilityException)
1308
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1235
1309
  end)
1236
1310
  end
1237
1311
 
@@ -69,7 +69,8 @@ module Aws::ECS
69
69
  # An attribute is a name-value pair associated with an Amazon ECS
70
70
  # object. Attributes enable you to extend the Amazon ECS data model by
71
71
  # adding custom metadata to your resources. For more information, see
72
- # [Attributes][1] in the *Amazon EC2 Container Service Developer Guide*.
72
+ # [Attributes][1] in the *Amazon Elastic Container Service Developer
73
+ # Guide*.
73
74
  #
74
75
  #
75
76
  #
@@ -99,7 +100,7 @@ module Aws::ECS
99
100
  # @!attribute [rw] target_type
100
101
  # The type of the target with which to attach the attribute. This
101
102
  # parameter is required if you use the short form ID for a resource
102
- # instead of the full Amazon Resource Name (ARN).
103
+ # instead of the full ARN.
103
104
  # @return [String]
104
105
  #
105
106
  # @!attribute [rw] target_id
@@ -117,8 +118,7 @@ module Aws::ECS
117
118
  include Aws::Structure
118
119
  end
119
120
 
120
- # An object representing the subnets and security groups for a task or
121
- # service.
121
+ # An object representing the networking details for a task or service.
122
122
  #
123
123
  # @note When making an API call, you may pass AwsVpcConfiguration
124
124
  # data as a hash:
@@ -126,6 +126,7 @@ module Aws::ECS
126
126
  # {
127
127
  # subnets: ["String"], # required
128
128
  # security_groups: ["String"],
129
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
129
130
  # }
130
131
  #
131
132
  # @!attribute [rw] subnets
@@ -138,11 +139,17 @@ module Aws::ECS
138
139
  # is used.
139
140
  # @return [Array<String>]
140
141
  #
142
+ # @!attribute [rw] assign_public_ip
143
+ # Specifies whether or not the task's elastic network interface
144
+ # receives a public IP address.
145
+ # @return [String]
146
+ #
141
147
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AwsVpcConfiguration AWS API Documentation
142
148
  #
143
149
  class AwsVpcConfiguration < Struct.new(
144
150
  :subnets,
145
- :security_groups)
151
+ :security_groups,
152
+ :assign_public_ip)
146
153
  include Aws::Structure
147
154
  end
148
155
 
@@ -188,6 +195,27 @@ module Aws::ECS
188
195
  # `ACTIVE` state. You can view these services with ListServices.
189
196
  # @return [Integer]
190
197
  #
198
+ # @!attribute [rw] statistics
199
+ # Additional information about your clusters that are separated by
200
+ # launch type, including:
201
+ #
202
+ # * runningEC2TasksCount
203
+ #
204
+ # * RunningFargateTasksCount
205
+ #
206
+ # * pendingEC2TasksCount
207
+ #
208
+ # * pendingFargateTasksCount
209
+ #
210
+ # * activeEC2ServiceCount
211
+ #
212
+ # * activeFargateServiceCount
213
+ #
214
+ # * drainingEC2ServiceCount
215
+ #
216
+ # * drainingFargateServiceCount
217
+ # @return [Array<Types::KeyValuePair>]
218
+ #
191
219
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Cluster AWS API Documentation
192
220
  #
193
221
  class Cluster < Struct.new(
@@ -197,7 +225,8 @@ module Aws::ECS
197
225
  :registered_container_instances_count,
198
226
  :running_tasks_count,
199
227
  :pending_tasks_count,
200
- :active_services_count)
228
+ :active_services_count,
229
+ :statistics)
201
230
  include Aws::Structure
202
231
  end
203
232
 
@@ -208,7 +237,7 @@ module Aws::ECS
208
237
  # @return [String]
209
238
  #
210
239
  # @!attribute [rw] task_arn
211
- # The Amazon Resource Name (ARN) of the task.
240
+ # The ARN of the task.
212
241
  # @return [String]
213
242
  #
214
243
  # @!attribute [rw] name
@@ -390,14 +419,20 @@ module Aws::ECS
390
419
  # @return [String]
391
420
  #
392
421
  # @!attribute [rw] cpu
393
- # The number of `cpu` units reserved for the container. A container
394
- # instance has 1,024 `cpu` units for every CPU core. This parameter
395
- # specifies the minimum amount of CPU to reserve for a container, and
396
- # containers share unallocated CPU units with other containers on the
397
- # instance with the same ratio as their allocated amount. This
398
- # parameter maps to `CpuShares` in the [Create a container][1] section
399
- # of the [Docker Remote API][2] and the `--cpu-shares` option to
400
- # [docker run][3].
422
+ # The number of `cpu` units reserved for the container. If your
423
+ # containers will be part of a task using the Fargate launch type,
424
+ # this field is optional and the only requirement is that the total
425
+ # amount of CPU reserved for all containers within a task be lower
426
+ # than the task `cpu` value.
427
+ #
428
+ # For containers that will be part of a task using the EC2 launch
429
+ # type, a container instance has 1,024 `cpu` units for every CPU core.
430
+ # This parameter specifies the minimum amount of CPU to reserve for a
431
+ # container, and containers share unallocated CPU units with other
432
+ # containers on the instance with the same ratio as their allocated
433
+ # amount. This parameter maps to `CpuShares` in the [Create a
434
+ # container][1] section of the [Docker Remote API][2] and the
435
+ # `--cpu-shares` option to [docker run][3].
401
436
  #
402
437
  # <note markdown="1"> You can determine the number of CPU units that are available per EC2
403
438
  # instance type by multiplying the vCPUs listed for that instance type
@@ -449,12 +484,18 @@ module Aws::ECS
449
484
  # a container][1] section of the [Docker Remote API][2] and the
450
485
  # `--memory` option to [docker run][3].
451
486
  #
452
- # You must specify a non-zero integer for one or both of `memory` or
453
- # `memoryReservation` in container definitions. If you specify both,
454
- # `memory` must be greater than `memoryReservation`. If you specify
455
- # `memoryReservation`, then that value is subtracted from the
456
- # available memory resources for the container instance on which the
457
- # container is placed; otherwise, the value of `memory` is used.
487
+ # If your containers will be part of a task using the Fargate launch
488
+ # type, this field is optional and the only requirement is that the
489
+ # total amount of memory reserved for all containers within a task be
490
+ # lower than the task `memory` value.
491
+ #
492
+ # For containers that will be part of a task using the EC2 launch
493
+ # type, you must specify a non-zero integer for one or both of
494
+ # `memory` or `memoryReservation` in container definitions. If you
495
+ # specify both, `memory` must be greater than `memoryReservation`. If
496
+ # you specify `memoryReservation`, then that value is subtracted from
497
+ # the available memory resources for the container instance on which
498
+ # the container is placed; otherwise, the value of `memory` is used.
458
499
  #
459
500
  # The Docker daemon reserves a minimum of 4 MiB of memory for a
460
501
  # container, so you should not specify fewer than 4 MiB of memory for
@@ -504,10 +545,11 @@ module Aws::ECS
504
545
  # The `link` parameter allows containers to communicate with each
505
546
  # other without the need for port mappings, using the `name` parameter
506
547
  # and optionally, an `alias` for the link. This construct is analogous
507
- # to `name:alias` in Docker links. Up to 255 letters (uppercase and
508
- # lowercase), numbers, hyphens, and underscores are allowed for each
509
- # `name` and `alias`. For more information on linking Docker
510
- # containers, see
548
+ # to `name:alias` in Docker links. This field is not valid for
549
+ # containers in tasks using the Fargate launch type. Up to 255 letters
550
+ # (uppercase and lowercase), numbers, hyphens, and underscores are
551
+ # allowed for each `name` and `alias`. For more information on linking
552
+ # Docker containers, see
511
553
  # [https://docs.docker.com/engine/userguide/networking/default\_network/dockerlinks/][1].
512
554
  # This parameter maps to `Links` in the [Create a container][2]
513
555
  # section of the [Docker Remote API][3] and the `--link` option to
@@ -529,17 +571,23 @@ module Aws::ECS
529
571
  # @!attribute [rw] port_mappings
530
572
  # The list of port mappings for the container. Port mappings allow
531
573
  # containers to access ports on the host container instance to send or
532
- # receive traffic. This parameter maps to `PortBindings` in the
533
- # [Create a container][1] section of the [Docker Remote API][2] and
534
- # the `--publish` option to [docker run][3]. If the network mode of a
535
- # task definition is set to `none`, then you cannot specify port
536
- # mappings. If the network mode of a task definition is set to `host`,
537
- # then host ports must either be undefined or they must match the
538
- # container port in the port mapping.
574
+ # receive traffic.
575
+ #
576
+ # If using containers in a task with the Fargate, exposed ports should
577
+ # be specified using `containerPort`. The `hostPort` can be left blank
578
+ # or it must be the same value as the `containerPort`.
579
+ #
580
+ # This parameter maps to `PortBindings` in the [Create a container][1]
581
+ # section of the [Docker Remote API][2] and the `--publish` option to
582
+ # [docker run][3]. If the network mode of a task definition is set to
583
+ # `none`, then you can't specify port mappings. If the network mode
584
+ # of a task definition is set to `host`, then host ports must either
585
+ # be undefined or they must match the container port in the port
586
+ # mapping.
539
587
  #
540
588
  # <note markdown="1"> After a task reaches the `RUNNING` status, manual and automatic host
541
589
  # and container port assignments are visible in the **Network
542
- # Bindings** section of a container description of a selected task in
590
+ # Bindings** section of a container description for a selected task in
543
591
  # the Amazon ECS console, or the `networkBindings` section
544
592
  # DescribeTasks responses.
545
593
  #
@@ -565,7 +613,7 @@ module Aws::ECS
565
613
  # group containers that are used for a common purpose into components,
566
614
  # and separate the different components into multiple task
567
615
  # definitions. For more information, see [Application Architecture][1]
568
- # in the *Amazon EC2 Container Service Developer Guide*.
616
+ # in the *Amazon Elastic Container Service Developer Guide*.
569
617
  #
570
618
  #
571
619
  #
@@ -612,7 +660,7 @@ module Aws::ECS
612
660
  # maps to `Env` in the [Create a container][1] section of the [Docker
613
661
  # Remote API][2] and the `--env` option to [docker run][3].
614
662
  #
615
- # We do not recommend using plain text environment variables for
663
+ # We do not recommend using plaintext environment variables for
616
664
  # sensitive information, such as credential data.
617
665
  #
618
666
  #
@@ -623,9 +671,14 @@ module Aws::ECS
623
671
  # @return [Array<Types::KeyValuePair>]
624
672
  #
625
673
  # @!attribute [rw] mount_points
626
- # The mount points for data volumes in your container. This parameter
627
- # maps to `Volumes` in the [Create a container][1] section of the
628
- # [Docker Remote API][2] and the `--volume` option to [docker run][3].
674
+ # The mount points for data volumes in your container.
675
+ #
676
+ # If using the Fargate launch type, the `sourceVolume` parameter is
677
+ # not supported.
678
+ #
679
+ # This parameter maps to `Volumes` in the [Create a container][1]
680
+ # section of the [Docker Remote API][2] and the `--volume` option to
681
+ # [docker run][3].
629
682
  #
630
683
  #
631
684
  #
@@ -648,7 +701,8 @@ module Aws::ECS
648
701
  #
649
702
  # @!attribute [rw] linux_parameters
650
703
  # Linux-specific modifications that are applied to the container, such
651
- # as Linux KernelCapabilities.
704
+ # as Linux KernelCapabilities. This field is not valid for containers
705
+ # in tasks using the Fargate launch type.
652
706
  # @return [Types::LinuxParameters]
653
707
  #
654
708
  # @!attribute [rw] hostname
@@ -753,9 +807,11 @@ module Aws::ECS
753
807
  #
754
808
  # @!attribute [rw] extra_hosts
755
809
  # A list of hostnames and IP address mappings to append to the
756
- # `/etc/hosts` file on the container. This parameter maps to
757
- # `ExtraHosts` in the [Create a container][1] section of the [Docker
758
- # Remote API][2] and the `--add-host` option to [docker run][3].
810
+ # `/etc/hosts` file on the container. If using the Fargate launch
811
+ # type, this may be used to list non-Fargate hosts you want the
812
+ # container to talk to. This parameter maps to `ExtraHosts` in the
813
+ # [Create a container][1] section of the [Docker Remote API][2] and
814
+ # the `--add-host` option to [docker run][3].
759
815
  #
760
816
  #
761
817
  #
@@ -766,16 +822,19 @@ module Aws::ECS
766
822
  #
767
823
  # @!attribute [rw] docker_security_options
768
824
  # A list of strings to provide custom labels for SELinux and AppArmor
769
- # multi-level security systems. This parameter maps to `SecurityOpt`
770
- # in the [Create a container][1] section of the [Docker Remote API][2]
771
- # and the `--security-opt` option to [docker run][3].
825
+ # multi-level security systems. This field is not valid for containers
826
+ # in tasks using the Fargate launch type.
827
+ #
828
+ # This parameter maps to `SecurityOpt` in the [Create a container][1]
829
+ # section of the [Docker Remote API][2] and the `--security-opt`
830
+ # option to [docker run][3].
772
831
  #
773
832
  # <note markdown="1"> The Amazon ECS container agent running on a container instance must
774
833
  # register with the `ECS_SELINUX_CAPABLE=true` or
775
834
  # `ECS_APPARMOR_CAPABLE=true` environment variables before containers
776
835
  # placed on that instance can use these security options. For more
777
836
  # information, see [Amazon ECS Container Agent Configuration][4] in
778
- # the *Amazon EC2 Container Service Developer Guide*.
837
+ # the *Amazon Elastic Container Service Developer Guide*.
779
838
  #
780
839
  # </note>
781
840
  #
@@ -793,9 +852,9 @@ module Aws::ECS
793
852
  # [Docker Remote API][2] and the `--label` option to [docker run][3].
794
853
  # This parameter requires version 1.18 of the Docker Remote API or
795
854
  # greater on your container instance. To check the Docker Remote API
796
- # version on your container instance, log into your container instance
797
- # and run the following command: `sudo docker version | grep "Server
798
- # API version"`
855
+ # version on your container instance, log in to your container
856
+ # instance and run the following command: `sudo docker version | grep
857
+ # "Server API version"`
799
858
  #
800
859
  #
801
860
  #
@@ -811,7 +870,7 @@ module Aws::ECS
811
870
  # naming values are displayed in the Ulimit data type. This parameter
812
871
  # requires version 1.18 of the Docker Remote API or greater on your
813
872
  # container instance. To check the Docker Remote API version on your
814
- # container instance, log into your container instance and run the
873
+ # container instance, log in to your container instance and run the
815
874
  # following command: `sudo docker version | grep "Server API version"`
816
875
  #
817
876
  #
@@ -822,11 +881,15 @@ module Aws::ECS
822
881
  # @return [Array<Types::Ulimit>]
823
882
  #
824
883
  # @!attribute [rw] log_configuration
825
- # The log configuration specification for the container. This
826
- # parameter maps to `LogConfig` in the [Create a container][1] section
827
- # of the [Docker Remote API][2] and the `--log-driver` option to
828
- # [docker run][3]. By default, containers use the same logging driver
829
- # that the Docker daemon uses; however the container may use a
884
+ # The log configuration specification for the container.
885
+ #
886
+ # If using the Fargate launch type, the only supported value is
887
+ # `awslogs`.
888
+ #
889
+ # This parameter maps to `LogConfig` in the [Create a container][1]
890
+ # section of the [Docker Remote API][2] and the `--log-driver` option
891
+ # to [docker run][3]. By default, containers use the same logging
892
+ # driver that the Docker daemon uses; however the container may use a
830
893
  # different logging driver than the Docker daemon by specifying a log
831
894
  # driver with this parameter in the container definition. To use a
832
895
  # different logging driver for a container, the log system must be
@@ -844,16 +907,16 @@ module Aws::ECS
844
907
  #
845
908
  # This parameter requires version 1.18 of the Docker Remote API or
846
909
  # greater on your container instance. To check the Docker Remote API
847
- # version on your container instance, log into your container instance
848
- # and run the following command: `sudo docker version | grep "Server
849
- # API version"`
910
+ # version on your container instance, log in to your container
911
+ # instance and run the following command: `sudo docker version | grep
912
+ # "Server API version"`
850
913
  #
851
914
  # <note markdown="1"> The Amazon ECS container agent running on a container instance must
852
915
  # register the logging drivers available on that instance with the
853
916
  # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
854
917
  # containers placed on that instance can use these log configuration
855
918
  # options. For more information, see [Amazon ECS Container Agent
856
- # Configuration][5] in the *Amazon EC2 Container Service Developer
919
+ # Configuration][5] in the *Amazon Elastic Container Service Developer
857
920
  # Guide*.
858
921
  #
859
922
  # </note>
@@ -921,9 +984,9 @@ module Aws::ECS
921
984
  # The version counter for the container instance. Every time a
922
985
  # container instance experiences a change that triggers a CloudWatch
923
986
  # event, the version counter is incremented. If you are replicating
924
- # your Amazon ECS container instance state with CloudWatch events, you
987
+ # your Amazon ECS container instance state with CloudWatch Events, you
925
988
  # can compare the version of a container instance reported by the
926
- # Amazon ECS APIs with the version reported in CloudWatch events for
989
+ # Amazon ECS APIs with the version reported in CloudWatch Events for
927
990
  # the container instance (inside the `detail` object) to verify that
928
991
  # the version in your event stream is current.
929
992
  # @return [Integer]
@@ -956,8 +1019,8 @@ module Aws::ECS
956
1019
  # instance can accept tasks. `DRAINING` indicates that new tasks are
957
1020
  # not placed on the container instance and any service tasks running
958
1021
  # on the container instance are removed if possible. For more
959
- # information, see [Container Instance Draining][1] in the *Amazon EC2
960
- # Container Service Developer Guide*.
1022
+ # information, see [Container Instance Draining][1] in the *Amazon
1023
+ # Elastic Container Service Developer Guide*.
961
1024
  #
962
1025
  #
963
1026
  #
@@ -965,10 +1028,10 @@ module Aws::ECS
965
1028
  # @return [String]
966
1029
  #
967
1030
  # @!attribute [rw] agent_connected
968
- # This parameter returns `true` if the agent is actually connected to
969
- # Amazon ECS. Registered instances with an agent that may be unhealthy
970
- # or stopped return `false`, and instances without a connected agent
971
- # cannot accept placement requests.
1031
+ # This parameter returns `true` if the agent is connected to Amazon
1032
+ # ECS. Registered instances with an agent that may be unhealthy or
1033
+ # stopped return `false`. Instances without a connected agent can't
1034
+ # accept placement requests.
972
1035
  # @return [Boolean]
973
1036
  #
974
1037
  # @!attribute [rw] running_tasks_count
@@ -993,7 +1056,7 @@ module Aws::ECS
993
1056
  # @return [Array<Types::Attribute>]
994
1057
  #
995
1058
  # @!attribute [rw] registered_at
996
- # The Unix timestamp for when the container instance was registered.
1059
+ # The Unix time stamp for when the container instance was registered.
997
1060
  # @return [Time]
998
1061
  #
999
1062
  # @!attribute [rw] attachments
@@ -1191,6 +1254,8 @@ module Aws::ECS
1191
1254
  # ],
1192
1255
  # desired_count: 1, # required
1193
1256
  # client_token: "String",
1257
+ # launch_type: "EC2", # accepts EC2, FARGATE
1258
+ # platform_version: "String",
1194
1259
  # role: "String",
1195
1260
  # deployment_configuration: {
1196
1261
  # maximum_percent: 1,
@@ -1212,6 +1277,7 @@ module Aws::ECS
1212
1277
  # awsvpc_configuration: {
1213
1278
  # subnets: ["String"], # required
1214
1279
  # security_groups: ["String"],
1280
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1215
1281
  # },
1216
1282
  # },
1217
1283
  # }
@@ -1231,10 +1297,9 @@ module Aws::ECS
1231
1297
  # @return [String]
1232
1298
  #
1233
1299
  # @!attribute [rw] task_definition
1234
- # The `family` and `revision` (`family:revision`) or full Amazon
1235
- # Resource Name (ARN) of the task definition to run in your service.
1236
- # If a `revision` is not specified, the latest `ACTIVE` revision is
1237
- # used.
1300
+ # The `family` and `revision` (`family:revision`) or full ARN of the
1301
+ # task definition to run in your service. If a `revision` is not
1302
+ # specified, the latest `ACTIVE` revision is used.
1238
1303
  # @return [String]
1239
1304
  #
1240
1305
  # @!attribute [rw] load_balancers
@@ -1270,6 +1335,15 @@ module Aws::ECS
1270
1335
  # idempotency of the request. Up to 32 ASCII characters are allowed.
1271
1336
  # @return [String]
1272
1337
  #
1338
+ # @!attribute [rw] launch_type
1339
+ # The launch type on which to run your service.
1340
+ # @return [String]
1341
+ #
1342
+ # @!attribute [rw] platform_version
1343
+ # The platform version on which to run your service. If one is not
1344
+ # specified, the latest version is used by default.
1345
+ # @return [String]
1346
+ #
1273
1347
  # @!attribute [rw] role
1274
1348
  # The name or full Amazon Resource Name (ARN) of the IAM role that
1275
1349
  # allows Amazon ECS to make calls to your load balancer on your
@@ -1284,8 +1358,8 @@ module Aws::ECS
1284
1358
  # specify a role here. The service-linked role is required if your
1285
1359
  # task definition uses the `awsvpc` network mode, in which case you
1286
1360
  # should not specify a role here. For more information, see [Using
1287
- # Service-Linked Roles for Amazon ECS][1] in the *Amazon EC2 Container
1288
- # Service Developer Guide*.
1361
+ # Service-Linked Roles for Amazon ECS][1] in the *Amazon Elastic
1362
+ # Container Service Developer Guide*.
1289
1363
  #
1290
1364
  # If your specified role has a path other than `/`, then you must
1291
1365
  # either specify the full role ARN (this is recommended) or prefix the
@@ -1296,7 +1370,7 @@ module Aws::ECS
1296
1370
  #
1297
1371
  #
1298
1372
  #
1299
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguideusing-service-linked-roles.html
1373
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html
1300
1374
  # [2]: http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names
1301
1375
  # @return [String]
1302
1376
  #
@@ -1315,7 +1389,7 @@ module Aws::ECS
1315
1389
  #
1316
1390
  # @!attribute [rw] placement_strategy
1317
1391
  # The placement strategy objects to use for tasks in your service. You
1318
- # can specify a maximum of 5 strategy rules per service.
1392
+ # can specify a maximum of five strategy rules per service.
1319
1393
  # @return [Array<Types::PlacementStrategy>]
1320
1394
  #
1321
1395
  # @!attribute [rw] network_configuration
@@ -1323,12 +1397,12 @@ module Aws::ECS
1323
1397
  # required for task definitions that use the `awsvpc` network mode to
1324
1398
  # receive their own Elastic Network Interface, and it is not supported
1325
1399
  # for other network modes. For more information, see [Task
1326
- # Networking][1] in the *Amazon EC2 Container Service Developer
1400
+ # Networking][1] in the *Amazon Elastic Container Service Developer
1327
1401
  # Guide*.
1328
1402
  #
1329
1403
  #
1330
1404
  #
1331
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
1405
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
1332
1406
  # @return [Types::NetworkConfiguration]
1333
1407
  #
1334
1408
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateServiceRequest AWS API Documentation
@@ -1340,6 +1414,8 @@ module Aws::ECS
1340
1414
  :load_balancers,
1341
1415
  :desired_count,
1342
1416
  :client_token,
1417
+ :launch_type,
1418
+ :platform_version,
1343
1419
  :role,
1344
1420
  :deployment_configuration,
1345
1421
  :placement_constraints,
@@ -1510,13 +1586,21 @@ module Aws::ECS
1510
1586
  # @return [Integer]
1511
1587
  #
1512
1588
  # @!attribute [rw] created_at
1513
- # The Unix timestamp for when the service was created.
1589
+ # The Unix time stamp for when the service was created.
1514
1590
  # @return [Time]
1515
1591
  #
1516
1592
  # @!attribute [rw] updated_at
1517
- # The Unix timestamp for when the service was last updated.
1593
+ # The Unix time stamp for when the service was last updated.
1518
1594
  # @return [Time]
1519
1595
  #
1596
+ # @!attribute [rw] launch_type
1597
+ # The launch type on which your service is running.
1598
+ # @return [String]
1599
+ #
1600
+ # @!attribute [rw] platform_version
1601
+ # The platform version on which your service is running.
1602
+ # @return [String]
1603
+ #
1520
1604
  # @!attribute [rw] network_configuration
1521
1605
  # The VPC subnet and security group configuration for tasks that
1522
1606
  # receive their own Elastic Network Interface by using the `awsvpc`
@@ -1534,6 +1618,8 @@ module Aws::ECS
1534
1618
  :running_count,
1535
1619
  :created_at,
1536
1620
  :updated_at,
1621
+ :launch_type,
1622
+ :platform_version,
1537
1623
  :network_configuration)
1538
1624
  include Aws::Structure
1539
1625
  end
@@ -1560,9 +1646,9 @@ module Aws::ECS
1560
1646
  # @!attribute [rw] minimum_healthy_percent
1561
1647
  # The lower limit (as a percentage of the service's `desiredCount`)
1562
1648
  # of the number of running tasks that must remain in the `RUNNING`
1563
- # state in a service during a deployment. The minimum healthy tasks
1564
- # during a deployment is the `desiredCount` multiplied by
1565
- # `minimumHealthyPercent`/100, rounded up to the nearest integer
1649
+ # state in a service during a deployment. The minimum number of
1650
+ # healthy tasks during a deployment is the `desiredCount` multiplied
1651
+ # by `minimumHealthyPercent`/100, rounded up to the nearest integer
1566
1652
  # value.
1567
1653
  # @return [Integer]
1568
1654
  #
@@ -1590,11 +1676,11 @@ module Aws::ECS
1590
1676
  # @return [String]
1591
1677
  #
1592
1678
  # @!attribute [rw] container_instance
1593
- # The container instance ID or full Amazon Resource Name (ARN) of the
1594
- # container instance to deregister. The ARN contains the `arn:aws:ecs`
1595
- # namespace, followed by the region of the container instance, the AWS
1596
- # account ID of the container instance owner, the `container-instance`
1597
- # namespace, and then the container instance ID. For example,
1679
+ # The container instance ID or full ARN of the container instance to
1680
+ # deregister. The ARN contains the `arn:aws:ecs` namespace, followed
1681
+ # by the region of the container instance, the AWS account ID of the
1682
+ # container instance owner, the `container-instance` namespace, and
1683
+ # then the container instance ID. For example,
1598
1684
  # `arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID
1599
1685
  # `.
1600
1686
  # @return [String]
@@ -1611,8 +1697,8 @@ module Aws::ECS
1611
1697
  #
1612
1698
  # Any containers in orphaned service tasks that are registered with a
1613
1699
  # Classic Load Balancer or an Application Load Balancer target group
1614
- # are deregistered, and they will begin connection draining according
1615
- # to the settings on the load balancer or target group.
1700
+ # are deregistered. They begin connection draining according to the
1701
+ # settings on the load balancer or target group.
1616
1702
  # @return [Boolean]
1617
1703
  #
1618
1704
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeregisterContainerInstanceRequest AWS API Documentation
@@ -1671,6 +1757,7 @@ module Aws::ECS
1671
1757
  #
1672
1758
  # {
1673
1759
  # clusters: ["String"],
1760
+ # include: ["STATISTICS"], # accepts STATISTICS
1674
1761
  # }
1675
1762
  #
1676
1763
  # @!attribute [rw] clusters
@@ -1679,10 +1766,32 @@ module Aws::ECS
1679
1766
  # cluster is assumed.
1680
1767
  # @return [Array<String>]
1681
1768
  #
1769
+ # @!attribute [rw] include
1770
+ # Additional information about your clusters to be separated by launch
1771
+ # type, including:
1772
+ #
1773
+ # * runningEC2TasksCount
1774
+ #
1775
+ # * RunningFargateTasksCount
1776
+ #
1777
+ # * pendingEC2TasksCount
1778
+ #
1779
+ # * pendingFargateTasksCount
1780
+ #
1781
+ # * activeEC2ServiceCount
1782
+ #
1783
+ # * activeFargateServiceCount
1784
+ #
1785
+ # * drainingEC2ServiceCount
1786
+ #
1787
+ # * drainingFargateServiceCount
1788
+ # @return [Array<String>]
1789
+ #
1682
1790
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClustersRequest AWS API Documentation
1683
1791
  #
1684
1792
  class DescribeClustersRequest < Struct.new(
1685
- :clusters)
1793
+ :clusters,
1794
+ :include)
1686
1795
  include Aws::Structure
1687
1796
  end
1688
1797
 
@@ -1717,8 +1826,7 @@ module Aws::ECS
1717
1826
  # @return [String]
1718
1827
  #
1719
1828
  # @!attribute [rw] container_instances
1720
- # A list of container instance IDs or full Amazon Resource Name (ARN)
1721
- # entries.
1829
+ # A list of container instance IDs or full ARN entries.
1722
1830
  # @return [Array<String>]
1723
1831
  #
1724
1832
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeContainerInstancesRequest AWS API Documentation
@@ -1835,8 +1943,7 @@ module Aws::ECS
1835
1943
  # @return [String]
1836
1944
  #
1837
1945
  # @!attribute [rw] tasks
1838
- # A list of up to 100 task IDs or full Amazon Resource Name (ARN)
1839
- # entries.
1946
+ # A list of up to 100 task IDs or full ARN entries.
1840
1947
  # @return [Array<String>]
1841
1948
  #
1842
1949
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTasksRequest AWS API Documentation
@@ -1884,8 +1991,8 @@ module Aws::ECS
1884
1991
  #
1885
1992
  # @!attribute [rw] permissions
1886
1993
  # The explicit permissions to provide to the container for the device.
1887
- # By default, the container will be able to `read`, `write`, and
1888
- # `mknod` the device.
1994
+ # By default, the container has permissions for `read`, `write`, and
1995
+ # `mknod` for the device.
1889
1996
  # @return [Array<String>]
1890
1997
  #
1891
1998
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Device AWS API Documentation
@@ -1906,11 +2013,11 @@ module Aws::ECS
1906
2013
  # }
1907
2014
  #
1908
2015
  # @!attribute [rw] container_instance
1909
- # The container instance ID or full Amazon Resource Name (ARN) of the
1910
- # container instance. The ARN contains the `arn:aws:ecs` namespace,
1911
- # followed by the region of the container instance, the AWS account ID
1912
- # of the container instance owner, the `container-instance` namespace,
1913
- # and then the container instance ID. For example,
2016
+ # The container instance ID or full ARN of the container instance. The
2017
+ # ARN contains the `arn:aws:ecs` namespace, followed by the region of
2018
+ # the container instance, the AWS account ID of the container instance
2019
+ # owner, the `container-instance` namespace, and then the container
2020
+ # instance ID. For example,
1914
2021
  # `arn:aws:ecs:region:aws_account_id:container-instance/container_instance_ID
1915
2022
  # `.
1916
2023
  # @return [String]
@@ -2008,6 +2115,9 @@ module Aws::ECS
2008
2115
  # it manually. If the `sourcePath` value does not exist on the host
2009
2116
  # container instance, the Docker daemon creates it. If the location
2010
2117
  # does exist, the contents of the source path folder are exported.
2118
+ #
2119
+ # If you are using the Fargate launch type, the `host` parameter is
2120
+ # not supported.
2011
2121
  # @return [String]
2012
2122
  #
2013
2123
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/HostVolumeProperties AWS API Documentation
@@ -2162,7 +2272,7 @@ module Aws::ECS
2162
2272
  # reaps processes. This parameter maps to the `--init` option to
2163
2273
  # [docker run][1]. This parameter requires version 1.25 of the Docker
2164
2274
  # Remote API or greater on your container instance. To check the
2165
- # Docker Remote API version on your container instance, log into your
2275
+ # Docker Remote API version on your container instance, log in to your
2166
2276
  # container instance and run the following command: `sudo docker
2167
2277
  # version | grep "Server API version"`
2168
2278
  #
@@ -2216,7 +2326,6 @@ module Aws::ECS
2216
2326
  # `ListAttributes` request where `maxResults` was used and the results
2217
2327
  # exceeded the value of that parameter. Pagination continues from the
2218
2328
  # end of the previous results that returned the `nextToken` value.
2219
- # This value is `null` when there are no more results to return.
2220
2329
  #
2221
2330
  # <note markdown="1"> This token should be treated as an opaque identifier that is only
2222
2331
  # used to retrieve the next items in a list and not for other
@@ -2281,7 +2390,6 @@ module Aws::ECS
2281
2390
  # `ListClusters` request where `maxResults` was used and the results
2282
2391
  # exceeded the value of that parameter. Pagination continues from the
2283
2392
  # end of the previous results that returned the `nextToken` value.
2284
- # This value is `null` when there are no more results to return.
2285
2393
  #
2286
2394
  # <note markdown="1"> This token should be treated as an opaque identifier that is only
2287
2395
  # used to retrieve the next items in a list and not for other
@@ -2349,7 +2457,7 @@ module Aws::ECS
2349
2457
  # @!attribute [rw] filter
2350
2458
  # You can filter the results of a `ListContainerInstances` operation
2351
2459
  # with cluster query language statements. For more information, see
2352
- # [Cluster Query Language][1] in the *Amazon EC2 Container Service
2460
+ # [Cluster Query Language][1] in the *Amazon Elastic Container Service
2353
2461
  # Developer Guide*.
2354
2462
  #
2355
2463
  #
@@ -2362,8 +2470,7 @@ module Aws::ECS
2362
2470
  # `ListContainerInstances` request where `maxResults` was used and the
2363
2471
  # results exceeded the value of that parameter. Pagination continues
2364
2472
  # from the end of the previous results that returned the `nextToken`
2365
- # value. This value is `null` when there are no more results to
2366
- # return.
2473
+ # value.
2367
2474
  #
2368
2475
  # <note markdown="1"> This token should be treated as an opaque identifier that is only
2369
2476
  # used to retrieve the next items in a list and not for other
@@ -2405,9 +2512,8 @@ module Aws::ECS
2405
2512
  end
2406
2513
 
2407
2514
  # @!attribute [rw] container_instance_arns
2408
- # The list of container instances with full Amazon Resource Name (ARN)
2409
- # entries for each container instance associated with the specified
2410
- # cluster.
2515
+ # The list of container instances with full ARN entries for each
2516
+ # container instance associated with the specified cluster.
2411
2517
  # @return [Array<String>]
2412
2518
  #
2413
2519
  # @!attribute [rw] next_token
@@ -2433,6 +2539,7 @@ module Aws::ECS
2433
2539
  # cluster: "String",
2434
2540
  # next_token: "String",
2435
2541
  # max_results: 1,
2542
+ # launch_type: "EC2", # accepts EC2, FARGATE
2436
2543
  # }
2437
2544
  #
2438
2545
  # @!attribute [rw] cluster
@@ -2446,7 +2553,6 @@ module Aws::ECS
2446
2553
  # `ListServices` request where `maxResults` was used and the results
2447
2554
  # exceeded the value of that parameter. Pagination continues from the
2448
2555
  # end of the previous results that returned the `nextToken` value.
2449
- # This value is `null` when there are no more results to return.
2450
2556
  #
2451
2557
  # <note markdown="1"> This token should be treated as an opaque identifier that is only
2452
2558
  # used to retrieve the next items in a list and not for other
@@ -2466,18 +2572,23 @@ module Aws::ECS
2466
2572
  # results and a `nextToken` value if applicable.
2467
2573
  # @return [Integer]
2468
2574
  #
2575
+ # @!attribute [rw] launch_type
2576
+ # The launch type for services you want to list.
2577
+ # @return [String]
2578
+ #
2469
2579
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListServicesRequest AWS API Documentation
2470
2580
  #
2471
2581
  class ListServicesRequest < Struct.new(
2472
2582
  :cluster,
2473
2583
  :next_token,
2474
- :max_results)
2584
+ :max_results,
2585
+ :launch_type)
2475
2586
  include Aws::Structure
2476
2587
  end
2477
2588
 
2478
2589
  # @!attribute [rw] service_arns
2479
- # The list of full Amazon Resource Name (ARN) entries for each service
2480
- # associated with the specified cluster.
2590
+ # The list of full ARN entries for each service associated with the
2591
+ # specified cluster.
2481
2592
  # @return [Array<String>]
2482
2593
  #
2483
2594
  # @!attribute [rw] next_token
@@ -2529,8 +2640,7 @@ module Aws::ECS
2529
2640
  # `ListTaskDefinitionFamilies` request where `maxResults` was used and
2530
2641
  # the results exceeded the value of that parameter. Pagination
2531
2642
  # continues from the end of the previous results that returned the
2532
- # `nextToken` value. This value is `null` when there are no more
2533
- # results to return.
2643
+ # `nextToken` value.
2534
2644
  #
2535
2645
  # <note markdown="1"> This token should be treated as an opaque identifier that is only
2536
2646
  # used to retrieve the next items in a list and not for other
@@ -2624,8 +2734,7 @@ module Aws::ECS
2624
2734
  # `ListTaskDefinitions` request where `maxResults` was used and the
2625
2735
  # results exceeded the value of that parameter. Pagination continues
2626
2736
  # from the end of the previous results that returned the `nextToken`
2627
- # value. This value is `null` when there are no more results to
2628
- # return.
2737
+ # value.
2629
2738
  #
2630
2739
  # <note markdown="1"> This token should be treated as an opaque identifier that is only
2631
2740
  # used to retrieve the next items in a list and not for other
@@ -2690,6 +2799,7 @@ module Aws::ECS
2690
2799
  # started_by: "String",
2691
2800
  # service_name: "String",
2692
2801
  # desired_status: "RUNNING", # accepts RUNNING, PENDING, STOPPED
2802
+ # launch_type: "EC2", # accepts EC2, FARGATE
2693
2803
  # }
2694
2804
  #
2695
2805
  # @!attribute [rw] cluster
@@ -2699,10 +2809,10 @@ module Aws::ECS
2699
2809
  # @return [String]
2700
2810
  #
2701
2811
  # @!attribute [rw] container_instance
2702
- # The container instance ID or full Amazon Resource Name (ARN) of the
2703
- # container instance with which to filter the `ListTasks` results.
2704
- # Specifying a `containerInstance` limits the results to tasks that
2705
- # belong to that container instance.
2812
+ # The container instance ID or full ARN of the container instance with
2813
+ # which to filter the `ListTasks` results. Specifying a
2814
+ # `containerInstance` limits the results to tasks that belong to that
2815
+ # container instance.
2706
2816
  # @return [String]
2707
2817
  #
2708
2818
  # @!attribute [rw] family
@@ -2715,8 +2825,7 @@ module Aws::ECS
2715
2825
  # The `nextToken` value returned from a previous paginated `ListTasks`
2716
2826
  # request where `maxResults` was used and the results exceeded the
2717
2827
  # value of that parameter. Pagination continues from the end of the
2718
- # previous results that returned the `nextToken` value. This value is
2719
- # `null` when there are no more results to return.
2828
+ # previous results that returned the `nextToken` value.
2720
2829
  #
2721
2830
  # <note markdown="1"> This token should be treated as an opaque identifier that is only
2722
2831
  # used to retrieve the next items in a list and not for other
@@ -2751,20 +2860,24 @@ module Aws::ECS
2751
2860
  # @!attribute [rw] desired_status
2752
2861
  # The task desired status with which to filter the `ListTasks`
2753
2862
  # results. Specifying a `desiredStatus` of `STOPPED` limits the
2754
- # results to tasks that ECS has set the desired status to `STOPPED`,
2755
- # which can be useful for debugging tasks that are not starting
2756
- # properly or have died or finished. The default status filter is
2757
- # `RUNNING`, which shows tasks that ECS has set the desired status to
2758
- # `RUNNING`.
2863
+ # results to tasks that Amazon ECS has set the desired status to
2864
+ # `STOPPED`, which can be useful for debugging tasks that are not
2865
+ # starting properly or have died or finished. The default status
2866
+ # filter is `RUNNING`, which shows tasks that Amazon ECS has set the
2867
+ # desired status to `RUNNING`.
2759
2868
  #
2760
2869
  # <note markdown="1"> Although you can filter results based on a desired status of
2761
- # `PENDING`, this will not return any results because ECS never sets
2762
- # the desired status of a task to that value (only a task's
2870
+ # `PENDING`, this does not return any results because Amazon ECS never
2871
+ # sets the desired status of a task to that value (only a task's
2763
2872
  # `lastStatus` may have a value of `PENDING`).
2764
2873
  #
2765
2874
  # </note>
2766
2875
  # @return [String]
2767
2876
  #
2877
+ # @!attribute [rw] launch_type
2878
+ # The launch type for services you want to list.
2879
+ # @return [String]
2880
+ #
2768
2881
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ListTasksRequest AWS API Documentation
2769
2882
  #
2770
2883
  class ListTasksRequest < Struct.new(
@@ -2775,13 +2888,13 @@ module Aws::ECS
2775
2888
  :max_results,
2776
2889
  :started_by,
2777
2890
  :service_name,
2778
- :desired_status)
2891
+ :desired_status,
2892
+ :launch_type)
2779
2893
  include Aws::Structure
2780
2894
  end
2781
2895
 
2782
2896
  # @!attribute [rw] task_arns
2783
- # The list of task Amazon Resource Name (ARN) entries for the
2784
- # `ListTasks` request.
2897
+ # The list of task ARN entries for the `ListTasks` request.
2785
2898
  # @return [Array<String>]
2786
2899
  #
2787
2900
  # @!attribute [rw] next_token
@@ -2858,34 +2971,38 @@ module Aws::ECS
2858
2971
  # @!attribute [rw] log_driver
2859
2972
  # The log driver to use for the container. The valid values listed for
2860
2973
  # this parameter are log drivers that the Amazon ECS container agent
2861
- # can communicate with by default.
2974
+ # can communicate with by default. If using the Fargate launch type,
2975
+ # the only supported value is `awslogs`. For more information about
2976
+ # using the `awslogs` driver, see [Using the awslogs Log Driver][1] in
2977
+ # the *Amazon Elastic Container Service Developer Guide*.
2862
2978
  #
2863
2979
  # <note markdown="1"> If you have a custom driver that is not listed above that you would
2864
2980
  # like to work with the Amazon ECS container agent, you can fork the
2865
- # Amazon ECS container agent project that is [available on GitHub][1]
2981
+ # Amazon ECS container agent project that is [available on GitHub][2]
2866
2982
  # and customize it to work with that driver. We encourage you to
2867
2983
  # submit pull requests for changes that you would like to have
2868
- # included. However, Amazon Web Services does not currently provide
2869
- # support for running modified copies of this software.
2984
+ # included. However, Amazon Web Services does not currently support
2985
+ # running modified copies of this software.
2870
2986
  #
2871
2987
  # </note>
2872
2988
  #
2873
2989
  # This parameter requires version 1.18 of the Docker Remote API or
2874
2990
  # greater on your container instance. To check the Docker Remote API
2875
- # version on your container instance, log into your container instance
2876
- # and run the following command: `sudo docker version | grep "Server
2877
- # API version"`
2991
+ # version on your container instance, log in to your container
2992
+ # instance and run the following command: `sudo docker version | grep
2993
+ # "Server API version"`
2878
2994
  #
2879
2995
  #
2880
2996
  #
2881
- # [1]: https://github.com/aws/amazon-ecs-agent
2997
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html
2998
+ # [2]: https://github.com/aws/amazon-ecs-agent
2882
2999
  # @return [String]
2883
3000
  #
2884
3001
  # @!attribute [rw] options
2885
3002
  # The configuration options to send to the log driver. This parameter
2886
3003
  # requires version 1.19 of the Docker Remote API or greater on your
2887
3004
  # container instance. To check the Docker Remote API version on your
2888
- # container instance, log into your container instance and run the
3005
+ # container instance, log in to your container instance and run the
2889
3006
  # following command: `sudo docker version | grep "Server API version"`
2890
3007
  # @return [Hash<String,String>]
2891
3008
  #
@@ -2910,7 +3027,8 @@ module Aws::ECS
2910
3027
  # }
2911
3028
  #
2912
3029
  # @!attribute [rw] source_volume
2913
- # The name of the volume to mount.
3030
+ # The name of the volume to mount. If using the Fargate launch type,
3031
+ # the `sourceVolume` parameter is not supported.
2914
3032
  # @return [String]
2915
3033
  #
2916
3034
  # @!attribute [rw] container_path
@@ -2953,7 +3071,7 @@ module Aws::ECS
2953
3071
  # @return [String]
2954
3072
  #
2955
3073
  # @!attribute [rw] container_port
2956
- # The port number on the container that is be used with the network
3074
+ # The port number on the container that is used with the network
2957
3075
  # binding.
2958
3076
  # @return [Integer]
2959
3077
  #
@@ -2985,6 +3103,7 @@ module Aws::ECS
2985
3103
  # awsvpc_configuration: {
2986
3104
  # subnets: ["String"], # required
2987
3105
  # security_groups: ["String"],
3106
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
2988
3107
  # },
2989
3108
  # }
2990
3109
  #
@@ -3024,8 +3143,8 @@ module Aws::ECS
3024
3143
  end
3025
3144
 
3026
3145
  # An object representing a constraint on task placement. For more
3027
- # information, see [Task Placement Constraints][1] in the *Amazon EC2
3028
- # Container Service Developer Guide*.
3146
+ # information, see [Task Placement Constraints][1] in the *Amazon
3147
+ # Elastic Container Service Developer Guide*.
3029
3148
  #
3030
3149
  #
3031
3150
  #
@@ -3042,16 +3161,17 @@ module Aws::ECS
3042
3161
  # @!attribute [rw] type
3043
3162
  # The type of constraint. Use `distinctInstance` to ensure that each
3044
3163
  # task in a particular group is running on a different container
3045
- # instance. Use `memberOf` to restrict selection to a group of valid
3046
- # candidates. Note that `distinctInstance` is not supported in task
3047
- # definitions.
3164
+ # instance. Use `memberOf` to restrict the selection to a group of
3165
+ # valid candidates. The value `distinctInstance` is not supported in
3166
+ # task definitions.
3048
3167
  # @return [String]
3049
3168
  #
3050
3169
  # @!attribute [rw] expression
3051
3170
  # A cluster query language expression to apply to the constraint. Note
3052
3171
  # you cannot specify an expression if the constraint type is
3053
3172
  # `distinctInstance`. For more information, see [Cluster Query
3054
- # Language][1] in the *Amazon EC2 Container Service Developer Guide*.
3173
+ # Language][1] in the *Amazon Elastic Container Service Developer
3174
+ # Guide*.
3055
3175
  #
3056
3176
  #
3057
3177
  #
@@ -3067,7 +3187,7 @@ module Aws::ECS
3067
3187
  end
3068
3188
 
3069
3189
  # The task placement strategy for a task or service. For more
3070
- # information, see [Task Placement Strategies][1] in the *Amazon EC2
3190
+ # information, see [Task Placement Strategies][1] in the *Amazon Elastic
3071
3191
  # Container Service Developer Guide*.
3072
3192
  #
3073
3193
  #
@@ -3114,10 +3234,15 @@ module Aws::ECS
3114
3234
 
3115
3235
  # Port mappings allow containers to access ports on the host container
3116
3236
  # instance to send or receive traffic. Port mappings are specified as
3117
- # part of the container definition. After a task reaches the `RUNNING`
3118
- # status, manual and automatic host and container port assignments are
3119
- # visible in the `networkBindings` section of DescribeTasks API
3120
- # responses.
3237
+ # part of the container definition.
3238
+ #
3239
+ # If using containers in a task with the Fargate launch type, exposed
3240
+ # ports should be specified using `containerPort`. The `hostPort` can be
3241
+ # left blank or it must be the same value as the `containerPort`.
3242
+ #
3243
+ # After a task reaches the `RUNNING` status, manual and automatic host
3244
+ # and container port assignments are visible in the `networkBindings`
3245
+ # section of DescribeTasks API responses.
3121
3246
  #
3122
3247
  # @note When making an API call, you may pass PortMapping
3123
3248
  # data as a hash:
@@ -3130,33 +3255,45 @@ module Aws::ECS
3130
3255
  #
3131
3256
  # @!attribute [rw] container_port
3132
3257
  # The port number on the container that is bound to the user-specified
3133
- # or automatically assigned host port. If you specify a container port
3134
- # and not a host port, your container automatically receives a host
3135
- # port in the ephemeral port range (for more information, see
3136
- # `hostPort`). Port mappings that are automatically assigned in this
3137
- # way do not count toward the 100 reserved ports limit of a container
3138
- # instance.
3258
+ # or automatically assigned host port.
3259
+ #
3260
+ # If using containers in a task with the Fargate launch type, exposed
3261
+ # ports should be specified using `containerPort`.
3262
+ #
3263
+ # If using containers in a task with the EC2 launch type and you
3264
+ # specify a container port and not a host port, your container
3265
+ # automatically receives a host port in the ephemeral port range (for
3266
+ # more information, see `hostPort`). Port mappings that are
3267
+ # automatically assigned in this way do not count toward the 100
3268
+ # reserved ports limit of a container instance.
3139
3269
  # @return [Integer]
3140
3270
  #
3141
3271
  # @!attribute [rw] host_port
3142
3272
  # The port number on the container instance to reserve for your
3143
- # container. You can specify a non-reserved host port for your
3144
- # container port mapping, or you can omit the `hostPort` (or set it to
3145
- # `0`) while specifying a `containerPort` and your container
3146
- # automatically receives a port in the ephemeral port range for your
3147
- # container instance operating system and Docker version.
3273
+ # container.
3274
+ #
3275
+ # If using containers in a task with the Fargate launch type, the
3276
+ # `hostPort` can either be left blank or needs to be the same value as
3277
+ # the `containerPort`.
3278
+ #
3279
+ # If using containers in a task with the EC2 launch type, you can
3280
+ # specify a non-reserved host port for your container port mapping, or
3281
+ # you can omit the `hostPort` (or set it to `0`) while specifying a
3282
+ # `containerPort` and your container automatically receives a port in
3283
+ # the ephemeral port range for your container instance operating
3284
+ # system and Docker version.
3148
3285
  #
3149
3286
  # The default ephemeral port range for Docker version 1.6.0 and later
3150
3287
  # is listed on the instance under
3151
3288
  # `/proc/sys/net/ipv4/ip_local_port_range`; if this kernel parameter
3152
- # is unavailable, the default ephemeral port range of 49153 to 65535
3153
- # is used. You should not attempt to specify a host port in the
3289
+ # is unavailable, the default ephemeral port range from 49153 through
3290
+ # 65535 is used. You should not attempt to specify a host port in the
3154
3291
  # ephemeral port range as these are reserved for automatic assignment.
3155
3292
  # In general, ports below 32768 are outside of the ephemeral port
3156
3293
  # range.
3157
3294
  #
3158
- # <note markdown="1"> The default ephemeral port range of 49153 to 65535 will always be
3159
- # used for Docker versions prior to 1.6.0.
3295
+ # <note markdown="1"> The default ephemeral port range from 49153 through 65535 is always
3296
+ # used for Docker versions before 1.6.0.
3160
3297
  #
3161
3298
  # </note>
3162
3299
  #
@@ -3164,7 +3301,7 @@ module Aws::ECS
3164
3301
  # 2376, and the Amazon ECS container agent ports 51678 and 51679. Any
3165
3302
  # host port that was previously specified in a running task is also
3166
3303
  # reserved while the task is running (after a task stops, the host
3167
- # port is released).The current reserved ports are displayed in the
3304
+ # port is released). The current reserved ports are displayed in the
3168
3305
  # `remainingResources` of DescribeContainerInstances output, and a
3169
3306
  # container instance may have up to 100 reserved ports at a time,
3170
3307
  # including the default reserved ports (automatically assigned ports
@@ -3294,8 +3431,7 @@ module Aws::ECS
3294
3431
  # @return [Types::VersionInfo]
3295
3432
  #
3296
3433
  # @!attribute [rw] container_instance_arn
3297
- # The Amazon Resource Name (ARN) of the container instance (if it was
3298
- # previously registered).
3434
+ # The ARN of the container instance (if it was previously registered).
3299
3435
  # @return [String]
3300
3436
  #
3301
3437
  # @!attribute [rw] attributes
@@ -3333,6 +3469,7 @@ module Aws::ECS
3333
3469
  # {
3334
3470
  # family: "String", # required
3335
3471
  # task_role_arn: "String",
3472
+ # execution_role_arn: "String",
3336
3473
  # network_mode: "bridge", # accepts bridge, host, awsvpc, none
3337
3474
  # container_definitions: [ # required
3338
3475
  # {
@@ -3432,6 +3569,9 @@ module Aws::ECS
3432
3569
  # expression: "String",
3433
3570
  # },
3434
3571
  # ],
3572
+ # requires_compatibilities: ["EC2"], # accepts EC2, FARGATE
3573
+ # cpu: "String",
3574
+ # memory: "String",
3435
3575
  # }
3436
3576
  #
3437
3577
  # @!attribute [rw] family
@@ -3446,19 +3586,26 @@ module Aws::ECS
3446
3586
  # The short name or full Amazon Resource Name (ARN) of the IAM role
3447
3587
  # that containers in this task can assume. All containers in this task
3448
3588
  # are granted the permissions that are specified in this role. For
3449
- # more information, see [IAM Roles for Tasks][1] in the *Amazon EC2
3450
- # Container Service Developer Guide*.
3589
+ # more information, see [IAM Roles for Tasks][1] in the *Amazon
3590
+ # Elastic Container Service Developer Guide*.
3451
3591
  #
3452
3592
  #
3453
3593
  #
3454
3594
  # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
3455
3595
  # @return [String]
3456
3596
  #
3597
+ # @!attribute [rw] execution_role_arn
3598
+ # The Amazon Resource Name (ARN) of the task execution role that the
3599
+ # Amazon ECS container agent and the Docker daemon can assume.
3600
+ # @return [String]
3601
+ #
3457
3602
  # @!attribute [rw] network_mode
3458
3603
  # The Docker networking mode to use for the containers in the task.
3459
3604
  # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
3460
- # default Docker network mode is `bridge`. If the network mode is set
3461
- # to `none`, you cannot specify port mappings in your container
3605
+ # default Docker network mode is `bridge`. If using the Fargate launch
3606
+ # type, the `awsvpc` network mode is required. If using the EC2 launch
3607
+ # type, any network mode can be used. If the network mode is set to
3608
+ # `none`, you can't specify port mappings in your container
3462
3609
  # definitions, and the task's containers do not have external
3463
3610
  # connectivity. The `host` and `awsvpc` network modes offer the
3464
3611
  # highest networking performance for containers because they use the
@@ -3467,16 +3614,17 @@ module Aws::ECS
3467
3614
  #
3468
3615
  # With the `host` and `awsvpc` network modes, exposed container ports
3469
3616
  # are mapped directly to the corresponding host port (for the `host`
3470
- # network mode) or the attached ENI port (for the `awsvpc` network
3471
- # mode), so you cannot take advantage of dynamic host port mappings.
3617
+ # network mode) or the attached elastic network interface port (for
3618
+ # the `awsvpc` network mode), so you cannot take advantage of dynamic
3619
+ # host port mappings.
3472
3620
  #
3473
3621
  # If the network mode is `awsvpc`, the task is allocated an Elastic
3474
3622
  # Network Interface, and you must specify a NetworkConfiguration when
3475
3623
  # you create a service or run a task with the task definition. For
3476
- # more information, see [Task Networking][1] in the *Amazon EC2
3624
+ # more information, see [Task Networking][1] in the *Amazon Elastic
3477
3625
  # Container Service Developer Guide*.
3478
3626
  #
3479
- # If the network mode is `host`, you can not run multiple
3627
+ # If the network mode is `host`, you can't run multiple
3480
3628
  # instantiations of the same task on a single container instance when
3481
3629
  # port mappings are used.
3482
3630
  #
@@ -3485,7 +3633,7 @@ module Aws::ECS
3485
3633
  #
3486
3634
  #
3487
3635
  #
3488
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
3636
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
3489
3637
  # [2]: https://docs.docker.com/engine/reference/run/#network-settings
3490
3638
  # @return [String]
3491
3639
  #
@@ -3506,15 +3654,66 @@ module Aws::ECS
3506
3654
  # run time).
3507
3655
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
3508
3656
  #
3657
+ # @!attribute [rw] requires_compatibilities
3658
+ # The launch type required by the task. If no value is specified, it
3659
+ # defaults to `EC2`.
3660
+ # @return [Array<String>]
3661
+ #
3662
+ # @!attribute [rw] cpu
3663
+ # The number of `cpu` units used by the task. If using the EC2 launch
3664
+ # type, this field is optional and any value can be used. If you are
3665
+ # using the Fargate launch type, this field is required and you must
3666
+ # use one of the following values, which determines your range of
3667
+ # valid values for the `memory` parameter:
3668
+ #
3669
+ # * 256 (.25 vCPU) - Available `memory` values: 512MB, 1GB, 2GB
3670
+ #
3671
+ # * 512 (.5 vCPU) - Available `memory` values: 1GB, 2GB, 3GB, 4GB
3672
+ #
3673
+ # * 1024 (1 vCPU) - Available `memory` values: 2GB, 3GB, 4GB, 5GB,
3674
+ # 6GB, 7GB, 8GB
3675
+ #
3676
+ # * 2048 (2 vCPU) - Available `memory` values: Between 4GB and 16GB in
3677
+ # 1GB increments
3678
+ #
3679
+ # * 4096 (4 vCPU) - Available `memory` values: Between 8GB and 30GB in
3680
+ # 1GB increments
3681
+ # @return [String]
3682
+ #
3683
+ # @!attribute [rw] memory
3684
+ # The amount (in MiB) of memory used by the task. If using the EC2
3685
+ # launch type, this field is optional and any value can be used. If
3686
+ # you are using the Fargate launch type, this field is required and
3687
+ # you must use one of the following values, which determines your
3688
+ # range of valid values for the `cpu` parameter:
3689
+ #
3690
+ # * 512MB, 1GB, 2GB - Available `cpu` values: 256 (.25 vCPU)
3691
+ #
3692
+ # * 1GB, 2GB, 3GB, 4GB - Available `cpu` values: 512 (.5 vCPU)
3693
+ #
3694
+ # * 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available `cpu` values: 1024
3695
+ # (1 vCPU)
3696
+ #
3697
+ # * Between 4GB and 16GB in 1GB increments - Available `cpu` values:
3698
+ # 2048 (2 vCPU)
3699
+ #
3700
+ # * Between 8GB and 30GB in 1GB increments - Available `cpu` values:
3701
+ # 4096 (4 vCPU)
3702
+ # @return [String]
3703
+ #
3509
3704
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest AWS API Documentation
3510
3705
  #
3511
3706
  class RegisterTaskDefinitionRequest < Struct.new(
3512
3707
  :family,
3513
3708
  :task_role_arn,
3709
+ :execution_role_arn,
3514
3710
  :network_mode,
3515
3711
  :container_definitions,
3516
3712
  :volumes,
3517
- :placement_constraints)
3713
+ :placement_constraints,
3714
+ :requires_compatibilities,
3715
+ :cpu,
3716
+ :memory)
3518
3717
  include Aws::Structure
3519
3718
  end
3520
3719
 
@@ -3608,6 +3807,7 @@ module Aws::ECS
3608
3807
  # },
3609
3808
  # ],
3610
3809
  # task_role_arn: "String",
3810
+ # execution_role_arn: "String",
3611
3811
  # },
3612
3812
  # count: 1,
3613
3813
  # started_by: "String",
@@ -3624,10 +3824,13 @@ module Aws::ECS
3624
3824
  # field: "String",
3625
3825
  # },
3626
3826
  # ],
3827
+ # launch_type: "EC2", # accepts EC2, FARGATE
3828
+ # platform_version: "String",
3627
3829
  # network_configuration: {
3628
3830
  # awsvpc_configuration: {
3629
3831
  # subnets: ["String"], # required
3630
3832
  # security_groups: ["String"],
3833
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3631
3834
  # },
3632
3835
  # },
3633
3836
  # }
@@ -3639,9 +3842,9 @@ module Aws::ECS
3639
3842
  # @return [String]
3640
3843
  #
3641
3844
  # @!attribute [rw] task_definition
3642
- # The `family` and `revision` (`family:revision`) or full Amazon
3643
- # Resource Name (ARN) of the task definition to run. If a `revision`
3644
- # is not specified, the latest `ACTIVE` revision is used.
3845
+ # The `family` and `revision` (`family:revision`) or full ARN of the
3846
+ # task definition to run. If a `revision` is not specified, the latest
3847
+ # `ACTIVE` revision is used.
3645
3848
  # @return [String]
3646
3849
  #
3647
3850
  # @!attribute [rw] overrides
@@ -3692,19 +3895,28 @@ module Aws::ECS
3692
3895
  #
3693
3896
  # @!attribute [rw] placement_strategy
3694
3897
  # The placement strategy objects to use for the task. You can specify
3695
- # a maximum of 5 strategy rules per task.
3898
+ # a maximum of five strategy rules per task.
3696
3899
  # @return [Array<Types::PlacementStrategy>]
3697
3900
  #
3901
+ # @!attribute [rw] launch_type
3902
+ # The launch type on which to run your task.
3903
+ # @return [String]
3904
+ #
3905
+ # @!attribute [rw] platform_version
3906
+ # The platform version on which to run your task. If one is not
3907
+ # specified, the latest version is used by default.
3908
+ # @return [String]
3909
+ #
3698
3910
  # @!attribute [rw] network_configuration
3699
3911
  # The network configuration for the task. This parameter is required
3700
3912
  # for task definitions that use the `awsvpc` network mode to receive
3701
3913
  # their own Elastic Network Interface, and it is not supported for
3702
3914
  # other network modes. For more information, see [Task Networking][1]
3703
- # in the *Amazon EC2 Container Service Developer Guide*.
3915
+ # in the *Amazon Elastic Container Service Developer Guide*.
3704
3916
  #
3705
3917
  #
3706
3918
  #
3707
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
3919
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
3708
3920
  # @return [Types::NetworkConfiguration]
3709
3921
  #
3710
3922
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTaskRequest AWS API Documentation
@@ -3718,12 +3930,14 @@ module Aws::ECS
3718
3930
  :group,
3719
3931
  :placement_constraints,
3720
3932
  :placement_strategy,
3933
+ :launch_type,
3934
+ :platform_version,
3721
3935
  :network_configuration)
3722
3936
  include Aws::Structure
3723
3937
  end
3724
3938
 
3725
3939
  # @!attribute [rw] tasks
3726
- # A full description of the tasks that were run. Each task that was
3940
+ # A full description of the tasks that were run. The tasks that were
3727
3941
  # successfully placed on your cluster are described here.
3728
3942
  # @return [Array<Types::Task>]
3729
3943
  #
@@ -3742,10 +3956,10 @@ module Aws::ECS
3742
3956
  # Details on a service within a cluster
3743
3957
  #
3744
3958
  # @!attribute [rw] service_arn
3745
- # The Amazon Resource Name (ARN) that identifies the service. The ARN
3746
- # contains the `arn:aws:ecs` namespace, followed by the region of the
3747
- # service, the AWS account ID of the service owner, the `service`
3748
- # namespace, and then the service name. For example,
3959
+ # The ARN that identifies the service. The ARN contains the
3960
+ # `arn:aws:ecs` namespace, followed by the region of the service, the
3961
+ # AWS account ID of the service owner, the `service` namespace, and
3962
+ # then the service name. For example,
3749
3963
  # `arn:aws:ecs:region:012345678910:service/my-service `.
3750
3964
  # @return [String]
3751
3965
  #
@@ -3789,6 +4003,20 @@ module Aws::ECS
3789
4003
  # The number of tasks in the cluster that are in the `PENDING` state.
3790
4004
  # @return [Integer]
3791
4005
  #
4006
+ # @!attribute [rw] launch_type
4007
+ # The launch type on which your service is running.
4008
+ # @return [String]
4009
+ #
4010
+ # @!attribute [rw] platform_version
4011
+ # The platform version on which your task is running. For more
4012
+ # information, see [AWS Fargate Platform Versions][1] in the *Amazon
4013
+ # Elastic Container Service Developer Guide*.
4014
+ #
4015
+ #
4016
+ #
4017
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
4018
+ # @return [String]
4019
+ #
3792
4020
  # @!attribute [rw] task_definition
3793
4021
  # The task definition to use for tasks in the service. This value is
3794
4022
  # specified when the service is created with CreateService, and it can
@@ -3806,9 +4034,9 @@ module Aws::ECS
3806
4034
  # @return [Array<Types::Deployment>]
3807
4035
  #
3808
4036
  # @!attribute [rw] role_arn
3809
- # The Amazon Resource Name (ARN) of the IAM role associated with the
3810
- # service that allows the Amazon ECS container agent to register
3811
- # container instances with an Elastic Load Balancing load balancer.
4037
+ # The ARN of the IAM role associated with the service that allows the
4038
+ # Amazon ECS container agent to register container instances with an
4039
+ # Elastic Load Balancing load balancer.
3812
4040
  # @return [String]
3813
4041
  #
3814
4042
  # @!attribute [rw] events
@@ -3817,7 +4045,7 @@ module Aws::ECS
3817
4045
  # @return [Array<Types::ServiceEvent>]
3818
4046
  #
3819
4047
  # @!attribute [rw] created_at
3820
- # The Unix timestamp for when the service was created.
4048
+ # The Unix time stamp for when the service was created.
3821
4049
  # @return [Time]
3822
4050
  #
3823
4051
  # @!attribute [rw] placement_constraints
@@ -3846,6 +4074,8 @@ module Aws::ECS
3846
4074
  :desired_count,
3847
4075
  :running_count,
3848
4076
  :pending_count,
4077
+ :launch_type,
4078
+ :platform_version,
3849
4079
  :task_definition,
3850
4080
  :deployment_configuration,
3851
4081
  :deployments,
@@ -3865,7 +4095,7 @@ module Aws::ECS
3865
4095
  # @return [String]
3866
4096
  #
3867
4097
  # @!attribute [rw] created_at
3868
- # The Unix timestamp for when the event was triggered.
4098
+ # The Unix time stamp for when the event was triggered.
3869
4099
  # @return [Time]
3870
4100
  #
3871
4101
  # @!attribute [rw] message
@@ -3904,6 +4134,7 @@ module Aws::ECS
3904
4134
  # },
3905
4135
  # ],
3906
4136
  # task_role_arn: "String",
4137
+ # execution_role_arn: "String",
3907
4138
  # },
3908
4139
  # container_instances: ["String"], # required
3909
4140
  # started_by: "String",
@@ -3912,6 +4143,7 @@ module Aws::ECS
3912
4143
  # awsvpc_configuration: {
3913
4144
  # subnets: ["String"], # required
3914
4145
  # security_groups: ["String"],
4146
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3915
4147
  # },
3916
4148
  # },
3917
4149
  # }
@@ -3923,9 +4155,9 @@ module Aws::ECS
3923
4155
  # @return [String]
3924
4156
  #
3925
4157
  # @!attribute [rw] task_definition
3926
- # The `family` and `revision` (`family:revision`) or full Amazon
3927
- # Resource Name (ARN) of the task definition to start. If a `revision`
3928
- # is not specified, the latest `ACTIVE` revision is used.
4158
+ # The `family` and `revision` (`family:revision`) or full ARN of the
4159
+ # task definition to start. If a `revision` is not specified, the
4160
+ # latest `ACTIVE` revision is used.
3929
4161
  # @return [String]
3930
4162
  #
3931
4163
  # @!attribute [rw] overrides
@@ -3945,9 +4177,9 @@ module Aws::ECS
3945
4177
  # @return [Types::TaskOverride]
3946
4178
  #
3947
4179
  # @!attribute [rw] container_instances
3948
- # The container instance IDs or full Amazon Resource Name (ARN)
3949
- # entries for the container instances on which you would like to place
3950
- # your task. You can specify up to 10 container instances.
4180
+ # The container instance IDs or full ARN entries for the container
4181
+ # instances on which you would like to place your task. You can
4182
+ # specify up to 10 container instances.
3951
4183
  # @return [Array<String>]
3952
4184
  #
3953
4185
  # @!attribute [rw] started_by
@@ -3990,8 +4222,7 @@ module Aws::ECS
3990
4222
 
3991
4223
  # @!attribute [rw] tasks
3992
4224
  # A full description of the tasks that were started. Each task that
3993
- # was successfully placed on your container instances are described
3994
- # here.
4225
+ # was successfully placed on your container instances is described.
3995
4226
  # @return [Array<Types::Task>]
3996
4227
  #
3997
4228
  # @!attribute [rw] failures
@@ -4022,15 +4253,14 @@ module Aws::ECS
4022
4253
  # @return [String]
4023
4254
  #
4024
4255
  # @!attribute [rw] task
4025
- # The task ID or full Amazon Resource Name (ARN) entry of the task to
4026
- # stop.
4256
+ # The task ID or full ARN entry of the task to stop.
4027
4257
  # @return [String]
4028
4258
  #
4029
4259
  # @!attribute [rw] reason
4030
4260
  # An optional message specified when a task is stopped. For example,
4031
4261
  # if you are using a custom scheduler, you can use this parameter to
4032
- # specify the reason for stopping the task here, and the message will
4033
- # appear in subsequent DescribeTasks API operations on this task. Up
4262
+ # specify the reason for stopping the task here, and the message
4263
+ # appears in subsequent DescribeTasks API operations on this task. Up
4034
4264
  # to 255 characters are allowed in this message.
4035
4265
  # @return [String]
4036
4266
  #
@@ -4075,8 +4305,7 @@ module Aws::ECS
4075
4305
  # }
4076
4306
  #
4077
4307
  # @!attribute [rw] cluster
4078
- # The short name or full Amazon Resource Name (ARN) of the cluster
4079
- # that hosts the container.
4308
+ # The short name or full ARN of the cluster that hosts the container.
4080
4309
  # @return [String]
4081
4310
  #
4082
4311
  # @!attribute [rw] task
@@ -4158,6 +4387,9 @@ module Aws::ECS
4158
4387
  # status: "String", # required
4159
4388
  # },
4160
4389
  # ],
4390
+ # pull_started_at: Time.now,
4391
+ # pull_stopped_at: Time.now,
4392
+ # execution_stopped_at: Time.now,
4161
4393
  # }
4162
4394
  #
4163
4395
  # @!attribute [rw] cluster
@@ -4166,8 +4398,7 @@ module Aws::ECS
4166
4398
  # @return [String]
4167
4399
  #
4168
4400
  # @!attribute [rw] task
4169
- # The task ID or full Amazon Resource Name (ARN) of the task in the
4170
- # state change request.
4401
+ # The task ID or full ARN of the task in the state change request.
4171
4402
  # @return [String]
4172
4403
  #
4173
4404
  # @!attribute [rw] status
@@ -4186,6 +4417,18 @@ module Aws::ECS
4186
4417
  # Any attachments associated with the state change request.
4187
4418
  # @return [Array<Types::AttachmentStateChange>]
4188
4419
  #
4420
+ # @!attribute [rw] pull_started_at
4421
+ # The Unix time stamp for when the container image pull began.
4422
+ # @return [Time]
4423
+ #
4424
+ # @!attribute [rw] pull_stopped_at
4425
+ # The Unix time stamp for when the container image pull completed.
4426
+ # @return [Time]
4427
+ #
4428
+ # @!attribute [rw] execution_stopped_at
4429
+ # The Unix timestamp for when the task execution stopped.
4430
+ # @return [Time]
4431
+ #
4189
4432
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/SubmitTaskStateChangeRequest AWS API Documentation
4190
4433
  #
4191
4434
  class SubmitTaskStateChangeRequest < Struct.new(
@@ -4194,7 +4437,10 @@ module Aws::ECS
4194
4437
  :status,
4195
4438
  :reason,
4196
4439
  :containers,
4197
- :attachments)
4440
+ :attachments,
4441
+ :pull_started_at,
4442
+ :pull_stopped_at,
4443
+ :execution_stopped_at)
4198
4444
  include Aws::Structure
4199
4445
  end
4200
4446
 
@@ -4216,17 +4462,15 @@ module Aws::ECS
4216
4462
  # @return [String]
4217
4463
  #
4218
4464
  # @!attribute [rw] cluster_arn
4219
- # The Amazon Resource Name (ARN) of the cluster that hosts the task.
4465
+ # The ARN of the cluster that hosts the task.
4220
4466
  # @return [String]
4221
4467
  #
4222
4468
  # @!attribute [rw] task_definition_arn
4223
- # The Amazon Resource Name (ARN) of the task definition that creates
4224
- # the task.
4469
+ # The ARN of the task definition that creates the task.
4225
4470
  # @return [String]
4226
4471
  #
4227
4472
  # @!attribute [rw] container_instance_arn
4228
- # The Amazon Resource Name (ARN) of the container instances that host
4229
- # the task.
4473
+ # The ARN of the container instances that host the task.
4230
4474
  # @return [String]
4231
4475
  #
4232
4476
  # @!attribute [rw] overrides
@@ -4241,6 +4485,48 @@ module Aws::ECS
4241
4485
  # The desired status of the task.
4242
4486
  # @return [String]
4243
4487
  #
4488
+ # @!attribute [rw] cpu
4489
+ # The number of `cpu` units used by the task. If using the EC2 launch
4490
+ # type, this field is optional and any value can be used. If using the
4491
+ # Fargate launch type, this field is required and you must use one of
4492
+ # the following values, which determines your range of valid values
4493
+ # for the `memory` parameter:
4494
+ #
4495
+ # * 256 (.25 vCPU) - Available `memory` values: 512MB, 1GB, 2GB
4496
+ #
4497
+ # * 512 (.5 vCPU) - Available `memory` values: 1GB, 2GB, 3GB, 4GB
4498
+ #
4499
+ # * 1024 (1 vCPU) - Available `memory` values: 2GB, 3GB, 4GB, 5GB,
4500
+ # 6GB, 7GB, 8GB
4501
+ #
4502
+ # * 2048 (2 vCPU) - Available `memory` values: Between 4GB and 16GB in
4503
+ # 1GB increments
4504
+ #
4505
+ # * 4096 (4 vCPU) - Available `memory` values: Between 8GB and 30GB in
4506
+ # 1GB increments
4507
+ # @return [String]
4508
+ #
4509
+ # @!attribute [rw] memory
4510
+ # The amount (in MiB) of memory used by the task. If using the EC2
4511
+ # launch type, this field is optional and any value can be used. If
4512
+ # using the Fargate launch type, this field is required and you must
4513
+ # use one of the following values, which determines your range of
4514
+ # valid values for the `cpu` parameter:
4515
+ #
4516
+ # * 512MB, 1GB, 2GB - Available `cpu` values: 256 (.25 vCPU)
4517
+ #
4518
+ # * 1GB, 2GB, 3GB, 4GB - Available `cpu` values: 512 (.5 vCPU)
4519
+ #
4520
+ # * 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available `cpu` values: 1024
4521
+ # (1 vCPU)
4522
+ #
4523
+ # * Between 4GB and 16GB in 1GB increments - Available `cpu` values:
4524
+ # 2048 (2 vCPU)
4525
+ #
4526
+ # * Between 8GB and 30GB in 1GB increments - Available `cpu` values:
4527
+ # 4096 (4 vCPU)
4528
+ # @return [String]
4529
+ #
4244
4530
  # @!attribute [rw] containers
4245
4531
  # The containers associated with the task.
4246
4532
  # @return [Array<Types::Container>]
@@ -4255,8 +4541,8 @@ module Aws::ECS
4255
4541
  # The version counter for the task. Every time a task experiences a
4256
4542
  # change that triggers a CloudWatch event, the version counter is
4257
4543
  # incremented. If you are replicating your Amazon ECS task state with
4258
- # CloudWatch events, you can compare the version of a task reported by
4259
- # the Amazon ECS APIs with the version reported in CloudWatch events
4544
+ # CloudWatch Events, you can compare the version of a task reported by
4545
+ # the Amazon ECS APIs with the version reported in CloudWatch Events
4260
4546
  # for the task (inside the `detail` object) to verify that the version
4261
4547
  # in your event stream is current.
4262
4548
  # @return [Integer]
@@ -4265,18 +4551,44 @@ module Aws::ECS
4265
4551
  # The reason the task was stopped.
4266
4552
  # @return [String]
4267
4553
  #
4554
+ # @!attribute [rw] connectivity
4555
+ # The connectivity status of a task.
4556
+ # @return [String]
4557
+ #
4558
+ # @!attribute [rw] connectivity_at
4559
+ # The Unix time stamp for when the task last went into `CONNECTED`
4560
+ # status.
4561
+ # @return [Time]
4562
+ #
4563
+ # @!attribute [rw] pull_started_at
4564
+ # The Unix time stamp for when the container image pull began.
4565
+ # @return [Time]
4566
+ #
4567
+ # @!attribute [rw] pull_stopped_at
4568
+ # The Unix time stamp for when the container image pull completed.
4569
+ # @return [Time]
4570
+ #
4571
+ # @!attribute [rw] execution_stopped_at
4572
+ # The Unix timestamp for when the task execution stopped.
4573
+ # @return [Time]
4574
+ #
4268
4575
  # @!attribute [rw] created_at
4269
- # The Unix timestamp for when the task was created (the task entered
4576
+ # The Unix time stamp for when the task was created (the task entered
4270
4577
  # the `PENDING` state).
4271
4578
  # @return [Time]
4272
4579
  #
4273
4580
  # @!attribute [rw] started_at
4274
- # The Unix timestamp for when the task was started (the task
4275
- # transitioned from the `PENDING` state to the `RUNNING` state).
4581
+ # The Unix time stamp for when the task started (the task transitioned
4582
+ # from the `PENDING` state to the `RUNNING` state).
4583
+ # @return [Time]
4584
+ #
4585
+ # @!attribute [rw] stopping_at
4586
+ # The Unix time stamp for when the task will stop (the task
4587
+ # transitioned from the `RUNNING` state to the `STOPPED` state).
4276
4588
  # @return [Time]
4277
4589
  #
4278
4590
  # @!attribute [rw] stopped_at
4279
- # The Unix timestamp for when the task was stopped (the task
4591
+ # The Unix time stamp for when the task was stopped (the task
4280
4592
  # transitioned from the `RUNNING` state to the `STOPPED` state).
4281
4593
  # @return [Time]
4282
4594
  #
@@ -4284,6 +4596,20 @@ module Aws::ECS
4284
4596
  # The name of the task group associated with the task.
4285
4597
  # @return [String]
4286
4598
  #
4599
+ # @!attribute [rw] launch_type
4600
+ # The launch type on which your task is running.
4601
+ # @return [String]
4602
+ #
4603
+ # @!attribute [rw] platform_version
4604
+ # The platform version on which your task is running. For more
4605
+ # information, see [AWS Fargate Platform Versions][1] in the *Amazon
4606
+ # Elastic Container Service Developer Guide*.
4607
+ #
4608
+ #
4609
+ #
4610
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
4611
+ # @return [String]
4612
+ #
4287
4613
  # @!attribute [rw] attachments
4288
4614
  # The Elastic Network Adapter associated with the task if the task
4289
4615
  # uses the `awsvpc` network mode.
@@ -4299,14 +4625,24 @@ module Aws::ECS
4299
4625
  :overrides,
4300
4626
  :last_status,
4301
4627
  :desired_status,
4628
+ :cpu,
4629
+ :memory,
4302
4630
  :containers,
4303
4631
  :started_by,
4304
4632
  :version,
4305
4633
  :stopped_reason,
4634
+ :connectivity,
4635
+ :connectivity_at,
4636
+ :pull_started_at,
4637
+ :pull_stopped_at,
4638
+ :execution_stopped_at,
4306
4639
  :created_at,
4307
4640
  :started_at,
4641
+ :stopping_at,
4308
4642
  :stopped_at,
4309
4643
  :group,
4644
+ :launch_type,
4645
+ :platform_version,
4310
4646
  :attachments)
4311
4647
  include Aws::Structure
4312
4648
  end
@@ -4321,8 +4657,8 @@ module Aws::ECS
4321
4657
  # A list of container definitions in JSON format that describe the
4322
4658
  # different containers that make up your task. For more information
4323
4659
  # about container definition parameters and defaults, see [Amazon ECS
4324
- # Task Definitions][1] in the *Amazon EC2 Container Service Developer
4325
- # Guide*.
4660
+ # Task Definitions][1] in the *Amazon Elastic Container Service
4661
+ # Developer Guide*.
4326
4662
  #
4327
4663
  #
4328
4664
  #
@@ -4334,29 +4670,52 @@ module Aws::ECS
4334
4670
  # @return [String]
4335
4671
  #
4336
4672
  # @!attribute [rw] task_role_arn
4337
- # The Amazon Resource Name (ARN) of the IAM role that containers in
4338
- # this task can assume. All containers in this task are granted the
4339
- # permissions that are specified in this role.
4673
+ # The ARN of the IAM role that containers in this task can assume. All
4674
+ # containers in this task are granted the permissions that are
4675
+ # specified in this role.
4676
+ # @return [String]
4677
+ #
4678
+ # @!attribute [rw] execution_role_arn
4679
+ # The Amazon Resource Name (ARN) of the task execution role that the
4680
+ # Amazon ECS container agent and the Docker daemon can assume.
4340
4681
  # @return [String]
4341
4682
  #
4342
4683
  # @!attribute [rw] network_mode
4343
4684
  # The Docker networking mode to use for the containers in the task.
4344
- # The valid values are `none`, `bridge`, `awsvpc`, and `host`.
4685
+ # The valid values are `none`, `bridge`, `awsvpc`, and `host`. The
4686
+ # default Docker network mode is `bridge`. If using the Fargate launch
4687
+ # type, the `awsvpc` network mode is required. If using the EC2 launch
4688
+ # type, any network mode can be used. If the network mode is set to
4689
+ # `none`, you can't specify port mappings in your container
4690
+ # definitions, and the task's containers do not have external
4691
+ # connectivity. The `host` and `awsvpc` network modes offer the
4692
+ # highest networking performance for containers because they use the
4693
+ # EC2 network stack instead of the virtualized network stack provided
4694
+ # by the `bridge` mode.
4345
4695
  #
4346
- # If the network mode is `none`, the containers do not have external
4347
- # connectivity. The default Docker network mode is `bridge`. If the
4348
- # network mode is `awsvpc`, the task is allocated an Elastic Network
4349
- # Interface. The `host` and `awsvpc` network modes offer the highest
4350
- # networking performance for containers because they use the EC2
4351
- # network stack instead of the virtualized network stack provided by
4352
- # the `bridge` mode.
4696
+ # With the `host` and `awsvpc` network modes, exposed container ports
4697
+ # are mapped directly to the corresponding host port (for the `host`
4698
+ # network mode) or the attached elastic network interface port (for
4699
+ # the `awsvpc` network mode), so you cannot take advantage of dynamic
4700
+ # host port mappings.
4353
4701
  #
4354
- # For more information, see [Network settings][1] in the *Docker run
4702
+ # If the network mode is `awsvpc`, the task is allocated an Elastic
4703
+ # Network Interface, and you must specify a NetworkConfiguration when
4704
+ # you create a service or run a task with the task definition. For
4705
+ # more information, see [Task Networking][1] in the *Amazon Elastic
4706
+ # Container Service Developer Guide*.
4707
+ #
4708
+ # If the network mode is `host`, you can't run multiple
4709
+ # instantiations of the same task on a single container instance when
4710
+ # port mappings are used.
4711
+ #
4712
+ # For more information, see [Network settings][2] in the *Docker run
4355
4713
  # reference*.
4356
4714
  #
4357
4715
  #
4358
4716
  #
4359
- # [1]: https://docs.docker.com/engine/reference/run/#network-settings
4717
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
4718
+ # [2]: https://docs.docker.com/engine/reference/run/#network-settings
4360
4719
  # @return [String]
4361
4720
  #
4362
4721
  # @!attribute [rw] revision
@@ -4369,14 +4728,18 @@ module Aws::ECS
4369
4728
  # @return [Integer]
4370
4729
  #
4371
4730
  # @!attribute [rw] volumes
4372
- # The list of volumes in a task. For more information about volume
4373
- # definition parameters and defaults, see [Amazon ECS Task
4374
- # Definitions][1] in the *Amazon EC2 Container Service Developer
4375
- # Guide*.
4731
+ # The list of volumes in a task.
4376
4732
  #
4733
+ # If you are using the Fargate launch type, the `host` and
4734
+ # `sourcePath` parameters are not supported.
4377
4735
  #
4736
+ # For more information about volume definition parameters and
4737
+ # defaults, see [Amazon ECS Task Definitions][1] in the *Amazon
4738
+ # Elastic Container Service Developer Guide*.
4378
4739
  #
4379
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html
4740
+ #
4741
+ #
4742
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
4380
4743
  # @return [Array<Types::Volume>]
4381
4744
  #
4382
4745
  # @!attribute [rw] status
@@ -4384,13 +4747,71 @@ module Aws::ECS
4384
4747
  # @return [String]
4385
4748
  #
4386
4749
  # @!attribute [rw] requires_attributes
4387
- # The container instance attributes required by your task.
4750
+ # The container instance attributes required by your task. This field
4751
+ # is not valid if using the Fargate launch type for your task.
4388
4752
  # @return [Array<Types::Attribute>]
4389
4753
  #
4390
4754
  # @!attribute [rw] placement_constraints
4391
- # An array of placement constraint objects to use for tasks.
4755
+ # An array of placement constraint objects to use for tasks. This
4756
+ # field is not valid if using the Fargate launch type for your task.
4392
4757
  # @return [Array<Types::TaskDefinitionPlacementConstraint>]
4393
4758
  #
4759
+ # @!attribute [rw] compatibilities
4760
+ # The launch type to use with your task. For more information, see
4761
+ # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
4762
+ # Service Developer Guide*.
4763
+ #
4764
+ #
4765
+ #
4766
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
4767
+ # @return [Array<String>]
4768
+ #
4769
+ # @!attribute [rw] requires_compatibilities
4770
+ # The launch type the task is using.
4771
+ # @return [Array<String>]
4772
+ #
4773
+ # @!attribute [rw] cpu
4774
+ # The number of `cpu` units used by the task. If using the EC2 launch
4775
+ # type, this field is optional and any value can be used. If using the
4776
+ # Fargate launch type, this field is required and you must use one of
4777
+ # the following values, which determines your range of valid values
4778
+ # for the `memory` parameter:
4779
+ #
4780
+ # * 256 (.25 vCPU) - Available `memory` values: 512MB, 1GB, 2GB
4781
+ #
4782
+ # * 512 (.5 vCPU) - Available `memory` values: 1GB, 2GB, 3GB, 4GB
4783
+ #
4784
+ # * 1024 (1 vCPU) - Available `memory` values: 2GB, 3GB, 4GB, 5GB,
4785
+ # 6GB, 7GB, 8GB
4786
+ #
4787
+ # * 2048 (2 vCPU) - Available `memory` values: Between 4GB and 16GB in
4788
+ # 1GB increments
4789
+ #
4790
+ # * 4096 (4 vCPU) - Available `memory` values: Between 8GB and 30GB in
4791
+ # 1GB increments
4792
+ # @return [String]
4793
+ #
4794
+ # @!attribute [rw] memory
4795
+ # The amount (in MiB) of memory used by the task. If using the EC2
4796
+ # launch type, this field is optional and any value can be used. If
4797
+ # using the Fargate launch type, this field is required and you must
4798
+ # use one of the following values, which determines your range of
4799
+ # valid values for the `cpu` parameter:
4800
+ #
4801
+ # * 512MB, 1GB, 2GB - Available `cpu` values: 256 (.25 vCPU)
4802
+ #
4803
+ # * 1GB, 2GB, 3GB, 4GB - Available `cpu` values: 512 (.5 vCPU)
4804
+ #
4805
+ # * 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available `cpu` values: 1024
4806
+ # (1 vCPU)
4807
+ #
4808
+ # * Between 4GB and 16GB in 1GB increments - Available `cpu` values:
4809
+ # 2048 (2 vCPU)
4810
+ #
4811
+ # * Between 8GB and 30GB in 1GB increments - Available `cpu` values:
4812
+ # 4096 (4 vCPU)
4813
+ # @return [String]
4814
+ #
4394
4815
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
4395
4816
  #
4396
4817
  class TaskDefinition < Struct.new(
@@ -4398,18 +4819,28 @@ module Aws::ECS
4398
4819
  :container_definitions,
4399
4820
  :family,
4400
4821
  :task_role_arn,
4822
+ :execution_role_arn,
4401
4823
  :network_mode,
4402
4824
  :revision,
4403
4825
  :volumes,
4404
4826
  :status,
4405
4827
  :requires_attributes,
4406
- :placement_constraints)
4828
+ :placement_constraints,
4829
+ :compatibilities,
4830
+ :requires_compatibilities,
4831
+ :cpu,
4832
+ :memory)
4407
4833
  include Aws::Structure
4408
4834
  end
4409
4835
 
4410
4836
  # An object representing a constraint on task placement in the task
4411
- # definition. For more information, see [Task Placement Constraints][1]
4412
- # in the *Amazon EC2 Container Service Developer Guide*.
4837
+ # definition.
4838
+ #
4839
+ # If you are using the Fargate launch type, task placement contraints
4840
+ # are not supported.
4841
+ #
4842
+ # For more information, see [Task Placement Constraints][1] in the
4843
+ # *Amazon Elastic Container Service Developer Guide*.
4413
4844
  #
4414
4845
  #
4415
4846
  #
@@ -4432,8 +4863,8 @@ module Aws::ECS
4432
4863
  #
4433
4864
  # @!attribute [rw] expression
4434
4865
  # A cluster query language expression to apply to the constraint. For
4435
- # more information, see [Cluster Query Language][1] in the *Amazon EC2
4436
- # Container Service Developer Guide*.
4866
+ # more information, see [Cluster Query Language][1] in the *Amazon
4867
+ # Elastic Container Service Developer Guide*.
4437
4868
  #
4438
4869
  #
4439
4870
  #
@@ -4470,6 +4901,7 @@ module Aws::ECS
4470
4901
  # },
4471
4902
  # ],
4472
4903
  # task_role_arn: "String",
4904
+ # execution_role_arn: "String",
4473
4905
  # }
4474
4906
  #
4475
4907
  # @!attribute [rw] container_overrides
@@ -4482,11 +4914,17 @@ module Aws::ECS
4482
4914
  # permissions that are specified in this role.
4483
4915
  # @return [String]
4484
4916
  #
4917
+ # @!attribute [rw] execution_role_arn
4918
+ # The Amazon Resource Name (ARN) of the task execution role that the
4919
+ # Amazon ECS container agent and the Docker daemon can assume.
4920
+ # @return [String]
4921
+ #
4485
4922
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskOverride AWS API Documentation
4486
4923
  #
4487
4924
  class TaskOverride < Struct.new(
4488
4925
  :container_overrides,
4489
- :task_role_arn)
4926
+ :task_role_arn,
4927
+ :execution_role_arn)
4490
4928
  include Aws::Structure
4491
4929
  end
4492
4930
 
@@ -4537,9 +4975,9 @@ module Aws::ECS
4537
4975
  # @return [String]
4538
4976
  #
4539
4977
  # @!attribute [rw] container_instance
4540
- # The container instance ID or full Amazon Resource Name (ARN) entries
4541
- # for the container instance on which you would like to update the
4542
- # Amazon ECS container agent.
4978
+ # The container instance ID or full ARN entries for the container
4979
+ # instance on which you would like to update the Amazon ECS container
4980
+ # agent.
4543
4981
  # @return [String]
4544
4982
  #
4545
4983
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateContainerAgentRequest AWS API Documentation
@@ -4577,8 +5015,7 @@ module Aws::ECS
4577
5015
  # @return [String]
4578
5016
  #
4579
5017
  # @!attribute [rw] container_instances
4580
- # A list of container instance IDs or full Amazon Resource Name (ARN)
4581
- # entries.
5018
+ # A list of container instance IDs or full ARN entries.
4582
5019
  # @return [Array<String>]
4583
5020
  #
4584
5021
  # @!attribute [rw] status
@@ -4627,8 +5064,11 @@ module Aws::ECS
4627
5064
  # awsvpc_configuration: {
4628
5065
  # subnets: ["String"], # required
4629
5066
  # security_groups: ["String"],
5067
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4630
5068
  # },
4631
5069
  # },
5070
+ # platform_version: "String",
5071
+ # force_new_deployment: false,
4632
5072
  # }
4633
5073
  #
4634
5074
  # @!attribute [rw] cluster
@@ -4647,12 +5087,12 @@ module Aws::ECS
4647
5087
  # @return [Integer]
4648
5088
  #
4649
5089
  # @!attribute [rw] task_definition
4650
- # The `family` and `revision` (`family:revision`) or full Amazon
4651
- # Resource Name (ARN) of the task definition to run in your service.
4652
- # If a `revision` is not specified, the latest `ACTIVE` revision is
4653
- # used. If you modify the task definition with `UpdateService`, Amazon
4654
- # ECS spawns a task with the new version of the task definition and
4655
- # then stops an old task after the new version is running.
5090
+ # The `family` and `revision` (`family:revision`) or full ARN of the
5091
+ # task definition to run in your service. If a `revision` is not
5092
+ # specified, the latest `ACTIVE` revision is used. If you modify the
5093
+ # task definition with `UpdateService`, Amazon ECS spawns a task with
5094
+ # the new version of the task definition and then stops an old task
5095
+ # after the new version is running.
4656
5096
  # @return [String]
4657
5097
  #
4658
5098
  # @!attribute [rw] deployment_configuration
@@ -4666,7 +5106,7 @@ module Aws::ECS
4666
5106
  # required for task definitions that use the `awsvpc` network mode to
4667
5107
  # receive their own Elastic Network Interface, and it is not supported
4668
5108
  # for other network modes. For more information, see [Task
4669
- # Networking][1] in the *Amazon EC2 Container Service Developer
5109
+ # Networking][1] in the *Amazon Elastic Container Service Developer
4670
5110
  # Guide*.
4671
5111
  #
4672
5112
  # <note markdown="1"> Updating a service to add a subnet to a list of existing subnets
@@ -4679,9 +5119,17 @@ module Aws::ECS
4679
5119
  #
4680
5120
  #
4681
5121
  #
4682
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguidetask-networking.html
5122
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
4683
5123
  # @return [Types::NetworkConfiguration]
4684
5124
  #
5125
+ # @!attribute [rw] platform_version
5126
+ # The platform version you want to update your service to run.
5127
+ # @return [String]
5128
+ #
5129
+ # @!attribute [rw] force_new_deployment
5130
+ # Whether or not to force a new deployment of the service.
5131
+ # @return [Boolean]
5132
+ #
4685
5133
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
4686
5134
  #
4687
5135
  class UpdateServiceRequest < Struct.new(
@@ -4690,7 +5138,9 @@ module Aws::ECS
4690
5138
  :desired_count,
4691
5139
  :task_definition,
4692
5140
  :deployment_configuration,
4693
- :network_configuration)
5141
+ :network_configuration,
5142
+ :platform_version,
5143
+ :force_new_deployment)
4694
5144
  include Aws::Structure
4695
5145
  end
4696
5146
 
@@ -4769,6 +5219,9 @@ module Aws::ECS
4769
5219
  # assigns a host path for your data volume, but the data is not
4770
5220
  # guaranteed to persist after the containers associated with it stop
4771
5221
  # running.
5222
+ #
5223
+ # If you are using the Fargate launch type, the `host` parameter is
5224
+ # not supported.
4772
5225
  # @return [Types::HostVolumeProperties]
4773
5226
  #
4774
5227
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Volume AWS API Documentation