Class: Aws::ECS::Types::CapacityProviderStrategyItem
- Inherits:
-
Struct
- Object
- Struct
- Aws::ECS::Types::CapacityProviderStrategyItem
- Includes:
- Structure
- Defined in:
- lib/aws-sdk-ecs/types.rb
Overview
The details of a capacity provider strategy. A capacity provider strategy can be set when using the [RunTask]or [CreateCluster] APIs or as the default capacity provider strategy for a cluster with the ‘CreateCluster` API.
Only capacity providers that are already associated with a cluster and have an ‘ACTIVE` or `UPDATING` status can be used in a capacity provider strategy. The [PutClusterCapacityProviders] API is used to associate a capacity provider with a cluster.
If specifying a capacity provider that uses an Auto Scaling group, the capacity provider must already be created. New Auto Scaling group capacity providers can be created with the
- CreateClusterCapacityProvider][4
-
API operation.
To use a Fargate capacity provider, specify either the ‘FARGATE` or `FARGATE_SPOT` capacity providers. The Fargate capacity providers are available to all accounts and only need to be associated with a cluster to be used in a capacity provider strategy.
With ‘FARGATE_SPOT`, you can run interruption tolerant tasks at a rate that’s discounted compared to the ‘FARGATE` price. `FARGATE_SPOT` runs tasks on spare compute capacity. When Amazon Web Services needs the capacity back, your tasks are interrupted with a two-minute warning. `FARGATE_SPOT` only supports Linux tasks with the X86_64 architecture on platform version 1.3.0 or later.
A capacity provider strategy may contain a maximum of 6 capacity providers.
[1]: docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html [2]: docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateCluster.html [3]: docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutClusterCapacityProviders.html [4]: docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateClusterCapacityProvider.html
Constant Summary collapse
- SENSITIVE =
[]
Instance Attribute Summary collapse
-
#base ⇒ Integer
The base value designates how many tasks, at a minimum, to run on the specified capacity provider.
-
#capacity_provider ⇒ String
The short name of the capacity provider.
-
#weight ⇒ Integer
The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider.
Instance Attribute Details
#base ⇒ Integer
The base value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of ‘0` is used.
458 459 460 461 462 463 464 |
# File 'lib/aws-sdk-ecs/types.rb', line 458 class CapacityProviderStrategyItem < Struct.new( :capacity_provider, :weight, :base) SENSITIVE = [] include Aws::Structure end |
#capacity_provider ⇒ String
The short name of the capacity provider.
458 459 460 461 462 463 464 |
# File 'lib/aws-sdk-ecs/types.rb', line 458 class CapacityProviderStrategyItem < Struct.new( :capacity_provider, :weight, :base) SENSITIVE = [] include Aws::Structure end |
#weight ⇒ Integer
The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The ‘weight` value is taken into consideration after the `base` value, if defined, is satisfied.
If no ‘weight` value is specified, the default value of `0` is used. When multiple capacity providers are specified within a capacity provider strategy, at least one of the capacity providers must have a weight value greater than zero and any capacity providers with a weight of `0` can’t be used to place tasks. If you specify multiple capacity providers in a strategy that all have a weight of ‘0`, any `RunTask` or `CreateService` actions using the capacity provider strategy will fail.
An example scenario for using weights is defining a strategy that contains two capacity providers and both have a weight of ‘1`, then when the `base` is satisfied, the tasks will be split evenly across the two capacity providers. Using that same logic, if you specify a weight of `1` for capacityProviderA and a weight of `4` for capacityProviderB, then for every one task that’s run using capacityProviderA, four tasks would use capacityProviderB.
458 459 460 461 462 463 464 |
# File 'lib/aws-sdk-ecs/types.rb', line 458 class CapacityProviderStrategyItem < Struct.new( :capacity_provider, :weight, :base) SENSITIVE = [] include Aws::Structure end |