aws-sdk-ecs 1.53.0 → 1.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,11 +22,21 @@ module Aws::ECS
22
22
  Attribute = Shapes::StructureShape.new(name: 'Attribute')
23
23
  AttributeLimitExceededException = Shapes::StructureShape.new(name: 'AttributeLimitExceededException')
24
24
  Attributes = Shapes::ListShape.new(name: 'Attributes')
25
+ AutoScalingGroupProvider = Shapes::StructureShape.new(name: 'AutoScalingGroupProvider')
25
26
  AwsVpcConfiguration = Shapes::StructureShape.new(name: 'AwsVpcConfiguration')
26
27
  BlockedException = Shapes::StructureShape.new(name: 'BlockedException')
27
28
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
28
29
  BoxedBoolean = Shapes::BooleanShape.new(name: 'BoxedBoolean')
29
30
  BoxedInteger = Shapes::IntegerShape.new(name: 'BoxedInteger')
31
+ CapacityProvider = Shapes::StructureShape.new(name: 'CapacityProvider')
32
+ CapacityProviderField = Shapes::StringShape.new(name: 'CapacityProviderField')
33
+ CapacityProviderFieldList = Shapes::ListShape.new(name: 'CapacityProviderFieldList')
34
+ CapacityProviderStatus = Shapes::StringShape.new(name: 'CapacityProviderStatus')
35
+ CapacityProviderStrategy = Shapes::ListShape.new(name: 'CapacityProviderStrategy')
36
+ CapacityProviderStrategyItem = Shapes::StructureShape.new(name: 'CapacityProviderStrategyItem')
37
+ CapacityProviderStrategyItemBase = Shapes::IntegerShape.new(name: 'CapacityProviderStrategyItemBase')
38
+ CapacityProviderStrategyItemWeight = Shapes::IntegerShape.new(name: 'CapacityProviderStrategyItemWeight')
39
+ CapacityProviders = Shapes::ListShape.new(name: 'CapacityProviders')
30
40
  ClientException = Shapes::StructureShape.new(name: 'ClientException')
31
41
  Cluster = Shapes::StructureShape.new(name: 'Cluster')
32
42
  ClusterContainsContainerInstancesException = Shapes::StructureShape.new(name: 'ClusterContainsContainerInstancesException')
@@ -58,6 +68,8 @@ module Aws::ECS
58
68
  ContainerStateChange = Shapes::StructureShape.new(name: 'ContainerStateChange')
59
69
  ContainerStateChanges = Shapes::ListShape.new(name: 'ContainerStateChanges')
60
70
  Containers = Shapes::ListShape.new(name: 'Containers')
71
+ CreateCapacityProviderRequest = Shapes::StructureShape.new(name: 'CreateCapacityProviderRequest')
72
+ CreateCapacityProviderResponse = Shapes::StructureShape.new(name: 'CreateCapacityProviderResponse')
61
73
  CreateClusterRequest = Shapes::StructureShape.new(name: 'CreateClusterRequest')
62
74
  CreateClusterResponse = Shapes::StructureShape.new(name: 'CreateClusterResponse')
63
75
  CreateServiceRequest = Shapes::StructureShape.new(name: 'CreateServiceRequest')
@@ -83,6 +95,8 @@ module Aws::ECS
83
95
  DeregisterContainerInstanceResponse = Shapes::StructureShape.new(name: 'DeregisterContainerInstanceResponse')
84
96
  DeregisterTaskDefinitionRequest = Shapes::StructureShape.new(name: 'DeregisterTaskDefinitionRequest')
85
97
  DeregisterTaskDefinitionResponse = Shapes::StructureShape.new(name: 'DeregisterTaskDefinitionResponse')
98
+ DescribeCapacityProvidersRequest = Shapes::StructureShape.new(name: 'DescribeCapacityProvidersRequest')
99
+ DescribeCapacityProvidersResponse = Shapes::StructureShape.new(name: 'DescribeCapacityProvidersResponse')
86
100
  DescribeClustersRequest = Shapes::StructureShape.new(name: 'DescribeClustersRequest')
87
101
  DescribeClustersResponse = Shapes::StructureShape.new(name: 'DescribeClustersResponse')
88
102
  DescribeContainerInstancesRequest = Shapes::StructureShape.new(name: 'DescribeContainerInstancesRequest')
@@ -127,6 +141,7 @@ module Aws::ECS
127
141
  KernelCapabilities = Shapes::StructureShape.new(name: 'KernelCapabilities')
128
142
  KeyValuePair = Shapes::StructureShape.new(name: 'KeyValuePair')
129
143
  LaunchType = Shapes::StringShape.new(name: 'LaunchType')
144
+ LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
130
145
  LinuxParameters = Shapes::StructureShape.new(name: 'LinuxParameters')
131
146
  ListAccountSettingsRequest = Shapes::StructureShape.new(name: 'ListAccountSettingsRequest')
132
147
  ListAccountSettingsResponse = Shapes::StructureShape.new(name: 'ListAccountSettingsResponse')
@@ -152,6 +167,11 @@ module Aws::ECS
152
167
  LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
153
168
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
154
169
  Long = Shapes::IntegerShape.new(name: 'Long')
170
+ ManagedScaling = Shapes::StructureShape.new(name: 'ManagedScaling')
171
+ ManagedScalingStatus = Shapes::StringShape.new(name: 'ManagedScalingStatus')
172
+ ManagedScalingStepSize = Shapes::IntegerShape.new(name: 'ManagedScalingStepSize')
173
+ ManagedScalingTargetCapacity = Shapes::IntegerShape.new(name: 'ManagedScalingTargetCapacity')
174
+ ManagedTerminationProtection = Shapes::StringShape.new(name: 'ManagedTerminationProtection')
155
175
  MissingVersionException = Shapes::StructureShape.new(name: 'MissingVersionException')
156
176
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
157
177
  MountPointList = Shapes::ListShape.new(name: 'MountPointList')
@@ -186,6 +206,8 @@ module Aws::ECS
186
206
  PutAccountSettingResponse = Shapes::StructureShape.new(name: 'PutAccountSettingResponse')
187
207
  PutAttributesRequest = Shapes::StructureShape.new(name: 'PutAttributesRequest')
188
208
  PutAttributesResponse = Shapes::StructureShape.new(name: 'PutAttributesResponse')
209
+ PutClusterCapacityProvidersRequest = Shapes::StructureShape.new(name: 'PutClusterCapacityProvidersRequest')
210
+ PutClusterCapacityProvidersResponse = Shapes::StructureShape.new(name: 'PutClusterCapacityProvidersResponse')
189
211
  RegisterContainerInstanceRequest = Shapes::StructureShape.new(name: 'RegisterContainerInstanceRequest')
190
212
  RegisterContainerInstanceResponse = Shapes::StructureShape.new(name: 'RegisterContainerInstanceResponse')
191
213
  RegisterTaskDefinitionRequest = Shapes::StructureShape.new(name: 'RegisterTaskDefinitionRequest')
@@ -193,6 +215,7 @@ module Aws::ECS
193
215
  RepositoryCredentials = Shapes::StructureShape.new(name: 'RepositoryCredentials')
194
216
  RequiresAttributes = Shapes::ListShape.new(name: 'RequiresAttributes')
195
217
  Resource = Shapes::StructureShape.new(name: 'Resource')
218
+ ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
196
219
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
197
220
  ResourceRequirement = Shapes::StructureShape.new(name: 'ResourceRequirement')
198
221
  ResourceRequirements = Shapes::ListShape.new(name: 'ResourceRequirements')
@@ -317,11 +340,34 @@ module Aws::ECS
317
340
 
318
341
  Attributes.member = Shapes::ShapeRef.new(shape: Attribute)
319
342
 
343
+ AutoScalingGroupProvider.add_member(:auto_scaling_group_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "autoScalingGroupArn"))
344
+ AutoScalingGroupProvider.add_member(:managed_scaling, Shapes::ShapeRef.new(shape: ManagedScaling, location_name: "managedScaling"))
345
+ AutoScalingGroupProvider.add_member(:managed_termination_protection, Shapes::ShapeRef.new(shape: ManagedTerminationProtection, location_name: "managedTerminationProtection"))
346
+ AutoScalingGroupProvider.struct_class = Types::AutoScalingGroupProvider
347
+
320
348
  AwsVpcConfiguration.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
321
349
  AwsVpcConfiguration.add_member(:security_groups, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroups"))
322
350
  AwsVpcConfiguration.add_member(:assign_public_ip, Shapes::ShapeRef.new(shape: AssignPublicIp, location_name: "assignPublicIp"))
323
351
  AwsVpcConfiguration.struct_class = Types::AwsVpcConfiguration
324
352
 
353
+ CapacityProvider.add_member(:capacity_provider_arn, Shapes::ShapeRef.new(shape: String, location_name: "capacityProviderArn"))
354
+ CapacityProvider.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
355
+ CapacityProvider.add_member(:status, Shapes::ShapeRef.new(shape: CapacityProviderStatus, location_name: "status"))
356
+ CapacityProvider.add_member(:auto_scaling_group_provider, Shapes::ShapeRef.new(shape: AutoScalingGroupProvider, location_name: "autoScalingGroupProvider"))
357
+ CapacityProvider.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
358
+ CapacityProvider.struct_class = Types::CapacityProvider
359
+
360
+ CapacityProviderFieldList.member = Shapes::ShapeRef.new(shape: CapacityProviderField)
361
+
362
+ CapacityProviderStrategy.member = Shapes::ShapeRef.new(shape: CapacityProviderStrategyItem)
363
+
364
+ CapacityProviderStrategyItem.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: String, required: true, location_name: "capacityProvider"))
365
+ CapacityProviderStrategyItem.add_member(:weight, Shapes::ShapeRef.new(shape: CapacityProviderStrategyItemWeight, location_name: "weight"))
366
+ CapacityProviderStrategyItem.add_member(:base, Shapes::ShapeRef.new(shape: CapacityProviderStrategyItemBase, location_name: "base"))
367
+ CapacityProviderStrategyItem.struct_class = Types::CapacityProviderStrategyItem
368
+
369
+ CapacityProviders.member = Shapes::ShapeRef.new(shape: CapacityProvider)
370
+
325
371
  ClientException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
