All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.gamelift.AmazonGameLiftClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS GameLift module holds the client classes that are used for communicating with AWS GameLift service.

There is a newer version: 1.11.8
Show newest version
/*
 * Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.gamelift;

import org.w3c.dom.*;

import java.net.*;
import java.util.*;
import java.util.Map.Entry;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;

import com.amazonaws.AmazonServiceException;

import com.amazonaws.services.gamelift.model.*;
import com.amazonaws.services.gamelift.model.transform.*;

/**
 * Client for accessing Amazon GameLift. All service calls made using this client are blocking, and will not return
 * until the service call completes.
 * 

* Amazon GameLift Service *

* Welcome to the Amazon GameLift API Reference. Amazon GameLift is a managed Amazon Web Services (AWS) service * for developers who need a scalable, server-based solution for multiplayer games. Amazon GameLift provides setup and * deployment of game servers, and handles infrastructure scaling and session management. *

*

* This reference describes the low-level service API for GameLift. You can call this API directly or use the AWS SDK for your preferred language. The AWS SDK includes a set of * high-level GameLift actions multiplayer game sessions. Alternatively, you can use the AWS command-line interface (CLI) tool, which includes commands for GameLift. * For administrative actions, you can also use the Amazon GameLift console. *

*

* More Resources *

* *

* Manage Games and Players Through GameLift *

*

* Call these actions from your game clients and/or services to create and manage multiplayer game sessions and player * sessions. *

* *

* Set Up and Manage Game Servers *

*

* Use these administrative actions to configure GameLift to host your game servers. When setting up GameLift, you'll * need to (1) configure a build for your game and upload build files, and (2) set up one or more fleets to host game * sessions. Once you've created and activated a fleet, you can assign aliases to it, scale capacity, track performance * and utilization, etc. *

* *

* To view changes to the API, see the GameLift Document History page. *

*/ @ThreadSafe public class AmazonGameLiftClient extends AmazonWebServiceClient implements AmazonGameLift { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AmazonGameLift.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "gamelift"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final SdkJsonProtocolFactory protocolFactory = new SdkJsonProtocolFactory(new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidRequestException").withModeledClass( com.amazonaws.services.gamelift.model.InvalidRequestException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("GameSessionFullException").withModeledClass( com.amazonaws.services.gamelift.model.GameSessionFullException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("NotFoundException").withModeledClass( com.amazonaws.services.gamelift.model.NotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("UnauthorizedException").withModeledClass( com.amazonaws.services.gamelift.model.UnauthorizedException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("LimitExceededException").withModeledClass( com.amazonaws.services.gamelift.model.LimitExceededException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidFleetStatusException").withModeledClass( com.amazonaws.services.gamelift.model.InvalidFleetStatusException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("FleetCapacityExceededException").withModeledClass( com.amazonaws.services.gamelift.model.FleetCapacityExceededException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ConflictException").withModeledClass( com.amazonaws.services.gamelift.model.ConflictException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TerminalRoutingStrategyException").withModeledClass( com.amazonaws.services.gamelift.model.TerminalRoutingStrategyException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidGameSessionStatusException").withModeledClass( com.amazonaws.services.gamelift.model.InvalidGameSessionStatusException.class)) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InternalServiceException").withModeledClass( com.amazonaws.services.gamelift.model.InternalServiceException.class)) .withBaseServiceExceptionClass(com.amazonaws.services.gamelift.model.AmazonGameLiftException.class)); /** * Constructs a new client to invoke service methods on Amazon GameLift. A credentials provider chain will be used * that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain */ public AmazonGameLiftClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon GameLift. A credentials provider chain will be used * that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon GameLift (ex: proxy * settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AmazonGameLiftClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on Amazon GameLift using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. */ public AmazonGameLiftClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon GameLift using the specified AWS account credentials * and client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon GameLift (ex: proxy * settings, retry counts, etc.). */ public AmazonGameLiftClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); init(); } /** * Constructs a new client to invoke service methods on Amazon GameLift using the specified AWS account credentials * provider. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. */ public AmazonGameLiftClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon GameLift using the specified AWS account credentials * provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon GameLift (ex: proxy * settings, retry counts, etc.). */ public AmazonGameLiftClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on Amazon GameLift using the specified AWS account credentials * provider, client configuration options, and request metric collector. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon GameLift (ex: proxy * settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector */ public AmazonGameLiftClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } /** * Constructs a new client to invoke service methods on Amazon GameLift using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AmazonGameLiftClient(AwsSyncClientParams clientParams) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("https://gamelift.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/gamelift/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/gamelift/request.handler2s")); } /** *

* Creates an alias for a fleet. You can use an alias to anonymize your fleet by referencing an alias instead of a * specific fleet when you create game sessions. Amazon GameLift supports two types of routing strategies for * aliases: simple and terminal. Use a simple alias to point to an active fleet. Use a terminal alias to display a * message to incoming traffic instead of routing players to an active fleet. This option is useful when a game * server is no longer supported but you want to provide better messaging than a standard 404 error. *

*

* To create a fleet alias, specify an alias name, routing strategy, and optional description. If successful, a new * alias record is returned, including an alias ID, which you can reference when creating a game session. To * reassign the alias to another fleet ID, call UpdateAlias. *

* * @param createAliasRequest * Represents the input for a request action. * @return Result of the CreateAlias operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws LimitExceededException * The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue * before retrying. * @sample AmazonGameLift.CreateAlias */ @Override public CreateAliasResult createAlias(CreateAliasRequest createAliasRequest) { ExecutionContext executionContext = createExecutionContext(createAliasRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateAliasRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(createAliasRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateAliasResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Initializes a new build record and generates information required to upload a game build to Amazon GameLift. Once * the build record has been created and its status is INITIALIZED, you can upload your game build. *

* *

* Do not use this API action unless you are using your own Amazon Simple Storage Service (Amazon S3) client and * need to manually upload your build files. Instead, to create a build, use the CLI command * upload-build, which creates a new build record and uploads the build files in one step. (See the Amazon GameLift * Developer Guide help on packaging and uploading your build.) *

*
*

* To create a new build, identify the operating system of the game server binaries. All game servers in a build * must use the same operating system. Optionally, specify a build name and version; this metadata is stored with * other properties in the build record and is displayed in the GameLift console (it is not visible to players). If * successful, this action returns the newly created build record along with the Amazon S3 storage location and AWS * account credentials. Use the location and credentials to upload your game build. *

* * @param createBuildRequest * Represents the input for a request action. * @return Result of the CreateBuild operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.CreateBuild */ @Override public CreateBuildResult createBuild(CreateBuildRequest createBuildRequest) { ExecutionContext executionContext = createExecutionContext(createBuildRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateBuildRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(createBuildRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateBuildResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a new fleet to run your game servers. A fleet is a set of Amazon Elastic Compute Cloud (Amazon EC2) * instances, each of which can run multiple server processes to host game sessions. You configure a fleet to create * instances with certain hardware specifications (see Amazon * EC2 Instance Types for more information), and deploy a specified game build to each instance. A newly created * fleet passes through several statuses; once it reaches the ACTIVE status, it can begin hosting game * sessions. *

*

* To create a new fleet, provide a fleet name, an EC2 instance type, and a build ID of the game build to deploy. * You can also configure the new fleet with the following settings: (1) a runtime configuration describing what * server processes to run on each instance in the fleet (required to create fleet), (2) access permissions for * inbound traffic, (3) fleet-wide game session protection, and (4) the location of default log files for GameLift * to upload and store. *

*

* If the CreateFleet call is successful, Amazon GameLift performs the following tasks: *

*
    *
  • Creates a fleet record and sets the status to NEW (followed by other statuses as the fleet is * activated).
  • *
  • Sets the fleet's capacity to 1 "desired", which causes GameLift to start one new EC2 instance.
  • *
  • Starts launching server processes on the instance. If the fleet is configured to run multiple server * processes per instance, GameLift staggers each launch by a few seconds.
  • *
  • Begins writing events to the fleet event log, which can be accessed in the GameLift console.
  • *
  • Sets the fleet's status to ACTIVE once one server process in the fleet is ready to host a game * session.
  • *
*

* After a fleet is created, use the following actions to change fleet properties and configuration: *

*
    *
  • UpdateFleetAttributes -- Update fleet metadata, including name and description.
  • *
  • UpdateFleetCapacity -- Increase or decrease the number of instances you want the fleet to maintain.
  • *
  • UpdateFleetPortSettings -- Change the IP address and port ranges that allow access to incoming * traffic.
  • *
  • UpdateRuntimeConfiguration -- Change how server processes are launched in the fleet, including launch * path, launch parameters, and the number of concurrent processes.
  • *
* * @param createFleetRequest * Represents the input for a request action. * @return Result of the CreateFleet operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws LimitExceededException * The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue * before retrying. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.CreateFleet */ @Override public CreateFleetResult createFleet(CreateFleetRequest createFleetRequest) { ExecutionContext executionContext = createExecutionContext(createFleetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateFleetRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(createFleetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateFleetResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a multiplayer game session for players. This action creates a game session record and assigns the new * session to an instance in the specified fleet, which initializes a new server process to host the game session. A * fleet must be in an ACTIVE status before a game session can be created in it. *

*

* To create a game session, specify either a fleet ID or an alias ID and indicate the maximum number of players the * game session allows. You can also provide a name and a set of properties for your game (optional). If successful, * a GameSession object is returned containing session properties, including an IP address. By default, newly * created game sessions are set to accept adding any new players to the game session. Use UpdateGameSession * to change the creation policy. *

* * @param createGameSessionRequest * Represents the input for a request action. * @return Result of the CreateGameSession operation returned by the service. * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidFleetStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the fleet. Resolve the conflict before retrying. * @throws TerminalRoutingStrategyException * The service is unable to resolve the routing for a particular alias because it has a terminal * RoutingStrategy associated with it. The message returned in this exception is the message defined * in the routing strategy itself. Such requests should only be retried if the routing strategy for the * specified alias is modified. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws FleetCapacityExceededException * The specified fleet has no available instances to fulfill a request to create a new game session. Such * requests should only be retried once the fleet capacity has been increased. * @sample AmazonGameLift.CreateGameSession */ @Override public CreateGameSessionResult createGameSession(CreateGameSessionRequest createGameSessionRequest) { ExecutionContext executionContext = createExecutionContext(createGameSessionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateGameSessionRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(createGameSessionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateGameSessionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Adds a player to a game session and creates a player session record. A game session must be in an * ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player slot before * players can be added to the session. *

*

* To create a player session, specify a game session ID and player ID. If successful, the player is added to the * game session and a new PlayerSession object is returned. *

* * @param createPlayerSessionRequest * Represents the input for a request action. * @return Result of the CreatePlayerSession operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidGameSessionStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the game instance. Clients should not retry such requests without resolving the conflict. * @throws GameSessionFullException * The game instance is currently full and cannot allow the requested player(s) to join. This exception * occurs in response to a CreatePlayerSession request. * @throws TerminalRoutingStrategyException * The service is unable to resolve the routing for a particular alias because it has a terminal * RoutingStrategy associated with it. The message returned in this exception is the message defined * in the routing strategy itself. Such requests should only be retried if the routing strategy for the * specified alias is modified. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @sample AmazonGameLift.CreatePlayerSession */ @Override public CreatePlayerSessionResult createPlayerSession(CreatePlayerSessionRequest createPlayerSessionRequest) { ExecutionContext executionContext = createExecutionContext(createPlayerSessionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePlayerSessionRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(createPlayerSessionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreatePlayerSessionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Adds a group of players to a game session. Similar to CreatePlayerSession, this action allows you to add * multiple players in a single call, which is useful for games that provide party and/or matchmaking features. A * game session must be in an ACTIVE status, have a creation policy of ALLOW_ALL, and have * an open player slot before players can be added to the session. *

*

* To create player sessions, specify a game session ID and a list of player IDs. If successful, the players are * added to the game session and a set of new PlayerSession objects is returned. *

* * @param createPlayerSessionsRequest * Represents the input for a request action. * @return Result of the CreatePlayerSessions operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidGameSessionStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the game instance. Clients should not retry such requests without resolving the conflict. * @throws GameSessionFullException * The game instance is currently full and cannot allow the requested player(s) to join. This exception * occurs in response to a CreatePlayerSession request. * @throws TerminalRoutingStrategyException * The service is unable to resolve the routing for a particular alias because it has a terminal * RoutingStrategy associated with it. The message returned in this exception is the message defined * in the routing strategy itself. Such requests should only be retried if the routing strategy for the * specified alias is modified. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @sample AmazonGameLift.CreatePlayerSessions */ @Override public CreatePlayerSessionsResult createPlayerSessions(CreatePlayerSessionsRequest createPlayerSessionsRequest) { ExecutionContext executionContext = createExecutionContext(createPlayerSessionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePlayerSessionsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(createPlayerSessionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreatePlayerSessionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes an alias. This action 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. *

* * @param deleteAliasRequest * Represents the input for a request action. * @return Result of the DeleteAlias operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.DeleteAlias */ @Override public DeleteAliasResult deleteAlias(DeleteAliasRequest deleteAliasRequest) { ExecutionContext executionContext = createExecutionContext(deleteAliasRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteAliasRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteAliasRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteAliasResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a build. This action permanently deletes the build record and any uploaded build files. *

*

* To delete a build, specify its ID. Deleting a build does not affect the status of any active fleets using the * build, but you can no longer create new fleets with the deleted build. *

* * @param deleteBuildRequest * Represents the input for a request action. * @return Result of the DeleteBuild operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @sample AmazonGameLift.DeleteBuild */ @Override public DeleteBuildResult deleteBuild(DeleteBuildRequest deleteBuildRequest) { ExecutionContext executionContext = createExecutionContext(deleteBuildRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteBuildRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteBuildRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteBuildResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes everything related to a fleet. Before deleting a fleet, you must set the fleet's desired capacity to * zero. See UpdateFleetCapacity. *

*

* This action removes the fleet's resources and the fleet record. Once a fleet is deleted, you can no longer use * that fleet. *

* * @param deleteFleetRequest * Represents the input for a request action. * @return Result of the DeleteFleet operation returned by the service. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidFleetStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the fleet. Resolve the conflict before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @sample AmazonGameLift.DeleteFleet */ @Override public DeleteFleetResult deleteFleet(DeleteFleetRequest deleteFleetRequest) { ExecutionContext executionContext = createExecutionContext(deleteFleetRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteFleetRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteFleetRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteFleetResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a fleet scaling policy. This action means that the policy is no longer in force and removes all record of * it. To delete a scaling policy, specify both the scaling policy name and the fleet ID it is associated with. *

* * @param deleteScalingPolicyRequest * Represents the input for a request action. * @return Result of the DeleteScalingPolicy operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @sample AmazonGameLift.DeleteScalingPolicy */ @Override public DeleteScalingPolicyResult deleteScalingPolicy(DeleteScalingPolicyRequest deleteScalingPolicyRequest) { ExecutionContext executionContext = createExecutionContext(deleteScalingPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteScalingPolicyRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteScalingPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteScalingPolicyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves properties for a specified alias. To get the alias, specify an alias ID. If successful, an Alias * object is returned. *

* * @param describeAliasRequest * Represents the input for a request action. * @return Result of the DescribeAlias operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.DescribeAlias */ @Override public DescribeAliasResult describeAlias(DescribeAliasRequest describeAliasRequest) { ExecutionContext executionContext = createExecutionContext(describeAliasRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeAliasRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeAliasRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeAliasResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves properties for a build. To get a build record, specify a build ID. If successful, an object containing * the build properties is returned. *

* * @param describeBuildRequest * Represents the input for a request action. * @return Result of the DescribeBuild operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.DescribeBuild */ @Override public DescribeBuildResult describeBuild(DescribeBuildRequest describeBuildRequest) { ExecutionContext executionContext = createExecutionContext(describeBuildRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeBuildRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeBuildRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeBuildResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the following information for the specified EC2 instance type: *

*
    *
  • maximum number of instances allowed per AWS account (service limit)
  • *
  • current usage level for the AWS account
  • *
*

* Service limits vary depending on region. Available regions for GameLift can be found in the AWS Management * Console for GameLift (see the drop-down list in the upper right corner). *

* * @param describeEC2InstanceLimitsRequest * Represents the input for a request action. * @return Result of the DescribeEC2InstanceLimits operation returned by the service. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.DescribeEC2InstanceLimits */ @Override public DescribeEC2InstanceLimitsResult describeEC2InstanceLimits(DescribeEC2InstanceLimitsRequest describeEC2InstanceLimitsRequest) { ExecutionContext executionContext = createExecutionContext(describeEC2InstanceLimitsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeEC2InstanceLimitsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeEC2InstanceLimitsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeEC2InstanceLimitsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves fleet properties, including metadata, status, and configuration, for one or more fleets. You can * request attributes for all fleets, or specify a list of one or more fleet IDs. When requesting multiple fleets, * use the pagination parameters to retrieve results as a set of sequential pages. If successful, a * FleetAttributes object is returned for each requested fleet ID. When specifying a list of fleet IDs, * attribute objects are returned only for fleets that currently exist. *

* *

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

*
* * @param describeFleetAttributesRequest * Represents the input for a request action. * @return Result of the DescribeFleetAttributes operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.DescribeFleetAttributes */ @Override public DescribeFleetAttributesResult describeFleetAttributes(DescribeFleetAttributesRequest describeFleetAttributesRequest) { ExecutionContext executionContext = createExecutionContext(describeFleetAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeFleetAttributesRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeFleetAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeFleetAttributesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the current status of fleet capacity for one or more fleets. This information includes the number of * instances that have been requested for the fleet and the number currently active. You can request capacity for * all fleets, or specify a list of one or more fleet IDs. When requesting 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. When specifying a list of fleet IDs, attribute objects are returned only * for fleets that currently exist. *

* *

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

*
* * @param describeFleetCapacityRequest * Represents the input for a request action. * @return Result of the DescribeFleetCapacity operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.DescribeFleetCapacity */ @Override public DescribeFleetCapacityResult describeFleetCapacity(DescribeFleetCapacityRequest describeFleetCapacityRequest) { ExecutionContext executionContext = createExecutionContext(describeFleetCapacityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeFleetCapacityRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeFleetCapacityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeFleetCapacityResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves entries from the specified fleet's event log. You can specify a time range to limit the result set. Use * the pagination parameters to retrieve results as a set of sequential pages. If successful, a collection of event * log entries matching the request are returned. *

* * @param describeFleetEventsRequest * Represents the input for a request action. * @return Result of the DescribeFleetEvents operation returned by the service. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @sample AmazonGameLift.DescribeFleetEvents */ @Override public DescribeFleetEventsResult describeFleetEvents(DescribeFleetEventsRequest describeFleetEventsRequest) { ExecutionContext executionContext = createExecutionContext(describeFleetEventsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeFleetEventsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeFleetEventsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeFleetEventsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the inbound connection permissions for a fleet. Connection permissions include a range of IP addresses * and port settings that incoming traffic can use to access server processes in the fleet. To get a fleet's inbound * connection permissions, specify a fleet ID. If successful, a collection of IpPermission objects is * returned for the requested fleet ID. If the requested fleet has been deleted, the result set is empty. *

* * @param describeFleetPortSettingsRequest * Represents the input for a request action. * @return Result of the DescribeFleetPortSettings operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.DescribeFleetPortSettings */ @Override public DescribeFleetPortSettingsResult describeFleetPortSettings(DescribeFleetPortSettingsRequest describeFleetPortSettingsRequest) { ExecutionContext executionContext = createExecutionContext(describeFleetPortSettingsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeFleetPortSettingsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeFleetPortSettingsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeFleetPortSettingsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves utilization statistics for one or more fleets. You can request utilization data for all fleets, or * specify a list of one or more fleet IDs. When requesting 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. When specifying a list of fleet IDs, utilization objects are returned only for fleets * that currently exist. *

* *

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

*
* * @param describeFleetUtilizationRequest * Represents the input for a request action. * @return Result of the DescribeFleetUtilization operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.DescribeFleetUtilization */ @Override public DescribeFleetUtilizationResult describeFleetUtilization(DescribeFleetUtilizationRequest describeFleetUtilizationRequest) { ExecutionContext executionContext = createExecutionContext(describeFleetUtilizationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeFleetUtilizationRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeFleetUtilizationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeFleetUtilizationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves properties, including the protection policy in force, for one or more game sessions. This action can be * used in several ways: (1) provide a GameSessionId to request details for a specific game session; * (2) provide either a FleetId or an AliasId to request properties for all game sessions * running on a fleet. *

*

* To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can * filter this request by game session status. Use the pagination parameters to retrieve results as a set of * sequential pages. If successful, a GameSessionDetail object is returned for each session matching the * request. *

* * @param describeGameSessionDetailsRequest * Represents the input for a request action. * @return Result of the DescribeGameSessionDetails operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws TerminalRoutingStrategyException * The service is unable to resolve the routing for a particular alias because it has a terminal * RoutingStrategy associated with it. The message returned in this exception is the message defined * in the routing strategy itself. Such requests should only be retried if the routing strategy for the * specified alias is modified. * @sample AmazonGameLift.DescribeGameSessionDetails */ @Override public DescribeGameSessionDetailsResult describeGameSessionDetails(DescribeGameSessionDetailsRequest describeGameSessionDetailsRequest) { ExecutionContext executionContext = createExecutionContext(describeGameSessionDetailsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeGameSessionDetailsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeGameSessionDetailsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeGameSessionDetailsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves properties for one or more game sessions. This action can be used in several ways: (1) provide a * GameSessionId to request properties for a specific game session; (2) provide a FleetId * or an AliasId to request properties for all game sessions running on a fleet. *

*

* To get game session record(s), specify just one of the following: game session ID, fleet ID, or alias ID. You can * filter this request by game session status. Use the pagination parameters to retrieve results as a set of * sequential pages. If successful, a GameSession object is returned for each session matching the request. *

* * @param describeGameSessionsRequest * Represents the input for a request action. * @return Result of the DescribeGameSessions operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws TerminalRoutingStrategyException * The service is unable to resolve the routing for a particular alias because it has a terminal * RoutingStrategy associated with it. The message returned in this exception is the message defined * in the routing strategy itself. Such requests should only be retried if the routing strategy for the * specified alias is modified. * @sample AmazonGameLift.DescribeGameSessions */ @Override public DescribeGameSessionsResult describeGameSessions(DescribeGameSessionsRequest describeGameSessionsRequest) { ExecutionContext executionContext = createExecutionContext(describeGameSessionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeGameSessionsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeGameSessionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeGameSessionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves properties for one or more player sessions. This action can be used in several ways: (1) provide a * PlayerSessionId parameter to request properties for a specific player session; (2) provide a * GameSessionId parameter to request properties for all player sessions in the specified game session; * (3) provide a PlayerId parameter to request properties for all player sessions of a specified * player. *

*

* To get game session record(s), specify only one of the following: a player session ID, a game session ID, or a * player ID. You can filter this request by player session status. Use the pagination parameters to retrieve * results as a set of sequential pages. If successful, a PlayerSession object is returned for each session * matching the request. *

* * @param describePlayerSessionsRequest * Represents the input for a request action. * @return Result of the DescribePlayerSessions operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.DescribePlayerSessions */ @Override public DescribePlayerSessionsResult describePlayerSessions(DescribePlayerSessionsRequest describePlayerSessionsRequest) { ExecutionContext executionContext = createExecutionContext(describePlayerSessionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribePlayerSessionsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describePlayerSessionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribePlayerSessionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the current runtime configuration for the specified fleet. The runtime configuration tells GameLift how * to launch server processes on instances in the fleet. *

* * @param describeRuntimeConfigurationRequest * Represents the input for a request action. * @return Result of the DescribeRuntimeConfiguration operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @sample AmazonGameLift.DescribeRuntimeConfiguration */ @Override public DescribeRuntimeConfigurationResult describeRuntimeConfiguration(DescribeRuntimeConfigurationRequest describeRuntimeConfigurationRequest) { ExecutionContext executionContext = createExecutionContext(describeRuntimeConfigurationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeRuntimeConfigurationRequestMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeRuntimeConfigurationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeRuntimeConfigurationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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. *

* * @param describeScalingPoliciesRequest * Represents the input for a request action. * @return Result of the DescribeScalingPolicies operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @sample AmazonGameLift.DescribeScalingPolicies */ @Override public DescribeScalingPoliciesResult describeScalingPolicies(DescribeScalingPoliciesRequest describeScalingPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(describeScalingPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeScalingPoliciesRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeScalingPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeScalingPoliciesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the location of stored game session logs for a specified game session. When a game session is * terminated, Amazon GameLift automatically stores the logs in Amazon S3. Use this URL to download the logs. *

* *

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

*
* * @param getGameSessionLogUrlRequest * Represents the input for a request action. * @return Result of the GetGameSessionLogUrl operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @sample AmazonGameLift.GetGameSessionLogUrl */ @Override public GetGameSessionLogUrlResult getGameSessionLogUrl(GetGameSessionLogUrlRequest getGameSessionLogUrlRequest) { ExecutionContext executionContext = createExecutionContext(getGameSessionLogUrlRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetGameSessionLogUrlRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(getGameSessionLogUrlRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetGameSessionLogUrlResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a collection of alias records for this AWS account. You can filter the result set by alias name and/or * routing strategy type. Use the pagination parameters to retrieve results in sequential pages. *

* *

* Aliases are not listed in any particular order. *

*
* * @param listAliasesRequest * Represents the input for a request action. * @return Result of the ListAliases operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.ListAliases */ @Override public ListAliasesResult listAliases(ListAliasesRequest listAliasesRequest) { ExecutionContext executionContext = createExecutionContext(listAliasesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListAliasesRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(listAliasesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListAliasesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves build records for all builds associated with the AWS 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 records are not listed in any particular order. *

*
* * @param listBuildsRequest * Represents the input for a request action. * @return Result of the ListBuilds operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.ListBuilds */ @Override public ListBuildsResult listBuilds(ListBuildsRequest listBuildsRequest) { ExecutionContext executionContext = createExecutionContext(listBuildsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListBuildsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(listBuildsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListBuildsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a collection of fleet records for this AWS account. You can filter the result set by build ID. Use the * pagination parameters to retrieve results in sequential pages. *

* *

* Fleet records are not listed in any particular order. *

*
* * @param listFleetsRequest * Represents the input for a request action. * @return Result of the ListFleets operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.ListFleets */ @Override public ListFleetsResult listFleets(ListFleetsRequest listFleetsRequest) { ExecutionContext executionContext = createExecutionContext(listFleetsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListFleetsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFleetsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFleetsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates or updates a scaling policy for a fleet. An active scaling policy prompts Amazon GameLift to track a * certain metric for a fleet and automatically change the fleet's capacity in specific circumstances. Each scaling * policy contains one rule statement. Fleets can have multiple scaling policies in force simultaneously. *

*

* A scaling policy rule statement has the following structure: *

*

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

*

* For example, this policy: * "If the number of idle instances exceeds 20 for more than 15 minutes, then reduce the fleet capacity by 10 instances" * could be implemented as the following rule statement: *

*

* If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes, then [ChangeInCapacity] by [-10]. *

*

* To create or update a scaling policy, specify a unique combination of name and fleet ID, and set the rule values. * All parameters for this action are required. If successful, the policy name is returned. Scaling policies cannot * be suspended or made inactive. To stop enforcing a scaling policy, call DeleteScalingPolicy. *

* * @param putScalingPolicyRequest * Represents the input for a request action. * @return Result of the PutScalingPolicy operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @sample AmazonGameLift.PutScalingPolicy */ @Override public PutScalingPolicyResult putScalingPolicy(PutScalingPolicyRequest putScalingPolicyRequest) { ExecutionContext executionContext = createExecutionContext(putScalingPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutScalingPolicyRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(putScalingPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutScalingPolicyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a fresh set of upload credentials and the assigned Amazon S3 storage location for a specific build. * Valid credentials are required to upload your game build files to Amazon S3. *

* *

* Call this action only if you need credentials for a build created with CreateBuild. This is a * rare situation; in most cases, builds are created using the CLI command upload-build, which creates * a build record and also uploads build files. *

*
*

* Upload credentials are returned when you create the build, but they have a limited lifespan. You can get fresh * credentials and use them to re-upload game files until the status of that build changes to READY. * Once this happens, you must create a brand new build. *

* * @param requestUploadCredentialsRequest * Represents the input for a request action. * @return Result of the RequestUploadCredentials operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.RequestUploadCredentials */ @Override public RequestUploadCredentialsResult requestUploadCredentials(RequestUploadCredentialsRequest requestUploadCredentialsRequest) { ExecutionContext executionContext = createExecutionContext(requestUploadCredentialsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RequestUploadCredentialsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(requestUploadCredentialsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RequestUploadCredentialsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves the fleet ID that a specified alias is currently pointing to. *

* * @param resolveAliasRequest * Represents the input for a request action. * @return Result of the ResolveAlias operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws TerminalRoutingStrategyException * The service is unable to resolve the routing for a particular alias because it has a terminal * RoutingStrategy associated with it. The message returned in this exception is the message defined * in the routing strategy itself. Such requests should only be retried if the routing strategy for the * specified alias is modified. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.ResolveAlias */ @Override public ResolveAliasResult resolveAlias(ResolveAliasRequest resolveAliasRequest) { ExecutionContext executionContext = createExecutionContext(resolveAliasRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ResolveAliasRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(resolveAliasRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ResolveAliasResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a list of game sessions in a fleet that match a set of search criteria and sorts them in a specified * order. Currently game session searches are limited to a single fleet. Search results include only game sessions * that are in ACTIVE status. *

*

* You can search or sort by the following game session attributes: *

*
    *
  • gameSessionId -- ID value assigned to a game session. This unique value is returned in a * GameSession object when a new game session is created.
  • *
  • gameSessionName -- Name assigned to a game session. This value is set when requesting a new game * session with CreateGameSession or updating with UpdateGameSession. Game session names do not need * to be unique to 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.
  • *
  • maximumSessions -- Maximum number of player sessions allowed for a game session. This value is set * when requesting a new game session with CreateGameSession or updating with UpdateGameSession.
  • *
  • hasAvailablePlayerSessions -- Boolean value indicating whether or not a game session has reached its * maximum number of players. When searching with this attribute, the search value must be true or * false. It is highly recommended that all search requests include this filter attribute to optimize * search performance and return only sessions that players can join.
  • *
*

* To search or sort, specify either a fleet ID or an alias ID, and provide a search filter expression, a sort * expression, or both. Use the pagination parameters to retrieve results as a set of sequential pages. If * successful, a collection of GameSession objects matching the request is returned. *

* *

* 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. *

*
* * @param searchGameSessionsRequest * Represents the input for a request action. * @return Result of the SearchGameSessions operation returned by the service. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws TerminalRoutingStrategyException * The service is unable to resolve the routing for a particular alias because it has a terminal * RoutingStrategy associated with it. The message returned in this exception is the message defined * in the routing strategy itself. Such requests should only be retried if the routing strategy for the * specified alias is modified. * @sample AmazonGameLift.SearchGameSessions */ @Override public SearchGameSessionsResult searchGameSessions(SearchGameSessionsRequest searchGameSessionsRequest) { ExecutionContext executionContext = createExecutionContext(searchGameSessionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchGameSessionsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchGameSessionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchGameSessionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates properties for an alias. To update properties, specify the alias ID to be updated and provide the * information to be changed. To reassign an alias to another fleet, provide an updated routing strategy. If * successful, the updated alias record is returned. *

* * @param updateAliasRequest * Represents the input for a request action. * @return Result of the UpdateAlias operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.UpdateAlias */ @Override public UpdateAliasResult updateAlias(UpdateAliasRequest updateAliasRequest) { ExecutionContext executionContext = createExecutionContext(updateAliasRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateAliasRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateAliasRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateAliasResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates metadata in a build record, including the build name and version. To update the metadata, specify the * build ID to update and provide the new values. If successful, a build object containing the updated metadata is * returned. *

* * @param updateBuildRequest * Represents the input for a request action. * @return Result of the UpdateBuild operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @sample AmazonGameLift.UpdateBuild */ @Override public UpdateBuildResult updateBuild(UpdateBuildRequest updateBuildRequest) { ExecutionContext executionContext = createExecutionContext(updateBuildRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateBuildRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateBuildRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateBuildResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates fleet properties, including name and description, for a fleet. To update metadata, specify the fleet ID * and the property values you want to change. If successful, the fleet ID for the updated fleet is returned. *

* * @param updateFleetAttributesRequest * Represents the input for a request action. * @return Result of the UpdateFleetAttributes operation returned by the service. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws InvalidFleetStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the fleet. Resolve the conflict before retrying. * @throws LimitExceededException * The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue * before retrying. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.UpdateFleetAttributes */ @Override public UpdateFleetAttributesResult updateFleetAttributes(UpdateFleetAttributesRequest updateFleetAttributesRequest) { ExecutionContext executionContext = createExecutionContext(updateFleetAttributesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateFleetAttributesRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFleetAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFleetAttributesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates capacity settings for a fleet. Use this action to specify the number of EC2 instances (hosts) that you * want this fleet to contain. Before calling this action, you may want to call DescribeEC2InstanceLimits to * get the maximum capacity based on the fleet's EC2 instance type. *

*

* If you're using autoscaling (see PutScalingPolicy), you may want to specify a minimum and/or maximum * capacity. If you don't provide these, autoscaling can set capacity anywhere between zero and the service limits. *

*

* To update fleet capacity, specify the fleet ID and the number of instances you want the fleet to host. If * successful, Amazon GameLift starts or terminates instances so that the fleet's active instance count matches the * desired instance count. You can view a fleet's current capacity information by calling * DescribeFleetCapacity. If the desired instance count is higher than the instance type's limit, the * "Limit Exceeded" exception occurs. *

* * @param updateFleetCapacityRequest * Represents the input for a request action. * @return Result of the UpdateFleetCapacity operation returned by the service. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws LimitExceededException * The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue * before retrying. * @throws InvalidFleetStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the fleet. Resolve the conflict before retrying. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.UpdateFleetCapacity */ @Override public UpdateFleetCapacityResult updateFleetCapacity(UpdateFleetCapacityRequest updateFleetCapacityRequest) { ExecutionContext executionContext = createExecutionContext(updateFleetCapacityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateFleetCapacityRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFleetCapacityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFleetCapacityResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates port settings for a fleet. To update settings, specify the fleet ID to be updated and list the * permissions you want to update. List the permissions you want to add in * InboundPermissionAuthorizations, and permissions you want to remove in * InboundPermissionRevocations. Permissions to be removed must match existing fleet permissions. If * successful, the fleet ID for the updated fleet is returned. *

* * @param updateFleetPortSettingsRequest * Represents the input for a request action. * @return Result of the UpdateFleetPortSettings operation returned by the service. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws InvalidFleetStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the fleet. Resolve the conflict before retrying. * @throws LimitExceededException * The requested operation would cause the resource to exceed the allowed service limit. Resolve the issue * before retrying. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @sample AmazonGameLift.UpdateFleetPortSettings */ @Override public UpdateFleetPortSettingsResult updateFleetPortSettings(UpdateFleetPortSettingsRequest updateFleetPortSettingsRequest) { ExecutionContext executionContext = createExecutionContext(updateFleetPortSettingsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateFleetPortSettingsRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateFleetPortSettingsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFleetPortSettingsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates game session properties. This includes the session name, maximum player count, protection policy, which * controls whether or not an active game session can be terminated during a scale-down event, and the player * session creation policy, which controls whether or not new players can join the session. To update a game * session, specify the game session ID and the values you want to change. If successful, an updated * GameSession object is returned. *

* * @param updateGameSessionRequest * Represents the input for a request action. * @return Result of the UpdateGameSession operation returned by the service. * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws ConflictException * The requested operation would cause a conflict with the current state of a service resource associated * with the request. Resolve the conflict before retrying this request. * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws InvalidGameSessionStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the game instance. Clients should not retry such requests without resolving the conflict. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @sample AmazonGameLift.UpdateGameSession */ @Override public UpdateGameSessionResult updateGameSession(UpdateGameSessionRequest updateGameSessionRequest) { ExecutionContext executionContext = createExecutionContext(updateGameSessionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateGameSessionRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateGameSessionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateGameSessionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Updates the current runtime configuration for the specified fleet, which tells GameLift how to launch server * processes on instances in the fleet. You can update a fleet's runtime configuration at any time after the fleet * is created; it does not need to be in an ACTIVE status. *

*

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

*

* Each instance in a GameLift fleet checks regularly for an updated runtime configuration and changes how it * launches server processes to comply with the latest version. Existing server processes are not affected by the * update; they continue to run until they end, while GameLift simply adds new server processes to fit the current * runtime configuration. As a result, the runtime configuration changes are applied gradually as existing processes * shut down and new processes are launched in GameLift's normal process recycling activity. *

* * @param updateRuntimeConfigurationRequest * Represents the input for a request action. * @return Result of the UpdateRuntimeConfiguration operation returned by the service. * @throws UnauthorizedException * The client failed authentication. Clients should not retry such requests * @throws NotFoundException * A service resource associated with the request could not be found. Clients should not retry such requests * @throws InternalServiceException * The service encountered an unrecoverable internal failure while processing the request. Clients can retry * such requests, either immediately or after a back-off period. * @throws InvalidRequestException * One or more parameters specified as part of the request are invalid. Correct the invalid parameters * before retrying. * @throws InvalidFleetStatusException * The requested operation would cause a conflict with the current state of a resource associated with the * request and/or the fleet. Resolve the conflict before retrying. * @sample AmazonGameLift.UpdateRuntimeConfiguration */ @Override public UpdateRuntimeConfigurationResult updateRuntimeConfiguration(UpdateRuntimeConfigurationRequest updateRuntimeConfigurationRequest) { ExecutionContext executionContext = createExecutionContext(updateRuntimeConfigurationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateRuntimeConfigurationRequestMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateRuntimeConfigurationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateRuntimeConfigurationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * Returns additional metadata for a previously executed successful, request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy