Class ScalingPolicy

java.lang.Object
com.amazonaws.services.gamelift.model.ScalingPolicy
All Implemented Interfaces:
Serializable, Cloneable

public class ScalingPolicy extends Object implements Serializable, Cloneable

Rule that controls how a fleet is scaled. Scaling policies are uniquely identified by the combination of name and fleet ID.

See Also:
  • Constructor Details

    • ScalingPolicy

      public ScalingPolicy()
  • Method Details

    • setFleetId

      public void setFleetId(String fleetId)

      Unique identity for the fleet associated with this scaling policy.

      Parameters:
      fleetId - Unique identity for the fleet associated with this scaling policy.
    • getFleetId

      public String getFleetId()

      Unique identity for the fleet associated with this scaling policy.

      Returns:
      Unique identity for the fleet associated with this scaling policy.
    • withFleetId

      public ScalingPolicy withFleetId(String fleetId)

      Unique identity for the fleet associated with this scaling policy.

      Parameters:
      fleetId - Unique identity for the fleet associated with this scaling policy.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • setName

      public void setName(String name)

      Descriptive label associated with this scaling policy. Policy names do not need to be unique.

      Parameters:
      name - Descriptive label associated with this scaling policy. Policy names do not need to be unique.
    • getName

      public String getName()

      Descriptive label associated with this scaling policy. Policy names do not need to be unique.

      Returns:
      Descriptive label associated with this scaling policy. Policy names do not need to be unique.
    • withName

      public ScalingPolicy withName(String name)

      Descriptive label associated with this scaling policy. Policy names do not need to be unique.

      Parameters:
      name - Descriptive label associated with this 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.
    • setStatus

      public void setStatus(String status)

      Current status of the scaling policy. The scaling policy is only in force when in an Active state.

      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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 is only in force when in an Active state.
      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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.
      See Also:
    • getStatus

      public String getStatus()

      Current status of the scaling policy. The scaling policy is only in force when in an Active state.

      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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:
      Current status of the scaling policy. The scaling policy is only in force when in an Active state.
      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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.
      See Also:
    • withStatus

      public ScalingPolicy withStatus(String status)

      Current status of the scaling policy. The scaling policy is only in force when in an Active state.

      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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 is only in force when in an Active state.
      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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:
    • setStatus

      public void setStatus(ScalingStatusType status)

      Current status of the scaling policy. The scaling policy is only in force when in an Active state.

      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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 is only in force when in an Active state.
      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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.
      See Also:
    • withStatus

      public ScalingPolicy withStatus(ScalingStatusType status)

      Current status of the scaling policy. The scaling policy is only in force when in an Active state.

      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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 is only in force when in an Active state.
      • ACTIVE: The scaling policy is currently in force.
      • UPDATEREQUESTED: A request to update the scaling policy has been received.
      • UPDATING: A change is being made to the scaling policy.
      • DELETEREQUESTED: 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:
    • setScalingAdjustment

      public void setScalingAdjustment(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.
    • getScalingAdjustment

      public Integer getScalingAdjustment()

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

      Returns:
      Amount of adjustment to make, based on the scaling adjustment type.
    • withScalingAdjustment

      public ScalingPolicy withScalingAdjustment(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.
    • setScalingAdjustmentType

      public void setScalingAdjustmentType(String scalingAdjustmentType)

      Type of adjustment to make to a fleet's instance count (see FleetCapacity):

      • 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 - Type of adjustment to make to a fleet's instance count (see FleetCapacity):
      • 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.
      See Also:
    • getScalingAdjustmentType

      public String getScalingAdjustmentType()

      Type of adjustment to make to a fleet's instance count (see FleetCapacity):

      • 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:
      Type of adjustment to make to a fleet's instance count (see FleetCapacity):
      • 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.
      See Also:
    • withScalingAdjustmentType

      public ScalingPolicy withScalingAdjustmentType(String scalingAdjustmentType)

      Type of adjustment to make to a fleet's instance count (see FleetCapacity):

      • 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 - Type of adjustment to make to a fleet's instance count (see FleetCapacity):
      • 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:
    • setScalingAdjustmentType

      public void setScalingAdjustmentType(ScalingAdjustmentType scalingAdjustmentType)

      Type of adjustment to make to a fleet's instance count (see FleetCapacity):

      • 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 - Type of adjustment to make to a fleet's instance count (see FleetCapacity):
      • 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.
      See Also:
    • withScalingAdjustmentType

      public ScalingPolicy withScalingAdjustmentType(ScalingAdjustmentType scalingAdjustmentType)

      Type of adjustment to make to a fleet's instance count (see FleetCapacity):

      • 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 - Type of adjustment to make to a fleet's instance count (see FleetCapacity):
      • 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:
    • setComparisonOperator

      public void setComparisonOperator(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.
      See Also:
    • getComparisonOperator

      public String getComparisonOperator()

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

      Returns:
      Comparison operator to use when measuring a metric against the threshold value.
      See Also:
    • withComparisonOperator

      public ScalingPolicy withComparisonOperator(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:
    • setComparisonOperator

      public void setComparisonOperator(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.
      See Also:
    • withComparisonOperator

      public ScalingPolicy withComparisonOperator(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:
    • setThreshold

      public void setThreshold(Double threshold)

      Metric value used to trigger a scaling event.

      Parameters:
      threshold - Metric value used to trigger a scaling event.
    • getThreshold

      public Double getThreshold()

      Metric value used to trigger a scaling event.

      Returns:
      Metric value used to trigger a scaling event.
    • withThreshold

      public ScalingPolicy withThreshold(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.
    • setEvaluationPeriods

      public void setEvaluationPeriods(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.
    • getEvaluationPeriods

      public Integer getEvaluationPeriods()

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

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

      public ScalingPolicy withEvaluationPeriods(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.
    • setMetricName

      public void setMetricName(String metricName)

      Name of the GameLift-defined metric that is used to trigger an adjustment.

      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.

      Parameters:
      metricName - Name of the GameLift-defined metric that is used to trigger an adjustment.
      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.
      See Also:
    • getMetricName

      public String getMetricName()

      Name of the GameLift-defined metric that is used to trigger an adjustment.

      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.

      Returns:
      Name of the GameLift-defined metric that is used to trigger an adjustment.
      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.
      See Also:
    • withMetricName

      public ScalingPolicy withMetricName(String metricName)

      Name of the GameLift-defined metric that is used to trigger an adjustment.

      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.

      Parameters:
      metricName - Name of the GameLift-defined metric that is used to trigger an adjustment.
      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • setMetricName

      public void setMetricName(MetricName metricName)

      Name of the GameLift-defined metric that is used to trigger an adjustment.

      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.

      Parameters:
      metricName - Name of the GameLift-defined metric that is used to trigger an adjustment.
      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.
      See Also:
    • withMetricName

      public ScalingPolicy withMetricName(MetricName metricName)

      Name of the GameLift-defined metric that is used to trigger an adjustment.

      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.

      Parameters:
      metricName - Name of the GameLift-defined metric that is used to trigger an adjustment.
      • ActivatingGameSessions: number of game sessions in the process of being created (game session status = ACTIVATING).
      • ActiveGameSessions: number of game sessions currently running (game session status = ACTIVE).
      • CurrentPlayerSessions: number of active or reserved player sessions (player session status = ACTIVE or RESERVED).
      • AvailablePlayerSessions: number of player session slots currently available in active game sessions across the fleet, calculated by subtracting a game session's current player session count from its maximum player session count. This number does include game sessions that are not currently accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
      • ActiveInstances: number of instances currently running a game session.
      • IdleInstances: number of instances not currently running a game session.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • toString

      public String toString()
      Returns a string representation of this object; useful for testing and debugging.
      Overrides:
      toString in class Object
      Returns:
      A string representation of this object.
      See Also:
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • clone

      public ScalingPolicy clone()
      Overrides:
      clone in class Object