326
372
  ClientException.struct_class = Types::ClientException
327
373
 
@@ -335,6 +381,10 @@ module Aws::ECS
335
381
  Cluster.add_member(:statistics, Shapes::ShapeRef.new(shape: Statistics, location_name: "statistics"))
336
382
  Cluster.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
337
383
  Cluster.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
384
+ Cluster.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
385
+ Cluster.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
386
+ Cluster.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
387
+ Cluster.add_member(:attachments_status, Shapes::ShapeRef.new(shape: String, location_name: "attachmentsStatus"))
338
388
  Cluster.struct_class = Types::Cluster
339
389
 
340
390
  ClusterFieldList.member = Shapes::ShapeRef.new(shape: ClusterField)
@@ -417,6 +467,7 @@ module Aws::ECS
417
467
 
418
468
  ContainerInstance.add_member(:container_instance_arn, Shapes::ShapeRef.new(shape: String, location_name: "containerInstanceArn"))
419
469
  ContainerInstance.add_member(:ec2_instance_id, Shapes::ShapeRef.new(shape: String, location_name: "ec2InstanceId"))
470
+ ContainerInstance.add_member(:capacity_provider_name, Shapes::ShapeRef.new(shape: String, location_name: "capacityProviderName"))
420
471
  ContainerInstance.add_member(:version, Shapes::ShapeRef.new(shape: Long, location_name: "version"))
421
472
  ContainerInstance.add_member(:version_info, Shapes::ShapeRef.new(shape: VersionInfo, location_name: "versionInfo"))
422
473
  ContainerInstance.add_member(:remaining_resources, Shapes::ShapeRef.new(shape: Resources, location_name: "remainingResources"))
@@ -461,9 +512,19 @@ module Aws::ECS
461
512
 
462
513
  Containers.member = Shapes::ShapeRef.new(shape: Container)
463
514
 
515
+ CreateCapacityProviderRequest.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
516
+ CreateCapacityProviderRequest.add_member(:auto_scaling_group_provider, Shapes::ShapeRef.new(shape: AutoScalingGroupProvider, required: true, location_name: "autoScalingGroupProvider"))
517
+ CreateCapacityProviderRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
518
+ CreateCapacityProviderRequest.struct_class = Types::CreateCapacityProviderRequest
519
+
520
+ CreateCapacityProviderResponse.add_member(:capacity_provider, Shapes::ShapeRef.new(shape: CapacityProvider, location_name: "capacityProvider"))
521
+ CreateCapacityProviderResponse.struct_class = Types::CreateCapacityProviderResponse
522
+
464
523
  CreateClusterRequest.add_member(:cluster_name, Shapes::ShapeRef.new(shape: String, location_name: "clusterName"))
465
524
  CreateClusterRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
466
525
  CreateClusterRequest.add_member(:settings, Shapes::ShapeRef.new(shape: ClusterSettings, location_name: "settings"))
526
+ CreateClusterRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
527
+ CreateClusterRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "defaultCapacityProviderStrategy"))
467
528
  CreateClusterRequest.struct_class = Types::CreateClusterRequest
468
529
 
469
530
  CreateClusterResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
@@ -477,6 +538,7 @@ module Aws::ECS
477
538
  CreateServiceRequest.add_member(:desired_count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "desiredCount"))
478
539
  CreateServiceRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
479
540
  CreateServiceRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
541
+ CreateServiceRequest.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
480
542
  CreateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
481
543
  CreateServiceRequest.add_member(:role, Shapes::ShapeRef.new(shape: String, location_name: "role"))
482
544
  CreateServiceRequest.add_member(:deployment_configuration, Shapes::ShapeRef.new(shape: DeploymentConfiguration, location_name: "deploymentConfiguration"))
@@ -502,6 +564,7 @@ module Aws::ECS
502
564
  CreateTaskSetRequest.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
503
565
  CreateTaskSetRequest.add_member(:service_registries, Shapes::ShapeRef.new(shape: ServiceRegistries, location_name: "serviceRegistries"))
504
566
  CreateTaskSetRequest.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
567
+ CreateTaskSetRequest.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
505
568
  CreateTaskSetRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
506
569
  CreateTaskSetRequest.add_member(:scale, Shapes::ShapeRef.new(shape: Scale, location_name: "scale"))
507
570
  CreateTaskSetRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
@@ -555,6 +618,7 @@ module Aws::ECS
555
618
  Deployment.add_member(:running_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningCount"))
556
619
  Deployment.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
557
620
  Deployment.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt"))
621
+ Deployment.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
558
622
  Deployment.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
559
623
  Deployment.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
560
624
  Deployment.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
@@ -583,6 +647,17 @@ module Aws::ECS
583
647
  DeregisterTaskDefinitionResponse.add_member(:task_definition, Shapes::ShapeRef.new(shape: TaskDefinition, location_name: "taskDefinition"))
584
648
  DeregisterTaskDefinitionResponse.struct_class = Types::DeregisterTaskDefinitionResponse
585
649
 
650
+ DescribeCapacityProvidersRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, location_name: "capacityProviders"))
651
+ DescribeCapacityProvidersRequest.add_member(:include, Shapes::ShapeRef.new(shape: CapacityProviderFieldList, location_name: "include"))
652
+ DescribeCapacityProvidersRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "maxResults"))
653
+ DescribeCapacityProvidersRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
654
+ DescribeCapacityProvidersRequest.struct_class = Types::DescribeCapacityProvidersRequest
655
+
656
+ DescribeCapacityProvidersResponse.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: CapacityProviders, location_name: "capacityProviders"))
657
+ DescribeCapacityProvidersResponse.add_member(:failures, Shapes::ShapeRef.new(shape: Failures, location_name: "failures"))
658
+ DescribeCapacityProvidersResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
659
+ DescribeCapacityProvidersResponse.struct_class = Types::DescribeCapacityProvidersResponse
660
+
586
661
  DescribeClustersRequest.add_member(:clusters, Shapes::ShapeRef.new(shape: StringList, location_name: "clusters"))
587
662
  DescribeClustersRequest.add_member(:include, Shapes::ShapeRef.new(shape: ClusterFieldList, location_name: "include"))
588
663
  DescribeClustersRequest.struct_class = Types::DescribeClustersRequest
@@ -837,6 +912,12 @@ module Aws::ECS
837
912
  LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
838
913
  LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
839
914
 
915
+ ManagedScaling.add_member(:status, Shapes::ShapeRef.new(shape: ManagedScalingStatus, location_name: "status"))
916
+ ManagedScaling.add_member(:target_capacity, Shapes::ShapeRef.new(shape: ManagedScalingTargetCapacity, location_name: "targetCapacity"))
917
+ ManagedScaling.add_member(:minimum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "minimumScalingStepSize"))
918
+ ManagedScaling.add_member(:maximum_scaling_step_size, Shapes::ShapeRef.new(shape: ManagedScalingStepSize, location_name: "maximumScalingStepSize"))
919
+ ManagedScaling.struct_class = Types::ManagedScaling
920
+
840
921
  MountPoint.add_member(:source_volume, Shapes::ShapeRef.new(shape: String, location_name: "sourceVolume"))
841
922
  MountPoint.add_member(:container_path, Shapes::ShapeRef.new(shape: String, location_name: "containerPath"))
842
923
  MountPoint.add_member(:read_only, Shapes::ShapeRef.new(shape: BoxedBoolean, location_name: "readOnly"))
@@ -916,6 +997,14 @@ module Aws::ECS
916
997
  PutAttributesResponse.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "attributes"))
917
998
  PutAttributesResponse.struct_class = Types::PutAttributesResponse
918
999
 
1000
+ PutClusterCapacityProvidersRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, required: true, location_name: "cluster"))
1001
+ PutClusterCapacityProvidersRequest.add_member(:capacity_providers, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "capacityProviders"))
1002
+ PutClusterCapacityProvidersRequest.add_member(:default_capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, required: true, location_name: "defaultCapacityProviderStrategy"))
1003
+ PutClusterCapacityProvidersRequest.struct_class = Types::PutClusterCapacityProvidersRequest
1004
+
1005
+ PutClusterCapacityProvidersResponse.add_member(:cluster, Shapes::ShapeRef.new(shape: Cluster, location_name: "cluster"))
1006
+ PutClusterCapacityProvidersResponse.struct_class = Types::PutClusterCapacityProvidersResponse
1007
+
919
1008
  RegisterContainerInstanceRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
920
1009
  RegisterContainerInstanceRequest.add_member(:instance_identity_document, Shapes::ShapeRef.new(shape: String, location_name: "instanceIdentityDocument"))
921
1010
  RegisterContainerInstanceRequest.add_member(:instance_identity_document_signature, Shapes::ShapeRef.new(shape: String, location_name: "instanceIdentityDocumentSignature"))
@@ -972,6 +1061,7 @@ module Aws::ECS
972
1061
 
