aws-sdk-ecs 1.35.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -59,6 +59,8 @@ module Aws::ECS
59
59
  CreateClusterResponse = Shapes::StructureShape.new(name: 'CreateClusterResponse')
60
60
  CreateServiceRequest = Shapes::StructureShape.new(name: 'CreateServiceRequest')
61
61
  CreateServiceResponse = Shapes::StructureShape.new(name: 'CreateServiceResponse')
62
+ CreateTaskSetRequest = Shapes::StructureShape.new(name: 'CreateTaskSetRequest')
63
+ CreateTaskSetResponse = Shapes::StructureShape.new(name: 'CreateTaskSetResponse')
62
64
  DeleteAccountSettingRequest = Shapes::StructureShape.new(name: 'DeleteAccountSettingRequest')
63
65
  DeleteAccountSettingResponse = Shapes::StructureShape.new(name: 'DeleteAccountSettingResponse')
64
66
  DeleteAttributesRequest = Shapes::StructureShape.new(name: 'DeleteAttributesRequest')
@@ -67,6 +69,8 @@ module Aws::ECS
67
69
  DeleteClusterResponse = Shapes::StructureShape.new(name: 'DeleteClusterResponse')
68
70
  DeleteServiceRequest = Shapes::StructureShape.new(name: 'DeleteServiceRequest')
69
71
  DeleteServiceResponse = Shapes::StructureShape.new(name: 'DeleteServiceResponse')
72
+ DeleteTaskSetRequest = Shapes::StructureShape.new(name: 'DeleteTaskSetRequest')
73
+ DeleteTaskSetResponse = Shapes::StructureShape.new(name: 'DeleteTaskSetResponse')
70
74
  Deployment = Shapes::StructureShape.new(name: 'Deployment')
71
75
  DeploymentConfiguration = Shapes::StructureShape.new(name: 'DeploymentConfiguration')
72
76
  DeploymentController = Shapes::StructureShape.new(name: 'DeploymentController')
@@ -84,6 +88,8 @@ module Aws::ECS
84
88
  DescribeServicesResponse = Shapes::StructureShape.new(name: 'DescribeServicesResponse')
85
89
  DescribeTaskDefinitionRequest = Shapes::StructureShape.new(name: 'DescribeTaskDefinitionRequest')
86
90
  DescribeTaskDefinitionResponse = Shapes::StructureShape.new(name: 'DescribeTaskDefinitionResponse')
91
+ DescribeTaskSetsRequest = Shapes::StructureShape.new(name: 'DescribeTaskSetsRequest')
92
+ DescribeTaskSetsResponse = Shapes::StructureShape.new(name: 'DescribeTaskSetsResponse')
87
93
  DescribeTasksRequest = Shapes::StructureShape.new(name: 'DescribeTasksRequest')
88
94
  DescribeTasksResponse = Shapes::StructureShape.new(name: 'DescribeTasksResponse')
89
95
  DesiredStatus = Shapes::StringShape.new(name: 'DesiredStatus')
@@ -242,6 +248,7 @@ module Aws::ECS
242
248
  TaskFieldList = Shapes::ListShape.new(name: 'TaskFieldList')
243
249
  TaskOverride = Shapes::StructureShape.new(name: 'TaskOverride')
244
250
  TaskSet = Shapes::StructureShape.new(name: 'TaskSet')
251
+ TaskSetNotFoundException = Shapes::StructureShape.new(name: 'TaskSetNotFoundException')
245
252
  TaskSets = Shapes::ListShape.new(name: 'TaskSets')
246
253
  TaskStopCode = Shapes::StringShape.new(name: 'TaskStopCode')
247
254
  Tasks = Shapes::ListShape.new(name: 'Tasks')
@@ -260,8 +267,12 @@ module Aws::ECS
260
267
  UpdateContainerInstancesStateRequest = Shapes::StructureShape.new(name: 'UpdateContainerInstancesStateRequest')
261
268
  UpdateContainerInstancesStateResponse = Shapes::StructureShape.new(name: 'UpdateContainerInstancesStateResponse')
262
269
  UpdateInProgressException = Shapes::StructureShape.new(name: 'UpdateInProgressException')
270
+ UpdateServicePrimaryTaskSetRequest = Shapes::StructureShape.new(name: 'UpdateServicePrimaryTaskSetRequest')
271
+ UpdateServicePrimaryTaskSetResponse = Shapes::StructureShape.new(name: 'UpdateServicePrimaryTaskSetResponse')
263
272
  UpdateServiceRequest = Shapes::StructureShape.new(name: 'UpdateServiceRequest')
264
273
  UpdateServiceResponse = Shapes::StructureShape.new(name: 'UpdateServiceResponse')
274
+ UpdateTaskSetRequest = Shapes::StructureShape.new(name: 'UpdateTaskSetRequest')
275
+ UpdateTaskSetResponse = Shapes::StructureShape.new(name: 'UpdateTaskSetResponse')
265
276
  VersionInfo = Shapes::StructureShape.new(name: 'VersionInfo')
266
277
  Volume = Shapes::StructureShape.new(name: 'Volume')
267
278
  VolumeFrom = Shapes::StructureShape.new(name: 'VolumeFrom')
@@ -428,7 +439,7 @@ module Aws::ECS
428
439
 
429
440
  CreateServiceRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
430
441
  CreateServiceRequest.add_member(:service_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceName"))
431
- CreateServiceRequest.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, required: true, location_name: "taskDefinition"))
442
+ CreateServiceRequest.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
432
443
  CreateServiceRequest.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
433
444
  CreateServiceRequest.add_member(:service_registries, Shapes::ShapeRef.new(shape: ServiceRegistries, location_name: "serviceRegistries"))
434
445
  CreateServiceRequest.add_member(:desired_count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "desiredCount"))
@@ -451,6 +462,22 @@ module Aws::ECS
451
462
  CreateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
452
463
  CreateServiceResponse.struct_class = Types::CreateServiceResponse
453
464
 
465
+ CreateTaskSetRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
466
+ CreateTaskSetRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
467
+ CreateTaskSetRequest.add_member(:external_id, Shapes::ShapeRef.new(shape: String, location_name: "externalId"))
468
+ CreateTaskSetRequest.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, required: true, location_name: "taskDefinition"))
469
+ CreateTaskSetRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
470
+ CreateTaskSetRequest.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
471
+ CreateTaskSetRequest.add_member(:service_registries, Shapes::ShapeRef.new(shape: ServiceRegistries, location_name: "serviceRegistries"))
472
+ CreateTaskSetRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
473
+ CreateTaskSetRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
474
+ CreateTaskSetRequest.add_member(:scale, Shapes::ShapeRef.new(shape: Scale, location_name: "scale"))
475
+ CreateTaskSetRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
476
+ CreateTaskSetRequest.struct_class = Types::CreateTaskSetRequest
477
+
478
+ CreateTaskSetResponse.add_member(:task_set, Shapes::ShapeRef.new(shape: TaskSet, location_name: "taskSet"))
479
+ CreateTaskSetResponse.struct_class = Types::CreateTaskSetResponse
480
+
454
481
  DeleteAccountSettingRequest.add_member(:name, Shapes::ShapeRef.new(shape: SettingName, required: true, location_name: "name"))
455
482
  DeleteAccountSettingRequest.add_member(:principal_arn, Shapes::ShapeRef.new(shape: String, location_name: "principalArn"))
456
483
  DeleteAccountSettingRequest.struct_class = Types::DeleteAccountSettingRequest
@@ -479,6 +506,15 @@ module Aws::ECS
479
506
  DeleteServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
480
507
  DeleteServiceResponse.struct_class = Types::DeleteServiceResponse
481
508
 
509
+ DeleteTaskSetRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
510
+ DeleteTaskSetRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
511
+ DeleteTaskSetRequest.add_member(:task_set, Shapes::ShapeRef.new(shape: String, required: true, location_name: "taskSet"))
512
+ DeleteTaskSetRequest.add_member(:force, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "force"))
513
+ DeleteTaskSetRequest.struct_class = Types::DeleteTaskSetRequest
514
+
515
+ DeleteTaskSetResponse.add_member(:task_set, Shapes::ShapeRef.new(shape: TaskSet, location_name: "taskSet"))
516
+ DeleteTaskSetResponse.struct_class = Types::DeleteTaskSetResponse
517
+
482
518
  Deployment.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
