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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 498b05fc960032ad070c525aa840299cdc288f34
4
- data.tar.gz: c8b59661027add4aec8d3da1af2ebeff455f5514
3
+ metadata.gz: c4fd12bab4a4fb6121d082b4315075e92fa8dec4
4
+ data.tar.gz: 73b3553d6d9f0156a3d80de25ba95eb89b61214b
5
5
  SHA512:
6
- metadata.gz: b42c3e3201745ade23fb7cc5b4597bd0cd3a20699026a6ca3ac1c711441566ef446e9c6c1ff74f89962711fdc9bdd7d44029eeb1a78817c738b833575b6ec664
7
- data.tar.gz: 3d505c12ec92df62c3b67c78288814d3c2594e08158a898afd7bfcd0a00ebc6b037fec19d9de14db88de074dd46ecd7c8b895250f526020810148045dc013acf
6
+ metadata.gz: 7f94a174ec611d21a5221ca915754961253fb8369e56459dd2c3cdb7c6a298d07734080a7524726c729097e5c36b63aa33a9a39cb7e8f4f89e688d6fe89e7e6f
7
+ data.tar.gz: f5a0bb12697d2ffe5fd63433db30d0396fe4111b7546a33b3ae93df7b349162bb043c22c74f102485be5dcfa7ddb00dc661a72af4c56738686aa301723acd02c
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-ecs/customizations'
43
43
  # @service
44
44
  module Aws::ECS
45
45
 
46
- GEM_VERSION = '1.53.0'
46
+ GEM_VERSION = '1.54.0'
47
47
 
48
48
  end
@@ -264,18 +264,116 @@ module Aws::ECS
264
264
 
265
265
  # @!group API Operations
266
266
 
267
+ # Creates a new capacity provider. Capacity providers are associated
268
+ # with an Amazon ECS cluster and are used in capacity provider
269
+ # strategies to facilitate cluster auto scaling.
270
+ #
271
+ # Only capacity providers using an Auto Scaling group can be created.
272
+ # Amazon ECS tasks on AWS Fargate use the `FARGATE` and `FARGATE_SPOT`
273
+ # capacity providers which are already created and available to all
274
+ # accounts in Regions supported by AWS Fargate.
275
+ #
276
+ # @option params [required, String] :name
277
+ # The name of the capacity provider. Up to 255 characters are allowed,
278
+ # including letters (upper and lowercase), numbers, underscores, and
279
+ # hyphens. The name cannot be prefixed with "`aws`", "`ecs`", or
280
+ # "`fargate`".
281
+ #
282
+ # @option params [required, Types::AutoScalingGroupProvider] :auto_scaling_group_provider
283
+ # The details of the Auto Scaling group for the capacity provider.
284
+ #
285
+ # @option params [Array<Types::Tag>] :tags
286
+ # The metadata that you apply to the capacity provider to help you
287
+ # categorize and organize them. Each tag consists of a key and an
288
+ # optional value, both of which you define.
289
+ #
290
+ # The following basic restrictions apply to tags:
291
+ #
292
+ # * Maximum number of tags per resource - 50
293
+ #
294
+ # * For each resource, each tag key must be unique, and each tag key can
295
+ # have only one value.
296
+ #
297
+ # * Maximum key length - 128 Unicode characters in UTF-8
298
+ #
299
+ # * Maximum value length - 256 Unicode characters in UTF-8
300
+ #
301
+ # * If your tagging schema is used across multiple services and
302
+ # resources, remember that other services may have restrictions on
303
+ # allowed characters. Generally allowed characters are: letters,
304
+ # numbers, and spaces representable in UTF-8, and the following
305
+ # characters: + - = . \_ : / @.
306
+ #
307
+ # * Tag keys and values are case-sensitive.
308
+ #
309
+ # * Do not use `aws:`, `AWS:`, or any upper or lowercase combination of
310
+ # such as a prefix for either keys or values as it is reserved for AWS
311
+ # use. You cannot edit or delete tag keys or values with this prefix.
312
+ # Tags with this prefix do not count against your tags per resource
313
+ # limit.
314
+ #
315
+ # @return [Types::CreateCapacityProviderResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
316
+ #
317
+ # * {Types::CreateCapacityProviderResponse#capacity_provider #capacity_provider} => Types::CapacityProvider
318
+ #
319
+ # @example Request syntax with placeholder values
320
+ #
321
+ # resp = client.create_capacity_provider({
322
+ # name: "String", # required
323
+ # auto_scaling_group_provider: { # required
324
+ # auto_scaling_group_arn: "String", # required
325
+ # managed_scaling: {
326
+ # status: "ENABLED", # accepts ENABLED, DISABLED
327
+ # target_capacity: 1,
328
+ # minimum_scaling_step_size: 1,
329
+ # maximum_scaling_step_size: 1,
330
+ # },
331
+ # managed_termination_protection: "ENABLED", # accepts ENABLED, DISABLED
332
+ # },
333
+ # tags: [
334
+ # {
335
+ # key: "TagKey",
336
+ # value: "TagValue",
337
+ # },
338
+ # ],
339
+ # })
340
+ #
341
+ # @example Response structure
342
+ #
343
+ # resp.capacity_provider.capacity_provider_arn #=> String
344
+ # resp.capacity_provider.name #=> String
345
+ # resp.capacity_provider.status #=> String, one of "ACTIVE"
346
+ # resp.capacity_provider.auto_scaling_group_provider.auto_scaling_group_arn #=> String
347
+ # resp.capacity_provider.auto_scaling_group_provider.managed_scaling.status #=> String, one of "ENABLED", "DISABLED"
348
+ # resp.capacity_provider.auto_scaling_group_provider.managed_scaling.target_capacity #=> Integer
349
+ # resp.capacity_provider.auto_scaling_group_provider.managed_scaling.minimum_scaling_step_size #=> Integer
350
+ # resp.capacity_provider.auto_scaling_group_provider.managed_scaling.maximum_scaling_step_size #=> Integer
351
+ # resp.capacity_provider.auto_scaling_group_provider.managed_termination_protection #=> String, one of "ENABLED", "DISABLED"
352
+ # resp.capacity_provider.tags #=> Array
353
+ # resp.capacity_provider.tags[0].key #=> String
354
+ # resp.capacity_provider.tags[0].value #=> String
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCapacityProvider AWS API Documentation
357
+ #
358
+ # @overload create_capacity_provider(params = {})
359
+ # @param [Hash] params ({})
360
+ def create_capacity_provider(params = {}, options = {})
361
+ req = build_request(:create_capacity_provider, params)
362
+ req.send_request(options)
363
+ end
364
+
267
365
  # Creates a new Amazon ECS cluster. By default, your account receives a
268
366
  # `default` cluster when you launch your first container instance.
269
367
  # However, you can create your own cluster with a unique name with the
270
368
  # `CreateCluster` action.
271
369
  #
272
370
  # <note markdown="1"> When you call the CreateCluster API operation, Amazon ECS attempts to
273
- # create the service-linked role for your account so that required
274
- # resources in other AWS services can be managed on your behalf.
275
- # However, if the IAM user that makes the call does not have permissions
276
- # to create the service-linked role, it is not created. For more
277
- # information, see [Using Service-Linked Roles for Amazon ECS][1] in the
278
- # *Amazon Elastic Container Service Developer Guide*.
371
+ # create the Amazon ECS service-linked role for your account so that
372
+ # required resources in other AWS services can be managed on your
373
+ # behalf. However, if the IAM user that makes the call does not have
374
+ # permissions to create the service-linked role, it is not created. For
375
+ # more information, see [Using Service-Linked Roles for Amazon ECS][1]
376
+ # in the *Amazon Elastic Container Service Developer Guide*.
279
377
  #
280
378
  # </note>
281
379
  #
@@ -324,6 +422,51 @@ module Aws::ECS
324
422
  # specified, it will override the `containerInsights` value set with