973
1062
  Resources.member = Shapes::ShapeRef.new(shape: Resource)
974
1063
 
1064
+ RunTaskRequest.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
975
1065
  RunTaskRequest.add_member(:cluster, Shapes::ShapeRef.new(shape: String, location_name: "cluster"))
976
1066
  RunTaskRequest.add_member(:count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "count"))
977
1067
  RunTaskRequest.add_member(:enable_ecs_managed_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableECSManagedTags"))
@@ -1016,6 +1106,7 @@ module Aws::ECS
1016
1106
  Service.add_member(:running_count, Shapes::ShapeRef.new(shape: Integer, location_name: "runningCount"))
1017
1107
  Service.add_member(:pending_count, Shapes::ShapeRef.new(shape: Integer, location_name: "pendingCount"))
1018
1108
  Service.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1109
+ Service.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
1019
1110
  Service.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1020
1111
  Service.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
1021
1112
  Service.add_member(:deployment_configuration, Shapes::ShapeRef.new(shape: DeploymentConfiguration, location_name: "deploymentConfiguration"))
@@ -1151,6 +1242,7 @@ module Aws::ECS
1151
1242
  Task.add_member(:attachments, Shapes::ShapeRef.new(shape: Attachments, location_name: "attachments"))
1152
1243
  Task.add_member(:attributes, Shapes::ShapeRef.new(shape: Attributes, location_name: "attributes"))
1153
1244
  Task.add_member(:availability_zone, Shapes::ShapeRef.new(shape: String, location_name: "availabilityZone"))
1245
+ Task.add_member(:capacity_provider_name, Shapes::ShapeRef.new(shape: String, location_name: "capacityProviderName"))
1154
1246
  Task.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: String, location_name: "clusterArn"))
1155
1247
  Task.add_member(:connectivity, Shapes::ShapeRef.new(shape: Connectivity, location_name: "connectivity"))
1156
1248
  Task.add_member(:connectivity_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "connectivityAt"))
@@ -1235,6 +1327,7 @@ module Aws::ECS
1235
1327
  TaskSet.add_member(:created_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "createdAt"))
1236
1328
  TaskSet.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "updatedAt"))
1237
1329
  TaskSet.add_member(:launch_type, Shapes::ShapeRef.new(shape: LaunchType, location_name: "launchType"))
1330
+ TaskSet.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
1238
1331
  TaskSet.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
1239
1332
  TaskSet.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1240
1333
  TaskSet.add_member(:load_balancers, Shapes::ShapeRef.new(shape: LoadBalancers, location_name: "loadBalancers"))
@@ -1303,6 +1396,7 @@ module Aws::ECS
1303
1396
  UpdateServiceRequest.add_member(:service, Shapes::ShapeRef.new(shape: String, required: true, location_name: "service"))
1304
1397
  UpdateServiceRequest.add_member(:desired_count, Shapes::ShapeRef.new(shape: BoxedInteger, location_name: "desiredCount"))
1305
1398
  UpdateServiceRequest.add_member(:task_definition, Shapes::ShapeRef.new(shape: String, location_name: "taskDefinition"))
1399
+ UpdateServiceRequest.add_member(:capacity_provider_strategy, Shapes::ShapeRef.new(shape: CapacityProviderStrategy, location_name: "capacityProviderStrategy"))
1306
1400
  UpdateServiceRequest.add_member(:deployment_configuration, Shapes::ShapeRef.new(shape: DeploymentConfiguration, location_name: "deploymentConfiguration"))
1307
1401
  UpdateServiceRequest.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
1308
1402
  UpdateServiceRequest.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
@@ -1359,6 +1453,18 @@ module Aws::ECS
1359
1453
  "uid" => "ecs-2014-11-13",
1360
1454
  }
1361
1455
 
1456
+ api.add_operation(:create_capacity_provider, Seahorse::Model::Operation.new.tap do |o|
1457
+ o.name = "CreateCapacityProvider"
1458
+ o.http_method = "POST"
1459
+ o.http_request_uri = "/"
1460
+ o.input = Shapes::ShapeRef.new(shape: CreateCapacityProviderRequest)
1461
+ o.output = Shapes::ShapeRef.new(shape: CreateCapacityProviderResponse)
1462
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1463
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1464
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1465
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1466
+ end)
1467
+
1362
1468
  api.add_operation(:create_cluster, Seahorse::Model::Operation.new.tap do |o|
1363
1469
  o.name = "CreateCluster"
1364
1470
  o.http_method = "POST"
@@ -1439,6 +1545,7 @@ module Aws::ECS
1439
1545
  o.errors << Shapes::ShapeRef.new(shape: ClusterContainsContainerInstancesException)
1440
1546
  o.errors << Shapes::ShapeRef.new(shape: ClusterContainsServicesException)
1441
1547
  o.errors << Shapes::ShapeRef.new(shape: ClusterContainsTasksException)
1548
+ o.errors << Shapes::ShapeRef.new(shape: UpdateInProgressException)
1442
1549
  end)
1443
1550
 
1444
1551
  api.add_operation(:delete_service, Seahorse::Model::Operation.new.tap do |o|
@@ -1494,6 +1601,17 @@ module Aws::ECS
1494
1601
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1495
1602
  end)
1496
1603
 
1604
+ api.add_operation(:describe_capacity_providers, Seahorse::Model::Operation.new.tap do |o|
1605
+ o.name = "DescribeCapacityProviders"
1606
+ o.http_method = "POST"
1607
+ o.http_request_uri = "/"
1608
+ o.input = Shapes::ShapeRef.new(shape: DescribeCapacityProvidersRequest)
1609
+ o.output = Shapes::ShapeRef.new(shape: DescribeCapacityProvidersResponse)
1610
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1611
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1612
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1613
+ end)
1614
+
1497
1615
  api.add_operation(:describe_clusters, Seahorse::Model::Operation.new.tap do |o|
1498
1616
  o.name = "DescribeClusters"
1499
1617
  o.http_method = "POST"
@@ -1597,6 +1715,12 @@ module Aws::ECS
1597
1715
  o.output = Shapes::ShapeRef.new(shape: ListAttributesResponse)
1598
1716
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1599
1717
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1718
+ o[:pager] = Aws::Pager.new(
1719
+ limit_key: "max_results",
1720
+ tokens: {
1721
+ "next_token" => "next_token"
1722
+ }
1723
+ )
1600
1724
  end)
1601
1725
 
1602
1726
  api.add_operation(:list_clusters, Seahorse::Model::Operation.new.tap do |o|
@@ -1751,6 +1875,20 @@ module Aws::ECS
1751
1875
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1752
1876
  end)
1753
1877
 
1878
+ api.add_operation(:put_cluster_capacity_providers, Seahorse::Model::Operation.new.tap do |o|
1879
+ o.name = "PutClusterCapacityProviders"
1880
+ o.http_method = "POST"
1881
+ o.http_request_uri = "/"
1882
+ o.input = Shapes::ShapeRef.new(shape: PutClusterCapacityProvidersRequest)
1883
+ o.output = Shapes::ShapeRef.new(shape: PutClusterCapacityProvidersResponse)
1884
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
1885
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1886
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1887
+ o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1888
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
1889
+ o.errors << Shapes::ShapeRef.new(shape: UpdateInProgressException)
1890
+ end)
1891
+
1754
1892
  api.add_operation(:register_container_instance, Seahorse::Model::Operation.new.tap do |o|
1755
1893
  o.name = "RegisterContainerInstance"
1756
1894
  o.http_method = "POST"
@@ -1942,7 +2080,6 @@ module Aws::ECS
1942
2080
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
1943
2081
  o.errors << Shapes::ShapeRef.new(shape: ClusterNotFoundException)
1944
2082
  o.errors << Shapes::ShapeRef.new(shape: UnsupportedFeatureException)
1945
- o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
1946
2083
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotFoundException)
1947
2084
  o.errors << Shapes::ShapeRef.new(shape: ServiceNotActiveException)
1948
2085
  o.errors << Shapes::ShapeRef.new(shape: TaskSetNotFoundException)
@@ -118,6 +118,63 @@ module Aws::ECS
118
118
  include Aws::Structure
119
119
  end
120
120
 
121
+ # The details of the Auto Scaling group for the capacity provider.
122
+ #
123
+ # @note When making an API call, you may pass AutoScalingGroupProvider
124
+ # data as a hash:
125
+ #
126
+ # {
127
+ # auto_scaling_group_arn: "String", # required
128
+ # managed_scaling: {
129
+ # status: "ENABLED", # accepts ENABLED, DISABLED
130
+ # target_capacity: 1,
131
+ # minimum_scaling_step_size: 1,
132
+ # maximum_scaling_step_size: 1,
133
+ # },
134
+ # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
135
+ # }
136
+ #
137
+ # @!attribute [rw] auto_scaling_group_arn
138
+ # The Amazon Resource Name (ARN) that identifies the Auto Scaling
139
+ # group.
140
+ # @return [String]
141
+ #
142
+ # @!attribute [rw] managed_scaling
143
+ # The managed scaling settings for the Auto Scaling group capacity
144
+ # provider.
145
+ # @return [Types::ManagedScaling]
146
+ #
147
+ # @!attribute [rw] managed_termination_protection
148
+ # The managed termination protection setting to use for the Auto
149
+ # Scaling group capacity provider. This determines whether the Auto
150
+ # Scaling group has managed termination protection.
151
+ #
152
+ # When managed termination protection is enabled, Amazon ECS prevents
153
+ # the Amazon EC2 instances in an Auto Scaling group that contain tasks
154
+ # from being terminated during a scale-in action. The Auto Scaling
155
+ # group and each instance in the Auto Scaling group must have instance
156
+ # protection from scale-in actions enabled as well. For more
157
+ # information, see [Instance Protection][1] in the *AWS Auto Scaling
158
+ # User Guide*.
159
+ #
160
+ # When managed termination protection is disabled, your Amazon EC2
161
+ # instances are not protected from termination when the Auto Scaling
162
+ # group scales in.
163
+ #
164
+ #
165
+ #
166
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
167
+ # @return [String]
168
+ #
169
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/AutoScalingGroupProvider AWS API Documentation
170
+ #
171
+ class AutoScalingGroupProvider < Struct.new(
172
+ :auto_scaling_group_arn,
173
+ :managed_scaling,
174
+ :managed_termination_protection)
175
+ include Aws::Structure
176
+ end
177
+
121
178
  # An object representing the networking details for a task or service.
