GameLift / Client / suspend_game_server_group

suspend_game_server_group#

GameLift.Client.suspend_game_server_group(**kwargs)#

This operation is used with the GameLift FleetIQ solution and game server groups.

Temporarily stops activity on a game server group without terminating instances or the game server group. You can restart activity by calling ResumeGameServerGroup. You can suspend the following activity:

  • Instance type replacement - This activity evaluates the current game hosting viability of all Spot instance types that are defined for the game server group. It updates the Auto Scaling group to remove nonviable Spot Instance types, which have a higher chance of game server interruptions. It then balances capacity across the remaining viable Spot Instance types. When this activity is suspended, the Auto Scaling group continues with its current balance, regardless of viability. Instance protection, utilization metrics, and capacity scaling activities continue to be active.

To suspend activity, specify a game server group ARN and the type of activity to be suspended. If successful, a GameServerGroup object is returned showing that the activity is listed in SuspendedActions.

Learn more

GameLift FleetIQ Guide

See also: AWS API Documentation

Request Syntax

response = client.suspend_game_server_group(
    GameServerGroupName='string',
    SuspendActions=[
        'REPLACE_INSTANCE_TYPES',
    ]
)
Parameters:
  • GameServerGroupName (string) –

    [REQUIRED]

    A unique identifier for the game server group. Use either the name or ARN value.

  • SuspendActions (list) –

    [REQUIRED]

    The activity to suspend for this game server group.

    • (string) –

Return type:

dict

Returns:

Response Syntax

