openapi: 3.0.0 info: version: 2015-10-01 x-release: v4 title: 'Amazon GameLift #X Amz Target=GameLift.AcceptMatch #X Amz Target=GameLift.AcceptMatch #X Amz Target=GameLift.CreateGameServerGroup API' description:
Amazon GameLift provides solutions for hosting session-based multiplayer game servers in the cloud, including tools for deploying, operating, and scaling game servers. Built on Amazon Web Services global computing infrastructure, GameLift helps you deliver high-performance, high-reliability, low-cost game servers while dynamically scaling your resource usage to meet player demand.
About Amazon GameLift solutions
Get more information on these Amazon GameLift solutions in the Amazon GameLift Developer Guide.
Amazon GameLift managed hosting -- Amazon GameLift offers a fully managed service to set up and maintain computing machines for hosting, manage game session and player session life cycle, and handle security, storage, and performance tracking. You can use automatic scaling tools to balance player demand and hosting costs, configure your game session management to minimize player latency, and add FlexMatch for matchmaking.
Managed hosting with Realtime Servers -- With Amazon GameLift Realtime Servers, you can quickly configure and set up ready-to-go game servers for your game. Realtime Servers provides a game server framework with core Amazon GameLift infrastructure already built in. Then use the full range of Amazon GameLift managed hosting features, including FlexMatch, for your game.
Amazon GameLift FleetIQ -- Use Amazon GameLift FleetIQ as a standalone service while hosting your games using EC2 instances and Auto Scaling groups. Amazon GameLift FleetIQ provides optimizations for game hosting, including boosting the viability of low-cost Spot Instances gaming. For a complete solution, pair the Amazon GameLift FleetIQ and FlexMatch standalone services.
Amazon GameLift FlexMatch -- Add matchmaking to your game hosting solution. FlexMatch is a customizable matchmaking service for multiplayer games. Use FlexMatch as integrated with Amazon GameLift managed hosting or incorporate FlexMatch as a standalone service into your own hosting solution.
About this API Reference
This reference guide describes the low-level service API for Amazon GameLift. With each topic in this guide, you can find links to language-specific SDK guides and the Amazon Web Services CLI reference. Useful links:
x-logo: url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png backgroundColor: '#FFFFFF' termsOfService: https://aws.amazon.com/service-terms/ contact: name: Mike Ralphson email: mike.ralphson@gmail.com url: https://github.com/mermade/aws2openapi x-twitter: PermittedSoc license: name: Apache 2.0 License url: http://www.apache.org/licenses/ x-providerName: amazonaws.com x-serviceName: gamelift x-origin: - contentType: application/json url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/gamelift-2015-10-01.normal.json converter: url: https://github.com/mermade/aws2openapi version: 1.0.0 x-apisguru-driver: external x-apiClientRegistration: url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct x-apisguru-categories: - cloud x-preferred: true servers: - url: http://gamelift.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon GameLift multi-region endpoint - url: https://gamelift.{region}.amazonaws.com variables: region: description: The AWS region enum: - us-east-1 - us-east-2 - us-west-1 - us-west-2 - us-gov-west-1 - us-gov-east-1 - ca-central-1 - eu-north-1 - eu-west-1 - eu-west-2 - eu-west-3 - eu-central-1 - eu-south-1 - af-south-1 - ap-northeast-1 - ap-northeast-2 - ap-northeast-3 - ap-southeast-1 - ap-southeast-2 - ap-east-1 - ap-south-1 - sa-east-1 - me-south-1 default: us-east-1 description: The Amazon GameLift multi-region endpoint - url: http://gamelift.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon GameLift endpoint for China (Beijing) and China (Ningxia) - url: https://gamelift.{region}.amazonaws.com.cn variables: region: description: The AWS region enum: - cn-north-1 - cn-northwest-1 default: cn-north-1 description: The Amazon GameLift endpoint for China (Beijing) and China (Ningxia) security: - hmac: [] tags: - name: '#X Amz Target=GameLift.CreateGameServerGroup' paths: /#X-Amz-Target=GameLift.CreateGameServerGroup: parameters: - $ref: '#/components/parameters/X-Amz-Content-Sha256' - $ref: '#/components/parameters/X-Amz-Date' - $ref: '#/components/parameters/X-Amz-Algorithm' - $ref: '#/components/parameters/X-Amz-Credential' - $ref: '#/components/parameters/X-Amz-Security-Token' - $ref: '#/components/parameters/X-Amz-Signature' - $ref: '#/components/parameters/X-Amz-SignedHeaders' post: operationId: CreateGameServerGroup description: 'This operation is used with the Amazon GameLift FleetIQ solution and game server groups.
Creates a Amazon GameLift FleetIQ game server group for managing game hosting on a collection of Amazon Elastic Compute Cloud instances for game hosting. This operation creates the game server group, creates an Auto Scaling group in your Amazon Web Services account, and establishes a link between the two groups. You can view the status of your game server groups in the Amazon GameLift console. Game server group metrics and events are emitted to Amazon CloudWatch.
Before creating a new game server group, you must have the following:
An Amazon Elastic Compute Cloud launch template that specifies how to launch Amazon Elastic Compute Cloud instances with your game server build. For more information, see Launching an Instance from a Launch Template in the Amazon Elastic Compute Cloud User Guide.
An IAM role that extends limited access to your Amazon Web Services account to allow Amazon GameLift FleetIQ to create and interact with the Auto Scaling group. For more information, see Create IAM roles for cross-service interaction in the Amazon GameLift FleetIQ Developer Guide.
To create a new game server group, specify a unique group name, IAM role and Amazon Elastic Compute Cloud launch template, and provide a list of instance types that can be used in the group. You must also set initial maximum and minimum limits on the group''s instance count. You can optionally set an Auto Scaling policy with target tracking based on a Amazon GameLift FleetIQ metric.
Once the game server group and corresponding Auto Scaling group are created, you have full access to change the Auto Scaling group''s configuration as needed. Several properties that are set when creating a game server group, including maximum/minimum size and auto-scaling policy settings, must be updated directly in the Auto Scaling group. Keep in mind that some Auto Scaling group properties are periodically updated by Amazon GameLift FleetIQ as part of its balancing activities to optimize for availability and cost.
Learn more
' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CreateGameServerGroupOutput' examples: CreateGameServerGroup200Example: summary: Default CreateGameServerGroup 200 response x-microcks-default: true value: GameServerGroup: example-value '480': description: InvalidRequestException content: application/json: schema: $ref: '#/components/schemas/InvalidRequestException' examples: CreateGameServerGroup480Example: summary: Default CreateGameServerGroup 480 response x-microcks-default: true value: example-value '481': description: ConflictException content: application/json: schema: $ref: '#/components/schemas/ConflictException' examples: CreateGameServerGroup481Example: summary: Default CreateGameServerGroup 481 response x-microcks-default: true value: example-value '482': description: UnauthorizedException content: application/json: schema: $ref: '#/components/schemas/UnauthorizedException' examples: CreateGameServerGroup482Example: summary: Default CreateGameServerGroup 482 response x-microcks-default: true value: example-value '483': description: InternalServiceException content: application/json: schema: $ref: '#/components/schemas/InternalServiceException' examples: CreateGameServerGroup483Example: summary: Default CreateGameServerGroup 483 response x-microcks-default: true value: example-value '484': description: LimitExceededException content: application/json: schema: $ref: '#/components/schemas/LimitExceededException' examples: CreateGameServerGroup484Example: summary: Default CreateGameServerGroup 484 response x-microcks-default: true value: example-value requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateGameServerGroupInput' parameters: - name: X-Amz-Target in: header required: true schema: type: string enum: - GameLift.CreateGameServerGroup summary: Amazon GameLift Create Game Server Group x-microcks-operation: delay: 0 dispatcher: FALLBACK tags: - '#X Amz Target=GameLift.CreateGameServerGroup' components: schemas: IamRoleArn: type: string pattern: ^arn:.*:role\/[\w+=,.@-]+ minLength: 1 maxLength: 256 ConflictException: {} TargetTrackingConfiguration: type: object required: - TargetValue properties: TargetValue: allOf: - $ref: '#/components/schemas/NonNegativeDouble' - description: 'Desired value to use with a game server group target-based scaling policy. ' description:This data type is used with the Amazon GameLift FleetIQ and game server groups.
Settings for a target-based scaling policy as part of a GameServerGroupAutoScalingPolicy . These settings are used to create a target-based policy that tracks the Amazon GameLift FleetIQ metric "PercentUtilizedGameServers" and specifies a target value for the metric. As player usage changes, the policy triggers to adjust the game server group capacity so that the metric returns to the target value.
This data type is used with the Amazon GameLift FleetIQ and game server groups.
An Amazon Elastic Compute Cloud launch template that contains configuration settings and game server code to be deployed to all instances in a game server group. The launch template is specified when creating a new game server group.
CreateGameServerGroupOutput: type: object properties: GameServerGroup: allOf: - $ref: '#/components/schemas/GameServerGroup' - description: 'The newly created game server group object, including the new ARN value for the Amazon GameLift FleetIQ game server group and the object''s status. The Amazon EC2 Auto Scaling group ARN is initially null, since the group has not yet been created. This value is added once the game server group status reachesACTIVE. '
VpcSubnets:
type: array
items:
$ref: '#/components/schemas/VpcSubnet'
minItems: 1
maxItems: 20
NonNegativeDouble:
type: number
format: double
minimum: 0
NonZeroAndMaxString:
type: string
minLength: 1
maxLength: 1024
LaunchTemplateName:
type: string
pattern: '[a-zA-Z0-9\(\)\.\-/_]+'
minLength: 3
maxLength: 128
GameServerGroupActions:
type: array
items:
$ref: '#/components/schemas/GameServerGroupAction'
minItems: 1
maxItems: 1
WeightedCapacity:
type: string
pattern: ^[\u0031-\u0039][\u0030-\u0039]{0,2}$
minLength: 1
maxLength: 3
InternalServiceException: {}
WholeNumber:
type: integer
minimum: 0
GameServerGroup:
type: object
properties:
GameServerGroupName:
allOf:
- $ref: '#/components/schemas/GameServerGroupName'
- description: A developer-defined identifier for the game server group. The name is unique for each Region in each Amazon Web Services account.
GameServerGroupArn:
allOf:
- $ref: '#/components/schemas/GameServerGroupArn'
- description: A generated unique ID for the game server group.
RoleArn:
allOf:
- $ref: '#/components/schemas/IamRoleArn'
- description: The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your Amazon EC2 Auto Scaling groups.
InstanceDefinitions:
allOf:
- $ref: '#/components/schemas/InstanceDefinitions'
- description: 'The set of Amazon EC2 instance types that Amazon GameLift FleetIQ can use when balancing and automatically scaling instances in the corresponding Auto Scaling group. '
BalancingStrategy:
allOf:
- $ref: '#/components/schemas/BalancingStrategy'
- description: Indicates how Amazon 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.
The current status of the game server group. Possible statuses include:
NEW - Amazon GameLift FleetIQ has validated the CreateGameServerGroup() request.
ACTIVATING - Amazon 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 - Amazon GameLift FleetIQ has received a valid DeleteGameServerGroup() request and is processing it. Amazon 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.
ERROR status.
SuspendedActions:
allOf:
- $ref: '#/components/schemas/GameServerGroupActions'
- description: A list of activities that are currently suspended for this game server group. If this property is empty, all activities are occurring.
CreationTime:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: 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:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: A timestamp that indicates when this game server group was last updated.
description: This data type is used with the Amazon GameLift FleetIQ and game server groups.
Properties that describe a game server group resource. A game server group manages certain properties related to a corresponding Amazon EC2 Auto Scaling group.
A game server group is created by a successful call to CreateGameServerGroup and deleted by calling DeleteGameServerGroup. Game server group activity can be temporarily suspended and resumed by calling SuspendGameServerGroup and ResumeGameServerGroup, respectively.
"PercentUtilizedGameServers" and specifies a target value for the metric. As player usage changes, the policy triggers to adjust the game server group capacity so that the metric returns to the target value. '
description: This data type is used with the Amazon GameLift FleetIQ and game server groups.
Configuration settings for intelligent automatic scaling that uses target tracking. These settings are used to add an Auto Scaling policy when creating the corresponding Auto Scaling group. After the Auto Scaling group is created, all updates to Auto Scaling policies, including changing this policy and adding or removing other policies, is done directly on the Auto Scaling group.
CreateGameServerGroupInput: type: object required: - GameServerGroupName - RoleArn - MinSize - MaxSize - LaunchTemplate - InstanceDefinitions title: CreateGameServerGroupInput properties: GameServerGroupName: allOf: - $ref: '#/components/schemas/GameServerGroupName' - description: An identifier for the new game server group. This value is used to generate unique ARN identifiers for the Amazon EC2 Auto Scaling group and the Amazon GameLift FleetIQ game server group. The name must be unique per Region per Amazon Web Services account. RoleArn: allOf: - $ref: '#/components/schemas/IamRoleArn' - description: The Amazon Resource Name (ARN) for an IAM role that allows Amazon GameLift to access your Amazon EC2 Auto Scaling groups. MinSize: allOf: - $ref: '#/components/schemas/WholeNumber' - description: The minimum number of instances allowed in the Amazon EC2 Auto Scaling group. During automatic scaling events, Amazon GameLift FleetIQ and Amazon EC2 do not scale down the group below this minimum. In production, this value should be set to at least 1. After the Auto Scaling group is created, update this value directly in the Auto Scaling group using the Amazon Web Services console or APIs. MaxSize: allOf: - $ref: '#/components/schemas/PositiveInteger' - description: The maximum number of instances allowed in the Amazon EC2 Auto Scaling group. During automatic scaling events, Amazon GameLift FleetIQ and EC2 do not scale up the group above this maximum. After the Auto Scaling group is created, update this value directly in the Auto Scaling group using the Amazon Web Services console or APIs. LaunchTemplate: allOf: - $ref: '#/components/schemas/LaunchTemplateSpecification' - description:The Amazon EC2 launch template that contains configuration settings and game server code to be deployed to all instances in the game server group. You can specify the template using either the template name or ID. For help with creating a launch template, see Creating a Launch Template for an Auto Scaling Group in the Amazon Elastic Compute Cloud Auto Scaling User Guide. After the Auto Scaling group is created, update this value directly in the Auto Scaling group using the Amazon Web Services console or APIs.
If you specify network interfaces in your launch template, you must explicitly set the property AssociatePublicIpAddress to "true". If no network interface is specified in the launch template, Amazon GameLift FleetIQ uses your account's default VPC.
"PercentUtilizedGameServers" to maintain a buffer of idle game servers that can immediately accommodate new games and players. After the Auto Scaling group is created, update this value directly in the Auto Scaling group using the Amazon Web Services console or APIs.
BalancingStrategy:
allOf:
- $ref: '#/components/schemas/BalancingStrategy'
- description: Indicates how Amazon 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.
NO_PROTECTION by default.
VpcSubnets:
allOf:
- $ref: '#/components/schemas/VpcSubnets'
- description: A list of virtual private cloud (VPC) subnets to use with instances in the game server group. By default, all Amazon GameLift FleetIQ-supported Availability Zones are used. You can use this parameter to specify VPCs that you've set up. This property cannot be updated after the game server group is created, and the corresponding Auto Scaling group will always use the property value that is set with this request, even if the Auto Scaling group is updated directly.
Tags:
allOf:
- $ref: '#/components/schemas/TagList'
- description: A list of labels to assign to the new game server group resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource management, access management, and cost allocation. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.
InvalidRequestException: {}
VpcSubnet:
type: string
pattern: ^subnet-[0-9a-z]+$
minLength: 15
maxLength: 24
LimitExceededException: {}
UnauthorizedException: {}
TagKey:
type: string
minLength: 1
maxLength: 128
Timestamp:
type: string
format: date-time
PositiveInteger:
type: integer
minimum: 1
AutoScalingGroupArn:
type: string
minLength: 0
maxLength: 256
x-pattern: '[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*'
InstanceDefinition:
type: object
required:
- InstanceType
properties:
InstanceType:
allOf:
- $ref: '#/components/schemas/GameServerGroupInstanceType'
- description: An Amazon EC2 instance type designation.
WeightedCapacity:
allOf:
- $ref: '#/components/schemas/WeightedCapacity'
- description: Instance weighting that indicates how much this instance type contributes to the total capacity of a game server group. Instance weights are used by Amazon 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".
description: This data type is used with the Amazon 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. Amazon GameLift FleetIQ periodically evaluates each defined instance type for viability. It then updates the Auto Scaling group with the list of viable instance types.
LaunchTemplateVersion: type: string minLength: 1 maxLength: 128 x-pattern: '[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]\+' TagValue: type: string minLength: 0 maxLength: 256 BalancingStrategy: type: string enum: - SPOT_ONLY - SPOT_PREFERRED - ON_DEMAND_ONLY GameServerGroupStatus: type: string enum: - NEW - ACTIVATING - ACTIVE - DELETE_SCHEDULED - DELETING - DELETED - ERROR GameServerGroupAction: type: string enum: - REPLACE_INSTANCE_TYPES Tag: type: object required: - Key - Value properties: Key: allOf: - $ref: '#/components/schemas/TagKey' - description: 'The key for a developer-defined key value pair for tagging an Amazon Web Services resource. ' Value: allOf: - $ref: '#/components/schemas/TagValue' - description: 'The value for a developer-defined key value pair for tagging an Amazon Web Services resource. ' description:A label that you can assign to a Amazon GameLift resource.
Learn more
Tagging Amazon Web Services Resources in the Amazon Web Services General Reference
Amazon Web Services Tagging Strategies
Related actions
TagList: type: array items: $ref: '#/components/schemas/Tag' minItems: 0 maxItems: 200 parameters: X-Amz-Date: name: X-Amz-Date in: header schema: type: string required: false X-Amz-SignedHeaders: name: X-Amz-SignedHeaders in: header schema: type: string required: false X-Amz-Credential: name: X-Amz-Credential in: header schema: type: string required: false X-Amz-Content-Sha256: name: X-Amz-Content-Sha256 in: header schema: type: string required: false X-Amz-Algorithm: name: X-Amz-Algorithm in: header schema: type: string required: false X-Amz-Signature: name: X-Amz-Signature in: header schema: type: string required: false X-Amz-Security-Token: name: X-Amz-Security-Token in: header schema: type: string required: false securitySchemes: hmac: type: apiKey name: Authorization in: header description: Amazon Signature authorization v4 x-amazon-apigateway-authtype: awsSigv4 externalDocs: description: Amazon Web Services documentation url: https://docs.aws.amazon.com/gamelift/ x-hasEquivalentPaths: true