483
519
  Deployment.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
484
520
  Deployment.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
@@ -549,6 +585,15 @@ module Aws::ECS
549
585
  DescribeTaskDefinitionResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
550
586
  DescribeTaskDefinitionResponse.struct_class = Types::DescribeTaskDefinitionResponse
551
587
 
588
+ DescribeTaskSetsRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
589
+ DescribeTaskSetsRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
590
+ DescribeTaskSetsRequest.add_member(:task_sets, Shapes::ShapeRef.new(shape: StringList, location_name: "taskSets"))
591
+ DescribeTaskSetsRequest.struct_class = Types::DescribeTaskSetsRequest
592
+
593
+ DescribeTaskSetsResponse.add_member(:task_sets, Shapes::ShapeRef.new(shape: TaskSets, location_name: "taskSets"))
594
+ DescribeTaskSetsResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
595
+ DescribeTaskSetsResponse.struct_class = Types::DescribeTaskSetsResponse
596
+
552
597
  DescribeTasksRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
553
598
  DescribeTasksRequest.add_member(:tasks, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "tasks"))
554
599
  DescribeTasksRequest.add_member(:include, Shapes::ShapeRef.new(shape: TaskFieldList, location_name: "include"))
@@ -1102,6 +1147,8 @@ module Aws::ECS
1102
1147
 
1103
1148
  TaskSet.add_member(:id, Shapes::ShapeRef.new(shape: String, location_name: "id"))
1104
1149
  TaskSet.add_member(:task_set_arn, Shapes::ShapeRef.new(shape: String, location_name: "taskSetArn"))
1150
+ TaskSet.add_member(:service_arn, Shapes::ShapeRef.new(shape: String, location_name: "serviceArn"))
1151
+ TaskSet.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
1105
1152
  TaskSet.add_member(:started_by, Shapes::ShapeRef.new(shape: String, location_name: "startedBy"))
1106
1153
  TaskSet.add_member(:external_id, Shapes::ShapeRef.new(shape: String, location_name: "externalId"))
1107
1154
  TaskSet.add_member(:status, Shapes::ShapeRef.new(shape: String, location_name: "status"))
@@ -1115,6 +1162,7 @@ module Aws::ECS
1115
1162
  TaskSet.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1116
1163
  TaskSet.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1117
1164
  TaskSet.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
1165
+ TaskSet.add_member(:service_registries, Shapes::ShapeRef.new(shape: ServiceRegistries, location_name: "serviceRegistries"))
1118
1166
  TaskSet.add_member(:scale, Shapes::ShapeRef.new(shape: Scale, location_name: "scale"))
1119
1167
  TaskSet.add_member(:stability_status, Shapes::ShapeRef.new(shape: StabilityStatus, location_name: "stabilityStatus"))
1120
1168
  TaskSet.add_member(:stability_status_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "stabilityStatusAt"))
@@ -1160,6 +1208,14 @@ module Aws::ECS
1160
1208
  UpdateContainerInstancesStateResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
1161
1209
  UpdateContainerInstancesStateResponse.struct_class = Types::UpdateContainerInstancesStateResponse
1162
1210
 
1211
+ UpdateServicePrimaryTaskSetRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1212
+ UpdateServicePrimaryTaskSetRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
1213
+ UpdateServicePrimaryTaskSetRequest.add_member(:primary_task_set, Shapes::ShapeRef.new(shape: String, required: true, location_name: "primaryTaskSet"))
1214
+ UpdateServicePrimaryTaskSetRequest.struct_class = Types::UpdateServicePrimaryTaskSetRequest
1215
+
1216
+ UpdateServicePrimaryTaskSetResponse.add_member(:task_set, Shapes::ShapeRef.new(shape: TaskSet, location_name: "taskSet"))
1217
+ UpdateServicePrimaryTaskSetResponse.struct_class = Types::UpdateServicePrimaryTaskSetResponse
1218
+
1163
1219
  UpdateServiceRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
1164
1220
  UpdateServiceRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
1165
1221
  UpdateServiceRequest.add_member(:desired_count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "desiredCount"))
@@ -1174,6 +1230,15 @@ module Aws::ECS
1174
1230
  UpdateServiceResponse.add_member(:service, Shapes::ShapeRef.new(shape: Service, location_name: "service"))
1175
1231
  UpdateServiceResponse.struct_class = Types::UpdateServiceResponse
1176
1232
 
1233
+ UpdateTaskSetRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1234
+ UpdateTaskSetRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
1235
+ UpdateTaskSetRequest.add_member(:task_set, Shapes::ShapeRef.new(shape: String, required: true, location_name: "taskSet"))
1236
+ UpdateTaskSetRequest.add_member(:scale, Shapes::ShapeRef.new(shape: Scale, required: true, location_name: "scale"))
1237
+ UpdateTaskSetRequest.struct_class = Types::UpdateTaskSetRequest
1238
+
1239
+ UpdateTaskSetResponse.add_member(:task_set, Shapes::ShapeRef.new(shape: TaskSet, location_name: "taskSet"))
1240
+ UpdateTaskSetResponse.struct_class = Types::UpdateTaskSetResponse
1241
+
1177
1242
  VersionInfo.add_member(:agent_version, Shapes::ShapeRef.new(shape: String, location_name: "agentVersion"))
1178
1243
  VersionInfo.add_member(:agent_hash, Shapes::ShapeRef.new(shape: String, location_name: "agentHash"))
1179
1244
  VersionInfo.add_member(:docker_version, Shapes::ShapeRef.new(shape: String, location_name: "dockerVersion"))
@@ -1238,6 +1303,24 @@ module Aws::ECS
1238
1303
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1239
1304
  end)
1240
1305
 
1306
+ api.add_operation(:create_task_set, Seahorse::Model::Operation.new.tap do |o|
1307
+ o.name = "CreateTaskSet"
1308
+ o.http_method = "POST"
1309
+ o.http_request_uri = "/"
1310
+ o.input = Shapes::ShapeRef.new(shape: CreateTaskSetRequest)
1311
+ o.output = Shapes::ShapeRef.new(shape: CreateTaskSetResponse)
1312
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1313
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1314
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1315
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1316
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
1317
+ o.errors << Shapes::ShapeRef.new(shape: PlatformUnknownException)
1318
+ o.errors << Shapes::ShapeRef.new(shape: PlatformTaskDefinitionIncompatibilityException)
1319
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1320
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1321
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1322
+ end)
1323
+
1241
1324
  api.add_operation(:delete_account_setting, Seahorse::Model::Operation.new.tap do |o|
1242
1325
  o.name = "DeleteAccountSetting"
1243
1326
  o.http_method = "POST"
@@ -1288,6 +1371,23 @@ module Aws::ECS
1288
1371
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1289
1372
  end)
1290
1373
 
1374
+ api.add_operation(:delete_task_set, Seahorse::Model::Operation.new.tap do |o|
1375
+ o.name = "DeleteTaskSet"
1376
+ o.http_method = "POST"
1377
+ o.http_request_uri = "/"
1378
+ o.input = Shapes::ShapeRef.new(shape: DeleteTaskSetRequest)
1379
+ o.output = Shapes::ShapeRef.new(shape: DeleteTaskSetResponse)
1380
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1381
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1382
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1383
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1384
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
1385
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1386
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1387
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1388
+ o.errors << Shapes::ShapeRef.new(shape: TaskSetNotFoundException)
1389
+ end)
1390
+
1291
1391
  api.add_operation(:deregister_container_instance, Seahorse::Model::Operation.new.tap do |o|
1292
1392
  o.name = "DeregisterContainerInstance"
1293
1393
  o.http_method = "POST"
@@ -1357,6 +1457,22 @@ module Aws::ECS
1357
1457
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1358
1458
  end)
1359
1459
 
