/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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 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
* CreateCapacityProvider API operation. To use a Fargate capacity
* provider, specify either the A capacity provider strategy may contain a maximum of 6
* capacity providers.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.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.See Also:
AWS
* API Reference
The short name of the capacity provider.
*/ inline const Aws::String& GetCapacityProvider() const{ return m_capacityProvider; } /** *The short name of the capacity provider.
*/ inline bool CapacityProviderHasBeenSet() const { return m_capacityProviderHasBeenSet; } /** *The short name of the capacity provider.
*/ inline void SetCapacityProvider(const Aws::String& value) { m_capacityProviderHasBeenSet = true; m_capacityProvider = value; } /** *The short name of the capacity provider.
*/ inline void SetCapacityProvider(Aws::String&& value) { m_capacityProviderHasBeenSet = true; m_capacityProvider = std::move(value); } /** *The short name of the capacity provider.
*/ inline void SetCapacityProvider(const char* value) { m_capacityProviderHasBeenSet = true; m_capacityProvider.assign(value); } /** *The short name of the capacity provider.
*/ inline CapacityProviderStrategyItem& WithCapacityProvider(const Aws::String& value) { SetCapacityProvider(value); return *this;} /** *The short name of the capacity provider.
*/ inline CapacityProviderStrategyItem& WithCapacityProvider(Aws::String&& value) { SetCapacityProvider(std::move(value)); return *this;} /** *The short name of the capacity provider.
*/ inline CapacityProviderStrategyItem& WithCapacityProvider(const char* value) { SetCapacityProvider(value); return *this;} /** *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.
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.
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.
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.
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.
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.
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.
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.