325
423
  # PutAccountSetting or PutAccountSettingDefault.
326
424
  #
425
+ # @option params [Array<String>] :capacity_providers
426
+ # The short name or full Amazon Resource Name (ARN) of one or more
427
+ # capacity providers to associate with the cluster.
428
+ #
429
+ # If specifying a capacity provider that uses an Auto Scaling group, the
430
+ # capacity provider must already be created and not already associated
431
+ # with another cluster. New capacity providers can be created with the
432
+ # CreateCapacityProvider API operation.
433
+ #
434
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
435
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
436
+ # providers are available to all accounts and only need to be associated
437
+ # with a cluster to be used.
438
+ #
439
+ # The PutClusterCapacityProviders API operation is used to update the
440
+ # list of available capacity providers for a cluster after the cluster
441
+ # is created.
442
+ #
443
+ # @option params [Array<Types::CapacityProviderStrategyItem>] :default_capacity_provider_strategy
444
+ # The capacity provider strategy to use by default for the cluster.
445
+ #
446
+ # When creating a service or running a task on a cluster, if no capacity
447
+ # provider or launch type is specified then the default capacity
448
+ # provider strategy for the cluster is used.
449
+ #
450
+ # A capacity provider strategy consists of one or more capacity
451
+ # providers along with the `base` and `weight` to assign to them. A
452
+ # capacity provider must be associated with the cluster to be used in a
453
+ # capacity provider strategy. The PutClusterCapacityProviders API is
454
+ # used to associate a capacity provider with a cluster. Only capacity
455
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
456
+ #
457
+ # If specifying a capacity provider that uses an Auto Scaling group, the
458
+ # capacity provider must already be created. New capacity providers can
459
+ # be created with the CreateCapacityProvider API operation.
460
+ #
461
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
462
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
463
+ # providers are available to all accounts and only need to be associated
464
+ # with a cluster to be used.
465
+ #
466
+ # If a default capacity provider strategy is not defined for a cluster
467
+ # during creation, it can be defined later with the
468
+ # PutClusterCapacityProviders API operation.
469
+ #
327
470
  # @return [Types::CreateClusterResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
328
471
  #
329
472
  # * {Types::CreateClusterResponse#cluster #cluster} => Types::Cluster
@@ -366,6 +509,14 @@ module Aws::ECS
366
509
  # value: "String",
367
510
  # },
368
511
  # ],
512
+ # capacity_providers: ["String"],
513
+ # default_capacity_provider_strategy: [
514
+ # {
515
+ # capacity_provider: "String", # required
516
+ # weight: 1,
517
+ # base: 1,
518
+ # },
519
+ # ],
369
520
  # })
370
521
  #
371
522
  # @example Response structure
@@ -386,6 +537,20 @@ module Aws::ECS
386
537
  # resp.cluster.settings #=> Array
387
538
  # resp.cluster.settings[0].name #=> String, one of "containerInsights"
388
539
  # resp.cluster.settings[0].value #=> String
540
+ # resp.cluster.capacity_providers #=> Array
541
+ # resp.cluster.capacity_providers[0] #=> String
542
+ # resp.cluster.default_capacity_provider_strategy #=> Array
543
+ # resp.cluster.default_capacity_provider_strategy[0].capacity_provider #=> String
544
+ # resp.cluster.default_capacity_provider_strategy[0].weight #=> Integer
545
+ # resp.cluster.default_capacity_provider_strategy[0].base #=> Integer
546
+ # resp.cluster.attachments #=> Array
547
+ # resp.cluster.attachments[0].id #=> String
548
+ # resp.cluster.attachments[0].type #=> String
549
+ # resp.cluster.attachments[0].status #=> String
550
+ # resp.cluster.attachments[0].details #=> Array
551
+ # resp.cluster.attachments[0].details[0].name #=> String
552
+ # resp.cluster.attachments[0].details[0].value #=> String
553
+ # resp.cluster.attachments_status #=> String
389
554
  #
390
555
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/CreateCluster AWS API Documentation
391
556
  #
@@ -623,10 +788,41 @@ module Aws::ECS
623
788
  # see [Amazon ECS Launch Types][1] in the *Amazon Elastic Container
624
789
  # Service Developer Guide*.
625
790
  #
791
+ # If a `launchType` is specified, the `capacityProviderStrategy`
792
+ # parameter must be omitted.
793
+ #
626
794
  #
627
795
  #
628
796
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
629
797
  #
798
+ # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
799
+ # The capacity provider strategy to use for the service.
800
+ #
801
+ # A capacity provider strategy consists of one or more capacity
802
+ # providers along with the `base` and `weight` to assign to them. A
803
+ # capacity provider must be associated with the cluster to be used in a
804
+ # capacity provider strategy. The PutClusterCapacityProviders API is
805
+ # used to associate a capacity provider with a cluster. Only capacity
806
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
807
+ #
808
+ # If a `capacityProviderStrategy` is specified, the `launchType`
809
+ # parameter must be omitted. If no `capacityProviderStrategy` or
810
+ # `launchType` is specified, the `defaultCapacityProviderStrategy` for
811
+ # the cluster is used.
812
+ #
813
+ # If specifying a capacity provider that uses an Auto Scaling group, the
814
+ # capacity provider must already be created. New capacity providers can
815
+ # be created with the CreateCapacityProvider API operation.
816
+ #
817
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
818
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
819
+ # providers are available to all accounts and only need to be associated
820
+ # with a cluster to be used.
821
+ #
822
+ # The PutClusterCapacityProviders API operation is used to update the
823
+ # list of available capacity providers for a cluster after the cluster
824
+ # is created.
825
+ #
630
826
  # @option params [String] :platform_version
631
827
  # The platform version that your tasks in the service are running on. A
632
828
  # platform version is specified only for tasks using the Fargate launch
@@ -652,10 +848,10 @@ module Aws::ECS
652
848
  # a role here. The service-linked role is required if your task
653
849
  # definition uses the `awsvpc` network mode or if the service is
654
850
  # configured to use service discovery, an external deployment
655
- # controller, or multiple target groups in which case you should not
656
- # specify a role here. For more information, see [Using Service-Linked
657
- # Roles for Amazon ECS][1] in the *Amazon Elastic Container Service
658
- # Developer Guide*.
851
+ # controller, multiple target groups, or Elastic Inference accelerators
852
+ # in which case you should not specify a role here. For more
853
+ # information, see [Using Service-Linked Roles for Amazon ECS][1] in the
854
+ # *Amazon Elastic Container Service Developer Guide*.
659
855
  #
660
856
  # If your specified role has a path other than `/`, then you must either
661
857
  # specify the full role ARN (this is recommended) or prefix the role
@@ -933,6 +1129,13 @@ module Aws::ECS
933
1129
  # desired_count: 1,
934
1130
  # client_token: "String",
935
1131
  # launch_type: "EC2", # accepts EC2, FARGATE
1132
+ # capacity_provider_strategy: [
1133
+ # {
1134
+ # capacity_provider: "String", # required
1135
+ # weight: 1,
1136
+ # base: 1,
1137
+ # },
1138
+ # ],
936
1139
  # platform_version: "String",
937
1140
  # role: "String",
938
1141
  # deployment_configuration: {
@@ -993,6 +1196,10 @@ module Aws::ECS
993
1196
  # resp.service.running_count #=> Integer
994
1197
  # resp.service.pending_count #=> Integer
995
1198
  # resp.service.launch_type #=> String, one of "EC2", "FARGATE"
1199
+ # resp.service.capacity_provider_strategy #=> Array
1200
+ # resp.service.capacity_provider_strategy[0].capacity_provider #=> String
1201
+ # resp.service.capacity_provider_strategy[0].weight #=> Integer
1202
+ # resp.service.capacity_provider_strategy[0].base #=> Integer
996
1203
  # resp.service.platform_version #=> String
997
1204
  # resp.service.task_definition #=> String
