2016/02/09 - Amazon GameLift - 31 new api methods
Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the permissions you want to update. List the permissions you want to add in InboundPermissionAuthorizations , and permissions you want to remove in InboundPermissionRevocations . Permissions to be removed must match existing fleet permissions. If successful, the fleet ID for the updated fleet is returned.
Request Syntax
client.update_fleet_port_settings( FleetId='string', InboundPermissionAuthorizations=[ { 'FromPort': 123, 'ToPort': 123, 'IpRange': 'string', 'Protocol': 'TCP'|'UDP' }, ], InboundPermissionRevocations=[ { 'FromPort': 123, 'ToPort': 123, 'IpRange': 'string', 'Protocol': 'TCP'|'UDP' }, ] )
string
[REQUIRED]
Unique identifier for the fleet you want to update port settings for.
list
Collection of port settings to be added to the fleet record.
(dict) --
IP addresses and port settings used to limit access by incoming traffic (players) to a fleet. Permissions specify a range of IP addresses and port settings that must be used to gain access to a game server on a fleet machine.
FromPort (integer) -- [REQUIRED]
Starting value for a range of allowed port numbers.
ToPort (integer) -- [REQUIRED]
Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort .
IpRange (string) -- [REQUIRED]
Range of allowed IP addresses. This value must be expressed in CIDR notation . Example: "000.000.000.000/[subnet mask] " or optionally the shortened version "0.0.0.0/[subnet mask] ".
Protocol (string) -- [REQUIRED]
Network communication protocol used by the fleet.
list
Collection of port settings to be removed from the fleet record.
(dict) --
IP addresses and port settings used to limit access by incoming traffic (players) to a fleet. Permissions specify a range of IP addresses and port settings that must be used to gain access to a game server on a fleet machine.
FromPort (integer) -- [REQUIRED]
Starting value for a range of allowed port numbers.
ToPort (integer) -- [REQUIRED]
Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort .
IpRange (string) -- [REQUIRED]
Range of allowed IP addresses. This value must be expressed in CIDR notation . Example: "000.000.000.000/[subnet mask] " or optionally the shortened version "0.0.0.0/[subnet mask] ".
Protocol (string) -- [REQUIRED]
Network communication protocol used by the fleet.
dict
Response Syntax
{ 'FleetId': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetId (string) --
Unique identifier for the updated fleet.
Retrieves the fleet ID that a specified alias is currently pointing to.
Request Syntax
client.resolve_alias( AliasId='string' )
string
[REQUIRED]
Unique identifier for the alias you want to resolve.
dict
Response Syntax
{ 'FleetId': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetId (string) --
Fleet ID associated with the requested alias.
Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If successful, the updated alias record is returned.
Request Syntax
client.update_alias( AliasId='string', Name='string', Description='string', RoutingStrategy={ 'Type': 'SIMPLE'|'TERMINAL', 'FleetId': 'string', 'Message': 'string' } )
string
[REQUIRED]
Unique identifier for a fleet alias. Specify the alias you want to update.
string
Descriptive label associated with this alias. Alias names do not need to be unique.
string
Human-readable description of the alias.
dict
Object specifying the fleet and routing type to use for the alias.
Type (string) --
Type of routing strategy. Possible routing types include:
SIMPLE: The alias resolves to one specific fleet. Use this type when routing to active fleets.
TERMINAL: The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.
FleetId (string) --
Unique identifier for a fleet.
Message (string) --
Message text to be used with a terminal routing strategy.
dict
Response Syntax
{ 'Alias': { 'AliasId': 'string', 'Name': 'string', 'Description': 'string', 'RoutingStrategy': { 'Type': 'SIMPLE'|'TERMINAL', 'FleetId': 'string', 'Message': 'string' }, 'CreationTime': datetime(2015, 1, 1), 'LastUpdatedTime': datetime(2015, 1, 1) } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Alias (dict) --
Object containing the updated alias configuration.
AliasId (string) --
Unique identifier for a fleet alias.
Name (string) --
Descriptive label associated with this alias. Alias names do not need to be unique.
Description (string) --
Human-readable description of the alias.
RoutingStrategy (dict) --
Routing configuration for a fleet alias.
Type (string) --
Type of routing strategy. Possible routing types include:
SIMPLE: The alias resolves to one specific fleet. Use this type when routing to active fleets.
TERMINAL: The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.
FleetId (string) --
Unique identifier for a fleet.
Message (string) --
Message text to be used with a terminal routing strategy.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
LastUpdatedTime (datetime) --
Time stamp indicating when this object was last modified. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Initializes a new build record and generates information required to upload a game build to Amazon GameLift. Once the build record has been created and is in an INITIALIZED state, you can upload your game build.
Warning
To create a build, use the CLI command upload-build , which creates a new build record and uploads the build files in one step. (See the Amazon GameLift Developer Guide for more details on the CLI and the upload process.) Call the CreateBuild action only if you have your own Amazon Simple Storage Service (Amazon S3) client and need to manually upload your build files.
To create a new build, optionally specify a build name and version. This metadata is stored with other properties in the build record and is displayed in the GameLift console (but not visible to players). If successful, this action returns the newly created build record along with an Amazon S3 storage location and AWS account credentials. Use the location and credentials to upload your game build.
Request Syntax
client.create_build( Name='string', Version='string' )
string
Descriptive label associated with this build. Build names do not need to be unique. A build name can be changed later using UpdateBuild .
string
Version associated with this build. Version strings do not need to be unique to a build. A build version can be changed later using UpdateBuild .
dict
Response Syntax
{ 'Build': { 'BuildId': 'string', 'Name': 'string', 'Version': 'string', 'Status': 'INITIALIZED'|'READY'|'FAILED', 'SizeOnDisk': 123, 'CreationTime': datetime(2015, 1, 1) }, 'UploadCredentials': { 'AccessKeyId': 'string', 'SecretAccessKey': 'string', 'SessionToken': 'string' }, 'StorageLocation': { 'Bucket': 'string', 'Key': 'string' } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Build (dict) --
Set of properties for the newly created build.
BuildId (string) --
Unique identifier for a build.
Name (string) --
Descriptive label associated with this build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild .
Version (string) --
Version associated with this build. Version strings do not need to be unique to a build. This value can be set using CreateBuild or UpdateBuild .
Status (string) --
Current status of the build. Possible build states include:
INITIALIZED: A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this state. When a build is successfully created, the build state is set to this value.
READY: The game build has been successfully uploaded. You can now create new fleets for this build.
FAILED: The game build upload failed. You cannot create new fleets for this build.
SizeOnDisk (integer) --
File size of the uploaded game build, expressed in bytes. When the build state is INITIALIZED, this value is 0.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
UploadCredentials (dict) --
AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for. If you need to get fresh credentials, call RequestUploadCredentials .
AccessKeyId (string) --
Access key for an AWS account.
SecretAccessKey (string) --
Secret key for an AWS account.
SessionToken (string) --
Token specific to a build ID.
StorageLocation (dict) --
Amazon S3 path and key, identifying where the game build files are stored.
Bucket (string) --
Amazon S3 bucket identifier.
Key (string) --
Amazon S3 bucket key.
Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) you want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to get the maximum capacity based on the fleet's EC2 instance type.
To update fleet capacity, specify the fleet ID and the desired number of instances. If successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the desired instance count. You can view a fleet's current capacity information by calling DescribeFleetCapacity . If the desired instance count is higher than the instance type's limit, the "Limit Exceeded" exception will occur.
Request Syntax
client.update_fleet_capacity( FleetId='string', DesiredInstances=123 )
string
[REQUIRED]
Unique identifier for the fleet you want to update capacity for.
integer
[REQUIRED]
Number of EC2 instances you want this fleet to host.
dict
Response Syntax
{ 'FleetId': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetId (string) --
Unique identifier for the updated fleet.
Deletes a build. This action permanently deletes the build record and any uploaded build files.
To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets, but you can no longer create new fleets for the deleted build.
Request Syntax
client.delete_build( BuildId='string' )
string
[REQUIRED]
Unique identifier for the build you want to delete.
None
Retrieves a collection of fleet records for this AWS account. You can filter the result set by build ID. Use the pagination parameters to retrieve results in sequential pages.
Note
Fleet records are not listed in any particular order.
Request Syntax
client.list_fleets( BuildId='string', Limit=123, NextToken='string' )
string
Unique identifier of the build to return fleets for. Use this parameter to return only fleets using the specified build. To retrieve all fleets, leave this parameter empty.
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.
dict
Response Syntax
{ 'FleetIds': [ 'string', ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetIds (list) --
Set of fleet IDs matching the list request. You can retrieve additional information about all returned fleets by passing this result set to a call to DescribeFleetAttributes , DescribeFleetCapacity , and DescribeFleetUtilization .
(string) --
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Retrieves properties for a build. To get a build record, specify a build ID. If successful, an object containing the build properties is returned.
Request Syntax
client.describe_build( BuildId='string' )
string
[REQUIRED]
Unique identifier for the build you want to retrieve properties for.
dict
Response Syntax
{ 'Build': { 'BuildId': 'string', 'Name': 'string', 'Version': 'string', 'Status': 'INITIALIZED'|'READY'|'FAILED', 'SizeOnDisk': 123, 'CreationTime': datetime(2015, 1, 1) } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Build (dict) --
Set of properties describing the requested build.
BuildId (string) --
Unique identifier for a build.
Name (string) --
Descriptive label associated with this build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild .
Version (string) --
Version associated with this build. Version strings do not need to be unique to a build. This value can be set using CreateBuild or UpdateBuild .
Status (string) --
Current status of the build. Possible build states include:
INITIALIZED: A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this state. When a build is successfully created, the build state is set to this value.
READY: The game build has been successfully uploaded. You can now create new fleets for this build.
FAILED: The game build upload failed. You cannot create new fleets for this build.
SizeOnDisk (integer) --
File size of the uploaded game build, expressed in bytes. When the build state is INITIALIZED, this value is 0.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a PlayerSessionId parameter to request properties for a specific player session; (2) provide a GameSessionId parameter to request properties for all player sessions in the specified game session; (3) provide a PlayerId parameter to request properties for all player sessions of a specified player.
To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a player ID. You can filter this request by player session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a PlayerSession object is returned for each session matching the request.
Request Syntax
client.describe_player_sessions( GameSessionId='string', PlayerId='string', PlayerSessionId='string', PlayerSessionStatusFilter='string', Limit=123, NextToken='string' )
string
Unique identifier for a game session.
string
Unique identifier for a player.
string
Unique identifier for a player session.
string
Player session status to filter results on. Possible player session states include:
RESERVED: The player session request has been received, but the player has not yet connected to the game server and/or been validated.
ACTIVE: The player has been validated by the game server and is currently connected.
COMPLETED: The player connection has been dropped.
TIMEDOUT: A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages. If a player session ID is specified, this parameter is ignored.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. If a player session ID is specified, this parameter is ignored.
dict
Response Syntax
{ 'PlayerSessions': [ { 'PlayerSessionId': 'string', 'PlayerId': 'string', 'GameSessionId': 'string', 'FleetId': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'Status': 'RESERVED'|'ACTIVE'|'COMPLETED'|'TIMEDOUT', 'IpAddress': 'string' }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
PlayerSessions (list) --
Collection of objects containing properties for each player session that matches the request.
(dict) --
Properties describing a player session.
PlayerSessionId (string) --
Unique identifier for a player session.
PlayerId (string) --
Unique identifier for a player.
GameSessionId (string) --
Unique identifier for a game session.
FleetId (string) --
Unique identifier for a fleet.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Status (string) --
Current status of the player session. Possible player session states include:
RESERVED: The player session request has been received, but the player has not yet connected to the game server and/or been validated.
ACTIVE: The player has been validated by the game server and is currently connected.
COMPLETED: The player connection has been dropped.
TIMEDOUT: A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).
IpAddress (string) --
Game session IP address. All player sessions reference the game session location.
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Adds a player to a game session and creates a player session record. A game session must be in an ACTIVE state, have a creation policy of ALLOW_ALL, and have an open player slot before players can be added to the session.
To create a player session, specify a game session ID and player ID. If successful, the player is added to the game session and a new PlayerSession object is returned.
Request Syntax
client.create_player_session( GameSessionId='string', PlayerId='string' )
string
[REQUIRED]
Unique identifier for a game session. Specify the game session you want to add a player to.
string
[REQUIRED]
Unique identifier for the player to be added.
dict
Response Syntax
{ 'PlayerSession': { 'PlayerSessionId': 'string', 'PlayerId': 'string', 'GameSessionId': 'string', 'FleetId': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'Status': 'RESERVED'|'ACTIVE'|'COMPLETED'|'TIMEDOUT', 'IpAddress': 'string' } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
PlayerSession (dict) --
Object containing the newly created player session record.
PlayerSessionId (string) --
Unique identifier for a player session.
PlayerId (string) --
Unique identifier for a player.
GameSessionId (string) --
Unique identifier for a game session.
FleetId (string) --
Unique identifier for a fleet.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Status (string) --
Current status of the player session. Possible player session states include:
RESERVED: The player session request has been received, but the player has not yet connected to the game server and/or been validated.
ACTIVE: The player has been validated by the game server and is currently connected.
COMPLETED: The player connection has been dropped.
TIMEDOUT: A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).
IpAddress (string) --
Game session IP address. All player sessions reference the game session location.
Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID and the property values you want to change. If successful, the fleet ID for the updated fleet is returned.
Request Syntax
client.update_fleet_attributes( FleetId='string', Name='string', Description='string' )
string
[REQUIRED]
Unique identifier for the fleet you want to update attribute metadata for.
string
Descriptive label associated with this fleet. Fleet names do not need to be unique.
string
Human-readable description of the fleet.
dict
Response Syntax
{ 'FleetId': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetId (string) --
Unique identifier for the updated fleet.
Deletes an alias. This action removes all record of the alias; game clients attempting to access a game server using the deleted alias receive an error. To delete an alias, specify the alias ID to be deleted.
Request Syntax
client.delete_alias( AliasId='string' )
string
[REQUIRED]
Unique identifier for a fleet alias. Specify the alias you want to delete.
None
Retrieves the maximum number of instances allowed, per AWS account, for each specified EC2 instance type. The current usage level for the AWS account is also retrieved.
Request Syntax
client.describe_ec2_instance_limits( EC2InstanceType='t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge' )
string
Type of EC2 instances used in the fleet. EC2 instance types define the CPU, memory, storage, and networking capacity of the fleetaposs hosts. Amazon GameLift supports the EC2 instance types listed below. See Amazon EC2 Instance Types for detailed descriptions of each. Leave this parameter blank to retrieve limits for all types.
dict
Response Syntax
{ 'EC2InstanceLimits': [ { 'EC2InstanceType': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge', 'CurrentInstances': 123, 'InstanceLimit': 123 }, ] }
Response Structure
(dict) --
Represents the returned data in response to a request action.
EC2InstanceLimits (list) --
Object containing the maximum number of instances for the specified instance type.
(dict) --
Maximum number of instances allowed based on the Amazon Elastic Compute Cloud (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits .
EC2InstanceType (string) --
Type of EC2 instances used in the fleet. EC2 instance types define the CPU, memory, storage, and networking capacity of the fleetaposs hosts. Amazon GameLift supports the EC2 instance types listed below. See Amazon EC2 Instance Types for detailed descriptions of each.
CurrentInstances (integer) --
Number of instances of the specified type that are currently in use by this AWS account.
InstanceLimit (integer) --
Number of instances allowed.
Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to zero. See UpdateFleetCapacity .
This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use that fleet.
Request Syntax
client.delete_fleet( FleetId='string' )
string
[REQUIRED]
Unique identifier for the fleet you want to delete.
None
Retrieves fleet properties, including metadata, status, and configuration, for one or more fleets. You can request attributes for all fleets, or specify a list of one or more fleet IDs. When requesting all fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetAttributes object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.
Note
Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.
Request Syntax
client.describe_fleet_attributes( FleetIds=[ 'string', ], Limit=123, NextToken='string' )
list
Unique identifiers for the fleet(s) that you want to retrieve attributes for. Leave this parameter empty to retrieve attributes for all fleets.
(string) --
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.
dict
Response Syntax
{ 'FleetAttributes': [ { 'FleetId': 'string', 'Description': 'string', 'Name': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'Status': 'NEW'|'DOWNLOADING'|'VALIDATING'|'BUILDING'|'ACTIVATING'|'ACTIVE'|'DELETING'|'ERROR'|'TERMINATED', 'BuildId': 'string', 'ServerLaunchPath': 'string', 'ServerLaunchParameters': 'string', 'LogPaths': [ 'string', ] }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetAttributes (list) --
Collection of objects containing attribute metadata for each requested fleet ID.
(dict) --
General properties describing a fleet.
FleetId (string) --
Unique identifier for a fleet.
Description (string) --
Human-readable description of the fleet.
Name (string) --
Descriptive label associated with this fleet. Fleet names do not need to be unique.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Status (string) --
Current status of the fleet. Possible fleet states include:
NEW: A new fleet has been defined and hosts allocated.
DOWNLOADING/VALIDATING/BUILDING/ACTIVATING: The new fleet is being set up with the game build, and new hosts are being started.
ACTIVE: Hosts can now accept game sessions.
ERROR: An error occurred when downloading, validating, building, or activating the fleet.
DELETING: Hosts are responding to a delete fleet request.
TERMINATED: The fleet no longer exists.
BuildId (string) --
Unique identifier for a build.
ServerLaunchPath (string) --
Path to the launch executable for the game server. A game server is built into a C:\game drive. This value must be expressed as C:\game\[launchpath] . Example: If, when built, your game server files are in a folder called "MyGame", your log path should be C:\game\MyGame\server.exe .
ServerLaunchParameters (string) --
Parameters required to launch your game server. These parameters should be expressed as a string of command-line parameters. Example: "+sv_port 33435 +start_lobby".
LogPaths (list) --
Path to game-session log files generated by your game server. Once a game session has been terminated, Amazon GameLift captures and stores the logs on Amazon S3. Use the GameLift console to access the stored logs.
(string) --
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Retrieves the current status of fleet capacity for one or more fleets. This information includes the number of instances that have been requested for the fleet and the number currently active. You can request capacity for all fleets, or specify a list of one or more fleet IDs. When requesting all fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetCapacity object is returned for each requested fleet ID. When specifying a list of fleet IDs, attribute objects are returned only for fleets that currently exist.
Note
Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.
Request Syntax
client.describe_fleet_capacity( FleetIds=[ 'string', ], Limit=123, NextToken='string' )
list
Unique identifier for the fleet(s) you want to retrieve capacity information for.
(string) --
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.
dict
Response Syntax
{ 'FleetCapacity': [ { 'FleetId': 'string', 'InstanceType': 't2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge', 'InstanceCounts': { 'DESIRED': 123, 'PENDING': 123, 'ACTIVE': 123, 'TERMINATING': 123 } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetCapacity (list) --
Collection of objects containing capacity information for each requested fleet ID. Leave this parameter empty to retrieve capacity information for all fleets.
(dict) --
Information about the fleet's capacity. Fleet capacity is measured in EC2 instances. By default, new fleets have a capacity of one instance, but can be updated as needed. The maximum number of instances for a fleet is determined by the fleet's instance type.
FleetId (string) --
Unique identifier for a fleet.
InstanceType (string) --
Type of EC2 instances used in the fleet. EC2 instance types define the CPU, memory, storage, and networking capacity of the fleetaposs hosts. Amazon GameLift supports the EC2 instance types listed below. See Amazon EC2 Instance Types for detailed descriptions of each.
InstanceCounts (dict) --
Current status of fleet capacity.
DESIRED (integer) --
Ideal number of active instances in the fleet.
PENDING (integer) --
Number of instances in the fleet that are starting but not yet active.
ACTIVE (integer) --
Actual number of active instances in the fleet.
TERMINATING (integer) --
Number of instances in the fleet that are no longer active but haven't yet been terminated.
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Retrieves a collection of alias records for this AWS account. You can filter the result set by alias name and/or routing strategy type. Use the pagination parameters to retrieve results in sequential pages.
Note
Aliases are not listed in any particular order.
Request Syntax
client.list_aliases( RoutingStrategyType='SIMPLE'|'TERMINAL', Name='string', Limit=123, NextToken='string' )
string
Type of routing to filter results on. Use this parameter to retrieve only aliases of a certain type. To retrieve all aliases, leave this parameter empty. Possible routing types include:
SIMPLE: The alias resolves to one specific fleet. Use this type when routing to active fleets.
TERMINAL: The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.
string
Descriptive label associated with this alias. Alias names do not need to be unique.
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.
dict
Response Syntax
{ 'Aliases': [ { 'AliasId': 'string', 'Name': 'string', 'Description': 'string', 'RoutingStrategy': { 'Type': 'SIMPLE'|'TERMINAL', 'FleetId': 'string', 'Message': 'string' }, 'CreationTime': datetime(2015, 1, 1), 'LastUpdatedTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Aliases (list) --
Collection of alias records that match the list request.
(dict) --
Properties describing a fleet alias.
AliasId (string) --
Unique identifier for a fleet alias.
Name (string) --
Descriptive label associated with this alias. Alias names do not need to be unique.
Description (string) --
Human-readable description of the alias.
RoutingStrategy (dict) --
Routing configuration for a fleet alias.
Type (string) --
Type of routing strategy. Possible routing types include:
SIMPLE: The alias resolves to one specific fleet. Use this type when routing to active fleets.
TERMINAL: The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.
FleetId (string) --
Unique identifier for a fleet.
Message (string) --
Message text to be used with a terminal routing strategy.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
LastUpdatedTime (datetime) --
Time stamp indicating when this object was last modified. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Retrieves the location of stored game session logs for a specified game session. When a game session is terminated, Amazon GameLift automatically stores the logs in Amazon S3. Use this URL to download the logs.
Note
See the AWS Service Limits page for maximum log file sizes. Log files that exceed this limit are not saved.
Request Syntax
client.get_game_session_log_url( GameSessionId='string' )
string
[REQUIRED]
Unique identifier for a game session. Specify the game session you want to get logs for.
dict
Response Syntax
{ 'PreSignedUrl': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
PreSignedUrl (string) --
Location of the requested game session logs, available for download.
Retrieves properties for a specified alias. To get the alias, specify an alias ID. If successful, an Alias object is returned.
Request Syntax
client.describe_alias( AliasId='string' )
string
[REQUIRED]
Unique identifier for a fleet alias. Specify the alias you want to retrieve.
dict
Response Syntax
{ 'Alias': { 'AliasId': 'string', 'Name': 'string', 'Description': 'string', 'RoutingStrategy': { 'Type': 'SIMPLE'|'TERMINAL', 'FleetId': 'string', 'Message': 'string' }, 'CreationTime': datetime(2015, 1, 1), 'LastUpdatedTime': datetime(2015, 1, 1) } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Alias (dict) --
Object containing the requested alias.
AliasId (string) --
Unique identifier for a fleet alias.
Name (string) --
Descriptive label associated with this alias. Alias names do not need to be unique.
Description (string) --
Human-readable description of the alias.
RoutingStrategy (dict) --
Routing configuration for a fleet alias.
Type (string) --
Type of routing strategy. Possible routing types include:
SIMPLE: The alias resolves to one specific fleet. Use this type when routing to active fleets.
TERMINAL: The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.
FleetId (string) --
Unique identifier for a fleet.
Message (string) --
Message text to be used with a terminal routing strategy.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
LastUpdatedTime (datetime) --
Time stamp indicating when this object was last modified. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Updates game session properties. This includes the session name, maximum player count and the player session creation policy, which either allows or denies new players from joining the session. To update a game session, specify the game session ID and the values you want to change. If successful, an updated GameSession object is returned.
Request Syntax
client.update_game_session( GameSessionId='string', MaximumPlayerSessionCount=123, Name='string', PlayerSessionCreationPolicy='ACCEPT_ALL'|'DENY_ALL' )
string
[REQUIRED]
Unique identifier for a game session. Specify the game session you want to update.
integer
Maximum number of players that can be simultaneously connected to the game session.
string
Descriptive label associated with this game session. Session names do not need to be unique.
string
Policy determining whether or not the game session accepts new players.
dict
Response Syntax
{ 'GameSession': { 'GameSessionId': 'string', 'Name': 'string', 'FleetId': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'CurrentPlayerSessionCount': 123, 'MaximumPlayerSessionCount': 123, 'Status': 'ACTIVE'|'ACTIVATING'|'TERMINATED'|'TERMINATING', 'GameProperties': [ { 'Key': 'string', 'Value': 'string' }, ], 'IpAddress': 'string', 'PlayerSessionCreationPolicy': 'ACCEPT_ALL'|'DENY_ALL' } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
GameSession (dict) --
Object containing the updated game session metadata.
GameSessionId (string) --
Unique identifier for a game session.
Name (string) --
Descriptive label associated with this game session. Session names do not need to be unique.
FleetId (string) --
Unique identifier for a fleet.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
CurrentPlayerSessionCount (integer) --
Number of players currently in the game session.
MaximumPlayerSessionCount (integer) --
Maximum number of players allowed in the game session.
Status (string) --
Current status of the game session. A game session must be in an ACTIVE state to have player sessions.
GameProperties (list) --
Set of custom properties for the game session.
(dict) --
Set of key-value pairs containing information your game server requires to set up sessions. This object allows you to pass in any set of data needed for your game. For more information, see the Amazon GameLift Developer Guide .
Key (string) --
Value (string) --
IpAddress (string) --
IP address of the game session.
PlayerSessionCreationPolicy (string) --
Indicates whether or not the game session is accepting new players.
Retrieves build records for all builds associated with an AWS account. You can filter the result set by build status. Use the pagination parameters to retrieve results in a set of sequential pages.
Note
Build records are not listed in any particular order.
Request Syntax
client.list_builds( Status='INITIALIZED'|'READY'|'FAILED', Limit=123, NextToken='string' )
string
Build state to filter results on. Use this parameter to retrieve builds in a certain state. To retrieve all builds, leave this parameter empty. Possible build states include:
INITIALIZED: A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this state. When a build is successfully created, the build state is set to this value.
READY: The game build has been successfully uploaded. You can now create new fleets for this build.
FAILED: The game build upload failed. You cannot create new fleets for this build.
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.
dict
Response Syntax
{ 'Builds': [ { 'BuildId': 'string', 'Name': 'string', 'Version': 'string', 'Status': 'INITIALIZED'|'READY'|'FAILED', 'SizeOnDisk': 123, 'CreationTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Builds (list) --
Collection of build records that match the request.
(dict) --
Properties describing a game build.
BuildId (string) --
Unique identifier for a build.
Name (string) --
Descriptive label associated with this build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild .
Version (string) --
Version associated with this build. Version strings do not need to be unique to a build. This value can be set using CreateBuild or UpdateBuild .
Status (string) --
Current status of the build. Possible build states include:
INITIALIZED: A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this state. When a build is successfully created, the build state is set to this value.
READY: The game build has been successfully uploaded. You can now create new fleets for this build.
FAILED: The game build upload failed. You cannot create new fleets for this build.
SizeOnDisk (integer) --
File size of the uploaded game build, expressed in bytes. When the build state is INITIALIZED, this value is 0.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Retrieves properties for one or more game sessions. This action can be used in several ways: (1) provide a GameSessionId parameter to request properties for a specific game session; (2) provide a FleetId or AliasId parameter to request properties for all game sessions running on a fleet.
To get game session record(s), specify only one of the following: game session ID, fleet ID, or alias ID. You can filter this request by game session status. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a GameSession object is returned for each session matching the request.
Request Syntax
client.describe_game_sessions( FleetId='string', GameSessionId='string', AliasId='string', StatusFilter='string', Limit=123, NextToken='string' )
string
Unique identifier for a fleet. Specify a fleet to retrieve information on all game sessions active on the fleet.
string
Unique identifier for a game session. Specify the game session to retrieve information on.
string
Unique identifier for a fleet alias. Specify an alias to retrieve information on all game sessions active on the fleet.
string
Game session status to filter results on. Possible game session states include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are transitory).
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.
dict
Response Syntax
{ 'GameSessions': [ { 'GameSessionId': 'string', 'Name': 'string', 'FleetId': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'CurrentPlayerSessionCount': 123, 'MaximumPlayerSessionCount': 123, 'Status': 'ACTIVE'|'ACTIVATING'|'TERMINATED'|'TERMINATING', 'GameProperties': [ { 'Key': 'string', 'Value': 'string' }, ], 'IpAddress': 'string', 'PlayerSessionCreationPolicy': 'ACCEPT_ALL'|'DENY_ALL' }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
GameSessions (list) --
Collection of objects containing game session properties for each session matching the request.
(dict) --
Properties describing a game session.
GameSessionId (string) --
Unique identifier for a game session.
Name (string) --
Descriptive label associated with this game session. Session names do not need to be unique.
FleetId (string) --
Unique identifier for a fleet.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
CurrentPlayerSessionCount (integer) --
Number of players currently in the game session.
MaximumPlayerSessionCount (integer) --
Maximum number of players allowed in the game session.
Status (string) --
Current status of the game session. A game session must be in an ACTIVE state to have player sessions.
GameProperties (list) --
Set of custom properties for the game session.
(dict) --
Set of key-value pairs containing information your game server requires to set up sessions. This object allows you to pass in any set of data needed for your game. For more information, see the Amazon GameLift Developer Guide .
Key (string) --
Value (string) --
IpAddress (string) --
IP address of the game session.
PlayerSessionCreationPolicy (string) --
Indicates whether or not the game session is accepting new players.
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Updates metadata in a build record, including the build name and version. To update the metadata, specify the build ID to update and provide the new values. If successful, a build object containing the updated metadata is returned.
Request Syntax
client.update_build( BuildId='string', Name='string', Version='string' )
string
[REQUIRED]
Unique identifier for the build you want to update.
string
Descriptive label associated with this build. Build names do not need to be unique.
string
Version associated with this build. Version strings do not need to be unique to a build.
dict
Response Syntax
{ 'Build': { 'BuildId': 'string', 'Name': 'string', 'Version': 'string', 'Status': 'INITIALIZED'|'READY'|'FAILED', 'SizeOnDisk': 123, 'CreationTime': datetime(2015, 1, 1) } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Build (dict) --
Object containing the updated build record.
BuildId (string) --
Unique identifier for a build.
Name (string) --
Descriptive label associated with this build. Build names do not need to be unique. It can be set using CreateBuild or UpdateBuild .
Version (string) --
Version associated with this build. Version strings do not need to be unique to a build. This value can be set using CreateBuild or UpdateBuild .
Status (string) --
Current status of the build. Possible build states include:
INITIALIZED: A new build has been defined, but no files have been uploaded. You cannot create fleets for builds that are in this state. When a build is successfully created, the build state is set to this value.
READY: The game build has been successfully uploaded. You can now create new fleets for this build.
FAILED: The game build upload failed. You cannot create new fleets for this build.
SizeOnDisk (integer) --
File size of the uploaded game build, expressed in bytes. When the build state is INITIALIZED, this value is 0.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Creates an alias for a fleet. You can use an alias to anonymize your fleet by referencing an alias instead of a specific fleet when you create game sessions. Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. Use a simple alias to point to an active fleet. Use a terminal alias to display a message to incoming traffic instead of routing players to an active fleet. This option is useful when a game server is no longer supported but you want to provide better messaging than a standard 404 error.
To create a fleet alias, specify an alias name, routing strategy, and optional description. If successful, a new alias record is returned, including an alias ID, which you can reference when creating a game session. To reassign the alias to another fleet ID, call UpdateAlias .
Request Syntax
client.create_alias( Name='string', Description='string', RoutingStrategy={ 'Type': 'SIMPLE'|'TERMINAL', 'FleetId': 'string', 'Message': 'string' } )
string
[REQUIRED]
Descriptive label associated with this alias. Alias names do not need to be unique.
string
Human-readable description of the alias.
dict
Object specifying the fleet and routing type to use for the alias.
Type (string) --
Type of routing strategy. Possible routing types include:
SIMPLE: The alias resolves to one specific fleet. Use this type when routing to active fleets.
TERMINAL: The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.
FleetId (string) --
Unique identifier for a fleet.
Message (string) --
Message text to be used with a terminal routing strategy.
dict
Response Syntax
{ 'Alias': { 'AliasId': 'string', 'Name': 'string', 'Description': 'string', 'RoutingStrategy': { 'Type': 'SIMPLE'|'TERMINAL', 'FleetId': 'string', 'Message': 'string' }, 'CreationTime': datetime(2015, 1, 1), 'LastUpdatedTime': datetime(2015, 1, 1) } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Alias (dict) --
Object containing the newly created alias record.
AliasId (string) --
Unique identifier for a fleet alias.
Name (string) --
Descriptive label associated with this alias. Alias names do not need to be unique.
Description (string) --
Human-readable description of the alias.
RoutingStrategy (dict) --
Routing configuration for a fleet alias.
Type (string) --
Type of routing strategy. Possible routing types include:
SIMPLE: The alias resolves to one specific fleet. Use this type when routing to active fleets.
TERMINAL: The alias does not resolve to a fleet but instead can be used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException with the RoutingStrategy message embedded.
FleetId (string) --
Unique identifier for a fleet.
Message (string) --
Message text to be used with a terminal routing strategy.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
LastUpdatedTime (datetime) --
Time stamp indicating when this object was last modified. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Adds a group of players to a game session. Similar to CreatePlayerSession , this action allows you to add multiple players in a single call, which is useful for games that provide party and/or matchmaking features. A game session must be in an ACTIVE state, have a creation policy of ALLOW_ALL, and have an open player slot before players can be added to the session.
To create player sessions, specify a game session ID and a list of player IDs. If successful, the players are added to the game session and a set of new PlayerSession objects is returned.
Request Syntax
client.create_player_sessions( GameSessionId='string', PlayerIds=[ 'string', ] )
string
[REQUIRED]
Unique identifier for a game session.
list
[REQUIRED]
List of unique identifiers for the players to be added.
(string) --
dict
Response Syntax
{ 'PlayerSessions': [ { 'PlayerSessionId': 'string', 'PlayerId': 'string', 'GameSessionId': 'string', 'FleetId': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'Status': 'RESERVED'|'ACTIVE'|'COMPLETED'|'TIMEDOUT', 'IpAddress': 'string' }, ] }
Response Structure
(dict) --
Represents the returned data in response to a request action.
PlayerSessions (list) --
Collection of player session objects created for the added players.
(dict) --
Properties describing a player session.
PlayerSessionId (string) --
Unique identifier for a player session.
PlayerId (string) --
Unique identifier for a player.
GameSessionId (string) --
Unique identifier for a game session.
FleetId (string) --
Unique identifier for a fleet.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Status (string) --
Current status of the player session. Possible player session states include:
RESERVED: The player session request has been received, but the player has not yet connected to the game server and/or been validated.
ACTIVE: The player has been validated by the game server and is currently connected.
COMPLETED: The player connection has been dropped.
TIMEDOUT: A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).
IpAddress (string) --
Game session IP address. All player sessions reference the game session location.
Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. Valid credentials are required to upload your game build files to Amazon S3.
Warning
Call this action only if you need credentials for a build created with CreateBuild . This is a rare situation; in most cases, builds are created using the CLI command upload-build , which creates a build record and also uploads build files.
Upload credentials are returned when you create the build, but they have a limited lifespan. You can get fresh credentials and use them to re-upload game files until the state of that build changes to READY. Once this happens, you must create a brand new build.
Request Syntax
client.request_upload_credentials( BuildId='string' )
string
[REQUIRED]
Unique identifier for the build you want to get credentials for.
dict
Response Syntax
{ 'UploadCredentials': { 'AccessKeyId': 'string', 'SecretAccessKey': 'string', 'SessionToken': 'string' }, 'StorageLocation': { 'Bucket': 'string', 'Key': 'string' } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
UploadCredentials (dict) --
AWS credentials required when uploading a game build to the storage location. These credentials have a limited lifespan and are valid only for the build they were issued for.
AccessKeyId (string) --
Access key for an AWS account.
SecretAccessKey (string) --
Secret key for an AWS account.
SessionToken (string) --
Token specific to a build ID.
StorageLocation (dict) --
Amazon S3 path and key, identifying where the game build files are stored.
Bucket (string) --
Amazon S3 bucket identifier.
Key (string) --
Amazon S3 bucket key.
Retrieves entries from the fleet event log. You can specify a time range to limit the result set. Use the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event log entries matching the request are returned.
Request Syntax
client.describe_fleet_events( FleetId='string', StartTime=datetime(2015, 1, 1), EndTime=datetime(2015, 1, 1), Limit=123, NextToken='string' )
string
[REQUIRED]
Unique identifier for the fleet to get event logs for.
datetime
Earliest date to retrieve event logs for. If no start time is specified, this call returns entries starting from when the fleet was created to the specified end time. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
datetime
Most recent date to retrieve event logs for. If no end time is specified, this call returns entries from the specified start time up to the present. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value.
dict
Response Syntax
{ 'Events': [ { 'EventId': 'string', 'ResourceId': 'string', 'EventCode': 'GENERIC_EVENT'|'FLEET_CREATED'|'FLEET_DELETED'|'FLEET_SCALING_EVENT'|'FLEET_STATE_DOWNLOADING'|'FLEET_STATE_VALIDATING'|'FLEET_STATE_BUILDING'|'FLEET_STATE_ACTIVATING'|'FLEET_STATE_ACTIVE'|'FLEET_STATE_ERROR'|'FLEET_INITIALIZATION_FAILED'|'FLEET_BINARY_DOWNLOAD_FAILED'|'FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND'|'FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE'|'FLEET_VALIDATION_TIMED_OUT'|'FLEET_ACTIVATION_FAILED'|'FLEET_ACTIVATION_FAILED_NO_INSTANCES', 'Message': 'string', 'EventTime': datetime(2015, 1, 1) }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
Events (list) --
Collection of objects containing event log entries for the specified fleet.
(dict) --
Log entry describing an event involving an Amazon GameLift resource (such as a fleet).
EventId (string) --
Unique identifier for a fleet event.
ResourceId (string) --
Unique identifier for the resource, such as a fleet ID.
EventCode (string) --
Type of event being logged.
Message (string) --
Additional information related to the event.
EventTime (datetime) --
Time stamp indicating when this event occurred. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Retrieves utilization statistics for one or more fleets. You can request utilization data for all fleets, or specify a list of one or more fleet IDs. When requesting all fleets, use the pagination parameters to retrieve results as a set of sequential pages. If successful, a FleetUtilization object is returned for each requested fleet ID. When specifying a list of fleet IDs, utilization objects are returned only for fleets that currently exist.
Note
Some API actions may limit the number of fleet IDs allowed in one request. If a request exceeds this limit, the request fails and the error message includes the maximum allowed.
Request Syntax
client.describe_fleet_utilization( FleetIds=[ 'string', ], Limit=123, NextToken='string' )
list
Unique identifier for the fleet(s) you want to retrieve utilization data for. Leave this parameter empty to retrieve utilization data for all fleets.
(string) --
integer
Maximum number of results to return. You can use this parameter with NextToken to get results as a set of sequential pages. This parameter is ignored when the request specifies one or a list of fleet IDs.
string
Token indicating the start of the next sequential page of results. Use the token that is returned with a previous call to this action. To specify the start of the result set, do not specify a value. This parameter is ignored when the request specifies one or a list of fleet IDs.
dict
Response Syntax
{ 'FleetUtilization': [ { 'FleetId': 'string', 'ActiveGameSessionCount': 123, 'CurrentPlayerSessionCount': 123, 'MaximumPlayerSessionCount': 123 }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetUtilization (list) --
Collection of objects containing utilization information for each requested fleet ID.
(dict) --
Current status of fleet utilization, including the number of game and player sessions being hosted.
FleetId (string) --
Unique identifier for a fleet.
ActiveGameSessionCount (integer) --
Number of active game sessions currently being hosted on fleet game servers.
CurrentPlayerSessionCount (integer) --
Number of active player sessions currently being hosted on fleet game servers.
MaximumPlayerSessionCount (integer) --
Maximum players allowed across all game sessions currently hosted in the fleet.
NextToken (string) --
Token indicating where to resume retrieving results on the next call to this action. If no token is returned, these results represent the end of the list.
Note
If a request has a limit that exactly matches the number of remaining results, a token is returned even though there are no more results to retrieve.
Creates a multiplayer game session for players. This action creates a game session record and assigns the new session to an instance in the specified fleet, which activates the server initialization process in your game server. A fleet must be in an ACTIVE state before a game session can be created for it.
To create a game session, specify either a fleet ID or an alias ID and indicate the maximum number of players the game session allows. You can also provide a name and a set of properties for your game (optional). If successful, a GameSession object is returned containing session properties, including an IP address. By default, newly created game sessions are set to accept adding any new players to the game session. Use UpdateGameSession to change the creation policy.
Request Syntax
client.create_game_session( FleetId='string', AliasId='string', MaximumPlayerSessionCount=123, Name='string', GameProperties=[ { 'Key': 'string', 'Value': 'string' }, ] )
string
Unique identifier for a fleet. Each request must reference either a fleet ID or alias ID, but not both.
string
Unique identifier for a fleet alias. Each request must reference either a fleet ID or alias ID, but not both.
integer
[REQUIRED]
Maximum number of players that can be connected simultaneously to the game session.
string
Descriptive label associated with this game session. Session names do not need to be unique.
list
Set of properties used to administer a game session. These properties are passed to your game server.
(dict) --
Set of key-value pairs containing information your game server requires to set up sessions. This object allows you to pass in any set of data needed for your game. For more information, see the Amazon GameLift Developer Guide .
Key (string) -- [REQUIRED]
Value (string) -- [REQUIRED]
dict
Response Syntax
{ 'GameSession': { 'GameSessionId': 'string', 'Name': 'string', 'FleetId': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'CurrentPlayerSessionCount': 123, 'MaximumPlayerSessionCount': 123, 'Status': 'ACTIVE'|'ACTIVATING'|'TERMINATED'|'TERMINATING', 'GameProperties': [ { 'Key': 'string', 'Value': 'string' }, ], 'IpAddress': 'string', 'PlayerSessionCreationPolicy': 'ACCEPT_ALL'|'DENY_ALL' } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
GameSession (dict) --
Object containing the newly created game session record.
GameSessionId (string) --
Unique identifier for a game session.
Name (string) --
Descriptive label associated with this game session. Session names do not need to be unique.
FleetId (string) --
Unique identifier for a fleet.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
CurrentPlayerSessionCount (integer) --
Number of players currently in the game session.
MaximumPlayerSessionCount (integer) --
Maximum number of players allowed in the game session.
Status (string) --
Current status of the game session. A game session must be in an ACTIVE state to have player sessions.
GameProperties (list) --
Set of custom properties for the game session.
(dict) --
Set of key-value pairs containing information your game server requires to set up sessions. This object allows you to pass in any set of data needed for your game. For more information, see the Amazon GameLift Developer Guide .
Key (string) --
Value (string) --
IpAddress (string) --
IP address of the game session.
PlayerSessionCreationPolicy (string) --
Indicates whether or not the game session is accepting new players.
Creates a new fleet to host game servers. A fleet consists of a set of Amazon Elastic Compute Cloud (Amazon EC2) instances of a certain type, which defines the CPU, memory, storage, and networking capacity of each host in the fleet. See Amazon EC2 Instance Types for more information. Each instance in the fleet hosts a game server created from the specified game build. Once a fleet is in an ACTIVE state, it can begin hosting game sessions.
To create a new fleet, provide a name and the EC2 instance type for the new fleet, and specify the build and server launch path. Builds must be in a READY state before they can be used to build fleets. When configuring the new fleet, you can optionally (1) provide a set of launch parameters to be passed to a game server when activated; (2) limit incoming traffic to a specified range of IP addresses and port numbers; and (3) configure Amazon GameLift to store game session logs by specifying the path to the logs stored in your game server files. If the call is successful, Amazon GameLift performs the following tasks:
Creates a fleet record and sets the state to NEW.
Sets the fleet's capacity to 1 "desired" and 1 "active" EC2 instance count.
Creates an EC2 instance and begins the process of initializing the fleet and activating a game server on the instance.
Begins writing events to the fleet event log, which can be accessed in the GameLift console.
Once a fleet is created, use the following actions to change certain fleet properties (server launch parameters and log paths cannot be changed):
UpdateFleetAttributes -- Update fleet metadata, including name and description.
UpdateFleetCapacity -- Increase or decrease the number of instances you want the fleet to maintain.
UpdateFleetPortSettings -- Change the IP addresses and ports that allow access to incoming traffic.
Request Syntax
client.create_fleet( Name='string', Description='string', BuildId='string', ServerLaunchPath='string', ServerLaunchParameters='string', LogPaths=[ 'string', ], EC2InstanceType='t2.micro'|'t2.small'|'t2.medium'|'t2.large'|'c3.large'|'c3.xlarge'|'c3.2xlarge'|'c3.4xlarge'|'c3.8xlarge'|'c4.large'|'c4.xlarge'|'c4.2xlarge'|'c4.4xlarge'|'c4.8xlarge'|'r3.large'|'r3.xlarge'|'r3.2xlarge'|'r3.4xlarge'|'r3.8xlarge'|'m3.medium'|'m3.large'|'m3.xlarge'|'m3.2xlarge'|'m4.large'|'m4.xlarge'|'m4.2xlarge'|'m4.4xlarge'|'m4.10xlarge', EC2InboundPermissions=[ { 'FromPort': 123, 'ToPort': 123, 'IpRange': 'string', 'Protocol': 'TCP'|'UDP' }, ] )
string
[REQUIRED]
Descriptive label associated with this fleet. Fleet names do not need to be unique.
string
Human-readable description of the fleet.
string
[REQUIRED]
Unique identifier for the build you want the new fleet to use.
string
[REQUIRED]
Path to the launch executable for the game server. A game server is built into a C:\game drive. This value must be expressed as C:\game\[launchpath] . Example: If, when built, your game server files are in a folder called "MyGame", your log path should be C:\game\MyGame\server.exe .
string
Parameters required to launch your game server. These parameters should be expressed as a string of command-line parameters. Example: "+sv_port 33435 +start_lobby".
list
Path to game-session log files generated by your game server. Once a game session has been terminated, Amazon GameLift captures and stores the logs on Amazon S3. Use the GameLift console to access the stored logs.
(string) --
string
[REQUIRED]
Type of EC2 instances used in the fleet. EC2 instance types define the CPU, memory, storage, and networking capacity of the fleetaposs hosts. Amazon GameLift supports the EC2 instance types listed below. See Amazon EC2 Instance Types for detailed descriptions of each.
list
Access limits for incoming traffic. Setting these values limits game server access to incoming traffic using specified IP ranges and port numbers. Some ports in a range may be restricted. You can provide one or more sets of permissions for the fleet.
(dict) --
IP addresses and port settings used to limit access by incoming traffic (players) to a fleet. Permissions specify a range of IP addresses and port settings that must be used to gain access to a game server on a fleet machine.
FromPort (integer) -- [REQUIRED]
Starting value for a range of allowed port numbers.
ToPort (integer) -- [REQUIRED]
Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort .
IpRange (string) -- [REQUIRED]
Range of allowed IP addresses. This value must be expressed in CIDR notation . Example: "000.000.000.000/[subnet mask] " or optionally the shortened version "0.0.0.0/[subnet mask] ".
Protocol (string) -- [REQUIRED]
Network communication protocol used by the fleet.
dict
Response Syntax
{ 'FleetAttributes': { 'FleetId': 'string', 'Description': 'string', 'Name': 'string', 'CreationTime': datetime(2015, 1, 1), 'TerminationTime': datetime(2015, 1, 1), 'Status': 'NEW'|'DOWNLOADING'|'VALIDATING'|'BUILDING'|'ACTIVATING'|'ACTIVE'|'DELETING'|'ERROR'|'TERMINATED', 'BuildId': 'string', 'ServerLaunchPath': 'string', 'ServerLaunchParameters': 'string', 'LogPaths': [ 'string', ] } }
Response Structure
(dict) --
Represents the returned data in response to a request action.
FleetAttributes (dict) --
Properties for the newly created fleet.
FleetId (string) --
Unique identifier for a fleet.
Description (string) --
Human-readable description of the fleet.
Name (string) --
Descriptive label associated with this fleet. Fleet names do not need to be unique.
CreationTime (datetime) --
Time stamp indicating when this object was created. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
TerminationTime (datetime) --
Time stamp indicating when this fleet was terminated. Format is an integer representing the number of seconds since the Unix epoch (Unix time).
Status (string) --
Current status of the fleet. Possible fleet states include:
NEW: A new fleet has been defined and hosts allocated.
DOWNLOADING/VALIDATING/BUILDING/ACTIVATING: The new fleet is being set up with the game build, and new hosts are being started.
ACTIVE: Hosts can now accept game sessions.
ERROR: An error occurred when downloading, validating, building, or activating the fleet.
DELETING: Hosts are responding to a delete fleet request.
TERMINATED: The fleet no longer exists.
BuildId (string) --
Unique identifier for a build.
ServerLaunchPath (string) --
Path to the launch executable for the game server. A game server is built into a C:\game drive. This value must be expressed as C:\game\[launchpath] . Example: If, when built, your game server files are in a folder called "MyGame", your log path should be C:\game\MyGame\server.exe .
ServerLaunchParameters (string) --
Parameters required to launch your game server. These parameters should be expressed as a string of command-line parameters. Example: "+sv_port 33435 +start_lobby".
LogPaths (list) --
Path to game-session log files generated by your game server. Once a game session has been terminated, Amazon GameLift captures and stores the logs on Amazon S3. Use the GameLift console to access the stored logs.
(string) --
Retrieves the port settings for a fleet. Port settings are used to limit incoming traffic access to game servers in the fleet. To get a fleet's port settings, specify a fleet ID. If successful, an IpPermission object is returned for the requested fleet ID. If the requested fleet has been deleted, the result set will be empty.
Request Syntax
client.describe_fleet_port_settings( FleetId='string' )
string
[REQUIRED]
Unique identifier for the fleet you want to retrieve port settings for.
dict
Response Syntax
{ 'InboundPermissions': [ { 'FromPort': 123, 'ToPort': 123, 'IpRange': 'string', 'Protocol': 'TCP'|'UDP' }, ] }
Response Structure
(dict) --
Represents the returned data in response to a request action.
InboundPermissions (list) --
Object containing port settings for the requested fleet ID.
(dict) --
IP addresses and port settings used to limit access by incoming traffic (players) to a fleet. Permissions specify a range of IP addresses and port settings that must be used to gain access to a game server on a fleet machine.
FromPort (integer) --
Starting value for a range of allowed port numbers.
ToPort (integer) --
Ending value for a range of allowed port numbers. Port numbers are end-inclusive. This value must be higher than FromPort .
IpRange (string) --
Range of allowed IP addresses. This value must be expressed in CIDR notation . Example: "000.000.000.000/[subnet mask] " or optionally the shortened version "0.0.0.0/[subnet mask] ".
Protocol (string) --
Network communication protocol used by the fleet.