122
179
  #
123
180
  # @note When making an API call, you may pass AwsVpcConfiguration
@@ -163,6 +220,113 @@ module Aws::ECS
163
220
  include Aws::Structure
164
221
  end
165
222
 
223
+ # The details of a capacity provider.
224
+ #
225
+ # @!attribute [rw] capacity_provider_arn
226
+ # The Amazon Resource Name (ARN) that identifies the capacity
227
+ # provider.
228
+ # @return [String]
229
+ #
230
+ # @!attribute [rw] name
231
+ # The name of the capacity provider.
232
+ # @return [String]
233
+ #
234
+ # @!attribute [rw] status
235
+ # The current status of the capacity provider. Only capacity providers
236
+ # in an `ACTIVE` state can be used in a cluster.
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] auto_scaling_group_provider
240
+ # The Auto Scaling group settings for the capacity provider.
241
+ # @return [Types::AutoScalingGroupProvider]
242
+ #
243
+ # @!attribute [rw] tags
244
+ # The metadata that you apply to the capacity provider to help you
245
+ # categorize and organize it. Each tag consists of a key and an
246
+ # optional value, both of which you define.
247
+ #
248
+ # The following basic restrictions apply to tags:
249
+ #
250
+ # * Maximum number of tags per resource - 50
251
+ #
252
+ # * For each resource, each tag key must be unique, and each tag key
253
+ # can have only one value.
254
+ #
255
+ # * Maximum key length - 128 Unicode characters in UTF-8
256
+ #
257
+ # * Maximum value length - 256 Unicode characters in UTF-8
258
+ #
259
+ # * If your tagging schema is used across multiple services and
260
+ # resources, remember that other services may have restrictions on
261
+ # allowed characters. Generally allowed characters are: letters,
262
+ # numbers, and spaces representable in UTF-8, and the following
263
+ # characters: + - = . \_ : / @.
264
+ #
265
+ # * Tag keys and values are case-sensitive.
266
+ #
267
+ # * Do not use `aws:`, `AWS:`, or any upper or lowercase combination
268
+ # of such as a prefix for either keys or values as it is reserved
269
+ # for AWS use. You cannot edit or delete tag keys or values with
270
+ # this prefix. Tags with this prefix do not count against your tags
271
+ # per resource limit.
272
+ # @return [Array<Types::Tag>]
273
+ #
274
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProvider AWS API Documentation
275
+ #
276
+ class CapacityProvider < Struct.new(
277
+ :capacity_provider_arn,
278
+ :name,
279
+ :status,
280
+ :auto_scaling_group_provider,
281
+ :tags)
282
+ include Aws::Structure
283
+ end
284
+
285
+ # The details of a capacity provider strategy.
286
+ #
287
+ # @note When making an API call, you may pass CapacityProviderStrategyItem
288
+ # data as a hash:
289
+ #
290
+ # {
291
+ # capacity_provider: "String", # required
292
+ # weight: 1,
293
+ # base: 1,
294
+ # }
295
+ #
296
+ # @!attribute [rw] capacity_provider
297
+ # The short name or full Amazon Resource Name (ARN) of the capacity
298
+ # provider.
299
+ # @return [String]
300
+ #
301
+ # @!attribute [rw] weight
302
+ # The *weight* value designates the relative percentage of the total
303
+ # number of tasks launched that should use the specified capacity
304
+ # provider.
305
+ #
306
+ # For example, if you have a strategy that contains two capacity
307
+ # providers and both have a weight of `1`, then when the `base` is
308
+ # satisfied, the tasks will be split evenly across the two capacity
309
+ # providers. Using that same logic, if you specify a weight of `1` for
310
+ # *capacityProviderA* and a weight of `4` for *capacityProviderB*,
311
+ # then for every one task that is run using *capacityProviderA*, four
312
+ # tasks would use *capacityProviderB*.
313
+ # @return [Integer]
314
+ #
315
+ # @!attribute [rw] base
316
+ # The *base* value designates how many tasks, at a minimum, to run on
317
+ # the specified capacity provider. Only one capacity provider in a
318
+ # capacity provider strategy can have a *base* defined.
319
+ # @return [Integer]
320
+ #
321
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CapacityProviderStrategyItem AWS API Documentation
322
+ #
323
+ class CapacityProviderStrategyItem < Struct.new(
324
+ :capacity_provider,
325
+ :weight,
326
+ :base)
327
+ include Aws::Structure
328
+ end
329
+
166
330
  # These errors are usually caused by a client action, such as using an
167
331
  # action or resource on behalf of a user that doesn't have permissions
168
332
  # to use the action or resource, or specifying an identifier that is not
@@ -278,6 +442,42 @@ module Aws::ECS
278
442
  # CloudWatch Container Insights is enabled or disabled for a cluster.
279
443
  # @return [Array<Types::ClusterSetting>]
280
444
  #
445
+ # @!attribute [rw] capacity_providers
446
+ # The capacity providers associated with the cluster.
447
+ # @return [Array<String>]
448
+ #
449
+ # @!attribute [rw] default_capacity_provider_strategy
450
+ # The default capacity provider strategy for the cluster. When
451
+ # services or tasks are run in the cluster with no launch type or
452
+ # capacity provider strategy specified, the default capacity provider
453
+ # strategy is used.
454
+ # @return [Array<Types::CapacityProviderStrategyItem>]
455
+ #
456
+ # @!attribute [rw] attachments
457
+ # The resources attached to a cluster. When using a capacity provider
458
+ # with a cluster, the Auto Scaling plan that is created will be
459
+ # returned as a cluster attachment.
460
+ # @return [Array<Types::Attachment>]
461
+ #
462
+ # @!attribute [rw] attachments_status
463
+ # The status of the capacity providers associated with the cluster.
464
+ # The following are the states that will be returned:
465
+ #
466
+ # UPDATE\_IN\_PROGRESS
467
+ #
468
+ # : The available capacity providers for the cluster are updating.
469
+ # This occurs when the Auto Scaling plan is provisioning or
470
+ # deprovisioning.
471
+ #
472
+ # UPDATE\_COMPLETE
473
+ #
474
+ # : The capacity providers have successfully updated.
475
+ #
476
+ # UPDATE\_FAILED
477
+ #
478
+ # : The capacity provider updates failed.
479
+ # @return [String]
480
+ #
281
481
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/Cluster AWS API Documentation
282
482
  #
283
483
  class Cluster < Struct.new(
@@ -290,7 +490,11 @@ module Aws::ECS
290
490
  :active_services_count,
291
491
  :statistics,
292
492
  :tags,
293
- :settings)
493
+ :settings,
494
+ :capacity_providers,
495
+ :default_capacity_provider_strategy,
496
+ :attachments,
497
+ :attachments_status)
294
498
  include Aws::Structure
295
499
  end
296
500
 
@@ -1544,6 +1748,10 @@ module Aws::ECS
1544
1748
  # The EC2 instance ID of the container instance.
1545
1749
  # @return [String]
1546
1750
  #
1751
+ # @!attribute [rw] capacity_provider_name
1752
+ # The capacity provider associated with the container instance.
1753
+ # @return [String]
1754
+ #
1547
1755
  # @!attribute [rw] version
1548
1756
  # The version counter for the container instance. Every time a
1549
1757
  # container instance experiences a change that triggers a CloudWatch
