aws-sdk-ecs 1.53.0 → 1.54.0

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