1460
+ api.add_operation(:describe_task_sets, Seahorse::Model::Operation.new.tap do |o|
1461
+ o.name = "DescribeTaskSets"
1462
+ o.http_method = "POST"
1463
+ o.http_request_uri = "/"
1464
+ o.input = Shapes::ShapeRef.new(shape: DescribeTaskSetsRequest)
1465
+ o.output = Shapes::ShapeRef.new(shape: DescribeTaskSetsResponse)
1466
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1467
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1468
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1469
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1470
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
1471
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1472
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1473
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1474
+ end)
1475
+
1360
1476
  api.add_operation(:describe_tasks, Seahorse::Model::Operation.new.tap do |o|
1361
1477
  o.name = "DescribeTasks"
1362
1478
  o.http_method = "POST"
@@ -1706,6 +1822,41 @@ module Aws::ECS
1706
1822
  o.errors << Shapes::ShapeRef.new(shape: PlatformTaskDefinitionIncompatibilityException)
1707
1823
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1708
1824
  end)
1825
+
1826
+ api.add_operation(:update_service_primary_task_set, Seahorse::Model::Operation.new.tap do |o|
1827
+ o.name = "UpdateServicePrimaryTaskSet"
1828
+ o.http_method = "POST"
1829
+ o.http_request_uri = "/"
1830
+ o.input = Shapes::ShapeRef.new(shape: UpdateServicePrimaryTaskSetRequest)
1831
+ o.output = Shapes::ShapeRef.new(shape: UpdateServicePrimaryTaskSetResponse)
1832
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1833
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1834
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1835
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1836
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
1837
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1838
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1839
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1840
+ o.errors << Shapes::ShapeRef.new(shape: TaskSetNotFoundException)
1841
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1842
+ end)
1843
+
1844
+ api.add_operation(:update_task_set, Seahorse::Model::Operation.new.tap do |o|
1845
+ o.name = "UpdateTaskSet"
1846
+ o.http_method = "POST"
1847
+ o.http_request_uri = "/"
1848
+ o.input = Shapes::ShapeRef.new(shape: UpdateTaskSetRequest)
1849
+ o.output = Shapes::ShapeRef.new(shape: UpdateTaskSetResponse)
1850
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1851
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1852
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1853
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1854
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
1855
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1856
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1857
+ o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1858
+ o.errors << Shapes::ShapeRef.new(shape: TaskSetNotFoundException)
1859
+ end)
1709
1860
  end
1710
1861
 
1711
1862
  end
@@ -852,29 +852,82 @@ module Aws::ECS
852
852
  # @return [Array<Types::Secret>]
853
853
  #
854
854
  # @!attribute [rw] depends_on
855
- # The dependencies defined for container startup. A container can
856
- # contain multiple dependencies.
855
+ # The dependencies defined for container startup and shutdown. A
856
+ # container can contain multiple dependencies. When a dependency is
857
+ # defined for container startup, for container shutdown it is
858
+ # reversed.
859
+ #
860
+ # Your Amazon ECS container instances require at least version 1.26.0
861
+ # of the container agent to enable container dependencies. However, we
862
+ # recommend using the latest container agent version. For information
863
+ # about checking your agent version and updating to the latest
864
+ # version, see [Updating the Amazon ECS Container Agent][1] in the
865
+ # *Amazon Elastic Container Service Developer Guide*. If you are using
866
+ # an Amazon ECS-optimized Linux AMI, your instance needs at least
867
+ # version 1.26.0-1 of the `ecs-init` package. If your container
868
+ # instances are launched from version `20190301` or later, then they
869
+ # contain the required versions of the container agent and `ecs-init`.
870
+ # For more information, see [Amazon ECS-optimized Linux AMI][2] in the
871
+ # *Amazon Elastic Container Service Developer Guide*.
872
+ #
873
+ #
874
+ #
875
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html
876
+ # [2]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
857
877
  # @return [Array<Types::ContainerDependency>]
858
878
  #
859
879
  # @!attribute [rw] start_timeout
860
- # Time duration to wait before giving up on starting the container.
880
+ # Time duration to wait before giving up on resolving dependencies for
881
+ # a container. For example, you specify two containers in a task
882
+ # definition with containerA having a dependency on containerB
883
+ # reaching a `COMPLETE`, `SUCCESS`, or `HEALTHY` status. If a
884
+ # `startTimeout` value is specified for containerB and it does not
885
+ # reach the desired status within that time then containerA will give
886
+ # up and not start. This results in the task transitioning to a
887
+ # `STOPPED` state.
888
+ #
889
+ # Your Amazon ECS container instances require at least version 1.26.0
890
+ # of the container agent to enable a container start timeout value.
891
+ # However, we recommend using the latest container agent version. For
892
+ # information about checking your agent version and updating to the
893
+ # latest version, see [Updating the Amazon ECS Container Agent][1] in
894
+ # the *Amazon Elastic Container Service Developer Guide*. If you are
895
+ # using an Amazon ECS-optimized Linux AMI, your instance needs at
896
+ # least version 1.26.0-1 of the `ecs-init` package. If your container
897
+ # instances are launched from version `20190301` or later, then they
898
+ # contain the required versions of the container agent and `ecs-init`.
899
+ # For more information, see [Amazon ECS-optimized Linux AMI][2] in the
900
+ # *Amazon Elastic Container Service Developer Guide*.
861
901
  #
862
- # <note markdown="1"> The `startTimeout` value for the container will take precedence over
863
- # the `ECS_CONTAINER_START_TIMEOUT` container agent configuration
864
- # parameter, if used.
865
902
  #
866
- # </note>
903
+ #
904
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html
905
+ # [2]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
867
906
  # @return [Integer]
868
907
  #
869
908
  # @!attribute [rw] stop_timeout
870
909
  # Time duration to wait before the container is forcefully killed if
871
- # it does not exit normally on its own.
910
+ # it doesn't exit normally on its own. The stop timeout value for the
911
+ # container takes precedence over the `ECS_CONTAINER_STOP_TIMEOUT`
912
+ # container agent configuration parameter, if used.
913
+ #
914
+ # Your Amazon ECS container instances require at least version 1.26.0
915
+ # of the container agent to enable a container stop timeout value.
916
+ # However, we recommend using the latest container agent version. For
917
+ # information about checking your agent version and updating to the
918
+ # latest version, see [Updating the Amazon ECS Container Agent][1] in
919
+ # the *Amazon Elastic Container Service Developer Guide*. If you are
920
+ # using an Amazon ECS-optimized Linux AMI, your instance needs at
921
+ # least version 1.26.0-1 of the `ecs-init` package. If your container
922
+ # instances are launched from version `20190301` or later, then they
923
+ # contain the required versions of the container agent and `ecs-init`.
924
+ # For more information, see [Amazon ECS-optimized Linux AMI][2] in the
925
+ # *Amazon Elastic Container Service Developer Guide*.
872
926
  #
873
- # <note markdown="1"> The `stopTimeout` value for the container will take precedence over
874
- # the `ECS_CONTAINER_STOP_TIMEOUT` container agent configuration
875
- # parameter, if used.
876
927
  #
877
- # </note>
928
+ #
929
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html
930
+ # [2]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
878
931
  # @return [Integer]
879
932
  #
880
933
  # @!attribute [rw] hostname
@@ -895,12 +948,12 @@ module Aws::ECS
895
948
  # @return [String]
896
949
  #
897
950
  # @!attribute [rw] user
898
- # The username to use inside the container. This parameter maps to
951
+ # The user name to use inside the container. This parameter maps to
899
952
  # `User` in the [Create a container][1] section of the [Docker Remote
900
953
  # API][2] and the `--user` option to [docker run][3].
901
954
  #
902
- # This following formats can be used. If specifying a UID or GID, it
903
- # must be specified as a positive integer.
955
+ # You can use the following formats. If specifying a UID or GID, you
956
+ # must specify it as a positive integer.
904
957
  #
905
958
  # * `user`
906
959
  #
@@ -1269,8 +1322,32 @@ module Aws::ECS
1269
1322
  include Aws::Structure
1270
1323
  end
1271
1324
 
