Class CfnContainerFleet.ScalingPolicyProperty.Builder
java.lang.Object
software.amazon.awscdk.services.gamelift.CfnContainerFleet.ScalingPolicyProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnContainerFleet.ScalingPolicyProperty>
- Enclosing interface:
CfnContainerFleet.ScalingPolicyProperty
@Stability(Stable)
public static final class CfnContainerFleet.ScalingPolicyProperty.Builder
extends Object
implements software.amazon.jsii.Builder<CfnContainerFleet.ScalingPolicyProperty>
A builder for
CfnContainerFleet.ScalingPolicyProperty
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuild()
Builds the configured instance.comparisonOperator
(String comparisonOperator) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getComparisonOperator()
evaluationPeriods
(Number evaluationPeriods) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getEvaluationPeriods()
metricName
(String metricName) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getMetricName()
Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getName()
policyType
(String policyType) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getPolicyType()
scalingAdjustment
(Number scalingAdjustment) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getScalingAdjustment()
scalingAdjustmentType
(String scalingAdjustmentType) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getScalingAdjustmentType()
targetConfiguration
(IResolvable targetConfiguration) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getTargetConfiguration()
targetConfiguration
(CfnContainerFleet.TargetConfigurationProperty targetConfiguration) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getTargetConfiguration()
Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getThreshold()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
metricName
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder metricName(String metricName) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getMetricName()
- Parameters:
metricName
- Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. This parameter is required. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift with Amazon CloudWatch .- ActivatingGameSessions -- Game sessions in the process of being created.
- ActiveGameSessions -- Game sessions that are currently running.
- ActiveInstances -- Fleet instances that are currently running at least one game session.
- AvailableGameSessions -- Additional game sessions that fleet could host simultaneously, given current capacity.
- AvailablePlayerSessions -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.
- CurrentPlayerSessions -- Player slots in active game sessions that are being used by a player or are reserved for a player.
- IdleInstances -- Active instances that are currently hosting zero game sessions.
- PercentAvailableGameSessions -- Unused percentage of the total number of game sessions that a fleet could host simultaneously, given current capacity. Use this metric for a target-based scaling policy.
- PercentIdleInstances -- Percentage of the total number of active instances that are hosting zero game sessions.
- QueueDepth -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.
- WaitTime -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination.
- Returns:
this
-
name
Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getName()
- Parameters:
name
- A descriptive label that is associated with a fleet's scaling policy. This parameter is required. Policy names do not need to be unique.- Returns:
this
-
comparisonOperator
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder comparisonOperator(String comparisonOperator) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getComparisonOperator()
- Parameters:
comparisonOperator
- Comparison operator to use when measuring a metric against the threshold value.- Returns:
this
-
evaluationPeriods
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder evaluationPeriods(Number evaluationPeriods) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getEvaluationPeriods()
- Parameters:
evaluationPeriods
- Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.- Returns:
this
-
policyType
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder policyType(String policyType) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getPolicyType()
- Parameters:
policyType
- The type of scaling policy to create. For a target-based policy, set the parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration . For a rule-based policy set the following parameters: MetricName , ComparisonOperator , Threshold , EvaluationPeriods , ScalingAdjustmentType , and ScalingAdjustment .- Returns:
this
-
scalingAdjustment
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder scalingAdjustment(Number scalingAdjustment) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getScalingAdjustment()
- Parameters:
scalingAdjustment
- Amount of adjustment to make, based on the scaling adjustment type.- Returns:
this
-
scalingAdjustmentType
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder scalingAdjustmentType(String scalingAdjustmentType) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getScalingAdjustmentType()
- Parameters:
scalingAdjustmentType
- The type of adjustment to make to a fleet's instance count.- ChangeInCapacity -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.
- ExactCapacity -- set the instance count to the scaling adjustment value.
- PercentChangeInCapacity -- increase or reduce the current instance count by the scaling adjustment, read as a percentage. Positive values scale up while negative values scale down.
- Returns:
this
-
targetConfiguration
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder targetConfiguration(IResolvable targetConfiguration) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getTargetConfiguration()
- Parameters:
targetConfiguration
- An object that contains settings for a target-based scaling policy.- Returns:
this
-
targetConfiguration
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder targetConfiguration(CfnContainerFleet.TargetConfigurationProperty targetConfiguration) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getTargetConfiguration()
- Parameters:
targetConfiguration
- An object that contains settings for a target-based scaling policy.- Returns:
this
-
threshold
@Stability(Stable) public CfnContainerFleet.ScalingPolicyProperty.Builder threshold(Number threshold) Sets the value ofCfnContainerFleet.ScalingPolicyProperty.getThreshold()
- Parameters:
threshold
- Metric value used to trigger a scaling event.- Returns:
this
-
build
Builds the configured instance.- Specified by:
build
in interfacesoftware.amazon.jsii.Builder<CfnContainerFleet.ScalingPolicyProperty>
- Returns:
- a new instance of
CfnContainerFleet.ScalingPolicyProperty
- Throws:
NullPointerException
- if any required attribute was not provided
-