class Aws::GameLift::Types::ScalingPolicy

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

**Related actions**

DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits | PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions | StartFleetActions | [All APIs by task]

[1]: docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets

@!attribute [rw] fleet_id

A unique identifier for the fleet that is associated with this
scaling policy.
@return [String]

@!attribute [rw] fleet_arn

The Amazon Resource Name ([ARN][1]) that is assigned to a 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`.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
@return [String]

@!attribute [rw] name

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

@!attribute [rw] 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 (see StopFleetActions; if suspended
for a fleet, the policy status does not change. View a fleet's
stopped actions by calling DescribeFleetCapacity.

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

@!attribute [rw] comparison_operator

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

@!attribute [rw] threshold

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

@!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]

@!attribute [rw] update_status

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

@!attribute [rw] location

@return [String]

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

Constants

SENSITIVE