GameLift / Client / update_fleet_capacity

update_fleet_capacity#

GameLift.Client.update_fleet_capacity(**kwargs)#

Updates capacity settings for a managed EC2 fleet or managed container fleet. For these fleets, you adjust capacity by changing the number of instances in the fleet. Fleet capacity determines the number of game sessions and players that the fleet can host based on its configuration. For fleets with multiple locations, use this operation to manage capacity settings in each location individually.

Use this operation to set these fleet capacity properties:

  • Minimum/maximum size: Set hard limits on the number of Amazon EC2 instances allowed. If Amazon GameLift receives a request–either through manual update or automatic scaling–it won’t change the capacity to a value outside of this range.

  • Desired capacity: As an alternative to automatic scaling, manually set the number of Amazon EC2 instances to be maintained. Before changing a fleet’s desired capacity, check the maximum capacity of the fleet’s Amazon EC2 instance type by calling DescribeEC2InstanceLimits.

To update capacity for a fleet’s home Region, or if the fleet has no remote locations, omit the Location parameter. The fleet must be in ACTIVE status.

To update capacity for a fleet’s remote location, set the Location parameter to the location to update. The location must be in ACTIVE status.

If successful, Amazon GameLift updates the capacity settings and returns the identifiers for the updated fleet and/or location. If a requested change to desired capacity exceeds the instance type’s limit, the LimitExceeded exception occurs.

Updates often prompt an immediate change in fleet capacity, such as when current capacity is different than the new desired capacity or outside the new limits. In this scenario, Amazon GameLift automatically initiates steps to add or remove instances in the fleet location. You can track a fleet’s current capacity by calling DescribeFleetCapacity or DescribeFleetLocationCapacity.

Learn more

Scaling fleet capacity

See also: AWS API Documentation

Request Syntax

response = client.update_fleet_capacity(
    FleetId='string',
    DesiredInstances=123,
    MinSize=123,
    MaxSize=123,
    Location='string'
)
Parameters:
  • FleetId (string) –

    [REQUIRED]

    A unique identifier for the fleet to update capacity settings for. You can use either the fleet ID or ARN value.

  • DesiredInstances (integer) – The number of Amazon EC2 instances you want to maintain in the specified fleet location. This value must fall between the minimum and maximum size limits. Changes in desired instance value can take up to 1 minute to be reflected when viewing the fleet’s capacity settings.

  • MinSize (integer) – The minimum number of instances that are allowed in the specified fleet location. If this parameter is not set, the default is 0.

  • MaxSize (integer) – The maximum number of instances that are allowed in the specified fleet location. If this parameter is not set, the default is 1.

  • Location (string) – The name of a remote location to update fleet capacity settings for, in the form of an Amazon Web Services Region code such as us-west-2.

Return type:

dict

Returns:

Response Syntax

{
    'FleetId': 'string',
    'FleetArn': 'string',
    'Location': 'string'
}

Response Structure

  • (dict) –

    • FleetId (string) –

      A unique identifier for the fleet that was updated.

    • FleetArn (string) –

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

    • Location (string) –

      The remote location being updated, expressed as an Amazon Web Services Region code, such as us-west-2.

Exceptions

  • GameLift.Client.exceptions.NotFoundException

  • GameLift.Client.exceptions.ConflictException

  • GameLift.Client.exceptions.LimitExceededException

  • GameLift.Client.exceptions.InvalidFleetStatusException

  • GameLift.Client.exceptions.InternalServiceException

  • GameLift.Client.exceptions.InvalidRequestException

  • GameLift.Client.exceptions.UnauthorizedException

  • GameLift.Client.exceptions.UnsupportedRegionException