998
1205
  # resp.service.deployment_configuration.maximum_percent #=> Integer
@@ -1012,6 +1219,10 @@ module Aws::ECS
1012
1219
  # resp.service.task_sets[0].created_at #=> Time
1013
1220
  # resp.service.task_sets[0].updated_at #=> Time
1014
1221
  # resp.service.task_sets[0].launch_type #=> String, one of "EC2", "FARGATE"
1222
+ # resp.service.task_sets[0].capacity_provider_strategy #=> Array
1223
+ # resp.service.task_sets[0].capacity_provider_strategy[0].capacity_provider #=> String
1224
+ # resp.service.task_sets[0].capacity_provider_strategy[0].weight #=> Integer
1225
+ # resp.service.task_sets[0].capacity_provider_strategy[0].base #=> Integer
1015
1226
  # resp.service.task_sets[0].platform_version #=> String
1016
1227
  # resp.service.task_sets[0].network_configuration.awsvpc_configuration.subnets #=> Array
1017
1228
  # resp.service.task_sets[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -1041,6 +1252,10 @@ module Aws::ECS
1041
1252
  # resp.service.deployments[0].running_count #=> Integer
1042
1253
  # resp.service.deployments[0].created_at #=> Time
1043
1254
  # resp.service.deployments[0].updated_at #=> Time
1255
+ # resp.service.deployments[0].capacity_provider_strategy #=> Array
1256
+ # resp.service.deployments[0].capacity_provider_strategy[0].capacity_provider #=> String
1257
+ # resp.service.deployments[0].capacity_provider_strategy[0].weight #=> Integer
1258
+ # resp.service.deployments[0].capacity_provider_strategy[0].base #=> Integer
1044
1259
  # resp.service.deployments[0].launch_type #=> String, one of "EC2", "FARGATE"
1045
1260
  # resp.service.deployments[0].platform_version #=> String
1046
1261
  # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
@@ -1133,10 +1348,41 @@ module Aws::ECS
1133
1348
  # information, see [Amazon ECS Launch Types][1] in the *Amazon Elastic
1134
1349
  # Container Service Developer Guide*.
1135
1350
  #
1351
+ # If a `launchType` is specified, the `capacityProviderStrategy`
1352
+ # parameter must be omitted.
1353
+ #
1136
1354
  #
1137
1355
  #
1138
1356
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
1139
1357
  #
1358
+ # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
1359
+ # The capacity provider strategy to use for the task set.
1360
+ #
1361
+ # A capacity provider strategy consists of one or more capacity
1362
+ # providers along with the `base` and `weight` to assign to them. A
1363
+ # capacity provider must be associated with the cluster to be used in a
1364
+ # capacity provider strategy. The PutClusterCapacityProviders API is
1365
+ # used to associate a capacity provider with a cluster. Only capacity
1366
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
1367
+ #
1368
+ # If a `capacityProviderStrategy` is specified, the `launchType`
1369
+ # parameter must be omitted. If no `capacityProviderStrategy` or
1370
+ # `launchType` is specified, the `defaultCapacityProviderStrategy` for
1371
+ # the cluster is used.
1372
+ #
1373
+ # If specifying a capacity provider that uses an Auto Scaling group, the
1374
+ # capacity provider must already be created. New capacity providers can
1375
+ # be created with the CreateCapacityProvider API operation.
1376
+ #
1377
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
1378
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
1379
+ # providers are available to all accounts and only need to be associated
1380
+ # with a cluster to be used.
1381
+ #
1382
+ # The PutClusterCapacityProviders API operation is used to update the
1383
+ # list of available capacity providers for a cluster after the cluster
1384
+ # is created.
1385
+ #
1140
1386
  # @option params [String] :platform_version
1141
1387
  # The platform version that the tasks in the task set should use. A
1142
1388
  # platform version is specified only for tasks using the Fargate launch
@@ -1186,6 +1432,13 @@ module Aws::ECS
1186
1432
  # },
1187
1433
  # ],
1188
1434
  # launch_type: "EC2", # accepts EC2, FARGATE
1435
+ # capacity_provider_strategy: [
1436
+ # {
1437
+ # capacity_provider: "String", # required
1438
+ # weight: 1,
1439
+ # base: 1,
1440
+ # },
1441
+ # ],
1189
1442
  # platform_version: "String",
1190
1443
  # scale: {
1191
1444
  # value: 1.0,
@@ -1210,6 +1463,10 @@ module Aws::ECS
1210
1463
  # resp.task_set.created_at #=> Time
1211
1464
  # resp.task_set.updated_at #=> Time
1212
1465
  # resp.task_set.launch_type #=> String, one of "EC2", "FARGATE"
1466
+ # resp.task_set.capacity_provider_strategy #=> Array
1467
+ # resp.task_set.capacity_provider_strategy[0].capacity_provider #=> String
1468
+ # resp.task_set.capacity_provider_strategy[0].weight #=> Integer
1469
+ # resp.task_set.capacity_provider_strategy[0].base #=> Integer
1213
1470
  # resp.task_set.platform_version #=> String
1214
1471
  # resp.task_set.network_configuration.awsvpc_configuration.subnets #=> Array
1215
1472
  # resp.task_set.network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -1431,6 +1688,20 @@ module Aws::ECS
1431
1688
  # resp.cluster.settings #=> Array
1432
1689
  # resp.cluster.settings[0].name #=> String, one of "containerInsights"
1433
1690
  # resp.cluster.settings[0].value #=> String
1691
+ # resp.cluster.capacity_providers #=> Array
1692
+ # resp.cluster.capacity_providers[0] #=> String
1693
+ # resp.cluster.default_capacity_provider_strategy #=> Array
1694
+ # resp.cluster.default_capacity_provider_strategy[0].capacity_provider #=> String
1695
+ # resp.cluster.default_capacity_provider_strategy[0].weight #=> Integer
1696
+ # resp.cluster.default_capacity_provider_strategy[0].base #=> Integer
1697
+ # resp.cluster.attachments #=> Array
1698
+ # resp.cluster.attachments[0].id #=> String
1699
+ # resp.cluster.attachments[0].type #=> String
1700
+ # resp.cluster.attachments[0].status #=> String
1701
+ # resp.cluster.attachments[0].details #=> Array
1702
+ # resp.cluster.attachments[0].details[0].name #=> String
1703
+ # resp.cluster.attachments[0].details[0].value #=> String
1704
+ # resp.cluster.attachments_status #=> String
1434
1705
  #
1435
1706
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DeleteCluster AWS API Documentation
1436
1707
  #
@@ -1523,6 +1794,10 @@ module Aws::ECS
1523
1794
  # resp.service.running_count #=> Integer
1524
1795
  # resp.service.pending_count #=> Integer
1525
1796
  # resp.service.launch_type #=> String, one of "EC2", "FARGATE"
1797
+ # resp.service.capacity_provider_strategy #=> Array
1798
+ # resp.service.capacity_provider_strategy[0].capacity_provider #=> String
1799
+ # resp.service.capacity_provider_strategy[0].weight #=> Integer
1800
+ # resp.service.capacity_provider_strategy[0].base #=> Integer
1526
1801
  # resp.service.platform_version #=> String
1527
1802
  # resp.service.task_definition #=> String
1528
1803
  # resp.service.deployment_configuration.maximum_percent #=> Integer
@@ -1542,6 +1817,10 @@ module Aws::ECS
1542
1817
  # resp.service.task_sets[0].created_at #=> Time
1543
1818
  # resp.service.task_sets[0].updated_at #=> Time
1544
1819
  # resp.service.task_sets[0].launch_type #=> String, one of "EC2", "FARGATE"
1820
+ # resp.service.task_sets[0].capacity_provider_strategy #=> Array
1821
+ # resp.service.task_sets[0].capacity_provider_strategy[0].capacity_provider #=> String
1822
+ # resp.service.task_sets[0].capacity_provider_strategy[0].weight #=> Integer
1823
+ # resp.service.task_sets[0].capacity_provider_strategy[0].base #=> Integer
1545
1824
  # resp.service.task_sets[0].platform_version #=> String
