
com.amazonaws.services.gamesparks.AWSGameSparks Maven / Gradle / Ivy
/*
* Copyright 2018-2023 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.gamesparks;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.gamesparks.model.*;
/**
* Interface for accessing GameSparks.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.gamesparks.AbstractAWSGameSparks} instead.
*
*
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSGameSparks {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "gamesparks";
/**
*
* Creates a new game with an empty configuration. After creating your game, you can update the configuration using
* UpdateGameConfiguration
or ImportGameConfiguration
.
*
*
* @param createGameRequest
* @return Result of the CreateGame operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ConflictException
* The resource already exists, or another operation is in progress.
* @throws InternalServerException
* The service encountered an internal error.
* @throws ServiceQuotaExceededException
* The request would result in exceeding service quota.
* @sample AWSGameSparks.CreateGame
* @see AWS API
* Documentation
*/
CreateGameResult createGame(CreateGameRequest createGameRequest);
/**
*
* Creates a snapshot of the game configuration.
*
*
* @param createSnapshotRequest
* @return Result of the CreateSnapshot operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ConflictException
* The resource already exists, or another operation is in progress.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.CreateSnapshot
* @see AWS API
* Documentation
*/
CreateSnapshotResult createSnapshot(CreateSnapshotRequest createSnapshotRequest);
/**
*
* Creates a new stage for stage-by-stage game development and deployment.
*
*
* @param createStageRequest
* @return Result of the CreateStage operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ConflictException
* The resource already exists, or another operation is in progress.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.CreateStage
* @see AWS API
* Documentation
*/
CreateStageResult createStage(CreateStageRequest createStageRequest);
/**
*
* Deletes a game.
*
*
* @param deleteGameRequest
* @return Result of the DeleteGame operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ConflictException
* The resource already exists, or another operation is in progress.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.DeleteGame
* @see AWS API
* Documentation
*/
DeleteGameResult deleteGame(DeleteGameRequest deleteGameRequest);
/**
*
* Deletes a stage from a game, along with the associated game runtime.
*
*
* @param deleteStageRequest
* @return Result of the DeleteStage operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ConflictException
* The resource already exists, or another operation is in progress.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.DeleteStage
* @see AWS API
* Documentation
*/
DeleteStageResult deleteStage(DeleteStageRequest deleteStageRequest);
/**
*
* Disconnects a player from the game runtime.
*
*
* If a player has multiple connections, this operation attempts to close all of them.
*
*
* @param disconnectPlayerRequest
* @return Result of the DisconnectPlayer operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.DisconnectPlayer
* @see AWS
* API Documentation
*/
DisconnectPlayerResult disconnectPlayer(DisconnectPlayerRequest disconnectPlayerRequest);
/**
*
* Exports a game configuration snapshot.
*
*
* @param exportSnapshotRequest
* @return Result of the ExportSnapshot operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ExportSnapshot
* @see AWS API
* Documentation
*/
ExportSnapshotResult exportSnapshot(ExportSnapshotRequest exportSnapshotRequest);
/**
*
* Gets details about a specified extension.
*
*
* @param getExtensionRequest
* @return Result of the GetExtension operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetExtension
* @see AWS API
* Documentation
*/
GetExtensionResult getExtension(GetExtensionRequest getExtensionRequest);
/**
*
* Gets details about a specified extension version.
*
*
* @param getExtensionVersionRequest
* @return Result of the GetExtensionVersion operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetExtensionVersion
* @see AWS
* API Documentation
*/
GetExtensionVersionResult getExtensionVersion(GetExtensionVersionRequest getExtensionVersionRequest);
/**
*
* Gets details about a game.
*
*
* @param getGameRequest
* @return Result of the GetGame operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetGame
* @see AWS API
* Documentation
*/
GetGameResult getGame(GetGameRequest getGameRequest);
/**
*
* Gets the configuration of the game.
*
*
* @param getGameConfigurationRequest
* @return Result of the GetGameConfiguration operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetGameConfiguration
* @see AWS API Documentation
*/
GetGameConfigurationResult getGameConfiguration(GetGameConfigurationRequest getGameConfigurationRequest);
/**
*
* Gets details about a job that is generating code for a snapshot.
*
*
* @param getGeneratedCodeJobRequest
* @return Result of the GetGeneratedCodeJob operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetGeneratedCodeJob
* @see AWS
* API Documentation
*/
GetGeneratedCodeJobResult getGeneratedCodeJob(GetGeneratedCodeJobRequest getGeneratedCodeJobRequest);
/**
*
* Gets the status of a player's connection to the game runtime.
*
*
* It's possible for a single player to have multiple connections to the game runtime. If a player is not connected,
* this operation returns an empty list.
*
*
* @param getPlayerConnectionStatusRequest
* @return Result of the GetPlayerConnectionStatus operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetPlayerConnectionStatus
* @see AWS API Documentation
*/
GetPlayerConnectionStatusResult getPlayerConnectionStatus(GetPlayerConnectionStatusRequest getPlayerConnectionStatusRequest);
/**
*
* Gets a copy of the game configuration in a snapshot.
*
*
* @param getSnapshotRequest
* @return Result of the GetSnapshot operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetSnapshot
* @see AWS API
* Documentation
*/
GetSnapshotResult getSnapshot(GetSnapshotRequest getSnapshotRequest);
/**
*
* Gets information about a stage.
*
*
* @param getStageRequest
* @return Result of the GetStage operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetStage
* @see AWS API
* Documentation
*/
GetStageResult getStage(GetStageRequest getStageRequest);
/**
*
* Gets information about a stage deployment.
*
*
* @param getStageDeploymentRequest
* @return Result of the GetStageDeployment operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.GetStageDeployment
* @see AWS
* API Documentation
*/
GetStageDeploymentResult getStageDeployment(GetStageDeploymentRequest getStageDeploymentRequest);
/**
*
* Imports a game configuration.
*
*
* This operation replaces the current configuration of the game with the provided input. This is not a reversible
* operation. If you want to preserve the previous configuration, use CreateSnapshot
to make a new
* snapshot before importing.
*
*
* @param importGameConfigurationRequest
* @return Result of the ImportGameConfiguration operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @throws ServiceQuotaExceededException
* The request would result in exceeding service quota.
* @sample AWSGameSparks.ImportGameConfiguration
* @see AWS API Documentation
*/
ImportGameConfigurationResult importGameConfiguration(ImportGameConfigurationRequest importGameConfigurationRequest);
/**
*
* Gets a paginated list of available versions for the extension.
*
*
* Each time an API change is made to an extension, the version is incremented. The list retrieved by this operation
* shows the versions that are currently available.
*
*
* @param listExtensionVersionsRequest
* @return Result of the ListExtensionVersions operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListExtensionVersions
* @see AWS API Documentation
*/
ListExtensionVersionsResult listExtensionVersions(ListExtensionVersionsRequest listExtensionVersionsRequest);
/**
*
* Gets a paginated list of available extensions.
*
*
* Extensions provide features that games can use from scripts.
*
*
* @param listExtensionsRequest
* @return Result of the ListExtensions operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListExtensions
* @see AWS API
* Documentation
*/
ListExtensionsResult listExtensions(ListExtensionsRequest listExtensionsRequest);
/**
*
* Gets a paginated list of games.
*
*
* @param listGamesRequest
* @return Result of the ListGames operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListGames
* @see AWS API
* Documentation
*/
ListGamesResult listGames(ListGamesRequest listGamesRequest);
/**
*
* Gets a paginated list of code generation jobs for a snapshot.
*
*
* @param listGeneratedCodeJobsRequest
* @return Result of the ListGeneratedCodeJobs operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListGeneratedCodeJobs
* @see AWS API Documentation
*/
ListGeneratedCodeJobsResult listGeneratedCodeJobs(ListGeneratedCodeJobsRequest listGeneratedCodeJobsRequest);
/**
*
* Gets a paginated list of snapshot summaries from the game.
*
*
* @param listSnapshotsRequest
* @return Result of the ListSnapshots operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListSnapshots
* @see AWS API
* Documentation
*/
ListSnapshotsResult listSnapshots(ListSnapshotsRequest listSnapshotsRequest);
/**
*
* Gets a paginated list of stage deployment summaries from the game.
*
*
* @param listStageDeploymentsRequest
* @return Result of the ListStageDeployments operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListStageDeployments
* @see AWS API Documentation
*/
ListStageDeploymentsResult listStageDeployments(ListStageDeploymentsRequest listStageDeploymentsRequest);
/**
*
* Gets a paginated list of stage summaries from the game.
*
*
* @param listStagesRequest
* @return Result of the ListStages operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListStages
* @see AWS API
* Documentation
*/
ListStagesResult listStages(ListStagesRequest listStagesRequest);
/**
*
* Lists the tags associated with a GameSparks resource.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.ListTagsForResource
* @see AWS
* API Documentation
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* Starts an asynchronous process that generates client code for system-defined and custom messages. The resulting
* code is collected as a .zip file and uploaded to a pre-signed Amazon S3 URL.
*
*
* @param startGeneratedCodeJobRequest
* @return Result of the StartGeneratedCodeJob operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.StartGeneratedCodeJob
* @see AWS API Documentation
*/
StartGeneratedCodeJobResult startGeneratedCodeJob(StartGeneratedCodeJobRequest startGeneratedCodeJobRequest);
/**
*
* Deploys a snapshot to the stage and creates a new game runtime.
*
*
* After you call this operation, you can check the deployment status by using GetStageDeployment
.
*
*
* If there are any players connected to the previous game runtime, then both runtimes persist. Existing connections
* to the previous runtime are maintained. When players disconnect and reconnect, they connect to the new runtime.
* After there are no connections to the previous game runtime, it is deleted.
*
*
* @param startStageDeploymentRequest
* @return Result of the StartStageDeployment operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ConflictException
* The resource already exists, or another operation is in progress.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.StartStageDeployment
* @see AWS API Documentation
*/
StartStageDeploymentResult startStageDeployment(StartStageDeploymentRequest startStageDeploymentRequest);
/**
*
* Adds tags to a GameSparks resource.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.TagResource
* @see AWS API
* Documentation
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Removes tags from a GameSparks resource.
*
*
* @param untagResourceRequest
* @return Result of the UntagResource operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.UntagResource
* @see AWS API
* Documentation
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* Updates details of the game.
*
*
* @param updateGameRequest
* @return Result of the UpdateGame operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.UpdateGame
* @see AWS API
* Documentation
*/
UpdateGameResult updateGame(UpdateGameRequest updateGameRequest);
/**
*
* Updates one or more sections of the game configuration.
*
*
* @param updateGameConfigurationRequest
* @return Result of the UpdateGameConfiguration operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @throws ServiceQuotaExceededException
* The request would result in exceeding service quota.
* @sample AWSGameSparks.UpdateGameConfiguration
* @see AWS API Documentation
*/
UpdateGameConfigurationResult updateGameConfiguration(UpdateGameConfigurationRequest updateGameConfigurationRequest);
/**
*
* Updates the metadata of a GameSparks snapshot.
*
*
* @param updateSnapshotRequest
* @return Result of the UpdateSnapshot operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.UpdateSnapshot
* @see AWS API
* Documentation
*/
UpdateSnapshotResult updateSnapshot(UpdateSnapshotRequest updateSnapshotRequest);
/**
*
* Updates the metadata of a stage.
*
*
* @param updateStageRequest
* @return Result of the UpdateStage operation returned by the service.
* @throws ValidationException
* One of the parameters in the request is invalid.
* @throws AccessDeniedException
* You do not have sufficient access to perform this action.
* @throws ThrottlingException
* The request throughput limit was exceeded.
* @throws ResourceNotFoundException
* The resource specified in the request does not exist.
* @throws InternalServerException
* The service encountered an internal error.
* @sample AWSGameSparks.UpdateStage
* @see AWS API
* Documentation
*/
UpdateStageResult updateStage(UpdateStageRequest updateStageRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* 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 a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}