1272
- # The dependencies defined for container startup. A container can
1273
- # contain multiple dependencies.
1325
+ # The dependencies defined for container startup and shutdown. A
1326
+ # container can contain multiple dependencies. When a dependency is
1327
+ # defined for container startup, for container shutdown it is reversed.
1328
+ #
1329
+ # Your Amazon ECS container instances require at least version 1.26.0 of
1330
+ # the container agent to enable container dependencies. However, we
1331
+ # recommend using the latest container agent version. For information
1332
+ # about checking your agent version and updating to the latest version,
1333
+ # see [Updating the Amazon ECS Container Agent][1] in the *Amazon
1334
+ # Elastic Container Service Developer Guide*. If you are using an Amazon
1335
+ # ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1
1336
+ # of the `ecs-init` package. If your container instances are launched
1337
+ # from version `20190301` or later, then they contain the required
1338
+ # versions of the container agent and `ecs-init`. For more information,
1339
+ # see [Amazon ECS-optimized Linux AMI][2] in the *Amazon Elastic
1340
+ # Container Service Developer Guide*.
1341
+ #
1342
+ # <note markdown="1"> If you are using tasks that use the Fargate launch type, container
1343
+ # dependency parameters are not supported.
1344
+ #
1345
+ # </note>
1346
+ #
1347
+ #
1348
+ #
1349
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html
1350
+ # [2]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
1274
1351
  #
1275
1352
  # @note When making an API call, you may pass ContainerDependency
1276
1353
  # data as a hash:
@@ -1294,16 +1371,16 @@ module Aws::ECS
1294
1371
  #
1295
1372
  # * `COMPLETE` - This condition validates that a dependent container
1296
1373
  # runs to completion (exits) before permitting other containers to
1297
- # start. This can be useful for non-essential containers that run a
1298
- # script and then subsequently exit.
1374
+ # start. This can be useful for nonessential containers that run a
1375
+ # script and then exit.
1299
1376
  #
1300
- # * `SUCCESS` - This condition is the same as `COMPLETE`, but it will
1301
- # also require that the container exits with a `zero` status.
1377
+ # * `SUCCESS` - This condition is the same as `COMPLETE`, but it also
1378
+ # requires that the container exits with a `zero` status.
1302
1379
  #
1303
1380
  # * `HEALTHY` - This condition validates that the dependent container
1304
1381
  # passes its Docker health check before permitting other containers
1305
1382
  # to start. This requires that the dependent container has health
1306
- # checks configured. This condition will only be confirmed at task
1383
+ # checks configured. This condition is confirmed only at task
1307
1384
  # startup.
1308
1385
  # @return [String]
1309
1386
  #
@@ -1637,7 +1714,7 @@ module Aws::ECS
1637
1714
  # {
1638
1715
  # cluster: "String",
1639
1716
  # service_name: "String", # required
1640
- # task_definition: "String", # required
1717
+ # task_definition: "String",
1641
1718
  # load_balancers: [
1642
1719
  # {
1643
1720
  # target_group_arn: "String",
@@ -1685,7 +1762,7 @@ module Aws::ECS
1685
1762
  # health_check_grace_period_seconds: 1,
1686
1763
  # scheduling_strategy: "REPLICA", # accepts REPLICA, DAEMON
1687
1764
  # deployment_controller: {
1688
- # type: "ECS", # required, accepts ECS, CODE_DEPLOY
1765
+ # type: "ECS", # required, accepts ECS, CODE_DEPLOY, EXTERNAL
1689
1766
  # },
1690
1767
  # tags: [
1691
1768
  # {
@@ -1715,6 +1792,9 @@ module Aws::ECS
1715
1792
  # The `family` and `revision` (`family:revision`) or full ARN of the
1716
1793
  # task definition to run in your service. If a `revision` is not
1717
1794
  # specified, the latest `ACTIVE` revision is used.
1795
+ #
1796
+ # A task definition must be specified if the service is using the
1797
+ # `ECS` deployment controller.
1718
1798
  # @return [String]
1719
1799
  #
1720
1800
  # @!attribute [rw] load_balancers
@@ -1803,9 +1883,9 @@ module Aws::ECS
1803
1883
  # @return [String]
1804
1884
  #
1805
1885
  # @!attribute [rw] platform_version
1806
- # The platform version on which your tasks in the service are running.
1807
- # A platform version is only specified for tasks using the Fargate
1808
- # launch type. If one is not specified, the `LATEST` platform version
1886
+ # The platform version that your tasks in the service are running on.
1887
+ # A platform version is specified only for tasks using the Fargate
1888
+ # launch type. If one isn't specified, the `LATEST` platform version
1809
1889
  # is used by default. For more information, see [AWS Fargate Platform
1810
1890
  # Versions][1] in the *Amazon Elastic Container Service Developer
1811
1891
  # Guide*.
@@ -1899,19 +1979,20 @@ module Aws::ECS
1899
1979
  # desired number of tasks across your cluster. By default, the
1900
1980
  # service scheduler spreads tasks across Availability Zones. You can
1901
1981
  # use task placement strategies and constraints to customize task
1902
- # placement decisions. This scheduler strategy is required if using
1903
- # the `CODE_DEPLOY` deployment controller.
1982
+ # placement decisions. This scheduler strategy is required if the
1983
+ # service is using the `CODE_DEPLOY` or `EXTERNAL` deployment
1984
+ # controller types.
1904
1985
  #
1905
1986
  # * `DAEMON`-The daemon scheduling strategy deploys exactly one task
1906
1987
  # on each active container instance that meets all of the task
1907
- # placement constraints that you specify in your cluster. When you
1908
- # are using this strategy, there is no need to specify a desired
1988
+ # placement constraints that you specify in your cluster. When
1989
+ # you're using this strategy, you don't need to specify a desired
1909
1990
  # number of tasks, a task placement strategy, or use Service Auto
1910
1991
  # Scaling policies.
1911
1992
  #
1912
- # <note markdown="1"> Tasks using the Fargate launch type or the `CODE_DEPLOY`
1913
- # deploymenet controller do not support the `DAEMON` scheduling
1914
- # strategy.
1993
+ # <note markdown="1"> Tasks using the Fargate launch type or the `CODE_DEPLOY` or
1994
+ # `EXTERNAL` deployment controller types don't support the `DAEMON`
1995
+ # scheduling strategy.
1915
1996
  #
1916
1997
  # </note>
1917
1998
  #
@@ -1998,6 +2079,146 @@ module Aws::ECS
1998
2079
  include Aws::Structure
1999
2080
  end
2000
2081
 
