PutScalingPolicyInput
public struct PutScalingPolicyInput : AWSShape
Undocumented
-
Declaration
Swift
public static var _members: [AWSShapeMember]
-
Comparison operator to use when measuring the metric against the threshold value.
Declaration
Swift
public let comparisonOperator: ComparisonOperatorType?
-
Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered.
Declaration
Swift
public let evaluationPeriods: Int?
-
A unique identifier for a 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.
Declaration
Swift
public let fleetId: String
-
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.
Declaration
Swift
public let metricName: MetricName
-
A descriptive label that is associated with a scaling policy. Policy names do not need to be unique. A fleet can have only one scaling policy with the same name.
Declaration
Swift
public let name: String
-
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.
Declaration
Swift
public let policyType: PolicyType?
-
Amount of adjustment to make, based on the scaling adjustment type.
Declaration
Swift
public let scalingAdjustment: Int?
-
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%.
Declaration
Swift
public let scalingAdjustmentType: ScalingAdjustmentType?
-
The settings for a target-based scaling policy.
Declaration
Swift
public let targetConfiguration: TargetConfiguration?
-
Metric value used to trigger a scaling event.
Declaration
Swift
public let threshold: Double?
-
init(comparisonOperator:evaluationPeriods:fleetId:metricName:name:policyType:scalingAdjustment:scalingAdjustmentType:targetConfiguration:threshold:)
Undocumented
Declaration
Swift
public init(comparisonOperator: ComparisonOperatorType? = nil, evaluationPeriods: Int? = nil, fleetId: String, metricName: MetricName, name: String, policyType: PolicyType? = nil, scalingAdjustment: Int? = nil, scalingAdjustmentType: ScalingAdjustmentType? = nil, targetConfiguration: TargetConfiguration? = nil, threshold: Double? = nil)
-
Declaration
Swift
public func validate(name: String) throws