@@ -1688,6 +1896,7 @@ module Aws::ECS
1688
1896
  class ContainerInstance < Struct.new(
1689
1897
  :container_instance_arn,
1690
1898
  :ec2_instance_id,
1899
+ :capacity_provider_name,
1691
1900
  :version,
1692
1901
  :version_info,
1693
1902
  :remaining_resources,
@@ -1854,6 +2063,91 @@ module Aws::ECS
1854
2063
  include Aws::Structure
1855
2064
  end
1856
2065
 
2066
+ # @note When making an API call, you may pass CreateCapacityProviderRequest
2067
+ # data as a hash:
2068
+ #
2069
+ # {
2070
+ # name: "String", # required
2071
+ # auto_scaling_group_provider: { # required
2072
+ # auto_scaling_group_arn: "String", # required
2073
+ # managed_scaling: {
2074
+ # status: "ENABLED", # accepts ENABLED, DISABLED
2075
+ # target_capacity: 1,
2076
+ # minimum_scaling_step_size: 1,
2077
+ # maximum_scaling_step_size: 1,
2078
+ # },
2079
+ # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
2080
+ # },
2081
+ # tags: [
2082
+ # {
2083
+ # key: "TagKey",
2084
+ # value: "TagValue",
2085
+ # },
2086
+ # ],
2087
+ # }
2088
+ #
2089
+ # @!attribute [rw] name
2090
+ # The name of the capacity provider. Up to 255 characters are allowed,
2091
+ # including letters (upper and lowercase), numbers, underscores, and
2092
+ # hyphens. The name cannot be prefixed with "`aws`", "`ecs`", or
2093
+ # "`fargate`".
2094
+ # @return [String]
2095
+ #
2096
+ # @!attribute [rw] auto_scaling_group_provider
2097
+ # The details of the Auto Scaling group for the capacity provider.
2098
+ # @return [Types::AutoScalingGroupProvider]
2099
+ #
2100
+ # @!attribute [rw] tags
2101
+ # The metadata that you apply to the capacity provider to help you
2102
+ # categorize and organize them. Each tag consists of a key and an
2103
+ # optional value, both of which you define.
2104
+ #
2105
+ # The following basic restrictions apply to tags:
2106
+ #
2107
+ # * Maximum number of tags per resource - 50
2108
+ #
2109
+ # * For each resource, each tag key must be unique, and each tag key
2110
+ # can have only one value.
2111
+ #
2112
+ # * Maximum key length - 128 Unicode characters in UTF-8
2113
+ #
2114
+ # * Maximum value length - 256 Unicode characters in UTF-8
2115
+ #
2116
+ # * If your tagging schema is used across multiple services and
2117
+ # resources, remember that other services may have restrictions on
2118
+ # allowed characters. Generally allowed characters are: letters,
2119
+ # numbers, and spaces representable in UTF-8, and the following
2120
+ # characters: + - = . \_ : / @.
2121
+ #
2122
+ # * Tag keys and values are case-sensitive.
2123
+ #
2124
+ # * Do not use `aws:`, `AWS:`, or any upper or lowercase combination
2125
+ # of such as a prefix for either keys or values as it is reserved
2126
+ # for AWS use. You cannot edit or delete tag keys or values with
2127
+ # this prefix. Tags with this prefix do not count against your tags
2128
+ # per resource limit.
2129
+ # @return [Array<Types::Tag>]
2130
+ #
2131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProviderRequest AWS API Documentation
2132
+ #
2133
+ class CreateCapacityProviderRequest < Struct.new(
2134
+ :name,
2135
+ :auto_scaling_group_provider,
2136
+ :tags)
2137
+ include Aws::Structure
2138
+ end
2139
+
2140
+ # @!attribute [rw] capacity_provider
2141
+ # The full description of the new capacity provider.
2142
+ # @return [Types::CapacityProvider]
2143
+ #
2144
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProviderResponse AWS API Documentation
2145
+ #
2146
+ class CreateCapacityProviderResponse < Struct.new(
2147
+ :capacity_provider)
2148
+ include Aws::Structure
2149
+ end
2150
+
1857
2151
  # @note When making an API call, you may pass CreateClusterRequest
1858
2152
  # data as a hash:
1859
2153
  #
@@ -1871,6 +2165,14 @@ module Aws::ECS
1871
2165
  # value: "String",
1872
2166
  # },
1873
2167
  # ],
2168
+ # capacity_providers: ["String"],
2169
+ # default_capacity_provider_strategy: [
2170
+ # {
2171
+ # capacity_provider: "String", # required
2172
+ # weight: 1,
2173
+ # base: 1,
2174
+ # },
2175
+ # ],
1874
2176
  # }
1875
2177
  #
1876
2178
  # @!attribute [rw] cluster_name
@@ -1917,12 +2219,62 @@ module Aws::ECS
1917
2219
  # with PutAccountSetting or PutAccountSettingDefault.
1918
2220
  # @return [Array<Types::ClusterSetting>]
1919
2221
  #
2222
+ # @!attribute [rw] capacity_providers
2223
+ # The short name or full Amazon Resource Name (ARN) of one or more
2224
+ # capacity providers to associate with the cluster.
2225
+ #
2226
+ # If specifying a capacity provider that uses an Auto Scaling group,
2227
+ # the capacity provider must already be created and not already
2228
+ # associated with another cluster. New capacity providers can be
2229
+ # created with the CreateCapacityProvider API operation.
2230
+ #
2231
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2232
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2233
+ # providers are available to all accounts and only need to be
2234
+ # associated with a cluster to be used.
2235
+ #
2236
+ # The PutClusterCapacityProviders API operation is used to update the
2237
+ # list of available capacity providers for a cluster after the cluster
2238
+ # is created.
2239
+ # @return [Array<String>]
2240
+ #
2241
+ # @!attribute [rw] default_capacity_provider_strategy
2242
+ # The capacity provider strategy to use by default for the cluster.
2243
+ #
2244
+ # When creating a service or running a task on a cluster, if no
2245
+ # capacity provider or launch type is specified then the default
2246
+ # capacity provider strategy for the cluster is used.
2247
+ #
2248
+ # A capacity provider strategy consists of one or more capacity
2249
+ # providers along with the `base` and `weight` to assign to them. A
2250
+ # capacity provider must be associated with the cluster to be used in
2251
+ # a capacity provider strategy. The PutClusterCapacityProviders API is
2252
+ # used to associate a capacity provider with a cluster. Only capacity
2253
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
2254
+ #
2255
+ # If specifying a capacity provider that uses an Auto Scaling group,
2256
+ # the capacity provider must already be created. New capacity
2257
+ # providers can be created with the CreateCapacityProvider API
2258
+ # operation.
2259
+ #
2260
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2261
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2262
+ # providers are available to all accounts and only need to be
2263
+ # associated with a cluster to be used.
2264
+ #
2265
+ # If a default capacity provider strategy is not defined for a cluster
2266
+ # during creation, it can be defined later with the
2267
+ # PutClusterCapacityProviders API operation.
2268
+ # @return [Array<Types::CapacityProviderStrategyItem>]
2269
+ #
1920
2270
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateClusterRequest AWS API Documentation
1921
2271
  #
1922
2272
  class CreateClusterRequest < Struct.new(
1923
2273
  :cluster_name,
1924
2274
  :tags,
1925
- :settings)
2275
+ :settings,
2276
+ :capacity_providers,
2277
+ :default_capacity_provider_strategy)
1926
2278
  include Aws::Structure
1927
2279
  end
1928
2280
 
@@ -1963,6 +2315,13 @@ module Aws::ECS
1963
2315
  # desired_count: 1,
1964
2316
  # client_token: "String",
1965
2317
  # launch_type: "EC2", # accepts EC2, FARGATE
2318
+ # capacity_provider_strategy: [
2319
+ # {
2320
+ # capacity_provider: "String", # required
2321
+ # weight: 1,
2322
+ # base: 1,
2323
+ # },
2324
+ # ],
1966
2325
  # platform_version: "String",
1967
2326
  # role: "String",
1968
2327
  # deployment_configuration: {
@@ -2120,11 +2479,44 @@ module Aws::ECS
2120
2479
  # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
2121
2480
  # Service Developer Guide*.
2122
2481
  #
2482
+ # If a `launchType` is specified, the `capacityProviderStrategy`
2483
+ # parameter must be omitted.
2484
+ #
2123
2485
  #
2124
2486
  #
2125
2487
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
2126
2488
  # @return [String]
2127
2489
  #
2490
+ # @!attribute [rw] capacity_provider_strategy
2491
+ # The capacity provider strategy to use for the service.
2492
+ #
2493
+ # A capacity provider strategy consists of one or more capacity
2494
+ # providers along with the `base` and `weight` to assign to them. A
2495
+ # capacity provider must be associated with the cluster to be used in
2496
+ # a capacity provider strategy. The PutClusterCapacityProviders API is
2497
+ # used to associate a capacity provider with a cluster. Only capacity
2498
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
2499
+ #
2500
+ # If a `capacityProviderStrategy` is specified, the `launchType`
2501
+ # parameter must be omitted. If no `capacityProviderStrategy` or
2502
+ # `launchType` is specified, the `defaultCapacityProviderStrategy` for
2503
+ # the cluster is used.
2504
+ #
2505
+ # If specifying a capacity provider that uses an Auto Scaling group,
2506
+ # the capacity provider must already be created. New capacity
2507
+ # providers can be created with the CreateCapacityProvider API
2508
+ # operation.
2509
+ #
2510
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2511
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2512
+ # providers are available to all accounts and only need to be
2513
+ # associated with a cluster to be used.
2514
+ #
2515
+ # The PutClusterCapacityProviders API operation is used to update the
2516
+ # list of available capacity providers for a cluster after the cluster
2517
+ # is created.
2518
+ # @return [Array<Types::CapacityProviderStrategyItem>]
2519
+ #
2128
2520
  # @!attribute [rw] platform_version
2129
2521
  # The platform version that your tasks in the service are running on.
2130
2522
  # A platform version is specified only for tasks using the Fargate
@@ -2152,10 +2544,10 @@ module Aws::ECS
2152
2544
  # specify a role here. The service-linked role is required if your
2153
2545
  # task definition uses the `awsvpc` network mode or if the service is
2154
2546
  # configured to use service discovery, an external deployment
2155
- # controller, or multiple target groups in which case you should not
2156
- # specify a role here. For more information, see [Using Service-Linked
2157
- # Roles for Amazon ECS][1] in the *Amazon Elastic Container Service
2158
- # Developer Guide*.
2547
+ # controller, multiple target groups, or Elastic Inference
2548
+ # accelerators in which case you should not specify a role here. For
2549
+ # more information, see [Using Service-Linked Roles for Amazon ECS][1]
2550
+ # in the *Amazon Elastic Container Service Developer Guide*.
2159
2551
  #
2160
2552
  # If your specified role has a path other than `/`, then you must
