Files
aptly/vendor/github.com/aws/aws-sdk-go/service/gamelift/service.go
T
2017-03-22 19:24:06 +03:00

293 lines
11 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
package gamelift
import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/aws/client/metadata"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/aws/signer/v4"
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
)
// Amazon GameLift is a managed service for developers who need a scalable,
// dedicated server solution for their multiplayer games. Amazon GameLift provides
// tools to acquire computing resources and deploy game servers, scale game
// server capacity to meed player demand, and track in-depth metrics on player
// usage and server performance.
//
// The Amazon GameLift service API includes important functionality to:
//
// * Find game sessions and match players to games Retrieve information
// on available game sessions; create new game sessions; send player requests
// to join a game session.
//
// * Configure and manage game server resources Manage builds, fleets,
// queues, and aliases; set autoscaling policies; retrieve logs and metrics.
//
// This reference guide describes the low-level service API for Amazon GameLift.
// We recommend using either the Amazon Web Services software development kit
// (AWS SDK (http://aws.amazon.com/tools/#sdk)), available in multiple languages,
// or the AWS command-line interface (http://aws.amazon.com/cli/) (CLI) tool.
// Both of these align with the low-level service API. In addition, you can
// use the AWS Management Console (https://console.aws.amazon.com/gamelift/home)
// for Amazon GameLift for many administrative actions.
//
// MORE RESOURCES
//
// * Amazon GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/)
// Learn more about Amazon GameLift features and how to use them.
//
// * Lumberyard and Amazon GameLift Tutorials (https://gamedev.amazon.com/forums/tutorials)
// Get started fast with walkthroughs and sample projects.
//
// * GameDev Blog (http://aws.amazon.com/blogs/gamedev/) Stay up to date
// with new features and techniques.
//
// * GameDev Forums (https://gamedev.amazon.com/forums/spaces/123/gamelift-discussion.html)
// Connect with the GameDev community.
//
// * Amazon GameLift Document History (http://docs.aws.amazon.com/gamelift/latest/developerguide/doc-history.html)
// See changes to the Amazon GameLift service, SDKs, and documentation,
// as well as links to release notes.
//
// API SUMMARY
//
// This list offers a functional overview of the Amazon GameLift service API.
//
// Finding Games and Joining Players
//
// You can enable players to connect to game servers on Amazon GameLift from
// a game client or through a game service (such as a matchmaking service).
// You can use these operations to discover actively running game or start new
// games. You can also match players to games, either singly or as a group.
//
// * Discover existing game sessions
//
// SearchGameSessions Get all available game sessions or search for game sessions
// that match a set of criteria.
//
// * Start a new game session
//
// Game session placement Use a queue to process new game session requests
// and create game sessions on fleets designated for the queue.
//
// StartGameSessionPlacement Request a new game session placement and add
// one or more players to it.
//
// DescribeGameSessionPlacement Get details on a placement request, including
// status.
//
// StopGameSessionPlacement Cancel a placement request.
//
// CreateGameSession Start a new game session on a specific fleet.
//
// * Manage game session objects
//
// DescribeGameSessionDetails Retrieve metadata and protection policies associated
// with one or more game sessions, including length of time active and current
// player count.
//
// UpdateGameSession Change game session settings, such as maximum player
// count and join policy.
//
// GetGameSessionLogUrl Get the location of saved logs for a game session.
//
// * Manage player sessions objects
//
// CreatePlayerSession Send a request for a player to join a game session.
//
// CreatePlayerSessions Send a request for multiple players to join a game
// session.
//
// DescribePlayerSessions Get details on player activity, including status,
// playing time, and player data.
//
// Setting Up and Managing Game Servers
//
// When setting up Amazon GameLift, first create a game build and upload the
// files to Amazon GameLift. Then use these operations to set up a fleet of
// resources to run your game servers. Manage games to scale capacity, adjust
// configuration settings, access raw utilization data, and more.
//
// * Manage game builds
//
// CreateBuild Create a new build by uploading files stored in an Amazon S3
// bucket. (To create a build stored at a local file location, use the AWS
// CLI command upload-build.)
//
// ListBuilds Get a list of all builds uploaded to a Amazon GameLift region.
//
// DescribeBuild Retrieve information associated with a build.
//
// UpdateBuild Change build metadata, including build name and version.
//
// DeleteBuild Remove a build from Amazon GameLift.
//
// * Manage fleets
//
// CreateFleet Configure and activate a new fleet to run a build's game servers.
//
// DeleteFleet Terminate a fleet that is no longer running game servers or
// hosting players.
//
// View / update fleet configurations.
//
// ListFleets Get a list of all fleet IDs in a Amazon GameLift region (all
// statuses).
//
// DescribeFleetAttributes / UpdateFleetAttributes View or change a fleet's
// metadata and settings for game session protection and resource creation
// limits.
//
// DescribeFleetPortSettings / UpdateFleetPortSettings View or change the
// inbound permissions (IP address and port setting ranges) allowed for a
// fleet.
//
// DescribeRuntimeConfiguration / UpdateRuntimeConfiguration View or change
// what server processes (and how many) to run on each instance in a fleet.
//
// DescribeInstances Get information on each instance in a fleet, including
// instance ID, IP address, and status.
//
// * Control fleet capacity
//
// DescribeEC2InstanceLimits Retrieve maximum number of instances allowed
// for the current AWS account and the current usage level.
//
// DescribeFleetCapacity / UpdateFleetCapacity Retrieve the capacity settings
// and the current number of instances in a fleet; adjust fleet capacity
// settings to scale up or down.
//
// Autoscale Manage autoscaling rules and apply them to a fleet.
//
// PutScalingPolicy Create a new autoscaling policy, or update an existing
// one.
//
// DescribeScalingPolicies Retrieve an existing autoscaling policy.
//
// DeleteScalingPolicy Delete an autoscaling policy and stop it from affecting
// a fleet's capacity.
//
// * Access fleet activity statistics
//
// DescribeFleetUtilization Get current data on the number of server processes,
// game sessions, and players currently active on a fleet.
//
// DescribeFleetEvents Get a fleet's logged events for a specified time span.
//
// DescribeGameSessions Retrieve metadata associated with one or more game
// sessions, including length of time active and current player count.
//
// * Remotely access an instance
//
// GetInstanceAccess Request access credentials needed to remotely connect
// to a specified instance on a fleet.
//
// * Manage fleet aliases
//
// CreateAlias Define a new alias and optionally assign it to a fleet.
//
// ListAliases Get all fleet aliases defined in a Amazon GameLift region.
//
// DescribeAlias Retrieve information on an existing alias.
//
// UpdateAlias Change settings for a alias, such as redirecting it from one
// fleet to another.
//
// DeleteAlias Remove an alias from the region.
//
// ResolveAlias Get the fleet ID that a specified alias points to.
//
// * Manage game session queues
//
// CreateGameSessionQueue Create a queue for processing requests for new game
// sessions.
//
// DescribeGameSessionQueues Get data on all game session queues defined in
// a Amazon GameLift region.
//
// UpdateGameSessionQueue Change the configuration of a game session queue.
//
// DeleteGameSessionQueue Remove a game session queue from the region.
// The service client's operations are safe to be used concurrently.
// It is not safe to mutate any of the client's properties though.
// Please also see https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01
type GameLift struct {
*client.Client
}
// Used for custom client initialization logic
var initClient func(*client.Client)
// Used for custom request initialization logic
var initRequest func(*request.Request)
// Service information constants
const (
ServiceName = "gamelift" // Service endpoint prefix API calls made to.
EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata.
)
// New creates a new instance of the GameLift client with a session.
// If additional configuration is needed for the client instance use the optional
// aws.Config parameter to add your extra config.
//
// Example:
// // Create a GameLift client from just a session.
// svc := gamelift.New(mySession)
//
// // Create a GameLift client with additional configuration
// svc := gamelift.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
func New(p client.ConfigProvider, cfgs ...*aws.Config) *GameLift {
c := p.ClientConfig(EndpointsID, cfgs...)
return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName)
}
// newClient creates, initializes and returns a new service client instance.
func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *GameLift {
svc := &GameLift{
Client: client.New(
cfg,
metadata.ClientInfo{
ServiceName: ServiceName,
SigningName: signingName,
SigningRegion: signingRegion,
Endpoint: endpoint,
APIVersion: "2015-10-01",
JSONVersion: "1.1",
TargetPrefix: "GameLift",
},
handlers,
),
}
// Handlers
svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler)
svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler)
svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler)
svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler)
svc.Handlers.UnmarshalError.PushBackNamed(jsonrpc.UnmarshalErrorHandler)
// Run custom client initialization if present
if initClient != nil {
initClient(svc.Client)
}
return svc
}
// newRequest creates a new request for a GameLift operation and runs any
// custom request initialization.
func (c *GameLift) newRequest(op *request.Operation, params, data interface{}) *request.Request {
req := c.NewRequest(op, params, data)
// Run custom request initialization if present
if initRequest != nil {
initRequest(req)
}
return req
}