class Aws::GameLift::Types::PutScalingPolicyInput

Represents the input for a request operation.

@note When making an API call, you may pass PutScalingPolicyInput

data as a hash:

    {
      name: "NonZeroAndMaxString", # required
      fleet_id: "FleetIdOrArn", # required
      scaling_adjustment: 1,
      scaling_adjustment_type: "ChangeInCapacity", # accepts ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
      threshold: 1.0,
      comparison_operator: "GreaterThanOrEqualToThreshold", # accepts GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold
      evaluation_periods: 1,
      metric_name: "ActivatingGameSessions", # required, accepts ActivatingGameSessions, ActiveGameSessions, ActiveInstances, AvailableGameSessions, AvailablePlayerSessions, CurrentPlayerSessions, IdleInstances, PercentAvailableGameSessions, PercentIdleInstances, QueueDepth, WaitTime
      policy_type: "RuleBased", # accepts RuleBased, TargetBased
      target_configuration: {
        target_value: 1.0, # required
      },
    }

@!attribute [rw] name

A descriptive label that is associated with a fleet's scaling
policy. Policy names do not need to be unique. A fleet can have only
one scaling policy with the same name.
@return [String]

@!attribute [rw] fleet_id

A unique identifier for the fleet to apply this policy to. You can
use either the fleet ID or ARN value. The fleet cannot be in any of
the following statuses: ERROR or DELETING.
@return [String]

@!attribute [rw] scaling_adjustment

Amount of adjustment to make, based on the scaling adjustment type.
@return [Integer]

@!attribute [rw] scaling_adjustment_type

The 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; for
  example, a value of "-10" scales the fleet down by 10%.
@return [String]

@!attribute [rw] threshold

Metric value used to trigger a scaling event.
@return [Float]

@!attribute [rw] comparison_operator

Comparison operator to use when measuring the metric against the
threshold value.
@return [String]

@!attribute [rw] evaluation_periods

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

@!attribute [rw] metric_name

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][1].

* **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.

[1]: https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html
@return [String]

@!attribute [rw] policy_type

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*.
@return [String]

@!attribute [rw] target_configuration

An object that contains settings for a target-based scaling policy.
@return [Types::TargetConfiguration]

@see docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicyInput AWS API Documentation

Constants

SENSITIVE