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
Constructors -
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 Servers-defined metric that is used to trigger a scaling adjustment. This parameter is required. For detailed descriptions of fleet metrics, see Monitor Amazon GameLift Servers 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:
buildin interfacesoftware.amazon.jsii.Builder<CfnContainerFleet.ScalingPolicyProperty>- Returns:
- a new instance of
CfnContainerFleet.ScalingPolicyProperty - Throws:
NullPointerException- if any required attribute was not provided
-