1546
1825
  # resp.service.task_sets[0].network_configuration.awsvpc_configuration.subnets #=> Array
1547
1826
  # resp.service.task_sets[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -1571,6 +1850,10 @@ module Aws::ECS
1571
1850
  # resp.service.deployments[0].running_count #=> Integer
1572
1851
  # resp.service.deployments[0].created_at #=> Time
1573
1852
  # resp.service.deployments[0].updated_at #=> Time
1853
+ # resp.service.deployments[0].capacity_provider_strategy #=> Array
1854
+ # resp.service.deployments[0].capacity_provider_strategy[0].capacity_provider #=> String
1855
+ # resp.service.deployments[0].capacity_provider_strategy[0].weight #=> Integer
1856
+ # resp.service.deployments[0].capacity_provider_strategy[0].base #=> Integer
1574
1857
  # resp.service.deployments[0].launch_type #=> String, one of "EC2", "FARGATE"
1575
1858
  # resp.service.deployments[0].platform_version #=> String
1576
1859
  # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
@@ -1668,6 +1951,10 @@ module Aws::ECS
1668
1951
  # resp.task_set.created_at #=> Time
1669
1952
  # resp.task_set.updated_at #=> Time
1670
1953
  # resp.task_set.launch_type #=> String, one of "EC2", "FARGATE"
1954
+ # resp.task_set.capacity_provider_strategy #=> Array
1955
+ # resp.task_set.capacity_provider_strategy[0].capacity_provider #=> String
1956
+ # resp.task_set.capacity_provider_strategy[0].weight #=> Integer
1957
+ # resp.task_set.capacity_provider_strategy[0].base #=> Integer
1671
1958
  # resp.task_set.platform_version #=> String
1672
1959
  # resp.task_set.network_configuration.awsvpc_configuration.subnets #=> Array
1673
1960
  # resp.task_set.network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -1778,6 +2065,7 @@ module Aws::ECS
1778
2065
  #
1779
2066
  # resp.container_instance.container_instance_arn #=> String
1780
2067
  # resp.container_instance.ec2_instance_id #=> String
2068
+ # resp.container_instance.capacity_provider_name #=> String
1781
2069
  # resp.container_instance.version #=> Integer
1782
2070
  # resp.container_instance.version_info.agent_version #=> String
1783
2071
  # resp.container_instance.version_info.agent_hash #=> String
@@ -2016,6 +2304,88 @@ module Aws::ECS
2016
2304
  req.send_request(options)
2017
2305
  end
2018
2306
 
2307
+ # Describes one or more of your capacity providers.
2308
+ #
2309
+ # @option params [Array<String>] :capacity_providers
2310
+ # The short name or full Amazon Resource Name (ARN) of one or more
2311
+ # capacity providers. Up to `100` capacity providers can be described in
2312
+ # an action.
2313
+ #
2314
+ # @option params [Array<String>] :include
2315
+ # Specifies whether or not you want to see the resource tags for the
2316
+ # capacity provider. If `TAGS` is specified, the tags are included in
2317
+ # the response. If this field is omitted, tags are not included in the
2318
+ # response.
2319
+ #
2320
+ # @option params [Integer] :max_results
2321
+ # The maximum number of account setting results returned by
2322
+ # `DescribeCapacityProviders` in paginated output. When this parameter
2323
+ # is used, `DescribeCapacityProviders` only returns `maxResults` results
2324
+ # in a single page along with a `nextToken` response element. The
2325
+ # remaining results of the initial request can be seen by sending
2326
+ # another `DescribeCapacityProviders` request with the returned
2327
+ # `nextToken` value. This value can be between 1 and 10. If this
2328
+ # parameter is not used, then `DescribeCapacityProviders` returns up to
2329
+ # 10 results and a `nextToken` value if applicable.
2330
+ #
2331
+ # @option params [String] :next_token
2332
+ # The `nextToken` value returned from a previous paginated
2333
+ # `DescribeCapacityProviders` request where `maxResults` was used and
2334
+ # the results exceeded the value of that parameter. Pagination continues
2335
+ # from the end of the previous results that returned the `nextToken`
2336
+ # value.
2337
+ #
2338
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
2339
+ # to retrieve the next items in a list and not for other programmatic
2340
+ # purposes.
2341
+ #
2342
+ # </note>
2343
+ #
2344
+ # @return [Types::DescribeCapacityProvidersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2345
+ #
2346
+ # * {Types::DescribeCapacityProvidersResponse#capacity_providers #capacity_providers} => Array&lt;Types::CapacityProvider&gt;
2347
+ # * {Types::DescribeCapacityProvidersResponse#failures #failures} => Array&lt;Types::Failure&gt;
2348
+ # * {Types::DescribeCapacityProvidersResponse#next_token #next_token} => String
2349
+ #
2350
+ # @example Request syntax with placeholder values
2351
+ #
2352
+ # resp = client.describe_capacity_providers({
2353
+ # capacity_providers: ["String"],
2354
+ # include: ["TAGS"], # accepts TAGS
2355
+ # max_results: 1,
2356
+ # next_token: "String",
2357
+ # })
2358
+ #
2359
+ # @example Response structure
2360
+ #
2361
+ # resp.capacity_providers #=> Array
2362
+ # resp.capacity_providers[0].capacity_provider_arn #=> String
2363
+ # resp.capacity_providers[0].name #=> String
2364
+ # resp.capacity_providers[0].status #=> String, one of "ACTIVE"
2365
+ # resp.capacity_providers[0].auto_scaling_group_provider.auto_scaling_group_arn #=> String
2366
+ # resp.capacity_providers[0].auto_scaling_group_provider.managed_scaling.status #=> String, one of "ENABLED", "DISABLED"
2367
+ # resp.capacity_providers[0].auto_scaling_group_provider.managed_scaling.target_capacity #=> Integer
2368
+ # resp.capacity_providers[0].auto_scaling_group_provider.managed_scaling.minimum_scaling_step_size #=> Integer
2369
+ # resp.capacity_providers[0].auto_scaling_group_provider.managed_scaling.maximum_scaling_step_size #=> Integer
2370
+ # resp.capacity_providers[0].auto_scaling_group_provider.managed_termination_protection #=> String, one of "ENABLED", "DISABLED"
2371
+ # resp.capacity_providers[0].tags #=> Array
2372
+ # resp.capacity_providers[0].tags[0].key #=> String
2373
+ # resp.capacity_providers[0].tags[0].value #=> String
2374
+ # resp.failures #=> Array
2375
+ # resp.failures[0].arn #=> String
2376
+ # resp.failures[0].reason #=> String
2377
+ # resp.failures[0].detail #=> String
2378
+ # resp.next_token #=> String
2379
+ #
2380
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/DescribeCapacityProviders AWS API Documentation
2381
+ #
2382
+ # @overload describe_capacity_providers(params = {})
2383
+ # @param [Hash] params ({})
2384
+ def describe_capacity_providers(params = {}, options = {})
2385
+ req = build_request(:describe_capacity_providers, params)
2386
+ req.send_request(options)
2387
+ end
2388
+
2019
2389
  # Describes one or more of your clusters.
2020
2390
  #
2021
2391
  # @option params [Array<String>] :clusters
@@ -2024,8 +2394,17 @@ module Aws::ECS
2024
2394
  # assumed.
2025
2395
  #
2026
2396
  # @option params [Array<String>] :include
2027
- # Additional information about your clusters to be separated by launch
2028
- # type, including:
2397
+ # Whether to include additional information about your clusters in the
2398
+ # response. If this field is omitted, the attachments, statistics, and
2399
+ # tags are not included.
2400
+ #
2401
+ # If `ATTACHMENTS` is specified, the attachments for the container
2402
+ # instances or tasks within the cluster are included.
2403
+ #
2404
+ # If `SETTINGS` is specified, the settings for the cluster are included.
2405
+ #
2406
+ # If `STATISTICS` is specified, the following additional information,
2407
+ # separated by launch type, is included:
2029
2408
  #
