aws-sdk-ecs 1.4.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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