{
    'GameServerGroup': {
        'GameServerGroupName': 'string',
        'GameServerGroupArn': 'string',
        'RoleArn': 'string',
        'InstanceDefinitions': [
            {
                'InstanceType': 'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'c5.large'|'c5.xlarge'|'c5.2xlarge'|'c5.4xlarge'|'c5.9xlarge'|'c5.12xlarge'|'c5.18xlarge'|'c5.24xlarge'|'c5a.large'|'c5a.xlarge'|'c5a.2xlarge'|'c5a.4xlarge'|'c5a.8xlarge'|'c5a.12xlarge'|'c5a.16xlarge'|'c5a.24xlarge'|'c6g.medium'|'c6g.large'|'c6g.xlarge'|'c6g.2xlarge'|'c6g.4xlarge'|'c6g.8xlarge'|'c6g.12xlarge'|'c6g.16xlarge'|'r4.large'|'r4.xlarge'|'r4.2xlarge'|'r4.4xlarge'|'r4.8xlarge'|'r4.16xlarge'|'r5.large'|'r5.xlarge'|'r5.2xlarge'|'r5.4xlarge'|'r5.8xlarge'|'r5.12xlarge'|'r5.16xlarge'|'r5.24xlarge'|'r5a.large'|'r5a.xlarge'|'r5a.2xlarge'|'r5a.4xlarge'|'r5a.8xlarge'|'r5a.12xlarge'|'r5a.16xlarge'|'r5a.24xlarge'|'r6g.medium'|'r6g.large'|'r6g.xlarge'|'r6g.2xlarge'|'r6g.4xlarge'|'r6g.8xlarge'|'r6g.12xlarge'|'r6g.16xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge'|'m5.large'|'m5.xlarge'|'m5.2xlarge'|'m5.4xlarge'|'m5.8xlarge'|'m5.12xlarge'|'m5.16xlarge'|'m5.24xlarge'|'m5a.large'|'m5a.xlarge'|'m5a.2xlarge'|'m5a.4xlarge'|'m5a.8xlarge'|'m5a.12xlarge'|'m5a.16xlarge'|'m5a.24xlarge'|'m6g.medium'|'m6g.large'|'m6g.xlarge'|'m6g.2xlarge'|'m6g.4xlarge'|'m6g.8xlarge'|'m6g.12xlarge'|'m6g.16xlarge',
                'WeightedCapacity': 'string'
            },
        ],
        'BalancingStrategy': 'SPOT_ONLY'|'SPOT_PREFERRED'|'ON_DEMAND_ONLY',
        'GameServerProtectionPolicy': 'NO_PROTECTION'|'FULL_PROTECTION',
        'AutoScalingGroupArn': 'string',
        'Status': 'NEW'|'ACTIVATING'|'ACTIVE'|'DELETE_SCHEDULED'|'DELETING'|'DELETED'|'ERROR',
        'StatusReason': 'string',
        'SuspendedActions': [
            'REPLACE_INSTANCE_TYPES',
        ],
        'CreationTime': datetime(2015, 1, 1),
        'LastUpdatedTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) –

    • GameServerGroup (dict) –

      An object that describes the game server group resource, with the SuspendedActions property updated to reflect the suspended activity.

      • GameServerGroupName (string) –

        A developer-defined identifier for the game server group. The name is unique for each Region in each Amazon Web Services account.

      • GameServerGroupArn (string) –

        A generated unique ID for the game server group.

      • RoleArn (string) –

        The Amazon Resource Name ( ARN) for an IAM role that allows Amazon GameLift to access your Amazon EC2 Auto Scaling groups.

      • InstanceDefinitions (list) –

        The set of Amazon EC2 instance types that GameLift FleetIQ can use when balancing and automatically scaling instances in the corresponding Auto Scaling group.

        • (dict) –

          This data type is used with the GameLift FleetIQ and game server groups.

          An allowed instance type for a game server group. All game server groups must have at least two instance types defined for it. GameLift FleetIQ periodically evaluates each defined instance type for viability. It then updates the Auto Scaling group with the list of viable instance types.

          • InstanceType (string) –

            An Amazon EC2 instance type designation.

          • WeightedCapacity (string) –

            Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the instance type’s cost per unit hour and better identify the most cost-effective options. For detailed information on weighting instance capacity, see Instance Weighting in the Amazon Elastic Compute Cloud Auto Scaling User Guide. Default value is “1”.

      • BalancingStrategy (string) –

        Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand Instances in the game server group. Method options include the following:

        • SPOT_ONLY - Only Spot Instances are used in the game server group. If Spot Instances are unavailable or not viable for game hosting, the game server group provides no hosting capacity until Spot Instances can again be used. Until then, no new instances are started, and the existing nonviable Spot Instances are terminated (after current gameplay ends) and are not replaced.

        • SPOT_PREFERRED - (default value) Spot Instances are used whenever available in the game server group. If Spot Instances are unavailable, the game server group continues to provide hosting capacity by falling back to On-Demand Instances. Existing nonviable Spot Instances are terminated (after current gameplay ends) and are replaced with new On-Demand Instances.

        • ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server group. No Spot Instances are used, even when available, while this balancing strategy is in force.

      • GameServerProtectionPolicy (string) –

        A flag that indicates whether instances in the game server group are protected from early termination. Unprotected instances that have active game servers running might be terminated during a scale-down event, causing players to be dropped from the game. Protected instances cannot be terminated while there are active game servers running except in the event of a forced game server group deletion (see ). An exception to this is with Spot Instances, which can be terminated by Amazon Web Services regardless of protection status.

      • AutoScalingGroupArn (string) –

        A generated unique ID for the Amazon EC2 Auto Scaling group that is associated with this game server group.

      • Status (string) –

        The current status of the game server group. Possible statuses include:

        • NEW - GameLift FleetIQ has validated the CreateGameServerGroup() request.

        • ACTIVATING - GameLift FleetIQ is setting up a game server group, which includes creating an Auto Scaling group in your Amazon Web Services account.

        • ACTIVE - The game server group has been successfully created.

        • DELETE_SCHEDULED - A request to delete the game server group has been received.

        • DELETING - GameLift FleetIQ has received a valid DeleteGameServerGroup() request and is processing it. GameLift FleetIQ must first complete and release hosts before it deletes the Auto Scaling group and the game server group.

        • DELETED - The game server group has been successfully deleted.

        • ERROR - The asynchronous processes of activating or deleting a game server group has failed, resulting in an error state.

      • StatusReason (string) –

        Additional information about the current game server group status. This information might provide additional insight on groups that are in ERROR status.

      • SuspendedActions (list) –

        A list of activities that are currently suspended for this game server group. If this property is empty, all activities are occurring.

        • (string) –

      • CreationTime (datetime) –

        A time stamp indicating when this data object was created. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

      • LastUpdatedTime (datetime) –

        A timestamp that indicates when this game server group was last updated.

Exceptions

  • GameLift.Client.exceptions.InvalidRequestException

  • GameLift.Client.exceptions.NotFoundException

  • GameLift.Client.exceptions.UnauthorizedException

  • GameLift.Client.exceptions.InternalServiceException