2030
2409
  # * runningEC2TasksCount
2031
2410
  #
@@ -2043,6 +2422,9 @@ module Aws::ECS
2043
2422
  #
2044
2423
  # * drainingFargateServiceCount
2045
2424
  #
2425
+ # If `TAGS` is specified, the metadata tags associated with the cluster
2426
+ # are included.
2427
+ #
2046
2428
  # @return [Types::DescribeClustersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2047
2429
  #
2048
2430
  # * {Types::DescribeClustersResponse#clusters #clusters} => Array&lt;Types::Cluster&gt;
@@ -2076,7 +2458,7 @@ module Aws::ECS
2076
2458
  #
2077
2459
  # resp = client.describe_clusters({
2078
2460
  # clusters: ["String"],
2079
- # include: ["STATISTICS"], # accepts STATISTICS, TAGS
2461
+ # include: ["ATTACHMENTS"], # accepts ATTACHMENTS, SETTINGS, STATISTICS, TAGS
2080
2462
  # })
2081
2463
  #
2082
2464
  # @example Response structure
@@ -2098,6 +2480,20 @@ module Aws::ECS
2098
2480
  # resp.clusters[0].settings #=> Array
2099
2481
  # resp.clusters[0].settings[0].name #=> String, one of "containerInsights"
2100
2482
  # resp.clusters[0].settings[0].value #=> String
2483
+ # resp.clusters[0].capacity_providers #=> Array
2484
+ # resp.clusters[0].capacity_providers[0] #=> String
2485
+ # resp.clusters[0].default_capacity_provider_strategy #=> Array
2486
+ # resp.clusters[0].default_capacity_provider_strategy[0].capacity_provider #=> String
2487
+ # resp.clusters[0].default_capacity_provider_strategy[0].weight #=> Integer
2488
+ # resp.clusters[0].default_capacity_provider_strategy[0].base #=> Integer
2489
+ # resp.clusters[0].attachments #=> Array
2490
+ # resp.clusters[0].attachments[0].id #=> String
2491
+ # resp.clusters[0].attachments[0].type #=> String
2492
+ # resp.clusters[0].attachments[0].status #=> String
2493
+ # resp.clusters[0].attachments[0].details #=> Array
2494
+ # resp.clusters[0].attachments[0].details[0].name #=> String
2495
+ # resp.clusters[0].attachments[0].details[0].value #=> String
2496
+ # resp.clusters[0].attachments_status #=> String
2101
2497
  # resp.failures #=> Array
2102
2498
  # resp.failures[0].arn #=> String
2103
2499
  # resp.failures[0].reason #=> String
@@ -2239,6 +2635,7 @@ module Aws::ECS
2239
2635
  # resp.container_instances #=> Array
2240
2636
  # resp.container_instances[0].container_instance_arn #=> String
2241
2637
  # resp.container_instances[0].ec2_instance_id #=> String
2638
+ # resp.container_instances[0].capacity_provider_name #=> String
2242
2639
  # resp.container_instances[0].version #=> Integer
2243
2640
  # resp.container_instances[0].version_info.agent_version #=> String
2244
2641
  # resp.container_instances[0].version_info.agent_hash #=> String
@@ -2402,6 +2799,10 @@ module Aws::ECS
2402
2799
  # resp.services[0].running_count #=> Integer
2403
2800
  # resp.services[0].pending_count #=> Integer
2404
2801
  # resp.services[0].launch_type #=> String, one of "EC2", "FARGATE"
2802
+ # resp.services[0].capacity_provider_strategy #=> Array
2803
+ # resp.services[0].capacity_provider_strategy[0].capacity_provider #=> String
2804
+ # resp.services[0].capacity_provider_strategy[0].weight #=> Integer
2805
+ # resp.services[0].capacity_provider_strategy[0].base #=> Integer
2405
2806
  # resp.services[0].platform_version #=> String
2406
2807
  # resp.services[0].task_definition #=> String
2407
2808
  # resp.services[0].deployment_configuration.maximum_percent #=> Integer
@@ -2421,6 +2822,10 @@ module Aws::ECS
2421
2822
  # resp.services[0].task_sets[0].created_at #=> Time
2422
2823
  # resp.services[0].task_sets[0].updated_at #=> Time
2423
2824
  # resp.services[0].task_sets[0].launch_type #=> String, one of "EC2", "FARGATE"
2825
+ # resp.services[0].task_sets[0].capacity_provider_strategy #=> Array
2826
+ # resp.services[0].task_sets[0].capacity_provider_strategy[0].capacity_provider #=> String
2827
+ # resp.services[0].task_sets[0].capacity_provider_strategy[0].weight #=> Integer
2828
+ # resp.services[0].task_sets[0].capacity_provider_strategy[0].base #=> Integer
2424
2829
  # resp.services[0].task_sets[0].platform_version #=> String
2425
2830
  # resp.services[0].task_sets[0].network_configuration.awsvpc_configuration.subnets #=> Array
2426
2831
  # resp.services[0].task_sets[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -2450,6 +2855,10 @@ module Aws::ECS
2450
2855
  # resp.services[0].deployments[0].running_count #=> Integer
2451
2856
  # resp.services[0].deployments[0].created_at #=> Time
2452
2857
  # resp.services[0].deployments[0].updated_at #=> Time
2858
+ # resp.services[0].deployments[0].capacity_provider_strategy #=> Array
2859
+ # resp.services[0].deployments[0].capacity_provider_strategy[0].capacity_provider #=> String
2860
+ # resp.services[0].deployments[0].capacity_provider_strategy[0].weight #=> Integer
2861
+ # resp.services[0].deployments[0].capacity_provider_strategy[0].base #=> Integer
2453
2862
  # resp.services[0].deployments[0].launch_type #=> String, one of "EC2", "FARGATE"
2454
2863
  # resp.services[0].deployments[0].platform_version #=> String
2455
2864
  # resp.services[0].deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
@@ -2796,6 +3205,10 @@ module Aws::ECS
2796
3205
  # resp.task_sets[0].created_at #=> Time
2797
3206
  # resp.task_sets[0].updated_at #=> Time
2798
3207
  # resp.task_sets[0].launch_type #=> String, one of "EC2", "FARGATE"
3208
+ # resp.task_sets[0].capacity_provider_strategy #=> Array
3209
+ # resp.task_sets[0].capacity_provider_strategy[0].capacity_provider #=> String
3210
+ # resp.task_sets[0].capacity_provider_strategy[0].weight #=> Integer
3211
+ # resp.task_sets[0].capacity_provider_strategy[0].base #=> Integer
2799
3212
  # resp.task_sets[0].platform_version #=> String
2800
3213
  # resp.task_sets[0].network_configuration.awsvpc_configuration.subnets #=> Array
2801
3214
  # resp.task_sets[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -2926,6 +3339,7 @@ module Aws::ECS
2926
3339
  # resp.tasks[0].attributes[0].target_type #=> String, one of "container-instance"
2927
3340
  # resp.tasks[0].attributes[0].target_id #=> String
2928
3341
  # resp.tasks[0].availability_zone #=> String
3342
+ # resp.tasks[0].capacity_provider_name #=> String
2929
3343
  # resp.tasks[0].cluster_arn #=> String
2930
3344
  # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
2931
3345
  # resp.tasks[0].connectivity_at #=> Time
@@ -4208,6 +4622,126 @@ module Aws::ECS
4208
4622
  req.send_request(options)
4209
4623
  end
4210
4624
 
