aws-sdk-ecs 1.35.0 → 1.36.0

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