2161
2553
  # either specify the full role ARN (this is recommended) or prefix the
@@ -2312,6 +2704,7 @@ module Aws::ECS
2312
2704
  :desired_count,
2313
2705
  :client_token,
2314
2706
  :launch_type,
2707
+ :capacity_provider_strategy,
2315
2708
  :platform_version,
2316
2709
  :role,
2317
2710
  :deployment_configuration,
@@ -2379,6 +2772,13 @@ module Aws::ECS
2379
2772
  # },
2380
2773
  # ],
2381
2774
  # launch_type: "EC2", # accepts EC2, FARGATE
2775
+ # capacity_provider_strategy: [
2776
+ # {
2777
+ # capacity_provider: "String", # required
2778
+ # weight: 1,
2779
+ # base: 1,
2780
+ # },
2781
+ # ],
2382
2782
  # platform_version: "String",
2383
2783
  # scale: {
2384
2784
  # value: 1.0,
@@ -2434,11 +2834,44 @@ module Aws::ECS
2434
2834
  # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
2435
2835
  # Container Service Developer Guide*.
2436
2836
  #
2837
+ # If a `launchType` is specified, the `capacityProviderStrategy`
2838
+ # parameter must be omitted.
2839
+ #
2437
2840
  #
2438
2841
  #
2439
2842
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
2440
2843
  # @return [String]
2441
2844
  #
2845
+ # @!attribute [rw] capacity_provider_strategy
2846
+ # The capacity provider strategy to use for the task set.
2847
+ #
2848
+ # A capacity provider strategy consists of one or more capacity
2849
+ # providers along with the `base` and `weight` to assign to them. A
2850
+ # capacity provider must be associated with the cluster to be used in
2851
+ # a capacity provider strategy. The PutClusterCapacityProviders API is
2852
+ # used to associate a capacity provider with a cluster. Only capacity
2853
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
2854
+ #
2855
+ # If a `capacityProviderStrategy` is specified, the `launchType`
2856
+ # parameter must be omitted. If no `capacityProviderStrategy` or
2857
+ # `launchType` is specified, the `defaultCapacityProviderStrategy` for
2858
+ # the cluster is used.
2859
+ #
2860
+ # If specifying a capacity provider that uses an Auto Scaling group,
2861
+ # the capacity provider must already be created. New capacity
2862
+ # providers can be created with the CreateCapacityProvider API
2863
+ # operation.
2864
+ #
2865
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
2866
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
2867
+ # providers are available to all accounts and only need to be
2868
+ # associated with a cluster to be used.
2869
+ #
2870
+ # The PutClusterCapacityProviders API operation is used to update the
2871
+ # list of available capacity providers for a cluster after the cluster
2872
+ # is created.
2873
+ # @return [Array<Types::CapacityProviderStrategyItem>]
2874
+ #
2442
2875
  # @!attribute [rw] platform_version
2443
2876
  # The platform version that the tasks in the task set should use. A
2444
2877
  # platform version is specified only for tasks using the Fargate
@@ -2467,6 +2900,7 @@ module Aws::ECS
2467
2900
  :load_balancers,
2468
2901
  :service_registries,
2469
2902
  :launch_type,
2903
+ :capacity_provider_strategy,
2470
2904
  :platform_version,
2471
2905
  :scale,
2472
2906
  :client_token)
@@ -2764,6 +3198,10 @@ module Aws::ECS
2764
3198
  # The Unix timestamp for when the service deployment was last updated.
2765
3199
  # @return [Time]
2766
3200
  #
3201
+ # @!attribute [rw] capacity_provider_strategy
3202
+ # The capacity provider strategy that the deployment is using.
3203
+ # @return [Array<Types::CapacityProviderStrategyItem>]
3204
+ #
2767
3205
  # @!attribute [rw] launch_type
2768
3206
  # The launch type the tasks in the service are using. For more
2769
3207
  # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
@@ -2804,6 +3242,7 @@ module Aws::ECS
2804
3242
  :running_count,
2805
3243
  :created_at,
2806
3244
  :updated_at,
3245
+ :capacity_provider_strategy,
2807
3246
  :launch_type,
2808
3247
  :platform_version,
2809
3248
  :network_configuration)
@@ -3022,12 +3461,96 @@ module Aws::ECS
3022
3461
  include Aws::Structure
3023
3462
  end
3024
3463
 
3464
+ # @note When making an API call, you may pass DescribeCapacityProvidersRequest
3465
+ # data as a hash:
3466
+ #
3467
+ # {
3468
+ # capacity_providers: ["String"],
3469
+ # include: ["TAGS"], # accepts TAGS
3470
+ # max_results: 1,
3471
+ # next_token: "String",
3472
+ # }
3473
+ #
3474
+ # @!attribute [rw] capacity_providers
3475
+ # The short name or full Amazon Resource Name (ARN) of one or more
3476
+ # capacity providers. Up to `100` capacity providers can be described
3477
+ # in an action.
3478
+ # @return [Array<String>]
3479
+ #
3480
+ # @!attribute [rw] include
3481
+ # Specifies whether or not you want to see the resource tags for the
3482
+ # capacity provider. If `TAGS` is specified, the tags are included in
3483
+ # the response. If this field is omitted, tags are not included in the
3484
+ # response.
3485
+ # @return [Array<String>]
3486
+ #
3487
+ # @!attribute [rw] max_results
3488
+ # The maximum number of account setting results returned by
3489
+ # `DescribeCapacityProviders` in paginated output. When this parameter
3490
+ # is used, `DescribeCapacityProviders` only returns `maxResults`
3491
+ # results in a single page along with a `nextToken` response element.
3492
+ # The remaining results of the initial request can be seen by sending
3493
+ # another `DescribeCapacityProviders` request with the returned
3494
+ # `nextToken` value. This value can be between 1 and 10. If this
3495
+ # parameter is not used, then `DescribeCapacityProviders` returns up
3496
+ # to 10 results and a `nextToken` value if applicable.
3497
+ # @return [Integer]
3498
+ #
3499
+ # @!attribute [rw] next_token
3500
+ # The `nextToken` value returned from a previous paginated
3501
+ # `DescribeCapacityProviders` request where `maxResults` was used and
3502
+ # the results exceeded the value of that parameter. Pagination
3503
+ # continues from the end of the previous results that returned the
3504
+ # `nextToken` value.
3505
+ #
3506
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
3507
+ # used to retrieve the next items in a list and not for other
3508
+ # programmatic purposes.
3509
+ #
3510
+ # </note>
3511
+ # @return [String]
3512
+ #
3513
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProvidersRequest AWS API Documentation
3514
+ #
3515
+ class DescribeCapacityProvidersRequest < Struct.new(
3516
+ :capacity_providers,
3517
+ :include,
3518
+ :max_results,
3519
+ :next_token)
3520
+ include Aws::Structure
3521
+ end
3522
+
3523
+ # @!attribute [rw] capacity_providers
3524
+ # The list of capacity providers.
3525
+ # @return [Array<Types::CapacityProvider>]
3526
+ #
3527
+ # @!attribute [rw] failures
3528
+ # Any failures associated with the call.
3529
+ # @return [Array<Types::Failure>]
3530
+ #
3531
+ # @!attribute [rw] next_token
3532
+ # The `nextToken` value to include in a future
3533
+ # `DescribeCapacityProviders` request. When the results of a
3534
+ # `DescribeCapacityProviders` request exceed `maxResults`, this value
3535
+ # can be used to retrieve the next page of results. This value is
3536
+ # `null` when there are no more results to return.
3537
+ # @return [String]
3538
+ #
3539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProvidersResponse AWS API Documentation
3540
+ #
3541
+ class DescribeCapacityProvidersResponse < Struct.new(
3542
+ :capacity_providers,
3543
+ :failures,
3544
+ :next_token)
3545
+ include Aws::Structure
3546
+ end
3547
+
3025
3548
  # @note When making an API call, you may pass DescribeClustersRequest
3026
3549
  # data as a hash:
3027
3550
  #
3028
3551
  # {
3029
3552
  # clusters: ["String"],
3030
- # include: ["STATISTICS"], # accepts STATISTICS, TAGS
3553
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
3031
3554
  # }
3032
3555
  #
3033
3556
  # @!attribute [rw] clusters
@@ -3037,8 +3560,18 @@ module Aws::ECS
3037
3560
  # @return [Array<String>]
3038
3561
  #
3039
3562
  # @!attribute [rw] include
3040
- # Additional information about your clusters to be separated by launch
3041
- # type, including:
3563
+ # Whether to include additional information about your clusters in the
3564
+ # response. If this field is omitted, the attachments, statistics, and
3565
+ # tags are not included.
3566
+ #
3567
+ # If `ATTACHMENTS` is specified, the attachments for the container
3568
+ # instances or tasks within the cluster are included.
3569
+ #
3570
+ # If `SETTINGS` is specified, the settings for the cluster are
3571
+ # included.
3572
+ #
3573
+ # If `STATISTICS` is specified, the following additional information,
3574
+ # separated by launch type, is included:
3042
3575
  #
3043
3576
  # * runningEC2TasksCount
3044
3577
  #
@@ -3055,6 +3588,9 @@ module Aws::ECS
3055
3588
  # * drainingEC2ServiceCount
3056
3589
  #
3057
3590
  # * drainingFargateServiceCount
3591
+ #
3592
+ # If `TAGS` is specified, the metadata tags associated with the
3593
+ # cluster are included.
3058
3594
  # @return [Array<String>]
3059
3595
  #
3060
3596
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeClustersRequest AWS API Documentation
@@ -3583,10 +4119,18 @@ module Aws::ECS
3583
4119
  #