4625
+ # Modifies the available capacity providers and the default capacity
4626
+ # provider strategy for a cluster.
4627
+ #
4628
+ # You must specify both the available capacity providers and a default
4629
+ # capacity provider strategy for the cluster. If the specified cluster
4630
+ # has existing capacity providers associated with it, you must specify
4631
+ # all existing capacity providers in addition to any new ones you want
4632
+ # to add. Any existing capacity providers associated with a cluster that
4633
+ # are omitted from a PutClusterCapacityProviders API call will be
4634
+ # disassociated with the cluster. You can only disassociate an existing
4635
+ # capacity provider from a cluster if it's not being used by any
4636
+ # existing tasks.
4637
+ #
4638
+ # When creating a service or running a task on a cluster, if no capacity
4639
+ # provider or launch type is specified, then the cluster's default
4640
+ # capacity provider strategy is used. It is recommended to define a
4641
+ # default capacity provider strategy for your cluster, however you may
4642
+ # specify an empty array (`[]`) to bypass defining a default strategy.
4643
+ #
4644
+ # @option params [required, String] :cluster
4645
+ # The short name or full Amazon Resource Name (ARN) of the cluster to
4646
+ # modify the capacity provider settings for. If you do not specify a
4647
+ # cluster, the default cluster is assumed.
4648
+ #
4649
+ # @option params [required, Array<String>] :capacity_providers
4650
+ # The short name or full Amazon Resource Name (ARN) of one or more
4651
+ # capacity providers to associate with the cluster.
4652
+ #
4653
+ # If specifying a capacity provider that uses an Auto Scaling group, the
4654
+ # capacity provider must already be created. New capacity providers can
4655
+ # be created with the CreateCapacityProvider API operation.
4656
+ #
4657
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
4658
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
4659
+ # providers are available to all accounts and only need to be associated
4660
+ # with a cluster to be used.
4661
+ #
4662
+ # @option params [required, Array<Types::CapacityProviderStrategyItem>] :default_capacity_provider_strategy
4663
+ # The capacity provider strategy to use by default for the cluster.
4664
+ #
4665
+ # When creating a service or running a task on a cluster, if no capacity
4666
+ # provider or launch type is specified then the default capacity
4667
+ # provider strategy for the cluster is used.
4668
+ #
4669
+ # A capacity provider strategy consists of one or more capacity
4670
+ # providers along with the `base` and `weight` to assign to them. A
4671
+ # capacity provider must be associated with the cluster to be used in a
4672
+ # capacity provider strategy. The PutClusterCapacityProviders API is
4673
+ # used to associate a capacity provider with a cluster. Only capacity
4674
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
4675
+ #
4676
+ # If specifying a capacity provider that uses an Auto Scaling group, the
4677
+ # capacity provider must already be created. New capacity providers can
4678
+ # be created with the CreateCapacityProvider API operation.
4679
+ #
4680
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
4681
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
4682
+ # providers are available to all accounts and only need to be associated
4683
+ # with a cluster to be used.
4684
+ #
4685
+ # @return [Types::PutClusterCapacityProvidersResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4686
+ #
4687
+ # * {Types::PutClusterCapacityProvidersResponse#cluster #cluster} => Types::Cluster
4688
+ #
4689
+ # @example Request syntax with placeholder values
4690
+ #
4691
+ # resp = client.put_cluster_capacity_providers({
4692
+ # cluster: "String", # required
4693
+ # capacity_providers: ["String"], # required
4694
+ # default_capacity_provider_strategy: [ # required
4695
+ # {
4696
+ # capacity_provider: "String", # required
4697
+ # weight: 1,
4698
+ # base: 1,
4699
+ # },
4700
+ # ],
4701
+ # })
4702
+ #
4703
+ # @example Response structure
4704
+ #
4705
+ # resp.cluster.cluster_arn #=> String
4706
+ # resp.cluster.cluster_name #=> String
4707
+ # resp.cluster.status #=> String
4708
+ # resp.cluster.registered_container_instances_count #=> Integer
4709
+ # resp.cluster.running_tasks_count #=> Integer
4710
+ # resp.cluster.pending_tasks_count #=> Integer
4711
+ # resp.cluster.active_services_count #=> Integer
4712
+ # resp.cluster.statistics #=> Array
4713
+ # resp.cluster.statistics[0].name #=> String
4714
+ # resp.cluster.statistics[0].value #=> String
4715
+ # resp.cluster.tags #=> Array
4716
+ # resp.cluster.tags[0].key #=> String
4717
+ # resp.cluster.tags[0].value #=> String
4718
+ # resp.cluster.settings #=> Array
4719
+ # resp.cluster.settings[0].name #=> String, one of "containerInsights"
4720
+ # resp.cluster.settings[0].value #=> String
4721
+ # resp.cluster.capacity_providers #=> Array
4722
+ # resp.cluster.capacity_providers[0] #=> String
4723
+ # resp.cluster.default_capacity_provider_strategy #=> Array
4724
+ # resp.cluster.default_capacity_provider_strategy[0].capacity_provider #=> String
4725
+ # resp.cluster.default_capacity_provider_strategy[0].weight #=> Integer
4726
+ # resp.cluster.default_capacity_provider_strategy[0].base #=> Integer
4727
+ # resp.cluster.attachments #=> Array
4728
+ # resp.cluster.attachments[0].id #=> String
4729
+ # resp.cluster.attachments[0].type #=> String
4730
+ # resp.cluster.attachments[0].status #=> String
4731
+ # resp.cluster.attachments[0].details #=> Array
4732
+ # resp.cluster.attachments[0].details[0].name #=> String
4733
+ # resp.cluster.attachments[0].details[0].value #=> String
4734
+ # resp.cluster.attachments_status #=> String
4735
+ #
4736
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/PutClusterCapacityProviders AWS API Documentation
4737
+ #
4738
+ # @overload put_cluster_capacity_providers(params = {})
4739
+ # @param [Hash] params ({})
4740
+ def put_cluster_capacity_providers(params = {}, options = {})
4741
+ req = build_request(:put_cluster_capacity_providers, params)
4742
+ req.send_request(options)
4743
+ end
4744
+
4211
4745
  # <note markdown="1"> This action is only used by the Amazon ECS agent, and it is not
4212
4746
  # intended for use outside of the agent.
4213
4747
  #
@@ -4333,6 +4867,7 @@ module Aws::ECS
4333
4867
  #
4334
4868
  # resp.container_instance.container_instance_arn #=> String
4335
4869
  # resp.container_instance.ec2_instance_id #=> String
4870
+ # resp.container_instance.capacity_provider_name #=> String
4336
4871
  # resp.container_instance.version #=> Integer
4337
4872
  # resp.container_instance.version_info.agent_version #=> String
4338
4873
  # resp.container_instance.version_info.agent_hash #=> String
@@ -5147,6 +5682,34 @@ module Aws::ECS
5147
5682
  #
5148
5683
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html
5149
5684
  #
5685
+ # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
5686
+ # The capacity provider strategy to use for the task.
5687
+ #
5688
+ # A capacity provider strategy consists of one or more capacity
5689
+ # providers along with the `base` and `weight` to assign to them. A
5690
+ # capacity provider must be associated with the cluster to be used in a
5691
+ # capacity provider strategy. The PutClusterCapacityProviders API is
5692
+ # used to associate a capacity provider with a cluster. Only capacity
5693
+ # providers with an `ACTIVE` or `UPDATING` status can be used.
5694
+ #
5695
+ # If a `capacityProviderStrategy` is specified, the `launchType`
5696
+ # parameter must be omitted. If no `capacityProviderStrategy` or
5697
+ # `launchType` is specified, the `defaultCapacityProviderStrategy` for
5698
+ # the cluster is used.
5699
+ #
5700
+ # If specifying a capacity provider that uses an Auto Scaling group, the
5701
+ # capacity provider must already be created. New capacity providers can
5702
+ # be created with the CreateCapacityProvider API operation.
5703
+ #
5704
+ # To use a AWS Fargate capacity provider, specify either the `FARGATE`
5705
+ # or `FARGATE_SPOT` capacity providers. The AWS Fargate capacity
5706
+ # providers are available to all accounts and only need to be associated
5707
+ # with a cluster to be used.
5708
+ #
5709
+ # The PutClusterCapacityProviders API operation is used to update the
5710
+ # list of available capacity providers for a cluster after the cluster
5711
+ # is created.
5712
+ #
5150
5713
  # @option params [String] :cluster