2082
+ # @note When making an API call, you may pass CreateTaskSetRequest
2083
+ # data as a hash:
2084
+ #
2085
+ # {
2086
+ # service: "String", # required
2087
+ # cluster: "String", # required
2088
+ # external_id: "String",
2089
+ # task_definition: "String", # required
2090
+ # network_configuration: {
2091
+ # awsvpc_configuration: {
2092
+ # subnets: ["String"], # required
2093
+ # security_groups: ["String"],
2094
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
2095
+ # },
2096
+ # },
2097
+ # load_balancers: [
2098
+ # {
2099
+ # target_group_arn: "String",
2100
+ # load_balancer_name: "String",
2101
+ # container_name: "String",
2102
+ # container_port: 1,
2103
+ # },
2104
+ # ],
2105
+ # service_registries: [
2106
+ # {
2107
+ # registry_arn: "String",
2108
+ # port: 1,
2109
+ # container_name: "String",
2110
+ # container_port: 1,
2111
+ # },
2112
+ # ],
2113
+ # launch_type: "EC2", # accepts EC2, FARGATE
2114
+ # platform_version: "String",
2115
+ # scale: {
2116
+ # value: 1.0,
2117
+ # unit: "PERCENT", # accepts PERCENT
2118
+ # },
2119
+ # client_token: "String",
2120
+ # }
2121
+ #
2122
+ # @!attribute [rw] service
2123
+ # The short name or full Amazon Resource Name (ARN) of the service to
2124
+ # create the task set in.
2125
+ # @return [String]
2126
+ #
2127
+ # @!attribute [rw] cluster
2128
+ # The short name or full Amazon Resource Name (ARN) of the cluster
2129
+ # that hosts the service to create the task set in.
2130
+ # @return [String]
2131
+ #
2132
+ # @!attribute [rw] external_id
2133
+ # An optional non-unique tag that identifies this task set in external
2134
+ # systems. If the task set is associated with a service discovery
2135
+ # registry, the tasks in this task set will have the
2136
+ # `ECS_TASK_SET_EXTERNAL_ID` AWS Cloud Map attribute set to the
2137
+ # provided value.
2138
+ # @return [String]
2139
+ #
2140
+ # @!attribute [rw] task_definition
2141
+ # The task definition for the tasks in the task set to use.
2142
+ # @return [String]
2143
+ #
2144
+ # @!attribute [rw] network_configuration
2145
+ # An object representing the network configuration for a task or
2146
+ # service.
2147
+ # @return [Types::NetworkConfiguration]
2148
+ #
2149
+ # @!attribute [rw] load_balancers
2150
+ # A load balancer object representing the load balancer to use with
2151
+ # the task set. The supported load balancer types are either an
2152
+ # Application Load Balancer or a Network Load Balancer.
2153
+ # @return [Array<Types::LoadBalancer>]
2154
+ #
2155
+ # @!attribute [rw] service_registries
2156
+ # The details of the service discovery registries to assign to this
2157
+ # task set. For more information, see [Service Discovery][1].
2158
+ #
2159
+ #
2160
+ #
2161
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
2162
+ # @return [Array<Types::ServiceRegistry>]
2163
+ #
2164
+ # @!attribute [rw] launch_type
2165
+ # The launch type that new tasks in the task set will use. For more
2166
+ # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
2167
+ # Container Service Developer Guide*.
2168
+ #
2169
+ #
2170
+ #
2171
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
2172
+ # @return [String]
2173
+ #
2174
+ # @!attribute [rw] platform_version
2175
+ # The platform version that the tasks in the task set should use. A
2176
+ # platform version is specified only for tasks using the Fargate
2177
+ # launch type. If one isn't specified, the `LATEST` platform version
2178
+ # is used by default.
2179
+ # @return [String]
2180
+ #
2181
+ # @!attribute [rw] scale
2182
+ # A floating-point percentage of the desired number of tasks to place
2183
+ # and keep running in the task set.
2184
+ # @return [Types::Scale]
2185
+ #
2186
+ # @!attribute [rw] client_token
2187
+ # Unique, case-sensitive identifier that you provide to ensure the
2188
+ # idempotency of the request. Up to 32 ASCII characters are allowed.
2189
+ # @return [String]
2190
+ #
2191
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSetRequest AWS API Documentation
2192
+ #
2193
+ class CreateTaskSetRequest < Struct.new(
2194
+ :service,
2195
+ :cluster,
2196
+ :external_id,
2197
+ :task_definition,
2198
+ :network_configuration,
2199
+ :load_balancers,
2200
+ :service_registries,
2201
+ :launch_type,
2202
+ :platform_version,
2203
+ :scale,
2204
+ :client_token)
2205
+ include Aws::Structure
2206
+ end
2207
+
2208
+ # @!attribute [rw] task_set
2209
+ # Information about a set of Amazon ECS tasks in either an AWS
2210
+ # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
2211
+ # includes details such as the desired number of tasks, how many tasks
2212
+ # are running, and whether the task set serves production traffic.
2213
+ # @return [Types::TaskSet]
2214
+ #
2215
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateTaskSetResponse AWS API Documentation
2216
+ #
2217
+ class CreateTaskSetResponse < Struct.new(
2218
+ :task_set)
2219
+ include Aws::Structure
2220
+ end
2221
+
2001
2222
  # @note When making an API call, you may pass DeleteAccountSettingRequest
2002
2223
  # data as a hash:
2003
2224
  #
@@ -2167,8 +2388,62 @@ module Aws::ECS
2167
2388
  include Aws::Structure
2168
2389
  end
2169
2390
 
2170
- # The details of an Amazon ECS service deployment. This is used when a
2171
- # service uses the `CODE_DEPLOY` deployment controller type.
2391
+ # @note When making an API call, you may pass DeleteTaskSetRequest
2392
+ # data as a hash:
2393
+ #
2394
+ # {
2395
+ # cluster: "String", # required
2396
+ # service: "String", # required
2397
+ # task_set: "String", # required
2398
+ # force: false,
2399
+ # }
2400
+ #
2401
+ # @!attribute [rw] cluster
2402
+ # The short name or full Amazon Resource Name (ARN) of the cluster
2403
+ # that hosts the service that the task set exists in to delete.
2404
+ # @return [String]
2405
+ #
2406
+ # @!attribute [rw] service
2407
+ # The short name or full Amazon Resource Name (ARN) of the service
2408
+ # that hosts the task set to delete.
2409
+ # @return [String]
2410
+ #
2411
+ # @!attribute [rw] task_set
2412
+ # The task set ID or full Amazon Resource Name (ARN) of the task set
2413
+ # to delete.
2414
+ # @return [String]
2415
+ #
2416
+ # @!attribute [rw] force
2417
+ # If `true`, this allows you to delete a task set even if it hasn't
2418
+ # been scaled down to zero.
2419
+ # @return [Boolean]
2420
+ #
2421
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSetRequest AWS API Documentation
2422
+ #
2423
+ class DeleteTaskSetRequest < Struct.new(
2424
+ :cluster,
2425
+ :service,
2426
+ :task_set,
2427
+ :force)
2428
+ include Aws::Structure
2429
+ end
2430
+
2431
+ # @!attribute [rw] task_set
2432
+ # Information about a set of Amazon ECS tasks in either an AWS
2433
+ # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
2434
+ # includes details such as the desired number of tasks, how many tasks
2435
+ # are running, and whether the task set serves production traffic.
2436
+ # @return [Types::TaskSet]
2437
+ #
2438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteTaskSetResponse AWS API Documentation
2439
+ #
2440
+ class DeleteTaskSetResponse < Struct.new(
2441
+ :task_set)
2442
+ include Aws::Structure
2443
+ end
2444
+
2445
+ # The details of an Amazon ECS service deployment. This is used only
2446
+ # when a service uses the `ECS` deployment controller type.
2172
2447
  #
2173
2448
  # @!attribute [rw] id
2174
2449
  # The ID of the deployment.
@@ -2266,7 +2541,7 @@ module Aws::ECS
2266
2541
  end
2267
2542
 
2268
2543
  # Optional deployment parameters that control how many tasks run during
2269
- # the deployment and the ordering of stopping and starting tasks.
2544
+ # a deployment and the ordering of stopping and starting tasks.
2270
2545
  #
2271
2546
  # @note When making an API call, you may pass DeploymentConfiguration
2272
2547
  # data as a hash:
@@ -2290,14 +2565,14 @@ module Aws::ECS
2290
2565
  # four older tasks (provided that the cluster resources required to do
2291
2566
  # this are available). The default value for maximum percent is 200%.
2292
2567
  #
2293
- # If a service is using the blue/green (`CODE_DEPLOY`) deployment type
2294
- # and tasks that use the EC2 launch type, the **maximum percent**
2295
- # value is set to the default value and is used to define the upper
2296
- # limit on the number of the tasks in the service that remain in the
2297
- # `RUNNING` state while the container instances are in the `DRAINING`
2298
- # state. If the tasks in the service use the Fargate launch type, the
2299
- # maximum percent value is not used, although it is returned when
2300
- # describing your service.
2568
+ # If a service is using the blue/green (`CODE_DEPLOY`) or `EXTERNAL`
2569
+ # deployment types and tasks that use the EC2 launch type, the
2570
+ # **maximum percent** value is set to the default value and is used to
2571
+ # define the upper limit on the number of the tasks in the service
2572
+ # that remain in the `RUNNING` state while the container instances are
2573
+ # in the `DRAINING` state. If the tasks in the service use the Fargate
2574
+ # launch type, the maximum percent value is not used, although it is
2575
+ # returned when describing your service.
2301
2576
  # @return [Integer]