3584
4120
  # @!attribute [rw] options
3585
4121
  # The options to use when configuring the log router. This field is
3586
- # optional and can be used to add additional metadata, such as the
3587
- # task, task definition, cluster, and container instance details to
3588
- # the log event. If specified, the syntax to use is
3589
- # `"options":\{"enable-ecs-log-metadata":"true|false"\}`.
4122
+ # optional and can be used to specify a custom configuration file or
4123
+ # to add additional metadata, such as the task, task definition,
4124
+ # cluster, and container instance details to the log event. If
4125
+ # specified, the syntax to use is
4126
+ # `"options":\{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::mybucket/fluent.conf|filepath"\}`.
4127
+ # For more information, see [Creating a Task Definition that Uses a
4128
+ # FireLens Configuration][1] in the *Amazon Elastic Container Service
4129
+ # Developer Guide*.
4130
+ #
4131
+ #
4132
+ #
4133
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html#firelens-taskdef
3590
4134
  # @return [Hash<String,String>]
3591
4135
  #
3592
4136
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/FirelensConfiguration AWS API Documentation
@@ -4998,6 +5542,66 @@ module Aws::ECS
4998
5542
  include Aws::Structure
4999
5543
  end
5000
5544
 
5545
+ # The managed scaling settings for the Auto Scaling group capacity
5546
+ # provider.
5547
+ #
5548
+ # When managed scaling is enabled, Amazon ECS manages the scale-in and
5549
+ # scale-out actions of the Auto Scaling group. Amazon ECS manages a
5550
+ # target tracking scaling policy using an Amazon ECS-managed CloudWatch
5551
+ # metric with the specified `targetCapacity` value as the target value
5552
+ # for the metric. For more information, see [Using Managed Scaling][1]
5553
+ # in the *Amazon Elastic Container Service Developer Guide*.
5554
+ #
5555
+ # If managed scaling is disabled, the user must manage the scaling of
5556
+ # the Auto Scaling group.
5557
+ #
5558
+ #
5559
+ #
5560
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling
5561
+ #
5562
+ # @note When making an API call, you may pass ManagedScaling
5563
+ # data as a hash:
5564
+ #
5565
+ # {
5566
+ # status: "ENABLED", # accepts ENABLED, DISABLED
5567
+ # target_capacity: 1,
5568
+ # minimum_scaling_step_size: 1,
5569
+ # maximum_scaling_step_size: 1,
5570
+ # }
5571
+ #
5572
+ # @!attribute [rw] status
5573
+ # Whether or not to enable managed scaling for the capacity provider.
5574
+ # @return [String]
5575
+ #
5576
+ # @!attribute [rw] target_capacity
5577
+ # The target capacity value for the capacity provider. The specified
5578
+ # value must be greater than `0` and less than or equal to `100`. A
5579
+ # value of `100` will result in the Amazon EC2 instances in your Auto
5580
+ # Scaling group being completely utilized.
5581
+ # @return [Integer]
5582
+ #
5583
+ # @!attribute [rw] minimum_scaling_step_size
5584
+ # The minimum number of container instances that Amazon ECS will scale
5585
+ # in or scale out at one time. If this parameter is omitted, the
5586
+ # default value of `1` is used.
5587
+ # @return [Integer]
5588
+ #
5589
+ # @!attribute [rw] maximum_scaling_step_size
5590
+ # The maximum number of container instances that Amazon ECS will scale
5591
+ # in or scale out at one time. If this parameter is omitted, the
5592
+ # default value of `10000` is used.
5593
+ # @return [Integer]
5594
+ #
5595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/ManagedScaling AWS API Documentation
5596
+ #
5597
+ class ManagedScaling < Struct.new(
5598
+ :status,
5599
+ :target_capacity,
5600
+ :minimum_scaling_step_size,
5601
+ :maximum_scaling_step_size)
5602
+ include Aws::Structure
5603
+ end
5604
+
5001
5605
  # Details on a volume mount point that is used in a container
5002
5606
  # definition.
5003
5607
  #
@@ -5578,6 +6182,91 @@ module Aws::ECS
5578
6182
  include Aws::Structure
5579
6183
  end
5580
6184
 
6185
+ # @note When making an API call, you may pass PutClusterCapacityProvidersRequest
6186
+ # data as a hash:
6187
+ #
6188
+ # {
6189
+ # cluster: "String", # required
6190
+ # capacity_providers: ["String"], # required
6191
+ # default_capacity_provider_strategy: [ # required
6192
+ # {
6193
+ # capacity_provider: "String", # required
6194
+ # weight: 1,
6195
+ # base: 1,
6196
+ # },
6197
+ # ],
6198
+ # }
6199
+ #
6200
+ # @!attribute [rw] cluster
6201
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
6202
+ # modify the capacity provider settings for. If you do not specify a
6203
+ # cluster, the default cluster is assumed.
6204
+ # @return [String]
6205
+ #
6206
+ # @!attribute [rw] capacity_providers
6207
+ # The short name or full Amazon Resource Name (ARN) of one or more
6208
+ # capacity providers to associate with the cluster.
6209
+ #
6210
+ # If specifying a capacity provider that uses an Auto Scaling group,
6211
+ # the capacity provider must already be created. New capacity
6212
+ # providers can be created with the CreateCapacityProvider API
6213
+ # operation.
6214
+ #
6215
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
6216
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
6217
+ # providers are available to all accounts and only need to be
6218
+ # associated with a cluster to be used.
6219
+ # @return [Array<String>]
6220
+ #
6221
+ # @!attribute [rw] default_capacity_provider_strategy
6222
+ # The capacity provider strategy to use by default for the cluster.
6223
+ #
6224
+ # When creating a service or running a task on a cluster, if no
6225
+ # capacity provider or launch type is specified then the default
6226
+ # capacity provider strategy for the cluster is used.
6227
+ #
6228
+ # A capacity provider strategy consists of one or more capacity
6229
+ # providers along with the `base` and `weight` to assign to them. A
6230
+ # capacity provider must be associated with the cluster to be used in
6231
+ # a capacity provider strategy. The PutClusterCapacityProviders API is
6232
+ # used to associate a capacity provider with a cluster. Only capacity
6233
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
6234
+ #
6235
+ # If specifying a capacity provider that uses an Auto Scaling group,
6236
+ # the capacity provider must already be created. New capacity
6237
+ # providers can be created with the CreateCapacityProvider API
6238
+ # operation.
6239
+ #
6240
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
6241
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
6242
+ # providers are available to all accounts and only need to be
6243
+ # associated with a cluster to be used.
6244
+ # @return [Array<Types::CapacityProviderStrategyItem>]
6245
+ #
6246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProvidersRequest AWS API Documentation
6247
+ #
6248
+ class PutClusterCapacityProvidersRequest < Struct.new(
6249
+ :cluster,
6250
+ :capacity_providers,
6251
+ :default_capacity_provider_strategy)
6252
+ include Aws::Structure
6253
+ end
6254
+
6255
+ # @!attribute [rw] cluster
6256
+ # A regional grouping of one or more container instances on which you
6257
+ # can run task requests. Each account receives a default cluster the
6258
+ # first time you use the Amazon ECS service, but you may also create
6259
+ # other clusters. Clusters may contain more than one instance type
6260
+ # simultaneously.
6261
+ # @return [Types::Cluster]
6262
+ #
6263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProvidersResponse AWS API Documentation
6264
+ #
6265
+ class PutClusterCapacityProvidersResponse < Struct.new(
6266
+ :cluster)
6267
+ include Aws::Structure
6268
+ end
6269
+
5581
6270
  # @note When making an API call, you may pass RegisterContainerInstanceRequest
5582
6271
  # data as a hash:
5583
6272
  #
@@ -6393,6 +7082,13 @@ module Aws::ECS
6393
7082
  # data as a hash:
6394
7083
  #
6395
7084
  # {
7085
+ # capacity_provider_strategy: [
7086
+ # {
7087
+ # capacity_provider: "String", # required
7088
+ # weight: 1,
7089
+ # base: 1,
7090
+ # },
7091
+ # ],
6396
7092
  # cluster: "String",
6397
7093
  # count: 1,
6398
7094
  # enable_ecs_managed_tags: false,
@@ -6463,6 +7159,36 @@ module Aws::ECS
6463
7159
  # task_definition: "String", # required
6464
7160
  # }
6465
7161
  #
7162
+ # @!attribute [rw] capacity_provider_strategy
7163
+ # The capacity provider strategy to use for the task.
7164
+ #
7165
+ # A capacity provider strategy consists of one or more capacity
7166
+ # providers along with the `base` and `weight` to assign to them. A
7167
+ # capacity provider must be associated with the cluster to be used in
7168
+ # a capacity provider strategy. The PutClusterCapacityProviders API is
7169
+ # used to associate a capacity provider with a cluster. Only capacity
7170
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
7171
+ #
7172
+ # If a `capacityProviderStrategy` is specified, the `launchType`
7173
+ # parameter must be omitted. If no `capacityProviderStrategy` or
7174
+ # `launchType` is specified, the `defaultCapacityProviderStrategy` for
7175
+ # the cluster is used.
7176
+ #
7177
+ # If specifying a capacity provider that uses an Auto Scaling group,
7178
+ # the capacity provider must already be created. New capacity
7179
+ # providers can be created with the CreateCapacityProvider API
7180
+ # operation.
7181
+ #
7182
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
7183
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
7184
+ # providers are available to all accounts and only need to be
7185
+ # associated with a cluster to be used.
7186
+ #
7187
+ # The PutClusterCapacityProviders API operation is used to update the
7188
+ # list of available capacity providers for a cluster after the cluster
7189
+ # is created.
7190
+ # @return [Array<Types::CapacityProviderStrategyItem>]
7191
+ #
6466
7192
  # @!attribute [rw] cluster