5151
5714
  # The short name or full Amazon Resource Name (ARN) of the cluster on
5152
5715
  # which to run your task. If you do not specify a cluster, the default
@@ -5175,6 +5738,9 @@ module Aws::ECS
5175
5738
  # [Amazon ECS Launch Types][1] in the *Amazon Elastic Container Service
5176
5739
  # Developer Guide*.
5177
5740
  #
5741
+ # If a `launchType` is specified, the `capacityProviderStrategy`
5742
+ # parameter must be omitted.
5743
+ #
5178
5744
  #
5179
5745
  #
5180
5746
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html
@@ -5332,6 +5898,13 @@ module Aws::ECS
5332
5898
  # @example Request syntax with placeholder values
5333
5899
  #
5334
5900
  # resp = client.run_task({
5901
+ # capacity_provider_strategy: [
5902
+ # {
5903
+ # capacity_provider: "String", # required
5904
+ # weight: 1,
5905
+ # base: 1,
5906
+ # },
5907
+ # ],
5335
5908
  # cluster: "String",
5336
5909
  # count: 1,
5337
5910
  # enable_ecs_managed_tags: false,
@@ -5418,6 +5991,7 @@ module Aws::ECS
5418
5991
  # resp.tasks[0].attributes[0].target_type #=> String, one of "container-instance"
5419
5992
  # resp.tasks[0].attributes[0].target_id #=> String
5420
5993
  # resp.tasks[0].availability_zone #=> String
5994
+ # resp.tasks[0].capacity_provider_name #=> String
5421
5995
  # resp.tasks[0].cluster_arn #=> String
5422
5996
  # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
5423
5997
  # resp.tasks[0].connectivity_at #=> Time
@@ -5698,6 +6272,7 @@ module Aws::ECS
5698
6272
  # resp.tasks[0].attributes[0].target_type #=> String, one of "container-instance"
5699
6273
  # resp.tasks[0].attributes[0].target_id #=> String
5700
6274
  # resp.tasks[0].availability_zone #=> String
6275
+ # resp.tasks[0].capacity_provider_name #=> String
5701
6276
  # resp.tasks[0].cluster_arn #=> String
5702
6277
  # resp.tasks[0].connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
5703
6278
  # resp.tasks[0].connectivity_at #=> Time
@@ -5851,6 +6426,7 @@ module Aws::ECS
5851
6426
  # resp.task.attributes[0].target_type #=> String, one of "container-instance"
5852
6427
  # resp.task.attributes[0].target_id #=> String
5853
6428
  # resp.task.availability_zone #=> String
6429
+ # resp.task.capacity_provider_name #=> String
5854
6430
  # resp.task.cluster_arn #=> String
5855
6431
  # resp.task.connectivity #=> String, one of "CONNECTED", "DISCONNECTED"
5856
6432
  # resp.task.connectivity_at #=> Time
@@ -6144,8 +6720,8 @@ module Aws::ECS
6144
6720
  #
6145
6721
  # @option params [required, String] :resource_arn
6146
6722
  # The Amazon Resource Name (ARN) of the resource to which to add tags.
6147
- # Currently, the supported resources are Amazon ECS tasks, services,
6148
- # task definitions, clusters, and container instances.
6723
+ # Currently, the supported resources are Amazon ECS capacity providers,
6724
+ # tasks, services, task definitions, clusters, and container instances.
6149
6725
  #
6150
6726
  # @option params [required, Array<Types::Tag>] :tags
6151
6727
  # The tags to add to the resource. A tag is an array of key-value pairs.
@@ -6221,8 +6797,9 @@ module Aws::ECS
6221
6797
  #
6222
6798
  # @option params [required, String] :resource_arn
6223
6799
  # The Amazon Resource Name (ARN) of the resource from which to delete
6224
- # tags. Currently, the supported resources are Amazon ECS tasks,
6225
- # services, task definitions, clusters, and container instances.
6800
+ # tags. Currently, the supported resources are Amazon ECS capacity
6801
+ # providers, tasks, services, task definitions, clusters, and container
6802
+ # instances.
6226
6803
  #
6227
6804
  # @option params [required, Array<String>] :tag_keys
6228
6805
  # The keys of the tags to be removed.
@@ -6306,6 +6883,20 @@ module Aws::ECS
6306
6883
  # resp.cluster.settings #=> Array
6307
6884
  # resp.cluster.settings[0].name #=> String, one of "containerInsights"
6308
6885
  # resp.cluster.settings[0].value #=> String
6886
+ # resp.cluster.capacity_providers #=> Array
6887
+ # resp.cluster.capacity_providers[0] #=> String
6888
+ # resp.cluster.default_capacity_provider_strategy #=> Array
6889
+ # resp.cluster.default_capacity_provider_strategy[0].capacity_provider #=> String
6890
+ # resp.cluster.default_capacity_provider_strategy[0].weight #=> Integer
6891
+ # resp.cluster.default_capacity_provider_strategy[0].base #=> Integer
6892
+ # resp.cluster.attachments #=> Array
6893
+ # resp.cluster.attachments[0].id #=> String
6894
+ # resp.cluster.attachments[0].type #=> String
6895
+ # resp.cluster.attachments[0].status #=> String
6896
+ # resp.cluster.attachments[0].details #=> Array
6897
+ # resp.cluster.attachments[0].details[0].name #=> String
6898
+ # resp.cluster.attachments[0].details[0].value #=> String
6899
+ # resp.cluster.attachments_status #=> String
6309
6900
  #
6310
6901
  # @see http://docs.aws.amazon.com/goto/WebAPI/ecs-2014-11-13/UpdateClusterSettings AWS API Documentation
6311
6902
  #
@@ -6358,6 +6949,7 @@ module Aws::ECS
6358
6949
  #
6359
6950
  # resp.container_instance.container_instance_arn #=> String
6360
6951
  # resp.container_instance.ec2_instance_id #=> String
6952
+ # resp.container_instance.capacity_provider_name #=> String
6361
6953
  # resp.container_instance.version #=> Integer
6362
6954
  # resp.container_instance.version_info.agent_version #=> String
6363
6955
  # resp.container_instance.version_info.agent_hash #=> String
@@ -6500,6 +7092,7 @@ module Aws::ECS
6500
7092
  # resp.container_instances #=> Array
6501
7093
  # resp.container_instances[0].container_instance_arn #=> String
6502
7094
  # resp.container_instances[0].ec2_instance_id #=> String
7095
+ # resp.container_instances[0].capacity_provider_name #=> String
6503
7096
  # resp.container_instances[0].version #=> Integer
6504
7097
  # resp.container_instances[0].version_info.agent_version #=> String
6505
7098
  # resp.container_instances[0].version_info.agent_hash #=> String
@@ -6686,36 +7279,30 @@ module Aws::ECS
6686
7279
  # the new version of the task definition and then stops an old task
6687
7280
  # after the new version is running.
6688
7281
  #
7282
+ # @option params [Array<Types::CapacityProviderStrategyItem>] :capacity_provider_strategy
7283
+ # The capacity provider strategy to update the service to use.
7284
+ #
7285
+ # If the service is using the default capacity provider strategy for the
7286
+ # cluster, the service can be updated to use one or more capacity
7287
+ # providers. However, when a service is using a non-default capacity
7288
+ # provider strategy, the service cannot be updated to use the cluster's
7289
+ # default capacity provider strategy.
7290
+ #
6689
7291
  # @option params [Types::DeploymentConfiguration] :deployment_configuration