2302
2577
  #
2303
2578
  # @!attribute [rw] minimum_healthy_percent
@@ -2318,14 +2593,14 @@ module Aws::ECS
2318
2593
  # and they are reported as healthy by the load balancer. The default
2319
2594
  # value for minimum healthy percent is 100%.
2320
2595
  #
2321
- # If a service is using the blue/green (`CODE_DEPLOY`) deployment type
2322
- # and tasks that use the EC2 launch type, the **minimum healthy
2323
- # percent** value is set to the default value and is used to define
2324
- # the lower limit on the number of the tasks in the service that
2325
- # remain in the `RUNNING` state while the container instances are in
2326
- # the `DRAINING` state. If the tasks in the service use the Fargate
2327
- # launch type, the minimum healthy percent value is not used, although
2328
- # it is returned when describing your service.
2596
+ # If a service is using the blue/green (`CODE_DEPLOY`) or `EXTERNAL`
2597
+ # deployment types and tasks that use the EC2 launch type, the
2598
+ # **minimum healthy percent** value is set to the default value and is
2599
+ # used to define the lower limit on the number of the tasks in the
2600
+ # service that remain in the `RUNNING` state while the container
2601
+ # instances are in the `DRAINING` state. If the tasks in the service
2602
+ # use the Fargate launch type, the minimum healthy percent value is
2603
+ # not used, although it is returned when describing your service.
2329
2604
  # @return [Integer]
2330
2605
  #
2331
2606
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentConfiguration AWS API Documentation
@@ -2348,13 +2623,13 @@ module Aws::ECS
2348
2623
  # data as a hash:
2349
2624
  #
2350
2625
  # {
2351
- # type: "ECS", # required, accepts ECS, CODE_DEPLOY
2626
+ # type: "ECS", # required, accepts ECS, CODE_DEPLOY, EXTERNAL
2352
2627
  # }
2353
2628
  #
2354
2629
  # @!attribute [rw] type
2355
2630
  # The deployment controller type to use.
2356
2631
  #
2357
- # There are two deployment controller types available:
2632
+ # There are three deployment controller types available:
2358
2633
  #
2359
2634
  # ECS
2360
2635
  #
@@ -2370,13 +2645,13 @@ module Aws::ECS
2370
2645
  # : The blue/green (`CODE_DEPLOY`) deployment type uses the blue/green
2371
2646
  # deployment model powered by AWS CodeDeploy, which allows you to
2372
2647
  # verify a new deployment of a service before sending production
2373
- # traffic to it. For more information, see [Amazon ECS Deployment
2374
- # Types][1] in the *Amazon Elastic Container Service Developer
2375
- # Guide*.
2376
- #
2648
+ # traffic to it.
2377
2649
  #
2650
+ # EXTERNAL
2378
2651
  #
2379
- # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html
2652
+ # : The external (`EXTERNAL`) deployment type enables you to use any
2653
+ # third-party deployment controller for full control over the
2654
+ # deployment process for an Amazon ECS service.
2380
2655
  # @return [String]
2381
2656
  #
2382
2657
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeploymentController AWS API Documentation
@@ -2689,6 +2964,54 @@ module Aws::ECS
2689
2964
  include Aws::Structure
2690
2965
  end
2691
2966
 
2967
+ # @note When making an API call, you may pass DescribeTaskSetsRequest
2968
+ # data as a hash:
2969
+ #
2970
+ # {
2971
+ # cluster: "String", # required
2972
+ # service: "String", # required
2973
+ # task_sets: ["String"],
2974
+ # }
2975
+ #
2976
+ # @!attribute [rw] cluster
2977
+ # The short name or full Amazon Resource Name (ARN) of the cluster
2978
+ # that hosts the service that the task sets exist in.
2979
+ # @return [String]
2980
+ #
2981
+ # @!attribute [rw] service
2982
+ # The short name or full Amazon Resource Name (ARN) of the service
2983
+ # that the task sets exist in.
2984
+ # @return [String]
2985
+ #
2986
+ # @!attribute [rw] task_sets
2987
+ # The ID or full Amazon Resource Name (ARN) of task sets to describe.
2988
+ # @return [Array<String>]
2989
+ #
2990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSetsRequest AWS API Documentation
2991
+ #
2992
+ class DescribeTaskSetsRequest < Struct.new(
2993
+ :cluster,
2994
+ :service,
2995
+ :task_sets)
2996
+ include Aws::Structure
2997
+ end
2998
+
2999
+ # @!attribute [rw] task_sets
3000
+ # The list of task sets described.
3001
+ # @return [Array<Types::TaskSet>]
3002
+ #
3003
+ # @!attribute [rw] failures
3004
+ # Any failures associated with the call.
3005
+ # @return [Array<Types::Failure>]
3006
+ #
3007
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeTaskSetsResponse AWS API Documentation
3008
+ #
3009
+ class DescribeTaskSetsResponse < Struct.new(
3010
+ :task_sets,
3011
+ :failures)
3012
+ include Aws::Structure
3013
+ end
3014
+
2692
3015
  # @note When making an API call, you may pass DescribeTasksRequest
2693
3016
  # data as a hash:
2694
3017
  #
@@ -4535,6 +4858,18 @@ module Aws::ECS
4535
4858
 
4536
4859
  # The configuration details for the App Mesh proxy.
4537
4860
  #
4861
+ # Your Amazon ECS container instances require at least version 1.26.0 of
4862
+ # the container agent and at least version 1.26.0-1 of the `ecs-init`
4863
+ # package to enable a proxy configuration. If your container instances
4864
+ # are launched from the Amazon ECS-optimized AMI version `20190301` or
4865
+ # later, then they contain the required versions of the container agent
4866
+ # and `ecs-init`. For more information, see [Amazon ECS-optimized Linux
4867
+ # AMI][1] in the *Amazon Elastic Container Service Developer Guide*.
4868
+ #
4869
+ #
4870
+ #
4871
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
4872
+ #
4538
4873
  # @note When making an API call, you may pass ProxyConfiguration
4539
4874
  # data as a hash:
4540
4875
  #
@@ -4572,7 +4907,7 @@ module Aws::ECS
4572
4907
  # traffic. If `IgnoredGID` is specified, this field can be empty.
4573
4908
  #
4574
4909
  # * `AppPorts` - (Required) The list of ports that the application
4575
- # uses. Network traffic to these ports will be forwarded to the
4910
+ # uses. Network traffic to these ports is forwarded to the
4576
4911
  # `ProxyIngressPort` and `ProxyEgressPort`.
4577
4912
  #
4578
4913
  # * `ProxyIngressPort` - (Required) Specifies the port that incoming
@@ -4581,13 +4916,13 @@ module Aws::ECS
4581
4916
  # * `ProxyEgressPort` - (Required) Specifies the port that outgoing
4582
4917
  # traffic from the `AppPorts` is directed to.
4583
4918
  #
4584
- # * `EgressIgnoredPorts` - (Required) The egress traffic going to
4585
- # these specified ports will be ignored and not redirected to the
4586
- # `ProxyEgressPort`. It can be empty list.
4919
+ # * `EgressIgnoredPorts` - (Required) The egress traffic going to the
4920
+ # specified ports is ignored and not redirected to the
4921
+ # `ProxyEgressPort`. It can be an empty list.
4587
4922
  #
4588
- # * `EgressIgnoredIPs` - (Required) The egress traffic going to these
4589
- # specified IP addresses will be ignored and not redirected to the
4590
- # `ProxyEgressPort`. It can be empty list.
4923
+ # * `EgressIgnoredIPs` - (Required) The egress traffic going to the
4924
+ # specified IP addresses is ignored and not redirected to the
4925
+ # `ProxyEgressPort`. It can be an empty list.
4591
4926
  # @return [Array<Types::KeyValuePair>]
4592
4927
  #
4593
4928
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ProxyConfiguration AWS API Documentation
@@ -5293,6 +5628,19 @@ module Aws::ECS
5293
5628
  #
5294
5629
  # @!attribute [rw] proxy_configuration
