/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace GameLift { /** *

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:

*/ class AWS_GAMELIFT_API GameLiftClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* GetServiceName(); static const char* GetAllocationTag(); typedef GameLiftClientConfiguration ClientConfigurationType; typedef GameLiftEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ GameLiftClient(const Aws::GameLift::GameLiftClientConfiguration& clientConfiguration = Aws::GameLift::GameLiftClientConfiguration(), std::shared_ptr endpointProvider = nullptr); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ GameLiftClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = nullptr, const Aws::GameLift::GameLiftClientConfiguration& clientConfiguration = Aws::GameLift::GameLiftClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ GameLiftClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = nullptr, const Aws::GameLift::GameLiftClientConfiguration& clientConfiguration = Aws::GameLift::GameLiftClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ GameLiftClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ GameLiftClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ GameLiftClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~GameLiftClient(); /** *

Registers a player's acceptance or rejection of a proposed FlexMatch match. A * matchmaking configuration may require player acceptance; if so, then matches * built with that configuration cannot be completed unless all players accept the * proposed match within a specified time limit.

When FlexMatch builds a * match, all the matchmaking tickets involved in the proposed match are placed * into status REQUIRES_ACCEPTANCE. This is a trigger for your game to * get acceptance from all players in each ticket. Calls to this action are only * valid for tickets that are in this status; calls for tickets not in this status * result in an error.

To register acceptance, specify the ticket ID, one or * more players, and an acceptance response. When all players have accepted, Amazon * GameLift advances the matchmaking tickets to status PLACING, and * attempts to create a new game session for the match.

If any player * rejects the match, or if acceptances are not received before a specified * timeout, the proposed match is dropped. Each matchmaking ticket in the failed * match is handled as follows:

  • If the ticket has one or more * players who rejected the match or failed to respond, the ticket status is set * CANCELLED and processing is terminated.

  • If all * players in the ticket accepted the match, the ticket status is returned to * SEARCHING to find a new match.

Learn * more

* Add FlexMatch to a game client

* FlexMatch events (reference)

See Also:

AWS * API Reference

*/ virtual Model::AcceptMatchOutcome AcceptMatch(const Model::AcceptMatchRequest& request) const; /** * A Callable wrapper for AcceptMatch that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AcceptMatchOutcomeCallable AcceptMatchCallable(const AcceptMatchRequestT& request) const { return SubmitCallable(&GameLiftClient::AcceptMatch, request); } /** * An Async wrapper for AcceptMatch that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AcceptMatchAsync(const AcceptMatchRequestT& request, const AcceptMatchResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::AcceptMatch, request, handler, context); } /** *

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

Locates an available game server and temporarily * reserves it to host gameplay and players. This operation is called from a game * client or client service (such as a matchmaker) to request hosting resources for * a new game session. In response, Amazon GameLift FleetIQ locates an available * game server, places it in CLAIMED status for 60 seconds, and * returns connection information that players can use to connect to the game * server.

To claim a game server, identify a game server group. You can * also specify a game server ID, although this approach bypasses Amazon GameLift * FleetIQ placement optimization. Optionally, include game data to pass to the * game server at the start of a game session, such as a game map or player * information. Add filter options to further restrict how a game server is chosen, * such as only allowing game servers on ACTIVE instances to be * claimed.

When a game server is successfully claimed, connection * information is returned. A claimed game server's utilization status remains * AVAILABLE while the claim status is set to CLAIMED for * up to 60 seconds. This time period gives the game server time to update its * status to UTILIZED after players join. If the game server's status * is not updated within 60 seconds, the game server reverts to unclaimed status * and is available to be claimed by another request. The claim time period is a * fixed value and is not configurable.

If you try to claim a specific game * server, this request will fail in the following cases:

  • If the * game server utilization status is UTILIZED.

  • If * the game server claim status is CLAIMED.

  • If the * game server is running on an instance in DRAINING status and the * provided filter option does not allow placing on DRAINING * instances.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::ClaimGameServerOutcome ClaimGameServer(const Model::ClaimGameServerRequest& request) const; /** * A Callable wrapper for ClaimGameServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ClaimGameServerOutcomeCallable ClaimGameServerCallable(const ClaimGameServerRequestT& request) const { return SubmitCallable(&GameLiftClient::ClaimGameServer, request); } /** * An Async wrapper for ClaimGameServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ClaimGameServerAsync(const ClaimGameServerRequestT& request, const ClaimGameServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ClaimGameServer, request, handler, context); } /** *

Creates an alias for a fleet. In most situations, you can use an alias ID in * place of a fleet ID. An alias provides a level of abstraction for a fleet that * is useful when redirecting player traffic from one fleet to another, such as * when updating your game build.

Amazon GameLift supports two types of * routing strategies for aliases: simple and terminal. A simple alias points to an * active fleet. A terminal alias is used to display messaging or link to a URL * instead of routing players to an active fleet. For example, you might use a * terminal alias when a game version is no longer supported and you want to direct * players to an upgrade site.

To create a fleet alias, specify an alias * name, routing strategy, and optional description. Each simple alias can point to * only one fleet, but a fleet can have multiple aliases. If successful, a new * alias record is returned, including an alias ID and an ARN. You can reassign an * alias to another fleet by calling UpdateAlias.

Related * actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreateAliasOutcome CreateAlias(const Model::CreateAliasRequest& request) const; /** * A Callable wrapper for CreateAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateAliasOutcomeCallable CreateAliasCallable(const CreateAliasRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateAlias, request); } /** * An Async wrapper for CreateAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateAliasAsync(const CreateAliasRequestT& request, const CreateAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateAlias, request, handler, context); } /** *

Creates an Amazon GameLift build resource for your game server software and * stores the software for deployment to hosting resources. Combine game server * binaries and dependencies into a single .zip file

Use the * CLI command upload-build * to quickly and simply create a new build and upload your game build .zip * file to Amazon GameLift Amazon S3. This helper command eliminates the need to * explicitly manage access permissions.

Alternatively, use the * CreateBuild action for the following scenarios:

  • *

    You want to create a build and upload a game build zip file from in an Amazon * S3 location that you control. In this scenario, you need to give Amazon GameLift * permission to access to the Amazon S3 bucket. With permission in place, call * CreateBuild and specify a build name, the build's runtime operating * system, and the Amazon S3 storage location where the build file is stored.

    *
  • You want to create a build and upload a local game build zip file * to an Amazon S3 location that's controlled by Amazon GameLift. (See the * upload-build CLI command for this scenario.) In this scenario, you * need to request temporary access credentials to the Amazon GameLift Amazon S3 * location. Specify a build name and the build's runtime operating system. The * response provides an Amazon S3 location and a set of temporary access * credentials. Use the credentials to upload your build files to the specified * Amazon S3 location (see Uploading * Objects in the Amazon S3 Developer Guide). You can't update build * files after uploading them to Amazon GameLift Amazon S3.

If * successful, this action creates a new build resource with a unique build ID and * places it in INITIALIZED status. When the build reaches * READY status, you can create fleets with it.

Learn * more

Uploading * Your Game

* Create a Build with Files in Amazon S3

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreateBuildOutcome CreateBuild(const Model::CreateBuildRequest& request = {}) const; /** * A Callable wrapper for CreateBuild that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateBuildOutcomeCallable CreateBuildCallable(const CreateBuildRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::CreateBuild, request); } /** * An Async wrapper for CreateBuild that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateBuildAsync(const CreateBuildResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const CreateBuildRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::CreateBuild, request, handler, context); } /** *

Creates a managed fleet of Amazon Elastic Compute Cloud (Amazon EC2) * instances to host your containerized game servers. Use this operation to define * how to deploy a container architecture onto each fleet instance and configure * fleet settings. You can create a container fleet in any Amazon Web Services * Regions that Amazon GameLift supports for multi-location fleets. A container * fleet can be deployed to a single location or multiple locations. Container * fleets are deployed with Amazon Linux 2023 as the instance operating system.

*

Define the fleet's container architecture using container group definitions. * Each fleet can have one of the following container group types:

  • *

    The game server container group runs your game server build and dependent * software. Amazon GameLift deploys one or more replicas of this container group * to each fleet instance. The number of replicas depends on the computing * capabilities of the fleet instance in use.

  • An optional * per-instance container group might be used to run other software that only needs * to run once per instance, such as background services, logging, or test * processes. One per-instance container group is deployed to each fleet instance. *

Each container group can include the definition for one or * more containers. A container definition specifies a container image that is * stored in an Amazon Elastic Container Registry (Amazon ECR) public or private * repository.

Request options

Use this operation to make * the following types of requests. Most fleet settings have default values, so you * can create a working fleet with a minimal configuration and default values, * which you can customize later.

  • Create a fleet with no container * groups. You can configure a container fleet and then add container group * definitions later. In this scenario, no fleet instances are deployed, and the * fleet can't host game sessions until you add a game server container group * definition. Provide the following required parameter values:

    • * FleetRoleArn

  • Create a fleet with a * game server container group. Provide the following required parameter * values:

    • FleetRoleArn

    • * GameServerContainerGroupDefinitionName

  • *

    Create a fleet with a game server container group and a per-instance * container group. Provide the following required parameter values:

    • *

      FleetRoleArn

    • * GameServerContainerGroupDefinitionName

    • * PerInstanceContainerGroupDefinitionName

  • *

Results

If successful, this operation creates a new * container fleet resource, places it in PENDING status, and * initiates the fleet * creation workflow. For fleets with container groups, this workflow starts a * fleet deployment and transitions the status to ACTIVE. Fleets * without a container group are placed in CREATED status.

You * can update most of the properties of a fleet, including container group * definitions, and deploy the update across all fleet instances. Use a fleet * update to deploy a new game server version update across the container fleet. *

See Also:

AWS * API Reference

*/ virtual Model::CreateContainerFleetOutcome CreateContainerFleet(const Model::CreateContainerFleetRequest& request) const; /** * A Callable wrapper for CreateContainerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContainerFleetOutcomeCallable CreateContainerFleetCallable(const CreateContainerFleetRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateContainerFleet, request); } /** * An Async wrapper for CreateContainerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContainerFleetAsync(const CreateContainerFleetRequestT& request, const CreateContainerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateContainerFleet, request, handler, context); } /** *

Creates a ContainerGroupDefinition that describes a set of * containers for hosting your game server with Amazon GameLift managed containers * hosting. An Amazon GameLift container group is similar to a container task or * pod. Use container group definitions when you create a container fleet with * CreateContainerFleet.

A container group definition determines how * Amazon GameLift deploys your containers to each instance in a container fleet. * You can maintain multiple versions of a container group definition.

There * are two types of container groups:

  • A game server container * group has the containers that run your game server application and * supporting software. A game server container group can have these container * types:

    • Game server container. This container runs your game * server. You can define one game server container in a game server container * group.

    • Support container. This container runs software in * parallel with your game server. You can define up to 8 support containers in a * game server group.

    When building a game server container * group definition, you can choose to bundle your game server executable and all * dependent software into a single game server container. Alternatively, you can * separate the software into one game server container and one or more support * containers.

    On a container fleet instance, a game server container group * can be deployed multiple times (depending on the compute resources of the * instance). This means that all containers in the container group are replicated * together.

  • A per-instance container group has containers * for processes that aren't replicated on a container fleet instance. This might * include background services, logging, test processes, or processes that need to * persist independently of the game server container group. When building a * per-instance container group, you can define up to 10 support containers.

    *

This operation requires Identity and Access Management * (IAM) permissions to access container images in Amazon ECR repositories. See * IAM permissions for Amazon GameLift for help setting the appropriate * permissions.

Request options

Use this operation * to make the following types of requests. You can specify values for the minimum * required parameters and customize optional values later.

  • Create * a game server container group definition. Provide the following required * parameter values:

    • Name

    • * ContainerGroupType (GAME_SERVER)

    • * OperatingSystem (omit to use default value)

    • * TotalMemoryLimitMebibytes (omit to use default value)

    • *
    • TotalVcpuLimit (omit to use default value)

    • *

      At least one GameServerContainerDefinition

      • * ContainerName

      • ImageUrl

      • *
      • PortConfiguration

      • * ServerSdkVersion (omit to use default value)

    • *
  • Create a per-instance container group definition. Provide * the following required parameter values:

    • Name *

    • ContainerGroupType * (PER_INSTANCE)

    • OperatingSystem * (omit to use default value)

    • * TotalMemoryLimitMebibytes (omit to use default value)

    • *
    • TotalVcpuLimit (omit to use default value)

    • *

      At least one SupportContainerDefinition

      • * ContainerName

      • ImageUrl

      • *

Results

If successful, this * request creates a ContainerGroupDefinition resource and assigns a * unique ARN value. You can update most properties of a container group definition * by calling UpdateContainerGroupDefinition, and optionally save the update * as a new version.

See Also:

AWS * API Reference

*/ virtual Model::CreateContainerGroupDefinitionOutcome CreateContainerGroupDefinition(const Model::CreateContainerGroupDefinitionRequest& request) const; /** * A Callable wrapper for CreateContainerGroupDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateContainerGroupDefinitionOutcomeCallable CreateContainerGroupDefinitionCallable(const CreateContainerGroupDefinitionRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateContainerGroupDefinition, request); } /** * An Async wrapper for CreateContainerGroupDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateContainerGroupDefinitionAsync(const CreateContainerGroupDefinitionRequestT& request, const CreateContainerGroupDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateContainerGroupDefinition, request, handler, context); } /** *

Creates a fleet of compute resources to host your game servers. Use this * operation to set up the following types of fleets based on compute type:

*

Managed EC2 fleet

An EC2 fleet is a set of Amazon Elastic * Compute Cloud (Amazon EC2) instances. Your game server build is deployed to each * fleet instance. Amazon GameLift manages the fleet's instances and controls the * lifecycle of game server processes, which host game sessions for players. EC2 * fleets can have instances in multiple locations. Each instance in the fleet is * designated a Compute.

To create an EC2 fleet, provide these * required parameters:

  • Either BuildId or * ScriptId

  • ComputeType set to * EC2 (the default value)

  • * EC2InboundPermissions

  • * EC2InstanceType

  • FleetType

    *
  • Name

  • * RuntimeConfiguration with at least one ServerProcesses * configuration

If successful, this operation creates a new * fleet resource and places it in NEW status while Amazon GameLift * initiates the fleet * creation workflow. To debug your fleet, fetch logs, view performance metrics * or other actions on the fleet, create a development fleet with port 22/3389 * open. As a best practice, we recommend opening ports for remote access only when * you need them and closing them when you're finished.

When the fleet * status is ACTIVE, you can adjust capacity settings and turn autoscaling on/off * for each location.

Anywhere fleet

An Anywhere fleet * represents compute resources that are not owned or managed by Amazon GameLift. * You might create an Anywhere fleet with your local machine for testing, or use * one to host game servers with on-premises hardware or other game hosting * solutions.

To create an Anywhere fleet, provide these required * parameters:

  • ComputeType set to * ANYWHERE

  • Locations specifying a * custom location

  • Name

If * successful, this operation creates a new fleet resource and places it in * ACTIVE status. You can register computes with a fleet in * ACTIVE status.

Learn more

Setting * up fleets

Debug * fleet creation issues

Multi-location * fleets

See Also:

AWS * API Reference

*/ virtual Model::CreateFleetOutcome CreateFleet(const Model::CreateFleetRequest& request) const; /** * A Callable wrapper for CreateFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateFleetOutcomeCallable CreateFleetCallable(const CreateFleetRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateFleet, request); } /** * An Async wrapper for CreateFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateFleetAsync(const CreateFleetRequestT& request, const CreateFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateFleet, request, handler, context); } /** *

Adds remote locations to a managed EC2 fleet or managed container fleet and * begins populating the new locations with instances. The new instances conform to * the fleet's instance type, auto-scaling, and other configuration settings.

*

You can't add remote locations to a fleet that resides in an Amazon * Web Services Region that doesn't support multiple locations. Fleets created * prior to March 2021 can't support multiple locations.

To add * fleet locations, specify the fleet to be updated and provide a list of one or * more locations.

If successful, this operation returns the list of added * locations with their status set to NEW. Amazon GameLift initiates * the process of starting an instance in each added location. You can track the * status of each new location by monitoring location creation events using DescribeFleetEvents.

*

Learn more

Setting * up fleets

Update * fleet locations

* Amazon GameLift service locations for managed hosting.

See * Also:

AWS * API Reference

*/ virtual Model::CreateFleetLocationsOutcome CreateFleetLocations(const Model::CreateFleetLocationsRequest& request) const; /** * A Callable wrapper for CreateFleetLocations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateFleetLocationsOutcomeCallable CreateFleetLocationsCallable(const CreateFleetLocationsRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateFleetLocations, request); } /** * An Async wrapper for CreateFleetLocations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateFleetLocationsAsync(const CreateFleetLocationsRequestT& request, const CreateFleetLocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateFleetLocations, request, handler, context); } /** *

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

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::CreateGameServerGroupOutcome CreateGameServerGroup(const Model::CreateGameServerGroupRequest& request) const; /** * A Callable wrapper for CreateGameServerGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateGameServerGroupOutcomeCallable CreateGameServerGroupCallable(const CreateGameServerGroupRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateGameServerGroup, request); } /** * An Async wrapper for CreateGameServerGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateGameServerGroupAsync(const CreateGameServerGroupRequestT& request, const CreateGameServerGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateGameServerGroup, request, handler, context); } /** *

Creates a multiplayer game session for players in a specific fleet location. * This operation prompts an available server process to start a game session and * retrieves connection information for the new game session. As an alternative, * consider using the Amazon GameLift game session placement feature with StartGameSessionPlacement * , which uses the FleetIQ algorithm and queues to optimize the placement * process.

When creating a game session, you specify exactly where you want * to place it and provide a set of game session configuration settings. The target * fleet must be in ACTIVE status.

You can use this operation * in the following ways:

  • To create a game session on an instance * in a fleet's home Region, provide a fleet or alias ID along with your game * session configuration.

  • To create a game session on an * instance in a fleet's remote location, provide a fleet or alias ID and a * location name, along with your game session configuration.

  • To * create a game session on an instance in an Anywhere fleet, specify the fleet's * custom location.

If successful, Amazon GameLift initiates a * workflow to start a new game session and returns a GameSession * object containing the game session configuration and status. When the game * session status is ACTIVE, it is updated with connection information * and you can create player sessions for the game session. By default, newly * created game sessions are open to new players. You can restrict new player * access by using UpdateGameSession * to change the game session's player session creation policy.

Amazon * GameLift retains logs for active for 14 days. To access the logs, call GetGameSessionLogUrl * to download the log files.

Available in Amazon GameLift Local. *

Learn more

Start * a game session

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreateGameSessionOutcome CreateGameSession(const Model::CreateGameSessionRequest& request) const; /** * A Callable wrapper for CreateGameSession that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateGameSessionOutcomeCallable CreateGameSessionCallable(const CreateGameSessionRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateGameSession, request); } /** * An Async wrapper for CreateGameSession that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateGameSessionAsync(const CreateGameSessionRequestT& request, const CreateGameSessionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateGameSession, request, handler, context); } /** *

Creates a placement queue that processes requests for new game sessions. A * queue uses FleetIQ algorithms to determine the best placement locations and find * an available game server there, then prompts the game server process to start a * new game session.

A game session queue is configured with a set of * destinations (Amazon GameLift fleets or aliases), which determine the locations * where the queue can place new game sessions. These destinations can span * multiple fleet types (Spot and On-Demand), instance types, and Amazon Web * Services Regions. If the queue includes multi-location fleets, the queue is able * to place game sessions in all of a fleet's remote locations. You can opt to * filter out individual locations if needed.

The queue configuration also * determines how FleetIQ selects the best available placement for a new game * session. Before searching for an available game server, FleetIQ first * prioritizes the queue's destinations and locations, with the best placement * locations on top. You can set up the queue to use the FleetIQ default * prioritization or provide an alternate set of priorities.

To create a new * queue, provide a name, timeout value, and a list of destinations. Optionally, * specify a sort configuration and/or a filter, and define a set of latency cap * policies. You can also include the ARN for an Amazon Simple Notification Service * (SNS) topic to receive notifications of game session placement activity. * Notifications using SNS or CloudWatch events is the preferred way to track * placement activity.

If successful, a new GameSessionQueue * object is returned with an assigned queue ARN. New game session requests, which * are submitted to queue with StartGameSessionPlacement * or StartMatchmaking, * reference a queue's name or ARN.

Learn more

* Design a game session queue

* Create a game session queue

Related actions

CreateGameSessionQueue * | DescribeGameSessionQueues * | UpdateGameSessionQueue * | DeleteGameSessionQueue * | All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreateGameSessionQueueOutcome CreateGameSessionQueue(const Model::CreateGameSessionQueueRequest& request) const; /** * A Callable wrapper for CreateGameSessionQueue that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateGameSessionQueueOutcomeCallable CreateGameSessionQueueCallable(const CreateGameSessionQueueRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateGameSessionQueue, request); } /** * An Async wrapper for CreateGameSessionQueue that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateGameSessionQueueAsync(const CreateGameSessionQueueRequestT& request, const CreateGameSessionQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateGameSessionQueue, request, handler, context); } /** *

Creates a custom location for use in an Anywhere fleet.

See * Also:

AWS * API Reference

*/ virtual Model::CreateLocationOutcome CreateLocation(const Model::CreateLocationRequest& request) const; /** * A Callable wrapper for CreateLocation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateLocationOutcomeCallable CreateLocationCallable(const CreateLocationRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateLocation, request); } /** * An Async wrapper for CreateLocation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateLocationAsync(const CreateLocationRequestT& request, const CreateLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateLocation, request, handler, context); } /** *

Defines a new matchmaking configuration for use with FlexMatch. Whether your * are using FlexMatch with Amazon GameLift hosting or as a standalone matchmaking * service, the matchmaking configuration sets out rules for matching players and * forming teams. If you're also using Amazon GameLift hosting, it defines how to * start game sessions for each match. Your matchmaking system can use multiple * configurations to handle different game scenarios. All matchmaking requests * identify the matchmaking configuration to use and provide player attributes * consistent with that configuration.

To create a matchmaking * configuration, you must provide the following: configuration name and FlexMatch * mode (with or without Amazon GameLift hosting); a rule set that specifies how to * evaluate players and find acceptable matches; whether player acceptance is * required; and the maximum time allowed for a matchmaking attempt. When using * FlexMatch with Amazon GameLift hosting, you also need to identify the game * session queue to use when starting a game session for the match.

In * addition, you must set up an Amazon Simple Notification Service topic to receive * matchmaking notifications. Provide the topic ARN in the matchmaking * configuration.

Learn more

* Design a FlexMatch matchmaker

* Set up FlexMatch event notification

See Also:

AWS * API Reference

*/ virtual Model::CreateMatchmakingConfigurationOutcome CreateMatchmakingConfiguration(const Model::CreateMatchmakingConfigurationRequest& request) const; /** * A Callable wrapper for CreateMatchmakingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateMatchmakingConfigurationOutcomeCallable CreateMatchmakingConfigurationCallable(const CreateMatchmakingConfigurationRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateMatchmakingConfiguration, request); } /** * An Async wrapper for CreateMatchmakingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateMatchmakingConfigurationAsync(const CreateMatchmakingConfigurationRequestT& request, const CreateMatchmakingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateMatchmakingConfiguration, request, handler, context); } /** *

Creates a new rule set for FlexMatch matchmaking. A rule set describes the * type of match to create, such as the number and size of teams. It also sets the * parameters for acceptable player matches, such as minimum skill level or * character type.

To create a matchmaking rule set, provide unique rule set * name and the rule set body in JSON format. Rule sets must be defined in the same * Region as the matchmaking configuration they are used with.

Since * matchmaking rule sets cannot be edited, it is a good idea to check the rule set * syntax using ValidateMatchmakingRuleSet * before creating a new rule set.

Learn more

See Also:

AWS * API Reference

*/ virtual Model::CreateMatchmakingRuleSetOutcome CreateMatchmakingRuleSet(const Model::CreateMatchmakingRuleSetRequest& request) const; /** * A Callable wrapper for CreateMatchmakingRuleSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateMatchmakingRuleSetOutcomeCallable CreateMatchmakingRuleSetCallable(const CreateMatchmakingRuleSetRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateMatchmakingRuleSet, request); } /** * An Async wrapper for CreateMatchmakingRuleSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateMatchmakingRuleSetAsync(const CreateMatchmakingRuleSetRequestT& request, const CreateMatchmakingRuleSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateMatchmakingRuleSet, request, handler, context); } /** *

Reserves an open player slot in a game session for a player. New player * sessions can be created in any game session with an open slot that is in * ACTIVE status and has a player creation policy of * ACCEPT_ALL. You can add a group of players to a game session with * CreatePlayerSessions * .

To create a player session, specify a game session ID, player ID, and * optionally a set of player data.

If successful, a slot is reserved in * the game session for the player and a new PlayerSessions object is * returned with a player session ID. The player references the player session ID * when sending a connection request to the game session, and the game server can * use it to validate the player reservation with the Amazon GameLift service. * Player sessions cannot be updated.

The maximum number of players per * game session is 200. It is not adjustable.

Related actions

*

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreatePlayerSessionOutcome CreatePlayerSession(const Model::CreatePlayerSessionRequest& request) const; /** * A Callable wrapper for CreatePlayerSession that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePlayerSessionOutcomeCallable CreatePlayerSessionCallable(const CreatePlayerSessionRequestT& request) const { return SubmitCallable(&GameLiftClient::CreatePlayerSession, request); } /** * An Async wrapper for CreatePlayerSession that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePlayerSessionAsync(const CreatePlayerSessionRequestT& request, const CreatePlayerSessionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreatePlayerSession, request, handler, context); } /** *

Reserves open slots in a game session for a group of players. New player * sessions can be created in any game session with an open slot that is in * ACTIVE status and has a player creation policy of * ACCEPT_ALL. To add a single player to a game session, use CreatePlayerSession *

To create player sessions, specify a game session ID and a list of * player IDs. Optionally, provide a set of player data for each player ID.

*

If successful, a slot is reserved in the game session for each player, and * new PlayerSession objects are returned with player session IDs. * Each player references their player session ID when sending a connection request * to the game session, and the game server can use it to validate the player * reservation with the Amazon GameLift service. Player sessions cannot be * updated.

The maximum number of players per game session is 200. It is not * adjustable.

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreatePlayerSessionsOutcome CreatePlayerSessions(const Model::CreatePlayerSessionsRequest& request) const; /** * A Callable wrapper for CreatePlayerSessions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreatePlayerSessionsOutcomeCallable CreatePlayerSessionsCallable(const CreatePlayerSessionsRequestT& request) const { return SubmitCallable(&GameLiftClient::CreatePlayerSessions, request); } /** * An Async wrapper for CreatePlayerSessions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreatePlayerSessionsAsync(const CreatePlayerSessionsRequestT& request, const CreatePlayerSessionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreatePlayerSessions, request, handler, context); } /** *

Creates a script resource for your Realtime Servers script. Realtime scripts * are JavaScript files that provide configuration settings and optional custom * game logic for your game. Script logic is executed during an active game * session. To deploy Realtime Servers for hosting, create an Amazon GameLift * managed fleet with the script.

To create a script resource, specify a * script name and provide the script file(s). The script files and all * dependencies must be combined into a single .zip file. You can upload the .zip * file from either of these locations:

  • A locally available * directory. Use the ZipFile parameter for this option.

  • *

    An Amazon Simple Storage Service (Amazon S3) bucket under your Amazon Web * Services account. Use the StorageLocation parameter for this option. * You'll need to have an Identity Access Management (IAM) role that allows the * Amazon GameLift service to access your S3 bucket.

If the * call is successful, Amazon GameLift creates a new script resource with a unique * script ID. The script is uploaded to an Amazon S3 bucket that is owned by Amazon * GameLift.

Learn more

Amazon * GameLift Realtime Servers

Set * Up a Role for Amazon GameLift Access

Related actions

*

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreateScriptOutcome CreateScript(const Model::CreateScriptRequest& request = {}) const; /** * A Callable wrapper for CreateScript that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateScriptOutcomeCallable CreateScriptCallable(const CreateScriptRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::CreateScript, request); } /** * An Async wrapper for CreateScript that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateScriptAsync(const CreateScriptResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const CreateScriptRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::CreateScript, request, handler, context); } /** *

Requests authorization to create or delete a peer connection between the VPC * for your Amazon GameLift fleet and a virtual private cloud (VPC) in your Amazon * Web Services account. VPC peering enables the game servers on your fleet to * communicate directly with other Amazon Web Services resources. After you've * received authorization, use CreateVpcPeeringConnection * to establish the peering connection. For more information, see VPC * Peering with Amazon GameLift Fleets.

You can peer with VPCs that are * owned by any Amazon Web Services account you have access to, including the * account that you use to manage your Amazon GameLift fleets. You cannot peer with * VPCs that are in different Regions.

To request authorization to create a * connection, call this operation from the Amazon Web Services account with the * VPC that you want to peer to your Amazon GameLift fleet. For example, to enable * your game servers to retrieve data from a DynamoDB table, use the account that * manages that DynamoDB resource. Identify the following values: (1) The ID of the * VPC that you want to peer with, and (2) the ID of the Amazon Web Services * account that you use to manage Amazon GameLift. If successful, VPC peering is * authorized for the specified VPC.

To request authorization to delete a * connection, call this operation from the Amazon Web Services account with the * VPC that is peered with your Amazon GameLift fleet. Identify the following * values: (1) VPC ID that you want to delete the peering connection for, and (2) * ID of the Amazon Web Services account that you use to manage Amazon GameLift. *

The authorization remains valid for 24 hours unless it is canceled. You * must create or delete the peering connection while the authorization is valid. *

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreateVpcPeeringAuthorizationOutcome CreateVpcPeeringAuthorization(const Model::CreateVpcPeeringAuthorizationRequest& request) const; /** * A Callable wrapper for CreateVpcPeeringAuthorization that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateVpcPeeringAuthorizationOutcomeCallable CreateVpcPeeringAuthorizationCallable(const CreateVpcPeeringAuthorizationRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateVpcPeeringAuthorization, request); } /** * An Async wrapper for CreateVpcPeeringAuthorization that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateVpcPeeringAuthorizationAsync(const CreateVpcPeeringAuthorizationRequestT& request, const CreateVpcPeeringAuthorizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateVpcPeeringAuthorization, request, handler, context); } /** *

Establishes a VPC peering connection between a virtual private cloud (VPC) in * an Amazon Web Services account with the VPC for your Amazon GameLift fleet. VPC * peering enables the game servers on your fleet to communicate directly with * other Amazon Web Services resources. You can peer with VPCs in any Amazon Web * Services account that you have access to, including the account that you use to * manage your Amazon GameLift fleets. You cannot peer with VPCs that are in * different Regions. For more information, see VPC * Peering with Amazon GameLift Fleets.

Before calling this operation to * establish the peering connection, you first need to use CreateVpcPeeringAuthorization * and identify the VPC you want to peer with. Once the authorization for the * specified VPC is issued, you have 24 hours to establish the connection. These * two operations handle all tasks necessary to peer the two VPCs, including * acceptance, updating routing tables, etc.

To establish the connection, * call this operation from the Amazon Web Services account that is used to manage * the Amazon GameLift fleets. Identify the following values: (1) The ID of the * fleet you want to be enable a VPC peering connection for; (2) The Amazon Web * Services account with the VPC that you want to peer with; and (3) The ID of the * VPC you want to peer with. This operation is asynchronous. If successful, a * connection request is created. You can use continuous polling to track the * request's status using DescribeVpcPeeringConnections * , or by monitoring fleet events for success or failure using DescribeFleetEvents * .

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::CreateVpcPeeringConnectionOutcome CreateVpcPeeringConnection(const Model::CreateVpcPeeringConnectionRequest& request) const; /** * A Callable wrapper for CreateVpcPeeringConnection that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateVpcPeeringConnectionOutcomeCallable CreateVpcPeeringConnectionCallable(const CreateVpcPeeringConnectionRequestT& request) const { return SubmitCallable(&GameLiftClient::CreateVpcPeeringConnection, request); } /** * An Async wrapper for CreateVpcPeeringConnection that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateVpcPeeringConnectionAsync(const CreateVpcPeeringConnectionRequestT& request, const CreateVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::CreateVpcPeeringConnection, request, handler, context); } /** *

Deletes an alias. This operation removes all record of the alias. Game * clients attempting to access a server process using the deleted alias receive an * error. To delete an alias, specify the alias ID to be deleted.

* Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DeleteAliasOutcome DeleteAlias(const Model::DeleteAliasRequest& request) const; /** * A Callable wrapper for DeleteAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteAliasOutcomeCallable DeleteAliasCallable(const DeleteAliasRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteAlias, request); } /** * An Async wrapper for DeleteAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteAliasAsync(const DeleteAliasRequestT& request, const DeleteAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteAlias, request, handler, context); } /** *

Deletes a build. This operation permanently deletes the build resource and * any uploaded build files. Deleting a build does not affect the status of any * active fleets using the build, but you can no longer create new fleets with the * deleted build.

To delete a build, specify the build ID.

Learn * more

* Upload a Custom Server Build

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DeleteBuildOutcome DeleteBuild(const Model::DeleteBuildRequest& request) const; /** * A Callable wrapper for DeleteBuild that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteBuildOutcomeCallable DeleteBuildCallable(const DeleteBuildRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteBuild, request); } /** * An Async wrapper for DeleteBuild that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteBuildAsync(const DeleteBuildRequestT& request, const DeleteBuildResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteBuild, request, handler, context); } /** *

Deletes all resources and information related to a container fleet and shuts * down currently running fleet instances, including those in remote locations. The * container fleet must be in ACTIVE status to be deleted.

To * delete a fleet, specify the fleet ID to be terminated. During the deletion * process, the fleet status is changed to DELETING.

Learn * more

Setting * up Amazon GameLift Fleets

See Also:

AWS * API Reference

*/ virtual Model::DeleteContainerFleetOutcome DeleteContainerFleet(const Model::DeleteContainerFleetRequest& request) const; /** * A Callable wrapper for DeleteContainerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContainerFleetOutcomeCallable DeleteContainerFleetCallable(const DeleteContainerFleetRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteContainerFleet, request); } /** * An Async wrapper for DeleteContainerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContainerFleetAsync(const DeleteContainerFleetRequestT& request, const DeleteContainerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteContainerFleet, request, handler, context); } /** *

Deletes a container group definition. You can delete a container group * definition if there are no fleets using the definition.

Request * options:

  • Delete an entire container group definition, * including all versions. Specify the container group definition name, or use an * ARN value without the version number.

  • Delete a particular * version. Specify the container group definition name and a version number, or * use an ARN value that includes the version number.

  • Keep the * newest versions and delete all older versions. Specify the container group * definition name and the number of versions to retain. For example, set * VersionCountToRetain to 5 to delete all but the five most recent * versions.

Learn more

See Also:

AWS * API Reference

*/ virtual Model::DeleteContainerGroupDefinitionOutcome DeleteContainerGroupDefinition(const Model::DeleteContainerGroupDefinitionRequest& request) const; /** * A Callable wrapper for DeleteContainerGroupDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteContainerGroupDefinitionOutcomeCallable DeleteContainerGroupDefinitionCallable(const DeleteContainerGroupDefinitionRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteContainerGroupDefinition, request); } /** * An Async wrapper for DeleteContainerGroupDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteContainerGroupDefinitionAsync(const DeleteContainerGroupDefinitionRequestT& request, const DeleteContainerGroupDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteContainerGroupDefinition, request, handler, context); } /** *

Deletes all resources and information related to a fleet and shuts down any * currently running fleet instances, including those in remote locations.

*

If the fleet being deleted has a VPC peering connection, you first * need to get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization. * You don't need to explicitly delete the VPC peering connection.

*

To delete a fleet, specify the fleet ID to be terminated. During the deletion * process, the fleet status is changed to DELETING. When completed, * the status switches to TERMINATED and the fleet event * FLEET_DELETED is emitted.

Learn more

Setting * up Amazon GameLift Fleets

See Also:

AWS * API Reference

*/ virtual Model::DeleteFleetOutcome DeleteFleet(const Model::DeleteFleetRequest& request) const; /** * A Callable wrapper for DeleteFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteFleetOutcomeCallable DeleteFleetCallable(const DeleteFleetRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteFleet, request); } /** * An Async wrapper for DeleteFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteFleetAsync(const DeleteFleetRequestT& request, const DeleteFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteFleet, request, handler, context); } /** *

Removes locations from a multi-location fleet. When deleting a location, all * game server process and all instances that are still active in the location are * shut down.

To delete fleet locations, identify the fleet ID and provide * a list of the locations to be deleted.

If successful, GameLift sets the * location status to DELETING, and begins to shut down existing * server processes and terminate instances in each location being deleted. When * completed, the location status changes to TERMINATED.

* Learn more

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::DeleteFleetLocationsOutcome DeleteFleetLocations(const Model::DeleteFleetLocationsRequest& request) const; /** * A Callable wrapper for DeleteFleetLocations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteFleetLocationsOutcomeCallable DeleteFleetLocationsCallable(const DeleteFleetLocationsRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteFleetLocations, request); } /** * An Async wrapper for DeleteFleetLocations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteFleetLocationsAsync(const DeleteFleetLocationsRequestT& request, const DeleteFleetLocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteFleetLocations, request, handler, context); } /** *

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

Terminates a game server group and permanently * deletes the game server group record. You have several options for how these * resources are impacted when deleting the game server group. Depending on the * type of delete operation selected, this operation might affect these * resources:

  • The game server group

  • The * corresponding Auto Scaling group

  • All game servers that are * currently running in the group

To delete a game server group, * identify the game server group to delete and specify the type of delete * operation to initiate. Game server groups can only be deleted if they are in * ACTIVE or ERROR status.

If the delete request * is successful, a series of operations are kicked off. The game server group * status is changed to DELETE_SCHEDULED, which prevents new game * servers from being registered and stops automatic scaling activity. Once all * game servers in the game server group are deregistered, Amazon GameLift FleetIQ * can begin deleting resources. If any of the delete operations fail, the game * server group is placed in ERROR status.

Amazon GameLift * FleetIQ emits delete events to Amazon CloudWatch.

Learn more

*

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::DeleteGameServerGroupOutcome DeleteGameServerGroup(const Model::DeleteGameServerGroupRequest& request) const; /** * A Callable wrapper for DeleteGameServerGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteGameServerGroupOutcomeCallable DeleteGameServerGroupCallable(const DeleteGameServerGroupRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteGameServerGroup, request); } /** * An Async wrapper for DeleteGameServerGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteGameServerGroupAsync(const DeleteGameServerGroupRequestT& request, const DeleteGameServerGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteGameServerGroup, request, handler, context); } /** *

Deletes a game session queue. Once a queue is successfully deleted, * unfulfilled StartGameSessionPlacement * requests that reference the queue will fail. To delete a queue, specify the * queue name.

See Also:

AWS * API Reference

*/ virtual Model::DeleteGameSessionQueueOutcome DeleteGameSessionQueue(const Model::DeleteGameSessionQueueRequest& request) const; /** * A Callable wrapper for DeleteGameSessionQueue that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteGameSessionQueueOutcomeCallable DeleteGameSessionQueueCallable(const DeleteGameSessionQueueRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteGameSessionQueue, request); } /** * An Async wrapper for DeleteGameSessionQueue that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteGameSessionQueueAsync(const DeleteGameSessionQueueRequestT& request, const DeleteGameSessionQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteGameSessionQueue, request, handler, context); } /** *

Deletes a custom location.

Before deleting a custom location, review * any fleets currently using the custom location and deregister the location if it * is in use. For more information, see DeregisterCompute.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteLocationOutcome DeleteLocation(const Model::DeleteLocationRequest& request) const; /** * A Callable wrapper for DeleteLocation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteLocationOutcomeCallable DeleteLocationCallable(const DeleteLocationRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteLocation, request); } /** * An Async wrapper for DeleteLocation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteLocationAsync(const DeleteLocationRequestT& request, const DeleteLocationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteLocation, request, handler, context); } /** *

Permanently removes a FlexMatch matchmaking configuration. To delete, specify * the configuration name. A matchmaking configuration cannot be deleted if it is * being used in any active matchmaking tickets.

See Also:

AWS * API Reference

*/ virtual Model::DeleteMatchmakingConfigurationOutcome DeleteMatchmakingConfiguration(const Model::DeleteMatchmakingConfigurationRequest& request) const; /** * A Callable wrapper for DeleteMatchmakingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteMatchmakingConfigurationOutcomeCallable DeleteMatchmakingConfigurationCallable(const DeleteMatchmakingConfigurationRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteMatchmakingConfiguration, request); } /** * An Async wrapper for DeleteMatchmakingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteMatchmakingConfigurationAsync(const DeleteMatchmakingConfigurationRequestT& request, const DeleteMatchmakingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteMatchmakingConfiguration, request, handler, context); } /** *

Deletes an existing matchmaking rule set. To delete the rule set, provide the * rule set name. Rule sets cannot be deleted if they are currently being used by a * matchmaking configuration.

Learn more

See Also:

AWS * API Reference

*/ virtual Model::DeleteMatchmakingRuleSetOutcome DeleteMatchmakingRuleSet(const Model::DeleteMatchmakingRuleSetRequest& request) const; /** * A Callable wrapper for DeleteMatchmakingRuleSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteMatchmakingRuleSetOutcomeCallable DeleteMatchmakingRuleSetCallable(const DeleteMatchmakingRuleSetRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteMatchmakingRuleSet, request); } /** * An Async wrapper for DeleteMatchmakingRuleSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteMatchmakingRuleSetAsync(const DeleteMatchmakingRuleSetRequestT& request, const DeleteMatchmakingRuleSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteMatchmakingRuleSet, request, handler, context); } /** *

Deletes a fleet scaling policy. Once deleted, the policy is no longer in * force and Amazon GameLift removes all record of it. To delete a scaling policy, * specify both the scaling policy name and the fleet ID it is associated with.

*

To temporarily suspend scaling policies, use StopFleetActions. * This operation suspends all policies for the fleet.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteScalingPolicyOutcome DeleteScalingPolicy(const Model::DeleteScalingPolicyRequest& request) const; /** * A Callable wrapper for DeleteScalingPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteScalingPolicyOutcomeCallable DeleteScalingPolicyCallable(const DeleteScalingPolicyRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteScalingPolicy, request); } /** * An Async wrapper for DeleteScalingPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteScalingPolicyAsync(const DeleteScalingPolicyRequestT& request, const DeleteScalingPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteScalingPolicy, request, handler, context); } /** *

Deletes a Realtime script. This operation permanently deletes the script * record. If script files were uploaded, they are also deleted (files stored in an * S3 bucket are not deleted).

To delete a script, specify the script ID. * Before deleting a script, be sure to terminate all fleets that are deployed with * the script being deleted. Fleet instances periodically check for script updates, * and if the script record no longer exists, the instance will go into an error * state and be unable to host game sessions.

Learn more

Amazon * GameLift Realtime Servers

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DeleteScriptOutcome DeleteScript(const Model::DeleteScriptRequest& request) const; /** * A Callable wrapper for DeleteScript that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteScriptOutcomeCallable DeleteScriptCallable(const DeleteScriptRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteScript, request); } /** * An Async wrapper for DeleteScript that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteScriptAsync(const DeleteScriptRequestT& request, const DeleteScriptResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteScript, request, handler, context); } /** *

Cancels a pending VPC peering authorization for the specified VPC. If you * need to delete an existing VPC peering connection, use DeleteVpcPeeringConnection.

*

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DeleteVpcPeeringAuthorizationOutcome DeleteVpcPeeringAuthorization(const Model::DeleteVpcPeeringAuthorizationRequest& request) const; /** * A Callable wrapper for DeleteVpcPeeringAuthorization that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteVpcPeeringAuthorizationOutcomeCallable DeleteVpcPeeringAuthorizationCallable(const DeleteVpcPeeringAuthorizationRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteVpcPeeringAuthorization, request); } /** * An Async wrapper for DeleteVpcPeeringAuthorization that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteVpcPeeringAuthorizationAsync(const DeleteVpcPeeringAuthorizationRequestT& request, const DeleteVpcPeeringAuthorizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteVpcPeeringAuthorization, request, handler, context); } /** *

Removes a VPC peering connection. To delete the connection, you must have a * valid authorization for the VPC peering connection that you want to delete.. *

Once a valid authorization exists, call this operation from the Amazon * Web Services account that is used to manage the Amazon GameLift fleets. Identify * the connection to delete by the connection ID and fleet ID. If successful, the * connection is removed.

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DeleteVpcPeeringConnectionOutcome DeleteVpcPeeringConnection(const Model::DeleteVpcPeeringConnectionRequest& request) const; /** * A Callable wrapper for DeleteVpcPeeringConnection that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteVpcPeeringConnectionOutcomeCallable DeleteVpcPeeringConnectionCallable(const DeleteVpcPeeringConnectionRequestT& request) const { return SubmitCallable(&GameLiftClient::DeleteVpcPeeringConnection, request); } /** * An Async wrapper for DeleteVpcPeeringConnection that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteVpcPeeringConnectionAsync(const DeleteVpcPeeringConnectionRequestT& request, const DeleteVpcPeeringConnectionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeleteVpcPeeringConnection, request, handler, context); } /** *

Removes a compute resource from an Amazon GameLift Anywhere fleet. * Deregistered computes can no longer host game sessions through Amazon * GameLift.

For an Anywhere fleet that's running the Amazon GameLift Agent, * the Agent handles all compute registry tasks for you. For an Anywhere fleet that * doesn't use the Agent, call this operation to deregister fleet computes.

*

To deregister a compute, call this operation from the compute that's being * deregistered and specify the compute name and the fleet ID.

See * Also:

AWS * API Reference

*/ virtual Model::DeregisterComputeOutcome DeregisterCompute(const Model::DeregisterComputeRequest& request) const; /** * A Callable wrapper for DeregisterCompute that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeregisterComputeOutcomeCallable DeregisterComputeCallable(const DeregisterComputeRequestT& request) const { return SubmitCallable(&GameLiftClient::DeregisterCompute, request); } /** * An Async wrapper for DeregisterCompute that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeregisterComputeAsync(const DeregisterComputeRequestT& request, const DeregisterComputeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeregisterCompute, request, handler, context); } /** *

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

Removes the game server from a game server group. As * a result of this operation, the deregistered game server can no longer be * claimed and will not be returned in a list of active game servers.

To * deregister a game server, specify the game server group and game server ID. If * successful, this operation emits a CloudWatch event with termination timestamp * and reason.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::DeregisterGameServerOutcome DeregisterGameServer(const Model::DeregisterGameServerRequest& request) const; /** * A Callable wrapper for DeregisterGameServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeregisterGameServerOutcomeCallable DeregisterGameServerCallable(const DeregisterGameServerRequestT& request) const { return SubmitCallable(&GameLiftClient::DeregisterGameServer, request); } /** * An Async wrapper for DeregisterGameServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeregisterGameServerAsync(const DeregisterGameServerRequestT& request, const DeregisterGameServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DeregisterGameServer, request, handler, context); } /** *

Retrieves properties for an alias. This operation returns all alias metadata * and settings. To get an alias's target fleet ID only, use * ResolveAlias.

To get alias properties, specify the alias * ID. If successful, the requested alias record is returned.

Related * actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeAliasOutcome DescribeAlias(const Model::DescribeAliasRequest& request) const; /** * A Callable wrapper for DescribeAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeAliasOutcomeCallable DescribeAliasCallable(const DescribeAliasRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeAlias, request); } /** * An Async wrapper for DescribeAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeAliasAsync(const DescribeAliasRequestT& request, const DescribeAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeAlias, request, handler, context); } /** *

Retrieves properties for a custom game build. To request a build resource, * specify a build ID. If successful, an object containing the build properties is * returned.

Learn more

* Upload a Custom Server Build

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeBuildOutcome DescribeBuild(const Model::DescribeBuildRequest& request) const; /** * A Callable wrapper for DescribeBuild that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeBuildOutcomeCallable DescribeBuildCallable(const DescribeBuildRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeBuild, request); } /** * An Async wrapper for DescribeBuild that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeBuildAsync(const DescribeBuildRequestT& request, const DescribeBuildResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeBuild, request, handler, context); } /** *

Retrieves properties for a compute resource in an Amazon GameLift fleet. To * get a list of all computes in a fleet, call ListCompute.

To * request information on a specific compute, provide the fleet ID and compute * name.

If successful, this operation returns details for the requested * compute resource. Depending on the fleet's compute type, the result includes the * following information:

  • For managed EC2 fleets, this operation * returns information about the EC2 instance.

  • For Anywhere * fleets, this operation returns information about the registered compute.

    *

See Also:

AWS * API Reference

*/ virtual Model::DescribeComputeOutcome DescribeCompute(const Model::DescribeComputeRequest& request) const; /** * A Callable wrapper for DescribeCompute that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeComputeOutcomeCallable DescribeComputeCallable(const DescribeComputeRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeCompute, request); } /** * An Async wrapper for DescribeCompute that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeComputeAsync(const DescribeComputeRequestT& request, const DescribeComputeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeCompute, request, handler, context); } /** *

Retrieves the properties for a container fleet. When requesting attributes * for multiple fleets, use the pagination parameters to retrieve results as a set * of sequential pages.

Request options

  • Get * container fleet properties for a single fleet. Provide either the fleet ID or * ARN value.

Results

If successful, a * ContainerFleet object is returned. This object includes the fleet * properties, including information about the most recent deployment.

*

Some API operations limit the number of fleet IDs that allowed in one * request. If a request exceeds this limit, the request fails and the error * message contains the maximum allowed number.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeContainerFleetOutcome DescribeContainerFleet(const Model::DescribeContainerFleetRequest& request) const; /** * A Callable wrapper for DescribeContainerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeContainerFleetOutcomeCallable DescribeContainerFleetCallable(const DescribeContainerFleetRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeContainerFleet, request); } /** * An Async wrapper for DescribeContainerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeContainerFleetAsync(const DescribeContainerFleetRequestT& request, const DescribeContainerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeContainerFleet, request, handler, context); } /** *

Retrieves the properties of a container group definition, including all * container definitions in the group.

Request options:

    *
  • Retrieve the latest version of a container group definition. Specify the * container group definition name only, or use an ARN value without a version * number.

  • Retrieve a particular version. Specify the container * group definition name and a version number, or use an ARN value that includes * the version number.

Results:

If successful, * this operation returns the complete properties of a container group definition * version.

Learn more

See Also:

AWS * API Reference

*/ virtual Model::DescribeContainerGroupDefinitionOutcome DescribeContainerGroupDefinition(const Model::DescribeContainerGroupDefinitionRequest& request) const; /** * A Callable wrapper for DescribeContainerGroupDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeContainerGroupDefinitionOutcomeCallable DescribeContainerGroupDefinitionCallable(const DescribeContainerGroupDefinitionRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeContainerGroupDefinition, request); } /** * An Async wrapper for DescribeContainerGroupDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeContainerGroupDefinitionAsync(const DescribeContainerGroupDefinitionRequestT& request, const DescribeContainerGroupDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeContainerGroupDefinition, request, handler, context); } /** *

Retrieves the instance limits and current utilization for an Amazon Web * Services Region or location. Instance limits control the number of instances, * per instance type, per location, that your Amazon Web Services account can use. * Learn more at Amazon EC2 * Instance Types. The information returned includes the maximum number of * instances allowed and your account's current usage across all fleets. This * information can affect your ability to scale your Amazon GameLift fleets. You * can request a limit increase for your account by using the Service limits * page in the Amazon GameLift console.

Instance limits differ based on * whether the instances are deployed in a fleet's home Region or in a remote * location. For remote locations, limits also differ based on the combination of * home Region and remote location. All requests must specify an Amazon Web * Services Region (either explicitly or as your default settings). To get the * limit for a remote location, you must also specify the location. For example, * the following requests all return different results:

  • Request * specifies the Region ap-northeast-1 with no location. The result is * limits and usage data on all instance types that are deployed in * us-east-2, by all of the fleets that reside in * ap-northeast-1.

  • Request specifies the Region * us-east-1 with location ca-central-1. The result is * limits and usage data on all instance types that are deployed in * ca-central-1, by all of the fleets that reside in * us-east-2. These limits do not affect fleets in any other Regions * that deploy instances to ca-central-1.

  • Request * specifies the Region eu-west-1 with location * ca-central-1. The result is limits and usage data on all instance * types that are deployed in ca-central-1, by all of the fleets that * reside in eu-west-1.

This operation can be used * in the following ways:

  • To get limit and usage data for all * instance types that are deployed in an Amazon Web Services Region by fleets that * reside in the same Region: Specify the Region only. Optionally, specify a single * instance type to retrieve information for.

  • To get limit and * usage data for all instance types that are deployed to a remote location by * fleets that reside in different Amazon Web Services Region: Provide both the * Amazon Web Services Region and the remote location. Optionally, specify a single * instance type to retrieve information for.

If successful, an * EC2InstanceLimits object is returned with limits and usage data for * each requested instance type.

Learn more

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeEC2InstanceLimitsOutcome DescribeEC2InstanceLimits(const Model::DescribeEC2InstanceLimitsRequest& request = {}) const; /** * A Callable wrapper for DescribeEC2InstanceLimits that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeEC2InstanceLimitsOutcomeCallable DescribeEC2InstanceLimitsCallable(const DescribeEC2InstanceLimitsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeEC2InstanceLimits, request); } /** * An Async wrapper for DescribeEC2InstanceLimits that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeEC2InstanceLimitsAsync(const DescribeEC2InstanceLimitsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeEC2InstanceLimitsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeEC2InstanceLimits, request, handler, context); } /** *

Retrieves core fleet-wide properties for fleets in an Amazon Web Services * Region. Properties include the computing hardware and deployment configuration * for instances in the fleet.

You can use this operation in the following * ways:

  • To get attributes for specific fleets, provide a list of * fleet IDs or fleet ARNs.

  • To get attributes for all fleets, do * not provide a fleet identifier.

When requesting attributes * for multiple fleets, use the pagination parameters to retrieve results as a set * of sequential pages.

If successful, a FleetAttributes * object is returned for each fleet requested, unless the fleet identifier is not * found.

Some API operations limit the number of fleet IDs that * allowed in one request. If a request exceeds this limit, the request fails and * the error message contains the maximum allowed number.

Learn * more

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetAttributesOutcome DescribeFleetAttributes(const Model::DescribeFleetAttributesRequest& request = {}) const; /** * A Callable wrapper for DescribeFleetAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetAttributesOutcomeCallable DescribeFleetAttributesCallable(const DescribeFleetAttributesRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeFleetAttributes, request); } /** * An Async wrapper for DescribeFleetAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetAttributesAsync(const DescribeFleetAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeFleetAttributesRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeFleetAttributes, request, handler, context); } /** *

Retrieves the resource capacity settings for one or more fleets. For a * container fleet, this operation also returns counts for game server container * groups.

With multi-location fleets, this operation retrieves data for the * fleet's home Region only. To retrieve capacity for remote locations, see * DescribeFleetLocationCapacity.

This operation can be used in the * following ways:

  • To get capacity data for one or more specific * fleets, provide a list of fleet IDs or fleet ARNs.

  • To get * capacity data for all fleets, do not provide a fleet identifier.

  • *

When requesting multiple 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. Each * FleetCapacity object includes a Location property, * which is set to the fleet's home Region. Capacity values are returned only for * fleets that currently exist.

Some API operations may limit the * number of fleet IDs that are allowed in one request. If a request exceeds this * limit, the request fails and the error message includes the maximum allowed.

*

Learn more

Setting * up Amazon GameLift fleets

GameLift * metrics for fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetCapacityOutcome DescribeFleetCapacity(const Model::DescribeFleetCapacityRequest& request = {}) const; /** * A Callable wrapper for DescribeFleetCapacity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetCapacityOutcomeCallable DescribeFleetCapacityCallable(const DescribeFleetCapacityRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeFleetCapacity, request); } /** * An Async wrapper for DescribeFleetCapacity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetCapacityAsync(const DescribeFleetCapacityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeFleetCapacityRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeFleetCapacity, request, handler, context); } /** *

Retrieves information about a managed container fleet deployment.

* Request options

  • Get information about the latest * deployment for a specific fleet. Provide the fleet ID or ARN.

  • * Get information about a specific deployment. Provide the fleet ID or ARN and the * deployment ID.

Results

If successful, a * FleetDeployment object is returned.

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetDeploymentOutcome DescribeFleetDeployment(const Model::DescribeFleetDeploymentRequest& request) const; /** * A Callable wrapper for DescribeFleetDeployment that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetDeploymentOutcomeCallable DescribeFleetDeploymentCallable(const DescribeFleetDeploymentRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeFleetDeployment, request); } /** * An Async wrapper for DescribeFleetDeployment that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetDeploymentAsync(const DescribeFleetDeploymentRequestT& request, const DescribeFleetDeploymentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeFleetDeployment, request, handler, context); } /** *

Retrieves entries from a fleet's event log. Fleet events are initiated by * changes in status, such as during fleet creation and termination, changes in * capacity, etc. If a fleet has multiple locations, events are also initiated by * changes to status and capacity in remote locations.

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.

Learn more *

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetEventsOutcome DescribeFleetEvents(const Model::DescribeFleetEventsRequest& request) const; /** * A Callable wrapper for DescribeFleetEvents that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetEventsOutcomeCallable DescribeFleetEventsCallable(const DescribeFleetEventsRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeFleetEvents, request); } /** * An Async wrapper for DescribeFleetEvents that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetEventsAsync(const DescribeFleetEventsRequestT& request, const DescribeFleetEventsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeFleetEvents, request, handler, context); } /** *

Retrieves information on a fleet's remote locations, including life-cycle * status and any suspended fleet activity.

This operation can be used in * the following ways:

  • To get data for specific locations, * provide a fleet identifier and a list of locations. Location data is returned in * the order that it is requested.

  • To get data for all * locations, provide a fleet identifier only. Location data is returned in no * particular order.

When requesting attributes for multiple * locations, use the pagination parameters to retrieve results as a set of * sequential pages.

If successful, a LocationAttributes * object is returned for each requested location. If the fleet does not have a * requested location, no information is returned. This operation does not return * the home Region. To get information on a fleet's home Region, call * DescribeFleetAttributes.

Learn more

Setting * up Amazon GameLift fleets

* Amazon GameLift service locations for managed hosting

See * Also:

AWS * API Reference

*/ virtual Model::DescribeFleetLocationAttributesOutcome DescribeFleetLocationAttributes(const Model::DescribeFleetLocationAttributesRequest& request) const; /** * A Callable wrapper for DescribeFleetLocationAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetLocationAttributesOutcomeCallable DescribeFleetLocationAttributesCallable(const DescribeFleetLocationAttributesRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeFleetLocationAttributes, request); } /** * An Async wrapper for DescribeFleetLocationAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetLocationAttributesAsync(const DescribeFleetLocationAttributesRequestT& request, const DescribeFleetLocationAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeFleetLocationAttributes, request, handler, context); } /** *

Retrieves the resource capacity settings for a fleet location. The data * returned includes the current capacity (number of EC2 instances) and some * scaling settings for the requested fleet location. For a managed container * fleet, this operation also returns counts for game server container groups.

*

Use this operation to retrieve capacity information for a fleet's remote * location or home Region (you can also retrieve home Region capacity by calling * DescribeFleetCapacity).

To retrieve capacity data, identify * a fleet and location.

If successful, a FleetCapacity object * is returned for the requested fleet location.

Learn more

*

Setting * up Amazon GameLift fleets

* Amazon GameLift service locations for managed hosting

GameLift * metrics for fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetLocationCapacityOutcome DescribeFleetLocationCapacity(const Model::DescribeFleetLocationCapacityRequest& request) const; /** * A Callable wrapper for DescribeFleetLocationCapacity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetLocationCapacityOutcomeCallable DescribeFleetLocationCapacityCallable(const DescribeFleetLocationCapacityRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeFleetLocationCapacity, request); } /** * An Async wrapper for DescribeFleetLocationCapacity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetLocationCapacityAsync(const DescribeFleetLocationCapacityRequestT& request, const DescribeFleetLocationCapacityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeFleetLocationCapacity, request, handler, context); } /** *

Retrieves current usage data for a fleet location. Utilization data provides * a snapshot of current game hosting activity at the requested location. Use this * operation to retrieve utilization information for a fleet's remote location or * home Region (you can also retrieve home Region utilization by calling * DescribeFleetUtilization).

To retrieve utilization data, * identify a fleet and location.

If successful, a * FleetUtilization object is returned for the requested fleet * location.

Learn more

Setting * up Amazon GameLift fleets

* Amazon GameLift service locations for managed hosting

GameLift * metrics for fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetLocationUtilizationOutcome DescribeFleetLocationUtilization(const Model::DescribeFleetLocationUtilizationRequest& request) const; /** * A Callable wrapper for DescribeFleetLocationUtilization that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetLocationUtilizationOutcomeCallable DescribeFleetLocationUtilizationCallable(const DescribeFleetLocationUtilizationRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeFleetLocationUtilization, request); } /** * An Async wrapper for DescribeFleetLocationUtilization that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetLocationUtilizationAsync(const DescribeFleetLocationUtilizationRequestT& request, const DescribeFleetLocationUtilizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeFleetLocationUtilization, request, handler, context); } /** *

Retrieves a fleet's inbound connection permissions. Inbound permissions * specify IP addresses and port settings that incoming traffic can use to access * server processes in the fleet. Game server processes that are running in the * fleet must use a port that falls within this range. To connect to game server * processes on a managed container fleet, the port settings should include one or * more of the container fleet's connection ports.

Use this operation in * the following ways:

  • To retrieve the port settings for a fleet, * identify the fleet's unique identifier.

  • To check the status * of recent updates to a fleet remote location, specify the fleet ID and a * location. Port setting updates can take time to propagate across all locations. *

If successful, a set of IpPermission objects is * returned for the requested fleet ID. When specifying a location, this operation * returns a pending status. If the requested fleet has been deleted, the result * set is empty.

Learn more

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetPortSettingsOutcome DescribeFleetPortSettings(const Model::DescribeFleetPortSettingsRequest& request) const; /** * A Callable wrapper for DescribeFleetPortSettings that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetPortSettingsOutcomeCallable DescribeFleetPortSettingsCallable(const DescribeFleetPortSettingsRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeFleetPortSettings, request); } /** * An Async wrapper for DescribeFleetPortSettings that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetPortSettingsAsync(const DescribeFleetPortSettingsRequestT& request, const DescribeFleetPortSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeFleetPortSettings, request, handler, context); } /** *

Retrieves utilization statistics for one or more fleets. Utilization data * provides a snapshot of how the fleet's hosting resources are currently being * used. For fleets with remote locations, this operation retrieves data for the * fleet's home Region only. See DescribeFleetLocationUtilization * to get utilization statistics for a fleet's remote locations.

This * operation can be used in the following ways:

  • To get * utilization data for one or more specific fleets, provide a list of fleet IDs or * fleet ARNs.

  • To get utilization data for all fleets, do not * provide a fleet identifier.

When requesting multiple 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, unless the fleet identifier is * not found. Each fleet utilization object includes a Location * property, which is set to the fleet's home Region.

Some API * operations 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.

Learn more

Setting * up Amazon GameLift Fleets

GameLift * Metrics for Fleets

See Also:

AWS * API Reference

*/ virtual Model::DescribeFleetUtilizationOutcome DescribeFleetUtilization(const Model::DescribeFleetUtilizationRequest& request = {}) const; /** * A Callable wrapper for DescribeFleetUtilization that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeFleetUtilizationOutcomeCallable DescribeFleetUtilizationCallable(const DescribeFleetUtilizationRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeFleetUtilization, request); } /** * An Async wrapper for DescribeFleetUtilization that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeFleetUtilizationAsync(const DescribeFleetUtilizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeFleetUtilizationRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeFleetUtilization, request, handler, context); } /** *

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

Retrieves information for a registered game server. * Information includes game server status, health check info, and the instance * that the game server is running on.

To retrieve game server information, * specify the game server ID. If successful, the requested game server object is * returned.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::DescribeGameServerOutcome DescribeGameServer(const Model::DescribeGameServerRequest& request) const; /** * A Callable wrapper for DescribeGameServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGameServerOutcomeCallable DescribeGameServerCallable(const DescribeGameServerRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeGameServer, request); } /** * An Async wrapper for DescribeGameServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGameServerAsync(const DescribeGameServerRequestT& request, const DescribeGameServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeGameServer, request, handler, context); } /** *

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

Retrieves information on a game server group. This * operation returns only properties related to Amazon GameLift FleetIQ. To view or * update properties for the corresponding Auto Scaling group, such as launch * template, auto scaling policies, and maximum/minimum group size, access the Auto * Scaling group directly.

To get attributes for a game server group, * provide a group name or ARN value. If successful, a GameServerGroup * object is returned.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::DescribeGameServerGroupOutcome DescribeGameServerGroup(const Model::DescribeGameServerGroupRequest& request) const; /** * A Callable wrapper for DescribeGameServerGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGameServerGroupOutcomeCallable DescribeGameServerGroupCallable(const DescribeGameServerGroupRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeGameServerGroup, request); } /** * An Async wrapper for DescribeGameServerGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGameServerGroupAsync(const DescribeGameServerGroupRequestT& request, const DescribeGameServerGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeGameServerGroup, request, handler, context); } /** *

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

Retrieves status information about the Amazon EC2 * instances associated with a Amazon GameLift FleetIQ game server group. Use this * operation to detect when instances are active or not available to host new game * servers.

To request status for all instances in the game server group, * provide a game server group ID only. To request status for specific instances, * provide the game server group ID and one or more instance IDs. Use the * pagination parameters to retrieve results in sequential segments. If successful, * a collection of GameServerInstance objects is returned.

*

This operation is not designed to be called with every game server claim * request; this practice can cause you to exceed your API limit, which results in * errors. Instead, as a best practice, cache the results and refresh your cache no * more than once every 10 seconds.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::DescribeGameServerInstancesOutcome DescribeGameServerInstances(const Model::DescribeGameServerInstancesRequest& request) const; /** * A Callable wrapper for DescribeGameServerInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGameServerInstancesOutcomeCallable DescribeGameServerInstancesCallable(const DescribeGameServerInstancesRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeGameServerInstances, request); } /** * An Async wrapper for DescribeGameServerInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGameServerInstancesAsync(const DescribeGameServerInstancesRequestT& request, const DescribeGameServerInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeGameServerInstances, request, handler, context); } /** *

Retrieves additional game session properties, including the game session * protection policy in force, a set of one or more game sessions in a specific * fleet location. You can optionally filter the results by current game session * status.

This operation can be used in the following ways:

  • *

    To retrieve details for all game sessions that are currently running on all * locations in a fleet, provide a fleet or alias ID, with an optional status * filter. This approach returns details from the fleet's home Region and all * remote locations.

  • To retrieve details for all game sessions * that are currently running on a specific fleet location, provide a fleet or * alias ID and a location name, with optional status filter. The location can be * the fleet's home Region or any remote location.

  • To retrieve * details for a specific game session, provide the game session ID. This approach * looks for the game session ID in all fleets that reside in the Amazon Web * Services Region defined in the request.

Use the pagination * parameters to retrieve results as a set of sequential pages.

If * successful, a GameSessionDetail object is returned for each game * session that matches the request.

Learn more

Find * a game session

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeGameSessionDetailsOutcome DescribeGameSessionDetails(const Model::DescribeGameSessionDetailsRequest& request = {}) const; /** * A Callable wrapper for DescribeGameSessionDetails that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGameSessionDetailsOutcomeCallable DescribeGameSessionDetailsCallable(const DescribeGameSessionDetailsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeGameSessionDetails, request); } /** * An Async wrapper for DescribeGameSessionDetails that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGameSessionDetailsAsync(const DescribeGameSessionDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeGameSessionDetailsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeGameSessionDetails, request, handler, context); } /** *

Retrieves information, including current status, about a game session * placement request.

To get game session placement details, specify the * placement ID.

This operation is not designed to be continually called to * track game session status. This practice can cause you to exceed your API limit, * which results in errors. Instead, you must configure configure an Amazon Simple * Notification Service (SNS) topic to receive notifications from FlexMatch or * queues. Continuously polling with DescribeGameSessionPlacement * should only be used for games in development with low game session usage. *

See Also:

AWS * API Reference

*/ virtual Model::DescribeGameSessionPlacementOutcome DescribeGameSessionPlacement(const Model::DescribeGameSessionPlacementRequest& request) const; /** * A Callable wrapper for DescribeGameSessionPlacement that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGameSessionPlacementOutcomeCallable DescribeGameSessionPlacementCallable(const DescribeGameSessionPlacementRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeGameSessionPlacement, request); } /** * An Async wrapper for DescribeGameSessionPlacement that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGameSessionPlacementAsync(const DescribeGameSessionPlacementRequestT& request, const DescribeGameSessionPlacementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeGameSessionPlacement, request, handler, context); } /** *

Retrieves the properties for one or more game session queues. When requesting * multiple queues, use the pagination parameters to retrieve results as a set of * sequential pages. When specifying a list of queues, objects are returned only * for queues that currently exist in the Region.

Learn more

*

* View Your Queues

See Also:

AWS * API Reference

*/ virtual Model::DescribeGameSessionQueuesOutcome DescribeGameSessionQueues(const Model::DescribeGameSessionQueuesRequest& request = {}) const; /** * A Callable wrapper for DescribeGameSessionQueues that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGameSessionQueuesOutcomeCallable DescribeGameSessionQueuesCallable(const DescribeGameSessionQueuesRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeGameSessionQueues, request); } /** * An Async wrapper for DescribeGameSessionQueues that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGameSessionQueuesAsync(const DescribeGameSessionQueuesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeGameSessionQueuesRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeGameSessionQueues, request, handler, context); } /** *

Retrieves a set of one or more game sessions in a specific fleet location. * You can optionally filter the results by current game session status.

*

This operation can be used in the following ways:

  • To * retrieve all game sessions that are currently running on all locations in a * fleet, provide a fleet or alias ID, with an optional status filter. This * approach returns all game sessions in the fleet's home Region and all remote * locations.

  • To retrieve all game sessions that are currently * running on a specific fleet location, provide a fleet or alias ID and a location * name, with optional status filter. The location can be the fleet's home Region * or any remote location.

  • To retrieve a specific game session, * provide the game session ID. This approach looks for the game session ID in all * fleets that reside in the Amazon Web Services Region defined in the request.

    *

Use the pagination parameters to retrieve results as a set of * sequential pages.

If successful, a GameSession object is * returned for each game session that matches the request.

This operation * is not designed to be continually called to track game session status. This * practice can cause you to exceed your API limit, which results in errors. * Instead, you must configure an Amazon Simple Notification Service (SNS) topic to * receive notifications from FlexMatch or queues. Continuously polling with * DescribeGameSessions should only be used for games in development * with low game session usage.

Available in Amazon GameLift Local. *

Learn more

Find * a game session

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeGameSessionsOutcome DescribeGameSessions(const Model::DescribeGameSessionsRequest& request = {}) const; /** * A Callable wrapper for DescribeGameSessions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeGameSessionsOutcomeCallable DescribeGameSessionsCallable(const DescribeGameSessionsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeGameSessions, request); } /** * An Async wrapper for DescribeGameSessions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeGameSessionsAsync(const DescribeGameSessionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeGameSessionsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeGameSessions, request, handler, context); } /** *

Retrieves information about the EC2 instances in an Amazon GameLift managed * fleet, including instance ID, connection data, and status. You can use this * operation with a multi-location fleet to get location-specific instance * information. As an alternative, use the operations ListCompute and * DescribeCompute to retrieve information for compute resources, including * EC2 and Anywhere fleets.

You can call this operation in the following * ways:

  • To get information on all instances in a fleet's home * Region, specify the fleet ID.

  • To get information on all * instances in a fleet's remote location, specify the fleet ID and location * name.

  • To get information on a specific instance in a fleet, * specify the fleet ID and instance ID.

Use the pagination * parameters to retrieve results as a set of sequential pages.

If * successful, this operation returns Instance objects for each * requested instance, listed in no particular order. If you call this operation * for an Anywhere fleet, you receive an InvalidRequestException.

Learn * more

Remotely * connect to fleet instances

Debug * fleet issues

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeInstancesOutcome DescribeInstances(const Model::DescribeInstancesRequest& request) const; /** * A Callable wrapper for DescribeInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeInstancesOutcomeCallable DescribeInstancesCallable(const DescribeInstancesRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeInstances, request); } /** * An Async wrapper for DescribeInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeInstancesAsync(const DescribeInstancesRequestT& request, const DescribeInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeInstances, request, handler, context); } /** *

Retrieves one or more matchmaking tickets. Use this operation to retrieve * ticket information, including--after a successful match is made--connection * information for the resulting new game session.

To request matchmaking * tickets, provide a list of up to 10 ticket IDs. If the request is successful, a * ticket object is returned for each requested ID that currently exists.

*

This operation is not designed to be continually called to track matchmaking * ticket status. This practice can cause you to exceed your API limit, which * results in errors. Instead, as a best practice, set up an Amazon Simple * Notification Service to receive notifications, and provide the topic ARN in the * matchmaking configuration.

Learn more

* Add FlexMatch to a game client

* Set Up FlexMatch event notification

See Also:

AWS * API Reference

*/ virtual Model::DescribeMatchmakingOutcome DescribeMatchmaking(const Model::DescribeMatchmakingRequest& request) const; /** * A Callable wrapper for DescribeMatchmaking that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeMatchmakingOutcomeCallable DescribeMatchmakingCallable(const DescribeMatchmakingRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeMatchmaking, request); } /** * An Async wrapper for DescribeMatchmaking that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeMatchmakingAsync(const DescribeMatchmakingRequestT& request, const DescribeMatchmakingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeMatchmaking, request, handler, context); } /** *

Retrieves the details of FlexMatch matchmaking configurations.

This * operation offers the following options: (1) retrieve all matchmaking * configurations, (2) retrieve configurations for a specified list, or (3) * retrieve all configurations that use a specified rule set name. When requesting * multiple items, use the pagination parameters to retrieve results as a set of * sequential pages.

If successful, a configuration is returned for each * requested name. When specifying a list of names, only configurations that * currently exist are returned.

Learn more

* Setting up FlexMatch matchmakers

See Also:

AWS * API Reference

*/ virtual Model::DescribeMatchmakingConfigurationsOutcome DescribeMatchmakingConfigurations(const Model::DescribeMatchmakingConfigurationsRequest& request = {}) const; /** * A Callable wrapper for DescribeMatchmakingConfigurations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeMatchmakingConfigurationsOutcomeCallable DescribeMatchmakingConfigurationsCallable(const DescribeMatchmakingConfigurationsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeMatchmakingConfigurations, request); } /** * An Async wrapper for DescribeMatchmakingConfigurations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeMatchmakingConfigurationsAsync(const DescribeMatchmakingConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeMatchmakingConfigurationsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeMatchmakingConfigurations, request, handler, context); } /** *

Retrieves the details for FlexMatch matchmaking rule sets. You can request * all existing rule sets for the Region, or provide a list of one or more rule set * names. When requesting multiple items, use the pagination parameters to retrieve * results as a set of sequential pages. If successful, a rule set is returned for * each requested name.

Learn more

See Also:

AWS * API Reference

*/ virtual Model::DescribeMatchmakingRuleSetsOutcome DescribeMatchmakingRuleSets(const Model::DescribeMatchmakingRuleSetsRequest& request = {}) const; /** * A Callable wrapper for DescribeMatchmakingRuleSets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeMatchmakingRuleSetsOutcomeCallable DescribeMatchmakingRuleSetsCallable(const DescribeMatchmakingRuleSetsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeMatchmakingRuleSets, request); } /** * An Async wrapper for DescribeMatchmakingRuleSets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeMatchmakingRuleSetsAsync(const DescribeMatchmakingRuleSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeMatchmakingRuleSetsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeMatchmakingRuleSets, request, handler, context); } /** *

Retrieves properties for one or more player sessions.

This action can * be used in the following ways:

  • To retrieve a specific player * session, provide the player session ID only.

  • To retrieve all * player sessions in a game session, provide the game session ID only.

  • *
  • To retrieve all player sessions for a specific player, provide a player * ID only.

To request player sessions, specify either a player * session ID, game session ID, or player ID. You can filter this request by player * session status. If you provide a specific PlayerSessionId or * PlayerId, Amazon GameLift ignores the filter criteria. Use the * pagination parameters to retrieve results as a set of sequential pages.

*

If successful, a PlayerSession object is returned for each * session that matches the request.

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribePlayerSessionsOutcome DescribePlayerSessions(const Model::DescribePlayerSessionsRequest& request = {}) const; /** * A Callable wrapper for DescribePlayerSessions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribePlayerSessionsOutcomeCallable DescribePlayerSessionsCallable(const DescribePlayerSessionsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribePlayerSessions, request); } /** * An Async wrapper for DescribePlayerSessions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribePlayerSessionsAsync(const DescribePlayerSessionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribePlayerSessionsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribePlayerSessions, request, handler, context); } /** *

Retrieves a fleet's runtime configuration settings. The runtime configuration * determines which server processes run, and how they run, and how many run * concurrently on computes in managed EC2 and Anywhere fleets. You can update a * fleet's runtime configuration at any time using * UpdateRuntimeConfiguration.

To get the current runtime * configuration for a fleet, provide the fleet ID.

If successful, a * RuntimeConfiguration object is returned for the requested fleet. If * the requested fleet has been deleted, the result set is empty.

Learn * more

Setting * up Amazon GameLift fleets

Running * multiple processes on a fleet

See Also:

AWS * API Reference

*/ virtual Model::DescribeRuntimeConfigurationOutcome DescribeRuntimeConfiguration(const Model::DescribeRuntimeConfigurationRequest& request) const; /** * A Callable wrapper for DescribeRuntimeConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeRuntimeConfigurationOutcomeCallable DescribeRuntimeConfigurationCallable(const DescribeRuntimeConfigurationRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeRuntimeConfiguration, request); } /** * An Async wrapper for DescribeRuntimeConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeRuntimeConfigurationAsync(const DescribeRuntimeConfigurationRequestT& request, const DescribeRuntimeConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeRuntimeConfiguration, request, handler, context); } /** *

Retrieves all scaling policies applied to a fleet.

To get a fleet's * scaling policies, specify the fleet ID. You can filter this request by policy * status, such as to retrieve only active scaling policies. Use the pagination * parameters to retrieve results as a set of sequential pages. If successful, set * of ScalingPolicy objects is returned for the fleet.

A fleet * may have all of its scaling policies suspended. This operation does not affect * the status of the scaling policies, which remains ACTIVE.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeScalingPoliciesOutcome DescribeScalingPolicies(const Model::DescribeScalingPoliciesRequest& request) const; /** * A Callable wrapper for DescribeScalingPolicies that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeScalingPoliciesOutcomeCallable DescribeScalingPoliciesCallable(const DescribeScalingPoliciesRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeScalingPolicies, request); } /** * An Async wrapper for DescribeScalingPolicies that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeScalingPoliciesAsync(const DescribeScalingPoliciesRequestT& request, const DescribeScalingPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeScalingPolicies, request, handler, context); } /** *

Retrieves properties for a Realtime script.

To request a script * record, specify the script ID. If successful, an object containing the script * properties is returned.

Learn more

Amazon * GameLift Realtime Servers

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeScriptOutcome DescribeScript(const Model::DescribeScriptRequest& request) const; /** * A Callable wrapper for DescribeScript that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeScriptOutcomeCallable DescribeScriptCallable(const DescribeScriptRequestT& request) const { return SubmitCallable(&GameLiftClient::DescribeScript, request); } /** * An Async wrapper for DescribeScript that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeScriptAsync(const DescribeScriptRequestT& request, const DescribeScriptResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::DescribeScript, request, handler, context); } /** *

Retrieves valid VPC peering authorizations that are pending for the Amazon * Web Services account. This operation returns all VPC peering authorizations and * requests for peering. This includes those initiated and received by this * account.

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeVpcPeeringAuthorizationsOutcome DescribeVpcPeeringAuthorizations(const Model::DescribeVpcPeeringAuthorizationsRequest& request = {}) const; /** * A Callable wrapper for DescribeVpcPeeringAuthorizations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeVpcPeeringAuthorizationsOutcomeCallable DescribeVpcPeeringAuthorizationsCallable(const DescribeVpcPeeringAuthorizationsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeVpcPeeringAuthorizations, request); } /** * An Async wrapper for DescribeVpcPeeringAuthorizations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeVpcPeeringAuthorizationsAsync(const DescribeVpcPeeringAuthorizationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeVpcPeeringAuthorizationsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeVpcPeeringAuthorizations, request, handler, context); } /** *

Retrieves information on VPC peering connections. Use this operation to get * peering information for all fleets or for one specific fleet ID.

To * retrieve connection information, call this operation from the Amazon Web * Services account that is used to manage the Amazon GameLift fleets. Specify a * fleet ID or leave the parameter empty to retrieve all connection records. If * successful, the retrieved information includes both active and pending * connections. Active connections identify the IpV4 CIDR block that the VPC uses * to connect.

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::DescribeVpcPeeringConnectionsOutcome DescribeVpcPeeringConnections(const Model::DescribeVpcPeeringConnectionsRequest& request = {}) const; /** * A Callable wrapper for DescribeVpcPeeringConnections that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeVpcPeeringConnectionsOutcomeCallable DescribeVpcPeeringConnectionsCallable(const DescribeVpcPeeringConnectionsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::DescribeVpcPeeringConnections, request); } /** * An Async wrapper for DescribeVpcPeeringConnections that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeVpcPeeringConnectionsAsync(const DescribeVpcPeeringConnectionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const DescribeVpcPeeringConnectionsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::DescribeVpcPeeringConnections, request, handler, context); } /** *

Requests authorization to remotely connect to a hosting resource in a Amazon * GameLift managed fleet. This operation is not used with Amazon GameLift Anywhere * fleets.

Request options

To request access to a compute, * specify the compute name and the fleet ID.

Results

If * successful, this operation returns a set of temporary Amazon Web Services * credentials, including a two-part access key and a session token.

  • *

    With a managed EC2 fleet (where compute type is EC2), use these * credentials with Amazon EC2 Systems Manager (SSM) to start a session with the * compute. For more details, see * Starting a session (CLI) in the Amazon EC2 Systems Manager User * Guide.

See Also:

AWS * API Reference

*/ virtual Model::GetComputeAccessOutcome GetComputeAccess(const Model::GetComputeAccessRequest& request) const; /** * A Callable wrapper for GetComputeAccess that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetComputeAccessOutcomeCallable GetComputeAccessCallable(const GetComputeAccessRequestT& request) const { return SubmitCallable(&GameLiftClient::GetComputeAccess, request); } /** * An Async wrapper for GetComputeAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetComputeAccessAsync(const GetComputeAccessRequestT& request, const GetComputeAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::GetComputeAccess, request, handler, context); } /** *

Requests an authentication token from Amazon GameLift for a compute resource * in an Amazon GameLift fleet. Game servers that are running on the compute use * this token to communicate with the Amazon GameLift service, such as when calling * the Amazon GameLift server SDK action InitSDK(). Authentication * tokens are valid for a limited time span, so you need to request a fresh token * before the current token expires.

Request options

  • *

    For managed EC2 fleets (compute type EC2), auth token retrieval * and refresh is handled automatically. All game servers that are running on all * fleet instances have access to a valid auth token.

  • For * Anywhere fleets (compute type ANYWHERE), if you're using the Amazon * GameLift Agent, auth token retrieval and refresh is handled automatically for * any compute where the Agent is running. If you're not using the Agent, create a * mechanism to retrieve and refresh auth tokens for computes that are running game * server processes.

Learn more

See Also:

* AWS * API Reference

*/ virtual Model::GetComputeAuthTokenOutcome GetComputeAuthToken(const Model::GetComputeAuthTokenRequest& request) const; /** * A Callable wrapper for GetComputeAuthToken that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetComputeAuthTokenOutcomeCallable GetComputeAuthTokenCallable(const GetComputeAuthTokenRequestT& request) const { return SubmitCallable(&GameLiftClient::GetComputeAuthToken, request); } /** * An Async wrapper for GetComputeAuthToken that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetComputeAuthTokenAsync(const GetComputeAuthTokenRequestT& request, const GetComputeAuthTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::GetComputeAuthToken, request, handler, context); } /** *

Retrieves the location of stored game session logs for a specified game * session on Amazon GameLift managed fleets. When a game session is terminated, * Amazon GameLift automatically stores the logs in Amazon S3 and retains them for * 14 days. Use this URL to download the logs.

See the Amazon * Web Services Service Limits page for maximum log file sizes. Log files that * exceed this limit are not saved.

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::GetGameSessionLogUrlOutcome GetGameSessionLogUrl(const Model::GetGameSessionLogUrlRequest& request) const; /** * A Callable wrapper for GetGameSessionLogUrl that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetGameSessionLogUrlOutcomeCallable GetGameSessionLogUrlCallable(const GetGameSessionLogUrlRequestT& request) const { return SubmitCallable(&GameLiftClient::GetGameSessionLogUrl, request); } /** * An Async wrapper for GetGameSessionLogUrl that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetGameSessionLogUrlAsync(const GetGameSessionLogUrlRequestT& request, const GetGameSessionLogUrlResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::GetGameSessionLogUrl, request, handler, context); } /** *

Requests authorization to remotely connect to an instance in an Amazon * GameLift managed fleet. Use this operation to connect to instances with game * servers that use Amazon GameLift server SDK 4.x or earlier. To connect to * instances with game servers that use server SDK 5.x or later, call * GetComputeAccess.

To request access to an instance, specify IDs * for the instance and the fleet it belongs to. You can retrieve instance IDs for * a fleet by calling DescribeInstances * with the fleet ID.

If successful, this operation returns an IP address * and credentials. The returned credentials match the operating system of the * instance, as follows:

  • For a Windows instance: returns a user * name and secret (password) for use with a Windows Remote Desktop client.

    *
  • For a Linux instance: returns a user name and secret (RSA private * key) for use with an SSH client. You must save the secret to a .pem * file. If you're using the CLI, see the example * Get credentials for a Linux instance for tips on automatically saving the * secret to a .pem file.

Learn more

*

Remotely * connect to fleet instances

Debug * fleet issues

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::GetInstanceAccessOutcome GetInstanceAccess(const Model::GetInstanceAccessRequest& request) const; /** * A Callable wrapper for GetInstanceAccess that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetInstanceAccessOutcomeCallable GetInstanceAccessCallable(const GetInstanceAccessRequestT& request) const { return SubmitCallable(&GameLiftClient::GetInstanceAccess, request); } /** * An Async wrapper for GetInstanceAccess that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetInstanceAccessAsync(const GetInstanceAccessRequestT& request, const GetInstanceAccessResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::GetInstanceAccess, request, handler, context); } /** *

Retrieves all aliases for this Amazon Web Services 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.

Returned * aliases are not listed in any particular order.

Related * actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::ListAliasesOutcome ListAliases(const Model::ListAliasesRequest& request = {}) const; /** * A Callable wrapper for ListAliases that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAliasesOutcomeCallable ListAliasesCallable(const ListAliasesRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListAliases, request); } /** * An Async wrapper for ListAliases that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAliasesAsync(const ListAliasesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListAliasesRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListAliases, request, handler, context); } /** *

Retrieves build resources for all builds associated with the Amazon Web * Services account in use. You can limit results to builds that are in a specific * status by using the Status parameter. Use the pagination parameters * to retrieve results in a set of sequential pages.

Build resources * are not listed in any particular order.

Learn more

*

* Upload a Custom Server Build

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::ListBuildsOutcome ListBuilds(const Model::ListBuildsRequest& request = {}) const; /** * A Callable wrapper for ListBuilds that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListBuildsOutcomeCallable ListBuildsCallable(const ListBuildsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListBuilds, request); } /** * An Async wrapper for ListBuilds that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListBuildsAsync(const ListBuildsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListBuildsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListBuilds, request, handler, context); } /** *

Retrieves information on the compute resources in an Amazon GameLift fleet. * Use the pagination parameters to retrieve results in a set of sequential * pages.

Request options:

  • Retrieve a list of all * computes in a fleet. Specify a fleet ID.

  • Retrieve a list of * all computes in a specific fleet location. Specify a fleet ID and location.

    *

Results:

If successful, this operation returns * information on a set of computes. Depending on the type of fleet, the result * includes the following information:

  • For managed EC2 fleets * (compute type EC2), this operation returns information about the * EC2 instance. Compute names are EC2 instance IDs.

  • For Anywhere * fleets (compute type ANYWHERE), this operation returns compute * names and details as provided when the compute was registered with * RegisterCompute. This includes * GameLiftServiceSdkEndpoint or * GameLiftAgentEndpoint.

See Also:

AWS * API Reference

*/ virtual Model::ListComputeOutcome ListCompute(const Model::ListComputeRequest& request) const; /** * A Callable wrapper for ListCompute that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListComputeOutcomeCallable ListComputeCallable(const ListComputeRequestT& request) const { return SubmitCallable(&GameLiftClient::ListCompute, request); } /** * An Async wrapper for ListCompute that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListComputeAsync(const ListComputeRequestT& request, const ListComputeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ListCompute, request, handler, context); } /** *

Retrieves a collection of container fleet resources in an Amazon Web Services * Region. For fleets that have multiple locations, this operation retrieves fleets * based on their home Region only.

Request options

  • *

    Get a list of all fleets. Call this operation without specifying a container * group definition.

  • Get a list of fleets filtered by container * group definition. Provide the container group definition name or ARN value.

    *
  • To get a list of all Realtime Servers fleets with a specific * configuration script, provide the script ID.

Use the * pagination parameters to retrieve results as a set of sequential pages.

*

If successful, this operation returns a collection of container fleets that * match the request parameters. A NextToken value is also returned if there are * more result pages to retrieve.

Fleet IDs are returned in no * particular order.

See Also:

AWS * API Reference

*/ virtual Model::ListContainerFleetsOutcome ListContainerFleets(const Model::ListContainerFleetsRequest& request = {}) const; /** * A Callable wrapper for ListContainerFleets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContainerFleetsOutcomeCallable ListContainerFleetsCallable(const ListContainerFleetsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListContainerFleets, request); } /** * An Async wrapper for ListContainerFleets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContainerFleetsAsync(const ListContainerFleetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListContainerFleetsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListContainerFleets, request, handler, context); } /** *

Retrieves all versions of a container group definition. Use the pagination * parameters to retrieve results in a set of sequential pages.

Request * options:

  • Get all versions of a specified container group * definition. Specify the container group definition name or ARN value. (If the * ARN value has a version number, it's ignored.)

* Results:

If successful, this operation returns the complete * properties of a set of container group definition versions that match the * request.

This operation returns the list of container group * definitions in descending version order (latest first).

* Learn more

See Also:

AWS * API Reference

*/ virtual Model::ListContainerGroupDefinitionVersionsOutcome ListContainerGroupDefinitionVersions(const Model::ListContainerGroupDefinitionVersionsRequest& request) const; /** * A Callable wrapper for ListContainerGroupDefinitionVersions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContainerGroupDefinitionVersionsOutcomeCallable ListContainerGroupDefinitionVersionsCallable(const ListContainerGroupDefinitionVersionsRequestT& request) const { return SubmitCallable(&GameLiftClient::ListContainerGroupDefinitionVersions, request); } /** * An Async wrapper for ListContainerGroupDefinitionVersions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContainerGroupDefinitionVersionsAsync(const ListContainerGroupDefinitionVersionsRequestT& request, const ListContainerGroupDefinitionVersionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ListContainerGroupDefinitionVersions, request, handler, context); } /** *

Retrieves container group definitions for the Amazon Web Services account and * Amazon Web Services Region. Use the pagination parameters to retrieve results in * a set of sequential pages.

This operation returns only the latest version * of each definition. To retrieve all versions of a container group definition, * use ListContainerGroupDefinitionVersions.

Request options: *

  • Retrieve the most recent versions of all container group * definitions.

  • Retrieve the most recent versions of all * container group definitions, filtered by type. Specify the container group type * to filter on.

Results:

If successful, this * operation returns the complete properties of a set of container group definition * versions that match the request.

This operation returns the list * of container group definitions in no particular order.

Learn * more

See Also:

AWS * API Reference

*/ virtual Model::ListContainerGroupDefinitionsOutcome ListContainerGroupDefinitions(const Model::ListContainerGroupDefinitionsRequest& request = {}) const; /** * A Callable wrapper for ListContainerGroupDefinitions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListContainerGroupDefinitionsOutcomeCallable ListContainerGroupDefinitionsCallable(const ListContainerGroupDefinitionsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListContainerGroupDefinitions, request); } /** * An Async wrapper for ListContainerGroupDefinitions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListContainerGroupDefinitionsAsync(const ListContainerGroupDefinitionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListContainerGroupDefinitionsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListContainerGroupDefinitions, request, handler, context); } /** *

Retrieves a collection of container fleet deployments in an Amazon Web * Services Region.

Request options

  • Get a list of * all deployments. Call this operation without specifying a fleet ID.

  • *
  • Get a list of all deployments for a fleet. Specify the container fleet * ID or ARN value.

  • To get a list of all Realtime Servers fleets * with a specific configuration script, provide the script ID.

*

Use the pagination parameters to retrieve results as a set of sequential * pages.

Results

If successful, this operation returns a * list of deployments that match the request parameters. A NextToken value is also * returned if there are more result pages to retrieve.

Fleet IDs are * returned in no particular order.

See Also:

AWS * API Reference

*/ virtual Model::ListFleetDeploymentsOutcome ListFleetDeployments(const Model::ListFleetDeploymentsRequest& request = {}) const; /** * A Callable wrapper for ListFleetDeployments that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListFleetDeploymentsOutcomeCallable ListFleetDeploymentsCallable(const ListFleetDeploymentsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListFleetDeployments, request); } /** * An Async wrapper for ListFleetDeployments that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListFleetDeploymentsAsync(const ListFleetDeploymentsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListFleetDeploymentsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListFleetDeployments, request, handler, context); } /** *

Retrieves a collection of fleet resources in an Amazon Web Services Region. * You can filter the result set to find only those fleets that are deployed with a * specific build or script. For fleets that have multiple locations, this * operation retrieves fleets based on their home Region only.

You can use * operation in the following ways:

  • To get a list of all fleets * in a Region, don't provide a build or script identifier.

  • To * get a list of all fleets where a specific game build is deployed, provide the * build ID.

  • To get a list of all Realtime Servers fleets with a * specific configuration script, provide the script ID.

Use * the pagination parameters to retrieve results as a set of sequential pages.

*

If successful, this operation returns a list of fleet IDs that match the * request parameters. A NextToken value is also returned if there are more result * pages to retrieve.

Fleet IDs are returned in no particular * order.

See Also:

AWS * API Reference

*/ virtual Model::ListFleetsOutcome ListFleets(const Model::ListFleetsRequest& request = {}) const; /** * A Callable wrapper for ListFleets that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListFleetsOutcomeCallable ListFleetsCallable(const ListFleetsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListFleets, request); } /** * An Async wrapper for ListFleets that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListFleetsAsync(const ListFleetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListFleetsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListFleets, request, handler, context); } /** *

Lists a game server groups.

See Also:

AWS * API Reference

*/ virtual Model::ListGameServerGroupsOutcome ListGameServerGroups(const Model::ListGameServerGroupsRequest& request = {}) const; /** * A Callable wrapper for ListGameServerGroups that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListGameServerGroupsOutcomeCallable ListGameServerGroupsCallable(const ListGameServerGroupsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListGameServerGroups, request); } /** * An Async wrapper for ListGameServerGroups that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListGameServerGroupsAsync(const ListGameServerGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListGameServerGroupsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListGameServerGroups, request, handler, context); } /** *

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

Retrieves information on all game servers that are * currently active in a specified game server group. You can opt to sort the list * by game server age. Use the pagination parameters to retrieve results in a set * of sequential segments.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::ListGameServersOutcome ListGameServers(const Model::ListGameServersRequest& request) const; /** * A Callable wrapper for ListGameServers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListGameServersOutcomeCallable ListGameServersCallable(const ListGameServersRequestT& request) const { return SubmitCallable(&GameLiftClient::ListGameServers, request); } /** * An Async wrapper for ListGameServers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListGameServersAsync(const ListGameServersRequestT& request, const ListGameServersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ListGameServers, request, handler, context); } /** *

Lists all custom and Amazon Web Services locations.

See Also:

* AWS * API Reference

*/ virtual Model::ListLocationsOutcome ListLocations(const Model::ListLocationsRequest& request = {}) const; /** * A Callable wrapper for ListLocations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListLocationsOutcomeCallable ListLocationsCallable(const ListLocationsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListLocations, request); } /** * An Async wrapper for ListLocations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListLocationsAsync(const ListLocationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListLocationsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListLocations, request, handler, context); } /** *

Retrieves script records for all Realtime scripts that are associated with * the Amazon Web Services account in use.

Learn more

Amazon * GameLift Realtime Servers

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::ListScriptsOutcome ListScripts(const Model::ListScriptsRequest& request = {}) const; /** * A Callable wrapper for ListScripts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListScriptsOutcomeCallable ListScriptsCallable(const ListScriptsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::ListScripts, request); } /** * An Async wrapper for ListScripts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListScriptsAsync(const ListScriptsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const ListScriptsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::ListScripts, request, handler, context); } /** *

Retrieves all tags assigned to a Amazon GameLift resource. Use resource tags * to organize Amazon Web Services resources for a range of purposes. This * operation handles the permissions necessary to manage tags for Amazon GameLift * resources that support tagging.

To list tags for a resource, specify the * unique ARN value for the resource.

Learn more

Tagging * Amazon Web Services Resources in the Amazon Web Services General * Reference

* Amazon Web Services Tagging Strategies

Related actions

*

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&GameLiftClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ListTagsForResource, request, handler, context); } /** *

Creates or updates a scaling policy for a fleet. Scaling policies are used to * automatically scale a fleet's hosting capacity to meet player demand. An active * scaling policy instructs Amazon GameLift to track a fleet metric and * automatically change the fleet's capacity when a certain threshold is reached. * There are two types of scaling policies: target-based and rule-based. Use a * target-based policy to quickly and efficiently manage fleet scaling; this option * is the most commonly used. Use rule-based policies when you need to exert * fine-grained control over auto-scaling.

Fleets can have multiple scaling * policies of each type in force at the same time; you can have one target-based * policy, one or multiple rule-based scaling policies, or both. We recommend * caution, however, because multiple auto-scaling policies can have unintended * consequences.

Learn more about how to work with auto-scaling in Set * Up Fleet Automatic Scaling.

Target-based policy

A * target-based policy tracks a single metric: PercentAvailableGameSessions. This * metric tells us how much of a fleet's hosting capacity is ready to host game * sessions but is not currently in use. This is the fleet's buffer; it measures * the additional player demand that the fleet could handle at current capacity. * With a target-based policy, you set your ideal buffer size and leave it to * Amazon GameLift to take whatever action is needed to maintain that target.

*

For example, you might choose to maintain a 10% buffer for a fleet that has * the capacity to host 100 simultaneous game sessions. This policy tells Amazon * GameLift to take action whenever the fleet's available capacity falls below or * rises above 10 game sessions. Amazon GameLift will start new instances or stop * unused instances in order to return to the 10% buffer.

To create or * update a target-based policy, specify a fleet ID and name, and set the policy * type to "TargetBased". Specify the metric to track * (PercentAvailableGameSessions) and reference a TargetConfiguration * object with your desired buffer value. Exclude all other parameters. On a * successful request, the policy name is returned. The scaling policy is * automatically in force as soon as it's successfully created. If the fleet's * auto-scaling actions are temporarily suspended, the new policy will be in force * once the fleet actions are restarted.

Rule-based policy

A * rule-based policy tracks specified fleet metric, sets a threshold value, and * specifies the type of action to initiate when triggered. With a rule-based * policy, you can select from several available fleet metrics. Each policy * specifies whether to scale up or scale down (and by how much), so you need one * policy for each type of action.

For example, a policy may make the * following statement: "If the percentage of idle instances is greater than 20% * for more than 15 minutes, then reduce the fleet capacity by 10%."

A * policy's rule statement has the following structure:

If * [MetricName] is [ComparisonOperator] * [Threshold] for [EvaluationPeriods] minutes, then * [ScalingAdjustmentType] to/by [ScalingAdjustment].

*

To implement the example, the rule statement would look like this:

If * [PercentIdleInstances] is [GreaterThanThreshold] * [20] for [15] minutes, then * [PercentChangeInCapacity] to/by [10].

To create * or update a scaling policy, specify a unique combination of name and fleet ID, * and set the policy type to "RuleBased". Specify the parameter values for a * policy rule statement. On a successful request, the policy name is returned. * Scaling policies are automatically in force as soon as they're successfully * created. If the fleet's auto-scaling actions are temporarily suspended, the new * policy will be in force once the fleet actions are restarted.

See * Also:

AWS * API Reference

*/ virtual Model::PutScalingPolicyOutcome PutScalingPolicy(const Model::PutScalingPolicyRequest& request) const; /** * A Callable wrapper for PutScalingPolicy that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutScalingPolicyOutcomeCallable PutScalingPolicyCallable(const PutScalingPolicyRequestT& request) const { return SubmitCallable(&GameLiftClient::PutScalingPolicy, request); } /** * An Async wrapper for PutScalingPolicy that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutScalingPolicyAsync(const PutScalingPolicyRequestT& request, const PutScalingPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::PutScalingPolicy, request, handler, context); } /** *

Registers a compute resource in an Amazon GameLift Anywhere fleet.

*

For an Anywhere fleet that's running the Amazon GameLift Agent, the Agent * handles all compute registry tasks for you. For an Anywhere fleet that doesn't * use the Agent, call this operation to register fleet computes.

To * register a compute, give the compute a name (must be unique within the fleet) * and specify the compute resource's DNS name or IP address. Provide a fleet ID * and a fleet location to associate with the compute being registered. You can * optionally include the path to a TLS certificate on the compute resource.

*

If successful, this operation returns compute details, including an Amazon * GameLift SDK endpoint or Agent endpoint. Game server processes running on the * compute can use this endpoint to communicate with the Amazon GameLift service. * Each server process includes the SDK endpoint in its call to the Amazon GameLift * server SDK action InitSDK().

To view compute details, call * DescribeCompute * with the compute name.

Learn more

See Also:

* AWS * API Reference

*/ virtual Model::RegisterComputeOutcome RegisterCompute(const Model::RegisterComputeRequest& request) const; /** * A Callable wrapper for RegisterCompute that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RegisterComputeOutcomeCallable RegisterComputeCallable(const RegisterComputeRequestT& request) const { return SubmitCallable(&GameLiftClient::RegisterCompute, request); } /** * An Async wrapper for RegisterCompute that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RegisterComputeAsync(const RegisterComputeRequestT& request, const RegisterComputeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::RegisterCompute, request, handler, context); } /** *

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

Creates a new game server resource and notifies * Amazon GameLift FleetIQ that the game server is ready to host gameplay and * players. This operation is called by a game server process that is running on an * instance in a game server group. Registering game servers enables Amazon * GameLift FleetIQ to track available game servers and enables game clients and * services to claim a game server for a new game session.

To register a * game server, identify the game server group and instance where the game server * is running, and provide a unique identifier for the game server. You can also * include connection and game server data.

Once a game server is * successfully registered, it is put in status AVAILABLE. A request * to register a game server may fail if the instance it is running on is in the * process of shutting down as part of instance balancing or scale-down activity. *

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::RegisterGameServerOutcome RegisterGameServer(const Model::RegisterGameServerRequest& request) const; /** * A Callable wrapper for RegisterGameServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RegisterGameServerOutcomeCallable RegisterGameServerCallable(const RegisterGameServerRequestT& request) const { return SubmitCallable(&GameLiftClient::RegisterGameServer, request); } /** * An Async wrapper for RegisterGameServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RegisterGameServerAsync(const RegisterGameServerRequestT& request, const RegisterGameServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::RegisterGameServer, request, handler, context); } /** *

Retrieves a fresh set of credentials for use when uploading a new set of game * build files to Amazon GameLift's Amazon S3. This is done as part of the build * creation process; see CreateBuild.

*

To request new credentials, specify the build ID as returned with an initial * CreateBuild request. If successful, a new set of credentials are * returned, along with the S3 storage location associated with the build ID.

*

Learn more

* Create a Build with Files in S3

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::RequestUploadCredentialsOutcome RequestUploadCredentials(const Model::RequestUploadCredentialsRequest& request) const; /** * A Callable wrapper for RequestUploadCredentials that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RequestUploadCredentialsOutcomeCallable RequestUploadCredentialsCallable(const RequestUploadCredentialsRequestT& request) const { return SubmitCallable(&GameLiftClient::RequestUploadCredentials, request); } /** * An Async wrapper for RequestUploadCredentials that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RequestUploadCredentialsAsync(const RequestUploadCredentialsRequestT& request, const RequestUploadCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::RequestUploadCredentials, request, handler, context); } /** *

Attempts to retrieve a fleet ID that is associated with an alias. Specify a * unique alias identifier.

If the alias has a SIMPLE routing * strategy, Amazon GameLift returns a fleet ID. If the alias has a * TERMINAL routing strategy, the result is a * TerminalRoutingStrategyException.

Related actions *

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::ResolveAliasOutcome ResolveAlias(const Model::ResolveAliasRequest& request) const; /** * A Callable wrapper for ResolveAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ResolveAliasOutcomeCallable ResolveAliasCallable(const ResolveAliasRequestT& request) const { return SubmitCallable(&GameLiftClient::ResolveAlias, request); } /** * An Async wrapper for ResolveAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ResolveAliasAsync(const ResolveAliasRequestT& request, const ResolveAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ResolveAlias, request, handler, context); } /** *

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

Reinstates activity on a game server group after it * has been suspended. A game server group might be suspended by the SuspendGameServerGroup * operation, or it might be suspended involuntarily due to a configuration * problem. In the second case, you can manually resume activity on the group once * the configuration problem has been resolved. Refer to the game server group * status and status reason for more information on why group activity is * suspended.

To resume activity, specify a game server group ARN and the * type of activity to be resumed. If successful, a GameServerGroup * object is returned showing that the resumed activity is no longer listed in * SuspendedActions.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::ResumeGameServerGroupOutcome ResumeGameServerGroup(const Model::ResumeGameServerGroupRequest& request) const; /** * A Callable wrapper for ResumeGameServerGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ResumeGameServerGroupOutcomeCallable ResumeGameServerGroupCallable(const ResumeGameServerGroupRequestT& request) const { return SubmitCallable(&GameLiftClient::ResumeGameServerGroup, request); } /** * An Async wrapper for ResumeGameServerGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ResumeGameServerGroupAsync(const ResumeGameServerGroupRequestT& request, const ResumeGameServerGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ResumeGameServerGroup, request, handler, context); } /** *

Retrieves all active game sessions that match a set of search criteria and * sorts them into a specified order.

This operation is not designed to * continually track game session status because that practice can cause you to * exceed your API limit and generate errors. Instead, configure an Amazon Simple * Notification Service (Amazon SNS) topic to receive notifications from a * matchmaker or a game session placement queue.

When searching for game * sessions, you specify exactly where you want to search and provide a search * filter expression, a sort expression, or both. A search request can search only * one fleet, but it can search all of a fleet's locations.

This operation * can be used in the following ways:

  • To search all game sessions * that are currently running on all locations in a fleet, provide a fleet or alias * ID. This approach returns game sessions in the fleet's home Region and all * remote locations that fit the search criteria.

  • To search all * game sessions that are currently running on a specific fleet location, provide a * fleet or alias ID and a location name. For location, you can specify a fleet's * home Region or any remote location.

Use the pagination * parameters to retrieve results as a set of sequential pages.

If * successful, a GameSession object is returned for each game session * that matches the request. Search finds game sessions that are in * ACTIVE status only. To retrieve information on game sessions in * other statuses, use DescribeGameSessions * .

To set search and sort criteria, create a filter expression using the * following game session attributes. For game session search examples, see the * Examples section of this topic.

  • gameSessionId -- A * unique identifier for the game session. You can use either a * GameSessionId or GameSessionArn value.

  • *

    gameSessionName -- Name assigned to a game session. Game session * names do not need to be unique to a game session.

  • * gameSessionProperties -- A set of key-value pairs that can store custom * data in a game session. For example: {"Key": "difficulty", "Value": * "novice"}. The filter expression must specify the GameProperty -- * a Key and a string Value to search for the game * sessions.

    For example, to search for the above key-value pair, specify * the following search filter: gameSessionProperties.difficulty = * "novice". All game property values are searched as strings.

    For * examples of searching game sessions, see the ones below, and also see Search * game sessions by game property.

  • maximumSessions * -- Maximum number of player sessions allowed for a game session.

  • *

    creationTimeMillis -- Value indicating when a game session was * created. It is expressed in Unix time as milliseconds.

  • * playerSessionCount -- Number of players currently connected to a game * session. This value changes rapidly as players join the session or drop out.

    *
  • hasAvailablePlayerSessions -- Boolean value indicating * whether a game session has reached its maximum number of players. It is highly * recommended that all search requests include this filter attribute to optimize * search performance and return only sessions that players can join.

  • *

Returned values for playerSessionCount and * hasAvailablePlayerSessions change quickly as players join sessions * and others drop out. Results should be considered a snapshot in time. Be sure to * refresh search results often, and handle sessions that fill up before a player * can join.

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::SearchGameSessionsOutcome SearchGameSessions(const Model::SearchGameSessionsRequest& request = {}) const; /** * A Callable wrapper for SearchGameSessions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SearchGameSessionsOutcomeCallable SearchGameSessionsCallable(const SearchGameSessionsRequestT& request = {}) const { return SubmitCallable(&GameLiftClient::SearchGameSessions, request); } /** * An Async wrapper for SearchGameSessions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SearchGameSessionsAsync(const SearchGameSessionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr, const SearchGameSessionsRequestT& request = {}) const { return SubmitAsync(&GameLiftClient::SearchGameSessions, request, handler, context); } /** *

Resumes certain types of activity on fleet instances that were suspended with * StopFleetActions. * For multi-location fleets, fleet actions are managed separately for each * location. Currently, this operation is used to restart a fleet's auto-scaling * activity.

This operation can be used in the following ways:

    *
  • To restart actions on instances in the fleet's home Region, provide a * fleet ID and the type of actions to resume.

  • To restart * actions on instances in one of the fleet's remote locations, provide a fleet ID, * a location name, and the type of actions to resume.

If * successful, Amazon GameLift once again initiates scaling events as triggered by * the fleet's scaling policies. If actions on the fleet location were never * stopped, this operation will have no effect.

Learn more

* Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::StartFleetActionsOutcome StartFleetActions(const Model::StartFleetActionsRequest& request) const; /** * A Callable wrapper for StartFleetActions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartFleetActionsOutcomeCallable StartFleetActionsCallable(const StartFleetActionsRequestT& request) const { return SubmitCallable(&GameLiftClient::StartFleetActions, request); } /** * An Async wrapper for StartFleetActions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartFleetActionsAsync(const StartFleetActionsRequestT& request, const StartFleetActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::StartFleetActions, request, handler, context); } /** *

Places a request for a new game session in a queue. When processing a * placement request, Amazon GameLift searches for available resources on the * queue's destinations, scanning each until it finds resources or the placement * request times out.

A game session placement request can also request * player sessions. When a new game session is successfully created, Amazon * GameLift creates a player session for each player included in the request.

*

When placing a game session, by default Amazon GameLift tries each fleet in * the order they are listed in the queue configuration. Ideally, a queue's * destinations are listed in preference order.

Alternatively, when * requesting a game session with players, you can also provide latency data for * each player in relevant Regions. Latency data indicates the performance lag a * player experiences when connected to a fleet in the Region. Amazon GameLift uses * latency data to reorder the list of destinations to place the game session in a * Region with minimal lag. If latency data is provided for multiple players, * Amazon GameLift calculates each Region's average lag for all players and * reorders to get the best game play across all players.

To place a new * game session request, specify the following:

  • The queue name and * a set of game session properties and settings

  • A unique ID * (such as a UUID) for the placement. You use this ID to track the status of the * placement request

  • (Optional) A set of player data and a unique * player ID for each player that you are joining to the new game session (player * data is optional, but if you include it, you must also provide a unique ID for * each player)

  • Latency data for all players (if you want to * optimize game play for the players)

If successful, a new game * session placement is created.

To track the status of a placement request, * call DescribeGameSessionPlacement * and check the request's status. If the status is FULFILLED, a new * game session has been created and a game session ARN and Region are referenced. * If the placement request times out, submit a new request to the same queue or a * different queue.

See Also:

AWS * API Reference

*/ virtual Model::StartGameSessionPlacementOutcome StartGameSessionPlacement(const Model::StartGameSessionPlacementRequest& request) const; /** * A Callable wrapper for StartGameSessionPlacement that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartGameSessionPlacementOutcomeCallable StartGameSessionPlacementCallable(const StartGameSessionPlacementRequestT& request) const { return SubmitCallable(&GameLiftClient::StartGameSessionPlacement, request); } /** * An Async wrapper for StartGameSessionPlacement that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartGameSessionPlacementAsync(const StartGameSessionPlacementRequestT& request, const StartGameSessionPlacementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::StartGameSessionPlacement, request, handler, context); } /** *

Finds new players to fill open slots in currently running game sessions. The * backfill match process is essentially identical to the process of forming new * matches. Backfill requests use the same matchmaker that was used to make the * original match, and they provide matchmaking data for all players currently in * the game session. FlexMatch uses this information to select new players so that * backfilled match continues to meet the original match requirements.

When * using FlexMatch with Amazon GameLift managed hosting, you can request a backfill * match from a client service by calling this operation with a * GameSessions ID. You also have the option of making backfill * requests directly from your game server. In response to a request, FlexMatch * creates player sessions for the new players, updates the * GameSession resource, and sends updated matchmaking data to the * game server. You can request a backfill match at any point after a game session * is started. Each game session can have only one active backfill request at a * time; a subsequent request automatically replaces the earlier request.

*

When using FlexMatch as a standalone component, request a backfill match by * calling this operation without a game session identifier. As with newly formed * matches, matchmaking results are returned in a matchmaking event so that your * game can update the game session that is being backfilled.

To request a * backfill match, specify a unique ticket ID, the original matchmaking * configuration, and matchmaking data for all current players in the game session * being backfilled. Optionally, specify the GameSession ARN. If * successful, a match backfill ticket is created and returned with status set to * QUEUED. Track the status of backfill tickets using the same method for tracking * tickets for new matches.

Only game sessions created by FlexMatch are * supported for match backfill.

Learn more

* Backfill existing games with FlexMatch

* Matchmaking events (reference)

* How Amazon GameLift FlexMatch works

See Also:

AWS * API Reference

*/ virtual Model::StartMatchBackfillOutcome StartMatchBackfill(const Model::StartMatchBackfillRequest& request) const; /** * A Callable wrapper for StartMatchBackfill that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartMatchBackfillOutcomeCallable StartMatchBackfillCallable(const StartMatchBackfillRequestT& request) const { return SubmitCallable(&GameLiftClient::StartMatchBackfill, request); } /** * An Async wrapper for StartMatchBackfill that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartMatchBackfillAsync(const StartMatchBackfillRequestT& request, const StartMatchBackfillResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::StartMatchBackfill, request, handler, context); } /** *

Uses FlexMatch to create a game match for a group of players based on custom * matchmaking rules. With games that use Amazon GameLift managed hosting, this * operation also triggers Amazon GameLift to find hosting resources and start a * new game session for the new match. Each matchmaking request includes * information on one or more players and specifies the FlexMatch matchmaker to * use. When a request is for multiple players, FlexMatch attempts to build a match * that includes all players in the request, placing them in the same team and * finding additional players as needed to fill the match.

To start * matchmaking, provide a unique ticket ID, specify a matchmaking configuration, * and include the players to be matched. You must also include any player * attributes that are required by the matchmaking configuration's rule set. If * successful, a matchmaking ticket is returned with status set to * QUEUED.

Track matchmaking events to respond as needed and * acquire game session connection information for successfully completed matches. * Ticket status updates are tracked using event notification through Amazon Simple * Notification Service, which is defined in the matchmaking configuration.

* Learn more

* Add FlexMatch to a game client

* Set Up FlexMatch event notification

* How Amazon GameLift FlexMatch works

See Also:

AWS * API Reference

*/ virtual Model::StartMatchmakingOutcome StartMatchmaking(const Model::StartMatchmakingRequest& request) const; /** * A Callable wrapper for StartMatchmaking that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartMatchmakingOutcomeCallable StartMatchmakingCallable(const StartMatchmakingRequestT& request) const { return SubmitCallable(&GameLiftClient::StartMatchmaking, request); } /** * An Async wrapper for StartMatchmaking that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartMatchmakingAsync(const StartMatchmakingRequestT& request, const StartMatchmakingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::StartMatchmaking, request, handler, context); } /** *

Suspends certain types of activity in a fleet location. Currently, this * operation is used to stop auto-scaling activity. For multi-location fleets, * fleet actions are managed separately for each location.

Stopping fleet * actions has several potential purposes. It allows you to temporarily stop * auto-scaling activity but retain your scaling policies for use in the future. * For multi-location fleets, you can set up fleet-wide auto-scaling, and then opt * out of it for certain locations.

This operation can be used in the * following ways:

  • To stop actions on instances in the fleet's * home Region, provide a fleet ID and the type of actions to suspend.

  • *
  • To stop actions on instances in one of the fleet's remote locations, * provide a fleet ID, a location name, and the type of actions to suspend.

    *

If successful, Amazon GameLift no longer initiates scaling events * except in response to manual changes using UpdateFleetCapacity. * To restart fleet actions again, call StartFleetActions.

*

Learn more

Setting * up Amazon GameLift Fleets

See Also:

AWS * API Reference

*/ virtual Model::StopFleetActionsOutcome StopFleetActions(const Model::StopFleetActionsRequest& request) const; /** * A Callable wrapper for StopFleetActions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopFleetActionsOutcomeCallable StopFleetActionsCallable(const StopFleetActionsRequestT& request) const { return SubmitCallable(&GameLiftClient::StopFleetActions, request); } /** * An Async wrapper for StopFleetActions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopFleetActionsAsync(const StopFleetActionsRequestT& request, const StopFleetActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::StopFleetActions, request, handler, context); } /** *

Cancels a game session placement that is in PENDING status. To * stop a placement, provide the placement ID values. If successful, the placement * is moved to CANCELLED status.

See Also:

AWS * API Reference

*/ virtual Model::StopGameSessionPlacementOutcome StopGameSessionPlacement(const Model::StopGameSessionPlacementRequest& request) const; /** * A Callable wrapper for StopGameSessionPlacement that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopGameSessionPlacementOutcomeCallable StopGameSessionPlacementCallable(const StopGameSessionPlacementRequestT& request) const { return SubmitCallable(&GameLiftClient::StopGameSessionPlacement, request); } /** * An Async wrapper for StopGameSessionPlacement that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopGameSessionPlacementAsync(const StopGameSessionPlacementRequestT& request, const StopGameSessionPlacementResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::StopGameSessionPlacement, request, handler, context); } /** *

Cancels a matchmaking ticket or match backfill ticket that is currently being * processed. To stop the matchmaking operation, specify the ticket ID. If * successful, work on the ticket is stopped, and the ticket status is changed to * CANCELLED.

This call is also used to turn off automatic * backfill for an individual game session. This is for game sessions that are * created with a matchmaking configuration that has automatic backfill enabled. * The ticket ID is included in the MatchmakerData of an updated game * session object, which is provided to the game server.

If the * operation is successful, the service sends back an empty JSON struct with the * HTTP 200 response (not an empty HTTP body).

Learn more *

* Add FlexMatch to a game client

See Also:

AWS * API Reference

*/ virtual Model::StopMatchmakingOutcome StopMatchmaking(const Model::StopMatchmakingRequest& request) const; /** * A Callable wrapper for StopMatchmaking that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopMatchmakingOutcomeCallable StopMatchmakingCallable(const StopMatchmakingRequestT& request) const { return SubmitCallable(&GameLiftClient::StopMatchmaking, request); } /** * An Async wrapper for StopMatchmaking that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopMatchmakingAsync(const StopMatchmakingRequestT& request, const StopMatchmakingResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::StopMatchmaking, request, handler, context); } /** *

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

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

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

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

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::SuspendGameServerGroupOutcome SuspendGameServerGroup(const Model::SuspendGameServerGroupRequest& request) const; /** * A Callable wrapper for SuspendGameServerGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::SuspendGameServerGroupOutcomeCallable SuspendGameServerGroupCallable(const SuspendGameServerGroupRequestT& request) const { return SubmitCallable(&GameLiftClient::SuspendGameServerGroup, request); } /** * An Async wrapper for SuspendGameServerGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void SuspendGameServerGroupAsync(const SuspendGameServerGroupRequestT& request, const SuspendGameServerGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::SuspendGameServerGroup, request, handler, context); } /** *

Assigns a tag to an Amazon GameLift resource. You can use tags to organize * resources, create IAM permissions policies to manage access to groups of * resources, customize Amazon Web Services cost breakdowns, and more. This * operation handles the permissions necessary to manage tags for Amazon GameLift * resources that support tagging.

To add a tag to a resource, specify the * unique ARN value for the resource and provide a tag list containing one or more * tags. The operation succeeds even if the list includes tags that are already * assigned to the resource.

Learn more

Tagging * Amazon Web Services Resources in the Amazon Web Services General * Reference

* Amazon Web Services Tagging Strategies

Related actions

*

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&GameLiftClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::TagResource, request, handler, context); } /** *

Removes a tag assigned to a Amazon GameLift resource. You can use resource * tags to organize Amazon Web Services resources for a range of purposes. This * operation handles the permissions necessary to manage tags for Amazon GameLift * resources that support tagging.

To remove a tag from a resource, specify * the unique ARN value for the resource and provide a string list containing one * or more tags to remove. This operation succeeds even if the list includes tags * that aren't assigned to the resource.

Learn more

Tagging * Amazon Web Services Resources in the Amazon Web Services General * Reference

* Amazon Web Services Tagging Strategies

Related actions

*

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&GameLiftClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UntagResource, request, handler, context); } /** *

Updates properties for an alias. Specify the unique identifier of the alias * to be updated and the new property values. When reassigning an alias to a new * fleet, provide an updated routing strategy. If successful, the updated alias * record is returned.

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::UpdateAliasOutcome UpdateAlias(const Model::UpdateAliasRequest& request) const; /** * A Callable wrapper for UpdateAlias that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateAliasOutcomeCallable UpdateAliasCallable(const UpdateAliasRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateAlias, request); } /** * An Async wrapper for UpdateAlias that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateAliasAsync(const UpdateAliasRequestT& request, const UpdateAliasResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateAlias, request, handler, context); } /** *

Updates metadata in a build resource, 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.

Learn more

* Upload a Custom Server Build

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::UpdateBuildOutcome UpdateBuild(const Model::UpdateBuildRequest& request) const; /** * A Callable wrapper for UpdateBuild that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateBuildOutcomeCallable UpdateBuildCallable(const UpdateBuildRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateBuild, request); } /** * An Async wrapper for UpdateBuild that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateBuildAsync(const UpdateBuildRequestT& request, const UpdateBuildResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateBuild, request, handler, context); } /** *

Updates the properties of a managed container fleet. Depending on the * properties being updated, this operation might initiate a fleet deployment. You * can track deployments for a fleet using DescribeFleetDeployment.

* Request options

As with CreateContainerFleet, many fleet * properties use common defaults or are calculated based on the fleet's container * group definitions.

  • Update fleet properties that result in a * fleet deployment. Include only those properties that you want to change. Specify * deployment configuration settings.

  • Update fleet properties * that don't result in a fleet deployment. Include only those properties that you * want to change.

Changes to the following properties initiate * a fleet deployment:

  • * GameServerContainerGroupDefinition

  • * PerInstanceContainerGroupDefinition

  • * GameServerContainerGroupsPerInstance

  • * InstanceInboundPermissions

  • * InstanceConnectionPortRange

  • * LogConfiguration

Results

If * successful, this operation updates the container fleet resource, and might * initiate a new deployment of fleet resources using the deployment configuration * provided. A deployment replaces existing fleet instances with new instances that * are deployed with the updated fleet properties. The fleet is placed in * UPDATING status until the deployment is complete, then return to * ACTIVE.

You can have only one update deployment active at a * time for a fleet. If a second update request initiates a deployment while * another deployment is in progress, the first deployment is * cancelled.

See Also:

AWS * API Reference

*/ virtual Model::UpdateContainerFleetOutcome UpdateContainerFleet(const Model::UpdateContainerFleetRequest& request) const; /** * A Callable wrapper for UpdateContainerFleet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateContainerFleetOutcomeCallable UpdateContainerFleetCallable(const UpdateContainerFleetRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateContainerFleet, request); } /** * An Async wrapper for UpdateContainerFleet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateContainerFleetAsync(const UpdateContainerFleetRequestT& request, const UpdateContainerFleetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateContainerFleet, request, handler, context); } /** *

Updates properties in an existing container group definition. This operation * doesn't replace the definition. Instead, it creates a new version of the * definition and saves it separately. You can access all versions that you choose * to retain.

The only property you can't update is the container group * type.

Request options:

  • Update based on the * latest version of the container group definition. Specify the container group * definition name only, or use an ARN value without a version number. Provide * updated values for the properties that you want to change only. All other values * remain the same as the latest version.

  • Update based on a * specific version of the container group definition. Specify the container group * definition name and a source version number, or use an ARN value with a version * number. Provide updated values for the properties that you want to change only. * All other values remain the same as the source version.

  • Change * a game server container definition. Provide the updated container * definition.

  • Add or change a support container definition. * Provide a complete set of container definitions, including the updated * definition.

  • Remove a support container definition. Provide a * complete set of container definitions, excluding the definition to remove. If * the container group has only one support container definition, provide an empty * set.

Results:

If successful, this operation * returns the complete properties of the new container group definition * version.

If the container group definition version is used in an active * fleets, the update automatically initiates a new fleet deployment of the new * version. You can track a fleet's deployments using * ListFleetDeployments.

See Also:

AWS * API Reference

*/ virtual Model::UpdateContainerGroupDefinitionOutcome UpdateContainerGroupDefinition(const Model::UpdateContainerGroupDefinitionRequest& request) const; /** * A Callable wrapper for UpdateContainerGroupDefinition that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateContainerGroupDefinitionOutcomeCallable UpdateContainerGroupDefinitionCallable(const UpdateContainerGroupDefinitionRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateContainerGroupDefinition, request); } /** * An Async wrapper for UpdateContainerGroupDefinition that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateContainerGroupDefinitionAsync(const UpdateContainerGroupDefinitionRequestT& request, const UpdateContainerGroupDefinitionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateContainerGroupDefinition, request, handler, context); } /** *

Updates a fleet's mutable attributes, such as game session protection and * resource creation limits.

To update fleet attributes, specify the fleet * ID and the property values that you want to change. If successful, Amazon * GameLift returns the identifiers for the updated fleet.

Learn * more

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::UpdateFleetAttributesOutcome UpdateFleetAttributes(const Model::UpdateFleetAttributesRequest& request) const; /** * A Callable wrapper for UpdateFleetAttributes that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateFleetAttributesOutcomeCallable UpdateFleetAttributesCallable(const UpdateFleetAttributesRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateFleetAttributes, request); } /** * An Async wrapper for UpdateFleetAttributes that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateFleetAttributesAsync(const UpdateFleetAttributesRequestT& request, const UpdateFleetAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateFleetAttributes, request, handler, context); } /** *

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

Use this operation to set these fleet capacity properties: *

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

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

    *

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

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

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

*

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

Learn more

Scaling * fleet capacity

See Also:

AWS * API Reference

*/ virtual Model::UpdateFleetCapacityOutcome UpdateFleetCapacity(const Model::UpdateFleetCapacityRequest& request) const; /** * A Callable wrapper for UpdateFleetCapacity that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateFleetCapacityOutcomeCallable UpdateFleetCapacityCallable(const UpdateFleetCapacityRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateFleetCapacity, request); } /** * An Async wrapper for UpdateFleetCapacity that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateFleetCapacityAsync(const UpdateFleetCapacityRequestT& request, const UpdateFleetCapacityResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateFleetCapacity, request, handler, context); } /** *

Updates permissions that allow inbound traffic to connect to game sessions in * the fleet.

To update settings, specify the fleet ID to be updated and * specify the changes to be made. 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.

For a container fleet, inbound * permissions must specify port numbers that are defined in the fleet's connection * port settings.

If successful, the fleet ID for the updated fleet is * returned. For fleets with remote locations, port setting updates can take time * to propagate across all locations. You can check the status of updates in each * location by calling DescribeFleetPortSettings with a location * name.

Learn more

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::UpdateFleetPortSettingsOutcome UpdateFleetPortSettings(const Model::UpdateFleetPortSettingsRequest& request) const; /** * A Callable wrapper for UpdateFleetPortSettings that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateFleetPortSettingsOutcomeCallable UpdateFleetPortSettingsCallable(const UpdateFleetPortSettingsRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateFleetPortSettings, request); } /** * An Async wrapper for UpdateFleetPortSettings that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateFleetPortSettingsAsync(const UpdateFleetPortSettingsRequestT& request, const UpdateFleetPortSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateFleetPortSettings, request, handler, context); } /** *

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

Updates information about a registered game server to * help Amazon GameLift FleetIQ track game server availability. This operation is * called by a game server process that is running on an instance in a game server * group.

Use this operation to update the following types of game server * information. You can make all three types of updates in the same request:

*
  • To update the game server's utilization status from * AVAILABLE (when the game server is available to be claimed) to * UTILIZED (when the game server is currently hosting games). * Identify the game server and game server group and specify the new utilization * status. You can't change the status from to UTILIZED to * AVAILABLE .

  • To report health status, identify the * game server and game server group and set health check to HEALTHY. * If a game server does not report health status for a certain length of time, the * game server is no longer considered healthy. As a result, it will be eventually * deregistered from the game server group to avoid affecting utilization metrics. * The best practice is to report health every 60 seconds.

  • To * change game server metadata, provide updated game server data.

*

Once a game server is successfully updated, the relevant statuses and * timestamps are updated.

Learn more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::UpdateGameServerOutcome UpdateGameServer(const Model::UpdateGameServerRequest& request) const; /** * A Callable wrapper for UpdateGameServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateGameServerOutcomeCallable UpdateGameServerCallable(const UpdateGameServerRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateGameServer, request); } /** * An Async wrapper for UpdateGameServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateGameServerAsync(const UpdateGameServerRequestT& request, const UpdateGameServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateGameServer, request, handler, context); } /** *

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

Updates Amazon GameLift FleetIQ-specific properties * for a game server group. Many Auto Scaling group properties are updated on the * Auto Scaling group directly, including the launch template, Auto Scaling * policies, and maximum/minimum/desired instance counts.

To update the game * server group, specify the game server group ID and provide the updated values. * Before applying the updates, the new values are validated to ensure that Amazon * GameLift FleetIQ can continue to perform instance balancing activity. If * successful, a GameServerGroup object is returned.

Learn * more

Amazon * GameLift FleetIQ Guide

See Also:

AWS * API Reference

*/ virtual Model::UpdateGameServerGroupOutcome UpdateGameServerGroup(const Model::UpdateGameServerGroupRequest& request) const; /** * A Callable wrapper for UpdateGameServerGroup that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateGameServerGroupOutcomeCallable UpdateGameServerGroupCallable(const UpdateGameServerGroupRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateGameServerGroup, request); } /** * An Async wrapper for UpdateGameServerGroup that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateGameServerGroupAsync(const UpdateGameServerGroupRequestT& request, const UpdateGameServerGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateGameServerGroup, request, handler, context); } /** *

Updates the mutable properties of a game session.

To update a game * session, specify the game session ID and the values you want to change.

*

If successful, the updated GameSession object is returned.

*

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::UpdateGameSessionOutcome UpdateGameSession(const Model::UpdateGameSessionRequest& request) const; /** * A Callable wrapper for UpdateGameSession that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateGameSessionOutcomeCallable UpdateGameSessionCallable(const UpdateGameSessionRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateGameSession, request); } /** * An Async wrapper for UpdateGameSession that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateGameSessionAsync(const UpdateGameSessionRequestT& request, const UpdateGameSessionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateGameSession, request, handler, context); } /** *

Updates the configuration of a game session queue, which determines how the * queue processes new game session requests. To update settings, specify the queue * name to be updated and provide the new settings. When updating destinations, * provide a complete list of destinations.

Learn more

* Using Multi-Region Queues

See Also:

AWS * API Reference

*/ virtual Model::UpdateGameSessionQueueOutcome UpdateGameSessionQueue(const Model::UpdateGameSessionQueueRequest& request) const; /** * A Callable wrapper for UpdateGameSessionQueue that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateGameSessionQueueOutcomeCallable UpdateGameSessionQueueCallable(const UpdateGameSessionQueueRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateGameSessionQueue, request); } /** * An Async wrapper for UpdateGameSessionQueue that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateGameSessionQueueAsync(const UpdateGameSessionQueueRequestT& request, const UpdateGameSessionQueueResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateGameSessionQueue, request, handler, context); } /** *

Updates settings for a FlexMatch matchmaking configuration. These changes * affect all matches and game sessions that are created after the update. To * update settings, specify the configuration name to be updated and provide the * new settings.

Learn more

* Design a FlexMatch matchmaker

See Also:

AWS * API Reference

*/ virtual Model::UpdateMatchmakingConfigurationOutcome UpdateMatchmakingConfiguration(const Model::UpdateMatchmakingConfigurationRequest& request) const; /** * A Callable wrapper for UpdateMatchmakingConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateMatchmakingConfigurationOutcomeCallable UpdateMatchmakingConfigurationCallable(const UpdateMatchmakingConfigurationRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateMatchmakingConfiguration, request); } /** * An Async wrapper for UpdateMatchmakingConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateMatchmakingConfigurationAsync(const UpdateMatchmakingConfigurationRequestT& request, const UpdateMatchmakingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateMatchmakingConfiguration, request, handler, context); } /** *

Updates the runtime configuration for the specified fleet. The runtime * configuration tells Amazon GameLift how to launch server processes on computes * in managed EC2 and Anywhere fleets. You can update a fleet's runtime * configuration at any time after the fleet is created; it does not need to be in * ACTIVE status.

To update runtime configuration, specify the * fleet ID and provide a RuntimeConfiguration with an updated set of * server process configurations.

If successful, the fleet's runtime * configuration settings are updated. Fleet computes that run game server * processes regularly check for and receive updated runtime configurations. The * computes immediately take action to comply with the new configuration by * launching new server processes or by not replacing existing processes when they * shut down. Updating a fleet's runtime configuration never affects existing * server processes.

Learn more

Setting * up Amazon GameLift fleets

See Also:

AWS * API Reference

*/ virtual Model::UpdateRuntimeConfigurationOutcome UpdateRuntimeConfiguration(const Model::UpdateRuntimeConfigurationRequest& request) const; /** * A Callable wrapper for UpdateRuntimeConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateRuntimeConfigurationOutcomeCallable UpdateRuntimeConfigurationCallable(const UpdateRuntimeConfigurationRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateRuntimeConfiguration, request); } /** * An Async wrapper for UpdateRuntimeConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateRuntimeConfigurationAsync(const UpdateRuntimeConfigurationRequestT& request, const UpdateRuntimeConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateRuntimeConfiguration, request, handler, context); } /** *

Updates Realtime script metadata and content.

To update script * metadata, specify the script ID and provide updated name and/or version values. *

To update script content, provide an updated zip file by pointing to * either a local file or an Amazon S3 bucket location. You can use either method * regardless of how the original script was uploaded. Use the Version * parameter to track updates to the script.

If the call is successful, the * updated metadata is stored in the script record and a revised script is uploaded * to the Amazon GameLift service. Once the script is updated and acquired by a * fleet instance, the new version is used for all new game sessions.

* Learn more

Amazon * GameLift Realtime Servers

Related actions

All * APIs by task

See Also:

AWS * API Reference

*/ virtual Model::UpdateScriptOutcome UpdateScript(const Model::UpdateScriptRequest& request) const; /** * A Callable wrapper for UpdateScript that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateScriptOutcomeCallable UpdateScriptCallable(const UpdateScriptRequestT& request) const { return SubmitCallable(&GameLiftClient::UpdateScript, request); } /** * An Async wrapper for UpdateScript that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateScriptAsync(const UpdateScriptRequestT& request, const UpdateScriptResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::UpdateScript, request, handler, context); } /** *

Validates the syntax of a matchmaking rule or rule set. This operation checks * that the rule set is using syntactically correct JSON and that it conforms to * allowed property expressions. To validate syntax, provide a rule set JSON * string.

Learn more

See Also:

AWS * API Reference

*/ virtual Model::ValidateMatchmakingRuleSetOutcome ValidateMatchmakingRuleSet(const Model::ValidateMatchmakingRuleSetRequest& request) const; /** * A Callable wrapper for ValidateMatchmakingRuleSet that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ValidateMatchmakingRuleSetOutcomeCallable ValidateMatchmakingRuleSetCallable(const ValidateMatchmakingRuleSetRequestT& request) const { return SubmitCallable(&GameLiftClient::ValidateMatchmakingRuleSet, request); } /** * An Async wrapper for ValidateMatchmakingRuleSet that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ValidateMatchmakingRuleSetAsync(const ValidateMatchmakingRuleSetRequestT& request, const ValidateMatchmakingRuleSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&GameLiftClient::ValidateMatchmakingRuleSet, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const GameLiftClientConfiguration& clientConfiguration); GameLiftClientConfiguration m_clientConfiguration; std::shared_ptr m_endpointProvider; }; } // namespace GameLift } // namespace Aws