Amazon GameLift · JSON Structure
Gamelift Put Scaling Policy Input Structure
PutScalingPolicyInput schema from Amazon GameLift API
Type: object
Properties: 10
Required: 3
Cloud ComputingGame ServersGamingMultiplayerMatchmakingFlexMatchFleetIQ
PutScalingPolicyInput is a JSON Structure definition published by Amazon GameLift, describing 10 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
Name
FleetId
ScalingAdjustment
ScalingAdjustmentType
Threshold
ComparisonOperator
EvaluationPeriods
MetricName
PolicyType
TargetConfiguration
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-gamelift/refs/heads/main/json-structure/gamelift-put-scaling-policy-input-structure.json",
"name": "PutScalingPolicyInput",
"description": "PutScalingPolicyInput schema from Amazon GameLift API",
"type": "object",
"properties": {
"Name": {
"allOf": [
{
"$ref": "#/components/schemas/NonZeroAndMaxString"
},
{
"description": "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."
}
]
},
"FleetId": {
"allOf": [
{
"$ref": "#/components/schemas/FleetIdOrArn"
},
{
"description": "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."
}
]
},
"ScalingAdjustment": {
"allOf": [
{
"$ref": "#/components/schemas/Integer"
},
{
"description": "Amount of adjustment to make, based on the scaling adjustment type."
}
]
},
"ScalingAdjustmentType": {
"allOf": [
{
"$ref": "#/components/schemas/ScalingAdjustmentType"
},
{
"description": "<p>The type of adjustment to make to a fleet's instance count:</p> <ul> <li> <p> <b>ChangeInCapacity</b> -- add (or subtract) the scaling adjustment value from the current instance count. Positive values scale up while negative values scale down.</p> </li> <li> <p> <b>ExactCapacity</b> -- set the instance count to the scaling adjustment value.</p> </li> <li> <p> <b>PercentChangeInCapacity</b> -- 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%.</p> </li> </ul>"
}
]
},
"Threshold": {
"allOf": [
{
"$ref": "#/components/schemas/Double"
},
{
"description": "Metric value used to trigger a scaling event."
}
]
},
"ComparisonOperator": {
"allOf": [
{
"$ref": "#/components/schemas/ComparisonOperatorType"
},
{
"description": "Comparison operator to use when measuring the metric against the threshold value."
}
]
},
"EvaluationPeriods": {
"allOf": [
{
"$ref": "#/components/schemas/PositiveInteger"
},
{
"description": "Length of time (in minutes) the metric must be at or beyond the threshold before a scaling event is triggered."
}
]
},
"MetricName": {
"allOf": [
{
"$ref": "#/components/schemas/MetricName"
},
{
"description": "<p>Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For detailed descriptions of fleet metrics, see <a href=\"https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html\">Monitor Amazon GameLift with Amazon CloudWatch</a>. </p> <ul> <li> <p> <b>ActivatingGameSessions</b> -- Game sessions in the process of being created.</p> </li> <li> <p> <b>ActiveGameSessions</b> -- Game sessions that are currently running.</p> </li> <li> <p> <b>ActiveInstances</b> -- Fleet instances that are currently running at least one game session.</p> </li> <li> <p> <b>AvailableGameSessions</b> -- Additional game sessions that fleet could host simultaneously, given current capacity.</p> </li> <li> <p> <b>AvailablePlayerSessions</b> -- Empty player slots in currently active game sessions. This includes game sessions that are not currently accepting players. Reserved player slots are not included.</p> </li> <li> <p> <b>CurrentPlayerSessions</b> -- Player slots in active game sessions that are being used by a player or are reserved for a player. </p> </li> <li> <p> <b>IdleInstances</b> -- Active instances that are currently hosting zero game sessions. </p> </li> <li> <p> <b>PercentAvailableGameSessions</b> -- 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.</p> </li> <li> <p> <b>PercentIdleInstances</b> -- Percentage of the total number of active instances that are hosting zero game sessions.</p> </li> <li> <p> <b>QueueDepth</b> -- Pending game session placement requests, in any queue, where the current fleet is the top-priority destination.</p> </li> <li> <p> <b>WaitTime</b> -- Current wait time for pending game session placement requests, in any queue, where the current fleet is the top-priority destination. </p> </li> </ul>"
}
]
},
"PolicyType": {
"allOf": [
{
"$ref": "#/components/schemas/PolicyType"
},
{
"description": "The type of scaling policy to create. For a target-based policy, set the parameter <i>MetricName</i> to 'PercentAvailableGameSessions' and specify a <i>TargetConfiguration</i>. For a rule-based policy set the following parameters: <i>MetricName</i>, <i>ComparisonOperator</i>, <i>Threshold</i>, <i>EvaluationPeriods</i>, <i>ScalingAdjustmentType</i>, and <i>ScalingAdjustment</i>."
}
]
},
"TargetConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/TargetConfiguration"
},
{
"description": "An object that contains settings for a target-based scaling policy."
}
]
}
},
"required": [
"Name",
"FleetId",
"MetricName"
]
}