5295
5630
  # The configuration details for the App Mesh proxy.
5631
+ #
5632
+ # Your Amazon ECS container instances require at least version 1.26.0
5633
+ # of the container agent and at least version 1.26.0-1 of the
5634
+ # `ecs-init` package to enable a proxy configuration. If your
5635
+ # container instances are launched from the Amazon ECS-optimized AMI
5636
+ # version `20190301` or later, then they contain the required versions
5637
+ # of the container agent and `ecs-init`. For more information, see
5638
+ # [Amazon ECS-optimized Linux AMI][1] in the *Amazon Elastic Container
5639
+ # Service Developer Guide*.
5640
+ #
5641
+ #
5642
+ #
5643
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
5296
5644
  # @return [Types::ProxyConfiguration]
5297
5645
  #
5298
5646
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RegisterTaskDefinitionRequest AWS API Documentation
@@ -5683,12 +6031,20 @@ module Aws::ECS
5683
6031
  end
5684
6032
 
5685
6033
  # A floating-point percentage of the desired number of tasks to place
5686
- # and keep running in the service. This is used when a service uses the
5687
- # `CODE_DEPLOY` deployment controller type.
6034
+ # and keep running in the task set.
6035
+ #
6036
+ # @note When making an API call, you may pass Scale
6037
+ # data as a hash:
6038
+ #
6039
+ # {
6040
+ # value: 1.0,
6041
+ # unit: "PERCENT", # accepts PERCENT
6042
+ # }
5688
6043
  #
5689
6044
  # @!attribute [rw] value
5690
6045
  # The value, specified as a percent total of a service's
5691
- # `desiredCount`, to scale the task set.
6046
+ # `desiredCount`, to scale the task set. Accepted values are numbers
6047
+ # between 0 and 100.
5692
6048
  # @return [Float]
5693
6049
  #
5694
6050
  # @!attribute [rw] unit
@@ -5786,6 +6142,12 @@ module Aws::ECS
5786
6142
  # @return [Array<Types::LoadBalancer>]
5787
6143
  #
5788
6144
  # @!attribute [rw] service_registries
6145
+ # The details of the service discovery registries to assign to this
6146
+ # service. For more information, see [Service Discovery][1].
6147
+ #
6148
+ #
6149
+ #
6150
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
5789
6151
  # @return [Array<Types::ServiceRegistry>]
5790
6152
  #
5791
6153
  # @!attribute [rw] status
@@ -5844,10 +6206,10 @@ module Aws::ECS
5844
6206
  # @return [Types::DeploymentConfiguration]
5845
6207
  #
5846
6208
  # @!attribute [rw] task_sets
5847
- # Information about a set of Amazon ECS tasks in an AWS CodeDeploy
5848
- # deployment. An Amazon ECS task set includes details such as the
5849
- # desired number of tasks, how many tasks are running, and whether the
5850
- # task set serves production traffic.
6209
+ # Information about a set of Amazon ECS tasks in either an AWS
6210
+ # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
6211
+ # includes details such as the desired number of tasks, how many tasks
6212
+ # are running, and whether the task set serves production traffic.
5851
6213
  # @return [Array<Types::TaskSet>]
5852
6214
  #
5853
6215
  # @!attribute [rw] deployments
@@ -6020,12 +6382,12 @@ module Aws::ECS
6020
6382
  #
6021
6383
  # @!attribute [rw] registry_arn
6022
6384
  # The Amazon Resource Name (ARN) of the service registry. The
6023
- # currently supported service registry is Amazon Route 53 Auto Naming.
6024
- # For more information, see [Service][1].
6385
+ # currently supported service registry is AWS Cloud Map. For more
6386
+ # information, see [CreateService][1].
6025
6387
  #
6026
6388
  #
6027
6389
  #
6028
- # [1]: https://docs.aws.amazon.com/Route53/latest/APIReference/API_autonaming_Service.html
6390
+ # [1]: https://docs.aws.amazon.com/cloud-map/latest/api/API_CreateService.html
6029
6391
  # @return [String]
6030
6392
  #
6031
6393
  # @!attribute [rw] port
@@ -6074,11 +6436,10 @@ module Aws::ECS
6074
6436
  # @return [String]
6075
6437
  #
6076
6438
  # @!attribute [rw] value
6077
- # The current account setting for the resource name. If `enabled`,
6078
- # then the resource will receive the new Amazon Resource Name (ARN)
6079
- # and resource identifier (ID) format. If `disabled`, then the
6080
- # resource will receive the old Amazon Resource Name (ARN) and
6081
- # resource identifier (ID) format.
6439
+ # The current account setting for the resource name. If `enabled`, the
6440
+ # resource receives the new Amazon Resource Name (ARN) and resource
6441
+ # identifier (ID) format. If `disabled`, the resource receives the old
6442
+ # Amazon Resource Name (ARN) and resource identifier (ID) format.
6082
6443
  # @return [String]
6083
6444
  #
6084
6445
  # @!attribute [rw] principal_arn
@@ -6279,7 +6640,7 @@ module Aws::ECS
6279
6640
  # @return [String]
6280
6641
  #
6281
6642
  # @!attribute [rw] task
6282
- # The task ID or full ARN entry of the task to stop.
6643
+ # The task ID or full Amazon Resource Name (ARN) of the task to stop.
6283
6644
  # @return [String]
6284
6645
  #
6285
6646
  # @!attribute [rw] reason
@@ -7131,6 +7492,20 @@ module Aws::ECS
7131
7492
  # @return [String]
7132
7493
  #
7133
7494
  # @!attribute [rw] proxy_configuration
7495
+ # The configuration details for the App Mesh proxy.
7496
+ #
7497
+ # Your Amazon ECS container instances require at least version 1.26.0
7498
+ # of the container agent and at least version 1.26.0-1 of the
7499
+ # `ecs-init` package to enable a proxy configuration. If your
7500
+ # container instances are launched from the Amazon ECS-optimized AMI
7501
+ # version `20190301` or later, then they contain the required versions
7502
+ # of the container agent and `ecs-init`. For more information, see
7503
+ # [Amazon ECS-optimized Linux AMI][1] in the *Amazon Elastic Container
7504
+ # Service Developer Guide*.
7505
+ #
7506
+ #
7507
+ #
7508
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
7134
7509
  # @return [Types::ProxyConfiguration]
7135
7510
  #
7136
7511
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/TaskDefinition AWS API Documentation
@@ -7258,10 +7633,10 @@ module Aws::ECS
7258
7633
  include Aws::Structure
7259
7634
  end
7260
7635
 
7261
- # Information about a set of Amazon ECS tasks in an AWS CodeDeploy
7262
- # deployment. An Amazon ECS task set includes details such as the
7263
- # desired number of tasks, how many tasks are running, and whether the
7264
- # task set serves production traffic.
7636
+ # Information about a set of Amazon ECS tasks in either an AWS
7637
+ # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
7638
+ # includes details such as the desired number of tasks, how many tasks
7639
+ # are running, and whether the task set serves production traffic.
7265
7640
  #
7266
7641
  # @!attribute [rw] id
7267
7642
  # The ID of the task set.
@@ -7271,14 +7646,33 @@ module Aws::ECS
7271
7646
  # The Amazon Resource Name (ARN) of the task set.
7272
7647
  # @return [String]
7273
7648
  #
7649
+ # @!attribute [rw] service_arn
7650
+ # The Amazon Resource Name (ARN) of the service the task set exists
7651
+ # in.
7652
+ # @return [String]
7653
+ #
7654
+ # @!attribute [rw] cluster_arn
7655
+ # The Amazon Resource Name (ARN) of the cluster that the service that
7656
+ # hosts the task set exists in.
7657
+ # @return [String]
7658
+ #
7274
7659
  # @!attribute [rw] started_by
7275
- # The tag specified when a task set is started. If the task is started
7276
- # by an AWS CodeDeploy deployment, then the `startedBy` parameter is
7277
- # `CODE_DEPLOY`.
7660
+ # The tag specified when a task set is started. If the task set is
7661
+ # created by an AWS CodeDeploy deployment, the `startedBy` parameter
7662
+ # is `CODE_DEPLOY`. For a task set created for an external deployment,
7663
+ # the startedBy field isn't used.
7278
7664
  # @return [String]