6690
7292
  # Optional deployment parameters that control how many tasks run during
6691
7293
  # the deployment and the ordering of stopping and starting tasks.
6692
7294
  #
6693
7295
  # @option params [Types::NetworkConfiguration] :network_configuration
6694
- # The network configuration for the service. This parameter is required
6695
- # for task definitions that use the `awsvpc` network mode to receive
6696
- # their own elastic network interface, and it is not supported for other
6697
- # network modes. For more information, see [Task Networking][1] in the
6698
- # *Amazon Elastic Container Service Developer Guide*.
6699
- #
6700
- # <note markdown="1"> Updating a service to add a subnet to a list of existing subnets does
6701
- # not trigger a service deployment. For example, if your network
6702
- # configuration change is to keep the existing subnets and simply add
6703
- # another subnet to the network configuration, this does not trigger a
6704
- # new service deployment.
6705
- #
6706
- # </note>
6707
- #
6708
- #
6709
- #
6710
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
7296
+ # An object representing the network configuration for a task or
7297
+ # service.
6711
7298
  #
6712
7299
  # @option params [String] :platform_version
6713
7300
  # The platform version on which your tasks in the service are running. A
6714
7301
  # platform version is only specified for tasks using the Fargate launch
6715
- # type. If one is not specified, the `LATEST` platform version is used
6716
- # by default. For more information, see [AWS Fargate Platform
6717
- # Versions][1] in the *Amazon Elastic Container Service Developer
6718
- # Guide*.
7302
+ # type. If a platform version is not specified, the `LATEST` platform
7303
+ # version is used by default. For more information, see [AWS Fargate
7304
+ # Platform Versions][1] in the *Amazon Elastic Container Service
7305
+ # Developer Guide*.
6719
7306
  #
6720
7307
  #
6721
7308
  #
@@ -6736,8 +7323,8 @@ module Aws::ECS
6736
7323
  # configured to use a load balancer. If your service's tasks take a
6737
7324
  # while to start and respond to Elastic Load Balancing health checks,
6738
7325
  # you can specify a health check grace period of up to 2,147,483,647
6739
- # seconds. During that time, the ECS service scheduler ignores the
6740
- # Elastic Load Balancing health check status. This grace period can
7326
+ # seconds. During that time, the Amazon ECS service scheduler ignores
7327
+ # the Elastic Load Balancing health check status. This grace period can
6741
7328
  # prevent the ECS service scheduler from marking tasks as unhealthy and
6742
7329
  # stopping them before they have time to come up.
6743
7330
  #
@@ -6779,6 +7366,13 @@ module Aws::ECS
6779
7366
  # service: "String", # required
6780
7367
  # desired_count: 1,
6781
7368
  # task_definition: "String",
7369
+ # capacity_provider_strategy: [
7370
+ # {
7371
+ # capacity_provider: "String", # required
7372
+ # weight: 1,
7373
+ # base: 1,
7374
+ # },
7375
+ # ],
6782
7376
  # deployment_configuration: {
6783
7377
  # maximum_percent: 1,
6784
7378
  # minimum_healthy_percent: 1,
@@ -6815,6 +7409,10 @@ module Aws::ECS
6815
7409
  # resp.service.running_count #=> Integer
6816
7410
  # resp.service.pending_count #=> Integer
6817
7411
  # resp.service.launch_type #=> String, one of "EC2", "FARGATE"
7412
+ # resp.service.capacity_provider_strategy #=> Array
7413
+ # resp.service.capacity_provider_strategy[0].capacity_provider #=> String
7414
+ # resp.service.capacity_provider_strategy[0].weight #=> Integer
7415
+ # resp.service.capacity_provider_strategy[0].base #=> Integer
6818
7416
  # resp.service.platform_version #=> String
6819
7417
  # resp.service.task_definition #=> String
6820
7418
  # resp.service.deployment_configuration.maximum_percent #=> Integer
@@ -6834,6 +7432,10 @@ module Aws::ECS
6834
7432
  # resp.service.task_sets[0].created_at #=> Time
6835
7433
  # resp.service.task_sets[0].updated_at #=> Time
6836
7434
  # resp.service.task_sets[0].launch_type #=> String, one of "EC2", "FARGATE"
7435
+ # resp.service.task_sets[0].capacity_provider_strategy #=> Array
7436
+ # resp.service.task_sets[0].capacity_provider_strategy[0].capacity_provider #=> String
7437
+ # resp.service.task_sets[0].capacity_provider_strategy[0].weight #=> Integer
7438
+ # resp.service.task_sets[0].capacity_provider_strategy[0].base #=> Integer
6837
7439
  # resp.service.task_sets[0].platform_version #=> String
6838
7440
  # resp.service.task_sets[0].network_configuration.awsvpc_configuration.subnets #=> Array
6839
7441
  # resp.service.task_sets[0].network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -6863,6 +7465,10 @@ module Aws::ECS
6863
7465
  # resp.service.deployments[0].running_count #=> Integer
6864
7466
  # resp.service.deployments[0].created_at #=> Time
6865
7467
  # resp.service.deployments[0].updated_at #=> Time
7468
+ # resp.service.deployments[0].capacity_provider_strategy #=> Array
7469
+ # resp.service.deployments[0].capacity_provider_strategy[0].capacity_provider #=> String
7470
+ # resp.service.deployments[0].capacity_provider_strategy[0].weight #=> Integer
7471
+ # resp.service.deployments[0].capacity_provider_strategy[0].base #=> Integer
6866
7472
  # resp.service.deployments[0].launch_type #=> String, one of "EC2", "FARGATE"
6867
7473
  # resp.service.deployments[0].platform_version #=> String
6868
7474
  # resp.service.deployments[0].network_configuration.awsvpc_configuration.subnets #=> Array
@@ -6957,6 +7563,10 @@ module Aws::ECS
6957
7563
  # resp.task_set.created_at #=> Time
6958
7564
  # resp.task_set.updated_at #=> Time
6959
7565
  # resp.task_set.launch_type #=> String, one of "EC2", "FARGATE"
7566
+ # resp.task_set.capacity_provider_strategy #=> Array
7567
+ # resp.task_set.capacity_provider_strategy[0].capacity_provider #=> String
7568
+ # resp.task_set.capacity_provider_strategy[0].weight #=> Integer
7569
+ # resp.task_set.capacity_provider_strategy[0].base #=> Integer
6960
7570
  # resp.task_set.platform_version #=> String
6961
7571
  # resp.task_set.network_configuration.awsvpc_configuration.subnets #=> Array
6962
7572
  # resp.task_set.network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -7044,6 +7654,10 @@ module Aws::ECS
7044
7654
  # resp.task_set.created_at #=> Time
7045
7655
  # resp.task_set.updated_at #=> Time
7046
7656
  # resp.task_set.launch_type #=> String, one of "EC2", "FARGATE"
7657
+ # resp.task_set.capacity_provider_strategy #=> Array
7658
+ # resp.task_set.capacity_provider_strategy[0].capacity_provider #=> String
7659
+ # resp.task_set.capacity_provider_strategy[0].weight #=> Integer
7660
+ # resp.task_set.capacity_provider_strategy[0].base #=> Integer
7047
7661
  # resp.task_set.platform_version #=> String
7048
7662
  # resp.task_set.network_configuration.awsvpc_configuration.subnets #=> Array
7049
7663
  # resp.task_set.network_configuration.awsvpc_configuration.subnets[0] #=> String
@@ -7087,7 +7701,7 @@ module Aws::ECS
7087
7701
  params: params,
7088
7702
  config: config)
7089
7703
  context[:gem_name] = 'aws-sdk-ecs'
7090
- context[:gem_version] = '1.53.0'
7704
+ context[:gem_version] = '1.54.0'
7091
7705
  Seahorse::Client::Request.new(handlers, context)
7092
7706
  end
7093
7707