6467
7193
  # The short name or full Amazon Resource Name (ARN) of the cluster on
6468
7194
  # which to run your task. If you do not specify a cluster, the default
@@ -6495,6 +7221,9 @@ module Aws::ECS
6495
7221
  # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
6496
7222
  # Service Developer Guide*.
6497
7223
  #
7224
+ # If a `launchType` is specified, the `capacityProviderStrategy`
7225
+ # parameter must be omitted.
7226
+ #
6498
7227
  #
6499
7228
  #
6500
7229
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
@@ -6620,6 +7349,7 @@ module Aws::ECS
6620
7349
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/RunTaskRequest AWS API Documentation
6621
7350
  #
6622
7351
  class RunTaskRequest < Struct.new(
7352
+ :capacity_provider_strategy,
6623
7353
  :cluster,
6624
7354
  :count,
6625
7355
  :enable_ecs_managed_tags,
@@ -6814,6 +7544,10 @@ module Aws::ECS
6814
7544
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
6815
7545
  # @return [String]
6816
7546
  #
7547
+ # @!attribute [rw] capacity_provider_strategy
7548
+ # The capacity provider strategy associated with the service.
7549
+ # @return [Array<Types::CapacityProviderStrategyItem>]
7550
+ #
6817
7551
  # @!attribute [rw] platform_version
6818
7552
  # The platform version on which to run your service. A platform
6819
7553
  # version is only specified for tasks using the Fargate launch type.
@@ -6983,6 +7717,7 @@ module Aws::ECS
6983
7717
  :running_count,
6984
7718
  :pending_count,
6985
7719
  :launch_type,
7720
+ :capacity_provider_strategy,
6986
7721
  :platform_version,
6987
7722
  :task_definition,
6988
7723
  :deployment_configuration,
@@ -7708,8 +8443,9 @@ module Aws::ECS
7708
8443
  #
7709
8444
  # @!attribute [rw] resource_arn
7710
8445
  # The Amazon Resource Name (ARN) of the resource to which to add tags.
7711
- # Currently, the supported resources are Amazon ECS tasks, services,
7712
- # task definitions, clusters, and container instances.
8446
+ # Currently, the supported resources are Amazon ECS capacity
8447
+ # providers, tasks, services, task definitions, clusters, and
8448
+ # container instances.
7713
8449
  # @return [String]
7714
8450
  #
7715
8451
  # @!attribute [rw] tags
@@ -7769,6 +8505,10 @@ module Aws::ECS
7769
8505
  # The availability zone of the task.
7770
8506
  # @return [String]
7771
8507
  #
8508
+ # @!attribute [rw] capacity_provider_name
8509
+ # The capacity provider associated with the task.
8510
+ # @return [String]
8511
+ #
7772
8512
  # @!attribute [rw] cluster_arn
7773
8513
  # The ARN of the cluster that hosts the task.
7774
8514
  # @return [String]
@@ -8025,6 +8765,7 @@ module Aws::ECS
8025
8765
  :attachments,
8026
8766
  :attributes,
8027
8767
  :availability_zone,
8768
+ :capacity_provider_name,
8028
8769
  :cluster_arn,
8029
8770
  :connectivity,
8030
8771
  :connectivity_at,
@@ -8606,6 +9347,10 @@ module Aws::ECS
8606
9347
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
8607
9348
  # @return [String]
8608
9349
  #
9350
+ # @!attribute [rw] capacity_provider_strategy
9351
+ # The capacity provider strategy associated with the task set.
9352
+ # @return [Array<Types::CapacityProviderStrategyItem>]
9353
+ #
8609
9354
  # @!attribute [rw] platform_version
8610
9355
  # The platform version on which the tasks in the task set are running.
8611
9356
  # A platform version is only specified for tasks using the Fargate
@@ -8682,6 +9427,7 @@ module Aws::ECS
8682
9427
  :created_at,
8683
9428
  :updated_at,
8684
9429
  :launch_type,
9430
+ :capacity_provider_strategy,
8685
9431
  :platform_version,
8686
9432
  :network_configuration,
8687
9433
  :load_balancers,
@@ -8774,8 +9520,9 @@ module Aws::ECS
8774
9520
  #
8775
9521
  # @!attribute [rw] resource_arn
8776
9522
  # The Amazon Resource Name (ARN) of the resource from which to delete
8777
- # tags. Currently, the supported resources are Amazon ECS tasks,
8778
- # services, task definitions, clusters, and container instances.
9523
+ # tags. Currently, the supported resources are Amazon ECS capacity
9524
+ # providers, tasks, services, task definitions, clusters, and
9525
+ # container instances.
8779
9526
  # @return [String]
8780
9527
  #
8781
9528
  # @!attribute [rw] tag_keys
@@ -8989,6 +9736,13 @@ module Aws::ECS
8989
9736
  # service: "String", # required
8990
9737
  # desired_count: 1,
8991
9738
  # task_definition: "String",
9739
+ # capacity_provider_strategy: [
9740
+ # {
9741
+ # capacity_provider: "String", # required
9742
+ # weight: 1,
9743
+ # base: 1,
9744
+ # },
9745
+ # ],
8992
9746
  # deployment_configuration: {
8993
9747
  # maximum_percent: 1,
8994
9748
  # minimum_healthy_percent: 1,
@@ -9029,6 +9783,16 @@ module Aws::ECS
9029
9783
  # after the new version is running.
9030
9784
  # @return [String]
9031
9785
  #
9786
+ # @!attribute [rw] capacity_provider_strategy
9787
+ # The capacity provider strategy to update the service to use.
9788
+ #
9789
+ # If the service is using the default capacity provider strategy for
9790
+ # the cluster, the service can be updated to use one or more capacity
9791
+ # providers. However, when a service is using a non-default capacity
9792
+ # provider strategy, the service cannot be updated to use the
9793
+ # cluster's default capacity provider strategy.
9794
+ # @return [Array<Types::CapacityProviderStrategyItem>]
9795
+ #
9032
9796
  # @!attribute [rw] deployment_configuration
9033
9797
  # Optional deployment parameters that control how many tasks run
9034
9798
  # during the deployment and the ordering of stopping and starting
@@ -9036,33 +9800,17 @@ module Aws::ECS
9036
9800
  # @return [Types::DeploymentConfiguration]
9037
9801
  #
9038
9802
  # @!attribute [rw] network_configuration
9039
- # The network configuration for the service. This parameter is
9040
- # required for task definitions that use the `awsvpc` network mode to
9041
- # receive their own elastic network interface, and it is not supported
9042
- # for other network modes. For more information, see [Task
9043
- # Networking][1] in the *Amazon Elastic Container Service Developer
9044
- # Guide*.
9045
- #
9046
- # <note markdown="1"> Updating a service to add a subnet to a list of existing subnets
9047
- # does not trigger a service deployment. For example, if your network
9048
- # configuration change is to keep the existing subnets and simply add
9049
- # another subnet to the network configuration, this does not trigger a
9050
- # new service deployment.
9051
- #
9052
- # </note>
9053
- #
9054
- #
9055
- #
9056
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
9803
+ # An object representing the network configuration for a task or
9804
+ # service.
9057
9805
  # @return [Types::NetworkConfiguration]
9058
9806
  #
9059
9807
  # @!attribute [rw] platform_version
9060
9808
  # The platform version on which your tasks in the service are running.
9061
9809
  # A platform version is only specified for tasks using the Fargate
9062
- # launch type. If one is not specified, the `LATEST` platform version
9063
- # is used by default. For more information, see [AWS Fargate Platform
9064
- # Versions][1] in the *Amazon Elastic Container Service Developer
9065
- # Guide*.
9810
+ # launch type. If a platform version is not specified, the `LATEST`
9811
+ # platform version is used by default. For more information, see [AWS
9812
+ # Fargate Platform Versions][1] in the *Amazon Elastic Container
9813
+ # Service Developer Guide*.
9066
9814
  #
9067
9815
  #
9068
9816
  #
@@ -9085,11 +9833,11 @@ module Aws::ECS
9085
9833
  # your service is configured to use a load balancer. If your
9086
9834
  # service's tasks take a while to start and respond to Elastic Load
9087
9835
  # Balancing health checks, you can specify a health check grace period
9088
- # of up to 2,147,483,647 seconds. During that time, the ECS service
9089
- # scheduler ignores the Elastic Load Balancing health check status.
9090
- # This grace period can prevent the ECS service scheduler from marking
9091
- # tasks as unhealthy and stopping them before they have time to come
9092
- # up.
9836
+ # of up to 2,147,483,647 seconds. During that time, the Amazon ECS
9837
+ # service scheduler ignores the Elastic Load Balancing health check
9838
+ # status. This grace period can prevent the ECS service scheduler from
9839
+ # marking tasks as unhealthy and stopping them before they have time
9840
+ # to come up.
9093
9841
  # @return [Integer]
9094
9842
  #
9095
9843
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateServiceRequest AWS API Documentation
@@ -9099,6 +9847,7 @@ module Aws::ECS
9099
9847
  :service,
9100
9848
  :desired_count,
9101
9849
  :task_definition,
9850
+ :capacity_provider_strategy,
9102
9851
  :deployment_configuration,
9103
9852
  :network_configuration,
9104
9853
  :platform_version,