7279
7665
  #
7280
7666
  # @!attribute [rw] external_id
7281
- # The deployment ID of the AWS CodeDeploy deployment.
7667
+ # The external ID associated with the task set.
7668
+ #
7669
+ # If a task set is created by an AWS CodeDeploy deployment, the
7670
+ # `externalId` parameter contains the AWS CodeDeploy deployment ID.
7671
+ #
7672
+ # If a task set is created for an external deployment and is
7673
+ # associated with a service discovery registry, the `externalId`
7674
+ # parameter contains the `ECS_TASK_SET_EXTERNAL_ID` AWS Cloud Map
7675
+ # attribute.
7282
7676
  # @return [String]
7283
7677
  #
7284
7678
  # @!attribute [rw] status
@@ -7306,14 +7700,15 @@ module Aws::ECS
7306
7700
  # @!attribute [rw] computed_desired_count
7307
7701
  # The computed desired count for the task set. This is calculated by
7308
7702
  # multiplying the service's `desiredCount` by the task set's `scale`
7309
- # percentage.
7703
+ # percentage. The result is always rounded up. For example, if the
7704
+ # computed desired count is 1.2, it rounds up to 2 tasks.
7310
7705
  # @return [Integer]
7311
7706
  #
7312
7707
  # @!attribute [rw] pending_count
7313
7708
  # The number of tasks in the task set that are in the `PENDING` status
7314
7709
  # during a deployment. A task in the `PENDING` state is preparing to
7315
7710
  # enter the `RUNNING` state. A task set enters the `PENDING` status
7316
- # when it launches for the first time, or when it is restarted after
7711
+ # when it launches for the first time or when it is restarted after
7317
7712
  # being in the `STOPPED` state.
7318
7713
  # @return [Integer]
7319
7714
  #
@@ -7362,9 +7757,18 @@ module Aws::ECS
7362
7757
  # Details on a load balancer that is used with a task set.
7363
7758
  # @return [Array<Types::LoadBalancer>]
7364
7759
  #
7760
+ # @!attribute [rw] service_registries
7761
+ # The details of the service discovery registries to assign to this
7762
+ # task set. For more information, see [Service Discovery][1].
7763
+ #
7764
+ #
7765
+ #
7766
+ # [1]: http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html
7767
+ # @return [Array<Types::ServiceRegistry>]
7768
+ #
7365
7769
  # @!attribute [rw] scale
7366
7770
  # A floating-point percentage of the desired number of tasks to place
7367
- # and keep running in the service.
7771
+ # and keep running in the task set.
7368
7772
  # @return [Types::Scale]
7369
7773
  #
7370
7774
  # @!attribute [rw] stability_status
@@ -7396,6 +7800,8 @@ module Aws::ECS
7396
7800
  class TaskSet < Struct.new(
7397
7801
  :id,
7398
7802
  :task_set_arn,
7803
+ :service_arn,
7804
+ :cluster_arn,
7399
7805
  :started_by,
7400
7806
  :external_id,
7401
7807
  :status,
@@ -7409,6 +7815,7 @@ module Aws::ECS
7409
7815
  :platform_version,
7410
7816
  :network_configuration,
7411
7817
  :load_balancers,
7818
+ :service_registries,
7412
7819
  :scale,
7413
7820
  :stability_status,
7414
7821
  :stability_status_at)
@@ -7605,6 +8012,53 @@ module Aws::ECS
7605
8012
  include Aws::Structure
7606
8013
  end
7607
8014
 
8015
+ # @note When making an API call, you may pass UpdateServicePrimaryTaskSetRequest
8016
+ # data as a hash:
8017
+ #
8018
+ # {
8019
+ # cluster: "String", # required
8020
+ # service: "String", # required
8021
+ # primary_task_set: "String", # required
8022
+ # }
8023
+ #
8024
+ # @!attribute [rw] cluster
8025
+ # The short name or full Amazon Resource Name (ARN) of the cluster
8026
+ # that hosts the service that the task set exists in.
8027
+ # @return [String]
8028
+ #
8029
+ # @!attribute [rw] service
8030
+ # The short name or full Amazon Resource Name (ARN) of the service
8031
+ # that the task set exists in.
8032
+ # @return [String]
8033
+ #
8034
+ # @!attribute [rw] primary_task_set
8035
+ # The short name or full Amazon Resource Name (ARN) of the task set to
8036
+ # set as the primary task set in the deployment.
8037
+ # @return [String]
8038
+ #
8039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSetRequest AWS API Documentation
8040
+ #
8041
+ class UpdateServicePrimaryTaskSetRequest < Struct.new(
8042
+ :cluster,
8043
+ :service,
8044
+ :primary_task_set)
8045
+ include Aws::Structure
8046
+ end
8047
+
8048
+ # @!attribute [rw] task_set
8049
+ # Information about a set of Amazon ECS tasks in either an AWS
8050
+ # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
8051
+ # includes details such as the desired number of tasks, how many tasks
8052
+ # are running, and whether the task set serves production traffic.
8053
+ # @return [Types::TaskSet]
8054
+ #
8055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServicePrimaryTaskSetResponse AWS API Documentation
8056
+ #
8057
+ class UpdateServicePrimaryTaskSetResponse < Struct.new(
8058
+ :task_set)
8059
+ include Aws::Structure
8060
+ end
8061
+
7608
8062
  # @note When making an API call, you may pass UpdateServiceRequest
7609
8063
  # data as a hash:
7610
8064
  #
@@ -7741,6 +8195,63 @@ module Aws::ECS
7741
8195
  include Aws::Structure
7742
8196
  end
7743
8197
 
8198
+ # @note When making an API call, you may pass UpdateTaskSetRequest
8199
+ # data as a hash:
8200
+ #
8201
+ # {
8202
+ # cluster: "String", # required
8203
+ # service: "String", # required
8204
+ # task_set: "String", # required
8205
+ # scale: { # required
8206
+ # value: 1.0,
8207
+ # unit: "PERCENT", # accepts PERCENT
8208
+ # },
8209
+ # }
8210
+ #
8211
+ # @!attribute [rw] cluster
8212
+ # The short name or full Amazon Resource Name (ARN) of the cluster
8213
+ # that hosts the service that the task set exists in.
8214
+ # @return [String]
8215
+ #
8216
+ # @!attribute [rw] service
8217
+ # The short name or full Amazon Resource Name (ARN) of the service
8218
+ # that the task set exists in.
8219
+ # @return [String]
8220
+ #
8221
+ # @!attribute [rw] task_set
8222
+ # The short name or full Amazon Resource Name (ARN) of the task set to
8223
+ # update.
8224
+ # @return [String]
8225
+ #
8226
+ # @!attribute [rw] scale
8227
+ # A floating-point percentage of the desired number of tasks to place
8228
+ # and keep running in the task set.
8229
+ # @return [Types::Scale]
8230
+ #
8231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSetRequest AWS API Documentation
8232
+ #
8233
+ class UpdateTaskSetRequest < Struct.new(
8234
+ :cluster,
8235
+ :service,
8236
+ :task_set,
8237
+ :scale)
8238
+ include Aws::Structure
8239
+ end
8240
+
8241
+ # @!attribute [rw] task_set
8242
+ # Information about a set of Amazon ECS tasks in either an AWS
8243
+ # CodeDeploy or an `EXTERNAL` deployment. An Amazon ECS task set
8244
+ # includes details such as the desired number of tasks, how many tasks
8245
+ # are running, and whether the task set serves production traffic.
8246
+ # @return [Types::TaskSet]
8247
+ #
8248
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateTaskSetResponse AWS API Documentation
8249
+ #
8250
+ class UpdateTaskSetResponse < Struct.new(
8251
+ :task_set)
8252
+ include Aws::Structure
8253
+ end
8254
+
7744
8255
  # The Docker and Amazon ECS container agent version information about a
7745
8256
  # container instance.
7746
8257
  #