Interface ScalingPolicy.Builder

All Superinterfaces:
Buildable, CopyableBuilder<ScalingPolicy.Builder,ScalingPolicy>, SdkBuilder<ScalingPolicy.Builder,ScalingPolicy>, SdkPojo
Enclosing class:
ScalingPolicy

public static interface ScalingPolicy.Builder extends SdkPojo, CopyableBuilder<ScalingPolicy.Builder,ScalingPolicy>
  • Method Details

    • fleetId

      ScalingPolicy.Builder fleetId(String fleetId)

      A unique identifier for the fleet that is associated with this scaling policy.

      Parameters:
      fleetId - A unique identifier for the fleet that is associated with this scaling policy.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • fleetArn

      ScalingPolicy.Builder fleetArn(String fleetArn)

      The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.

      Parameters:
      fleetArn - The Amazon Resource Name (ARN) that is assigned to a Amazon GameLift fleet resource and uniquely identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • name

      A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.

      Parameters:
      name - A descriptive label that is associated with a fleet's scaling policy. Policy names do not need to be unique.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • status

      ScalingPolicy.Builder status(String status)

      Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.

      • ACTIVE -- The scaling policy can be used for auto-scaling a fleet.

      • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

      • UPDATING -- A change is being made to the scaling policy.

      • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

      • DELETING -- The scaling policy is being deleted.

      • DELETED -- The scaling policy has been deleted.

      • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

      Parameters:
      status - Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.

      • ACTIVE -- The scaling policy can be used for auto-scaling a fleet.

      • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

      • UPDATING -- A change is being made to the scaling policy.

      • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

      • DELETING -- The scaling policy is being deleted.

      • DELETED -- The scaling policy has been deleted.

      • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • status

      Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.

      • ACTIVE -- The scaling policy can be used for auto-scaling a fleet.

      • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

      • UPDATING -- A change is being made to the scaling policy.

      • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

      • DELETING -- The scaling policy is being deleted.

      • DELETED -- The scaling policy has been deleted.

      • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

      Parameters:
      status - Current status of the scaling policy. The scaling policy can be in force only when in an ACTIVE status. Scaling policies can be suspended for individual fleets. If the policy is suspended for a fleet, the policy status does not change.

      • ACTIVE -- The scaling policy can be used for auto-scaling a fleet.

      • UPDATE_REQUESTED -- A request to update the scaling policy has been received.

      • UPDATING -- A change is being made to the scaling policy.

      • DELETE_REQUESTED -- A request to delete the scaling policy has been received.

      • DELETING -- The scaling policy is being deleted.

      • DELETED -- The scaling policy has been deleted.

      • ERROR -- An error occurred in creating the policy. It should be removed and recreated.

      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • scalingAdjustment

      ScalingPolicy.Builder scalingAdjustment(Integer scalingAdjustment)

      Amount of adjustment to make, based on the scaling adjustment type.

      Parameters:
      scalingAdjustment - Amount of adjustment to make, based on the scaling adjustment type.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • scalingAdjustmentType

      ScalingPolicy.Builder scalingAdjustmentType(String 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.

      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:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • scalingAdjustmentType

      ScalingPolicy.Builder scalingAdjustmentType(ScalingAdjustmentType 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.

      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:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • comparisonOperator

      ScalingPolicy.Builder comparisonOperator(String comparisonOperator)

      Comparison operator to use when measuring a metric against the threshold value.

      Parameters:
      comparisonOperator - Comparison operator to use when measuring a metric against the threshold value.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • comparisonOperator

      ScalingPolicy.Builder comparisonOperator(ComparisonOperatorType comparisonOperator)

      Comparison operator to use when measuring a metric against the threshold value.

      Parameters:
      comparisonOperator - Comparison operator to use when measuring a metric against the threshold value.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • threshold

      ScalingPolicy.Builder threshold(Double threshold)

      Metric value used to trigger a scaling event.

      Parameters:
      threshold - Metric value used to trigger a scaling event.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • evaluationPeriods

      ScalingPolicy.Builder evaluationPeriods(Integer evaluationPeriods)

      Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.

      Parameters:
      evaluationPeriods - Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • metricName

      ScalingPolicy.Builder metricName(String metricName)

      Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. 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.

      Parameters:
      metricName - Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. 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:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • metricName

      ScalingPolicy.Builder metricName(MetricName metricName)

      Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. 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.

      Parameters:
      metricName - Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. 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:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • policyType

      ScalingPolicy.Builder policyType(String 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.

      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:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • policyType

      ScalingPolicy.Builder policyType(PolicyType 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.

      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:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • targetConfiguration

      ScalingPolicy.Builder targetConfiguration(TargetConfiguration targetConfiguration)

      An object that contains settings for a target-based scaling policy.

      Parameters:
      targetConfiguration - An object that contains settings for a target-based scaling policy.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • targetConfiguration

      default ScalingPolicy.Builder targetConfiguration(Consumer<TargetConfiguration.Builder> targetConfiguration)

      An object that contains settings for a target-based scaling policy.

      This is a convenience method that creates an instance of the TargetConfiguration.Builder avoiding the need to create one manually via TargetConfiguration.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to targetConfiguration(TargetConfiguration).

      Parameters:
      targetConfiguration - a consumer that will call methods on TargetConfiguration.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • updateStatus

      ScalingPolicy.Builder updateStatus(String updateStatus)

      The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.

      Parameters:
      updateStatus - The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • updateStatus

      ScalingPolicy.Builder updateStatus(LocationUpdateStatus updateStatus)

      The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.

      Parameters:
      updateStatus - The current status of the fleet's scaling policies in a requested fleet location. The status PENDING_UPDATE indicates that an update was requested for the fleet but has not yet been completed for the location.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • location

      ScalingPolicy.Builder location(String location)

      The fleet location.

      Parameters:
      location - The fleet location.
      Returns:
      Returns a reference to this object so that method calls can be chained together.