1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package gamelift
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opAcceptMatch = "AcceptMatch"
17
18// AcceptMatchRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptMatch operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfuly.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptMatch for more information on using the AcceptMatch
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptMatchRequest method.
34//    req, resp := client.AcceptMatchRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatch
42func (c *GameLift) AcceptMatchRequest(input *AcceptMatchInput) (req *request.Request, output *AcceptMatchOutput) {
43	op := &request.Operation{
44		Name:       opAcceptMatch,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AcceptMatchInput{}
51	}
52
53	output = &AcceptMatchOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// AcceptMatch API operation for Amazon GameLift.
59//
60// Registers a player's acceptance or rejection of a proposed FlexMatch match.
61// A matchmaking configuration may require player acceptance; if so, then matches
62// built with that configuration cannot be completed unless all players accept
63// the proposed match within a specified time limit.
64//
65// When FlexMatch builds a match, all the matchmaking tickets involved in the
66// proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger
67// for your game to get acceptance from all players in the ticket. Acceptances
68// are only valid for tickets when they are in this status; all other acceptances
69// result in an error.
70//
71// To register acceptance, specify the ticket ID, a response, and one or more
72// players. Once all players have registered acceptance, the matchmaking tickets
73// advance to status PLACING, where a new game session is created for the match.
74//
75// If any player rejects the match, or if acceptances are not received before
76// a specified timeout, the proposed match is dropped. The matchmaking tickets
77// are then handled in one of two ways: For tickets where all players accepted
78// the match, the ticket status is returned to SEARCHING to find a new match.
79// For tickets where one or more players failed to accept the match, the ticket
80// status is set to FAILED, and processing is terminated. A new matchmaking
81// request for these players can be submitted as needed.
82//
83// Matchmaking-related operations include:
84//
85//    * StartMatchmaking
86//
87//    * DescribeMatchmaking
88//
89//    * StopMatchmaking
90//
91//    * AcceptMatch
92//
93//    * StartMatchBackfill
94//
95// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
96// with awserr.Error's Code and Message methods to get detailed information about
97// the error.
98//
99// See the AWS API reference guide for Amazon GameLift's
100// API operation AcceptMatch for usage and error information.
101//
102// Returned Error Codes:
103//   * ErrCodeInvalidRequestException "InvalidRequestException"
104//   One or more parameter values in the request are invalid. Correct the invalid
105//   parameter values before retrying.
106//
107//   * ErrCodeNotFoundException "NotFoundException"
108//   A service resource associated with the request could not be found. Clients
109//   should not retry such requests.
110//
111//   * ErrCodeInternalServiceException "InternalServiceException"
112//   The service encountered an unrecoverable internal failure while processing
113//   the request. Clients can retry such requests immediately or after a waiting
114//   period.
115//
116//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
117//   The requested operation is not supported in the region specified.
118//
119// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatch
120func (c *GameLift) AcceptMatch(input *AcceptMatchInput) (*AcceptMatchOutput, error) {
121	req, out := c.AcceptMatchRequest(input)
122	return out, req.Send()
123}
124
125// AcceptMatchWithContext is the same as AcceptMatch with the addition of
126// the ability to pass a context and additional request options.
127//
128// See AcceptMatch for details on how to use this API operation.
129//
130// The context must be non-nil and will be used for request cancellation. If
131// the context is nil a panic will occur. In the future the SDK may create
132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
133// for more information on using Contexts.
134func (c *GameLift) AcceptMatchWithContext(ctx aws.Context, input *AcceptMatchInput, opts ...request.Option) (*AcceptMatchOutput, error) {
135	req, out := c.AcceptMatchRequest(input)
136	req.SetContext(ctx)
137	req.ApplyOptions(opts...)
138	return out, req.Send()
139}
140
141const opCreateAlias = "CreateAlias"
142
143// CreateAliasRequest generates a "aws/request.Request" representing the
144// client's request for the CreateAlias operation. The "output" return
145// value will be populated with the request's response once the request completes
146// successfuly.
147//
148// Use "Send" method on the returned Request to send the API call to the service.
149// the "output" return value is not valid until after Send returns without error.
150//
151// See CreateAlias for more information on using the CreateAlias
152// API call, and error handling.
153//
154// This method is useful when you want to inject custom logic or configuration
155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
156//
157//
158//    // Example sending a request using the CreateAliasRequest method.
159//    req, resp := client.CreateAliasRequest(params)
160//
161//    err := req.Send()
162//    if err == nil { // resp is now filled
163//        fmt.Println(resp)
164//    }
165//
166// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAlias
167func (c *GameLift) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) {
168	op := &request.Operation{
169		Name:       opCreateAlias,
170		HTTPMethod: "POST",
171		HTTPPath:   "/",
172	}
173
174	if input == nil {
175		input = &CreateAliasInput{}
176	}
177
178	output = &CreateAliasOutput{}
179	req = c.newRequest(op, input, output)
180	return
181}
182
183// CreateAlias API operation for Amazon GameLift.
184//
185// Creates an alias for a fleet. In most situations, you can use an alias ID
186// in place of a fleet ID. By using a fleet alias instead of a specific fleet
187// ID, you can switch gameplay and players to a new fleet without changing your
188// game client or other game components. For example, for games in production,
189// using an alias allows you to seamlessly redirect your player base to a new
190// game server update.
191//
192// Amazon GameLift supports two types of routing strategies for aliases: simple
193// and terminal. A simple alias points to an active fleet. A terminal alias
194// is used to display messaging or link to a URL instead of routing players
195// to an active fleet. For example, you might use a terminal alias when a game
196// version is no longer supported and you want to direct players to an upgrade
197// site.
198//
199// To create a fleet alias, specify an alias name, routing strategy, and optional
200// description. Each simple alias can point to only one fleet, but a fleet can
201// have multiple aliases. If successful, a new alias record is returned, including
202// an alias ID, which you can reference when creating a game session. You can
203// reassign an alias to another fleet by calling UpdateAlias.
204//
205// Alias-related operations include:
206//
207//    * CreateAlias
208//
209//    * ListAliases
210//
211//    * DescribeAlias
212//
213//    * UpdateAlias
214//
215//    * DeleteAlias
216//
217//    * ResolveAlias
218//
219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
220// with awserr.Error's Code and Message methods to get detailed information about
221// the error.
222//
223// See the AWS API reference guide for Amazon GameLift's
224// API operation CreateAlias for usage and error information.
225//
226// Returned Error Codes:
227//   * ErrCodeUnauthorizedException "UnauthorizedException"
228//   The client failed authentication. Clients should not retry such requests.
229//
230//   * ErrCodeInvalidRequestException "InvalidRequestException"
231//   One or more parameter values in the request are invalid. Correct the invalid
232//   parameter values before retrying.
233//
234//   * ErrCodeConflictException "ConflictException"
235//   The requested operation would cause a conflict with the current state of
236//   a service resource associated with the request. Resolve the conflict before
237//   retrying this request.
238//
239//   * ErrCodeInternalServiceException "InternalServiceException"
240//   The service encountered an unrecoverable internal failure while processing
241//   the request. Clients can retry such requests immediately or after a waiting
242//   period.
243//
244//   * ErrCodeLimitExceededException "LimitExceededException"
245//   The requested operation would cause the resource to exceed the allowed service
246//   limit. Resolve the issue before retrying.
247//
248// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAlias
249func (c *GameLift) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) {
250	req, out := c.CreateAliasRequest(input)
251	return out, req.Send()
252}
253
254// CreateAliasWithContext is the same as CreateAlias with the addition of
255// the ability to pass a context and additional request options.
256//
257// See CreateAlias for details on how to use this API operation.
258//
259// The context must be non-nil and will be used for request cancellation. If
260// the context is nil a panic will occur. In the future the SDK may create
261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
262// for more information on using Contexts.
263func (c *GameLift) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput, opts ...request.Option) (*CreateAliasOutput, error) {
264	req, out := c.CreateAliasRequest(input)
265	req.SetContext(ctx)
266	req.ApplyOptions(opts...)
267	return out, req.Send()
268}
269
270const opCreateBuild = "CreateBuild"
271
272// CreateBuildRequest generates a "aws/request.Request" representing the
273// client's request for the CreateBuild operation. The "output" return
274// value will be populated with the request's response once the request completes
275// successfuly.
276//
277// Use "Send" method on the returned Request to send the API call to the service.
278// the "output" return value is not valid until after Send returns without error.
279//
280// See CreateBuild for more information on using the CreateBuild
281// API call, and error handling.
282//
283// This method is useful when you want to inject custom logic or configuration
284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
285//
286//
287//    // Example sending a request using the CreateBuildRequest method.
288//    req, resp := client.CreateBuildRequest(params)
289//
290//    err := req.Send()
291//    if err == nil { // resp is now filled
292//        fmt.Println(resp)
293//    }
294//
295// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuild
296func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Request, output *CreateBuildOutput) {
297	op := &request.Operation{
298		Name:       opCreateBuild,
299		HTTPMethod: "POST",
300		HTTPPath:   "/",
301	}
302
303	if input == nil {
304		input = &CreateBuildInput{}
305	}
306
307	output = &CreateBuildOutput{}
308	req = c.newRequest(op, input, output)
309	return
310}
311
312// CreateBuild API operation for Amazon GameLift.
313//
314// Creates a new Amazon GameLift build record for your game server binary files
315// and points to the location of your game server build files in an Amazon Simple
316// Storage Service (Amazon S3) location.
317//
318// Game server binaries must be combined into a .zip file for use with Amazon
319// GameLift. See Uploading Your Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
320// for more information.
321//
322// To create new builds quickly and easily, use the AWS CLI command upload-build
323// (http://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html).
324// This helper command uploads your build and creates a new build record in
325// one step, and automatically handles the necessary permissions. See  Upload
326// Build Files to Amazon GameLift (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html)
327// for more help.
328//
329// The CreateBuild operation should be used only when you need to manually upload
330// your build files, as in the following scenarios:
331//
332//    * Store a build file in an Amazon S3 bucket under your own AWS account.
333//    To use this option, you must first give Amazon GameLift access to that
334//    Amazon S3 bucket. See  Create a Build with Files in Amazon S3 (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build)
335//    for detailed help. To create a new build record using files in your Amazon
336//    S3 bucket, call CreateBuild and specify a build name, operating system,
337//    and the storage location of your game build.
338//
339//    * Upload a build file directly to Amazon GameLift's Amazon S3 account.
340//    To use this option, you first call CreateBuild with a build name and operating
341//    system. This action creates a new build record and returns an Amazon S3
342//    storage location (bucket and key only) and temporary access credentials.
343//    Use the credentials to manually upload your build file to the storage
344//    location (see the Amazon S3 topic Uploading Objects (http://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html)).
345//    You can upload files to a location only once.
346//
347// If successful, this operation creates a new build record with a unique build
348// ID and places it in INITIALIZED status. You can use DescribeBuild to check
349// the status of your build. A build must be in READY status before it can be
350// used to create fleets.
351//
352// Build-related operations include:
353//
354//    * CreateBuild
355//
356//    * ListBuilds
357//
358//    * DescribeBuild
359//
360//    * UpdateBuild
361//
362//    * DeleteBuild
363//
364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
365// with awserr.Error's Code and Message methods to get detailed information about
366// the error.
367//
368// See the AWS API reference guide for Amazon GameLift's
369// API operation CreateBuild for usage and error information.
370//
371// Returned Error Codes:
372//   * ErrCodeUnauthorizedException "UnauthorizedException"
373//   The client failed authentication. Clients should not retry such requests.
374//
375//   * ErrCodeInvalidRequestException "InvalidRequestException"
376//   One or more parameter values in the request are invalid. Correct the invalid
377//   parameter values before retrying.
378//
379//   * ErrCodeConflictException "ConflictException"
380//   The requested operation would cause a conflict with the current state of
381//   a service resource associated with the request. Resolve the conflict before
382//   retrying this request.
383//
384//   * ErrCodeInternalServiceException "InternalServiceException"
385//   The service encountered an unrecoverable internal failure while processing
386//   the request. Clients can retry such requests immediately or after a waiting
387//   period.
388//
389// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuild
390func (c *GameLift) CreateBuild(input *CreateBuildInput) (*CreateBuildOutput, error) {
391	req, out := c.CreateBuildRequest(input)
392	return out, req.Send()
393}
394
395// CreateBuildWithContext is the same as CreateBuild with the addition of
396// the ability to pass a context and additional request options.
397//
398// See CreateBuild for details on how to use this API operation.
399//
400// The context must be non-nil and will be used for request cancellation. If
401// the context is nil a panic will occur. In the future the SDK may create
402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
403// for more information on using Contexts.
404func (c *GameLift) CreateBuildWithContext(ctx aws.Context, input *CreateBuildInput, opts ...request.Option) (*CreateBuildOutput, error) {
405	req, out := c.CreateBuildRequest(input)
406	req.SetContext(ctx)
407	req.ApplyOptions(opts...)
408	return out, req.Send()
409}
410
411const opCreateFleet = "CreateFleet"
412
413// CreateFleetRequest generates a "aws/request.Request" representing the
414// client's request for the CreateFleet operation. The "output" return
415// value will be populated with the request's response once the request completes
416// successfuly.
417//
418// Use "Send" method on the returned Request to send the API call to the service.
419// the "output" return value is not valid until after Send returns without error.
420//
421// See CreateFleet for more information on using the CreateFleet
422// API call, and error handling.
423//
424// This method is useful when you want to inject custom logic or configuration
425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
426//
427//
428//    // Example sending a request using the CreateFleetRequest method.
429//    req, resp := client.CreateFleetRequest(params)
430//
431//    err := req.Send()
432//    if err == nil { // resp is now filled
433//        fmt.Println(resp)
434//    }
435//
436// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet
437func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
438	op := &request.Operation{
439		Name:       opCreateFleet,
440		HTTPMethod: "POST",
441		HTTPPath:   "/",
442	}
443
444	if input == nil {
445		input = &CreateFleetInput{}
446	}
447
448	output = &CreateFleetOutput{}
449	req = c.newRequest(op, input, output)
450	return
451}
452
453// CreateFleet API operation for Amazon GameLift.
454//
455// Creates a new fleet to run your game servers. A fleet is a set of Amazon
456// Elastic Compute Cloud (Amazon EC2) instances, each of which can run multiple
457// server processes to host game sessions. You set up a fleet to use instances
458// with certain hardware specifications (see Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
459// for more information), and deploy your game build to run on each instance.
460//
461// To create a new fleet, you must specify the following: (1) a fleet name,
462// (2) the build ID of a successfully uploaded game build, (3) an EC2 instance
463// type, and (4) a run-time configuration, which describes the server processes
464// to run on each instance in the fleet. If you don't specify a fleet type (on-demand
465// or spot), the new fleet uses on-demand instances by default.
466//
467// You can also configure the new fleet with the following settings:
468//
469//    * Fleet description
470//
471//    * Access permissions for inbound traffic
472//
473//    * Fleet-wide game session protection
474//
475//    * Resource usage limits
476//
477//    * VPC peering connection (see VPC Peering with Amazon GameLift Fleets
478//    (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html))
479//
480// If you use Amazon CloudWatch for metrics, you can add the new fleet to a
481// metric group. By adding multiple fleets to a metric group, you can view aggregated
482// metrics for all the fleets in the group.
483//
484// If the CreateFleet call is successful, Amazon GameLift performs the following
485// tasks. You can track the process of a fleet by checking the fleet status
486// or by monitoring fleet creation events:
487//
488//    * Creates a fleet record. Status: NEW.
489//
490//    * Begins writing events to the fleet event log, which can be accessed
491//    in the Amazon GameLift console.
492//
493// Sets the fleet's target capacity to 1 (desired instances), which triggers
494//    Amazon GameLift to start one new EC2 instance.
495//
496//    * Downloads the game build to the new instance and installs it. Statuses:
497//    DOWNLOADING, VALIDATING, BUILDING.
498//
499//    * Starts launching server processes on the instance. If the fleet is configured
500//    to run multiple server processes per instance, Amazon GameLift staggers
501//    each launch by a few seconds. Status: ACTIVATING.
502//
503//    * Sets the fleet's status to ACTIVE as soon as one server process is ready
504//    to host a game session.
505//
506// Fleet-related operations include:
507//
508//    * CreateFleet
509//
510//    * ListFleets
511//
512//    * DeleteFleet
513//
514//    * Describe fleets:
515//
516// DescribeFleetAttributes
517//
518// DescribeFleetCapacity
519//
520// DescribeFleetPortSettings
521//
522// DescribeFleetUtilization
523//
524// DescribeRuntimeConfiguration
525//
526// DescribeEC2InstanceLimits
527//
528// DescribeFleetEvents
529//
530//    * Update fleets:
531//
532// UpdateFleetAttributes
533//
534// UpdateFleetCapacity
535//
536// UpdateFleetPortSettings
537//
538// UpdateRuntimeConfiguration
539//
540//    * Manage fleet actions:
541//
542// StartFleetActions
543//
544// StopFleetActions
545//
546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
547// with awserr.Error's Code and Message methods to get detailed information about
548// the error.
549//
550// See the AWS API reference guide for Amazon GameLift's
551// API operation CreateFleet for usage and error information.
552//
553// Returned Error Codes:
554//   * ErrCodeInternalServiceException "InternalServiceException"
555//   The service encountered an unrecoverable internal failure while processing
556//   the request. Clients can retry such requests immediately or after a waiting
557//   period.
558//
559//   * ErrCodeNotFoundException "NotFoundException"
560//   A service resource associated with the request could not be found. Clients
561//   should not retry such requests.
562//
563//   * ErrCodeConflictException "ConflictException"
564//   The requested operation would cause a conflict with the current state of
565//   a service resource associated with the request. Resolve the conflict before
566//   retrying this request.
567//
568//   * ErrCodeLimitExceededException "LimitExceededException"
569//   The requested operation would cause the resource to exceed the allowed service
570//   limit. Resolve the issue before retrying.
571//
572//   * ErrCodeInvalidRequestException "InvalidRequestException"
573//   One or more parameter values in the request are invalid. Correct the invalid
574//   parameter values before retrying.
575//
576//   * ErrCodeUnauthorizedException "UnauthorizedException"
577//   The client failed authentication. Clients should not retry such requests.
578//
579// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet
580func (c *GameLift) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
581	req, out := c.CreateFleetRequest(input)
582	return out, req.Send()
583}
584
585// CreateFleetWithContext is the same as CreateFleet with the addition of
586// the ability to pass a context and additional request options.
587//
588// See CreateFleet for details on how to use this API operation.
589//
590// The context must be non-nil and will be used for request cancellation. If
591// the context is nil a panic will occur. In the future the SDK may create
592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
593// for more information on using Contexts.
594func (c *GameLift) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
595	req, out := c.CreateFleetRequest(input)
596	req.SetContext(ctx)
597	req.ApplyOptions(opts...)
598	return out, req.Send()
599}
600
601const opCreateGameSession = "CreateGameSession"
602
603// CreateGameSessionRequest generates a "aws/request.Request" representing the
604// client's request for the CreateGameSession operation. The "output" return
605// value will be populated with the request's response once the request completes
606// successfuly.
607//
608// Use "Send" method on the returned Request to send the API call to the service.
609// the "output" return value is not valid until after Send returns without error.
610//
611// See CreateGameSession for more information on using the CreateGameSession
612// API call, and error handling.
613//
614// This method is useful when you want to inject custom logic or configuration
615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
616//
617//
618//    // Example sending a request using the CreateGameSessionRequest method.
619//    req, resp := client.CreateGameSessionRequest(params)
620//
621//    err := req.Send()
622//    if err == nil { // resp is now filled
623//        fmt.Println(resp)
624//    }
625//
626// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
627func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req *request.Request, output *CreateGameSessionOutput) {
628	op := &request.Operation{
629		Name:       opCreateGameSession,
630		HTTPMethod: "POST",
631		HTTPPath:   "/",
632	}
633
634	if input == nil {
635		input = &CreateGameSessionInput{}
636	}
637
638	output = &CreateGameSessionOutput{}
639	req = c.newRequest(op, input, output)
640	return
641}
642
643// CreateGameSession API operation for Amazon GameLift.
644//
645// Creates a multiplayer game session for players. This action creates a game
646// session record and assigns an available server process in the specified fleet
647// to host the game session. A fleet must have an ACTIVE status before a game
648// session can be created in it.
649//
650// To create a game session, specify either fleet ID or alias ID and indicate
651// a maximum number of players to allow in the game session. You can also provide
652// a name and game-specific properties for this game session. If successful,
653// a GameSession object is returned containing the game session properties and
654// other settings you specified.
655//
656// Idempotency tokens. You can add a token that uniquely identifies game session
657// requests. This is useful for ensuring that game session requests are idempotent.
658// Multiple requests with the same idempotency token are processed only once;
659// subsequent requests return the original result. All response values are the
660// same with the exception of game session status, which may change.
661//
662// Resource creation limits. If you are creating a game session on a fleet with
663// a resource creation limit policy in force, then you must specify a creator
664// ID. Without this ID, Amazon GameLift has no way to evaluate the policy for
665// this new game session request.
666//
667// Player acceptance policy. By default, newly created game sessions are open
668// to new players. You can restrict new player access by using UpdateGameSession
669// to change the game session's player session creation policy.
670//
671// Game session logs. Logs are retained for all active game sessions for 14
672// days. To access the logs, call GetGameSessionLogUrl to download the log files.
673//
674// Available in Amazon GameLift Local.
675//
676// Game-session-related operations include:
677//
678//    * CreateGameSession
679//
680//    * DescribeGameSessions
681//
682//    * DescribeGameSessionDetails
683//
684//    * SearchGameSessions
685//
686//    * UpdateGameSession
687//
688//    * GetGameSessionLogUrl
689//
690//    * Game session placements
691//
692// StartGameSessionPlacement
693//
694// DescribeGameSessionPlacement
695//
696// StopGameSessionPlacement
697//
698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
699// with awserr.Error's Code and Message methods to get detailed information about
700// the error.
701//
702// See the AWS API reference guide for Amazon GameLift's
703// API operation CreateGameSession for usage and error information.
704//
705// Returned Error Codes:
706//   * ErrCodeConflictException "ConflictException"
707//   The requested operation would cause a conflict with the current state of
708//   a service resource associated with the request. Resolve the conflict before
709//   retrying this request.
710//
711//   * ErrCodeInternalServiceException "InternalServiceException"
712//   The service encountered an unrecoverable internal failure while processing
713//   the request. Clients can retry such requests immediately or after a waiting
714//   period.
715//
716//   * ErrCodeUnauthorizedException "UnauthorizedException"
717//   The client failed authentication. Clients should not retry such requests.
718//
719//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
720//   The requested operation would cause a conflict with the current state of
721//   a resource associated with the request and/or the fleet. Resolve the conflict
722//   before retrying.
723//
724//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
725//   The service is unable to resolve the routing for a particular alias because
726//   it has a terminal RoutingStrategy associated with it. The message returned
727//   in this exception is the message defined in the routing strategy itself.
728//   Such requests should only be retried if the routing strategy for the specified
729//   alias is modified.
730//
731//   * ErrCodeInvalidRequestException "InvalidRequestException"
732//   One or more parameter values in the request are invalid. Correct the invalid
733//   parameter values before retrying.
734//
735//   * ErrCodeNotFoundException "NotFoundException"
736//   A service resource associated with the request could not be found. Clients
737//   should not retry such requests.
738//
739//   * ErrCodeFleetCapacityExceededException "FleetCapacityExceededException"
740//   The specified fleet has no available instances to fulfill a CreateGameSession
741//   request. Clients can retry such requests immediately or after a waiting period.
742//
743//   * ErrCodeLimitExceededException "LimitExceededException"
744//   The requested operation would cause the resource to exceed the allowed service
745//   limit. Resolve the issue before retrying.
746//
747//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
748//   A game session with this custom ID string already exists in this fleet. Resolve
749//   this conflict before retrying this request.
750//
751// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
752func (c *GameLift) CreateGameSession(input *CreateGameSessionInput) (*CreateGameSessionOutput, error) {
753	req, out := c.CreateGameSessionRequest(input)
754	return out, req.Send()
755}
756
757// CreateGameSessionWithContext is the same as CreateGameSession with the addition of
758// the ability to pass a context and additional request options.
759//
760// See CreateGameSession for details on how to use this API operation.
761//
762// The context must be non-nil and will be used for request cancellation. If
763// the context is nil a panic will occur. In the future the SDK may create
764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
765// for more information on using Contexts.
766func (c *GameLift) CreateGameSessionWithContext(ctx aws.Context, input *CreateGameSessionInput, opts ...request.Option) (*CreateGameSessionOutput, error) {
767	req, out := c.CreateGameSessionRequest(input)
768	req.SetContext(ctx)
769	req.ApplyOptions(opts...)
770	return out, req.Send()
771}
772
773const opCreateGameSessionQueue = "CreateGameSessionQueue"
774
775// CreateGameSessionQueueRequest generates a "aws/request.Request" representing the
776// client's request for the CreateGameSessionQueue operation. The "output" return
777// value will be populated with the request's response once the request completes
778// successfuly.
779//
780// Use "Send" method on the returned Request to send the API call to the service.
781// the "output" return value is not valid until after Send returns without error.
782//
783// See CreateGameSessionQueue for more information on using the CreateGameSessionQueue
784// API call, and error handling.
785//
786// This method is useful when you want to inject custom logic or configuration
787// into the SDK's request lifecycle. Such as custom headers, or retry logic.
788//
789//
790//    // Example sending a request using the CreateGameSessionQueueRequest method.
791//    req, resp := client.CreateGameSessionQueueRequest(params)
792//
793//    err := req.Send()
794//    if err == nil { // resp is now filled
795//        fmt.Println(resp)
796//    }
797//
798// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
799func (c *GameLift) CreateGameSessionQueueRequest(input *CreateGameSessionQueueInput) (req *request.Request, output *CreateGameSessionQueueOutput) {
800	op := &request.Operation{
801		Name:       opCreateGameSessionQueue,
802		HTTPMethod: "POST",
803		HTTPPath:   "/",
804	}
805
806	if input == nil {
807		input = &CreateGameSessionQueueInput{}
808	}
809
810	output = &CreateGameSessionQueueOutput{}
811	req = c.newRequest(op, input, output)
812	return
813}
814
815// CreateGameSessionQueue API operation for Amazon GameLift.
816//
817// Establishes a new queue for processing requests to place new game sessions.
818// A queue identifies where new game sessions can be hosted -- by specifying
819// a list of destinations (fleets or aliases) -- and how long requests can wait
820// in the queue before timing out. You can set up a queue to try to place game
821// sessions on fleets in multiple regions. To add placement requests to a queue,
822// call StartGameSessionPlacement and reference the queue name.
823//
824// Destination order. When processing a request for a game session, Amazon GameLift
825// tries each destination in order until it finds one with available resources
826// to host the new game session. A queue's default order is determined by how
827// destinations are listed. The default order is overridden when a game session
828// placement request provides player latency information. Player latency information
829// enables Amazon GameLift to prioritize destinations where players report the
830// lowest average latency, as a result placing the new game session where the
831// majority of players will have the best possible gameplay experience.
832//
833// Player latency policies. For placement requests containing player latency
834// information, use player latency policies to protect individual players from
835// very high latencies. With a latency cap, even when a destination can deliver
836// a low latency for most players, the game is not placed where any individual
837// player is reporting latency higher than a policy's maximum. A queue can have
838// multiple latency policies, which are enforced consecutively starting with
839// the policy with the lowest latency cap. Use multiple policies to gradually
840// relax latency controls; for example, you might set a policy with a low latency
841// cap for the first 60 seconds, a second policy with a higher cap for the next
842// 60 seconds, etc.
843//
844// To create a new queue, provide a name, timeout value, a list of destinations
845// and, if desired, a set of latency policies. If successful, a new queue object
846// is returned.
847//
848// Queue-related operations include:
849//
850//    * CreateGameSessionQueue
851//
852//    * DescribeGameSessionQueues
853//
854//    * UpdateGameSessionQueue
855//
856//    * DeleteGameSessionQueue
857//
858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
859// with awserr.Error's Code and Message methods to get detailed information about
860// the error.
861//
862// See the AWS API reference guide for Amazon GameLift's
863// API operation CreateGameSessionQueue for usage and error information.
864//
865// Returned Error Codes:
866//   * ErrCodeInternalServiceException "InternalServiceException"
867//   The service encountered an unrecoverable internal failure while processing
868//   the request. Clients can retry such requests immediately or after a waiting
869//   period.
870//
871//   * ErrCodeInvalidRequestException "InvalidRequestException"
872//   One or more parameter values in the request are invalid. Correct the invalid
873//   parameter values before retrying.
874//
875//   * ErrCodeUnauthorizedException "UnauthorizedException"
876//   The client failed authentication. Clients should not retry such requests.
877//
878//   * ErrCodeLimitExceededException "LimitExceededException"
879//   The requested operation would cause the resource to exceed the allowed service
880//   limit. Resolve the issue before retrying.
881//
882// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
883func (c *GameLift) CreateGameSessionQueue(input *CreateGameSessionQueueInput) (*CreateGameSessionQueueOutput, error) {
884	req, out := c.CreateGameSessionQueueRequest(input)
885	return out, req.Send()
886}
887
888// CreateGameSessionQueueWithContext is the same as CreateGameSessionQueue with the addition of
889// the ability to pass a context and additional request options.
890//
891// See CreateGameSessionQueue for details on how to use this API operation.
892//
893// The context must be non-nil and will be used for request cancellation. If
894// the context is nil a panic will occur. In the future the SDK may create
895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
896// for more information on using Contexts.
897func (c *GameLift) CreateGameSessionQueueWithContext(ctx aws.Context, input *CreateGameSessionQueueInput, opts ...request.Option) (*CreateGameSessionQueueOutput, error) {
898	req, out := c.CreateGameSessionQueueRequest(input)
899	req.SetContext(ctx)
900	req.ApplyOptions(opts...)
901	return out, req.Send()
902}
903
904const opCreateMatchmakingConfiguration = "CreateMatchmakingConfiguration"
905
906// CreateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
907// client's request for the CreateMatchmakingConfiguration operation. The "output" return
908// value will be populated with the request's response once the request completes
909// successfuly.
910//
911// Use "Send" method on the returned Request to send the API call to the service.
912// the "output" return value is not valid until after Send returns without error.
913//
914// See CreateMatchmakingConfiguration for more information on using the CreateMatchmakingConfiguration
915// API call, and error handling.
916//
917// This method is useful when you want to inject custom logic or configuration
918// into the SDK's request lifecycle. Such as custom headers, or retry logic.
919//
920//
921//    // Example sending a request using the CreateMatchmakingConfigurationRequest method.
922//    req, resp := client.CreateMatchmakingConfigurationRequest(params)
923//
924//    err := req.Send()
925//    if err == nil { // resp is now filled
926//        fmt.Println(resp)
927//    }
928//
929// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
930func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakingConfigurationInput) (req *request.Request, output *CreateMatchmakingConfigurationOutput) {
931	op := &request.Operation{
932		Name:       opCreateMatchmakingConfiguration,
933		HTTPMethod: "POST",
934		HTTPPath:   "/",
935	}
936
937	if input == nil {
938		input = &CreateMatchmakingConfigurationInput{}
939	}
940
941	output = &CreateMatchmakingConfigurationOutput{}
942	req = c.newRequest(op, input, output)
943	return
944}
945
946// CreateMatchmakingConfiguration API operation for Amazon GameLift.
947//
948// Defines a new matchmaking configuration for use with FlexMatch. A matchmaking
949// configuration sets out guidelines for matching players and getting the matches
950// into games. You can set up multiple matchmaking configurations to handle
951// the scenarios needed for your game. Each matchmaking ticket (StartMatchmaking
952// or StartMatchBackfill) specifies a configuration for the match and provides
953// player attributes to support the configuration being used.
954//
955// To create a matchmaking configuration, at a minimum you must specify the
956// following: configuration name; a rule set that governs how to evaluate players
957// and find acceptable matches; a game session queue to use when placing a new
958// game session for the match; and the maximum time allowed for a matchmaking
959// attempt.
960//
961// Player acceptance -- In each configuration, you have the option to require
962// that all players accept participation in a proposed match. To enable this
963// feature, set AcceptanceRequired to true and specify a time limit for player
964// acceptance. Players have the option to accept or reject a proposed match,
965// and a match does not move ahead to game session placement unless all matched
966// players accept.
967//
968// Matchmaking status notification -- There are two ways to track the progress
969// of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking;
970// or (2) receiving notifications with Amazon Simple Notification Service (SNS).
971// To use notifications, you first need to set up an SNS topic to receive the
972// notifications, and provide the topic ARN in the matchmaking configuration
973// (see  Setting up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)).
974// Since notifications promise only "best effort" delivery, we recommend calling
975// DescribeMatchmaking if no notifications are received within 30 seconds.
976//
977// Operations related to match configurations and rule sets include:
978//
979//    * CreateMatchmakingConfiguration
980//
981//    * DescribeMatchmakingConfigurations
982//
983//    * UpdateMatchmakingConfiguration
984//
985//    * DeleteMatchmakingConfiguration
986//
987//    * CreateMatchmakingRuleSet
988//
989//    * DescribeMatchmakingRuleSets
990//
991//    * ValidateMatchmakingRuleSet
992//
993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
994// with awserr.Error's Code and Message methods to get detailed information about
995// the error.
996//
997// See the AWS API reference guide for Amazon GameLift's
998// API operation CreateMatchmakingConfiguration for usage and error information.
999//
1000// Returned Error Codes:
1001//   * ErrCodeInvalidRequestException "InvalidRequestException"
1002//   One or more parameter values in the request are invalid. Correct the invalid
1003//   parameter values before retrying.
1004//
1005//   * ErrCodeLimitExceededException "LimitExceededException"
1006//   The requested operation would cause the resource to exceed the allowed service
1007//   limit. Resolve the issue before retrying.
1008//
1009//   * ErrCodeNotFoundException "NotFoundException"
1010//   A service resource associated with the request could not be found. Clients
1011//   should not retry such requests.
1012//
1013//   * ErrCodeInternalServiceException "InternalServiceException"
1014//   The service encountered an unrecoverable internal failure while processing
1015//   the request. Clients can retry such requests immediately or after a waiting
1016//   period.
1017//
1018//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
1019//   The requested operation is not supported in the region specified.
1020//
1021// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
1022func (c *GameLift) CreateMatchmakingConfiguration(input *CreateMatchmakingConfigurationInput) (*CreateMatchmakingConfigurationOutput, error) {
1023	req, out := c.CreateMatchmakingConfigurationRequest(input)
1024	return out, req.Send()
1025}
1026
1027// CreateMatchmakingConfigurationWithContext is the same as CreateMatchmakingConfiguration with the addition of
1028// the ability to pass a context and additional request options.
1029//
1030// See CreateMatchmakingConfiguration for details on how to use this API operation.
1031//
1032// The context must be non-nil and will be used for request cancellation. If
1033// the context is nil a panic will occur. In the future the SDK may create
1034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1035// for more information on using Contexts.
1036func (c *GameLift) CreateMatchmakingConfigurationWithContext(ctx aws.Context, input *CreateMatchmakingConfigurationInput, opts ...request.Option) (*CreateMatchmakingConfigurationOutput, error) {
1037	req, out := c.CreateMatchmakingConfigurationRequest(input)
1038	req.SetContext(ctx)
1039	req.ApplyOptions(opts...)
1040	return out, req.Send()
1041}
1042
1043const opCreateMatchmakingRuleSet = "CreateMatchmakingRuleSet"
1044
1045// CreateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
1046// client's request for the CreateMatchmakingRuleSet operation. The "output" return
1047// value will be populated with the request's response once the request completes
1048// successfuly.
1049//
1050// Use "Send" method on the returned Request to send the API call to the service.
1051// the "output" return value is not valid until after Send returns without error.
1052//
1053// See CreateMatchmakingRuleSet for more information on using the CreateMatchmakingRuleSet
1054// API call, and error handling.
1055//
1056// This method is useful when you want to inject custom logic or configuration
1057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1058//
1059//
1060//    // Example sending a request using the CreateMatchmakingRuleSetRequest method.
1061//    req, resp := client.CreateMatchmakingRuleSetRequest(params)
1062//
1063//    err := req.Send()
1064//    if err == nil { // resp is now filled
1065//        fmt.Println(resp)
1066//    }
1067//
1068// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
1069func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleSetInput) (req *request.Request, output *CreateMatchmakingRuleSetOutput) {
1070	op := &request.Operation{
1071		Name:       opCreateMatchmakingRuleSet,
1072		HTTPMethod: "POST",
1073		HTTPPath:   "/",
1074	}
1075
1076	if input == nil {
1077		input = &CreateMatchmakingRuleSetInput{}
1078	}
1079
1080	output = &CreateMatchmakingRuleSetOutput{}
1081	req = c.newRequest(op, input, output)
1082	return
1083}
1084
1085// CreateMatchmakingRuleSet API operation for Amazon GameLift.
1086//
1087// Creates a new rule set for FlexMatch matchmaking. A rule set describes the
1088// type of match to create, such as the number and size of teams, and sets the
1089// parameters for acceptable player matches, such as minimum skill level or
1090// character type. Rule sets are used in matchmaking configurations, which define
1091// how matchmaking requests are handled. Each MatchmakingConfiguration uses
1092// one rule set; you can set up multiple rule sets to handle the scenarios that
1093// suit your game (such as for different game modes), and create a separate
1094// matchmaking configuration for each rule set. See additional information on
1095// rule set content in the MatchmakingRuleSet structure. For help creating rule
1096// sets, including useful examples, see the topic  Adding FlexMatch to Your
1097// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html).
1098//
1099// Once created, matchmaking rule sets cannot be changed or deleted, so we recommend
1100// checking the rule set syntax using ValidateMatchmakingRuleSet before creating
1101// the rule set.
1102//
1103// To create a matchmaking rule set, provide the set of rules and a unique name.
1104// Rule sets must be defined in the same region as the matchmaking configuration
1105// they will be used with. Rule sets cannot be edited or deleted. If you need
1106// to change a rule set, create a new one with the necessary edits and then
1107// update matchmaking configurations to use the new rule set.
1108//
1109// Operations related to match configurations and rule sets include:
1110//
1111//    * CreateMatchmakingConfiguration
1112//
1113//    * DescribeMatchmakingConfigurations
1114//
1115//    * UpdateMatchmakingConfiguration
1116//
1117//    * DeleteMatchmakingConfiguration
1118//
1119//    * CreateMatchmakingRuleSet
1120//
1121//    * DescribeMatchmakingRuleSets
1122//
1123//    * ValidateMatchmakingRuleSet
1124//
1125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1126// with awserr.Error's Code and Message methods to get detailed information about
1127// the error.
1128//
1129// See the AWS API reference guide for Amazon GameLift's
1130// API operation CreateMatchmakingRuleSet for usage and error information.
1131//
1132// Returned Error Codes:
1133//   * ErrCodeInvalidRequestException "InvalidRequestException"
1134//   One or more parameter values in the request are invalid. Correct the invalid
1135//   parameter values before retrying.
1136//
1137//   * ErrCodeInternalServiceException "InternalServiceException"
1138//   The service encountered an unrecoverable internal failure while processing
1139//   the request. Clients can retry such requests immediately or after a waiting
1140//   period.
1141//
1142//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
1143//   The requested operation is not supported in the region specified.
1144//
1145// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
1146func (c *GameLift) CreateMatchmakingRuleSet(input *CreateMatchmakingRuleSetInput) (*CreateMatchmakingRuleSetOutput, error) {
1147	req, out := c.CreateMatchmakingRuleSetRequest(input)
1148	return out, req.Send()
1149}
1150
1151// CreateMatchmakingRuleSetWithContext is the same as CreateMatchmakingRuleSet with the addition of
1152// the ability to pass a context and additional request options.
1153//
1154// See CreateMatchmakingRuleSet for details on how to use this API operation.
1155//
1156// The context must be non-nil and will be used for request cancellation. If
1157// the context is nil a panic will occur. In the future the SDK may create
1158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1159// for more information on using Contexts.
1160func (c *GameLift) CreateMatchmakingRuleSetWithContext(ctx aws.Context, input *CreateMatchmakingRuleSetInput, opts ...request.Option) (*CreateMatchmakingRuleSetOutput, error) {
1161	req, out := c.CreateMatchmakingRuleSetRequest(input)
1162	req.SetContext(ctx)
1163	req.ApplyOptions(opts...)
1164	return out, req.Send()
1165}
1166
1167const opCreatePlayerSession = "CreatePlayerSession"
1168
1169// CreatePlayerSessionRequest generates a "aws/request.Request" representing the
1170// client's request for the CreatePlayerSession operation. The "output" return
1171// value will be populated with the request's response once the request completes
1172// successfuly.
1173//
1174// Use "Send" method on the returned Request to send the API call to the service.
1175// the "output" return value is not valid until after Send returns without error.
1176//
1177// See CreatePlayerSession for more information on using the CreatePlayerSession
1178// API call, and error handling.
1179//
1180// This method is useful when you want to inject custom logic or configuration
1181// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1182//
1183//
1184//    // Example sending a request using the CreatePlayerSessionRequest method.
1185//    req, resp := client.CreatePlayerSessionRequest(params)
1186//
1187//    err := req.Send()
1188//    if err == nil { // resp is now filled
1189//        fmt.Println(resp)
1190//    }
1191//
1192// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
1193func (c *GameLift) CreatePlayerSessionRequest(input *CreatePlayerSessionInput) (req *request.Request, output *CreatePlayerSessionOutput) {
1194	op := &request.Operation{
1195		Name:       opCreatePlayerSession,
1196		HTTPMethod: "POST",
1197		HTTPPath:   "/",
1198	}
1199
1200	if input == nil {
1201		input = &CreatePlayerSessionInput{}
1202	}
1203
1204	output = &CreatePlayerSessionOutput{}
1205	req = c.newRequest(op, input, output)
1206	return
1207}
1208
1209// CreatePlayerSession API operation for Amazon GameLift.
1210//
1211// Adds a player to a game session and creates a player session record. Before
1212// a player can be added, a game session must have an ACTIVE status, have a
1213// creation policy of ALLOW_ALL, and have an open player slot. To add a group
1214// of players to a game session, use CreatePlayerSessions.
1215//
1216// To create a player session, specify a game session ID, player ID, and optionally
1217// a string of player data. If successful, the player is added to the game session
1218// and a new PlayerSession object is returned. Player sessions cannot be updated.
1219//
1220// Available in Amazon GameLift Local.
1221//
1222// Player-session-related operations include:
1223//
1224//    * CreatePlayerSession
1225//
1226//    * CreatePlayerSessions
1227//
1228//    * DescribePlayerSessions
1229//
1230//    * Game session placements
1231//
1232// StartGameSessionPlacement
1233//
1234// DescribeGameSessionPlacement
1235//
1236// StopGameSessionPlacement
1237//
1238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1239// with awserr.Error's Code and Message methods to get detailed information about
1240// the error.
1241//
1242// See the AWS API reference guide for Amazon GameLift's
1243// API operation CreatePlayerSession for usage and error information.
1244//
1245// Returned Error Codes:
1246//   * ErrCodeInternalServiceException "InternalServiceException"
1247//   The service encountered an unrecoverable internal failure while processing
1248//   the request. Clients can retry such requests immediately or after a waiting
1249//   period.
1250//
1251//   * ErrCodeUnauthorizedException "UnauthorizedException"
1252//   The client failed authentication. Clients should not retry such requests.
1253//
1254//   * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException"
1255//   The requested operation would cause a conflict with the current state of
1256//   a resource associated with the request and/or the game instance. Resolve
1257//   the conflict before retrying.
1258//
1259//   * ErrCodeGameSessionFullException "GameSessionFullException"
1260//   The game instance is currently full and cannot allow the requested player(s)
1261//   to join. Clients can retry such requests immediately or after a waiting period.
1262//
1263//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
1264//   The service is unable to resolve the routing for a particular alias because
1265//   it has a terminal RoutingStrategy associated with it. The message returned
1266//   in this exception is the message defined in the routing strategy itself.
1267//   Such requests should only be retried if the routing strategy for the specified
1268//   alias is modified.
1269//
1270//   * ErrCodeInvalidRequestException "InvalidRequestException"
1271//   One or more parameter values in the request are invalid. Correct the invalid
1272//   parameter values before retrying.
1273//
1274//   * ErrCodeNotFoundException "NotFoundException"
1275//   A service resource associated with the request could not be found. Clients
1276//   should not retry such requests.
1277//
1278// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
1279func (c *GameLift) CreatePlayerSession(input *CreatePlayerSessionInput) (*CreatePlayerSessionOutput, error) {
1280	req, out := c.CreatePlayerSessionRequest(input)
1281	return out, req.Send()
1282}
1283
1284// CreatePlayerSessionWithContext is the same as CreatePlayerSession with the addition of
1285// the ability to pass a context and additional request options.
1286//
1287// See CreatePlayerSession for details on how to use this API operation.
1288//
1289// The context must be non-nil and will be used for request cancellation. If
1290// the context is nil a panic will occur. In the future the SDK may create
1291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1292// for more information on using Contexts.
1293func (c *GameLift) CreatePlayerSessionWithContext(ctx aws.Context, input *CreatePlayerSessionInput, opts ...request.Option) (*CreatePlayerSessionOutput, error) {
1294	req, out := c.CreatePlayerSessionRequest(input)
1295	req.SetContext(ctx)
1296	req.ApplyOptions(opts...)
1297	return out, req.Send()
1298}
1299
1300const opCreatePlayerSessions = "CreatePlayerSessions"
1301
1302// CreatePlayerSessionsRequest generates a "aws/request.Request" representing the
1303// client's request for the CreatePlayerSessions operation. The "output" return
1304// value will be populated with the request's response once the request completes
1305// successfuly.
1306//
1307// Use "Send" method on the returned Request to send the API call to the service.
1308// the "output" return value is not valid until after Send returns without error.
1309//
1310// See CreatePlayerSessions for more information on using the CreatePlayerSessions
1311// API call, and error handling.
1312//
1313// This method is useful when you want to inject custom logic or configuration
1314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1315//
1316//
1317//    // Example sending a request using the CreatePlayerSessionsRequest method.
1318//    req, resp := client.CreatePlayerSessionsRequest(params)
1319//
1320//    err := req.Send()
1321//    if err == nil { // resp is now filled
1322//        fmt.Println(resp)
1323//    }
1324//
1325// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
1326func (c *GameLift) CreatePlayerSessionsRequest(input *CreatePlayerSessionsInput) (req *request.Request, output *CreatePlayerSessionsOutput) {
1327	op := &request.Operation{
1328		Name:       opCreatePlayerSessions,
1329		HTTPMethod: "POST",
1330		HTTPPath:   "/",
1331	}
1332
1333	if input == nil {
1334		input = &CreatePlayerSessionsInput{}
1335	}
1336
1337	output = &CreatePlayerSessionsOutput{}
1338	req = c.newRequest(op, input, output)
1339	return
1340}
1341
1342// CreatePlayerSessions API operation for Amazon GameLift.
1343//
1344// Adds a group of players to a game session. This action is useful with a team
1345// matching feature. Before players can be added, a game session must have an
1346// ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player
1347// slot. To add a single player to a game session, use CreatePlayerSession.
1348//
1349// To create player sessions, specify a game session ID, a list of player IDs,
1350// and optionally a set of player data strings. If successful, the players are
1351// added to the game session and a set of new PlayerSession objects is returned.
1352// Player sessions cannot be updated.
1353//
1354// Available in Amazon GameLift Local.
1355//
1356// Player-session-related operations include:
1357//
1358//    * CreatePlayerSession
1359//
1360//    * CreatePlayerSessions
1361//
1362//    * DescribePlayerSessions
1363//
1364//    * Game session placements
1365//
1366// StartGameSessionPlacement
1367//
1368// DescribeGameSessionPlacement
1369//
1370// StopGameSessionPlacement
1371//
1372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1373// with awserr.Error's Code and Message methods to get detailed information about
1374// the error.
1375//
1376// See the AWS API reference guide for Amazon GameLift's
1377// API operation CreatePlayerSessions for usage and error information.
1378//
1379// Returned Error Codes:
1380//   * ErrCodeInternalServiceException "InternalServiceException"
1381//   The service encountered an unrecoverable internal failure while processing
1382//   the request. Clients can retry such requests immediately or after a waiting
1383//   period.
1384//
1385//   * ErrCodeUnauthorizedException "UnauthorizedException"
1386//   The client failed authentication. Clients should not retry such requests.
1387//
1388//   * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException"
1389//   The requested operation would cause a conflict with the current state of
1390//   a resource associated with the request and/or the game instance. Resolve
1391//   the conflict before retrying.
1392//
1393//   * ErrCodeGameSessionFullException "GameSessionFullException"
1394//   The game instance is currently full and cannot allow the requested player(s)
1395//   to join. Clients can retry such requests immediately or after a waiting period.
1396//
1397//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
1398//   The service is unable to resolve the routing for a particular alias because
1399//   it has a terminal RoutingStrategy associated with it. The message returned
1400//   in this exception is the message defined in the routing strategy itself.
1401//   Such requests should only be retried if the routing strategy for the specified
1402//   alias is modified.
1403//
1404//   * ErrCodeInvalidRequestException "InvalidRequestException"
1405//   One or more parameter values in the request are invalid. Correct the invalid
1406//   parameter values before retrying.
1407//
1408//   * ErrCodeNotFoundException "NotFoundException"
1409//   A service resource associated with the request could not be found. Clients
1410//   should not retry such requests.
1411//
1412// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
1413func (c *GameLift) CreatePlayerSessions(input *CreatePlayerSessionsInput) (*CreatePlayerSessionsOutput, error) {
1414	req, out := c.CreatePlayerSessionsRequest(input)
1415	return out, req.Send()
1416}
1417
1418// CreatePlayerSessionsWithContext is the same as CreatePlayerSessions with the addition of
1419// the ability to pass a context and additional request options.
1420//
1421// See CreatePlayerSessions for details on how to use this API operation.
1422//
1423// The context must be non-nil and will be used for request cancellation. If
1424// the context is nil a panic will occur. In the future the SDK may create
1425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1426// for more information on using Contexts.
1427func (c *GameLift) CreatePlayerSessionsWithContext(ctx aws.Context, input *CreatePlayerSessionsInput, opts ...request.Option) (*CreatePlayerSessionsOutput, error) {
1428	req, out := c.CreatePlayerSessionsRequest(input)
1429	req.SetContext(ctx)
1430	req.ApplyOptions(opts...)
1431	return out, req.Send()
1432}
1433
1434const opCreateVpcPeeringAuthorization = "CreateVpcPeeringAuthorization"
1435
1436// CreateVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
1437// client's request for the CreateVpcPeeringAuthorization operation. The "output" return
1438// value will be populated with the request's response once the request completes
1439// successfuly.
1440//
1441// Use "Send" method on the returned Request to send the API call to the service.
1442// the "output" return value is not valid until after Send returns without error.
1443//
1444// See CreateVpcPeeringAuthorization for more information on using the CreateVpcPeeringAuthorization
1445// API call, and error handling.
1446//
1447// This method is useful when you want to inject custom logic or configuration
1448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1449//
1450//
1451//    // Example sending a request using the CreateVpcPeeringAuthorizationRequest method.
1452//    req, resp := client.CreateVpcPeeringAuthorizationRequest(params)
1453//
1454//    err := req.Send()
1455//    if err == nil { // resp is now filled
1456//        fmt.Println(resp)
1457//    }
1458//
1459// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
1460func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringAuthorizationInput) (req *request.Request, output *CreateVpcPeeringAuthorizationOutput) {
1461	op := &request.Operation{
1462		Name:       opCreateVpcPeeringAuthorization,
1463		HTTPMethod: "POST",
1464		HTTPPath:   "/",
1465	}
1466
1467	if input == nil {
1468		input = &CreateVpcPeeringAuthorizationInput{}
1469	}
1470
1471	output = &CreateVpcPeeringAuthorizationOutput{}
1472	req = c.newRequest(op, input, output)
1473	return
1474}
1475
1476// CreateVpcPeeringAuthorization API operation for Amazon GameLift.
1477//
1478// Requests authorization to create or delete a peer connection between the
1479// VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your
1480// AWS account. VPC peering enables the game servers on your fleet to communicate
1481// directly with other AWS resources. Once you've received authorization, call
1482// CreateVpcPeeringConnection to establish the peering connection. For more
1483// information, see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
1484//
1485// You can peer with VPCs that are owned by any AWS account you have access
1486// to, including the account that you use to manage your Amazon GameLift fleets.
1487// You cannot peer with VPCs that are in different regions.
1488//
1489// To request authorization to create a connection, call this operation from
1490// the AWS account with the VPC that you want to peer to your Amazon GameLift
1491// fleet. For example, to enable your game servers to retrieve data from a DynamoDB
1492// table, use the account that manages that DynamoDB resource. Identify the
1493// following values: (1) The ID of the VPC that you want to peer with, and (2)
1494// the ID of the AWS account that you use to manage Amazon GameLift. If successful,
1495// VPC peering is authorized for the specified VPC.
1496//
1497// To request authorization to delete a connection, call this operation from
1498// the AWS account with the VPC that is peered with your Amazon GameLift fleet.
1499// Identify the following values: (1) VPC ID that you want to delete the peering
1500// connection for, and (2) ID of the AWS account that you use to manage Amazon
1501// GameLift.
1502//
1503// The authorization remains valid for 24 hours unless it is canceled by a call
1504// to DeleteVpcPeeringAuthorization. You must create or delete the peering connection
1505// while the authorization is valid.
1506//
1507// VPC peering connection operations include:
1508//
1509//    * CreateVpcPeeringAuthorization
1510//
1511//    * DescribeVpcPeeringAuthorizations
1512//
1513//    * DeleteVpcPeeringAuthorization
1514//
1515//    * CreateVpcPeeringConnection
1516//
1517//    * DescribeVpcPeeringConnections
1518//
1519//    * DeleteVpcPeeringConnection
1520//
1521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1522// with awserr.Error's Code and Message methods to get detailed information about
1523// the error.
1524//
1525// See the AWS API reference guide for Amazon GameLift's
1526// API operation CreateVpcPeeringAuthorization for usage and error information.
1527//
1528// Returned Error Codes:
1529//   * ErrCodeUnauthorizedException "UnauthorizedException"
1530//   The client failed authentication. Clients should not retry such requests.
1531//
1532//   * ErrCodeInvalidRequestException "InvalidRequestException"
1533//   One or more parameter values in the request are invalid. Correct the invalid
1534//   parameter values before retrying.
1535//
1536//   * ErrCodeNotFoundException "NotFoundException"
1537//   A service resource associated with the request could not be found. Clients
1538//   should not retry such requests.
1539//
1540//   * ErrCodeInternalServiceException "InternalServiceException"
1541//   The service encountered an unrecoverable internal failure while processing
1542//   the request. Clients can retry such requests immediately or after a waiting
1543//   period.
1544//
1545// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
1546func (c *GameLift) CreateVpcPeeringAuthorization(input *CreateVpcPeeringAuthorizationInput) (*CreateVpcPeeringAuthorizationOutput, error) {
1547	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
1548	return out, req.Send()
1549}
1550
1551// CreateVpcPeeringAuthorizationWithContext is the same as CreateVpcPeeringAuthorization with the addition of
1552// the ability to pass a context and additional request options.
1553//
1554// See CreateVpcPeeringAuthorization for details on how to use this API operation.
1555//
1556// The context must be non-nil and will be used for request cancellation. If
1557// the context is nil a panic will occur. In the future the SDK may create
1558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1559// for more information on using Contexts.
1560func (c *GameLift) CreateVpcPeeringAuthorizationWithContext(ctx aws.Context, input *CreateVpcPeeringAuthorizationInput, opts ...request.Option) (*CreateVpcPeeringAuthorizationOutput, error) {
1561	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
1562	req.SetContext(ctx)
1563	req.ApplyOptions(opts...)
1564	return out, req.Send()
1565}
1566
1567const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
1568
1569// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
1570// client's request for the CreateVpcPeeringConnection operation. The "output" return
1571// value will be populated with the request's response once the request completes
1572// successfuly.
1573//
1574// Use "Send" method on the returned Request to send the API call to the service.
1575// the "output" return value is not valid until after Send returns without error.
1576//
1577// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
1578// API call, and error handling.
1579//
1580// This method is useful when you want to inject custom logic or configuration
1581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1582//
1583//
1584//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
1585//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
1586//
1587//    err := req.Send()
1588//    if err == nil { // resp is now filled
1589//        fmt.Println(resp)
1590//    }
1591//
1592// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
1593func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
1594	op := &request.Operation{
1595		Name:       opCreateVpcPeeringConnection,
1596		HTTPMethod: "POST",
1597		HTTPPath:   "/",
1598	}
1599
1600	if input == nil {
1601		input = &CreateVpcPeeringConnectionInput{}
1602	}
1603
1604	output = &CreateVpcPeeringConnectionOutput{}
1605	req = c.newRequest(op, input, output)
1606	return
1607}
1608
1609// CreateVpcPeeringConnection API operation for Amazon GameLift.
1610//
1611// Establishes a VPC peering connection between a virtual private cloud (VPC)
1612// in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering
1613// enables the game servers on your fleet to communicate directly with other
1614// AWS resources. You can peer with VPCs in any AWS account that you have access
1615// to, including the account that you use to manage your Amazon GameLift fleets.
1616// You cannot peer with VPCs that are in different regions. For more information,
1617// see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
1618//
1619// Before calling this operation to establish the peering connection, you first
1620// need to call CreateVpcPeeringAuthorization and identify the VPC you want
1621// to peer with. Once the authorization for the specified VPC is issued, you
1622// have 24 hours to establish the connection. These two operations handle all
1623// tasks necessary to peer the two VPCs, including acceptance, updating routing
1624// tables, etc.
1625//
1626// To establish the connection, call this operation from the AWS account that
1627// is used to manage the Amazon GameLift fleets. Identify the following values:
1628// (1) The ID of the fleet you want to be enable a VPC peering connection for;
1629// (2) The AWS account with the VPC that you want to peer with; and (3) The
1630// ID of the VPC you want to peer with. This operation is asynchronous. If successful,
1631// a VpcPeeringConnection request is created. You can use continuous polling
1632// to track the request's status using DescribeVpcPeeringConnections, or by
1633// monitoring fleet events for success or failure using DescribeFleetEvents.
1634//
1635// VPC peering connection operations include:
1636//
1637//    * CreateVpcPeeringAuthorization
1638//
1639//    * DescribeVpcPeeringAuthorizations
1640//
1641//    * DeleteVpcPeeringAuthorization
1642//
1643//    * CreateVpcPeeringConnection
1644//
1645//    * DescribeVpcPeeringConnections
1646//
1647//    * DeleteVpcPeeringConnection
1648//
1649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1650// with awserr.Error's Code and Message methods to get detailed information about
1651// the error.
1652//
1653// See the AWS API reference guide for Amazon GameLift's
1654// API operation CreateVpcPeeringConnection for usage and error information.
1655//
1656// Returned Error Codes:
1657//   * ErrCodeUnauthorizedException "UnauthorizedException"
1658//   The client failed authentication. Clients should not retry such requests.
1659//
1660//   * ErrCodeInvalidRequestException "InvalidRequestException"
1661//   One or more parameter values in the request are invalid. Correct the invalid
1662//   parameter values before retrying.
1663//
1664//   * ErrCodeNotFoundException "NotFoundException"
1665//   A service resource associated with the request could not be found. Clients
1666//   should not retry such requests.
1667//
1668//   * ErrCodeInternalServiceException "InternalServiceException"
1669//   The service encountered an unrecoverable internal failure while processing
1670//   the request. Clients can retry such requests immediately or after a waiting
1671//   period.
1672//
1673// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
1674func (c *GameLift) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
1675	req, out := c.CreateVpcPeeringConnectionRequest(input)
1676	return out, req.Send()
1677}
1678
1679// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
1680// the ability to pass a context and additional request options.
1681//
1682// See CreateVpcPeeringConnection for details on how to use this API operation.
1683//
1684// The context must be non-nil and will be used for request cancellation. If
1685// the context is nil a panic will occur. In the future the SDK may create
1686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1687// for more information on using Contexts.
1688func (c *GameLift) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
1689	req, out := c.CreateVpcPeeringConnectionRequest(input)
1690	req.SetContext(ctx)
1691	req.ApplyOptions(opts...)
1692	return out, req.Send()
1693}
1694
1695const opDeleteAlias = "DeleteAlias"
1696
1697// DeleteAliasRequest generates a "aws/request.Request" representing the
1698// client's request for the DeleteAlias operation. The "output" return
1699// value will be populated with the request's response once the request completes
1700// successfuly.
1701//
1702// Use "Send" method on the returned Request to send the API call to the service.
1703// the "output" return value is not valid until after Send returns without error.
1704//
1705// See DeleteAlias for more information on using the DeleteAlias
1706// API call, and error handling.
1707//
1708// This method is useful when you want to inject custom logic or configuration
1709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1710//
1711//
1712//    // Example sending a request using the DeleteAliasRequest method.
1713//    req, resp := client.DeleteAliasRequest(params)
1714//
1715//    err := req.Send()
1716//    if err == nil { // resp is now filled
1717//        fmt.Println(resp)
1718//    }
1719//
1720// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
1721func (c *GameLift) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) {
1722	op := &request.Operation{
1723		Name:       opDeleteAlias,
1724		HTTPMethod: "POST",
1725		HTTPPath:   "/",
1726	}
1727
1728	if input == nil {
1729		input = &DeleteAliasInput{}
1730	}
1731
1732	output = &DeleteAliasOutput{}
1733	req = c.newRequest(op, input, output)
1734	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1735	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1736	return
1737}
1738
1739// DeleteAlias API operation for Amazon GameLift.
1740//
1741// Deletes an alias. This action removes all record of the alias. Game clients
1742// attempting to access a server process using the deleted alias receive an
1743// error. To delete an alias, specify the alias ID to be deleted.
1744//
1745// Alias-related operations include:
1746//
1747//    * CreateAlias
1748//
1749//    * ListAliases
1750//
1751//    * DescribeAlias
1752//
1753//    * UpdateAlias
1754//
1755//    * DeleteAlias
1756//
1757//    * ResolveAlias
1758//
1759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1760// with awserr.Error's Code and Message methods to get detailed information about
1761// the error.
1762//
1763// See the AWS API reference guide for Amazon GameLift's
1764// API operation DeleteAlias for usage and error information.
1765//
1766// Returned Error Codes:
1767//   * ErrCodeUnauthorizedException "UnauthorizedException"
1768//   The client failed authentication. Clients should not retry such requests.
1769//
1770//   * ErrCodeNotFoundException "NotFoundException"
1771//   A service resource associated with the request could not be found. Clients
1772//   should not retry such requests.
1773//
1774//   * ErrCodeInvalidRequestException "InvalidRequestException"
1775//   One or more parameter values in the request are invalid. Correct the invalid
1776//   parameter values before retrying.
1777//
1778//   * ErrCodeInternalServiceException "InternalServiceException"
1779//   The service encountered an unrecoverable internal failure while processing
1780//   the request. Clients can retry such requests immediately or after a waiting
1781//   period.
1782//
1783// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
1784func (c *GameLift) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
1785	req, out := c.DeleteAliasRequest(input)
1786	return out, req.Send()
1787}
1788
1789// DeleteAliasWithContext is the same as DeleteAlias with the addition of
1790// the ability to pass a context and additional request options.
1791//
1792// See DeleteAlias for details on how to use this API operation.
1793//
1794// The context must be non-nil and will be used for request cancellation. If
1795// the context is nil a panic will occur. In the future the SDK may create
1796// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1797// for more information on using Contexts.
1798func (c *GameLift) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput, opts ...request.Option) (*DeleteAliasOutput, error) {
1799	req, out := c.DeleteAliasRequest(input)
1800	req.SetContext(ctx)
1801	req.ApplyOptions(opts...)
1802	return out, req.Send()
1803}
1804
1805const opDeleteBuild = "DeleteBuild"
1806
1807// DeleteBuildRequest generates a "aws/request.Request" representing the
1808// client's request for the DeleteBuild operation. The "output" return
1809// value will be populated with the request's response once the request completes
1810// successfuly.
1811//
1812// Use "Send" method on the returned Request to send the API call to the service.
1813// the "output" return value is not valid until after Send returns without error.
1814//
1815// See DeleteBuild for more information on using the DeleteBuild
1816// API call, and error handling.
1817//
1818// This method is useful when you want to inject custom logic or configuration
1819// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1820//
1821//
1822//    // Example sending a request using the DeleteBuildRequest method.
1823//    req, resp := client.DeleteBuildRequest(params)
1824//
1825//    err := req.Send()
1826//    if err == nil { // resp is now filled
1827//        fmt.Println(resp)
1828//    }
1829//
1830// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
1831func (c *GameLift) DeleteBuildRequest(input *DeleteBuildInput) (req *request.Request, output *DeleteBuildOutput) {
1832	op := &request.Operation{
1833		Name:       opDeleteBuild,
1834		HTTPMethod: "POST",
1835		HTTPPath:   "/",
1836	}
1837
1838	if input == nil {
1839		input = &DeleteBuildInput{}
1840	}
1841
1842	output = &DeleteBuildOutput{}
1843	req = c.newRequest(op, input, output)
1844	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1845	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1846	return
1847}
1848
1849// DeleteBuild API operation for Amazon GameLift.
1850//
1851// Deletes a build. This action permanently deletes the build record and any
1852// uploaded build files.
1853//
1854// To delete a build, specify its ID. Deleting a build does not affect the status
1855// of any active fleets using the build, but you can no longer create new fleets
1856// with the deleted build.
1857//
1858// Build-related operations include:
1859//
1860//    * CreateBuild
1861//
1862//    * ListBuilds
1863//
1864//    * DescribeBuild
1865//
1866//    * UpdateBuild
1867//
1868//    * DeleteBuild
1869//
1870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1871// with awserr.Error's Code and Message methods to get detailed information about
1872// the error.
1873//
1874// See the AWS API reference guide for Amazon GameLift's
1875// API operation DeleteBuild for usage and error information.
1876//
1877// Returned Error Codes:
1878//   * ErrCodeUnauthorizedException "UnauthorizedException"
1879//   The client failed authentication. Clients should not retry such requests.
1880//
1881//   * ErrCodeNotFoundException "NotFoundException"
1882//   A service resource associated with the request could not be found. Clients
1883//   should not retry such requests.
1884//
1885//   * ErrCodeInternalServiceException "InternalServiceException"
1886//   The service encountered an unrecoverable internal failure while processing
1887//   the request. Clients can retry such requests immediately or after a waiting
1888//   period.
1889//
1890//   * ErrCodeInvalidRequestException "InvalidRequestException"
1891//   One or more parameter values in the request are invalid. Correct the invalid
1892//   parameter values before retrying.
1893//
1894// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
1895func (c *GameLift) DeleteBuild(input *DeleteBuildInput) (*DeleteBuildOutput, error) {
1896	req, out := c.DeleteBuildRequest(input)
1897	return out, req.Send()
1898}
1899
1900// DeleteBuildWithContext is the same as DeleteBuild with the addition of
1901// the ability to pass a context and additional request options.
1902//
1903// See DeleteBuild for details on how to use this API operation.
1904//
1905// The context must be non-nil and will be used for request cancellation. If
1906// the context is nil a panic will occur. In the future the SDK may create
1907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1908// for more information on using Contexts.
1909func (c *GameLift) DeleteBuildWithContext(ctx aws.Context, input *DeleteBuildInput, opts ...request.Option) (*DeleteBuildOutput, error) {
1910	req, out := c.DeleteBuildRequest(input)
1911	req.SetContext(ctx)
1912	req.ApplyOptions(opts...)
1913	return out, req.Send()
1914}
1915
1916const opDeleteFleet = "DeleteFleet"
1917
1918// DeleteFleetRequest generates a "aws/request.Request" representing the
1919// client's request for the DeleteFleet operation. The "output" return
1920// value will be populated with the request's response once the request completes
1921// successfuly.
1922//
1923// Use "Send" method on the returned Request to send the API call to the service.
1924// the "output" return value is not valid until after Send returns without error.
1925//
1926// See DeleteFleet for more information on using the DeleteFleet
1927// API call, and error handling.
1928//
1929// This method is useful when you want to inject custom logic or configuration
1930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1931//
1932//
1933//    // Example sending a request using the DeleteFleetRequest method.
1934//    req, resp := client.DeleteFleetRequest(params)
1935//
1936//    err := req.Send()
1937//    if err == nil { // resp is now filled
1938//        fmt.Println(resp)
1939//    }
1940//
1941// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
1942func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
1943	op := &request.Operation{
1944		Name:       opDeleteFleet,
1945		HTTPMethod: "POST",
1946		HTTPPath:   "/",
1947	}
1948
1949	if input == nil {
1950		input = &DeleteFleetInput{}
1951	}
1952
1953	output = &DeleteFleetOutput{}
1954	req = c.newRequest(op, input, output)
1955	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1956	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1957	return
1958}
1959
1960// DeleteFleet API operation for Amazon GameLift.
1961//
1962// Deletes everything related to a fleet. Before deleting a fleet, you must
1963// set the fleet's desired capacity to zero. See UpdateFleetCapacity.
1964//
1965// This action removes the fleet's resources and the fleet record. Once a fleet
1966// is deleted, you can no longer use that fleet.
1967//
1968// Fleet-related operations include:
1969//
1970//    * CreateFleet
1971//
1972//    * ListFleets
1973//
1974//    * DeleteFleet
1975//
1976//    * Describe fleets:
1977//
1978// DescribeFleetAttributes
1979//
1980// DescribeFleetCapacity
1981//
1982// DescribeFleetPortSettings
1983//
1984// DescribeFleetUtilization
1985//
1986// DescribeRuntimeConfiguration
1987//
1988// DescribeEC2InstanceLimits
1989//
1990// DescribeFleetEvents
1991//
1992//    * Update fleets:
1993//
1994// UpdateFleetAttributes
1995//
1996// UpdateFleetCapacity
1997//
1998// UpdateFleetPortSettings
1999//
2000// UpdateRuntimeConfiguration
2001//
2002//    * Manage fleet actions:
2003//
2004// StartFleetActions
2005//
2006// StopFleetActions
2007//
2008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2009// with awserr.Error's Code and Message methods to get detailed information about
2010// the error.
2011//
2012// See the AWS API reference guide for Amazon GameLift's
2013// API operation DeleteFleet for usage and error information.
2014//
2015// Returned Error Codes:
2016//   * ErrCodeNotFoundException "NotFoundException"
2017//   A service resource associated with the request could not be found. Clients
2018//   should not retry such requests.
2019//
2020//   * ErrCodeInternalServiceException "InternalServiceException"
2021//   The service encountered an unrecoverable internal failure while processing
2022//   the request. Clients can retry such requests immediately or after a waiting
2023//   period.
2024//
2025//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
2026//   The requested operation would cause a conflict with the current state of
2027//   a resource associated with the request and/or the fleet. Resolve the conflict
2028//   before retrying.
2029//
2030//   * ErrCodeUnauthorizedException "UnauthorizedException"
2031//   The client failed authentication. Clients should not retry such requests.
2032//
2033//   * ErrCodeInvalidRequestException "InvalidRequestException"
2034//   One or more parameter values in the request are invalid. Correct the invalid
2035//   parameter values before retrying.
2036//
2037// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
2038func (c *GameLift) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
2039	req, out := c.DeleteFleetRequest(input)
2040	return out, req.Send()
2041}
2042
2043// DeleteFleetWithContext is the same as DeleteFleet with the addition of
2044// the ability to pass a context and additional request options.
2045//
2046// See DeleteFleet for details on how to use this API operation.
2047//
2048// The context must be non-nil and will be used for request cancellation. If
2049// the context is nil a panic will occur. In the future the SDK may create
2050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2051// for more information on using Contexts.
2052func (c *GameLift) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
2053	req, out := c.DeleteFleetRequest(input)
2054	req.SetContext(ctx)
2055	req.ApplyOptions(opts...)
2056	return out, req.Send()
2057}
2058
2059const opDeleteGameSessionQueue = "DeleteGameSessionQueue"
2060
2061// DeleteGameSessionQueueRequest generates a "aws/request.Request" representing the
2062// client's request for the DeleteGameSessionQueue operation. The "output" return
2063// value will be populated with the request's response once the request completes
2064// successfuly.
2065//
2066// Use "Send" method on the returned Request to send the API call to the service.
2067// the "output" return value is not valid until after Send returns without error.
2068//
2069// See DeleteGameSessionQueue for more information on using the DeleteGameSessionQueue
2070// API call, and error handling.
2071//
2072// This method is useful when you want to inject custom logic or configuration
2073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2074//
2075//
2076//    // Example sending a request using the DeleteGameSessionQueueRequest method.
2077//    req, resp := client.DeleteGameSessionQueueRequest(params)
2078//
2079//    err := req.Send()
2080//    if err == nil { // resp is now filled
2081//        fmt.Println(resp)
2082//    }
2083//
2084// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
2085func (c *GameLift) DeleteGameSessionQueueRequest(input *DeleteGameSessionQueueInput) (req *request.Request, output *DeleteGameSessionQueueOutput) {
2086	op := &request.Operation{
2087		Name:       opDeleteGameSessionQueue,
2088		HTTPMethod: "POST",
2089		HTTPPath:   "/",
2090	}
2091
2092	if input == nil {
2093		input = &DeleteGameSessionQueueInput{}
2094	}
2095
2096	output = &DeleteGameSessionQueueOutput{}
2097	req = c.newRequest(op, input, output)
2098	return
2099}
2100
2101// DeleteGameSessionQueue API operation for Amazon GameLift.
2102//
2103// Deletes a game session queue. This action means that any StartGameSessionPlacement
2104// requests that reference this queue will fail. To delete a queue, specify
2105// the queue name.
2106//
2107// Queue-related operations include:
2108//
2109//    * CreateGameSessionQueue
2110//
2111//    * DescribeGameSessionQueues
2112//
2113//    * UpdateGameSessionQueue
2114//
2115//    * DeleteGameSessionQueue
2116//
2117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2118// with awserr.Error's Code and Message methods to get detailed information about
2119// the error.
2120//
2121// See the AWS API reference guide for Amazon GameLift's
2122// API operation DeleteGameSessionQueue for usage and error information.
2123//
2124// Returned Error Codes:
2125//   * ErrCodeInternalServiceException "InternalServiceException"
2126//   The service encountered an unrecoverable internal failure while processing
2127//   the request. Clients can retry such requests immediately or after a waiting
2128//   period.
2129//
2130//   * ErrCodeInvalidRequestException "InvalidRequestException"
2131//   One or more parameter values in the request are invalid. Correct the invalid
2132//   parameter values before retrying.
2133//
2134//   * ErrCodeNotFoundException "NotFoundException"
2135//   A service resource associated with the request could not be found. Clients
2136//   should not retry such requests.
2137//
2138//   * ErrCodeUnauthorizedException "UnauthorizedException"
2139//   The client failed authentication. Clients should not retry such requests.
2140//
2141// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
2142func (c *GameLift) DeleteGameSessionQueue(input *DeleteGameSessionQueueInput) (*DeleteGameSessionQueueOutput, error) {
2143	req, out := c.DeleteGameSessionQueueRequest(input)
2144	return out, req.Send()
2145}
2146
2147// DeleteGameSessionQueueWithContext is the same as DeleteGameSessionQueue with the addition of
2148// the ability to pass a context and additional request options.
2149//
2150// See DeleteGameSessionQueue for details on how to use this API operation.
2151//
2152// The context must be non-nil and will be used for request cancellation. If
2153// the context is nil a panic will occur. In the future the SDK may create
2154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2155// for more information on using Contexts.
2156func (c *GameLift) DeleteGameSessionQueueWithContext(ctx aws.Context, input *DeleteGameSessionQueueInput, opts ...request.Option) (*DeleteGameSessionQueueOutput, error) {
2157	req, out := c.DeleteGameSessionQueueRequest(input)
2158	req.SetContext(ctx)
2159	req.ApplyOptions(opts...)
2160	return out, req.Send()
2161}
2162
2163const opDeleteMatchmakingConfiguration = "DeleteMatchmakingConfiguration"
2164
2165// DeleteMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
2166// client's request for the DeleteMatchmakingConfiguration operation. The "output" return
2167// value will be populated with the request's response once the request completes
2168// successfuly.
2169//
2170// Use "Send" method on the returned Request to send the API call to the service.
2171// the "output" return value is not valid until after Send returns without error.
2172//
2173// See DeleteMatchmakingConfiguration for more information on using the DeleteMatchmakingConfiguration
2174// API call, and error handling.
2175//
2176// This method is useful when you want to inject custom logic or configuration
2177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2178//
2179//
2180//    // Example sending a request using the DeleteMatchmakingConfigurationRequest method.
2181//    req, resp := client.DeleteMatchmakingConfigurationRequest(params)
2182//
2183//    err := req.Send()
2184//    if err == nil { // resp is now filled
2185//        fmt.Println(resp)
2186//    }
2187//
2188// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
2189func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakingConfigurationInput) (req *request.Request, output *DeleteMatchmakingConfigurationOutput) {
2190	op := &request.Operation{
2191		Name:       opDeleteMatchmakingConfiguration,
2192		HTTPMethod: "POST",
2193		HTTPPath:   "/",
2194	}
2195
2196	if input == nil {
2197		input = &DeleteMatchmakingConfigurationInput{}
2198	}
2199
2200	output = &DeleteMatchmakingConfigurationOutput{}
2201	req = c.newRequest(op, input, output)
2202	return
2203}
2204
2205// DeleteMatchmakingConfiguration API operation for Amazon GameLift.
2206//
2207// Permanently removes a FlexMatch matchmaking configuration. To delete, specify
2208// the configuration name. A matchmaking configuration cannot be deleted if
2209// it is being used in any active matchmaking tickets.
2210//
2211// Operations related to match configurations and rule sets include:
2212//
2213//    * CreateMatchmakingConfiguration
2214//
2215//    * DescribeMatchmakingConfigurations
2216//
2217//    * UpdateMatchmakingConfiguration
2218//
2219//    * DeleteMatchmakingConfiguration
2220//
2221//    * CreateMatchmakingRuleSet
2222//
2223//    * DescribeMatchmakingRuleSets
2224//
2225//    * ValidateMatchmakingRuleSet
2226//
2227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2228// with awserr.Error's Code and Message methods to get detailed information about
2229// the error.
2230//
2231// See the AWS API reference guide for Amazon GameLift's
2232// API operation DeleteMatchmakingConfiguration for usage and error information.
2233//
2234// Returned Error Codes:
2235//   * ErrCodeInvalidRequestException "InvalidRequestException"
2236//   One or more parameter values in the request are invalid. Correct the invalid
2237//   parameter values before retrying.
2238//
2239//   * ErrCodeNotFoundException "NotFoundException"
2240//   A service resource associated with the request could not be found. Clients
2241//   should not retry such requests.
2242//
2243//   * ErrCodeInternalServiceException "InternalServiceException"
2244//   The service encountered an unrecoverable internal failure while processing
2245//   the request. Clients can retry such requests immediately or after a waiting
2246//   period.
2247//
2248//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
2249//   The requested operation is not supported in the region specified.
2250//
2251// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
2252func (c *GameLift) DeleteMatchmakingConfiguration(input *DeleteMatchmakingConfigurationInput) (*DeleteMatchmakingConfigurationOutput, error) {
2253	req, out := c.DeleteMatchmakingConfigurationRequest(input)
2254	return out, req.Send()
2255}
2256
2257// DeleteMatchmakingConfigurationWithContext is the same as DeleteMatchmakingConfiguration with the addition of
2258// the ability to pass a context and additional request options.
2259//
2260// See DeleteMatchmakingConfiguration for details on how to use this API operation.
2261//
2262// The context must be non-nil and will be used for request cancellation. If
2263// the context is nil a panic will occur. In the future the SDK may create
2264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2265// for more information on using Contexts.
2266func (c *GameLift) DeleteMatchmakingConfigurationWithContext(ctx aws.Context, input *DeleteMatchmakingConfigurationInput, opts ...request.Option) (*DeleteMatchmakingConfigurationOutput, error) {
2267	req, out := c.DeleteMatchmakingConfigurationRequest(input)
2268	req.SetContext(ctx)
2269	req.ApplyOptions(opts...)
2270	return out, req.Send()
2271}
2272
2273const opDeleteScalingPolicy = "DeleteScalingPolicy"
2274
2275// DeleteScalingPolicyRequest generates a "aws/request.Request" representing the
2276// client's request for the DeleteScalingPolicy operation. The "output" return
2277// value will be populated with the request's response once the request completes
2278// successfuly.
2279//
2280// Use "Send" method on the returned Request to send the API call to the service.
2281// the "output" return value is not valid until after Send returns without error.
2282//
2283// See DeleteScalingPolicy for more information on using the DeleteScalingPolicy
2284// API call, and error handling.
2285//
2286// This method is useful when you want to inject custom logic or configuration
2287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2288//
2289//
2290//    // Example sending a request using the DeleteScalingPolicyRequest method.
2291//    req, resp := client.DeleteScalingPolicyRequest(params)
2292//
2293//    err := req.Send()
2294//    if err == nil { // resp is now filled
2295//        fmt.Println(resp)
2296//    }
2297//
2298// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
2299func (c *GameLift) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) (req *request.Request, output *DeleteScalingPolicyOutput) {
2300	op := &request.Operation{
2301		Name:       opDeleteScalingPolicy,
2302		HTTPMethod: "POST",
2303		HTTPPath:   "/",
2304	}
2305
2306	if input == nil {
2307		input = &DeleteScalingPolicyInput{}
2308	}
2309
2310	output = &DeleteScalingPolicyOutput{}
2311	req = c.newRequest(op, input, output)
2312	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
2313	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2314	return
2315}
2316
2317// DeleteScalingPolicy API operation for Amazon GameLift.
2318//
2319// Deletes a fleet scaling policy. This action means that the policy is no longer
2320// in force and removes all record of it. To delete a scaling policy, specify
2321// both the scaling policy name and the fleet ID it is associated with.
2322//
2323// To temporarily suspend scaling policies, call StopFleetActions. This operation
2324// suspends all policies for the fleet.
2325//
2326// Operations related to fleet capacity scaling include:
2327//
2328//    * DescribeFleetCapacity
2329//
2330//    * UpdateFleetCapacity
2331//
2332//    * DescribeEC2InstanceLimits
2333//
2334//    * Manage scaling policies:
2335//
2336// PutScalingPolicy (auto-scaling)
2337//
2338// DescribeScalingPolicies (auto-scaling)
2339//
2340// DeleteScalingPolicy (auto-scaling)
2341//
2342//    * Manage fleet actions:
2343//
2344// StartFleetActions
2345//
2346// StopFleetActions
2347//
2348// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2349// with awserr.Error's Code and Message methods to get detailed information about
2350// the error.
2351//
2352// See the AWS API reference guide for Amazon GameLift's
2353// API operation DeleteScalingPolicy for usage and error information.
2354//
2355// Returned Error Codes:
2356//   * ErrCodeInternalServiceException "InternalServiceException"
2357//   The service encountered an unrecoverable internal failure while processing
2358//   the request. Clients can retry such requests immediately or after a waiting
2359//   period.
2360//
2361//   * ErrCodeInvalidRequestException "InvalidRequestException"
2362//   One or more parameter values in the request are invalid. Correct the invalid
2363//   parameter values before retrying.
2364//
2365//   * ErrCodeUnauthorizedException "UnauthorizedException"
2366//   The client failed authentication. Clients should not retry such requests.
2367//
2368//   * ErrCodeNotFoundException "NotFoundException"
2369//   A service resource associated with the request could not be found. Clients
2370//   should not retry such requests.
2371//
2372// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
2373func (c *GameLift) DeleteScalingPolicy(input *DeleteScalingPolicyInput) (*DeleteScalingPolicyOutput, error) {
2374	req, out := c.DeleteScalingPolicyRequest(input)
2375	return out, req.Send()
2376}
2377
2378// DeleteScalingPolicyWithContext is the same as DeleteScalingPolicy with the addition of
2379// the ability to pass a context and additional request options.
2380//
2381// See DeleteScalingPolicy for details on how to use this API operation.
2382//
2383// The context must be non-nil and will be used for request cancellation. If
2384// the context is nil a panic will occur. In the future the SDK may create
2385// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2386// for more information on using Contexts.
2387func (c *GameLift) DeleteScalingPolicyWithContext(ctx aws.Context, input *DeleteScalingPolicyInput, opts ...request.Option) (*DeleteScalingPolicyOutput, error) {
2388	req, out := c.DeleteScalingPolicyRequest(input)
2389	req.SetContext(ctx)
2390	req.ApplyOptions(opts...)
2391	return out, req.Send()
2392}
2393
2394const opDeleteVpcPeeringAuthorization = "DeleteVpcPeeringAuthorization"
2395
2396// DeleteVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
2397// client's request for the DeleteVpcPeeringAuthorization operation. The "output" return
2398// value will be populated with the request's response once the request completes
2399// successfuly.
2400//
2401// Use "Send" method on the returned Request to send the API call to the service.
2402// the "output" return value is not valid until after Send returns without error.
2403//
2404// See DeleteVpcPeeringAuthorization for more information on using the DeleteVpcPeeringAuthorization
2405// API call, and error handling.
2406//
2407// This method is useful when you want to inject custom logic or configuration
2408// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2409//
2410//
2411//    // Example sending a request using the DeleteVpcPeeringAuthorizationRequest method.
2412//    req, resp := client.DeleteVpcPeeringAuthorizationRequest(params)
2413//
2414//    err := req.Send()
2415//    if err == nil { // resp is now filled
2416//        fmt.Println(resp)
2417//    }
2418//
2419// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
2420func (c *GameLift) DeleteVpcPeeringAuthorizationRequest(input *DeleteVpcPeeringAuthorizationInput) (req *request.Request, output *DeleteVpcPeeringAuthorizationOutput) {
2421	op := &request.Operation{
2422		Name:       opDeleteVpcPeeringAuthorization,
2423		HTTPMethod: "POST",
2424		HTTPPath:   "/",
2425	}
2426
2427	if input == nil {
2428		input = &DeleteVpcPeeringAuthorizationInput{}
2429	}
2430
2431	output = &DeleteVpcPeeringAuthorizationOutput{}
2432	req = c.newRequest(op, input, output)
2433	return
2434}
2435
2436// DeleteVpcPeeringAuthorization API operation for Amazon GameLift.
2437//
2438// Cancels a pending VPC peering authorization for the specified VPC. If the
2439// authorization has already been used to create a peering connection, call
2440// DeleteVpcPeeringConnection to remove the connection.
2441//
2442// VPC peering connection operations include:
2443//
2444//    * CreateVpcPeeringAuthorization
2445//
2446//    * DescribeVpcPeeringAuthorizations
2447//
2448//    * DeleteVpcPeeringAuthorization
2449//
2450//    * CreateVpcPeeringConnection
2451//
2452//    * DescribeVpcPeeringConnections
2453//
2454//    * DeleteVpcPeeringConnection
2455//
2456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2457// with awserr.Error's Code and Message methods to get detailed information about
2458// the error.
2459//
2460// See the AWS API reference guide for Amazon GameLift's
2461// API operation DeleteVpcPeeringAuthorization for usage and error information.
2462//
2463// Returned Error Codes:
2464//   * ErrCodeUnauthorizedException "UnauthorizedException"
2465//   The client failed authentication. Clients should not retry such requests.
2466//
2467//   * ErrCodeInvalidRequestException "InvalidRequestException"
2468//   One or more parameter values in the request are invalid. Correct the invalid
2469//   parameter values before retrying.
2470//
2471//   * ErrCodeNotFoundException "NotFoundException"
2472//   A service resource associated with the request could not be found. Clients
2473//   should not retry such requests.
2474//
2475//   * ErrCodeInternalServiceException "InternalServiceException"
2476//   The service encountered an unrecoverable internal failure while processing
2477//   the request. Clients can retry such requests immediately or after a waiting
2478//   period.
2479//
2480// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
2481func (c *GameLift) DeleteVpcPeeringAuthorization(input *DeleteVpcPeeringAuthorizationInput) (*DeleteVpcPeeringAuthorizationOutput, error) {
2482	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
2483	return out, req.Send()
2484}
2485
2486// DeleteVpcPeeringAuthorizationWithContext is the same as DeleteVpcPeeringAuthorization with the addition of
2487// the ability to pass a context and additional request options.
2488//
2489// See DeleteVpcPeeringAuthorization for details on how to use this API operation.
2490//
2491// The context must be non-nil and will be used for request cancellation. If
2492// the context is nil a panic will occur. In the future the SDK may create
2493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2494// for more information on using Contexts.
2495func (c *GameLift) DeleteVpcPeeringAuthorizationWithContext(ctx aws.Context, input *DeleteVpcPeeringAuthorizationInput, opts ...request.Option) (*DeleteVpcPeeringAuthorizationOutput, error) {
2496	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
2497	req.SetContext(ctx)
2498	req.ApplyOptions(opts...)
2499	return out, req.Send()
2500}
2501
2502const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
2503
2504// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
2505// client's request for the DeleteVpcPeeringConnection operation. The "output" return
2506// value will be populated with the request's response once the request completes
2507// successfuly.
2508//
2509// Use "Send" method on the returned Request to send the API call to the service.
2510// the "output" return value is not valid until after Send returns without error.
2511//
2512// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
2513// API call, and error handling.
2514//
2515// This method is useful when you want to inject custom logic or configuration
2516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2517//
2518//
2519//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
2520//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
2521//
2522//    err := req.Send()
2523//    if err == nil { // resp is now filled
2524//        fmt.Println(resp)
2525//    }
2526//
2527// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
2528func (c *GameLift) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
2529	op := &request.Operation{
2530		Name:       opDeleteVpcPeeringConnection,
2531		HTTPMethod: "POST",
2532		HTTPPath:   "/",
2533	}
2534
2535	if input == nil {
2536		input = &DeleteVpcPeeringConnectionInput{}
2537	}
2538
2539	output = &DeleteVpcPeeringConnectionOutput{}
2540	req = c.newRequest(op, input, output)
2541	return
2542}
2543
2544// DeleteVpcPeeringConnection API operation for Amazon GameLift.
2545//
2546// Removes a VPC peering connection. To delete the connection, you must have
2547// a valid authorization for the VPC peering connection that you want to delete.
2548// You can check for an authorization by calling DescribeVpcPeeringAuthorizations
2549// or request a new one using CreateVpcPeeringAuthorization.
2550//
2551// Once a valid authorization exists, call this operation from the AWS account
2552// that is used to manage the Amazon GameLift fleets. Identify the connection
2553// to delete by the connection ID and fleet ID. If successful, the connection
2554// is removed.
2555//
2556// VPC peering connection operations include:
2557//
2558//    * CreateVpcPeeringAuthorization
2559//
2560//    * DescribeVpcPeeringAuthorizations
2561//
2562//    * DeleteVpcPeeringAuthorization
2563//
2564//    * CreateVpcPeeringConnection
2565//
2566//    * DescribeVpcPeeringConnections
2567//
2568//    * DeleteVpcPeeringConnection
2569//
2570// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2571// with awserr.Error's Code and Message methods to get detailed information about
2572// the error.
2573//
2574// See the AWS API reference guide for Amazon GameLift's
2575// API operation DeleteVpcPeeringConnection for usage and error information.
2576//
2577// Returned Error Codes:
2578//   * ErrCodeUnauthorizedException "UnauthorizedException"
2579//   The client failed authentication. Clients should not retry such requests.
2580//
2581//   * ErrCodeInvalidRequestException "InvalidRequestException"
2582//   One or more parameter values in the request are invalid. Correct the invalid
2583//   parameter values before retrying.
2584//
2585//   * ErrCodeNotFoundException "NotFoundException"
2586//   A service resource associated with the request could not be found. Clients
2587//   should not retry such requests.
2588//
2589//   * ErrCodeInternalServiceException "InternalServiceException"
2590//   The service encountered an unrecoverable internal failure while processing
2591//   the request. Clients can retry such requests immediately or after a waiting
2592//   period.
2593//
2594// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
2595func (c *GameLift) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
2596	req, out := c.DeleteVpcPeeringConnectionRequest(input)
2597	return out, req.Send()
2598}
2599
2600// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
2601// the ability to pass a context and additional request options.
2602//
2603// See DeleteVpcPeeringConnection for details on how to use this API operation.
2604//
2605// The context must be non-nil and will be used for request cancellation. If
2606// the context is nil a panic will occur. In the future the SDK may create
2607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2608// for more information on using Contexts.
2609func (c *GameLift) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
2610	req, out := c.DeleteVpcPeeringConnectionRequest(input)
2611	req.SetContext(ctx)
2612	req.ApplyOptions(opts...)
2613	return out, req.Send()
2614}
2615
2616const opDescribeAlias = "DescribeAlias"
2617
2618// DescribeAliasRequest generates a "aws/request.Request" representing the
2619// client's request for the DescribeAlias operation. The "output" return
2620// value will be populated with the request's response once the request completes
2621// successfuly.
2622//
2623// Use "Send" method on the returned Request to send the API call to the service.
2624// the "output" return value is not valid until after Send returns without error.
2625//
2626// See DescribeAlias for more information on using the DescribeAlias
2627// API call, and error handling.
2628//
2629// This method is useful when you want to inject custom logic or configuration
2630// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2631//
2632//
2633//    // Example sending a request using the DescribeAliasRequest method.
2634//    req, resp := client.DescribeAliasRequest(params)
2635//
2636//    err := req.Send()
2637//    if err == nil { // resp is now filled
2638//        fmt.Println(resp)
2639//    }
2640//
2641// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
2642func (c *GameLift) DescribeAliasRequest(input *DescribeAliasInput) (req *request.Request, output *DescribeAliasOutput) {
2643	op := &request.Operation{
2644		Name:       opDescribeAlias,
2645		HTTPMethod: "POST",
2646		HTTPPath:   "/",
2647	}
2648
2649	if input == nil {
2650		input = &DescribeAliasInput{}
2651	}
2652
2653	output = &DescribeAliasOutput{}
2654	req = c.newRequest(op, input, output)
2655	return
2656}
2657
2658// DescribeAlias API operation for Amazon GameLift.
2659//
2660// Retrieves properties for an alias. This operation returns all alias metadata
2661// and settings. To get an alias's target fleet ID only, use ResolveAlias.
2662//
2663// To get alias properties, specify the alias ID. If successful, the requested
2664// alias record is returned.
2665//
2666// Alias-related operations include:
2667//
2668//    * CreateAlias
2669//
2670//    * ListAliases
2671//
2672//    * DescribeAlias
2673//
2674//    * UpdateAlias
2675//
2676//    * DeleteAlias
2677//
2678//    * ResolveAlias
2679//
2680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2681// with awserr.Error's Code and Message methods to get detailed information about
2682// the error.
2683//
2684// See the AWS API reference guide for Amazon GameLift's
2685// API operation DescribeAlias for usage and error information.
2686//
2687// Returned Error Codes:
2688//   * ErrCodeUnauthorizedException "UnauthorizedException"
2689//   The client failed authentication. Clients should not retry such requests.
2690//
2691//   * ErrCodeInvalidRequestException "InvalidRequestException"
2692//   One or more parameter values in the request are invalid. Correct the invalid
2693//   parameter values before retrying.
2694//
2695//   * ErrCodeNotFoundException "NotFoundException"
2696//   A service resource associated with the request could not be found. Clients
2697//   should not retry such requests.
2698//
2699//   * ErrCodeInternalServiceException "InternalServiceException"
2700//   The service encountered an unrecoverable internal failure while processing
2701//   the request. Clients can retry such requests immediately or after a waiting
2702//   period.
2703//
2704// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
2705func (c *GameLift) DescribeAlias(input *DescribeAliasInput) (*DescribeAliasOutput, error) {
2706	req, out := c.DescribeAliasRequest(input)
2707	return out, req.Send()
2708}
2709
2710// DescribeAliasWithContext is the same as DescribeAlias with the addition of
2711// the ability to pass a context and additional request options.
2712//
2713// See DescribeAlias for details on how to use this API operation.
2714//
2715// The context must be non-nil and will be used for request cancellation. If
2716// the context is nil a panic will occur. In the future the SDK may create
2717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2718// for more information on using Contexts.
2719func (c *GameLift) DescribeAliasWithContext(ctx aws.Context, input *DescribeAliasInput, opts ...request.Option) (*DescribeAliasOutput, error) {
2720	req, out := c.DescribeAliasRequest(input)
2721	req.SetContext(ctx)
2722	req.ApplyOptions(opts...)
2723	return out, req.Send()
2724}
2725
2726const opDescribeBuild = "DescribeBuild"
2727
2728// DescribeBuildRequest generates a "aws/request.Request" representing the
2729// client's request for the DescribeBuild operation. The "output" return
2730// value will be populated with the request's response once the request completes
2731// successfuly.
2732//
2733// Use "Send" method on the returned Request to send the API call to the service.
2734// the "output" return value is not valid until after Send returns without error.
2735//
2736// See DescribeBuild for more information on using the DescribeBuild
2737// API call, and error handling.
2738//
2739// This method is useful when you want to inject custom logic or configuration
2740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2741//
2742//
2743//    // Example sending a request using the DescribeBuildRequest method.
2744//    req, resp := client.DescribeBuildRequest(params)
2745//
2746//    err := req.Send()
2747//    if err == nil { // resp is now filled
2748//        fmt.Println(resp)
2749//    }
2750//
2751// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
2752func (c *GameLift) DescribeBuildRequest(input *DescribeBuildInput) (req *request.Request, output *DescribeBuildOutput) {
2753	op := &request.Operation{
2754		Name:       opDescribeBuild,
2755		HTTPMethod: "POST",
2756		HTTPPath:   "/",
2757	}
2758
2759	if input == nil {
2760		input = &DescribeBuildInput{}
2761	}
2762
2763	output = &DescribeBuildOutput{}
2764	req = c.newRequest(op, input, output)
2765	return
2766}
2767
2768// DescribeBuild API operation for Amazon GameLift.
2769//
2770// Retrieves properties for a build. To request a build record, specify a build
2771// ID. If successful, an object containing the build properties is returned.
2772//
2773// Build-related operations include:
2774//
2775//    * CreateBuild
2776//
2777//    * ListBuilds
2778//
2779//    * DescribeBuild
2780//
2781//    * UpdateBuild
2782//
2783//    * DeleteBuild
2784//
2785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2786// with awserr.Error's Code and Message methods to get detailed information about
2787// the error.
2788//
2789// See the AWS API reference guide for Amazon GameLift's
2790// API operation DescribeBuild for usage and error information.
2791//
2792// Returned Error Codes:
2793//   * ErrCodeUnauthorizedException "UnauthorizedException"
2794//   The client failed authentication. Clients should not retry such requests.
2795//
2796//   * ErrCodeInvalidRequestException "InvalidRequestException"
2797//   One or more parameter values in the request are invalid. Correct the invalid
2798//   parameter values before retrying.
2799//
2800//   * ErrCodeNotFoundException "NotFoundException"
2801//   A service resource associated with the request could not be found. Clients
2802//   should not retry such requests.
2803//
2804//   * ErrCodeInternalServiceException "InternalServiceException"
2805//   The service encountered an unrecoverable internal failure while processing
2806//   the request. Clients can retry such requests immediately or after a waiting
2807//   period.
2808//
2809// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
2810func (c *GameLift) DescribeBuild(input *DescribeBuildInput) (*DescribeBuildOutput, error) {
2811	req, out := c.DescribeBuildRequest(input)
2812	return out, req.Send()
2813}
2814
2815// DescribeBuildWithContext is the same as DescribeBuild with the addition of
2816// the ability to pass a context and additional request options.
2817//
2818// See DescribeBuild for details on how to use this API operation.
2819//
2820// The context must be non-nil and will be used for request cancellation. If
2821// the context is nil a panic will occur. In the future the SDK may create
2822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2823// for more information on using Contexts.
2824func (c *GameLift) DescribeBuildWithContext(ctx aws.Context, input *DescribeBuildInput, opts ...request.Option) (*DescribeBuildOutput, error) {
2825	req, out := c.DescribeBuildRequest(input)
2826	req.SetContext(ctx)
2827	req.ApplyOptions(opts...)
2828	return out, req.Send()
2829}
2830
2831const opDescribeEC2InstanceLimits = "DescribeEC2InstanceLimits"
2832
2833// DescribeEC2InstanceLimitsRequest generates a "aws/request.Request" representing the
2834// client's request for the DescribeEC2InstanceLimits operation. The "output" return
2835// value will be populated with the request's response once the request completes
2836// successfuly.
2837//
2838// Use "Send" method on the returned Request to send the API call to the service.
2839// the "output" return value is not valid until after Send returns without error.
2840//
2841// See DescribeEC2InstanceLimits for more information on using the DescribeEC2InstanceLimits
2842// API call, and error handling.
2843//
2844// This method is useful when you want to inject custom logic or configuration
2845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2846//
2847//
2848//    // Example sending a request using the DescribeEC2InstanceLimitsRequest method.
2849//    req, resp := client.DescribeEC2InstanceLimitsRequest(params)
2850//
2851//    err := req.Send()
2852//    if err == nil { // resp is now filled
2853//        fmt.Println(resp)
2854//    }
2855//
2856// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
2857func (c *GameLift) DescribeEC2InstanceLimitsRequest(input *DescribeEC2InstanceLimitsInput) (req *request.Request, output *DescribeEC2InstanceLimitsOutput) {
2858	op := &request.Operation{
2859		Name:       opDescribeEC2InstanceLimits,
2860		HTTPMethod: "POST",
2861		HTTPPath:   "/",
2862	}
2863
2864	if input == nil {
2865		input = &DescribeEC2InstanceLimitsInput{}
2866	}
2867
2868	output = &DescribeEC2InstanceLimitsOutput{}
2869	req = c.newRequest(op, input, output)
2870	return
2871}
2872
2873// DescribeEC2InstanceLimits API operation for Amazon GameLift.
2874//
2875// Retrieves the following information for the specified EC2 instance type:
2876//
2877//    * maximum number of instances allowed per AWS account (service limit)
2878//
2879//    * current usage level for the AWS account
2880//
2881// Service limits vary depending on region. Available regions for Amazon GameLift
2882// can be found in the AWS Management Console for Amazon GameLift (see the drop-down
2883// list in the upper right corner).
2884//
2885// Fleet-related operations include:
2886//
2887//    * CreateFleet
2888//
2889//    * ListFleets
2890//
2891//    * DeleteFleet
2892//
2893//    * Describe fleets:
2894//
2895// DescribeFleetAttributes
2896//
2897// DescribeFleetCapacity
2898//
2899// DescribeFleetPortSettings
2900//
2901// DescribeFleetUtilization
2902//
2903// DescribeRuntimeConfiguration
2904//
2905// DescribeEC2InstanceLimits
2906//
2907// DescribeFleetEvents
2908//
2909//    * Update fleets:
2910//
2911// UpdateFleetAttributes
2912//
2913// UpdateFleetCapacity
2914//
2915// UpdateFleetPortSettings
2916//
2917// UpdateRuntimeConfiguration
2918//
2919//    * Manage fleet actions:
2920//
2921// StartFleetActions
2922//
2923// StopFleetActions
2924//
2925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2926// with awserr.Error's Code and Message methods to get detailed information about
2927// the error.
2928//
2929// See the AWS API reference guide for Amazon GameLift's
2930// API operation DescribeEC2InstanceLimits for usage and error information.
2931//
2932// Returned Error Codes:
2933//   * ErrCodeInvalidRequestException "InvalidRequestException"
2934//   One or more parameter values in the request are invalid. Correct the invalid
2935//   parameter values before retrying.
2936//
2937//   * ErrCodeInternalServiceException "InternalServiceException"
2938//   The service encountered an unrecoverable internal failure while processing
2939//   the request. Clients can retry such requests immediately or after a waiting
2940//   period.
2941//
2942//   * ErrCodeUnauthorizedException "UnauthorizedException"
2943//   The client failed authentication. Clients should not retry such requests.
2944//
2945// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
2946func (c *GameLift) DescribeEC2InstanceLimits(input *DescribeEC2InstanceLimitsInput) (*DescribeEC2InstanceLimitsOutput, error) {
2947	req, out := c.DescribeEC2InstanceLimitsRequest(input)
2948	return out, req.Send()
2949}
2950
2951// DescribeEC2InstanceLimitsWithContext is the same as DescribeEC2InstanceLimits with the addition of
2952// the ability to pass a context and additional request options.
2953//
2954// See DescribeEC2InstanceLimits for details on how to use this API operation.
2955//
2956// The context must be non-nil and will be used for request cancellation. If
2957// the context is nil a panic will occur. In the future the SDK may create
2958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2959// for more information on using Contexts.
2960func (c *GameLift) DescribeEC2InstanceLimitsWithContext(ctx aws.Context, input *DescribeEC2InstanceLimitsInput, opts ...request.Option) (*DescribeEC2InstanceLimitsOutput, error) {
2961	req, out := c.DescribeEC2InstanceLimitsRequest(input)
2962	req.SetContext(ctx)
2963	req.ApplyOptions(opts...)
2964	return out, req.Send()
2965}
2966
2967const opDescribeFleetAttributes = "DescribeFleetAttributes"
2968
2969// DescribeFleetAttributesRequest generates a "aws/request.Request" representing the
2970// client's request for the DescribeFleetAttributes operation. The "output" return
2971// value will be populated with the request's response once the request completes
2972// successfuly.
2973//
2974// Use "Send" method on the returned Request to send the API call to the service.
2975// the "output" return value is not valid until after Send returns without error.
2976//
2977// See DescribeFleetAttributes for more information on using the DescribeFleetAttributes
2978// API call, and error handling.
2979//
2980// This method is useful when you want to inject custom logic or configuration
2981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2982//
2983//
2984//    // Example sending a request using the DescribeFleetAttributesRequest method.
2985//    req, resp := client.DescribeFleetAttributesRequest(params)
2986//
2987//    err := req.Send()
2988//    if err == nil { // resp is now filled
2989//        fmt.Println(resp)
2990//    }
2991//
2992// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
2993func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributesInput) (req *request.Request, output *DescribeFleetAttributesOutput) {
2994	op := &request.Operation{
2995		Name:       opDescribeFleetAttributes,
2996		HTTPMethod: "POST",
2997		HTTPPath:   "/",
2998	}
2999
3000	if input == nil {
3001		input = &DescribeFleetAttributesInput{}
3002	}
3003
3004	output = &DescribeFleetAttributesOutput{}
3005	req = c.newRequest(op, input, output)
3006	return
3007}
3008
3009// DescribeFleetAttributes API operation for Amazon GameLift.
3010//
3011// Retrieves fleet properties, including metadata, status, and configuration,
3012// for one or more fleets. You can request attributes for all fleets, or specify
3013// a list of one or more fleet IDs. When requesting multiple fleets, use the
3014// pagination parameters to retrieve results as a set of sequential pages. If
3015// successful, a FleetAttributes object is returned for each requested fleet
3016// ID. When specifying a list of fleet IDs, attribute objects are returned only
3017// for fleets that currently exist.
3018//
3019// Some API actions may limit the number of fleet IDs allowed in one request.
3020// If a request exceeds this limit, the request fails and the error message
3021// includes the maximum allowed.
3022//
3023// Fleet-related operations include:
3024//
3025//    * CreateFleet
3026//
3027//    * ListFleets
3028//
3029//    * DeleteFleet
3030//
3031//    * Describe fleets:
3032//
3033// DescribeFleetAttributes
3034//
3035// DescribeFleetCapacity
3036//
3037// DescribeFleetPortSettings
3038//
3039// DescribeFleetUtilization
3040//
3041// DescribeRuntimeConfiguration
3042//
3043// DescribeEC2InstanceLimits
3044//
3045// DescribeFleetEvents
3046//
3047//    * Update fleets:
3048//
3049// UpdateFleetAttributes
3050//
3051// UpdateFleetCapacity
3052//
3053// UpdateFleetPortSettings
3054//
3055// UpdateRuntimeConfiguration
3056//
3057//    * Manage fleet actions:
3058//
3059// StartFleetActions
3060//
3061// StopFleetActions
3062//
3063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3064// with awserr.Error's Code and Message methods to get detailed information about
3065// the error.
3066//
3067// See the AWS API reference guide for Amazon GameLift's
3068// API operation DescribeFleetAttributes for usage and error information.
3069//
3070// Returned Error Codes:
3071//   * ErrCodeInternalServiceException "InternalServiceException"
3072//   The service encountered an unrecoverable internal failure while processing
3073//   the request. Clients can retry such requests immediately or after a waiting
3074//   period.
3075//
3076//   * ErrCodeNotFoundException "NotFoundException"
3077//   A service resource associated with the request could not be found. Clients
3078//   should not retry such requests.
3079//
3080//   * ErrCodeInvalidRequestException "InvalidRequestException"
3081//   One or more parameter values in the request are invalid. Correct the invalid
3082//   parameter values before retrying.
3083//
3084//   * ErrCodeUnauthorizedException "UnauthorizedException"
3085//   The client failed authentication. Clients should not retry such requests.
3086//
3087// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
3088func (c *GameLift) DescribeFleetAttributes(input *DescribeFleetAttributesInput) (*DescribeFleetAttributesOutput, error) {
3089	req, out := c.DescribeFleetAttributesRequest(input)
3090	return out, req.Send()
3091}
3092
3093// DescribeFleetAttributesWithContext is the same as DescribeFleetAttributes with the addition of
3094// the ability to pass a context and additional request options.
3095//
3096// See DescribeFleetAttributes for details on how to use this API operation.
3097//
3098// The context must be non-nil and will be used for request cancellation. If
3099// the context is nil a panic will occur. In the future the SDK may create
3100// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3101// for more information on using Contexts.
3102func (c *GameLift) DescribeFleetAttributesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, opts ...request.Option) (*DescribeFleetAttributesOutput, error) {
3103	req, out := c.DescribeFleetAttributesRequest(input)
3104	req.SetContext(ctx)
3105	req.ApplyOptions(opts...)
3106	return out, req.Send()
3107}
3108
3109const opDescribeFleetCapacity = "DescribeFleetCapacity"
3110
3111// DescribeFleetCapacityRequest generates a "aws/request.Request" representing the
3112// client's request for the DescribeFleetCapacity operation. The "output" return
3113// value will be populated with the request's response once the request completes
3114// successfuly.
3115//
3116// Use "Send" method on the returned Request to send the API call to the service.
3117// the "output" return value is not valid until after Send returns without error.
3118//
3119// See DescribeFleetCapacity for more information on using the DescribeFleetCapacity
3120// API call, and error handling.
3121//
3122// This method is useful when you want to inject custom logic or configuration
3123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3124//
3125//
3126//    // Example sending a request using the DescribeFleetCapacityRequest method.
3127//    req, resp := client.DescribeFleetCapacityRequest(params)
3128//
3129//    err := req.Send()
3130//    if err == nil { // resp is now filled
3131//        fmt.Println(resp)
3132//    }
3133//
3134// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
3135func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInput) (req *request.Request, output *DescribeFleetCapacityOutput) {
3136	op := &request.Operation{
3137		Name:       opDescribeFleetCapacity,
3138		HTTPMethod: "POST",
3139		HTTPPath:   "/",
3140	}
3141
3142	if input == nil {
3143		input = &DescribeFleetCapacityInput{}
3144	}
3145
3146	output = &DescribeFleetCapacityOutput{}
3147	req = c.newRequest(op, input, output)
3148	return
3149}
3150
3151// DescribeFleetCapacity API operation for Amazon GameLift.
3152//
3153// Retrieves the current status of fleet capacity for one or more fleets. This
3154// information includes the number of instances that have been requested for
3155// the fleet and the number currently active. You can request capacity for all
3156// fleets, or specify a list of one or more fleet IDs. When requesting multiple
3157// fleets, use the pagination parameters to retrieve results as a set of sequential
3158// pages. If successful, a FleetCapacity object is returned for each requested
3159// fleet ID. When specifying a list of fleet IDs, attribute objects are returned
3160// only for fleets that currently exist.
3161//
3162// Some API actions may limit the number of fleet IDs allowed in one request.
3163// If a request exceeds this limit, the request fails and the error message
3164// includes the maximum allowed.
3165//
3166// Fleet-related operations include:
3167//
3168//    * CreateFleet
3169//
3170//    * ListFleets
3171//
3172//    * DeleteFleet
3173//
3174//    * Describe fleets:
3175//
3176// DescribeFleetAttributes
3177//
3178// DescribeFleetCapacity
3179//
3180// DescribeFleetPortSettings
3181//
3182// DescribeFleetUtilization
3183//
3184// DescribeRuntimeConfiguration
3185//
3186// DescribeEC2InstanceLimits
3187//
3188// DescribeFleetEvents
3189//
3190//    * Update fleets:
3191//
3192// UpdateFleetAttributes
3193//
3194// UpdateFleetCapacity
3195//
3196// UpdateFleetPortSettings
3197//
3198// UpdateRuntimeConfiguration
3199//
3200//    * Manage fleet actions:
3201//
3202// StartFleetActions
3203//
3204// StopFleetActions
3205//
3206// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3207// with awserr.Error's Code and Message methods to get detailed information about
3208// the error.
3209//
3210// See the AWS API reference guide for Amazon GameLift's
3211// API operation DescribeFleetCapacity for usage and error information.
3212//
3213// Returned Error Codes:
3214//   * ErrCodeInternalServiceException "InternalServiceException"
3215//   The service encountered an unrecoverable internal failure while processing
3216//   the request. Clients can retry such requests immediately or after a waiting
3217//   period.
3218//
3219//   * ErrCodeNotFoundException "NotFoundException"
3220//   A service resource associated with the request could not be found. Clients
3221//   should not retry such requests.
3222//
3223//   * ErrCodeInvalidRequestException "InvalidRequestException"
3224//   One or more parameter values in the request are invalid. Correct the invalid
3225//   parameter values before retrying.
3226//
3227//   * ErrCodeUnauthorizedException "UnauthorizedException"
3228//   The client failed authentication. Clients should not retry such requests.
3229//
3230// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
3231func (c *GameLift) DescribeFleetCapacity(input *DescribeFleetCapacityInput) (*DescribeFleetCapacityOutput, error) {
3232	req, out := c.DescribeFleetCapacityRequest(input)
3233	return out, req.Send()
3234}
3235
3236// DescribeFleetCapacityWithContext is the same as DescribeFleetCapacity with the addition of
3237// the ability to pass a context and additional request options.
3238//
3239// See DescribeFleetCapacity for details on how to use this API operation.
3240//
3241// The context must be non-nil and will be used for request cancellation. If
3242// the context is nil a panic will occur. In the future the SDK may create
3243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3244// for more information on using Contexts.
3245func (c *GameLift) DescribeFleetCapacityWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, opts ...request.Option) (*DescribeFleetCapacityOutput, error) {
3246	req, out := c.DescribeFleetCapacityRequest(input)
3247	req.SetContext(ctx)
3248	req.ApplyOptions(opts...)
3249	return out, req.Send()
3250}
3251
3252const opDescribeFleetEvents = "DescribeFleetEvents"
3253
3254// DescribeFleetEventsRequest generates a "aws/request.Request" representing the
3255// client's request for the DescribeFleetEvents operation. The "output" return
3256// value will be populated with the request's response once the request completes
3257// successfuly.
3258//
3259// Use "Send" method on the returned Request to send the API call to the service.
3260// the "output" return value is not valid until after Send returns without error.
3261//
3262// See DescribeFleetEvents for more information on using the DescribeFleetEvents
3263// API call, and error handling.
3264//
3265// This method is useful when you want to inject custom logic or configuration
3266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3267//
3268//
3269//    // Example sending a request using the DescribeFleetEventsRequest method.
3270//    req, resp := client.DescribeFleetEventsRequest(params)
3271//
3272//    err := req.Send()
3273//    if err == nil { // resp is now filled
3274//        fmt.Println(resp)
3275//    }
3276//
3277// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
3278func (c *GameLift) DescribeFleetEventsRequest(input *DescribeFleetEventsInput) (req *request.Request, output *DescribeFleetEventsOutput) {
3279	op := &request.Operation{
3280		Name:       opDescribeFleetEvents,
3281		HTTPMethod: "POST",
3282		HTTPPath:   "/",
3283	}
3284
3285	if input == nil {
3286		input = &DescribeFleetEventsInput{}
3287	}
3288
3289	output = &DescribeFleetEventsOutput{}
3290	req = c.newRequest(op, input, output)
3291	return
3292}
3293
3294// DescribeFleetEvents API operation for Amazon GameLift.
3295//
3296// Retrieves entries from the specified fleet's event log. You can specify a
3297// time range to limit the result set. Use the pagination parameters to retrieve
3298// results as a set of sequential pages. If successful, a collection of event
3299// log entries matching the request are returned.
3300//
3301// Fleet-related operations include:
3302//
3303//    * CreateFleet
3304//
3305//    * ListFleets
3306//
3307//    * DeleteFleet
3308//
3309//    * Describe fleets:
3310//
3311// DescribeFleetAttributes
3312//
3313// DescribeFleetCapacity
3314//
3315// DescribeFleetPortSettings
3316//
3317// DescribeFleetUtilization
3318//
3319// DescribeRuntimeConfiguration
3320//
3321// DescribeEC2InstanceLimits
3322//
3323// DescribeFleetEvents
3324//
3325//    * Update fleets:
3326//
3327// UpdateFleetAttributes
3328//
3329// UpdateFleetCapacity
3330//
3331// UpdateFleetPortSettings
3332//
3333// UpdateRuntimeConfiguration
3334//
3335//    * Manage fleet actions:
3336//
3337// StartFleetActions
3338//
3339// StopFleetActions
3340//
3341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3342// with awserr.Error's Code and Message methods to get detailed information about
3343// the error.
3344//
3345// See the AWS API reference guide for Amazon GameLift's
3346// API operation DescribeFleetEvents for usage and error information.
3347//
3348// Returned Error Codes:
3349//   * ErrCodeNotFoundException "NotFoundException"
3350//   A service resource associated with the request could not be found. Clients
3351//   should not retry such requests.
3352//
3353//   * ErrCodeInternalServiceException "InternalServiceException"
3354//   The service encountered an unrecoverable internal failure while processing
3355//   the request. Clients can retry such requests immediately or after a waiting
3356//   period.
3357//
3358//   * ErrCodeUnauthorizedException "UnauthorizedException"
3359//   The client failed authentication. Clients should not retry such requests.
3360//
3361//   * ErrCodeInvalidRequestException "InvalidRequestException"
3362//   One or more parameter values in the request are invalid. Correct the invalid
3363//   parameter values before retrying.
3364//
3365// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
3366func (c *GameLift) DescribeFleetEvents(input *DescribeFleetEventsInput) (*DescribeFleetEventsOutput, error) {
3367	req, out := c.DescribeFleetEventsRequest(input)
3368	return out, req.Send()
3369}
3370
3371// DescribeFleetEventsWithContext is the same as DescribeFleetEvents with the addition of
3372// the ability to pass a context and additional request options.
3373//
3374// See DescribeFleetEvents for details on how to use this API operation.
3375//
3376// The context must be non-nil and will be used for request cancellation. If
3377// the context is nil a panic will occur. In the future the SDK may create
3378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3379// for more information on using Contexts.
3380func (c *GameLift) DescribeFleetEventsWithContext(ctx aws.Context, input *DescribeFleetEventsInput, opts ...request.Option) (*DescribeFleetEventsOutput, error) {
3381	req, out := c.DescribeFleetEventsRequest(input)
3382	req.SetContext(ctx)
3383	req.ApplyOptions(opts...)
3384	return out, req.Send()
3385}
3386
3387const opDescribeFleetPortSettings = "DescribeFleetPortSettings"
3388
3389// DescribeFleetPortSettingsRequest generates a "aws/request.Request" representing the
3390// client's request for the DescribeFleetPortSettings operation. The "output" return
3391// value will be populated with the request's response once the request completes
3392// successfuly.
3393//
3394// Use "Send" method on the returned Request to send the API call to the service.
3395// the "output" return value is not valid until after Send returns without error.
3396//
3397// See DescribeFleetPortSettings for more information on using the DescribeFleetPortSettings
3398// API call, and error handling.
3399//
3400// This method is useful when you want to inject custom logic or configuration
3401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3402//
3403//
3404//    // Example sending a request using the DescribeFleetPortSettingsRequest method.
3405//    req, resp := client.DescribeFleetPortSettingsRequest(params)
3406//
3407//    err := req.Send()
3408//    if err == nil { // resp is now filled
3409//        fmt.Println(resp)
3410//    }
3411//
3412// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
3413func (c *GameLift) DescribeFleetPortSettingsRequest(input *DescribeFleetPortSettingsInput) (req *request.Request, output *DescribeFleetPortSettingsOutput) {
3414	op := &request.Operation{
3415		Name:       opDescribeFleetPortSettings,
3416		HTTPMethod: "POST",
3417		HTTPPath:   "/",
3418	}
3419
3420	if input == nil {
3421		input = &DescribeFleetPortSettingsInput{}
3422	}
3423
3424	output = &DescribeFleetPortSettingsOutput{}
3425	req = c.newRequest(op, input, output)
3426	return
3427}
3428
3429// DescribeFleetPortSettings API operation for Amazon GameLift.
3430//
3431// Retrieves the inbound connection permissions for a fleet. Connection permissions
3432// include a range of IP addresses and port settings that incoming traffic can
3433// use to access server processes in the fleet. To get a fleet's inbound connection
3434// permissions, specify a fleet ID. If successful, a collection of IpPermission
3435// objects is returned for the requested fleet ID. If the requested fleet has
3436// been deleted, the result set is empty.
3437//
3438// Fleet-related operations include:
3439//
3440//    * CreateFleet
3441//
3442//    * ListFleets
3443//
3444//    * DeleteFleet
3445//
3446//    * Describe fleets:
3447//
3448// DescribeFleetAttributes
3449//
3450// DescribeFleetCapacity
3451//
3452// DescribeFleetPortSettings
3453//
3454// DescribeFleetUtilization
3455//
3456// DescribeRuntimeConfiguration
3457//
3458// DescribeEC2InstanceLimits
3459//
3460// DescribeFleetEvents
3461//
3462//    * Update fleets:
3463//
3464// UpdateFleetAttributes
3465//
3466// UpdateFleetCapacity
3467//
3468// UpdateFleetPortSettings
3469//
3470// UpdateRuntimeConfiguration
3471//
3472//    * Manage fleet actions:
3473//
3474// StartFleetActions
3475//
3476// StopFleetActions
3477//
3478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3479// with awserr.Error's Code and Message methods to get detailed information about
3480// the error.
3481//
3482// See the AWS API reference guide for Amazon GameLift's
3483// API operation DescribeFleetPortSettings for usage and error information.
3484//
3485// Returned Error Codes:
3486//   * ErrCodeInternalServiceException "InternalServiceException"
3487//   The service encountered an unrecoverable internal failure while processing
3488//   the request. Clients can retry such requests immediately or after a waiting
3489//   period.
3490//
3491//   * ErrCodeNotFoundException "NotFoundException"
3492//   A service resource associated with the request could not be found. Clients
3493//   should not retry such requests.
3494//
3495//   * ErrCodeInvalidRequestException "InvalidRequestException"
3496//   One or more parameter values in the request are invalid. Correct the invalid
3497//   parameter values before retrying.
3498//
3499//   * ErrCodeUnauthorizedException "UnauthorizedException"
3500//   The client failed authentication. Clients should not retry such requests.
3501//
3502// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
3503func (c *GameLift) DescribeFleetPortSettings(input *DescribeFleetPortSettingsInput) (*DescribeFleetPortSettingsOutput, error) {
3504	req, out := c.DescribeFleetPortSettingsRequest(input)
3505	return out, req.Send()
3506}
3507
3508// DescribeFleetPortSettingsWithContext is the same as DescribeFleetPortSettings with the addition of
3509// the ability to pass a context and additional request options.
3510//
3511// See DescribeFleetPortSettings for details on how to use this API operation.
3512//
3513// The context must be non-nil and will be used for request cancellation. If
3514// the context is nil a panic will occur. In the future the SDK may create
3515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3516// for more information on using Contexts.
3517func (c *GameLift) DescribeFleetPortSettingsWithContext(ctx aws.Context, input *DescribeFleetPortSettingsInput, opts ...request.Option) (*DescribeFleetPortSettingsOutput, error) {
3518	req, out := c.DescribeFleetPortSettingsRequest(input)
3519	req.SetContext(ctx)
3520	req.ApplyOptions(opts...)
3521	return out, req.Send()
3522}
3523
3524const opDescribeFleetUtilization = "DescribeFleetUtilization"
3525
3526// DescribeFleetUtilizationRequest generates a "aws/request.Request" representing the
3527// client's request for the DescribeFleetUtilization operation. The "output" return
3528// value will be populated with the request's response once the request completes
3529// successfuly.
3530//
3531// Use "Send" method on the returned Request to send the API call to the service.
3532// the "output" return value is not valid until after Send returns without error.
3533//
3534// See DescribeFleetUtilization for more information on using the DescribeFleetUtilization
3535// API call, and error handling.
3536//
3537// This method is useful when you want to inject custom logic or configuration
3538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3539//
3540//
3541//    // Example sending a request using the DescribeFleetUtilizationRequest method.
3542//    req, resp := client.DescribeFleetUtilizationRequest(params)
3543//
3544//    err := req.Send()
3545//    if err == nil { // resp is now filled
3546//        fmt.Println(resp)
3547//    }
3548//
3549// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
3550func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizationInput) (req *request.Request, output *DescribeFleetUtilizationOutput) {
3551	op := &request.Operation{
3552		Name:       opDescribeFleetUtilization,
3553		HTTPMethod: "POST",
3554		HTTPPath:   "/",
3555	}
3556
3557	if input == nil {
3558		input = &DescribeFleetUtilizationInput{}
3559	}
3560
3561	output = &DescribeFleetUtilizationOutput{}
3562	req = c.newRequest(op, input, output)
3563	return
3564}
3565
3566// DescribeFleetUtilization API operation for Amazon GameLift.
3567//
3568// Retrieves utilization statistics for one or more fleets. You can request
3569// utilization data for all fleets, or specify a list of one or more fleet IDs.
3570// When requesting multiple fleets, use the pagination parameters to retrieve
3571// results as a set of sequential pages. If successful, a FleetUtilization object
3572// is returned for each requested fleet ID. When specifying a list of fleet
3573// IDs, utilization objects are returned only for fleets that currently exist.
3574//
3575// Some API actions may limit the number of fleet IDs allowed in one request.
3576// If a request exceeds this limit, the request fails and the error message
3577// includes the maximum allowed.
3578//
3579// Fleet-related operations include:
3580//
3581//    * CreateFleet
3582//
3583//    * ListFleets
3584//
3585//    * DeleteFleet
3586//
3587//    * Describe fleets:
3588//
3589// DescribeFleetAttributes
3590//
3591// DescribeFleetCapacity
3592//
3593// DescribeFleetPortSettings
3594//
3595// DescribeFleetUtilization
3596//
3597// DescribeRuntimeConfiguration
3598//
3599// DescribeEC2InstanceLimits
3600//
3601// DescribeFleetEvents
3602//
3603//    * Update fleets:
3604//
3605// UpdateFleetAttributes
3606//
3607// UpdateFleetCapacity
3608//
3609// UpdateFleetPortSettings
3610//
3611// UpdateRuntimeConfiguration
3612//
3613//    * Manage fleet actions:
3614//
3615// StartFleetActions
3616//
3617// StopFleetActions
3618//
3619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3620// with awserr.Error's Code and Message methods to get detailed information about
3621// the error.
3622//
3623// See the AWS API reference guide for Amazon GameLift's
3624// API operation DescribeFleetUtilization for usage and error information.
3625//
3626// Returned Error Codes:
3627//   * ErrCodeInternalServiceException "InternalServiceException"
3628//   The service encountered an unrecoverable internal failure while processing
3629//   the request. Clients can retry such requests immediately or after a waiting
3630//   period.
3631//
3632//   * ErrCodeNotFoundException "NotFoundException"
3633//   A service resource associated with the request could not be found. Clients
3634//   should not retry such requests.
3635//
3636//   * ErrCodeInvalidRequestException "InvalidRequestException"
3637//   One or more parameter values in the request are invalid. Correct the invalid
3638//   parameter values before retrying.
3639//
3640//   * ErrCodeUnauthorizedException "UnauthorizedException"
3641//   The client failed authentication. Clients should not retry such requests.
3642//
3643// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
3644func (c *GameLift) DescribeFleetUtilization(input *DescribeFleetUtilizationInput) (*DescribeFleetUtilizationOutput, error) {
3645	req, out := c.DescribeFleetUtilizationRequest(input)
3646	return out, req.Send()
3647}
3648
3649// DescribeFleetUtilizationWithContext is the same as DescribeFleetUtilization with the addition of
3650// the ability to pass a context and additional request options.
3651//
3652// See DescribeFleetUtilization for details on how to use this API operation.
3653//
3654// The context must be non-nil and will be used for request cancellation. If
3655// the context is nil a panic will occur. In the future the SDK may create
3656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3657// for more information on using Contexts.
3658func (c *GameLift) DescribeFleetUtilizationWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, opts ...request.Option) (*DescribeFleetUtilizationOutput, error) {
3659	req, out := c.DescribeFleetUtilizationRequest(input)
3660	req.SetContext(ctx)
3661	req.ApplyOptions(opts...)
3662	return out, req.Send()
3663}
3664
3665const opDescribeGameSessionDetails = "DescribeGameSessionDetails"
3666
3667// DescribeGameSessionDetailsRequest generates a "aws/request.Request" representing the
3668// client's request for the DescribeGameSessionDetails operation. The "output" return
3669// value will be populated with the request's response once the request completes
3670// successfuly.
3671//
3672// Use "Send" method on the returned Request to send the API call to the service.
3673// the "output" return value is not valid until after Send returns without error.
3674//
3675// See DescribeGameSessionDetails for more information on using the DescribeGameSessionDetails
3676// API call, and error handling.
3677//
3678// This method is useful when you want to inject custom logic or configuration
3679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3680//
3681//
3682//    // Example sending a request using the DescribeGameSessionDetailsRequest method.
3683//    req, resp := client.DescribeGameSessionDetailsRequest(params)
3684//
3685//    err := req.Send()
3686//    if err == nil { // resp is now filled
3687//        fmt.Println(resp)
3688//    }
3689//
3690// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
3691func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionDetailsInput) (req *request.Request, output *DescribeGameSessionDetailsOutput) {
3692	op := &request.Operation{
3693		Name:       opDescribeGameSessionDetails,
3694		HTTPMethod: "POST",
3695		HTTPPath:   "/",
3696	}
3697
3698	if input == nil {
3699		input = &DescribeGameSessionDetailsInput{}
3700	}
3701
3702	output = &DescribeGameSessionDetailsOutput{}
3703	req = c.newRequest(op, input, output)
3704	return
3705}
3706
3707// DescribeGameSessionDetails API operation for Amazon GameLift.
3708//
3709// Retrieves properties, including the protection policy in force, for one or
3710// more game sessions. This action can be used in several ways: (1) provide
3711// a GameSessionId or GameSessionArn to request details for a specific game
3712// session; (2) provide either a FleetId or an AliasId to request properties
3713// for all game sessions running on a fleet.
3714//
3715// To get game session record(s), specify just one of the following: game session
3716// ID, fleet ID, or alias ID. You can filter this request by game session status.
3717// Use the pagination parameters to retrieve results as a set of sequential
3718// pages. If successful, a GameSessionDetail object is returned for each session
3719// matching the request.
3720//
3721// Game-session-related operations include:
3722//
3723//    * CreateGameSession
3724//
3725//    * DescribeGameSessions
3726//
3727//    * DescribeGameSessionDetails
3728//
3729//    * SearchGameSessions
3730//
3731//    * UpdateGameSession
3732//
3733//    * GetGameSessionLogUrl
3734//
3735//    * Game session placements
3736//
3737// StartGameSessionPlacement
3738//
3739// DescribeGameSessionPlacement
3740//
3741// StopGameSessionPlacement
3742//
3743// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3744// with awserr.Error's Code and Message methods to get detailed information about
3745// the error.
3746//
3747// See the AWS API reference guide for Amazon GameLift's
3748// API operation DescribeGameSessionDetails for usage and error information.
3749//
3750// Returned Error Codes:
3751//   * ErrCodeInternalServiceException "InternalServiceException"
3752//   The service encountered an unrecoverable internal failure while processing
3753//   the request. Clients can retry such requests immediately or after a waiting
3754//   period.
3755//
3756//   * ErrCodeNotFoundException "NotFoundException"
3757//   A service resource associated with the request could not be found. Clients
3758//   should not retry such requests.
3759//
3760//   * ErrCodeInvalidRequestException "InvalidRequestException"
3761//   One or more parameter values in the request are invalid. Correct the invalid
3762//   parameter values before retrying.
3763//
3764//   * ErrCodeUnauthorizedException "UnauthorizedException"
3765//   The client failed authentication. Clients should not retry such requests.
3766//
3767//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
3768//   The service is unable to resolve the routing for a particular alias because
3769//   it has a terminal RoutingStrategy associated with it. The message returned
3770//   in this exception is the message defined in the routing strategy itself.
3771//   Such requests should only be retried if the routing strategy for the specified
3772//   alias is modified.
3773//
3774// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
3775func (c *GameLift) DescribeGameSessionDetails(input *DescribeGameSessionDetailsInput) (*DescribeGameSessionDetailsOutput, error) {
3776	req, out := c.DescribeGameSessionDetailsRequest(input)
3777	return out, req.Send()
3778}
3779
3780// DescribeGameSessionDetailsWithContext is the same as DescribeGameSessionDetails with the addition of
3781// the ability to pass a context and additional request options.
3782//
3783// See DescribeGameSessionDetails for details on how to use this API operation.
3784//
3785// The context must be non-nil and will be used for request cancellation. If
3786// the context is nil a panic will occur. In the future the SDK may create
3787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3788// for more information on using Contexts.
3789func (c *GameLift) DescribeGameSessionDetailsWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, opts ...request.Option) (*DescribeGameSessionDetailsOutput, error) {
3790	req, out := c.DescribeGameSessionDetailsRequest(input)
3791	req.SetContext(ctx)
3792	req.ApplyOptions(opts...)
3793	return out, req.Send()
3794}
3795
3796const opDescribeGameSessionPlacement = "DescribeGameSessionPlacement"
3797
3798// DescribeGameSessionPlacementRequest generates a "aws/request.Request" representing the
3799// client's request for the DescribeGameSessionPlacement operation. The "output" return
3800// value will be populated with the request's response once the request completes
3801// successfuly.
3802//
3803// Use "Send" method on the returned Request to send the API call to the service.
3804// the "output" return value is not valid until after Send returns without error.
3805//
3806// See DescribeGameSessionPlacement for more information on using the DescribeGameSessionPlacement
3807// API call, and error handling.
3808//
3809// This method is useful when you want to inject custom logic or configuration
3810// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3811//
3812//
3813//    // Example sending a request using the DescribeGameSessionPlacementRequest method.
3814//    req, resp := client.DescribeGameSessionPlacementRequest(params)
3815//
3816//    err := req.Send()
3817//    if err == nil { // resp is now filled
3818//        fmt.Println(resp)
3819//    }
3820//
3821// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
3822func (c *GameLift) DescribeGameSessionPlacementRequest(input *DescribeGameSessionPlacementInput) (req *request.Request, output *DescribeGameSessionPlacementOutput) {
3823	op := &request.Operation{
3824		Name:       opDescribeGameSessionPlacement,
3825		HTTPMethod: "POST",
3826		HTTPPath:   "/",
3827	}
3828
3829	if input == nil {
3830		input = &DescribeGameSessionPlacementInput{}
3831	}
3832
3833	output = &DescribeGameSessionPlacementOutput{}
3834	req = c.newRequest(op, input, output)
3835	return
3836}
3837
3838// DescribeGameSessionPlacement API operation for Amazon GameLift.
3839//
3840// Retrieves properties and current status of a game session placement request.
3841// To get game session placement details, specify the placement ID. If successful,
3842// a GameSessionPlacement object is returned.
3843//
3844// Game-session-related operations include:
3845//
3846//    * CreateGameSession
3847//
3848//    * DescribeGameSessions
3849//
3850//    * DescribeGameSessionDetails
3851//
3852//    * SearchGameSessions
3853//
3854//    * UpdateGameSession
3855//
3856//    * GetGameSessionLogUrl
3857//
3858//    * Game session placements
3859//
3860// StartGameSessionPlacement
3861//
3862// DescribeGameSessionPlacement
3863//
3864// StopGameSessionPlacement
3865//
3866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3867// with awserr.Error's Code and Message methods to get detailed information about
3868// the error.
3869//
3870// See the AWS API reference guide for Amazon GameLift's
3871// API operation DescribeGameSessionPlacement for usage and error information.
3872//
3873// Returned Error Codes:
3874//   * ErrCodeInternalServiceException "InternalServiceException"
3875//   The service encountered an unrecoverable internal failure while processing
3876//   the request. Clients can retry such requests immediately or after a waiting
3877//   period.
3878//
3879//   * ErrCodeInvalidRequestException "InvalidRequestException"
3880//   One or more parameter values in the request are invalid. Correct the invalid
3881//   parameter values before retrying.
3882//
3883//   * ErrCodeNotFoundException "NotFoundException"
3884//   A service resource associated with the request could not be found. Clients
3885//   should not retry such requests.
3886//
3887//   * ErrCodeUnauthorizedException "UnauthorizedException"
3888//   The client failed authentication. Clients should not retry such requests.
3889//
3890// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
3891func (c *GameLift) DescribeGameSessionPlacement(input *DescribeGameSessionPlacementInput) (*DescribeGameSessionPlacementOutput, error) {
3892	req, out := c.DescribeGameSessionPlacementRequest(input)
3893	return out, req.Send()
3894}
3895
3896// DescribeGameSessionPlacementWithContext is the same as DescribeGameSessionPlacement with the addition of
3897// the ability to pass a context and additional request options.
3898//
3899// See DescribeGameSessionPlacement for details on how to use this API operation.
3900//
3901// The context must be non-nil and will be used for request cancellation. If
3902// the context is nil a panic will occur. In the future the SDK may create
3903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3904// for more information on using Contexts.
3905func (c *GameLift) DescribeGameSessionPlacementWithContext(ctx aws.Context, input *DescribeGameSessionPlacementInput, opts ...request.Option) (*DescribeGameSessionPlacementOutput, error) {
3906	req, out := c.DescribeGameSessionPlacementRequest(input)
3907	req.SetContext(ctx)
3908	req.ApplyOptions(opts...)
3909	return out, req.Send()
3910}
3911
3912const opDescribeGameSessionQueues = "DescribeGameSessionQueues"
3913
3914// DescribeGameSessionQueuesRequest generates a "aws/request.Request" representing the
3915// client's request for the DescribeGameSessionQueues operation. The "output" return
3916// value will be populated with the request's response once the request completes
3917// successfuly.
3918//
3919// Use "Send" method on the returned Request to send the API call to the service.
3920// the "output" return value is not valid until after Send returns without error.
3921//
3922// See DescribeGameSessionQueues for more information on using the DescribeGameSessionQueues
3923// API call, and error handling.
3924//
3925// This method is useful when you want to inject custom logic or configuration
3926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3927//
3928//
3929//    // Example sending a request using the DescribeGameSessionQueuesRequest method.
3930//    req, resp := client.DescribeGameSessionQueuesRequest(params)
3931//
3932//    err := req.Send()
3933//    if err == nil { // resp is now filled
3934//        fmt.Println(resp)
3935//    }
3936//
3937// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
3938func (c *GameLift) DescribeGameSessionQueuesRequest(input *DescribeGameSessionQueuesInput) (req *request.Request, output *DescribeGameSessionQueuesOutput) {
3939	op := &request.Operation{
3940		Name:       opDescribeGameSessionQueues,
3941		HTTPMethod: "POST",
3942		HTTPPath:   "/",
3943	}
3944
3945	if input == nil {
3946		input = &DescribeGameSessionQueuesInput{}
3947	}
3948
3949	output = &DescribeGameSessionQueuesOutput{}
3950	req = c.newRequest(op, input, output)
3951	return
3952}
3953
3954// DescribeGameSessionQueues API operation for Amazon GameLift.
3955//
3956// Retrieves the properties for one or more game session queues. When requesting
3957// multiple queues, use the pagination parameters to retrieve results as a set
3958// of sequential pages. If successful, a GameSessionQueue object is returned
3959// for each requested queue. When specifying a list of queues, objects are returned
3960// only for queues that currently exist in the region.
3961//
3962// Queue-related operations include:
3963//
3964//    * CreateGameSessionQueue
3965//
3966//    * DescribeGameSessionQueues
3967//
3968//    * UpdateGameSessionQueue
3969//
3970//    * DeleteGameSessionQueue
3971//
3972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3973// with awserr.Error's Code and Message methods to get detailed information about
3974// the error.
3975//
3976// See the AWS API reference guide for Amazon GameLift's
3977// API operation DescribeGameSessionQueues for usage and error information.
3978//
3979// Returned Error Codes:
3980//   * ErrCodeInternalServiceException "InternalServiceException"
3981//   The service encountered an unrecoverable internal failure while processing
3982//   the request. Clients can retry such requests immediately or after a waiting
3983//   period.
3984//
3985//   * ErrCodeInvalidRequestException "InvalidRequestException"
3986//   One or more parameter values in the request are invalid. Correct the invalid
3987//   parameter values before retrying.
3988//
3989//   * ErrCodeNotFoundException "NotFoundException"
3990//   A service resource associated with the request could not be found. Clients
3991//   should not retry such requests.
3992//
3993//   * ErrCodeUnauthorizedException "UnauthorizedException"
3994//   The client failed authentication. Clients should not retry such requests.
3995//
3996// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
3997func (c *GameLift) DescribeGameSessionQueues(input *DescribeGameSessionQueuesInput) (*DescribeGameSessionQueuesOutput, error) {
3998	req, out := c.DescribeGameSessionQueuesRequest(input)
3999	return out, req.Send()
4000}
4001
4002// DescribeGameSessionQueuesWithContext is the same as DescribeGameSessionQueues with the addition of
4003// the ability to pass a context and additional request options.
4004//
4005// See DescribeGameSessionQueues for details on how to use this API operation.
4006//
4007// The context must be non-nil and will be used for request cancellation. If
4008// the context is nil a panic will occur. In the future the SDK may create
4009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4010// for more information on using Contexts.
4011func (c *GameLift) DescribeGameSessionQueuesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, opts ...request.Option) (*DescribeGameSessionQueuesOutput, error) {
4012	req, out := c.DescribeGameSessionQueuesRequest(input)
4013	req.SetContext(ctx)
4014	req.ApplyOptions(opts...)
4015	return out, req.Send()
4016}
4017
4018const opDescribeGameSessions = "DescribeGameSessions"
4019
4020// DescribeGameSessionsRequest generates a "aws/request.Request" representing the
4021// client's request for the DescribeGameSessions operation. The "output" return
4022// value will be populated with the request's response once the request completes
4023// successfuly.
4024//
4025// Use "Send" method on the returned Request to send the API call to the service.
4026// the "output" return value is not valid until after Send returns without error.
4027//
4028// See DescribeGameSessions for more information on using the DescribeGameSessions
4029// API call, and error handling.
4030//
4031// This method is useful when you want to inject custom logic or configuration
4032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4033//
4034//
4035//    // Example sending a request using the DescribeGameSessionsRequest method.
4036//    req, resp := client.DescribeGameSessionsRequest(params)
4037//
4038//    err := req.Send()
4039//    if err == nil { // resp is now filled
4040//        fmt.Println(resp)
4041//    }
4042//
4043// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
4044func (c *GameLift) DescribeGameSessionsRequest(input *DescribeGameSessionsInput) (req *request.Request, output *DescribeGameSessionsOutput) {
4045	op := &request.Operation{
4046		Name:       opDescribeGameSessions,
4047		HTTPMethod: "POST",
4048		HTTPPath:   "/",
4049	}
4050
4051	if input == nil {
4052		input = &DescribeGameSessionsInput{}
4053	}
4054
4055	output = &DescribeGameSessionsOutput{}
4056	req = c.newRequest(op, input, output)
4057	return
4058}
4059
4060// DescribeGameSessions API operation for Amazon GameLift.
4061//
4062// Retrieves a set of one or more game sessions. Request a specific game session
4063// or request all game sessions on a fleet. Alternatively, use SearchGameSessions
4064// to request a set of active game sessions that are filtered by certain criteria.
4065// To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails.
4066//
4067// To get game sessions, specify one of the following: game session ID, fleet
4068// ID, or alias ID. You can filter this request by game session status. Use
4069// the pagination parameters to retrieve results as a set of sequential pages.
4070// If successful, a GameSession object is returned for each game session matching
4071// the request.
4072//
4073// Available in Amazon GameLift Local.
4074//
4075// Game-session-related operations include:
4076//
4077//    * CreateGameSession
4078//
4079//    * DescribeGameSessions
4080//
4081//    * DescribeGameSessionDetails
4082//
4083//    * SearchGameSessions
4084//
4085//    * UpdateGameSession
4086//
4087//    * GetGameSessionLogUrl
4088//
4089//    * Game session placements
4090//
4091// StartGameSessionPlacement
4092//
4093// DescribeGameSessionPlacement
4094//
4095// StopGameSessionPlacement
4096//
4097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4098// with awserr.Error's Code and Message methods to get detailed information about
4099// the error.
4100//
4101// See the AWS API reference guide for Amazon GameLift's
4102// API operation DescribeGameSessions for usage and error information.
4103//
4104// Returned Error Codes:
4105//   * ErrCodeInternalServiceException "InternalServiceException"
4106//   The service encountered an unrecoverable internal failure while processing
4107//   the request. Clients can retry such requests immediately or after a waiting
4108//   period.
4109//
4110//   * ErrCodeNotFoundException "NotFoundException"
4111//   A service resource associated with the request could not be found. Clients
4112//   should not retry such requests.
4113//
4114//   * ErrCodeInvalidRequestException "InvalidRequestException"
4115//   One or more parameter values in the request are invalid. Correct the invalid
4116//   parameter values before retrying.
4117//
4118//   * ErrCodeUnauthorizedException "UnauthorizedException"
4119//   The client failed authentication. Clients should not retry such requests.
4120//
4121//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
4122//   The service is unable to resolve the routing for a particular alias because
4123//   it has a terminal RoutingStrategy associated with it. The message returned
4124//   in this exception is the message defined in the routing strategy itself.
4125//   Such requests should only be retried if the routing strategy for the specified
4126//   alias is modified.
4127//
4128// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
4129func (c *GameLift) DescribeGameSessions(input *DescribeGameSessionsInput) (*DescribeGameSessionsOutput, error) {
4130	req, out := c.DescribeGameSessionsRequest(input)
4131	return out, req.Send()
4132}
4133
4134// DescribeGameSessionsWithContext is the same as DescribeGameSessions with the addition of
4135// the ability to pass a context and additional request options.
4136//
4137// See DescribeGameSessions for details on how to use this API operation.
4138//
4139// The context must be non-nil and will be used for request cancellation. If
4140// the context is nil a panic will occur. In the future the SDK may create
4141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4142// for more information on using Contexts.
4143func (c *GameLift) DescribeGameSessionsWithContext(ctx aws.Context, input *DescribeGameSessionsInput, opts ...request.Option) (*DescribeGameSessionsOutput, error) {
4144	req, out := c.DescribeGameSessionsRequest(input)
4145	req.SetContext(ctx)
4146	req.ApplyOptions(opts...)
4147	return out, req.Send()
4148}
4149
4150const opDescribeInstances = "DescribeInstances"
4151
4152// DescribeInstancesRequest generates a "aws/request.Request" representing the
4153// client's request for the DescribeInstances operation. The "output" return
4154// value will be populated with the request's response once the request completes
4155// successfuly.
4156//
4157// Use "Send" method on the returned Request to send the API call to the service.
4158// the "output" return value is not valid until after Send returns without error.
4159//
4160// See DescribeInstances for more information on using the DescribeInstances
4161// API call, and error handling.
4162//
4163// This method is useful when you want to inject custom logic or configuration
4164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4165//
4166//
4167//    // Example sending a request using the DescribeInstancesRequest method.
4168//    req, resp := client.DescribeInstancesRequest(params)
4169//
4170//    err := req.Send()
4171//    if err == nil { // resp is now filled
4172//        fmt.Println(resp)
4173//    }
4174//
4175// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
4176func (c *GameLift) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
4177	op := &request.Operation{
4178		Name:       opDescribeInstances,
4179		HTTPMethod: "POST",
4180		HTTPPath:   "/",
4181	}
4182
4183	if input == nil {
4184		input = &DescribeInstancesInput{}
4185	}
4186
4187	output = &DescribeInstancesOutput{}
4188	req = c.newRequest(op, input, output)
4189	return
4190}
4191
4192// DescribeInstances API operation for Amazon GameLift.
4193//
4194// Retrieves information about a fleet's instances, including instance IDs.
4195// Use this action to get details on all instances in the fleet or get details
4196// on one specific instance.
4197//
4198// To get a specific instance, specify fleet ID and instance ID. To get all
4199// instances in a fleet, specify a fleet ID only. Use the pagination parameters
4200// to retrieve results as a set of sequential pages. If successful, an Instance
4201// object is returned for each result.
4202//
4203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4204// with awserr.Error's Code and Message methods to get detailed information about
4205// the error.
4206//
4207// See the AWS API reference guide for Amazon GameLift's
4208// API operation DescribeInstances for usage and error information.
4209//
4210// Returned Error Codes:
4211//   * ErrCodeUnauthorizedException "UnauthorizedException"
4212//   The client failed authentication. Clients should not retry such requests.
4213//
4214//   * ErrCodeInvalidRequestException "InvalidRequestException"
4215//   One or more parameter values in the request are invalid. Correct the invalid
4216//   parameter values before retrying.
4217//
4218//   * ErrCodeNotFoundException "NotFoundException"
4219//   A service resource associated with the request could not be found. Clients
4220//   should not retry such requests.
4221//
4222//   * ErrCodeInternalServiceException "InternalServiceException"
4223//   The service encountered an unrecoverable internal failure while processing
4224//   the request. Clients can retry such requests immediately or after a waiting
4225//   period.
4226//
4227// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
4228func (c *GameLift) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
4229	req, out := c.DescribeInstancesRequest(input)
4230	return out, req.Send()
4231}
4232
4233// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
4234// the ability to pass a context and additional request options.
4235//
4236// See DescribeInstances for details on how to use this API operation.
4237//
4238// The context must be non-nil and will be used for request cancellation. If
4239// the context is nil a panic will occur. In the future the SDK may create
4240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4241// for more information on using Contexts.
4242func (c *GameLift) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
4243	req, out := c.DescribeInstancesRequest(input)
4244	req.SetContext(ctx)
4245	req.ApplyOptions(opts...)
4246	return out, req.Send()
4247}
4248
4249const opDescribeMatchmaking = "DescribeMatchmaking"
4250
4251// DescribeMatchmakingRequest generates a "aws/request.Request" representing the
4252// client's request for the DescribeMatchmaking operation. The "output" return
4253// value will be populated with the request's response once the request completes
4254// successfuly.
4255//
4256// Use "Send" method on the returned Request to send the API call to the service.
4257// the "output" return value is not valid until after Send returns without error.
4258//
4259// See DescribeMatchmaking for more information on using the DescribeMatchmaking
4260// API call, and error handling.
4261//
4262// This method is useful when you want to inject custom logic or configuration
4263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4264//
4265//
4266//    // Example sending a request using the DescribeMatchmakingRequest method.
4267//    req, resp := client.DescribeMatchmakingRequest(params)
4268//
4269//    err := req.Send()
4270//    if err == nil { // resp is now filled
4271//        fmt.Println(resp)
4272//    }
4273//
4274// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
4275func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) (req *request.Request, output *DescribeMatchmakingOutput) {
4276	op := &request.Operation{
4277		Name:       opDescribeMatchmaking,
4278		HTTPMethod: "POST",
4279		HTTPPath:   "/",
4280	}
4281
4282	if input == nil {
4283		input = &DescribeMatchmakingInput{}
4284	}
4285
4286	output = &DescribeMatchmakingOutput{}
4287	req = c.newRequest(op, input, output)
4288	return
4289}
4290
4291// DescribeMatchmaking API operation for Amazon GameLift.
4292//
4293// Retrieves one or more matchmaking tickets. Use this operation to retrieve
4294// ticket information, including status and--once a successful match is made--acquire
4295// connection information for the resulting new game session.
4296//
4297// You can use this operation to track the progress of matchmaking requests
4298// (through polling) as an alternative to using event notifications. See more
4299// details on tracking matchmaking requests through polling or notifications
4300// in StartMatchmaking.
4301//
4302// To request matchmaking tickets, provide a list of up to 10 ticket IDs. If
4303// the request is successful, a ticket object is returned for each requested
4304// ID that currently exists.
4305//
4306// Matchmaking-related operations include:
4307//
4308//    * StartMatchmaking
4309//
4310//    * DescribeMatchmaking
4311//
4312//    * StopMatchmaking
4313//
4314//    * AcceptMatch
4315//
4316//    * StartMatchBackfill
4317//
4318// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4319// with awserr.Error's Code and Message methods to get detailed information about
4320// the error.
4321//
4322// See the AWS API reference guide for Amazon GameLift's
4323// API operation DescribeMatchmaking for usage and error information.
4324//
4325// Returned Error Codes:
4326//   * ErrCodeInvalidRequestException "InvalidRequestException"
4327//   One or more parameter values in the request are invalid. Correct the invalid
4328//   parameter values before retrying.
4329//
4330//   * ErrCodeInternalServiceException "InternalServiceException"
4331//   The service encountered an unrecoverable internal failure while processing
4332//   the request. Clients can retry such requests immediately or after a waiting
4333//   period.
4334//
4335//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
4336//   The requested operation is not supported in the region specified.
4337//
4338// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
4339func (c *GameLift) DescribeMatchmaking(input *DescribeMatchmakingInput) (*DescribeMatchmakingOutput, error) {
4340	req, out := c.DescribeMatchmakingRequest(input)
4341	return out, req.Send()
4342}
4343
4344// DescribeMatchmakingWithContext is the same as DescribeMatchmaking with the addition of
4345// the ability to pass a context and additional request options.
4346//
4347// See DescribeMatchmaking for details on how to use this API operation.
4348//
4349// The context must be non-nil and will be used for request cancellation. If
4350// the context is nil a panic will occur. In the future the SDK may create
4351// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4352// for more information on using Contexts.
4353func (c *GameLift) DescribeMatchmakingWithContext(ctx aws.Context, input *DescribeMatchmakingInput, opts ...request.Option) (*DescribeMatchmakingOutput, error) {
4354	req, out := c.DescribeMatchmakingRequest(input)
4355	req.SetContext(ctx)
4356	req.ApplyOptions(opts...)
4357	return out, req.Send()
4358}
4359
4360const opDescribeMatchmakingConfigurations = "DescribeMatchmakingConfigurations"
4361
4362// DescribeMatchmakingConfigurationsRequest generates a "aws/request.Request" representing the
4363// client's request for the DescribeMatchmakingConfigurations operation. The "output" return
4364// value will be populated with the request's response once the request completes
4365// successfuly.
4366//
4367// Use "Send" method on the returned Request to send the API call to the service.
4368// the "output" return value is not valid until after Send returns without error.
4369//
4370// See DescribeMatchmakingConfigurations for more information on using the DescribeMatchmakingConfigurations
4371// API call, and error handling.
4372//
4373// This method is useful when you want to inject custom logic or configuration
4374// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4375//
4376//
4377//    // Example sending a request using the DescribeMatchmakingConfigurationsRequest method.
4378//    req, resp := client.DescribeMatchmakingConfigurationsRequest(params)
4379//
4380//    err := req.Send()
4381//    if err == nil { // resp is now filled
4382//        fmt.Println(resp)
4383//    }
4384//
4385// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
4386func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatchmakingConfigurationsInput) (req *request.Request, output *DescribeMatchmakingConfigurationsOutput) {
4387	op := &request.Operation{
4388		Name:       opDescribeMatchmakingConfigurations,
4389		HTTPMethod: "POST",
4390		HTTPPath:   "/",
4391	}
4392
4393	if input == nil {
4394		input = &DescribeMatchmakingConfigurationsInput{}
4395	}
4396
4397	output = &DescribeMatchmakingConfigurationsOutput{}
4398	req = c.newRequest(op, input, output)
4399	return
4400}
4401
4402// DescribeMatchmakingConfigurations API operation for Amazon GameLift.
4403//
4404// Retrieves the details of FlexMatch matchmaking configurations. with this
4405// operation, you have the following options: (1) retrieve all existing configurations,
4406// (2) provide the names of one or more configurations to retrieve, or (3) retrieve
4407// all configurations that use a specified rule set name. When requesting multiple
4408// items, use the pagination parameters to retrieve results as a set of sequential
4409// pages. If successful, a configuration is returned for each requested name.
4410// When specifying a list of names, only configurations that currently exist
4411// are returned.
4412//
4413// Operations related to match configurations and rule sets include:
4414//
4415//    * CreateMatchmakingConfiguration
4416//
4417//    * DescribeMatchmakingConfigurations
4418//
4419//    * UpdateMatchmakingConfiguration
4420//
4421//    * DeleteMatchmakingConfiguration
4422//
4423//    * CreateMatchmakingRuleSet
4424//
4425//    * DescribeMatchmakingRuleSets
4426//
4427//    * ValidateMatchmakingRuleSet
4428//
4429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4430// with awserr.Error's Code and Message methods to get detailed information about
4431// the error.
4432//
4433// See the AWS API reference guide for Amazon GameLift's
4434// API operation DescribeMatchmakingConfigurations for usage and error information.
4435//
4436// Returned Error Codes:
4437//   * ErrCodeInvalidRequestException "InvalidRequestException"
4438//   One or more parameter values in the request are invalid. Correct the invalid
4439//   parameter values before retrying.
4440//
4441//   * ErrCodeInternalServiceException "InternalServiceException"
4442//   The service encountered an unrecoverable internal failure while processing
4443//   the request. Clients can retry such requests immediately or after a waiting
4444//   period.
4445//
4446//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
4447//   The requested operation is not supported in the region specified.
4448//
4449// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
4450func (c *GameLift) DescribeMatchmakingConfigurations(input *DescribeMatchmakingConfigurationsInput) (*DescribeMatchmakingConfigurationsOutput, error) {
4451	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
4452	return out, req.Send()
4453}
4454
4455// DescribeMatchmakingConfigurationsWithContext is the same as DescribeMatchmakingConfigurations with the addition of
4456// the ability to pass a context and additional request options.
4457//
4458// See DescribeMatchmakingConfigurations for details on how to use this API operation.
4459//
4460// The context must be non-nil and will be used for request cancellation. If
4461// the context is nil a panic will occur. In the future the SDK may create
4462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4463// for more information on using Contexts.
4464func (c *GameLift) DescribeMatchmakingConfigurationsWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, opts ...request.Option) (*DescribeMatchmakingConfigurationsOutput, error) {
4465	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
4466	req.SetContext(ctx)
4467	req.ApplyOptions(opts...)
4468	return out, req.Send()
4469}
4470
4471const opDescribeMatchmakingRuleSets = "DescribeMatchmakingRuleSets"
4472
4473// DescribeMatchmakingRuleSetsRequest generates a "aws/request.Request" representing the
4474// client's request for the DescribeMatchmakingRuleSets operation. The "output" return
4475// value will be populated with the request's response once the request completes
4476// successfuly.
4477//
4478// Use "Send" method on the returned Request to send the API call to the service.
4479// the "output" return value is not valid until after Send returns without error.
4480//
4481// See DescribeMatchmakingRuleSets for more information on using the DescribeMatchmakingRuleSets
4482// API call, and error handling.
4483//
4484// This method is useful when you want to inject custom logic or configuration
4485// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4486//
4487//
4488//    // Example sending a request using the DescribeMatchmakingRuleSetsRequest method.
4489//    req, resp := client.DescribeMatchmakingRuleSetsRequest(params)
4490//
4491//    err := req.Send()
4492//    if err == nil { // resp is now filled
4493//        fmt.Println(resp)
4494//    }
4495//
4496// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
4497func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmakingRuleSetsInput) (req *request.Request, output *DescribeMatchmakingRuleSetsOutput) {
4498	op := &request.Operation{
4499		Name:       opDescribeMatchmakingRuleSets,
4500		HTTPMethod: "POST",
4501		HTTPPath:   "/",
4502	}
4503
4504	if input == nil {
4505		input = &DescribeMatchmakingRuleSetsInput{}
4506	}
4507
4508	output = &DescribeMatchmakingRuleSetsOutput{}
4509	req = c.newRequest(op, input, output)
4510	return
4511}
4512
4513// DescribeMatchmakingRuleSets API operation for Amazon GameLift.
4514//
4515// Retrieves the details for FlexMatch matchmaking rule sets. You can request
4516// all existing rule sets for the region, or provide a list of one or more rule
4517// set names. When requesting multiple items, use the pagination parameters
4518// to retrieve results as a set of sequential pages. If successful, a rule set
4519// is returned for each requested name.
4520//
4521// Operations related to match configurations and rule sets include:
4522//
4523//    * CreateMatchmakingConfiguration
4524//
4525//    * DescribeMatchmakingConfigurations
4526//
4527//    * UpdateMatchmakingConfiguration
4528//
4529//    * DeleteMatchmakingConfiguration
4530//
4531//    * CreateMatchmakingRuleSet
4532//
4533//    * DescribeMatchmakingRuleSets
4534//
4535//    * ValidateMatchmakingRuleSet
4536//
4537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4538// with awserr.Error's Code and Message methods to get detailed information about
4539// the error.
4540//
4541// See the AWS API reference guide for Amazon GameLift's
4542// API operation DescribeMatchmakingRuleSets for usage and error information.
4543//
4544// Returned Error Codes:
4545//   * ErrCodeInvalidRequestException "InvalidRequestException"
4546//   One or more parameter values in the request are invalid. Correct the invalid
4547//   parameter values before retrying.
4548//
4549//   * ErrCodeInternalServiceException "InternalServiceException"
4550//   The service encountered an unrecoverable internal failure while processing
4551//   the request. Clients can retry such requests immediately or after a waiting
4552//   period.
4553//
4554//   * ErrCodeNotFoundException "NotFoundException"
4555//   A service resource associated with the request could not be found. Clients
4556//   should not retry such requests.
4557//
4558//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
4559//   The requested operation is not supported in the region specified.
4560//
4561// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
4562func (c *GameLift) DescribeMatchmakingRuleSets(input *DescribeMatchmakingRuleSetsInput) (*DescribeMatchmakingRuleSetsOutput, error) {
4563	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
4564	return out, req.Send()
4565}
4566
4567// DescribeMatchmakingRuleSetsWithContext is the same as DescribeMatchmakingRuleSets with the addition of
4568// the ability to pass a context and additional request options.
4569//
4570// See DescribeMatchmakingRuleSets for details on how to use this API operation.
4571//
4572// The context must be non-nil and will be used for request cancellation. If
4573// the context is nil a panic will occur. In the future the SDK may create
4574// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4575// for more information on using Contexts.
4576func (c *GameLift) DescribeMatchmakingRuleSetsWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, opts ...request.Option) (*DescribeMatchmakingRuleSetsOutput, error) {
4577	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
4578	req.SetContext(ctx)
4579	req.ApplyOptions(opts...)
4580	return out, req.Send()
4581}
4582
4583const opDescribePlayerSessions = "DescribePlayerSessions"
4584
4585// DescribePlayerSessionsRequest generates a "aws/request.Request" representing the
4586// client's request for the DescribePlayerSessions operation. The "output" return
4587// value will be populated with the request's response once the request completes
4588// successfuly.
4589//
4590// Use "Send" method on the returned Request to send the API call to the service.
4591// the "output" return value is not valid until after Send returns without error.
4592//
4593// See DescribePlayerSessions for more information on using the DescribePlayerSessions
4594// API call, and error handling.
4595//
4596// This method is useful when you want to inject custom logic or configuration
4597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4598//
4599//
4600//    // Example sending a request using the DescribePlayerSessionsRequest method.
4601//    req, resp := client.DescribePlayerSessionsRequest(params)
4602//
4603//    err := req.Send()
4604//    if err == nil { // resp is now filled
4605//        fmt.Println(resp)
4606//    }
4607//
4608// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
4609func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsInput) (req *request.Request, output *DescribePlayerSessionsOutput) {
4610	op := &request.Operation{
4611		Name:       opDescribePlayerSessions,
4612		HTTPMethod: "POST",
4613		HTTPPath:   "/",
4614	}
4615
4616	if input == nil {
4617		input = &DescribePlayerSessionsInput{}
4618	}
4619
4620	output = &DescribePlayerSessionsOutput{}
4621	req = c.newRequest(op, input, output)
4622	return
4623}
4624
4625// DescribePlayerSessions API operation for Amazon GameLift.
4626//
4627// Retrieves properties for one or more player sessions. This action can be
4628// used in several ways: (1) provide a PlayerSessionId to request properties
4629// for a specific player session; (2) provide a GameSessionId to request properties
4630// for all player sessions in the specified game session; (3) provide a PlayerId
4631// to request properties for all player sessions of a specified player.
4632//
4633// To get game session record(s), specify only one of the following: a player
4634// session ID, a game session ID, or a player ID. You can filter this request
4635// by player session status. Use the pagination parameters to retrieve results
4636// as a set of sequential pages. If successful, a PlayerSession object is returned
4637// for each session matching the request.
4638//
4639// Available in Amazon GameLift Local.
4640//
4641// Player-session-related operations include:
4642//
4643//    * CreatePlayerSession
4644//
4645//    * CreatePlayerSessions
4646//
4647//    * DescribePlayerSessions
4648//
4649//    * Game session placements
4650//
4651// StartGameSessionPlacement
4652//
4653// DescribeGameSessionPlacement
4654//
4655// StopGameSessionPlacement
4656//
4657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4658// with awserr.Error's Code and Message methods to get detailed information about
4659// the error.
4660//
4661// See the AWS API reference guide for Amazon GameLift's
4662// API operation DescribePlayerSessions for usage and error information.
4663//
4664// Returned Error Codes:
4665//   * ErrCodeInternalServiceException "InternalServiceException"
4666//   The service encountered an unrecoverable internal failure while processing
4667//   the request. Clients can retry such requests immediately or after a waiting
4668//   period.
4669//
4670//   * ErrCodeNotFoundException "NotFoundException"
4671//   A service resource associated with the request could not be found. Clients
4672//   should not retry such requests.
4673//
4674//   * ErrCodeInvalidRequestException "InvalidRequestException"
4675//   One or more parameter values in the request are invalid. Correct the invalid
4676//   parameter values before retrying.
4677//
4678//   * ErrCodeUnauthorizedException "UnauthorizedException"
4679//   The client failed authentication. Clients should not retry such requests.
4680//
4681// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
4682func (c *GameLift) DescribePlayerSessions(input *DescribePlayerSessionsInput) (*DescribePlayerSessionsOutput, error) {
4683	req, out := c.DescribePlayerSessionsRequest(input)
4684	return out, req.Send()
4685}
4686
4687// DescribePlayerSessionsWithContext is the same as DescribePlayerSessions with the addition of
4688// the ability to pass a context and additional request options.
4689//
4690// See DescribePlayerSessions for details on how to use this API operation.
4691//
4692// The context must be non-nil and will be used for request cancellation. If
4693// the context is nil a panic will occur. In the future the SDK may create
4694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4695// for more information on using Contexts.
4696func (c *GameLift) DescribePlayerSessionsWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, opts ...request.Option) (*DescribePlayerSessionsOutput, error) {
4697	req, out := c.DescribePlayerSessionsRequest(input)
4698	req.SetContext(ctx)
4699	req.ApplyOptions(opts...)
4700	return out, req.Send()
4701}
4702
4703const opDescribeRuntimeConfiguration = "DescribeRuntimeConfiguration"
4704
4705// DescribeRuntimeConfigurationRequest generates a "aws/request.Request" representing the
4706// client's request for the DescribeRuntimeConfiguration operation. The "output" return
4707// value will be populated with the request's response once the request completes
4708// successfuly.
4709//
4710// Use "Send" method on the returned Request to send the API call to the service.
4711// the "output" return value is not valid until after Send returns without error.
4712//
4713// See DescribeRuntimeConfiguration for more information on using the DescribeRuntimeConfiguration
4714// API call, and error handling.
4715//
4716// This method is useful when you want to inject custom logic or configuration
4717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4718//
4719//
4720//    // Example sending a request using the DescribeRuntimeConfigurationRequest method.
4721//    req, resp := client.DescribeRuntimeConfigurationRequest(params)
4722//
4723//    err := req.Send()
4724//    if err == nil { // resp is now filled
4725//        fmt.Println(resp)
4726//    }
4727//
4728// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
4729func (c *GameLift) DescribeRuntimeConfigurationRequest(input *DescribeRuntimeConfigurationInput) (req *request.Request, output *DescribeRuntimeConfigurationOutput) {
4730	op := &request.Operation{
4731		Name:       opDescribeRuntimeConfiguration,
4732		HTTPMethod: "POST",
4733		HTTPPath:   "/",
4734	}
4735
4736	if input == nil {
4737		input = &DescribeRuntimeConfigurationInput{}
4738	}
4739
4740	output = &DescribeRuntimeConfigurationOutput{}
4741	req = c.newRequest(op, input, output)
4742	return
4743}
4744
4745// DescribeRuntimeConfiguration API operation for Amazon GameLift.
4746//
4747// Retrieves the current run-time configuration for the specified fleet. The
4748// run-time configuration tells Amazon GameLift how to launch server processes
4749// on instances in the fleet.
4750//
4751// Fleet-related operations include:
4752//
4753//    * CreateFleet
4754//
4755//    * ListFleets
4756//
4757//    * DeleteFleet
4758//
4759//    * Describe fleets:
4760//
4761// DescribeFleetAttributes
4762//
4763// DescribeFleetCapacity
4764//
4765// DescribeFleetPortSettings
4766//
4767// DescribeFleetUtilization
4768//
4769// DescribeRuntimeConfiguration
4770//
4771// DescribeEC2InstanceLimits
4772//
4773// DescribeFleetEvents
4774//
4775//    * Update fleets:
4776//
4777// UpdateFleetAttributes
4778//
4779// UpdateFleetCapacity
4780//
4781// UpdateFleetPortSettings
4782//
4783// UpdateRuntimeConfiguration
4784//
4785//    * Manage fleet actions:
4786//
4787// StartFleetActions
4788//
4789// StopFleetActions
4790//
4791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4792// with awserr.Error's Code and Message methods to get detailed information about
4793// the error.
4794//
4795// See the AWS API reference guide for Amazon GameLift's
4796// API operation DescribeRuntimeConfiguration for usage and error information.
4797//
4798// Returned Error Codes:
4799//   * ErrCodeUnauthorizedException "UnauthorizedException"
4800//   The client failed authentication. Clients should not retry such requests.
4801//
4802//   * ErrCodeNotFoundException "NotFoundException"
4803//   A service resource associated with the request could not be found. Clients
4804//   should not retry such requests.
4805//
4806//   * ErrCodeInternalServiceException "InternalServiceException"
4807//   The service encountered an unrecoverable internal failure while processing
4808//   the request. Clients can retry such requests immediately or after a waiting
4809//   period.
4810//
4811//   * ErrCodeInvalidRequestException "InvalidRequestException"
4812//   One or more parameter values in the request are invalid. Correct the invalid
4813//   parameter values before retrying.
4814//
4815// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
4816func (c *GameLift) DescribeRuntimeConfiguration(input *DescribeRuntimeConfigurationInput) (*DescribeRuntimeConfigurationOutput, error) {
4817	req, out := c.DescribeRuntimeConfigurationRequest(input)
4818	return out, req.Send()
4819}
4820
4821// DescribeRuntimeConfigurationWithContext is the same as DescribeRuntimeConfiguration with the addition of
4822// the ability to pass a context and additional request options.
4823//
4824// See DescribeRuntimeConfiguration for details on how to use this API operation.
4825//
4826// The context must be non-nil and will be used for request cancellation. If
4827// the context is nil a panic will occur. In the future the SDK may create
4828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4829// for more information on using Contexts.
4830func (c *GameLift) DescribeRuntimeConfigurationWithContext(ctx aws.Context, input *DescribeRuntimeConfigurationInput, opts ...request.Option) (*DescribeRuntimeConfigurationOutput, error) {
4831	req, out := c.DescribeRuntimeConfigurationRequest(input)
4832	req.SetContext(ctx)
4833	req.ApplyOptions(opts...)
4834	return out, req.Send()
4835}
4836
4837const opDescribeScalingPolicies = "DescribeScalingPolicies"
4838
4839// DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the
4840// client's request for the DescribeScalingPolicies operation. The "output" return
4841// value will be populated with the request's response once the request completes
4842// successfuly.
4843//
4844// Use "Send" method on the returned Request to send the API call to the service.
4845// the "output" return value is not valid until after Send returns without error.
4846//
4847// See DescribeScalingPolicies for more information on using the DescribeScalingPolicies
4848// API call, and error handling.
4849//
4850// This method is useful when you want to inject custom logic or configuration
4851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4852//
4853//
4854//    // Example sending a request using the DescribeScalingPoliciesRequest method.
4855//    req, resp := client.DescribeScalingPoliciesRequest(params)
4856//
4857//    err := req.Send()
4858//    if err == nil { // resp is now filled
4859//        fmt.Println(resp)
4860//    }
4861//
4862// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
4863func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPoliciesInput) (req *request.Request, output *DescribeScalingPoliciesOutput) {
4864	op := &request.Operation{
4865		Name:       opDescribeScalingPolicies,
4866		HTTPMethod: "POST",
4867		HTTPPath:   "/",
4868	}
4869
4870	if input == nil {
4871		input = &DescribeScalingPoliciesInput{}
4872	}
4873
4874	output = &DescribeScalingPoliciesOutput{}
4875	req = c.newRequest(op, input, output)
4876	return
4877}
4878
4879// DescribeScalingPolicies API operation for Amazon GameLift.
4880//
4881// Retrieves all scaling policies applied to a fleet.
4882//
4883// To get a fleet's scaling policies, specify the fleet ID. You can filter this
4884// request by policy status, such as to retrieve only active scaling policies.
4885// Use the pagination parameters to retrieve results as a set of sequential
4886// pages. If successful, set of ScalingPolicy objects is returned for the fleet.
4887//
4888// A fleet may have all of its scaling policies suspended (StopFleetActions).
4889// This action does not affect the status of the scaling policies, which remains
4890// ACTIVE. To see whether a fleet's scaling policies are in force or suspended,
4891// call DescribeFleetAttributes and check the stopped actions.
4892//
4893// Operations related to fleet capacity scaling include:
4894//
4895//    * DescribeFleetCapacity
4896//
4897//    * UpdateFleetCapacity
4898//
4899//    * DescribeEC2InstanceLimits
4900//
4901//    * Manage scaling policies:
4902//
4903// PutScalingPolicy (auto-scaling)
4904//
4905// DescribeScalingPolicies (auto-scaling)
4906//
4907// DeleteScalingPolicy (auto-scaling)
4908//
4909//    * Manage fleet actions:
4910//
4911// StartFleetActions
4912//
4913// StopFleetActions
4914//
4915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4916// with awserr.Error's Code and Message methods to get detailed information about
4917// the error.
4918//
4919// See the AWS API reference guide for Amazon GameLift's
4920// API operation DescribeScalingPolicies for usage and error information.
4921//
4922// Returned Error Codes:
4923//   * ErrCodeInternalServiceException "InternalServiceException"
4924//   The service encountered an unrecoverable internal failure while processing
4925//   the request. Clients can retry such requests immediately or after a waiting
4926//   period.
4927//
4928//   * ErrCodeInvalidRequestException "InvalidRequestException"
4929//   One or more parameter values in the request are invalid. Correct the invalid
4930//   parameter values before retrying.
4931//
4932//   * ErrCodeUnauthorizedException "UnauthorizedException"
4933//   The client failed authentication. Clients should not retry such requests.
4934//
4935//   * ErrCodeNotFoundException "NotFoundException"
4936//   A service resource associated with the request could not be found. Clients
4937//   should not retry such requests.
4938//
4939// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
4940func (c *GameLift) DescribeScalingPolicies(input *DescribeScalingPoliciesInput) (*DescribeScalingPoliciesOutput, error) {
4941	req, out := c.DescribeScalingPoliciesRequest(input)
4942	return out, req.Send()
4943}
4944
4945// DescribeScalingPoliciesWithContext is the same as DescribeScalingPolicies with the addition of
4946// the ability to pass a context and additional request options.
4947//
4948// See DescribeScalingPolicies for details on how to use this API operation.
4949//
4950// The context must be non-nil and will be used for request cancellation. If
4951// the context is nil a panic will occur. In the future the SDK may create
4952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4953// for more information on using Contexts.
4954func (c *GameLift) DescribeScalingPoliciesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, opts ...request.Option) (*DescribeScalingPoliciesOutput, error) {
4955	req, out := c.DescribeScalingPoliciesRequest(input)
4956	req.SetContext(ctx)
4957	req.ApplyOptions(opts...)
4958	return out, req.Send()
4959}
4960
4961const opDescribeVpcPeeringAuthorizations = "DescribeVpcPeeringAuthorizations"
4962
4963// DescribeVpcPeeringAuthorizationsRequest generates a "aws/request.Request" representing the
4964// client's request for the DescribeVpcPeeringAuthorizations operation. The "output" return
4965// value will be populated with the request's response once the request completes
4966// successfuly.
4967//
4968// Use "Send" method on the returned Request to send the API call to the service.
4969// the "output" return value is not valid until after Send returns without error.
4970//
4971// See DescribeVpcPeeringAuthorizations for more information on using the DescribeVpcPeeringAuthorizations
4972// API call, and error handling.
4973//
4974// This method is useful when you want to inject custom logic or configuration
4975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4976//
4977//
4978//    // Example sending a request using the DescribeVpcPeeringAuthorizationsRequest method.
4979//    req, resp := client.DescribeVpcPeeringAuthorizationsRequest(params)
4980//
4981//    err := req.Send()
4982//    if err == nil { // resp is now filled
4983//        fmt.Println(resp)
4984//    }
4985//
4986// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
4987func (c *GameLift) DescribeVpcPeeringAuthorizationsRequest(input *DescribeVpcPeeringAuthorizationsInput) (req *request.Request, output *DescribeVpcPeeringAuthorizationsOutput) {
4988	op := &request.Operation{
4989		Name:       opDescribeVpcPeeringAuthorizations,
4990		HTTPMethod: "POST",
4991		HTTPPath:   "/",
4992	}
4993
4994	if input == nil {
4995		input = &DescribeVpcPeeringAuthorizationsInput{}
4996	}
4997
4998	output = &DescribeVpcPeeringAuthorizationsOutput{}
4999	req = c.newRequest(op, input, output)
5000	return
5001}
5002
5003// DescribeVpcPeeringAuthorizations API operation for Amazon GameLift.
5004//
5005// Retrieves valid VPC peering authorizations that are pending for the AWS account.
5006// This operation returns all VPC peering authorizations and requests for peering.
5007// This includes those initiated and received by this account.
5008//
5009// VPC peering connection operations include:
5010//
5011//    * CreateVpcPeeringAuthorization
5012//
5013//    * DescribeVpcPeeringAuthorizations
5014//
5015//    * DeleteVpcPeeringAuthorization
5016//
5017//    * CreateVpcPeeringConnection
5018//
5019//    * DescribeVpcPeeringConnections
5020//
5021//    * DeleteVpcPeeringConnection
5022//
5023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5024// with awserr.Error's Code and Message methods to get detailed information about
5025// the error.
5026//
5027// See the AWS API reference guide for Amazon GameLift's
5028// API operation DescribeVpcPeeringAuthorizations for usage and error information.
5029//
5030// Returned Error Codes:
5031//   * ErrCodeUnauthorizedException "UnauthorizedException"
5032//   The client failed authentication. Clients should not retry such requests.
5033//
5034//   * ErrCodeInvalidRequestException "InvalidRequestException"
5035//   One or more parameter values in the request are invalid. Correct the invalid
5036//   parameter values before retrying.
5037//
5038//   * ErrCodeInternalServiceException "InternalServiceException"
5039//   The service encountered an unrecoverable internal failure while processing
5040//   the request. Clients can retry such requests immediately or after a waiting
5041//   period.
5042//
5043// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
5044func (c *GameLift) DescribeVpcPeeringAuthorizations(input *DescribeVpcPeeringAuthorizationsInput) (*DescribeVpcPeeringAuthorizationsOutput, error) {
5045	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
5046	return out, req.Send()
5047}
5048
5049// DescribeVpcPeeringAuthorizationsWithContext is the same as DescribeVpcPeeringAuthorizations with the addition of
5050// the ability to pass a context and additional request options.
5051//
5052// See DescribeVpcPeeringAuthorizations for details on how to use this API operation.
5053//
5054// The context must be non-nil and will be used for request cancellation. If
5055// the context is nil a panic will occur. In the future the SDK may create
5056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5057// for more information on using Contexts.
5058func (c *GameLift) DescribeVpcPeeringAuthorizationsWithContext(ctx aws.Context, input *DescribeVpcPeeringAuthorizationsInput, opts ...request.Option) (*DescribeVpcPeeringAuthorizationsOutput, error) {
5059	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
5060	req.SetContext(ctx)
5061	req.ApplyOptions(opts...)
5062	return out, req.Send()
5063}
5064
5065const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
5066
5067// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
5068// client's request for the DescribeVpcPeeringConnections operation. The "output" return
5069// value will be populated with the request's response once the request completes
5070// successfuly.
5071//
5072// Use "Send" method on the returned Request to send the API call to the service.
5073// the "output" return value is not valid until after Send returns without error.
5074//
5075// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
5076// API call, and error handling.
5077//
5078// This method is useful when you want to inject custom logic or configuration
5079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5080//
5081//
5082//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
5083//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
5084//
5085//    err := req.Send()
5086//    if err == nil { // resp is now filled
5087//        fmt.Println(resp)
5088//    }
5089//
5090// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
5091func (c *GameLift) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
5092	op := &request.Operation{
5093		Name:       opDescribeVpcPeeringConnections,
5094		HTTPMethod: "POST",
5095		HTTPPath:   "/",
5096	}
5097
5098	if input == nil {
5099		input = &DescribeVpcPeeringConnectionsInput{}
5100	}
5101
5102	output = &DescribeVpcPeeringConnectionsOutput{}
5103	req = c.newRequest(op, input, output)
5104	return
5105}
5106
5107// DescribeVpcPeeringConnections API operation for Amazon GameLift.
5108//
5109// Retrieves information on VPC peering connections. Use this operation to get
5110// peering information for all fleets or for one specific fleet ID.
5111//
5112// To retrieve connection information, call this operation from the AWS account
5113// that is used to manage the Amazon GameLift fleets. Specify a fleet ID or
5114// leave the parameter empty to retrieve all connection records. If successful,
5115// the retrieved information includes both active and pending connections. Active
5116// connections identify the IpV4 CIDR block that the VPC uses to connect.
5117//
5118// VPC peering connection operations include:
5119//
5120//    * CreateVpcPeeringAuthorization
5121//
5122//    * DescribeVpcPeeringAuthorizations
5123//
5124//    * DeleteVpcPeeringAuthorization
5125//
5126//    * CreateVpcPeeringConnection
5127//
5128//    * DescribeVpcPeeringConnections
5129//
5130//    * DeleteVpcPeeringConnection
5131//
5132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5133// with awserr.Error's Code and Message methods to get detailed information about
5134// the error.
5135//
5136// See the AWS API reference guide for Amazon GameLift's
5137// API operation DescribeVpcPeeringConnections for usage and error information.
5138//
5139// Returned Error Codes:
5140//   * ErrCodeUnauthorizedException "UnauthorizedException"
5141//   The client failed authentication. Clients should not retry such requests.
5142//
5143//   * ErrCodeInvalidRequestException "InvalidRequestException"
5144//   One or more parameter values in the request are invalid. Correct the invalid
5145//   parameter values before retrying.
5146//
5147//   * ErrCodeNotFoundException "NotFoundException"
5148//   A service resource associated with the request could not be found. Clients
5149//   should not retry such requests.
5150//
5151//   * ErrCodeInternalServiceException "InternalServiceException"
5152//   The service encountered an unrecoverable internal failure while processing
5153//   the request. Clients can retry such requests immediately or after a waiting
5154//   period.
5155//
5156// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
5157func (c *GameLift) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
5158	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
5159	return out, req.Send()
5160}
5161
5162// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
5163// the ability to pass a context and additional request options.
5164//
5165// See DescribeVpcPeeringConnections for details on how to use this API operation.
5166//
5167// The context must be non-nil and will be used for request cancellation. If
5168// the context is nil a panic will occur. In the future the SDK may create
5169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5170// for more information on using Contexts.
5171func (c *GameLift) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
5172	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
5173	req.SetContext(ctx)
5174	req.ApplyOptions(opts...)
5175	return out, req.Send()
5176}
5177
5178const opGetGameSessionLogUrl = "GetGameSessionLogUrl"
5179
5180// GetGameSessionLogUrlRequest generates a "aws/request.Request" representing the
5181// client's request for the GetGameSessionLogUrl operation. The "output" return
5182// value will be populated with the request's response once the request completes
5183// successfuly.
5184//
5185// Use "Send" method on the returned Request to send the API call to the service.
5186// the "output" return value is not valid until after Send returns without error.
5187//
5188// See GetGameSessionLogUrl for more information on using the GetGameSessionLogUrl
5189// API call, and error handling.
5190//
5191// This method is useful when you want to inject custom logic or configuration
5192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5193//
5194//
5195//    // Example sending a request using the GetGameSessionLogUrlRequest method.
5196//    req, resp := client.GetGameSessionLogUrlRequest(params)
5197//
5198//    err := req.Send()
5199//    if err == nil { // resp is now filled
5200//        fmt.Println(resp)
5201//    }
5202//
5203// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
5204func (c *GameLift) GetGameSessionLogUrlRequest(input *GetGameSessionLogUrlInput) (req *request.Request, output *GetGameSessionLogUrlOutput) {
5205	op := &request.Operation{
5206		Name:       opGetGameSessionLogUrl,
5207		HTTPMethod: "POST",
5208		HTTPPath:   "/",
5209	}
5210
5211	if input == nil {
5212		input = &GetGameSessionLogUrlInput{}
5213	}
5214
5215	output = &GetGameSessionLogUrlOutput{}
5216	req = c.newRequest(op, input, output)
5217	return
5218}
5219
5220// GetGameSessionLogUrl API operation for Amazon GameLift.
5221//
5222// Retrieves the location of stored game session logs for a specified game session.
5223// When a game session is terminated, Amazon GameLift automatically stores the
5224// logs in Amazon S3 and retains them for 14 days. Use this URL to download
5225// the logs.
5226//
5227// See the AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift)
5228// page for maximum log file sizes. Log files that exceed this limit are not
5229// saved.
5230//
5231// Game-session-related operations include:
5232//
5233//    * CreateGameSession
5234//
5235//    * DescribeGameSessions
5236//
5237//    * DescribeGameSessionDetails
5238//
5239//    * SearchGameSessions
5240//
5241//    * UpdateGameSession
5242//
5243//    * GetGameSessionLogUrl
5244//
5245//    * Game session placements
5246//
5247// StartGameSessionPlacement
5248//
5249// DescribeGameSessionPlacement
5250//
5251// StopGameSessionPlacement
5252//
5253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5254// with awserr.Error's Code and Message methods to get detailed information about
5255// the error.
5256//
5257// See the AWS API reference guide for Amazon GameLift's
5258// API operation GetGameSessionLogUrl for usage and error information.
5259//
5260// Returned Error Codes:
5261//   * ErrCodeInternalServiceException "InternalServiceException"
5262//   The service encountered an unrecoverable internal failure while processing
5263//   the request. Clients can retry such requests immediately or after a waiting
5264//   period.
5265//
5266//   * ErrCodeNotFoundException "NotFoundException"
5267//   A service resource associated with the request could not be found. Clients
5268//   should not retry such requests.
5269//
5270//   * ErrCodeUnauthorizedException "UnauthorizedException"
5271//   The client failed authentication. Clients should not retry such requests.
5272//
5273//   * ErrCodeInvalidRequestException "InvalidRequestException"
5274//   One or more parameter values in the request are invalid. Correct the invalid
5275//   parameter values before retrying.
5276//
5277// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
5278func (c *GameLift) GetGameSessionLogUrl(input *GetGameSessionLogUrlInput) (*GetGameSessionLogUrlOutput, error) {
5279	req, out := c.GetGameSessionLogUrlRequest(input)
5280	return out, req.Send()
5281}
5282
5283// GetGameSessionLogUrlWithContext is the same as GetGameSessionLogUrl with the addition of
5284// the ability to pass a context and additional request options.
5285//
5286// See GetGameSessionLogUrl for details on how to use this API operation.
5287//
5288// The context must be non-nil and will be used for request cancellation. If
5289// the context is nil a panic will occur. In the future the SDK may create
5290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5291// for more information on using Contexts.
5292func (c *GameLift) GetGameSessionLogUrlWithContext(ctx aws.Context, input *GetGameSessionLogUrlInput, opts ...request.Option) (*GetGameSessionLogUrlOutput, error) {
5293	req, out := c.GetGameSessionLogUrlRequest(input)
5294	req.SetContext(ctx)
5295	req.ApplyOptions(opts...)
5296	return out, req.Send()
5297}
5298
5299const opGetInstanceAccess = "GetInstanceAccess"
5300
5301// GetInstanceAccessRequest generates a "aws/request.Request" representing the
5302// client's request for the GetInstanceAccess operation. The "output" return
5303// value will be populated with the request's response once the request completes
5304// successfuly.
5305//
5306// Use "Send" method on the returned Request to send the API call to the service.
5307// the "output" return value is not valid until after Send returns without error.
5308//
5309// See GetInstanceAccess for more information on using the GetInstanceAccess
5310// API call, and error handling.
5311//
5312// This method is useful when you want to inject custom logic or configuration
5313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5314//
5315//
5316//    // Example sending a request using the GetInstanceAccessRequest method.
5317//    req, resp := client.GetInstanceAccessRequest(params)
5318//
5319//    err := req.Send()
5320//    if err == nil { // resp is now filled
5321//        fmt.Println(resp)
5322//    }
5323//
5324// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
5325func (c *GameLift) GetInstanceAccessRequest(input *GetInstanceAccessInput) (req *request.Request, output *GetInstanceAccessOutput) {
5326	op := &request.Operation{
5327		Name:       opGetInstanceAccess,
5328		HTTPMethod: "POST",
5329		HTTPPath:   "/",
5330	}
5331
5332	if input == nil {
5333		input = &GetInstanceAccessInput{}
5334	}
5335
5336	output = &GetInstanceAccessOutput{}
5337	req = c.newRequest(op, input, output)
5338	return
5339}
5340
5341// GetInstanceAccess API operation for Amazon GameLift.
5342//
5343// Requests remote access to a fleet instance. Remote access is useful for debugging,
5344// gathering benchmarking data, or watching activity in real time.
5345//
5346// Access requires credentials that match the operating system of the instance.
5347// For a Windows instance, Amazon GameLift returns a user name and password
5348// as strings for use with a Windows Remote Desktop client. For a Linux instance,
5349// Amazon GameLift returns a user name and RSA private key, also as strings,
5350// for use with an SSH client. The private key must be saved in the proper format
5351// to a .pem file before using. If you're making this request using the AWS
5352// CLI, saving the secret can be handled as part of the GetInstanceAccess request.
5353// (See the example later in this topic). For more information on remote access,
5354// see Remotely Accessing an Instance (http://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html).
5355//
5356// To request access to a specific instance, specify the IDs of the instance
5357// and the fleet it belongs to. If successful, an InstanceAccess object is returned
5358// containing the instance's IP address and a set of credentials.
5359//
5360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5361// with awserr.Error's Code and Message methods to get detailed information about
5362// the error.
5363//
5364// See the AWS API reference guide for Amazon GameLift's
5365// API operation GetInstanceAccess for usage and error information.
5366//
5367// Returned Error Codes:
5368//   * ErrCodeUnauthorizedException "UnauthorizedException"
5369//   The client failed authentication. Clients should not retry such requests.
5370//
5371//   * ErrCodeInvalidRequestException "InvalidRequestException"
5372//   One or more parameter values in the request are invalid. Correct the invalid
5373//   parameter values before retrying.
5374//
5375//   * ErrCodeNotFoundException "NotFoundException"
5376//   A service resource associated with the request could not be found. Clients
5377//   should not retry such requests.
5378//
5379//   * ErrCodeInternalServiceException "InternalServiceException"
5380//   The service encountered an unrecoverable internal failure while processing
5381//   the request. Clients can retry such requests immediately or after a waiting
5382//   period.
5383//
5384// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
5385func (c *GameLift) GetInstanceAccess(input *GetInstanceAccessInput) (*GetInstanceAccessOutput, error) {
5386	req, out := c.GetInstanceAccessRequest(input)
5387	return out, req.Send()
5388}
5389
5390// GetInstanceAccessWithContext is the same as GetInstanceAccess with the addition of
5391// the ability to pass a context and additional request options.
5392//
5393// See GetInstanceAccess for details on how to use this API operation.
5394//
5395// The context must be non-nil and will be used for request cancellation. If
5396// the context is nil a panic will occur. In the future the SDK may create
5397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5398// for more information on using Contexts.
5399func (c *GameLift) GetInstanceAccessWithContext(ctx aws.Context, input *GetInstanceAccessInput, opts ...request.Option) (*GetInstanceAccessOutput, error) {
5400	req, out := c.GetInstanceAccessRequest(input)
5401	req.SetContext(ctx)
5402	req.ApplyOptions(opts...)
5403	return out, req.Send()
5404}
5405
5406const opListAliases = "ListAliases"
5407
5408// ListAliasesRequest generates a "aws/request.Request" representing the
5409// client's request for the ListAliases operation. The "output" return
5410// value will be populated with the request's response once the request completes
5411// successfuly.
5412//
5413// Use "Send" method on the returned Request to send the API call to the service.
5414// the "output" return value is not valid until after Send returns without error.
5415//
5416// See ListAliases for more information on using the ListAliases
5417// API call, and error handling.
5418//
5419// This method is useful when you want to inject custom logic or configuration
5420// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5421//
5422//
5423//    // Example sending a request using the ListAliasesRequest method.
5424//    req, resp := client.ListAliasesRequest(params)
5425//
5426//    err := req.Send()
5427//    if err == nil { // resp is now filled
5428//        fmt.Println(resp)
5429//    }
5430//
5431// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
5432func (c *GameLift) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) {
5433	op := &request.Operation{
5434		Name:       opListAliases,
5435		HTTPMethod: "POST",
5436		HTTPPath:   "/",
5437	}
5438
5439	if input == nil {
5440		input = &ListAliasesInput{}
5441	}
5442
5443	output = &ListAliasesOutput{}
5444	req = c.newRequest(op, input, output)
5445	return
5446}
5447
5448// ListAliases API operation for Amazon GameLift.
5449//
5450// Retrieves all aliases for this AWS account. You can filter the result set
5451// by alias name and/or routing strategy type. Use the pagination parameters
5452// to retrieve results in sequential pages.
5453//
5454// Returned aliases are not listed in any particular order.
5455//
5456// Alias-related operations include:
5457//
5458//    * CreateAlias
5459//
5460//    * ListAliases
5461//
5462//    * DescribeAlias
5463//
5464//    * UpdateAlias
5465//
5466//    * DeleteAlias
5467//
5468//    * ResolveAlias
5469//
5470// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5471// with awserr.Error's Code and Message methods to get detailed information about
5472// the error.
5473//
5474// See the AWS API reference guide for Amazon GameLift's
5475// API operation ListAliases for usage and error information.
5476//
5477// Returned Error Codes:
5478//   * ErrCodeUnauthorizedException "UnauthorizedException"
5479//   The client failed authentication. Clients should not retry such requests.
5480//
5481//   * ErrCodeInvalidRequestException "InvalidRequestException"
5482//   One or more parameter values in the request are invalid. Correct the invalid
5483//   parameter values before retrying.
5484//
5485//   * ErrCodeInternalServiceException "InternalServiceException"
5486//   The service encountered an unrecoverable internal failure while processing
5487//   the request. Clients can retry such requests immediately or after a waiting
5488//   period.
5489//
5490// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
5491func (c *GameLift) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) {
5492	req, out := c.ListAliasesRequest(input)
5493	return out, req.Send()
5494}
5495
5496// ListAliasesWithContext is the same as ListAliases with the addition of
5497// the ability to pass a context and additional request options.
5498//
5499// See ListAliases for details on how to use this API operation.
5500//
5501// The context must be non-nil and will be used for request cancellation. If
5502// the context is nil a panic will occur. In the future the SDK may create
5503// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5504// for more information on using Contexts.
5505func (c *GameLift) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInput, opts ...request.Option) (*ListAliasesOutput, error) {
5506	req, out := c.ListAliasesRequest(input)
5507	req.SetContext(ctx)
5508	req.ApplyOptions(opts...)
5509	return out, req.Send()
5510}
5511
5512const opListBuilds = "ListBuilds"
5513
5514// ListBuildsRequest generates a "aws/request.Request" representing the
5515// client's request for the ListBuilds operation. The "output" return
5516// value will be populated with the request's response once the request completes
5517// successfuly.
5518//
5519// Use "Send" method on the returned Request to send the API call to the service.
5520// the "output" return value is not valid until after Send returns without error.
5521//
5522// See ListBuilds for more information on using the ListBuilds
5523// API call, and error handling.
5524//
5525// This method is useful when you want to inject custom logic or configuration
5526// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5527//
5528//
5529//    // Example sending a request using the ListBuildsRequest method.
5530//    req, resp := client.ListBuildsRequest(params)
5531//
5532//    err := req.Send()
5533//    if err == nil { // resp is now filled
5534//        fmt.Println(resp)
5535//    }
5536//
5537// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
5538func (c *GameLift) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) {
5539	op := &request.Operation{
5540		Name:       opListBuilds,
5541		HTTPMethod: "POST",
5542		HTTPPath:   "/",
5543	}
5544
5545	if input == nil {
5546		input = &ListBuildsInput{}
5547	}
5548
5549	output = &ListBuildsOutput{}
5550	req = c.newRequest(op, input, output)
5551	return
5552}
5553
5554// ListBuilds API operation for Amazon GameLift.
5555//
5556// Retrieves build records for all builds associated with the AWS account in
5557// use. You can limit results to builds that are in a specific status by using
5558// the Status parameter. Use the pagination parameters to retrieve results in
5559// a set of sequential pages.
5560//
5561// Build records are not listed in any particular order.
5562//
5563// Build-related operations include:
5564//
5565//    * CreateBuild
5566//
5567//    * ListBuilds
5568//
5569//    * DescribeBuild
5570//
5571//    * UpdateBuild
5572//
5573//    * DeleteBuild
5574//
5575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5576// with awserr.Error's Code and Message methods to get detailed information about
5577// the error.
5578//
5579// See the AWS API reference guide for Amazon GameLift's
5580// API operation ListBuilds for usage and error information.
5581//
5582// Returned Error Codes:
5583//   * ErrCodeUnauthorizedException "UnauthorizedException"
5584//   The client failed authentication. Clients should not retry such requests.
5585//
5586//   * ErrCodeInvalidRequestException "InvalidRequestException"
5587//   One or more parameter values in the request are invalid. Correct the invalid
5588//   parameter values before retrying.
5589//
5590//   * ErrCodeInternalServiceException "InternalServiceException"
5591//   The service encountered an unrecoverable internal failure while processing
5592//   the request. Clients can retry such requests immediately or after a waiting
5593//   period.
5594//
5595// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
5596func (c *GameLift) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) {
5597	req, out := c.ListBuildsRequest(input)
5598	return out, req.Send()
5599}
5600
5601// ListBuildsWithContext is the same as ListBuilds with the addition of
5602// the ability to pass a context and additional request options.
5603//
5604// See ListBuilds for details on how to use this API operation.
5605//
5606// The context must be non-nil and will be used for request cancellation. If
5607// the context is nil a panic will occur. In the future the SDK may create
5608// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5609// for more information on using Contexts.
5610func (c *GameLift) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) {
5611	req, out := c.ListBuildsRequest(input)
5612	req.SetContext(ctx)
5613	req.ApplyOptions(opts...)
5614	return out, req.Send()
5615}
5616
5617const opListFleets = "ListFleets"
5618
5619// ListFleetsRequest generates a "aws/request.Request" representing the
5620// client's request for the ListFleets operation. The "output" return
5621// value will be populated with the request's response once the request completes
5622// successfuly.
5623//
5624// Use "Send" method on the returned Request to send the API call to the service.
5625// the "output" return value is not valid until after Send returns without error.
5626//
5627// See ListFleets for more information on using the ListFleets
5628// API call, and error handling.
5629//
5630// This method is useful when you want to inject custom logic or configuration
5631// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5632//
5633//
5634//    // Example sending a request using the ListFleetsRequest method.
5635//    req, resp := client.ListFleetsRequest(params)
5636//
5637//    err := req.Send()
5638//    if err == nil { // resp is now filled
5639//        fmt.Println(resp)
5640//    }
5641//
5642// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
5643func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
5644	op := &request.Operation{
5645		Name:       opListFleets,
5646		HTTPMethod: "POST",
5647		HTTPPath:   "/",
5648	}
5649
5650	if input == nil {
5651		input = &ListFleetsInput{}
5652	}
5653
5654	output = &ListFleetsOutput{}
5655	req = c.newRequest(op, input, output)
5656	return
5657}
5658
5659// ListFleets API operation for Amazon GameLift.
5660//
5661// Retrieves a collection of fleet records for this AWS account. You can filter
5662// the result set by build ID. Use the pagination parameters to retrieve results
5663// in sequential pages.
5664//
5665// Fleet records are not listed in any particular order.
5666//
5667// Fleet-related operations include:
5668//
5669//    * CreateFleet
5670//
5671//    * ListFleets
5672//
5673//    * DeleteFleet
5674//
5675//    * Describe fleets:
5676//
5677// DescribeFleetAttributes
5678//
5679// DescribeFleetCapacity
5680//
5681// DescribeFleetPortSettings
5682//
5683// DescribeFleetUtilization
5684//
5685// DescribeRuntimeConfiguration
5686//
5687// DescribeEC2InstanceLimits
5688//
5689// DescribeFleetEvents
5690//
5691//    * Update fleets:
5692//
5693// UpdateFleetAttributes
5694//
5695// UpdateFleetCapacity
5696//
5697// UpdateFleetPortSettings
5698//
5699// UpdateRuntimeConfiguration
5700//
5701//    * Manage fleet actions:
5702//
5703// StartFleetActions
5704//
5705// StopFleetActions
5706//
5707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5708// with awserr.Error's Code and Message methods to get detailed information about
5709// the error.
5710//
5711// See the AWS API reference guide for Amazon GameLift's
5712// API operation ListFleets for usage and error information.
5713//
5714// Returned Error Codes:
5715//   * ErrCodeInternalServiceException "InternalServiceException"
5716//   The service encountered an unrecoverable internal failure while processing
5717//   the request. Clients can retry such requests immediately or after a waiting
5718//   period.
5719//
5720//   * ErrCodeNotFoundException "NotFoundException"
5721//   A service resource associated with the request could not be found. Clients
5722//   should not retry such requests.
5723//
5724//   * ErrCodeInvalidRequestException "InvalidRequestException"
5725//   One or more parameter values in the request are invalid. Correct the invalid
5726//   parameter values before retrying.
5727//
5728//   * ErrCodeUnauthorizedException "UnauthorizedException"
5729//   The client failed authentication. Clients should not retry such requests.
5730//
5731// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
5732func (c *GameLift) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
5733	req, out := c.ListFleetsRequest(input)
5734	return out, req.Send()
5735}
5736
5737// ListFleetsWithContext is the same as ListFleets with the addition of
5738// the ability to pass a context and additional request options.
5739//
5740// See ListFleets for details on how to use this API operation.
5741//
5742// The context must be non-nil and will be used for request cancellation. If
5743// the context is nil a panic will occur. In the future the SDK may create
5744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5745// for more information on using Contexts.
5746func (c *GameLift) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
5747	req, out := c.ListFleetsRequest(input)
5748	req.SetContext(ctx)
5749	req.ApplyOptions(opts...)
5750	return out, req.Send()
5751}
5752
5753const opPutScalingPolicy = "PutScalingPolicy"
5754
5755// PutScalingPolicyRequest generates a "aws/request.Request" representing the
5756// client's request for the PutScalingPolicy operation. The "output" return
5757// value will be populated with the request's response once the request completes
5758// successfuly.
5759//
5760// Use "Send" method on the returned Request to send the API call to the service.
5761// the "output" return value is not valid until after Send returns without error.
5762//
5763// See PutScalingPolicy for more information on using the PutScalingPolicy
5764// API call, and error handling.
5765//
5766// This method is useful when you want to inject custom logic or configuration
5767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5768//
5769//
5770//    // Example sending a request using the PutScalingPolicyRequest method.
5771//    req, resp := client.PutScalingPolicyRequest(params)
5772//
5773//    err := req.Send()
5774//    if err == nil { // resp is now filled
5775//        fmt.Println(resp)
5776//    }
5777//
5778// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
5779func (c *GameLift) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) {
5780	op := &request.Operation{
5781		Name:       opPutScalingPolicy,
5782		HTTPMethod: "POST",
5783		HTTPPath:   "/",
5784	}
5785
5786	if input == nil {
5787		input = &PutScalingPolicyInput{}
5788	}
5789
5790	output = &PutScalingPolicyOutput{}
5791	req = c.newRequest(op, input, output)
5792	return
5793}
5794
5795// PutScalingPolicy API operation for Amazon GameLift.
5796//
5797// Creates or updates a scaling policy for a fleet. Scaling policies are used
5798// to automatically scale a fleet's hosting capacity to meet player demand.
5799// An active scaling policy instructs Amazon GameLift to track a fleet metric
5800// and automatically change the fleet's capacity when a certain threshold is
5801// reached. There are two types of scaling policies: target-based and rule-based.
5802// Use a target-based policy to quickly and efficiently manage fleet scaling;
5803// this option is the most commonly used. Use rule-based policies when you need
5804// to exert fine-grained control over auto-scaling.
5805//
5806// Fleets can have multiple scaling policies of each type in force at the same
5807// time; you can have one target-based policy, one or multiple rule-based scaling
5808// policies, or both. We recommend caution, however, because multiple auto-scaling
5809// policies can have unintended consequences.
5810//
5811// You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions
5812// with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions
5813// with the same fleet action. To stop just one scaling policy--or to permanently
5814// remove it, you must delete the policy with DeleteScalingPolicy.
5815//
5816// Learn more about how to work with auto-scaling in Set Up Fleet Automatic
5817// Scaling (http://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html).
5818//
5819// Target-based policy
5820//
5821// A target-based policy tracks a single metric: PercentAvailableGameSessions.
5822// This metric tells us how much of a fleet's hosting capacity is ready to host
5823// game sessions but is not currently in use. This is the fleet's buffer; it
5824// measures the additional player demand that the fleet could handle at current
5825// capacity. With a target-based policy, you set your ideal buffer size and
5826// leave it to Amazon GameLift to take whatever action is needed to maintain
5827// that target.
5828//
5829// For example, you might choose to maintain a 10% buffer for a fleet that has
5830// the capacity to host 100 simultaneous game sessions. This policy tells Amazon
5831// GameLift to take action whenever the fleet's available capacity falls below
5832// or rises above 10 game sessions. Amazon GameLift will start new instances
5833// or stop unused instances in order to return to the 10% buffer.
5834//
5835// To create or update a target-based policy, specify a fleet ID and name, and
5836// set the policy type to "TargetBased". Specify the metric to track (PercentAvailableGameSessions)
5837// and reference a TargetConfiguration object with your desired buffer value.
5838// Exclude all other parameters. On a successful request, the policy name is
5839// returned. The scaling policy is automatically in force as soon as it's successfully
5840// created. If the fleet's auto-scaling actions are temporarily suspended, the
5841// new policy will be in force once the fleet actions are restarted.
5842//
5843// Rule-based policy
5844//
5845// A rule-based policy tracks specified fleet metric, sets a threshold value,
5846// and specifies the type of action to initiate when triggered. With a rule-based
5847// policy, you can select from several available fleet metrics. Each policy
5848// specifies whether to scale up or scale down (and by how much), so you need
5849// one policy for each type of action.
5850//
5851// For example, a policy may make the following statement: "If the percentage
5852// of idle instances is greater than 20% for more than 15 minutes, then reduce
5853// the fleet capacity by 10%."
5854//
5855// A policy's rule statement has the following structure:
5856//
5857// If [MetricName] is [ComparisonOperator][Threshold] for [EvaluationPeriods]
5858// minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].
5859//
5860// To implement the example, the rule statement would look like this:
5861//
5862// If [PercentIdleInstances] is [GreaterThanThreshold][20] for [15] minutes,
5863// then [PercentChangeInCapacity] to/by [10].
5864//
5865// To create or update a scaling policy, specify a unique combination of name
5866// and fleet ID, and set the policy type to "RuleBased". Specify the parameter
5867// values for a policy rule statement. On a successful request, the policy name
5868// is returned. Scaling policies are automatically in force as soon as they're
5869// successfully created. If the fleet's auto-scaling actions are temporarily
5870// suspended, the new policy will be in force once the fleet actions are restarted.
5871//
5872// Operations related to fleet capacity scaling include:
5873//
5874//    * DescribeFleetCapacity
5875//
5876//    * UpdateFleetCapacity
5877//
5878//    * DescribeEC2InstanceLimits
5879//
5880//    * Manage scaling policies:
5881//
5882// PutScalingPolicy (auto-scaling)
5883//
5884// DescribeScalingPolicies (auto-scaling)
5885//
5886// DeleteScalingPolicy (auto-scaling)
5887//
5888//    * Manage fleet actions:
5889//
5890// StartFleetActions
5891//
5892// StopFleetActions
5893//
5894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5895// with awserr.Error's Code and Message methods to get detailed information about
5896// the error.
5897//
5898// See the AWS API reference guide for Amazon GameLift's
5899// API operation PutScalingPolicy for usage and error information.
5900//
5901// Returned Error Codes:
5902//   * ErrCodeInternalServiceException "InternalServiceException"
5903//   The service encountered an unrecoverable internal failure while processing
5904//   the request. Clients can retry such requests immediately or after a waiting
5905//   period.
5906//
5907//   * ErrCodeInvalidRequestException "InvalidRequestException"
5908//   One or more parameter values in the request are invalid. Correct the invalid
5909//   parameter values before retrying.
5910//
5911//   * ErrCodeUnauthorizedException "UnauthorizedException"
5912//   The client failed authentication. Clients should not retry such requests.
5913//
5914//   * ErrCodeNotFoundException "NotFoundException"
5915//   A service resource associated with the request could not be found. Clients
5916//   should not retry such requests.
5917//
5918// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
5919func (c *GameLift) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) {
5920	req, out := c.PutScalingPolicyRequest(input)
5921	return out, req.Send()
5922}
5923
5924// PutScalingPolicyWithContext is the same as PutScalingPolicy with the addition of
5925// the ability to pass a context and additional request options.
5926//
5927// See PutScalingPolicy for details on how to use this API operation.
5928//
5929// The context must be non-nil and will be used for request cancellation. If
5930// the context is nil a panic will occur. In the future the SDK may create
5931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5932// for more information on using Contexts.
5933func (c *GameLift) PutScalingPolicyWithContext(ctx aws.Context, input *PutScalingPolicyInput, opts ...request.Option) (*PutScalingPolicyOutput, error) {
5934	req, out := c.PutScalingPolicyRequest(input)
5935	req.SetContext(ctx)
5936	req.ApplyOptions(opts...)
5937	return out, req.Send()
5938}
5939
5940const opRequestUploadCredentials = "RequestUploadCredentials"
5941
5942// RequestUploadCredentialsRequest generates a "aws/request.Request" representing the
5943// client's request for the RequestUploadCredentials operation. The "output" return
5944// value will be populated with the request's response once the request completes
5945// successfuly.
5946//
5947// Use "Send" method on the returned Request to send the API call to the service.
5948// the "output" return value is not valid until after Send returns without error.
5949//
5950// See RequestUploadCredentials for more information on using the RequestUploadCredentials
5951// API call, and error handling.
5952//
5953// This method is useful when you want to inject custom logic or configuration
5954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5955//
5956//
5957//    // Example sending a request using the RequestUploadCredentialsRequest method.
5958//    req, resp := client.RequestUploadCredentialsRequest(params)
5959//
5960//    err := req.Send()
5961//    if err == nil { // resp is now filled
5962//        fmt.Println(resp)
5963//    }
5964//
5965// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
5966func (c *GameLift) RequestUploadCredentialsRequest(input *RequestUploadCredentialsInput) (req *request.Request, output *RequestUploadCredentialsOutput) {
5967	op := &request.Operation{
5968		Name:       opRequestUploadCredentials,
5969		HTTPMethod: "POST",
5970		HTTPPath:   "/",
5971	}
5972
5973	if input == nil {
5974		input = &RequestUploadCredentialsInput{}
5975	}
5976
5977	output = &RequestUploadCredentialsOutput{}
5978	req = c.newRequest(op, input, output)
5979	return
5980}
5981
5982// RequestUploadCredentials API operation for Amazon GameLift.
5983//
5984// Retrieves a fresh set of credentials for use when uploading a new set of
5985// game build files to Amazon GameLift's Amazon S3. This is done as part of
5986// the build creation process; see CreateBuild.
5987//
5988// To request new credentials, specify the build ID as returned with an initial
5989// CreateBuild request. If successful, a new set of credentials are returned,
5990// along with the S3 storage location associated with the build ID.
5991//
5992// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5993// with awserr.Error's Code and Message methods to get detailed information about
5994// the error.
5995//
5996// See the AWS API reference guide for Amazon GameLift's
5997// API operation RequestUploadCredentials for usage and error information.
5998//
5999// Returned Error Codes:
6000//   * ErrCodeUnauthorizedException "UnauthorizedException"
6001//   The client failed authentication. Clients should not retry such requests.
6002//
6003//   * ErrCodeInvalidRequestException "InvalidRequestException"
6004//   One or more parameter values in the request are invalid. Correct the invalid
6005//   parameter values before retrying.
6006//
6007//   * ErrCodeNotFoundException "NotFoundException"
6008//   A service resource associated with the request could not be found. Clients
6009//   should not retry such requests.
6010//
6011//   * ErrCodeInternalServiceException "InternalServiceException"
6012//   The service encountered an unrecoverable internal failure while processing
6013//   the request. Clients can retry such requests immediately or after a waiting
6014//   period.
6015//
6016// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
6017func (c *GameLift) RequestUploadCredentials(input *RequestUploadCredentialsInput) (*RequestUploadCredentialsOutput, error) {
6018	req, out := c.RequestUploadCredentialsRequest(input)
6019	return out, req.Send()
6020}
6021
6022// RequestUploadCredentialsWithContext is the same as RequestUploadCredentials with the addition of
6023// the ability to pass a context and additional request options.
6024//
6025// See RequestUploadCredentials for details on how to use this API operation.
6026//
6027// The context must be non-nil and will be used for request cancellation. If
6028// the context is nil a panic will occur. In the future the SDK may create
6029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6030// for more information on using Contexts.
6031func (c *GameLift) RequestUploadCredentialsWithContext(ctx aws.Context, input *RequestUploadCredentialsInput, opts ...request.Option) (*RequestUploadCredentialsOutput, error) {
6032	req, out := c.RequestUploadCredentialsRequest(input)
6033	req.SetContext(ctx)
6034	req.ApplyOptions(opts...)
6035	return out, req.Send()
6036}
6037
6038const opResolveAlias = "ResolveAlias"
6039
6040// ResolveAliasRequest generates a "aws/request.Request" representing the
6041// client's request for the ResolveAlias operation. The "output" return
6042// value will be populated with the request's response once the request completes
6043// successfuly.
6044//
6045// Use "Send" method on the returned Request to send the API call to the service.
6046// the "output" return value is not valid until after Send returns without error.
6047//
6048// See ResolveAlias for more information on using the ResolveAlias
6049// API call, and error handling.
6050//
6051// This method is useful when you want to inject custom logic or configuration
6052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6053//
6054//
6055//    // Example sending a request using the ResolveAliasRequest method.
6056//    req, resp := client.ResolveAliasRequest(params)
6057//
6058//    err := req.Send()
6059//    if err == nil { // resp is now filled
6060//        fmt.Println(resp)
6061//    }
6062//
6063// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
6064func (c *GameLift) ResolveAliasRequest(input *ResolveAliasInput) (req *request.Request, output *ResolveAliasOutput) {
6065	op := &request.Operation{
6066		Name:       opResolveAlias,
6067		HTTPMethod: "POST",
6068		HTTPPath:   "/",
6069	}
6070
6071	if input == nil {
6072		input = &ResolveAliasInput{}
6073	}
6074
6075	output = &ResolveAliasOutput{}
6076	req = c.newRequest(op, input, output)
6077	return
6078}
6079
6080// ResolveAlias API operation for Amazon GameLift.
6081//
6082// Retrieves the fleet ID that a specified alias is currently pointing to.
6083//
6084// Alias-related operations include:
6085//
6086//    * CreateAlias
6087//
6088//    * ListAliases
6089//
6090//    * DescribeAlias
6091//
6092//    * UpdateAlias
6093//
6094//    * DeleteAlias
6095//
6096//    * ResolveAlias
6097//
6098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6099// with awserr.Error's Code and Message methods to get detailed information about
6100// the error.
6101//
6102// See the AWS API reference guide for Amazon GameLift's
6103// API operation ResolveAlias for usage and error information.
6104//
6105// Returned Error Codes:
6106//   * ErrCodeUnauthorizedException "UnauthorizedException"
6107//   The client failed authentication. Clients should not retry such requests.
6108//
6109//   * ErrCodeInvalidRequestException "InvalidRequestException"
6110//   One or more parameter values in the request are invalid. Correct the invalid
6111//   parameter values before retrying.
6112//
6113//   * ErrCodeNotFoundException "NotFoundException"
6114//   A service resource associated with the request could not be found. Clients
6115//   should not retry such requests.
6116//
6117//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
6118//   The service is unable to resolve the routing for a particular alias because
6119//   it has a terminal RoutingStrategy associated with it. The message returned
6120//   in this exception is the message defined in the routing strategy itself.
6121//   Such requests should only be retried if the routing strategy for the specified
6122//   alias is modified.
6123//
6124//   * ErrCodeInternalServiceException "InternalServiceException"
6125//   The service encountered an unrecoverable internal failure while processing
6126//   the request. Clients can retry such requests immediately or after a waiting
6127//   period.
6128//
6129// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
6130func (c *GameLift) ResolveAlias(input *ResolveAliasInput) (*ResolveAliasOutput, error) {
6131	req, out := c.ResolveAliasRequest(input)
6132	return out, req.Send()
6133}
6134
6135// ResolveAliasWithContext is the same as ResolveAlias with the addition of
6136// the ability to pass a context and additional request options.
6137//
6138// See ResolveAlias for details on how to use this API operation.
6139//
6140// The context must be non-nil and will be used for request cancellation. If
6141// the context is nil a panic will occur. In the future the SDK may create
6142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6143// for more information on using Contexts.
6144func (c *GameLift) ResolveAliasWithContext(ctx aws.Context, input *ResolveAliasInput, opts ...request.Option) (*ResolveAliasOutput, error) {
6145	req, out := c.ResolveAliasRequest(input)
6146	req.SetContext(ctx)
6147	req.ApplyOptions(opts...)
6148	return out, req.Send()
6149}
6150
6151const opSearchGameSessions = "SearchGameSessions"
6152
6153// SearchGameSessionsRequest generates a "aws/request.Request" representing the
6154// client's request for the SearchGameSessions operation. The "output" return
6155// value will be populated with the request's response once the request completes
6156// successfuly.
6157//
6158// Use "Send" method on the returned Request to send the API call to the service.
6159// the "output" return value is not valid until after Send returns without error.
6160//
6161// See SearchGameSessions for more information on using the SearchGameSessions
6162// API call, and error handling.
6163//
6164// This method is useful when you want to inject custom logic or configuration
6165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6166//
6167//
6168//    // Example sending a request using the SearchGameSessionsRequest method.
6169//    req, resp := client.SearchGameSessionsRequest(params)
6170//
6171//    err := req.Send()
6172//    if err == nil { // resp is now filled
6173//        fmt.Println(resp)
6174//    }
6175//
6176// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
6177func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (req *request.Request, output *SearchGameSessionsOutput) {
6178	op := &request.Operation{
6179		Name:       opSearchGameSessions,
6180		HTTPMethod: "POST",
6181		HTTPPath:   "/",
6182	}
6183
6184	if input == nil {
6185		input = &SearchGameSessionsInput{}
6186	}
6187
6188	output = &SearchGameSessionsOutput{}
6189	req = c.newRequest(op, input, output)
6190	return
6191}
6192
6193// SearchGameSessions API operation for Amazon GameLift.
6194//
6195// Retrieves all active game sessions that match a set of search criteria and
6196// sorts them in a specified order. You can search or sort by the following
6197// game session attributes:
6198//
6199//    * gameSessionId -- Unique identifier for the game session. You can use
6200//    either a GameSessionId or GameSessionArn value.
6201//
6202//    * gameSessionName -- Name assigned to a game session. This value is set
6203//    when requesting a new game session with CreateGameSession or updating
6204//    with UpdateGameSession. Game session names do not need to be unique to
6205//    a game session.
6206//
6207//    * gameSessionProperties -- Custom data defined in a game session's GameProperty
6208//    parameter. GameProperty values are stored as key:value pairs; the filter
6209//    expression must indicate the key and a string to search the data values
6210//    for. For example, to search for game sessions with custom data containing
6211//    the key:value pair "gameMode:brawl", specify the following: gameSessionProperties.gameMode
6212//    = "brawl". All custom data values are searched as strings.
6213//
6214//    * maximumSessions -- Maximum number of player sessions allowed for a game
6215//    session. This value is set when requesting a new game session with CreateGameSession
6216//    or updating with UpdateGameSession.
6217//
6218//    * creationTimeMillis -- Value indicating when a game session was created.
6219//    It is expressed in Unix time as milliseconds.
6220//
6221//    * playerSessionCount -- Number of players currently connected to a game
6222//    session. This value changes rapidly as players join the session or drop
6223//    out.
6224//
6225//    * hasAvailablePlayerSessions -- Boolean value indicating whether a game
6226//    session has reached its maximum number of players. It is highly recommended
6227//    that all search requests include this filter attribute to optimize search
6228//    performance and return only sessions that players can join.
6229//
6230// Returned values for playerSessionCount and hasAvailablePlayerSessions change
6231// quickly as players join sessions and others drop out. Results should be considered
6232// a snapshot in time. Be sure to refresh search results often, and handle sessions
6233// that fill up before a player can join.
6234//
6235// To search or sort, specify either a fleet ID or an alias ID, and provide
6236// a search filter expression, a sort expression, or both. If successful, a
6237// collection of GameSession objects matching the request is returned. Use the
6238// pagination parameters to retrieve results as a set of sequential pages.
6239//
6240// You can search for game sessions one fleet at a time only. To find game sessions
6241// across multiple fleets, you must search each fleet separately and combine
6242// the results. This search feature finds only game sessions that are in ACTIVE
6243// status. To locate games in statuses other than active, use DescribeGameSessionDetails.
6244//
6245// Game-session-related operations include:
6246//
6247//    * CreateGameSession
6248//
6249//    * DescribeGameSessions
6250//
6251//    * DescribeGameSessionDetails
6252//
6253//    * SearchGameSessions
6254//
6255//    * UpdateGameSession
6256//
6257//    * GetGameSessionLogUrl
6258//
6259//    * Game session placements
6260//
6261// StartGameSessionPlacement
6262//
6263// DescribeGameSessionPlacement
6264//
6265// StopGameSessionPlacement
6266//
6267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6268// with awserr.Error's Code and Message methods to get detailed information about
6269// the error.
6270//
6271// See the AWS API reference guide for Amazon GameLift's
6272// API operation SearchGameSessions for usage and error information.
6273//
6274// Returned Error Codes:
6275//   * ErrCodeInternalServiceException "InternalServiceException"
6276//   The service encountered an unrecoverable internal failure while processing
6277//   the request. Clients can retry such requests immediately or after a waiting
6278//   period.
6279//
6280//   * ErrCodeNotFoundException "NotFoundException"
6281//   A service resource associated with the request could not be found. Clients
6282//   should not retry such requests.
6283//
6284//   * ErrCodeInvalidRequestException "InvalidRequestException"
6285//   One or more parameter values in the request are invalid. Correct the invalid
6286//   parameter values before retrying.
6287//
6288//   * ErrCodeUnauthorizedException "UnauthorizedException"
6289//   The client failed authentication. Clients should not retry such requests.
6290//
6291//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
6292//   The service is unable to resolve the routing for a particular alias because
6293//   it has a terminal RoutingStrategy associated with it. The message returned
6294//   in this exception is the message defined in the routing strategy itself.
6295//   Such requests should only be retried if the routing strategy for the specified
6296//   alias is modified.
6297//
6298// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
6299func (c *GameLift) SearchGameSessions(input *SearchGameSessionsInput) (*SearchGameSessionsOutput, error) {
6300	req, out := c.SearchGameSessionsRequest(input)
6301	return out, req.Send()
6302}
6303
6304// SearchGameSessionsWithContext is the same as SearchGameSessions with the addition of
6305// the ability to pass a context and additional request options.
6306//
6307// See SearchGameSessions for details on how to use this API operation.
6308//
6309// The context must be non-nil and will be used for request cancellation. If
6310// the context is nil a panic will occur. In the future the SDK may create
6311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6312// for more information on using Contexts.
6313func (c *GameLift) SearchGameSessionsWithContext(ctx aws.Context, input *SearchGameSessionsInput, opts ...request.Option) (*SearchGameSessionsOutput, error) {
6314	req, out := c.SearchGameSessionsRequest(input)
6315	req.SetContext(ctx)
6316	req.ApplyOptions(opts...)
6317	return out, req.Send()
6318}
6319
6320const opStartFleetActions = "StartFleetActions"
6321
6322// StartFleetActionsRequest generates a "aws/request.Request" representing the
6323// client's request for the StartFleetActions operation. The "output" return
6324// value will be populated with the request's response once the request completes
6325// successfuly.
6326//
6327// Use "Send" method on the returned Request to send the API call to the service.
6328// the "output" return value is not valid until after Send returns without error.
6329//
6330// See StartFleetActions for more information on using the StartFleetActions
6331// API call, and error handling.
6332//
6333// This method is useful when you want to inject custom logic or configuration
6334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6335//
6336//
6337//    // Example sending a request using the StartFleetActionsRequest method.
6338//    req, resp := client.StartFleetActionsRequest(params)
6339//
6340//    err := req.Send()
6341//    if err == nil { // resp is now filled
6342//        fmt.Println(resp)
6343//    }
6344//
6345// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartFleetActions
6346func (c *GameLift) StartFleetActionsRequest(input *StartFleetActionsInput) (req *request.Request, output *StartFleetActionsOutput) {
6347	op := &request.Operation{
6348		Name:       opStartFleetActions,
6349		HTTPMethod: "POST",
6350		HTTPPath:   "/",
6351	}
6352
6353	if input == nil {
6354		input = &StartFleetActionsInput{}
6355	}
6356
6357	output = &StartFleetActionsOutput{}
6358	req = c.newRequest(op, input, output)
6359	return
6360}
6361
6362// StartFleetActions API operation for Amazon GameLift.
6363//
6364// Resumes activity on a fleet that was suspended with StopFleetActions. Currently,
6365// this operation is used to restart a fleet's auto-scaling activity.
6366//
6367// To start fleet actions, specify the fleet ID and the type of actions to restart.
6368// When auto-scaling fleet actions are restarted, Amazon GameLift once again
6369// initiates scaling events as triggered by the fleet's scaling policies. If
6370// actions on the fleet were never stopped, this operation will have no effect.
6371// You can view a fleet's stopped actions using DescribeFleetAttributes.
6372//
6373// Operations related to fleet capacity scaling include:
6374//
6375//    * DescribeFleetCapacity
6376//
6377//    * UpdateFleetCapacity
6378//
6379//    * DescribeEC2InstanceLimits
6380//
6381//    * Manage scaling policies:
6382//
6383// PutScalingPolicy (auto-scaling)
6384//
6385// DescribeScalingPolicies (auto-scaling)
6386//
6387// DeleteScalingPolicy (auto-scaling)
6388//
6389//    * Manage fleet actions:
6390//
6391// StartFleetActions
6392//
6393// StopFleetActions
6394//
6395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6396// with awserr.Error's Code and Message methods to get detailed information about
6397// the error.
6398//
6399// See the AWS API reference guide for Amazon GameLift's
6400// API operation StartFleetActions for usage and error information.
6401//
6402// Returned Error Codes:
6403//   * ErrCodeInternalServiceException "InternalServiceException"
6404//   The service encountered an unrecoverable internal failure while processing
6405//   the request. Clients can retry such requests immediately or after a waiting
6406//   period.
6407//
6408//   * ErrCodeInvalidRequestException "InvalidRequestException"
6409//   One or more parameter values in the request are invalid. Correct the invalid
6410//   parameter values before retrying.
6411//
6412//   * ErrCodeUnauthorizedException "UnauthorizedException"
6413//   The client failed authentication. Clients should not retry such requests.
6414//
6415//   * ErrCodeNotFoundException "NotFoundException"
6416//   A service resource associated with the request could not be found. Clients
6417//   should not retry such requests.
6418//
6419// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartFleetActions
6420func (c *GameLift) StartFleetActions(input *StartFleetActionsInput) (*StartFleetActionsOutput, error) {
6421	req, out := c.StartFleetActionsRequest(input)
6422	return out, req.Send()
6423}
6424
6425// StartFleetActionsWithContext is the same as StartFleetActions with the addition of
6426// the ability to pass a context and additional request options.
6427//
6428// See StartFleetActions for details on how to use this API operation.
6429//
6430// The context must be non-nil and will be used for request cancellation. If
6431// the context is nil a panic will occur. In the future the SDK may create
6432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6433// for more information on using Contexts.
6434func (c *GameLift) StartFleetActionsWithContext(ctx aws.Context, input *StartFleetActionsInput, opts ...request.Option) (*StartFleetActionsOutput, error) {
6435	req, out := c.StartFleetActionsRequest(input)
6436	req.SetContext(ctx)
6437	req.ApplyOptions(opts...)
6438	return out, req.Send()
6439}
6440
6441const opStartGameSessionPlacement = "StartGameSessionPlacement"
6442
6443// StartGameSessionPlacementRequest generates a "aws/request.Request" representing the
6444// client's request for the StartGameSessionPlacement operation. The "output" return
6445// value will be populated with the request's response once the request completes
6446// successfuly.
6447//
6448// Use "Send" method on the returned Request to send the API call to the service.
6449// the "output" return value is not valid until after Send returns without error.
6450//
6451// See StartGameSessionPlacement for more information on using the StartGameSessionPlacement
6452// API call, and error handling.
6453//
6454// This method is useful when you want to inject custom logic or configuration
6455// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6456//
6457//
6458//    // Example sending a request using the StartGameSessionPlacementRequest method.
6459//    req, resp := client.StartGameSessionPlacementRequest(params)
6460//
6461//    err := req.Send()
6462//    if err == nil { // resp is now filled
6463//        fmt.Println(resp)
6464//    }
6465//
6466// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
6467func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlacementInput) (req *request.Request, output *StartGameSessionPlacementOutput) {
6468	op := &request.Operation{
6469		Name:       opStartGameSessionPlacement,
6470		HTTPMethod: "POST",
6471		HTTPPath:   "/",
6472	}
6473
6474	if input == nil {
6475		input = &StartGameSessionPlacementInput{}
6476	}
6477
6478	output = &StartGameSessionPlacementOutput{}
6479	req = c.newRequest(op, input, output)
6480	return
6481}
6482
6483// StartGameSessionPlacement API operation for Amazon GameLift.
6484//
6485// Places a request for a new game session in a queue (see CreateGameSessionQueue).
6486// When processing a placement request, Amazon GameLift searches for available
6487// resources on the queue's destinations, scanning each until it finds resources
6488// or the placement request times out.
6489//
6490// A game session placement request can also request player sessions. When a
6491// new game session is successfully created, Amazon GameLift creates a player
6492// session for each player included in the request.
6493//
6494// When placing a game session, by default Amazon GameLift tries each fleet
6495// in the order they are listed in the queue configuration. Ideally, a queue's
6496// destinations are listed in preference order.
6497//
6498// Alternatively, when requesting a game session with players, you can also
6499// provide latency data for each player in relevant regions. Latency data indicates
6500// the performance lag a player experiences when connected to a fleet in the
6501// region. Amazon GameLift uses latency data to reorder the list of destinations
6502// to place the game session in a region with minimal lag. If latency data is
6503// provided for multiple players, Amazon GameLift calculates each region's average
6504// lag for all players and reorders to get the best game play across all players.
6505//
6506// To place a new game session request, specify the following:
6507//
6508//    * The queue name and a set of game session properties and settings
6509//
6510//    * A unique ID (such as a UUID) for the placement. You use this ID to track
6511//    the status of the placement request
6512//
6513//    * (Optional) A set of IDs and player data for each player you want to
6514//    join to the new game session
6515//
6516//    * Latency data for all players (if you want to optimize game play for
6517//    the players)
6518//
6519// If successful, a new game session placement is created.
6520//
6521// To track the status of a placement request, call DescribeGameSessionPlacement
6522// and check the request's status. If the status is FULFILLED, a new game session
6523// has been created and a game session ARN and region are referenced. If the
6524// placement request times out, you can resubmit the request or retry it with
6525// a different queue.
6526//
6527// Game-session-related operations include:
6528//
6529//    * CreateGameSession
6530//
6531//    * DescribeGameSessions
6532//
6533//    * DescribeGameSessionDetails
6534//
6535//    * SearchGameSessions
6536//
6537//    * UpdateGameSession
6538//
6539//    * GetGameSessionLogUrl
6540//
6541//    * Game session placements
6542//
6543// StartGameSessionPlacement
6544//
6545// DescribeGameSessionPlacement
6546//
6547// StopGameSessionPlacement
6548//
6549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6550// with awserr.Error's Code and Message methods to get detailed information about
6551// the error.
6552//
6553// See the AWS API reference guide for Amazon GameLift's
6554// API operation StartGameSessionPlacement for usage and error information.
6555//
6556// Returned Error Codes:
6557//   * ErrCodeInternalServiceException "InternalServiceException"
6558//   The service encountered an unrecoverable internal failure while processing
6559//   the request. Clients can retry such requests immediately or after a waiting
6560//   period.
6561//
6562//   * ErrCodeInvalidRequestException "InvalidRequestException"
6563//   One or more parameter values in the request are invalid. Correct the invalid
6564//   parameter values before retrying.
6565//
6566//   * ErrCodeNotFoundException "NotFoundException"
6567//   A service resource associated with the request could not be found. Clients
6568//   should not retry such requests.
6569//
6570//   * ErrCodeUnauthorizedException "UnauthorizedException"
6571//   The client failed authentication. Clients should not retry such requests.
6572//
6573// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
6574func (c *GameLift) StartGameSessionPlacement(input *StartGameSessionPlacementInput) (*StartGameSessionPlacementOutput, error) {
6575	req, out := c.StartGameSessionPlacementRequest(input)
6576	return out, req.Send()
6577}
6578
6579// StartGameSessionPlacementWithContext is the same as StartGameSessionPlacement with the addition of
6580// the ability to pass a context and additional request options.
6581//
6582// See StartGameSessionPlacement for details on how to use this API operation.
6583//
6584// The context must be non-nil and will be used for request cancellation. If
6585// the context is nil a panic will occur. In the future the SDK may create
6586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6587// for more information on using Contexts.
6588func (c *GameLift) StartGameSessionPlacementWithContext(ctx aws.Context, input *StartGameSessionPlacementInput, opts ...request.Option) (*StartGameSessionPlacementOutput, error) {
6589	req, out := c.StartGameSessionPlacementRequest(input)
6590	req.SetContext(ctx)
6591	req.ApplyOptions(opts...)
6592	return out, req.Send()
6593}
6594
6595const opStartMatchBackfill = "StartMatchBackfill"
6596
6597// StartMatchBackfillRequest generates a "aws/request.Request" representing the
6598// client's request for the StartMatchBackfill operation. The "output" return
6599// value will be populated with the request's response once the request completes
6600// successfuly.
6601//
6602// Use "Send" method on the returned Request to send the API call to the service.
6603// the "output" return value is not valid until after Send returns without error.
6604//
6605// See StartMatchBackfill for more information on using the StartMatchBackfill
6606// API call, and error handling.
6607//
6608// This method is useful when you want to inject custom logic or configuration
6609// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6610//
6611//
6612//    // Example sending a request using the StartMatchBackfillRequest method.
6613//    req, resp := client.StartMatchBackfillRequest(params)
6614//
6615//    err := req.Send()
6616//    if err == nil { // resp is now filled
6617//        fmt.Println(resp)
6618//    }
6619//
6620// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
6621func (c *GameLift) StartMatchBackfillRequest(input *StartMatchBackfillInput) (req *request.Request, output *StartMatchBackfillOutput) {
6622	op := &request.Operation{
6623		Name:       opStartMatchBackfill,
6624		HTTPMethod: "POST",
6625		HTTPPath:   "/",
6626	}
6627
6628	if input == nil {
6629		input = &StartMatchBackfillInput{}
6630	}
6631
6632	output = &StartMatchBackfillOutput{}
6633	req = c.newRequest(op, input, output)
6634	return
6635}
6636
6637// StartMatchBackfill API operation for Amazon GameLift.
6638//
6639// Finds new players to fill open slots in an existing game session. This operation
6640// can be used to add players to matched games that start with fewer than the
6641// maximum number of players or to replace players when they drop out. By backfilling
6642// with the same matchmaker used to create the original match, you ensure that
6643// new players meet the match criteria and maintain a consistent experience
6644// throughout the game session. You can backfill a match anytime after a game
6645// session has been created.
6646//
6647// To request a match backfill, specify a unique ticket ID, the existing game
6648// session's ARN, a matchmaking configuration, and a set of data that describes
6649// all current players in the game session. If successful, a match backfill
6650// ticket is created and returned with status set to QUEUED. The ticket is placed
6651// in the matchmaker's ticket pool and processed. Track the status of the ticket
6652// to respond as needed. For more detail how to set up backfilling, see  Backfill
6653// Existing Games with FlexMatch (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html).
6654//
6655// The process of finding backfill matches is essentially identical to the initial
6656// matchmaking process. The matchmaker searches the pool and groups tickets
6657// together to form potential matches, allowing only one backfill ticket per
6658// potential match. Once the a match is formed, the matchmaker creates player
6659// sessions for the new players. All tickets in the match are updated with the
6660// game session's connection information, and the GameSession object is updated
6661// to include matchmaker data on the new players. For more detail on how match
6662// backfill requests are processed, see  How Amazon GameLift FlexMatch Works
6663// (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html).
6664//
6665// Matchmaking-related operations include:
6666//
6667//    * StartMatchmaking
6668//
6669//    * DescribeMatchmaking
6670//
6671//    * StopMatchmaking
6672//
6673//    * AcceptMatch
6674//
6675//    * StartMatchBackfill
6676//
6677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6678// with awserr.Error's Code and Message methods to get detailed information about
6679// the error.
6680//
6681// See the AWS API reference guide for Amazon GameLift's
6682// API operation StartMatchBackfill for usage and error information.
6683//
6684// Returned Error Codes:
6685//   * ErrCodeInvalidRequestException "InvalidRequestException"
6686//   One or more parameter values in the request are invalid. Correct the invalid
6687//   parameter values before retrying.
6688//
6689//   * ErrCodeNotFoundException "NotFoundException"
6690//   A service resource associated with the request could not be found. Clients
6691//   should not retry such requests.
6692//
6693//   * ErrCodeInternalServiceException "InternalServiceException"
6694//   The service encountered an unrecoverable internal failure while processing
6695//   the request. Clients can retry such requests immediately or after a waiting
6696//   period.
6697//
6698//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
6699//   The requested operation is not supported in the region specified.
6700//
6701// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
6702func (c *GameLift) StartMatchBackfill(input *StartMatchBackfillInput) (*StartMatchBackfillOutput, error) {
6703	req, out := c.StartMatchBackfillRequest(input)
6704	return out, req.Send()
6705}
6706
6707// StartMatchBackfillWithContext is the same as StartMatchBackfill with the addition of
6708// the ability to pass a context and additional request options.
6709//
6710// See StartMatchBackfill for details on how to use this API operation.
6711//
6712// The context must be non-nil and will be used for request cancellation. If
6713// the context is nil a panic will occur. In the future the SDK may create
6714// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6715// for more information on using Contexts.
6716func (c *GameLift) StartMatchBackfillWithContext(ctx aws.Context, input *StartMatchBackfillInput, opts ...request.Option) (*StartMatchBackfillOutput, error) {
6717	req, out := c.StartMatchBackfillRequest(input)
6718	req.SetContext(ctx)
6719	req.ApplyOptions(opts...)
6720	return out, req.Send()
6721}
6722
6723const opStartMatchmaking = "StartMatchmaking"
6724
6725// StartMatchmakingRequest generates a "aws/request.Request" representing the
6726// client's request for the StartMatchmaking operation. The "output" return
6727// value will be populated with the request's response once the request completes
6728// successfuly.
6729//
6730// Use "Send" method on the returned Request to send the API call to the service.
6731// the "output" return value is not valid until after Send returns without error.
6732//
6733// See StartMatchmaking for more information on using the StartMatchmaking
6734// API call, and error handling.
6735//
6736// This method is useful when you want to inject custom logic or configuration
6737// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6738//
6739//
6740//    // Example sending a request using the StartMatchmakingRequest method.
6741//    req, resp := client.StartMatchmakingRequest(params)
6742//
6743//    err := req.Send()
6744//    if err == nil { // resp is now filled
6745//        fmt.Println(resp)
6746//    }
6747//
6748// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
6749func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *request.Request, output *StartMatchmakingOutput) {
6750	op := &request.Operation{
6751		Name:       opStartMatchmaking,
6752		HTTPMethod: "POST",
6753		HTTPPath:   "/",
6754	}
6755
6756	if input == nil {
6757		input = &StartMatchmakingInput{}
6758	}
6759
6760	output = &StartMatchmakingOutput{}
6761	req = c.newRequest(op, input, output)
6762	return
6763}
6764
6765// StartMatchmaking API operation for Amazon GameLift.
6766//
6767// Uses FlexMatch to create a game match for a group of players based on custom
6768// matchmaking rules, and starts a new game for the matched players. Each matchmaking
6769// request specifies the type of match to build (team configuration, rules for
6770// an acceptable match, etc.). The request also specifies the players to find
6771// a match for and where to host the new game session for optimal performance.
6772// A matchmaking request might start with a single player or a group of players
6773// who want to play together. FlexMatch finds additional players as needed to
6774// fill the match. Match type, rules, and the queue used to place a new game
6775// session are defined in a MatchmakingConfiguration. For complete information
6776// on setting up and using FlexMatch, see the topic  Adding FlexMatch to Your
6777// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html).
6778//
6779// To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,
6780// and include the players to be matched. You must also include a set of player
6781// attributes relevant for the matchmaking configuration. If successful, a matchmaking
6782// ticket is returned with status set to QUEUED. Track the status of the ticket
6783// to respond as needed and acquire game session connection information for
6784// successfully completed matches.
6785//
6786// Tracking ticket status -- A couple of options are available for tracking
6787// the status of matchmaking requests:
6788//
6789//    * Polling -- Call DescribeMatchmaking. This operation returns the full
6790//    ticket object, including current status and (for completed tickets) game
6791//    session connection info. We recommend polling no more than once every
6792//    10 seconds.
6793//
6794//    * Notifications -- Get event notifications for changes in ticket status
6795//    using Amazon Simple Notification Service (SNS). Notifications are easy
6796//    to set up (see CreateMatchmakingConfiguration) and typically deliver match
6797//    status changes faster and more efficiently than polling. We recommend
6798//    that you use polling to back up to notifications (since delivery is not
6799//    guaranteed) and call DescribeMatchmaking only when notifications are not
6800//    received within 30 seconds.
6801//
6802// Processing a matchmaking request -- FlexMatch handles a matchmaking request
6803// as follows:
6804//
6805// Your client code submits a StartMatchmaking request for one or more players
6806// and tracks the status of the request ticket.
6807//
6808// FlexMatch uses this ticket and others in process to build an acceptable match.
6809// When a potential match is identified, all tickets in the proposed match are
6810// advanced to the next status.
6811//
6812// If the match requires player acceptance (set in the matchmaking configuration),
6813// the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your
6814// client code to solicit acceptance from all players in every ticket involved
6815// in the match, and then call AcceptMatch for each player. If any player rejects
6816// or fails to accept the match before a specified timeout, the proposed match
6817// is dropped (see AcceptMatch for more details).
6818//
6819// Once a match is proposed and accepted, the matchmaking tickets move into
6820// status PLACING. FlexMatch locates resources for a new game session using
6821// the game session queue (set in the matchmaking configuration) and creates
6822// the game session based on the match data.
6823//
6824// When the match is successfully placed, the matchmaking tickets move into
6825// COMPLETED status. Connection information (including game session endpoint
6826// and player session) is added to the matchmaking tickets. Matched players
6827// can use the connection information to join the game.
6828//
6829// Matchmaking-related operations include:
6830//
6831//    * StartMatchmaking
6832//
6833//    * DescribeMatchmaking
6834//
6835//    * StopMatchmaking
6836//
6837//    * AcceptMatch
6838//
6839//    * StartMatchBackfill
6840//
6841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6842// with awserr.Error's Code and Message methods to get detailed information about
6843// the error.
6844//
6845// See the AWS API reference guide for Amazon GameLift's
6846// API operation StartMatchmaking for usage and error information.
6847//
6848// Returned Error Codes:
6849//   * ErrCodeInvalidRequestException "InvalidRequestException"
6850//   One or more parameter values in the request are invalid. Correct the invalid
6851//   parameter values before retrying.
6852//
6853//   * ErrCodeNotFoundException "NotFoundException"
6854//   A service resource associated with the request could not be found. Clients
6855//   should not retry such requests.
6856//
6857//   * ErrCodeInternalServiceException "InternalServiceException"
6858//   The service encountered an unrecoverable internal failure while processing
6859//   the request. Clients can retry such requests immediately or after a waiting
6860//   period.
6861//
6862//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
6863//   The requested operation is not supported in the region specified.
6864//
6865// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
6866func (c *GameLift) StartMatchmaking(input *StartMatchmakingInput) (*StartMatchmakingOutput, error) {
6867	req, out := c.StartMatchmakingRequest(input)
6868	return out, req.Send()
6869}
6870
6871// StartMatchmakingWithContext is the same as StartMatchmaking with the addition of
6872// the ability to pass a context and additional request options.
6873//
6874// See StartMatchmaking for details on how to use this API operation.
6875//
6876// The context must be non-nil and will be used for request cancellation. If
6877// the context is nil a panic will occur. In the future the SDK may create
6878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6879// for more information on using Contexts.
6880func (c *GameLift) StartMatchmakingWithContext(ctx aws.Context, input *StartMatchmakingInput, opts ...request.Option) (*StartMatchmakingOutput, error) {
6881	req, out := c.StartMatchmakingRequest(input)
6882	req.SetContext(ctx)
6883	req.ApplyOptions(opts...)
6884	return out, req.Send()
6885}
6886
6887const opStopFleetActions = "StopFleetActions"
6888
6889// StopFleetActionsRequest generates a "aws/request.Request" representing the
6890// client's request for the StopFleetActions operation. The "output" return
6891// value will be populated with the request's response once the request completes
6892// successfuly.
6893//
6894// Use "Send" method on the returned Request to send the API call to the service.
6895// the "output" return value is not valid until after Send returns without error.
6896//
6897// See StopFleetActions for more information on using the StopFleetActions
6898// API call, and error handling.
6899//
6900// This method is useful when you want to inject custom logic or configuration
6901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6902//
6903//
6904//    // Example sending a request using the StopFleetActionsRequest method.
6905//    req, resp := client.StopFleetActionsRequest(params)
6906//
6907//    err := req.Send()
6908//    if err == nil { // resp is now filled
6909//        fmt.Println(resp)
6910//    }
6911//
6912// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopFleetActions
6913func (c *GameLift) StopFleetActionsRequest(input *StopFleetActionsInput) (req *request.Request, output *StopFleetActionsOutput) {
6914	op := &request.Operation{
6915		Name:       opStopFleetActions,
6916		HTTPMethod: "POST",
6917		HTTPPath:   "/",
6918	}
6919
6920	if input == nil {
6921		input = &StopFleetActionsInput{}
6922	}
6923
6924	output = &StopFleetActionsOutput{}
6925	req = c.newRequest(op, input, output)
6926	return
6927}
6928
6929// StopFleetActions API operation for Amazon GameLift.
6930//
6931// Suspends activity on a fleet. Currently, this operation is used to stop a
6932// fleet's auto-scaling activity. It is used to temporarily stop scaling events
6933// triggered by the fleet's scaling policies. The policies can be retained and
6934// auto-scaling activity can be restarted using StartFleetActions. You can view
6935// a fleet's stopped actions using DescribeFleetAttributes.
6936//
6937// To stop fleet actions, specify the fleet ID and the type of actions to suspend.
6938// When auto-scaling fleet actions are stopped, Amazon GameLift no longer initiates
6939// scaling events except to maintain the fleet's desired instances setting (FleetCapacity.
6940// Changes to the fleet's capacity must be done manually using UpdateFleetCapacity.
6941//
6942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6943// with awserr.Error's Code and Message methods to get detailed information about
6944// the error.
6945//
6946// See the AWS API reference guide for Amazon GameLift's
6947// API operation StopFleetActions for usage and error information.
6948//
6949// Returned Error Codes:
6950//   * ErrCodeInternalServiceException "InternalServiceException"
6951//   The service encountered an unrecoverable internal failure while processing
6952//   the request. Clients can retry such requests immediately or after a waiting
6953//   period.
6954//
6955//   * ErrCodeInvalidRequestException "InvalidRequestException"
6956//   One or more parameter values in the request are invalid. Correct the invalid
6957//   parameter values before retrying.
6958//
6959//   * ErrCodeUnauthorizedException "UnauthorizedException"
6960//   The client failed authentication. Clients should not retry such requests.
6961//
6962//   * ErrCodeNotFoundException "NotFoundException"
6963//   A service resource associated with the request could not be found. Clients
6964//   should not retry such requests.
6965//
6966// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopFleetActions
6967func (c *GameLift) StopFleetActions(input *StopFleetActionsInput) (*StopFleetActionsOutput, error) {
6968	req, out := c.StopFleetActionsRequest(input)
6969	return out, req.Send()
6970}
6971
6972// StopFleetActionsWithContext is the same as StopFleetActions with the addition of
6973// the ability to pass a context and additional request options.
6974//
6975// See StopFleetActions for details on how to use this API operation.
6976//
6977// The context must be non-nil and will be used for request cancellation. If
6978// the context is nil a panic will occur. In the future the SDK may create
6979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6980// for more information on using Contexts.
6981func (c *GameLift) StopFleetActionsWithContext(ctx aws.Context, input *StopFleetActionsInput, opts ...request.Option) (*StopFleetActionsOutput, error) {
6982	req, out := c.StopFleetActionsRequest(input)
6983	req.SetContext(ctx)
6984	req.ApplyOptions(opts...)
6985	return out, req.Send()
6986}
6987
6988const opStopGameSessionPlacement = "StopGameSessionPlacement"
6989
6990// StopGameSessionPlacementRequest generates a "aws/request.Request" representing the
6991// client's request for the StopGameSessionPlacement operation. The "output" return
6992// value will be populated with the request's response once the request completes
6993// successfuly.
6994//
6995// Use "Send" method on the returned Request to send the API call to the service.
6996// the "output" return value is not valid until after Send returns without error.
6997//
6998// See StopGameSessionPlacement for more information on using the StopGameSessionPlacement
6999// API call, and error handling.
7000//
7001// This method is useful when you want to inject custom logic or configuration
7002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7003//
7004//
7005//    // Example sending a request using the StopGameSessionPlacementRequest method.
7006//    req, resp := client.StopGameSessionPlacementRequest(params)
7007//
7008//    err := req.Send()
7009//    if err == nil { // resp is now filled
7010//        fmt.Println(resp)
7011//    }
7012//
7013// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
7014func (c *GameLift) StopGameSessionPlacementRequest(input *StopGameSessionPlacementInput) (req *request.Request, output *StopGameSessionPlacementOutput) {
7015	op := &request.Operation{
7016		Name:       opStopGameSessionPlacement,
7017		HTTPMethod: "POST",
7018		HTTPPath:   "/",
7019	}
7020
7021	if input == nil {
7022		input = &StopGameSessionPlacementInput{}
7023	}
7024
7025	output = &StopGameSessionPlacementOutput{}
7026	req = c.newRequest(op, input, output)
7027	return
7028}
7029
7030// StopGameSessionPlacement API operation for Amazon GameLift.
7031//
7032// Cancels a game session placement that is in PENDING status. To stop a placement,
7033// provide the placement ID values. If successful, the placement is moved to
7034// CANCELLED status.
7035//
7036// Game-session-related operations include:
7037//
7038//    * CreateGameSession
7039//
7040//    * DescribeGameSessions
7041//
7042//    * DescribeGameSessionDetails
7043//
7044//    * SearchGameSessions
7045//
7046//    * UpdateGameSession
7047//
7048//    * GetGameSessionLogUrl
7049//
7050//    * Game session placements
7051//
7052// StartGameSessionPlacement
7053//
7054// DescribeGameSessionPlacement
7055//
7056// StopGameSessionPlacement
7057//
7058// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7059// with awserr.Error's Code and Message methods to get detailed information about
7060// the error.
7061//
7062// See the AWS API reference guide for Amazon GameLift's
7063// API operation StopGameSessionPlacement for usage and error information.
7064//
7065// Returned Error Codes:
7066//   * ErrCodeInternalServiceException "InternalServiceException"
7067//   The service encountered an unrecoverable internal failure while processing
7068//   the request. Clients can retry such requests immediately or after a waiting
7069//   period.
7070//
7071//   * ErrCodeInvalidRequestException "InvalidRequestException"
7072//   One or more parameter values in the request are invalid. Correct the invalid
7073//   parameter values before retrying.
7074//
7075//   * ErrCodeNotFoundException "NotFoundException"
7076//   A service resource associated with the request could not be found. Clients
7077//   should not retry such requests.
7078//
7079//   * ErrCodeUnauthorizedException "UnauthorizedException"
7080//   The client failed authentication. Clients should not retry such requests.
7081//
7082// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
7083func (c *GameLift) StopGameSessionPlacement(input *StopGameSessionPlacementInput) (*StopGameSessionPlacementOutput, error) {
7084	req, out := c.StopGameSessionPlacementRequest(input)
7085	return out, req.Send()
7086}
7087
7088// StopGameSessionPlacementWithContext is the same as StopGameSessionPlacement with the addition of
7089// the ability to pass a context and additional request options.
7090//
7091// See StopGameSessionPlacement for details on how to use this API operation.
7092//
7093// The context must be non-nil and will be used for request cancellation. If
7094// the context is nil a panic will occur. In the future the SDK may create
7095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7096// for more information on using Contexts.
7097func (c *GameLift) StopGameSessionPlacementWithContext(ctx aws.Context, input *StopGameSessionPlacementInput, opts ...request.Option) (*StopGameSessionPlacementOutput, error) {
7098	req, out := c.StopGameSessionPlacementRequest(input)
7099	req.SetContext(ctx)
7100	req.ApplyOptions(opts...)
7101	return out, req.Send()
7102}
7103
7104const opStopMatchmaking = "StopMatchmaking"
7105
7106// StopMatchmakingRequest generates a "aws/request.Request" representing the
7107// client's request for the StopMatchmaking operation. The "output" return
7108// value will be populated with the request's response once the request completes
7109// successfuly.
7110//
7111// Use "Send" method on the returned Request to send the API call to the service.
7112// the "output" return value is not valid until after Send returns without error.
7113//
7114// See StopMatchmaking for more information on using the StopMatchmaking
7115// API call, and error handling.
7116//
7117// This method is useful when you want to inject custom logic or configuration
7118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7119//
7120//
7121//    // Example sending a request using the StopMatchmakingRequest method.
7122//    req, resp := client.StopMatchmakingRequest(params)
7123//
7124//    err := req.Send()
7125//    if err == nil { // resp is now filled
7126//        fmt.Println(resp)
7127//    }
7128//
7129// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
7130func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *request.Request, output *StopMatchmakingOutput) {
7131	op := &request.Operation{
7132		Name:       opStopMatchmaking,
7133		HTTPMethod: "POST",
7134		HTTPPath:   "/",
7135	}
7136
7137	if input == nil {
7138		input = &StopMatchmakingInput{}
7139	}
7140
7141	output = &StopMatchmakingOutput{}
7142	req = c.newRequest(op, input, output)
7143	return
7144}
7145
7146// StopMatchmaking API operation for Amazon GameLift.
7147//
7148// Cancels a matchmaking ticket that is currently being processed. To stop the
7149// matchmaking operation, specify the ticket ID. If successful, work on the
7150// ticket is stopped, and the ticket status is changed to CANCELLED.
7151//
7152// Matchmaking-related operations include:
7153//
7154//    * StartMatchmaking
7155//
7156//    * DescribeMatchmaking
7157//
7158//    * StopMatchmaking
7159//
7160//    * AcceptMatch
7161//
7162//    * StartMatchBackfill
7163//
7164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7165// with awserr.Error's Code and Message methods to get detailed information about
7166// the error.
7167//
7168// See the AWS API reference guide for Amazon GameLift's
7169// API operation StopMatchmaking for usage and error information.
7170//
7171// Returned Error Codes:
7172//   * ErrCodeInvalidRequestException "InvalidRequestException"
7173//   One or more parameter values in the request are invalid. Correct the invalid
7174//   parameter values before retrying.
7175//
7176//   * ErrCodeNotFoundException "NotFoundException"
7177//   A service resource associated with the request could not be found. Clients
7178//   should not retry such requests.
7179//
7180//   * ErrCodeInternalServiceException "InternalServiceException"
7181//   The service encountered an unrecoverable internal failure while processing
7182//   the request. Clients can retry such requests immediately or after a waiting
7183//   period.
7184//
7185//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
7186//   The requested operation is not supported in the region specified.
7187//
7188// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
7189func (c *GameLift) StopMatchmaking(input *StopMatchmakingInput) (*StopMatchmakingOutput, error) {
7190	req, out := c.StopMatchmakingRequest(input)
7191	return out, req.Send()
7192}
7193
7194// StopMatchmakingWithContext is the same as StopMatchmaking with the addition of
7195// the ability to pass a context and additional request options.
7196//
7197// See StopMatchmaking for details on how to use this API operation.
7198//
7199// The context must be non-nil and will be used for request cancellation. If
7200// the context is nil a panic will occur. In the future the SDK may create
7201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7202// for more information on using Contexts.
7203func (c *GameLift) StopMatchmakingWithContext(ctx aws.Context, input *StopMatchmakingInput, opts ...request.Option) (*StopMatchmakingOutput, error) {
7204	req, out := c.StopMatchmakingRequest(input)
7205	req.SetContext(ctx)
7206	req.ApplyOptions(opts...)
7207	return out, req.Send()
7208}
7209
7210const opUpdateAlias = "UpdateAlias"
7211
7212// UpdateAliasRequest generates a "aws/request.Request" representing the
7213// client's request for the UpdateAlias operation. The "output" return
7214// value will be populated with the request's response once the request completes
7215// successfuly.
7216//
7217// Use "Send" method on the returned Request to send the API call to the service.
7218// the "output" return value is not valid until after Send returns without error.
7219//
7220// See UpdateAlias for more information on using the UpdateAlias
7221// API call, and error handling.
7222//
7223// This method is useful when you want to inject custom logic or configuration
7224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7225//
7226//
7227//    // Example sending a request using the UpdateAliasRequest method.
7228//    req, resp := client.UpdateAliasRequest(params)
7229//
7230//    err := req.Send()
7231//    if err == nil { // resp is now filled
7232//        fmt.Println(resp)
7233//    }
7234//
7235// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
7236func (c *GameLift) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *UpdateAliasOutput) {
7237	op := &request.Operation{
7238		Name:       opUpdateAlias,
7239		HTTPMethod: "POST",
7240		HTTPPath:   "/",
7241	}
7242
7243	if input == nil {
7244		input = &UpdateAliasInput{}
7245	}
7246
7247	output = &UpdateAliasOutput{}
7248	req = c.newRequest(op, input, output)
7249	return
7250}
7251
7252// UpdateAlias API operation for Amazon GameLift.
7253//
7254// Updates properties for an alias. To update properties, specify the alias
7255// ID to be updated and provide the information to be changed. To reassign an
7256// alias to another fleet, provide an updated routing strategy. If successful,
7257// the updated alias record is returned.
7258//
7259// Alias-related operations include:
7260//
7261//    * CreateAlias
7262//
7263//    * ListAliases
7264//
7265//    * DescribeAlias
7266//
7267//    * UpdateAlias
7268//
7269//    * DeleteAlias
7270//
7271//    * ResolveAlias
7272//
7273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7274// with awserr.Error's Code and Message methods to get detailed information about
7275// the error.
7276//
7277// See the AWS API reference guide for Amazon GameLift's
7278// API operation UpdateAlias for usage and error information.
7279//
7280// Returned Error Codes:
7281//   * ErrCodeUnauthorizedException "UnauthorizedException"
7282//   The client failed authentication. Clients should not retry such requests.
7283//
7284//   * ErrCodeInvalidRequestException "InvalidRequestException"
7285//   One or more parameter values in the request are invalid. Correct the invalid
7286//   parameter values before retrying.
7287//
7288//   * ErrCodeNotFoundException "NotFoundException"
7289//   A service resource associated with the request could not be found. Clients
7290//   should not retry such requests.
7291//
7292//   * ErrCodeInternalServiceException "InternalServiceException"
7293//   The service encountered an unrecoverable internal failure while processing
7294//   the request. Clients can retry such requests immediately or after a waiting
7295//   period.
7296//
7297// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
7298func (c *GameLift) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) {
7299	req, out := c.UpdateAliasRequest(input)
7300	return out, req.Send()
7301}
7302
7303// UpdateAliasWithContext is the same as UpdateAlias with the addition of
7304// the ability to pass a context and additional request options.
7305//
7306// See UpdateAlias for details on how to use this API operation.
7307//
7308// The context must be non-nil and will be used for request cancellation. If
7309// the context is nil a panic will occur. In the future the SDK may create
7310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7311// for more information on using Contexts.
7312func (c *GameLift) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*UpdateAliasOutput, error) {
7313	req, out := c.UpdateAliasRequest(input)
7314	req.SetContext(ctx)
7315	req.ApplyOptions(opts...)
7316	return out, req.Send()
7317}
7318
7319const opUpdateBuild = "UpdateBuild"
7320
7321// UpdateBuildRequest generates a "aws/request.Request" representing the
7322// client's request for the UpdateBuild operation. The "output" return
7323// value will be populated with the request's response once the request completes
7324// successfuly.
7325//
7326// Use "Send" method on the returned Request to send the API call to the service.
7327// the "output" return value is not valid until after Send returns without error.
7328//
7329// See UpdateBuild for more information on using the UpdateBuild
7330// API call, and error handling.
7331//
7332// This method is useful when you want to inject custom logic or configuration
7333// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7334//
7335//
7336//    // Example sending a request using the UpdateBuildRequest method.
7337//    req, resp := client.UpdateBuildRequest(params)
7338//
7339//    err := req.Send()
7340//    if err == nil { // resp is now filled
7341//        fmt.Println(resp)
7342//    }
7343//
7344// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
7345func (c *GameLift) UpdateBuildRequest(input *UpdateBuildInput) (req *request.Request, output *UpdateBuildOutput) {
7346	op := &request.Operation{
7347		Name:       opUpdateBuild,
7348		HTTPMethod: "POST",
7349		HTTPPath:   "/",
7350	}
7351
7352	if input == nil {
7353		input = &UpdateBuildInput{}
7354	}
7355
7356	output = &UpdateBuildOutput{}
7357	req = c.newRequest(op, input, output)
7358	return
7359}
7360
7361// UpdateBuild API operation for Amazon GameLift.
7362//
7363// Updates metadata in a build record, including the build name and version.
7364// To update the metadata, specify the build ID to update and provide the new
7365// values. If successful, a build object containing the updated metadata is
7366// returned.
7367//
7368// Build-related operations include:
7369//
7370//    * CreateBuild
7371//
7372//    * ListBuilds
7373//
7374//    * DescribeBuild
7375//
7376//    * UpdateBuild
7377//
7378//    * DeleteBuild
7379//
7380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7381// with awserr.Error's Code and Message methods to get detailed information about
7382// the error.
7383//
7384// See the AWS API reference guide for Amazon GameLift's
7385// API operation UpdateBuild for usage and error information.
7386//
7387// Returned Error Codes:
7388//   * ErrCodeUnauthorizedException "UnauthorizedException"
7389//   The client failed authentication. Clients should not retry such requests.
7390//
7391//   * ErrCodeInvalidRequestException "InvalidRequestException"
7392//   One or more parameter values in the request are invalid. Correct the invalid
7393//   parameter values before retrying.
7394//
7395//   * ErrCodeNotFoundException "NotFoundException"
7396//   A service resource associated with the request could not be found. Clients
7397//   should not retry such requests.
7398//
7399//   * ErrCodeInternalServiceException "InternalServiceException"
7400//   The service encountered an unrecoverable internal failure while processing
7401//   the request. Clients can retry such requests immediately or after a waiting
7402//   period.
7403//
7404// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
7405func (c *GameLift) UpdateBuild(input *UpdateBuildInput) (*UpdateBuildOutput, error) {
7406	req, out := c.UpdateBuildRequest(input)
7407	return out, req.Send()
7408}
7409
7410// UpdateBuildWithContext is the same as UpdateBuild with the addition of
7411// the ability to pass a context and additional request options.
7412//
7413// See UpdateBuild for details on how to use this API operation.
7414//
7415// The context must be non-nil and will be used for request cancellation. If
7416// the context is nil a panic will occur. In the future the SDK may create
7417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7418// for more information on using Contexts.
7419func (c *GameLift) UpdateBuildWithContext(ctx aws.Context, input *UpdateBuildInput, opts ...request.Option) (*UpdateBuildOutput, error) {
7420	req, out := c.UpdateBuildRequest(input)
7421	req.SetContext(ctx)
7422	req.ApplyOptions(opts...)
7423	return out, req.Send()
7424}
7425
7426const opUpdateFleetAttributes = "UpdateFleetAttributes"
7427
7428// UpdateFleetAttributesRequest generates a "aws/request.Request" representing the
7429// client's request for the UpdateFleetAttributes operation. The "output" return
7430// value will be populated with the request's response once the request completes
7431// successfuly.
7432//
7433// Use "Send" method on the returned Request to send the API call to the service.
7434// the "output" return value is not valid until after Send returns without error.
7435//
7436// See UpdateFleetAttributes for more information on using the UpdateFleetAttributes
7437// API call, and error handling.
7438//
7439// This method is useful when you want to inject custom logic or configuration
7440// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7441//
7442//
7443//    // Example sending a request using the UpdateFleetAttributesRequest method.
7444//    req, resp := client.UpdateFleetAttributesRequest(params)
7445//
7446//    err := req.Send()
7447//    if err == nil { // resp is now filled
7448//        fmt.Println(resp)
7449//    }
7450//
7451// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
7452func (c *GameLift) UpdateFleetAttributesRequest(input *UpdateFleetAttributesInput) (req *request.Request, output *UpdateFleetAttributesOutput) {
7453	op := &request.Operation{
7454		Name:       opUpdateFleetAttributes,
7455		HTTPMethod: "POST",
7456		HTTPPath:   "/",
7457	}
7458
7459	if input == nil {
7460		input = &UpdateFleetAttributesInput{}
7461	}
7462
7463	output = &UpdateFleetAttributesOutput{}
7464	req = c.newRequest(op, input, output)
7465	return
7466}
7467
7468// UpdateFleetAttributes API operation for Amazon GameLift.
7469//
7470// Updates fleet properties, including name and description, for a fleet. To
7471// update metadata, specify the fleet ID and the property values that you want
7472// to change. If successful, the fleet ID for the updated fleet is returned.
7473//
7474// Fleet-related operations include:
7475//
7476//    * CreateFleet
7477//
7478//    * ListFleets
7479//
7480//    * DeleteFleet
7481//
7482//    * Describe fleets:
7483//
7484// DescribeFleetAttributes
7485//
7486// DescribeFleetCapacity
7487//
7488// DescribeFleetPortSettings
7489//
7490// DescribeFleetUtilization
7491//
7492// DescribeRuntimeConfiguration
7493//
7494// DescribeEC2InstanceLimits
7495//
7496// DescribeFleetEvents
7497//
7498//    * Update fleets:
7499//
7500// UpdateFleetAttributes
7501//
7502// UpdateFleetCapacity
7503//
7504// UpdateFleetPortSettings
7505//
7506// UpdateRuntimeConfiguration
7507//
7508//    * Manage fleet actions:
7509//
7510// StartFleetActions
7511//
7512// StopFleetActions
7513//
7514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7515// with awserr.Error's Code and Message methods to get detailed information about
7516// the error.
7517//
7518// See the AWS API reference guide for Amazon GameLift's
7519// API operation UpdateFleetAttributes for usage and error information.
7520//
7521// Returned Error Codes:
7522//   * ErrCodeNotFoundException "NotFoundException"
7523//   A service resource associated with the request could not be found. Clients
7524//   should not retry such requests.
7525//
7526//   * ErrCodeConflictException "ConflictException"
7527//   The requested operation would cause a conflict with the current state of
7528//   a service resource associated with the request. Resolve the conflict before
7529//   retrying this request.
7530//
7531//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
7532//   The requested operation would cause a conflict with the current state of
7533//   a resource associated with the request and/or the fleet. Resolve the conflict
7534//   before retrying.
7535//
7536//   * ErrCodeLimitExceededException "LimitExceededException"
7537//   The requested operation would cause the resource to exceed the allowed service
7538//   limit. Resolve the issue before retrying.
7539//
7540//   * ErrCodeInternalServiceException "InternalServiceException"
7541//   The service encountered an unrecoverable internal failure while processing
7542//   the request. Clients can retry such requests immediately or after a waiting
7543//   period.
7544//
7545//   * ErrCodeInvalidRequestException "InvalidRequestException"
7546//   One or more parameter values in the request are invalid. Correct the invalid
7547//   parameter values before retrying.
7548//
7549//   * ErrCodeUnauthorizedException "UnauthorizedException"
7550//   The client failed authentication. Clients should not retry such requests.
7551//
7552// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
7553func (c *GameLift) UpdateFleetAttributes(input *UpdateFleetAttributesInput) (*UpdateFleetAttributesOutput, error) {
7554	req, out := c.UpdateFleetAttributesRequest(input)
7555	return out, req.Send()
7556}
7557
7558// UpdateFleetAttributesWithContext is the same as UpdateFleetAttributes with the addition of
7559// the ability to pass a context and additional request options.
7560//
7561// See UpdateFleetAttributes for details on how to use this API operation.
7562//
7563// The context must be non-nil and will be used for request cancellation. If
7564// the context is nil a panic will occur. In the future the SDK may create
7565// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7566// for more information on using Contexts.
7567func (c *GameLift) UpdateFleetAttributesWithContext(ctx aws.Context, input *UpdateFleetAttributesInput, opts ...request.Option) (*UpdateFleetAttributesOutput, error) {
7568	req, out := c.UpdateFleetAttributesRequest(input)
7569	req.SetContext(ctx)
7570	req.ApplyOptions(opts...)
7571	return out, req.Send()
7572}
7573
7574const opUpdateFleetCapacity = "UpdateFleetCapacity"
7575
7576// UpdateFleetCapacityRequest generates a "aws/request.Request" representing the
7577// client's request for the UpdateFleetCapacity operation. The "output" return
7578// value will be populated with the request's response once the request completes
7579// successfuly.
7580//
7581// Use "Send" method on the returned Request to send the API call to the service.
7582// the "output" return value is not valid until after Send returns without error.
7583//
7584// See UpdateFleetCapacity for more information on using the UpdateFleetCapacity
7585// API call, and error handling.
7586//
7587// This method is useful when you want to inject custom logic or configuration
7588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7589//
7590//
7591//    // Example sending a request using the UpdateFleetCapacityRequest method.
7592//    req, resp := client.UpdateFleetCapacityRequest(params)
7593//
7594//    err := req.Send()
7595//    if err == nil { // resp is now filled
7596//        fmt.Println(resp)
7597//    }
7598//
7599// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
7600func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) (req *request.Request, output *UpdateFleetCapacityOutput) {
7601	op := &request.Operation{
7602		Name:       opUpdateFleetCapacity,
7603		HTTPMethod: "POST",
7604		HTTPPath:   "/",
7605	}
7606
7607	if input == nil {
7608		input = &UpdateFleetCapacityInput{}
7609	}
7610
7611	output = &UpdateFleetCapacityOutput{}
7612	req = c.newRequest(op, input, output)
7613	return
7614}
7615
7616// UpdateFleetCapacity API operation for Amazon GameLift.
7617//
7618// Updates capacity settings for a fleet. Use this action to specify the number
7619// of EC2 instances (hosts) that you want this fleet to contain. Before calling
7620// this action, you may want to call DescribeEC2InstanceLimits to get the maximum
7621// capacity based on the fleet's EC2 instance type.
7622//
7623// Specify minimum and maximum number of instances. Amazon GameLift will not
7624// change fleet capacity to values fall outside of this range. This is particularly
7625// important when using auto-scaling (see PutScalingPolicy) to allow capacity
7626// to adjust based on player demand while imposing limits on automatic adjustments.
7627//
7628// To update fleet capacity, specify the fleet ID and the number of instances
7629// you want the fleet to host. If successful, Amazon GameLift starts or terminates
7630// instances so that the fleet's active instance count matches the desired instance
7631// count. You can view a fleet's current capacity information by calling DescribeFleetCapacity.
7632// If the desired instance count is higher than the instance type's limit, the
7633// "Limit Exceeded" exception occurs.
7634//
7635// Fleet-related operations include:
7636//
7637//    * CreateFleet
7638//
7639//    * ListFleets
7640//
7641//    * DeleteFleet
7642//
7643//    * Describe fleets:
7644//
7645// DescribeFleetAttributes
7646//
7647// DescribeFleetCapacity
7648//
7649// DescribeFleetPortSettings
7650//
7651// DescribeFleetUtilization
7652//
7653// DescribeRuntimeConfiguration
7654//
7655// DescribeEC2InstanceLimits
7656//
7657// DescribeFleetEvents
7658//
7659//    * Update fleets:
7660//
7661// UpdateFleetAttributes
7662//
7663// UpdateFleetCapacity
7664//
7665// UpdateFleetPortSettings
7666//
7667// UpdateRuntimeConfiguration
7668//
7669//    * Manage fleet actions:
7670//
7671// StartFleetActions
7672//
7673// StopFleetActions
7674//
7675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7676// with awserr.Error's Code and Message methods to get detailed information about
7677// the error.
7678//
7679// See the AWS API reference guide for Amazon GameLift's
7680// API operation UpdateFleetCapacity for usage and error information.
7681//
7682// Returned Error Codes:
7683//   * ErrCodeNotFoundException "NotFoundException"
7684//   A service resource associated with the request could not be found. Clients
7685//   should not retry such requests.
7686//
7687//   * ErrCodeConflictException "ConflictException"
7688//   The requested operation would cause a conflict with the current state of
7689//   a service resource associated with the request. Resolve the conflict before
7690//   retrying this request.
7691//
7692//   * ErrCodeLimitExceededException "LimitExceededException"
7693//   The requested operation would cause the resource to exceed the allowed service
7694//   limit. Resolve the issue before retrying.
7695//
7696//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
7697//   The requested operation would cause a conflict with the current state of
7698//   a resource associated with the request and/or the fleet. Resolve the conflict
7699//   before retrying.
7700//
7701//   * ErrCodeInternalServiceException "InternalServiceException"
7702//   The service encountered an unrecoverable internal failure while processing
7703//   the request. Clients can retry such requests immediately or after a waiting
7704//   period.
7705//
7706//   * ErrCodeInvalidRequestException "InvalidRequestException"
7707//   One or more parameter values in the request are invalid. Correct the invalid
7708//   parameter values before retrying.
7709//
7710//   * ErrCodeUnauthorizedException "UnauthorizedException"
7711//   The client failed authentication. Clients should not retry such requests.
7712//
7713// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
7714func (c *GameLift) UpdateFleetCapacity(input *UpdateFleetCapacityInput) (*UpdateFleetCapacityOutput, error) {
7715	req, out := c.UpdateFleetCapacityRequest(input)
7716	return out, req.Send()
7717}
7718
7719// UpdateFleetCapacityWithContext is the same as UpdateFleetCapacity with the addition of
7720// the ability to pass a context and additional request options.
7721//
7722// See UpdateFleetCapacity for details on how to use this API operation.
7723//
7724// The context must be non-nil and will be used for request cancellation. If
7725// the context is nil a panic will occur. In the future the SDK may create
7726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7727// for more information on using Contexts.
7728func (c *GameLift) UpdateFleetCapacityWithContext(ctx aws.Context, input *UpdateFleetCapacityInput, opts ...request.Option) (*UpdateFleetCapacityOutput, error) {
7729	req, out := c.UpdateFleetCapacityRequest(input)
7730	req.SetContext(ctx)
7731	req.ApplyOptions(opts...)
7732	return out, req.Send()
7733}
7734
7735const opUpdateFleetPortSettings = "UpdateFleetPortSettings"
7736
7737// UpdateFleetPortSettingsRequest generates a "aws/request.Request" representing the
7738// client's request for the UpdateFleetPortSettings operation. The "output" return
7739// value will be populated with the request's response once the request completes
7740// successfuly.
7741//
7742// Use "Send" method on the returned Request to send the API call to the service.
7743// the "output" return value is not valid until after Send returns without error.
7744//
7745// See UpdateFleetPortSettings for more information on using the UpdateFleetPortSettings
7746// API call, and error handling.
7747//
7748// This method is useful when you want to inject custom logic or configuration
7749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7750//
7751//
7752//    // Example sending a request using the UpdateFleetPortSettingsRequest method.
7753//    req, resp := client.UpdateFleetPortSettingsRequest(params)
7754//
7755//    err := req.Send()
7756//    if err == nil { // resp is now filled
7757//        fmt.Println(resp)
7758//    }
7759//
7760// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
7761func (c *GameLift) UpdateFleetPortSettingsRequest(input *UpdateFleetPortSettingsInput) (req *request.Request, output *UpdateFleetPortSettingsOutput) {
7762	op := &request.Operation{
7763		Name:       opUpdateFleetPortSettings,
7764		HTTPMethod: "POST",
7765		HTTPPath:   "/",
7766	}
7767
7768	if input == nil {
7769		input = &UpdateFleetPortSettingsInput{}
7770	}
7771
7772	output = &UpdateFleetPortSettingsOutput{}
7773	req = c.newRequest(op, input, output)
7774	return
7775}
7776
7777// UpdateFleetPortSettings API operation for Amazon GameLift.
7778//
7779// Updates port settings for a fleet. To update settings, specify the fleet
7780// ID to be updated and list the permissions you want to update. List the permissions
7781// you want to add in InboundPermissionAuthorizations, and permissions you want
7782// to remove in InboundPermissionRevocations. Permissions to be removed must
7783// match existing fleet permissions. If successful, the fleet ID for the updated
7784// fleet is returned.
7785//
7786// Fleet-related operations include:
7787//
7788//    * CreateFleet
7789//
7790//    * ListFleets
7791//
7792//    * DeleteFleet
7793//
7794//    * Describe fleets:
7795//
7796// DescribeFleetAttributes
7797//
7798// DescribeFleetCapacity
7799//
7800// DescribeFleetPortSettings
7801//
7802// DescribeFleetUtilization
7803//
7804// DescribeRuntimeConfiguration
7805//
7806// DescribeEC2InstanceLimits
7807//
7808// DescribeFleetEvents
7809//
7810//    * Update fleets:
7811//
7812// UpdateFleetAttributes
7813//
7814// UpdateFleetCapacity
7815//
7816// UpdateFleetPortSettings
7817//
7818// UpdateRuntimeConfiguration
7819//
7820//    * Manage fleet actions:
7821//
7822// StartFleetActions
7823//
7824// StopFleetActions
7825//
7826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7827// with awserr.Error's Code and Message methods to get detailed information about
7828// the error.
7829//
7830// See the AWS API reference guide for Amazon GameLift's
7831// API operation UpdateFleetPortSettings for usage and error information.
7832//
7833// Returned Error Codes:
7834//   * ErrCodeNotFoundException "NotFoundException"
7835//   A service resource associated with the request could not be found. Clients
7836//   should not retry such requests.
7837//
7838//   * ErrCodeConflictException "ConflictException"
7839//   The requested operation would cause a conflict with the current state of
7840//   a service resource associated with the request. Resolve the conflict before
7841//   retrying this request.
7842//
7843//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
7844//   The requested operation would cause a conflict with the current state of
7845//   a resource associated with the request and/or the fleet. Resolve the conflict
7846//   before retrying.
7847//
7848//   * ErrCodeLimitExceededException "LimitExceededException"
7849//   The requested operation would cause the resource to exceed the allowed service
7850//   limit. Resolve the issue before retrying.
7851//
7852//   * ErrCodeInternalServiceException "InternalServiceException"
7853//   The service encountered an unrecoverable internal failure while processing
7854//   the request. Clients can retry such requests immediately or after a waiting
7855//   period.
7856//
7857//   * ErrCodeInvalidRequestException "InvalidRequestException"
7858//   One or more parameter values in the request are invalid. Correct the invalid
7859//   parameter values before retrying.
7860//
7861//   * ErrCodeUnauthorizedException "UnauthorizedException"
7862//   The client failed authentication. Clients should not retry such requests.
7863//
7864// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
7865func (c *GameLift) UpdateFleetPortSettings(input *UpdateFleetPortSettingsInput) (*UpdateFleetPortSettingsOutput, error) {
7866	req, out := c.UpdateFleetPortSettingsRequest(input)
7867	return out, req.Send()
7868}
7869
7870// UpdateFleetPortSettingsWithContext is the same as UpdateFleetPortSettings with the addition of
7871// the ability to pass a context and additional request options.
7872//
7873// See UpdateFleetPortSettings for details on how to use this API operation.
7874//
7875// The context must be non-nil and will be used for request cancellation. If
7876// the context is nil a panic will occur. In the future the SDK may create
7877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7878// for more information on using Contexts.
7879func (c *GameLift) UpdateFleetPortSettingsWithContext(ctx aws.Context, input *UpdateFleetPortSettingsInput, opts ...request.Option) (*UpdateFleetPortSettingsOutput, error) {
7880	req, out := c.UpdateFleetPortSettingsRequest(input)
7881	req.SetContext(ctx)
7882	req.ApplyOptions(opts...)
7883	return out, req.Send()
7884}
7885
7886const opUpdateGameSession = "UpdateGameSession"
7887
7888// UpdateGameSessionRequest generates a "aws/request.Request" representing the
7889// client's request for the UpdateGameSession operation. The "output" return
7890// value will be populated with the request's response once the request completes
7891// successfuly.
7892//
7893// Use "Send" method on the returned Request to send the API call to the service.
7894// the "output" return value is not valid until after Send returns without error.
7895//
7896// See UpdateGameSession for more information on using the UpdateGameSession
7897// API call, and error handling.
7898//
7899// This method is useful when you want to inject custom logic or configuration
7900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7901//
7902//
7903//    // Example sending a request using the UpdateGameSessionRequest method.
7904//    req, resp := client.UpdateGameSessionRequest(params)
7905//
7906//    err := req.Send()
7907//    if err == nil { // resp is now filled
7908//        fmt.Println(resp)
7909//    }
7910//
7911// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
7912func (c *GameLift) UpdateGameSessionRequest(input *UpdateGameSessionInput) (req *request.Request, output *UpdateGameSessionOutput) {
7913	op := &request.Operation{
7914		Name:       opUpdateGameSession,
7915		HTTPMethod: "POST",
7916		HTTPPath:   "/",
7917	}
7918
7919	if input == nil {
7920		input = &UpdateGameSessionInput{}
7921	}
7922
7923	output = &UpdateGameSessionOutput{}
7924	req = c.newRequest(op, input, output)
7925	return
7926}
7927
7928// UpdateGameSession API operation for Amazon GameLift.
7929//
7930// Updates game session properties. This includes the session name, maximum
7931// player count, protection policy, which controls whether or not an active
7932// game session can be terminated during a scale-down event, and the player
7933// session creation policy, which controls whether or not new players can join
7934// the session. To update a game session, specify the game session ID and the
7935// values you want to change. If successful, an updated GameSession object is
7936// returned.
7937//
7938// Game-session-related operations include:
7939//
7940//    * CreateGameSession
7941//
7942//    * DescribeGameSessions
7943//
7944//    * DescribeGameSessionDetails
7945//
7946//    * SearchGameSessions
7947//
7948//    * UpdateGameSession
7949//
7950//    * GetGameSessionLogUrl
7951//
7952//    * Game session placements
7953//
7954// StartGameSessionPlacement
7955//
7956// DescribeGameSessionPlacement
7957//
7958// StopGameSessionPlacement
7959//
7960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7961// with awserr.Error's Code and Message methods to get detailed information about
7962// the error.
7963//
7964// See the AWS API reference guide for Amazon GameLift's
7965// API operation UpdateGameSession for usage and error information.
7966//
7967// Returned Error Codes:
7968//   * ErrCodeNotFoundException "NotFoundException"
7969//   A service resource associated with the request could not be found. Clients
7970//   should not retry such requests.
7971//
7972//   * ErrCodeConflictException "ConflictException"
7973//   The requested operation would cause a conflict with the current state of
7974//   a service resource associated with the request. Resolve the conflict before
7975//   retrying this request.
7976//
7977//   * ErrCodeInternalServiceException "InternalServiceException"
7978//   The service encountered an unrecoverable internal failure while processing
7979//   the request. Clients can retry such requests immediately or after a waiting
7980//   period.
7981//
7982//   * ErrCodeUnauthorizedException "UnauthorizedException"
7983//   The client failed authentication. Clients should not retry such requests.
7984//
7985//   * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException"
7986//   The requested operation would cause a conflict with the current state of
7987//   a resource associated with the request and/or the game instance. Resolve
7988//   the conflict before retrying.
7989//
7990//   * ErrCodeInvalidRequestException "InvalidRequestException"
7991//   One or more parameter values in the request are invalid. Correct the invalid
7992//   parameter values before retrying.
7993//
7994// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
7995func (c *GameLift) UpdateGameSession(input *UpdateGameSessionInput) (*UpdateGameSessionOutput, error) {
7996	req, out := c.UpdateGameSessionRequest(input)
7997	return out, req.Send()
7998}
7999
8000// UpdateGameSessionWithContext is the same as UpdateGameSession with the addition of
8001// the ability to pass a context and additional request options.
8002//
8003// See UpdateGameSession for details on how to use this API operation.
8004//
8005// The context must be non-nil and will be used for request cancellation. If
8006// the context is nil a panic will occur. In the future the SDK may create
8007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8008// for more information on using Contexts.
8009func (c *GameLift) UpdateGameSessionWithContext(ctx aws.Context, input *UpdateGameSessionInput, opts ...request.Option) (*UpdateGameSessionOutput, error) {
8010	req, out := c.UpdateGameSessionRequest(input)
8011	req.SetContext(ctx)
8012	req.ApplyOptions(opts...)
8013	return out, req.Send()
8014}
8015
8016const opUpdateGameSessionQueue = "UpdateGameSessionQueue"
8017
8018// UpdateGameSessionQueueRequest generates a "aws/request.Request" representing the
8019// client's request for the UpdateGameSessionQueue operation. The "output" return
8020// value will be populated with the request's response once the request completes
8021// successfuly.
8022//
8023// Use "Send" method on the returned Request to send the API call to the service.
8024// the "output" return value is not valid until after Send returns without error.
8025//
8026// See UpdateGameSessionQueue for more information on using the UpdateGameSessionQueue
8027// API call, and error handling.
8028//
8029// This method is useful when you want to inject custom logic or configuration
8030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8031//
8032//
8033//    // Example sending a request using the UpdateGameSessionQueueRequest method.
8034//    req, resp := client.UpdateGameSessionQueueRequest(params)
8035//
8036//    err := req.Send()
8037//    if err == nil { // resp is now filled
8038//        fmt.Println(resp)
8039//    }
8040//
8041// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
8042func (c *GameLift) UpdateGameSessionQueueRequest(input *UpdateGameSessionQueueInput) (req *request.Request, output *UpdateGameSessionQueueOutput) {
8043	op := &request.Operation{
8044		Name:       opUpdateGameSessionQueue,
8045		HTTPMethod: "POST",
8046		HTTPPath:   "/",
8047	}
8048
8049	if input == nil {
8050		input = &UpdateGameSessionQueueInput{}
8051	}
8052
8053	output = &UpdateGameSessionQueueOutput{}
8054	req = c.newRequest(op, input, output)
8055	return
8056}
8057
8058// UpdateGameSessionQueue API operation for Amazon GameLift.
8059//
8060// Updates settings for a game session queue, which determines how new game
8061// session requests in the queue are processed. To update settings, specify
8062// the queue name to be updated and provide the new settings. When updating
8063// destinations, provide a complete list of destinations.
8064//
8065// Queue-related operations include:
8066//
8067//    * CreateGameSessionQueue
8068//
8069//    * DescribeGameSessionQueues
8070//
8071//    * UpdateGameSessionQueue
8072//
8073//    * DeleteGameSessionQueue
8074//
8075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8076// with awserr.Error's Code and Message methods to get detailed information about
8077// the error.
8078//
8079// See the AWS API reference guide for Amazon GameLift's
8080// API operation UpdateGameSessionQueue for usage and error information.
8081//
8082// Returned Error Codes:
8083//   * ErrCodeInternalServiceException "InternalServiceException"
8084//   The service encountered an unrecoverable internal failure while processing
8085//   the request. Clients can retry such requests immediately or after a waiting
8086//   period.
8087//
8088//   * ErrCodeInvalidRequestException "InvalidRequestException"
8089//   One or more parameter values in the request are invalid. Correct the invalid
8090//   parameter values before retrying.
8091//
8092//   * ErrCodeNotFoundException "NotFoundException"
8093//   A service resource associated with the request could not be found. Clients
8094//   should not retry such requests.
8095//
8096//   * ErrCodeUnauthorizedException "UnauthorizedException"
8097//   The client failed authentication. Clients should not retry such requests.
8098//
8099// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
8100func (c *GameLift) UpdateGameSessionQueue(input *UpdateGameSessionQueueInput) (*UpdateGameSessionQueueOutput, error) {
8101	req, out := c.UpdateGameSessionQueueRequest(input)
8102	return out, req.Send()
8103}
8104
8105// UpdateGameSessionQueueWithContext is the same as UpdateGameSessionQueue with the addition of
8106// the ability to pass a context and additional request options.
8107//
8108// See UpdateGameSessionQueue for details on how to use this API operation.
8109//
8110// The context must be non-nil and will be used for request cancellation. If
8111// the context is nil a panic will occur. In the future the SDK may create
8112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8113// for more information on using Contexts.
8114func (c *GameLift) UpdateGameSessionQueueWithContext(ctx aws.Context, input *UpdateGameSessionQueueInput, opts ...request.Option) (*UpdateGameSessionQueueOutput, error) {
8115	req, out := c.UpdateGameSessionQueueRequest(input)
8116	req.SetContext(ctx)
8117	req.ApplyOptions(opts...)
8118	return out, req.Send()
8119}
8120
8121const opUpdateMatchmakingConfiguration = "UpdateMatchmakingConfiguration"
8122
8123// UpdateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
8124// client's request for the UpdateMatchmakingConfiguration operation. The "output" return
8125// value will be populated with the request's response once the request completes
8126// successfuly.
8127//
8128// Use "Send" method on the returned Request to send the API call to the service.
8129// the "output" return value is not valid until after Send returns without error.
8130//
8131// See UpdateMatchmakingConfiguration for more information on using the UpdateMatchmakingConfiguration
8132// API call, and error handling.
8133//
8134// This method is useful when you want to inject custom logic or configuration
8135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8136//
8137//
8138//    // Example sending a request using the UpdateMatchmakingConfigurationRequest method.
8139//    req, resp := client.UpdateMatchmakingConfigurationRequest(params)
8140//
8141//    err := req.Send()
8142//    if err == nil { // resp is now filled
8143//        fmt.Println(resp)
8144//    }
8145//
8146// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
8147func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakingConfigurationInput) (req *request.Request, output *UpdateMatchmakingConfigurationOutput) {
8148	op := &request.Operation{
8149		Name:       opUpdateMatchmakingConfiguration,
8150		HTTPMethod: "POST",
8151		HTTPPath:   "/",
8152	}
8153
8154	if input == nil {
8155		input = &UpdateMatchmakingConfigurationInput{}
8156	}
8157
8158	output = &UpdateMatchmakingConfigurationOutput{}
8159	req = c.newRequest(op, input, output)
8160	return
8161}
8162
8163// UpdateMatchmakingConfiguration API operation for Amazon GameLift.
8164//
8165// Updates settings for a FlexMatch matchmaking configuration. To update settings,
8166// specify the configuration name to be updated and provide the new settings.
8167//
8168// Operations related to match configurations and rule sets include:
8169//
8170//    * CreateMatchmakingConfiguration
8171//
8172//    * DescribeMatchmakingConfigurations
8173//
8174//    * UpdateMatchmakingConfiguration
8175//
8176//    * DeleteMatchmakingConfiguration
8177//
8178//    * CreateMatchmakingRuleSet
8179//
8180//    * DescribeMatchmakingRuleSets
8181//
8182//    * ValidateMatchmakingRuleSet
8183//
8184// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8185// with awserr.Error's Code and Message methods to get detailed information about
8186// the error.
8187//
8188// See the AWS API reference guide for Amazon GameLift's
8189// API operation UpdateMatchmakingConfiguration for usage and error information.
8190//
8191// Returned Error Codes:
8192//   * ErrCodeInvalidRequestException "InvalidRequestException"
8193//   One or more parameter values in the request are invalid. Correct the invalid
8194//   parameter values before retrying.
8195//
8196//   * ErrCodeNotFoundException "NotFoundException"
8197//   A service resource associated with the request could not be found. Clients
8198//   should not retry such requests.
8199//
8200//   * ErrCodeInternalServiceException "InternalServiceException"
8201//   The service encountered an unrecoverable internal failure while processing
8202//   the request. Clients can retry such requests immediately or after a waiting
8203//   period.
8204//
8205//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
8206//   The requested operation is not supported in the region specified.
8207//
8208// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
8209func (c *GameLift) UpdateMatchmakingConfiguration(input *UpdateMatchmakingConfigurationInput) (*UpdateMatchmakingConfigurationOutput, error) {
8210	req, out := c.UpdateMatchmakingConfigurationRequest(input)
8211	return out, req.Send()
8212}
8213
8214// UpdateMatchmakingConfigurationWithContext is the same as UpdateMatchmakingConfiguration with the addition of
8215// the ability to pass a context and additional request options.
8216//
8217// See UpdateMatchmakingConfiguration for details on how to use this API operation.
8218//
8219// The context must be non-nil and will be used for request cancellation. If
8220// the context is nil a panic will occur. In the future the SDK may create
8221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8222// for more information on using Contexts.
8223func (c *GameLift) UpdateMatchmakingConfigurationWithContext(ctx aws.Context, input *UpdateMatchmakingConfigurationInput, opts ...request.Option) (*UpdateMatchmakingConfigurationOutput, error) {
8224	req, out := c.UpdateMatchmakingConfigurationRequest(input)
8225	req.SetContext(ctx)
8226	req.ApplyOptions(opts...)
8227	return out, req.Send()
8228}
8229
8230const opUpdateRuntimeConfiguration = "UpdateRuntimeConfiguration"
8231
8232// UpdateRuntimeConfigurationRequest generates a "aws/request.Request" representing the
8233// client's request for the UpdateRuntimeConfiguration operation. The "output" return
8234// value will be populated with the request's response once the request completes
8235// successfuly.
8236//
8237// Use "Send" method on the returned Request to send the API call to the service.
8238// the "output" return value is not valid until after Send returns without error.
8239//
8240// See UpdateRuntimeConfiguration for more information on using the UpdateRuntimeConfiguration
8241// API call, and error handling.
8242//
8243// This method is useful when you want to inject custom logic or configuration
8244// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8245//
8246//
8247//    // Example sending a request using the UpdateRuntimeConfigurationRequest method.
8248//    req, resp := client.UpdateRuntimeConfigurationRequest(params)
8249//
8250//    err := req.Send()
8251//    if err == nil { // resp is now filled
8252//        fmt.Println(resp)
8253//    }
8254//
8255// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
8256func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigurationInput) (req *request.Request, output *UpdateRuntimeConfigurationOutput) {
8257	op := &request.Operation{
8258		Name:       opUpdateRuntimeConfiguration,
8259		HTTPMethod: "POST",
8260		HTTPPath:   "/",
8261	}
8262
8263	if input == nil {
8264		input = &UpdateRuntimeConfigurationInput{}
8265	}
8266
8267	output = &UpdateRuntimeConfigurationOutput{}
8268	req = c.newRequest(op, input, output)
8269	return
8270}
8271
8272// UpdateRuntimeConfiguration API operation for Amazon GameLift.
8273//
8274// Updates the current run-time configuration for the specified fleet, which
8275// tells Amazon GameLift how to launch server processes on instances in the
8276// fleet. You can update a fleet's run-time configuration at any time after
8277// the fleet is created; it does not need to be in an ACTIVE status.
8278//
8279// To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration
8280// object with the updated collection of server process configurations.
8281//
8282// Each instance in a Amazon GameLift fleet checks regularly for an updated
8283// run-time configuration and changes how it launches server processes to comply
8284// with the latest version. Existing server processes are not affected by the
8285// update; they continue to run until they end, while Amazon GameLift simply
8286// adds new server processes to fit the current run-time configuration. As a
8287// result, the run-time configuration changes are applied gradually as existing
8288// processes shut down and new processes are launched in Amazon GameLift's normal
8289// process recycling activity.
8290//
8291// Fleet-related operations include:
8292//
8293//    * CreateFleet
8294//
8295//    * ListFleets
8296//
8297//    * DeleteFleet
8298//
8299//    * Describe fleets:
8300//
8301// DescribeFleetAttributes
8302//
8303// DescribeFleetCapacity
8304//
8305// DescribeFleetPortSettings
8306//
8307// DescribeFleetUtilization
8308//
8309// DescribeRuntimeConfiguration
8310//
8311// DescribeEC2InstanceLimits
8312//
8313// DescribeFleetEvents
8314//
8315//    * Update fleets:
8316//
8317// UpdateFleetAttributes
8318//
8319// UpdateFleetCapacity
8320//
8321// UpdateFleetPortSettings
8322//
8323// UpdateRuntimeConfiguration
8324//
8325//    * Manage fleet actions:
8326//
8327// StartFleetActions
8328//
8329// StopFleetActions
8330//
8331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8332// with awserr.Error's Code and Message methods to get detailed information about
8333// the error.
8334//
8335// See the AWS API reference guide for Amazon GameLift's
8336// API operation UpdateRuntimeConfiguration for usage and error information.
8337//
8338// Returned Error Codes:
8339//   * ErrCodeUnauthorizedException "UnauthorizedException"
8340//   The client failed authentication. Clients should not retry such requests.
8341//
8342//   * ErrCodeNotFoundException "NotFoundException"
8343//   A service resource associated with the request could not be found. Clients
8344//   should not retry such requests.
8345//
8346//   * ErrCodeInternalServiceException "InternalServiceException"
8347//   The service encountered an unrecoverable internal failure while processing
8348//   the request. Clients can retry such requests immediately or after a waiting
8349//   period.
8350//
8351//   * ErrCodeInvalidRequestException "InvalidRequestException"
8352//   One or more parameter values in the request are invalid. Correct the invalid
8353//   parameter values before retrying.
8354//
8355//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
8356//   The requested operation would cause a conflict with the current state of
8357//   a resource associated with the request and/or the fleet. Resolve the conflict
8358//   before retrying.
8359//
8360// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
8361func (c *GameLift) UpdateRuntimeConfiguration(input *UpdateRuntimeConfigurationInput) (*UpdateRuntimeConfigurationOutput, error) {
8362	req, out := c.UpdateRuntimeConfigurationRequest(input)
8363	return out, req.Send()
8364}
8365
8366// UpdateRuntimeConfigurationWithContext is the same as UpdateRuntimeConfiguration with the addition of
8367// the ability to pass a context and additional request options.
8368//
8369// See UpdateRuntimeConfiguration for details on how to use this API operation.
8370//
8371// The context must be non-nil and will be used for request cancellation. If
8372// the context is nil a panic will occur. In the future the SDK may create
8373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8374// for more information on using Contexts.
8375func (c *GameLift) UpdateRuntimeConfigurationWithContext(ctx aws.Context, input *UpdateRuntimeConfigurationInput, opts ...request.Option) (*UpdateRuntimeConfigurationOutput, error) {
8376	req, out := c.UpdateRuntimeConfigurationRequest(input)
8377	req.SetContext(ctx)
8378	req.ApplyOptions(opts...)
8379	return out, req.Send()
8380}
8381
8382const opValidateMatchmakingRuleSet = "ValidateMatchmakingRuleSet"
8383
8384// ValidateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
8385// client's request for the ValidateMatchmakingRuleSet operation. The "output" return
8386// value will be populated with the request's response once the request completes
8387// successfuly.
8388//
8389// Use "Send" method on the returned Request to send the API call to the service.
8390// the "output" return value is not valid until after Send returns without error.
8391//
8392// See ValidateMatchmakingRuleSet for more information on using the ValidateMatchmakingRuleSet
8393// API call, and error handling.
8394//
8395// This method is useful when you want to inject custom logic or configuration
8396// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8397//
8398//
8399//    // Example sending a request using the ValidateMatchmakingRuleSetRequest method.
8400//    req, resp := client.ValidateMatchmakingRuleSetRequest(params)
8401//
8402//    err := req.Send()
8403//    if err == nil { // resp is now filled
8404//        fmt.Println(resp)
8405//    }
8406//
8407// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
8408func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingRuleSetInput) (req *request.Request, output *ValidateMatchmakingRuleSetOutput) {
8409	op := &request.Operation{
8410		Name:       opValidateMatchmakingRuleSet,
8411		HTTPMethod: "POST",
8412		HTTPPath:   "/",
8413	}
8414
8415	if input == nil {
8416		input = &ValidateMatchmakingRuleSetInput{}
8417	}
8418
8419	output = &ValidateMatchmakingRuleSetOutput{}
8420	req = c.newRequest(op, input, output)
8421	return
8422}
8423
8424// ValidateMatchmakingRuleSet API operation for Amazon GameLift.
8425//
8426// Validates the syntax of a matchmaking rule or rule set. This operation checks
8427// that the rule set uses syntactically correct JSON and that it conforms to
8428// allowed property expressions. To validate syntax, provide a rule set string.
8429//
8430// Operations related to match configurations and rule sets include:
8431//
8432//    * CreateMatchmakingConfiguration
8433//
8434//    * DescribeMatchmakingConfigurations
8435//
8436//    * UpdateMatchmakingConfiguration
8437//
8438//    * DeleteMatchmakingConfiguration
8439//
8440//    * CreateMatchmakingRuleSet
8441//
8442//    * DescribeMatchmakingRuleSets
8443//
8444//    * ValidateMatchmakingRuleSet
8445//
8446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8447// with awserr.Error's Code and Message methods to get detailed information about
8448// the error.
8449//
8450// See the AWS API reference guide for Amazon GameLift's
8451// API operation ValidateMatchmakingRuleSet for usage and error information.
8452//
8453// Returned Error Codes:
8454//   * ErrCodeInternalServiceException "InternalServiceException"
8455//   The service encountered an unrecoverable internal failure while processing
8456//   the request. Clients can retry such requests immediately or after a waiting
8457//   period.
8458//
8459//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
8460//   The requested operation is not supported in the region specified.
8461//
8462//   * ErrCodeInvalidRequestException "InvalidRequestException"
8463//   One or more parameter values in the request are invalid. Correct the invalid
8464//   parameter values before retrying.
8465//
8466// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
8467func (c *GameLift) ValidateMatchmakingRuleSet(input *ValidateMatchmakingRuleSetInput) (*ValidateMatchmakingRuleSetOutput, error) {
8468	req, out := c.ValidateMatchmakingRuleSetRequest(input)
8469	return out, req.Send()
8470}
8471
8472// ValidateMatchmakingRuleSetWithContext is the same as ValidateMatchmakingRuleSet with the addition of
8473// the ability to pass a context and additional request options.
8474//
8475// See ValidateMatchmakingRuleSet for details on how to use this API operation.
8476//
8477// The context must be non-nil and will be used for request cancellation. If
8478// the context is nil a panic will occur. In the future the SDK may create
8479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8480// for more information on using Contexts.
8481func (c *GameLift) ValidateMatchmakingRuleSetWithContext(ctx aws.Context, input *ValidateMatchmakingRuleSetInput, opts ...request.Option) (*ValidateMatchmakingRuleSetOutput, error) {
8482	req, out := c.ValidateMatchmakingRuleSetRequest(input)
8483	req.SetContext(ctx)
8484	req.ApplyOptions(opts...)
8485	return out, req.Send()
8486}
8487
8488// Represents the input for a request action.
8489type AcceptMatchInput struct {
8490	_ struct{} `type:"structure"`
8491
8492	// Player response to the proposed match.
8493	//
8494	// AcceptanceType is a required field
8495	AcceptanceType *string `type:"string" required:"true" enum:"AcceptanceType"`
8496
8497	// Unique identifier for a player delivering the response. This parameter can
8498	// include one or multiple player IDs.
8499	//
8500	// PlayerIds is a required field
8501	PlayerIds []*string `type:"list" required:"true"`
8502
8503	// Unique identifier for a matchmaking ticket. The ticket must be in status
8504	// REQUIRES_ACCEPTANCE; otherwise this request will fail.
8505	//
8506	// TicketId is a required field
8507	TicketId *string `min:"1" type:"string" required:"true"`
8508}
8509
8510// String returns the string representation
8511func (s AcceptMatchInput) String() string {
8512	return awsutil.Prettify(s)
8513}
8514
8515// GoString returns the string representation
8516func (s AcceptMatchInput) GoString() string {
8517	return s.String()
8518}
8519
8520// Validate inspects the fields of the type to determine if they are valid.
8521func (s *AcceptMatchInput) Validate() error {
8522	invalidParams := request.ErrInvalidParams{Context: "AcceptMatchInput"}
8523	if s.AcceptanceType == nil {
8524		invalidParams.Add(request.NewErrParamRequired("AcceptanceType"))
8525	}
8526	if s.PlayerIds == nil {
8527		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
8528	}
8529	if s.TicketId == nil {
8530		invalidParams.Add(request.NewErrParamRequired("TicketId"))
8531	}
8532	if s.TicketId != nil && len(*s.TicketId) < 1 {
8533		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
8534	}
8535
8536	if invalidParams.Len() > 0 {
8537		return invalidParams
8538	}
8539	return nil
8540}
8541
8542// SetAcceptanceType sets the AcceptanceType field's value.
8543func (s *AcceptMatchInput) SetAcceptanceType(v string) *AcceptMatchInput {
8544	s.AcceptanceType = &v
8545	return s
8546}
8547
8548// SetPlayerIds sets the PlayerIds field's value.
8549func (s *AcceptMatchInput) SetPlayerIds(v []*string) *AcceptMatchInput {
8550	s.PlayerIds = v
8551	return s
8552}
8553
8554// SetTicketId sets the TicketId field's value.
8555func (s *AcceptMatchInput) SetTicketId(v string) *AcceptMatchInput {
8556	s.TicketId = &v
8557	return s
8558}
8559
8560type AcceptMatchOutput struct {
8561	_ struct{} `type:"structure"`
8562}
8563
8564// String returns the string representation
8565func (s AcceptMatchOutput) String() string {
8566	return awsutil.Prettify(s)
8567}
8568
8569// GoString returns the string representation
8570func (s AcceptMatchOutput) GoString() string {
8571	return s.String()
8572}
8573
8574// Properties describing a fleet alias.
8575//
8576// Alias-related operations include:
8577//
8578//    * CreateAlias
8579//
8580//    * ListAliases
8581//
8582//    * DescribeAlias
8583//
8584//    * UpdateAlias
8585//
8586//    * DeleteAlias
8587//
8588//    * ResolveAlias
8589type Alias struct {
8590	_ struct{} `type:"structure"`
8591
8592	// Unique identifier for an alias; alias ARNs are unique across all regions.
8593	AliasArn *string `min:"1" type:"string"`
8594
8595	// Unique identifier for an alias; alias IDs are unique within a region.
8596	AliasId *string `type:"string"`
8597
8598	// Time stamp indicating when this data object was created. Format is a number
8599	// expressed in Unix time as milliseconds (for example "1469498468.057").
8600	CreationTime *time.Time `type:"timestamp"`
8601
8602	// Human-readable description of an alias.
8603	Description *string `type:"string"`
8604
8605	// Time stamp indicating when this data object was last modified. Format is
8606	// a number expressed in Unix time as milliseconds (for example "1469498468.057").
8607	LastUpdatedTime *time.Time `type:"timestamp"`
8608
8609	// Descriptive label that is associated with an alias. Alias names do not need
8610	// to be unique.
8611	Name *string `min:"1" type:"string"`
8612
8613	// Alias configuration for the alias, including routing type and settings.
8614	RoutingStrategy *RoutingStrategy `type:"structure"`
8615}
8616
8617// String returns the string representation
8618func (s Alias) String() string {
8619	return awsutil.Prettify(s)
8620}
8621
8622// GoString returns the string representation
8623func (s Alias) GoString() string {
8624	return s.String()
8625}
8626
8627// SetAliasArn sets the AliasArn field's value.
8628func (s *Alias) SetAliasArn(v string) *Alias {
8629	s.AliasArn = &v
8630	return s
8631}
8632
8633// SetAliasId sets the AliasId field's value.
8634func (s *Alias) SetAliasId(v string) *Alias {
8635	s.AliasId = &v
8636	return s
8637}
8638
8639// SetCreationTime sets the CreationTime field's value.
8640func (s *Alias) SetCreationTime(v time.Time) *Alias {
8641	s.CreationTime = &v
8642	return s
8643}
8644
8645// SetDescription sets the Description field's value.
8646func (s *Alias) SetDescription(v string) *Alias {
8647	s.Description = &v
8648	return s
8649}
8650
8651// SetLastUpdatedTime sets the LastUpdatedTime field's value.
8652func (s *Alias) SetLastUpdatedTime(v time.Time) *Alias {
8653	s.LastUpdatedTime = &v
8654	return s
8655}
8656
8657// SetName sets the Name field's value.
8658func (s *Alias) SetName(v string) *Alias {
8659	s.Name = &v
8660	return s
8661}
8662
8663// SetRoutingStrategy sets the RoutingStrategy field's value.
8664func (s *Alias) SetRoutingStrategy(v *RoutingStrategy) *Alias {
8665	s.RoutingStrategy = v
8666	return s
8667}
8668
8669// Values for use in Player attribute key:value pairs. This object lets you
8670// specify an attribute value using any of the valid data types: string, number,
8671// string array or data map. Each AttributeValue object can use only one of
8672// the available properties.
8673type AttributeValue struct {
8674	_ struct{} `type:"structure"`
8675
8676	// For number values, expressed as double.
8677	N *float64 `type:"double"`
8678
8679	// For single string values. Maximum string length is 100 characters.
8680	S *string `min:"1" type:"string"`
8681
8682	// For a map of up to 10 data type:value pairs. Maximum length for each string
8683	// value is 100 characters.
8684	SDM map[string]*float64 `type:"map"`
8685
8686	// For a list of up to 10 strings. Maximum length for each string is 100 characters.
8687	// Duplicate values are not recognized; all occurrences of the repeated value
8688	// after the first of a repeated value are ignored.
8689	SL []*string `type:"list"`
8690}
8691
8692// String returns the string representation
8693func (s AttributeValue) String() string {
8694	return awsutil.Prettify(s)
8695}
8696
8697// GoString returns the string representation
8698func (s AttributeValue) GoString() string {
8699	return s.String()
8700}
8701
8702// Validate inspects the fields of the type to determine if they are valid.
8703func (s *AttributeValue) Validate() error {
8704	invalidParams := request.ErrInvalidParams{Context: "AttributeValue"}
8705	if s.S != nil && len(*s.S) < 1 {
8706		invalidParams.Add(request.NewErrParamMinLen("S", 1))
8707	}
8708
8709	if invalidParams.Len() > 0 {
8710		return invalidParams
8711	}
8712	return nil
8713}
8714
8715// SetN sets the N field's value.
8716func (s *AttributeValue) SetN(v float64) *AttributeValue {
8717	s.N = &v
8718	return s
8719}
8720
8721// SetS sets the S field's value.
8722func (s *AttributeValue) SetS(v string) *AttributeValue {
8723	s.S = &v
8724	return s
8725}
8726
8727// SetSDM sets the SDM field's value.
8728func (s *AttributeValue) SetSDM(v map[string]*float64) *AttributeValue {
8729	s.SDM = v
8730	return s
8731}
8732
8733// SetSL sets the SL field's value.
8734func (s *AttributeValue) SetSL(v []*string) *AttributeValue {
8735	s.SL = v
8736	return s
8737}
8738
8739// Temporary access credentials used for uploading game build files to Amazon
8740// GameLift. They are valid for a limited time. If they expire before you upload
8741// your game build, get a new set by calling RequestUploadCredentials.
8742type AwsCredentials struct {
8743	_ struct{} `type:"structure"`
8744
8745	// Temporary key allowing access to the Amazon GameLift S3 account.
8746	AccessKeyId *string `min:"1" type:"string"`
8747
8748	// Temporary secret key allowing access to the Amazon GameLift S3 account.
8749	SecretAccessKey *string `min:"1" type:"string"`
8750
8751	// Token used to associate a specific build ID with the files uploaded using
8752	// these credentials.
8753	SessionToken *string `min:"1" type:"string"`
8754}
8755
8756// String returns the string representation
8757func (s AwsCredentials) String() string {
8758	return awsutil.Prettify(s)
8759}
8760
8761// GoString returns the string representation
8762func (s AwsCredentials) GoString() string {
8763	return s.String()
8764}
8765
8766// SetAccessKeyId sets the AccessKeyId field's value.
8767func (s *AwsCredentials) SetAccessKeyId(v string) *AwsCredentials {
8768	s.AccessKeyId = &v
8769	return s
8770}
8771
8772// SetSecretAccessKey sets the SecretAccessKey field's value.
8773func (s *AwsCredentials) SetSecretAccessKey(v string) *AwsCredentials {
8774	s.SecretAccessKey = &v
8775	return s
8776}
8777
8778// SetSessionToken sets the SessionToken field's value.
8779func (s *AwsCredentials) SetSessionToken(v string) *AwsCredentials {
8780	s.SessionToken = &v
8781	return s
8782}
8783
8784// Properties describing a game build.
8785//
8786// Build-related operations include:
8787//
8788//    * CreateBuild
8789//
8790//    * ListBuilds
8791//
8792//    * DescribeBuild
8793//
8794//    * UpdateBuild
8795//
8796//    * DeleteBuild
8797type Build struct {
8798	_ struct{} `type:"structure"`
8799
8800	// Unique identifier for a build.
8801	BuildId *string `type:"string"`
8802
8803	// Time stamp indicating when this data object was created. Format is a number
8804	// expressed in Unix time as milliseconds (for example "1469498468.057").
8805	CreationTime *time.Time `type:"timestamp"`
8806
8807	// Descriptive label that is associated with a build. Build names do not need
8808	// to be unique. It can be set using CreateBuild or UpdateBuild.
8809	Name *string `type:"string"`
8810
8811	// Operating system that the game server binaries are built to run on. This
8812	// value determines the type of fleet resources that you can use for this build.
8813	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
8814
8815	// File size of the uploaded game build, expressed in bytes. When the build
8816	// status is INITIALIZED, this value is 0.
8817	SizeOnDisk *int64 `min:"1" type:"long"`
8818
8819	// Current status of the build.
8820	//
8821	// Possible build statuses include the following:
8822	//
8823	//    * INITIALIZED -- A new build has been defined, but no files have been
8824	//    uploaded. You cannot create fleets for builds that are in this status.
8825	//    When a build is successfully created, the build status is set to this
8826	//    value.
8827	//
8828	//    * READY -- The game build has been successfully uploaded. You can now
8829	//    create new fleets for this build.
8830	//
8831	//    * FAILED -- The game build upload failed. You cannot create new fleets
8832	//    for this build.
8833	Status *string `type:"string" enum:"BuildStatus"`
8834
8835	// Version that is associated with this build. Version strings do not need to
8836	// be unique. This value can be set using CreateBuild or UpdateBuild.
8837	Version *string `type:"string"`
8838}
8839
8840// String returns the string representation
8841func (s Build) String() string {
8842	return awsutil.Prettify(s)
8843}
8844
8845// GoString returns the string representation
8846func (s Build) GoString() string {
8847	return s.String()
8848}
8849
8850// SetBuildId sets the BuildId field's value.
8851func (s *Build) SetBuildId(v string) *Build {
8852	s.BuildId = &v
8853	return s
8854}
8855
8856// SetCreationTime sets the CreationTime field's value.
8857func (s *Build) SetCreationTime(v time.Time) *Build {
8858	s.CreationTime = &v
8859	return s
8860}
8861
8862// SetName sets the Name field's value.
8863func (s *Build) SetName(v string) *Build {
8864	s.Name = &v
8865	return s
8866}
8867
8868// SetOperatingSystem sets the OperatingSystem field's value.
8869func (s *Build) SetOperatingSystem(v string) *Build {
8870	s.OperatingSystem = &v
8871	return s
8872}
8873
8874// SetSizeOnDisk sets the SizeOnDisk field's value.
8875func (s *Build) SetSizeOnDisk(v int64) *Build {
8876	s.SizeOnDisk = &v
8877	return s
8878}
8879
8880// SetStatus sets the Status field's value.
8881func (s *Build) SetStatus(v string) *Build {
8882	s.Status = &v
8883	return s
8884}
8885
8886// SetVersion sets the Version field's value.
8887func (s *Build) SetVersion(v string) *Build {
8888	s.Version = &v
8889	return s
8890}
8891
8892// Represents the input for a request action.
8893type CreateAliasInput struct {
8894	_ struct{} `type:"structure"`
8895
8896	// Human-readable description of an alias.
8897	Description *string `min:"1" type:"string"`
8898
8899	// Descriptive label that is associated with an alias. Alias names do not need
8900	// to be unique.
8901	//
8902	// Name is a required field
8903	Name *string `min:"1" type:"string" required:"true"`
8904
8905	// Object that specifies the fleet and routing type to use for the alias.
8906	//
8907	// RoutingStrategy is a required field
8908	RoutingStrategy *RoutingStrategy `type:"structure" required:"true"`
8909}
8910
8911// String returns the string representation
8912func (s CreateAliasInput) String() string {
8913	return awsutil.Prettify(s)
8914}
8915
8916// GoString returns the string representation
8917func (s CreateAliasInput) GoString() string {
8918	return s.String()
8919}
8920
8921// Validate inspects the fields of the type to determine if they are valid.
8922func (s *CreateAliasInput) Validate() error {
8923	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
8924	if s.Description != nil && len(*s.Description) < 1 {
8925		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
8926	}
8927	if s.Name == nil {
8928		invalidParams.Add(request.NewErrParamRequired("Name"))
8929	}
8930	if s.Name != nil && len(*s.Name) < 1 {
8931		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8932	}
8933	if s.RoutingStrategy == nil {
8934		invalidParams.Add(request.NewErrParamRequired("RoutingStrategy"))
8935	}
8936
8937	if invalidParams.Len() > 0 {
8938		return invalidParams
8939	}
8940	return nil
8941}
8942
8943// SetDescription sets the Description field's value.
8944func (s *CreateAliasInput) SetDescription(v string) *CreateAliasInput {
8945	s.Description = &v
8946	return s
8947}
8948
8949// SetName sets the Name field's value.
8950func (s *CreateAliasInput) SetName(v string) *CreateAliasInput {
8951	s.Name = &v
8952	return s
8953}
8954
8955// SetRoutingStrategy sets the RoutingStrategy field's value.
8956func (s *CreateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *CreateAliasInput {
8957	s.RoutingStrategy = v
8958	return s
8959}
8960
8961// Represents the returned data in response to a request action.
8962type CreateAliasOutput struct {
8963	_ struct{} `type:"structure"`
8964
8965	// Object that describes the newly created alias record.
8966	Alias *Alias `type:"structure"`
8967}
8968
8969// String returns the string representation
8970func (s CreateAliasOutput) String() string {
8971	return awsutil.Prettify(s)
8972}
8973
8974// GoString returns the string representation
8975func (s CreateAliasOutput) GoString() string {
8976	return s.String()
8977}
8978
8979// SetAlias sets the Alias field's value.
8980func (s *CreateAliasOutput) SetAlias(v *Alias) *CreateAliasOutput {
8981	s.Alias = v
8982	return s
8983}
8984
8985// Represents the input for a request action.
8986type CreateBuildInput struct {
8987	_ struct{} `type:"structure"`
8988
8989	// Descriptive label that is associated with a build. Build names do not need
8990	// to be unique. You can use UpdateBuild to change this value later.
8991	Name *string `min:"1" type:"string"`
8992
8993	// Operating system that the game server binaries are built to run on. This
8994	// value determines the type of fleet resources that you can use for this build.
8995	// If your game build contains multiple executables, they all must run on the
8996	// same operating system. If an operating system is not specified when creating
8997	// a build, Amazon GameLift uses the default value (WINDOWS_2012). This value
8998	// cannot be changed later.
8999	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
9000
9001	// Information indicating where your game build files are stored. Use this parameter
9002	// only when creating a build with files stored in an Amazon S3 bucket that
9003	// you own. The storage location must specify an Amazon S3 bucket name and key,
9004	// as well as a role ARN that you set up to allow Amazon GameLift to access
9005	// your Amazon S3 bucket. The S3 bucket must be in the same region that you
9006	// want to create a new build in.
9007	StorageLocation *S3Location `type:"structure"`
9008
9009	// Version that is associated with this build. Version strings do not need to
9010	// be unique. You can use UpdateBuild to change this value later.
9011	Version *string `min:"1" type:"string"`
9012}
9013
9014// String returns the string representation
9015func (s CreateBuildInput) String() string {
9016	return awsutil.Prettify(s)
9017}
9018
9019// GoString returns the string representation
9020func (s CreateBuildInput) GoString() string {
9021	return s.String()
9022}
9023
9024// Validate inspects the fields of the type to determine if they are valid.
9025func (s *CreateBuildInput) Validate() error {
9026	invalidParams := request.ErrInvalidParams{Context: "CreateBuildInput"}
9027	if s.Name != nil && len(*s.Name) < 1 {
9028		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9029	}
9030	if s.Version != nil && len(*s.Version) < 1 {
9031		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
9032	}
9033	if s.StorageLocation != nil {
9034		if err := s.StorageLocation.Validate(); err != nil {
9035			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
9036		}
9037	}
9038
9039	if invalidParams.Len() > 0 {
9040		return invalidParams
9041	}
9042	return nil
9043}
9044
9045// SetName sets the Name field's value.
9046func (s *CreateBuildInput) SetName(v string) *CreateBuildInput {
9047	s.Name = &v
9048	return s
9049}
9050
9051// SetOperatingSystem sets the OperatingSystem field's value.
9052func (s *CreateBuildInput) SetOperatingSystem(v string) *CreateBuildInput {
9053	s.OperatingSystem = &v
9054	return s
9055}
9056
9057// SetStorageLocation sets the StorageLocation field's value.
9058func (s *CreateBuildInput) SetStorageLocation(v *S3Location) *CreateBuildInput {
9059	s.StorageLocation = v
9060	return s
9061}
9062
9063// SetVersion sets the Version field's value.
9064func (s *CreateBuildInput) SetVersion(v string) *CreateBuildInput {
9065	s.Version = &v
9066	return s
9067}
9068
9069// Represents the returned data in response to a request action.
9070type CreateBuildOutput struct {
9071	_ struct{} `type:"structure"`
9072
9073	// The newly created build record, including a unique build ID and status.
9074	Build *Build `type:"structure"`
9075
9076	// Amazon S3 location for your game build file, including bucket name and key.
9077	StorageLocation *S3Location `type:"structure"`
9078
9079	// This element is returned only when the operation is called without a storage
9080	// location. It contains credentials to use when you are uploading a build file
9081	// to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have
9082	// a limited life span. To refresh these credentials, call RequestUploadCredentials.
9083	UploadCredentials *AwsCredentials `type:"structure"`
9084}
9085
9086// String returns the string representation
9087func (s CreateBuildOutput) String() string {
9088	return awsutil.Prettify(s)
9089}
9090
9091// GoString returns the string representation
9092func (s CreateBuildOutput) GoString() string {
9093	return s.String()
9094}
9095
9096// SetBuild sets the Build field's value.
9097func (s *CreateBuildOutput) SetBuild(v *Build) *CreateBuildOutput {
9098	s.Build = v
9099	return s
9100}
9101
9102// SetStorageLocation sets the StorageLocation field's value.
9103func (s *CreateBuildOutput) SetStorageLocation(v *S3Location) *CreateBuildOutput {
9104	s.StorageLocation = v
9105	return s
9106}
9107
9108// SetUploadCredentials sets the UploadCredentials field's value.
9109func (s *CreateBuildOutput) SetUploadCredentials(v *AwsCredentials) *CreateBuildOutput {
9110	s.UploadCredentials = v
9111	return s
9112}
9113
9114// Represents the input for a request action.
9115type CreateFleetInput struct {
9116	_ struct{} `type:"structure"`
9117
9118	// Unique identifier for a build to be deployed on the new fleet. The build
9119	// must have been successfully uploaded to Amazon GameLift and be in a READY
9120	// status. This fleet setting cannot be changed once the fleet is created.
9121	//
9122	// BuildId is a required field
9123	BuildId *string `type:"string" required:"true"`
9124
9125	// Human-readable description of a fleet.
9126	Description *string `min:"1" type:"string"`
9127
9128	// Range of IP addresses and port settings that permit inbound traffic to access
9129	// server processes running on the fleet. If no inbound permissions are set,
9130	// including both IP address range and port range, the server processes in the
9131	// fleet cannot accept connections. You can specify one or more sets of permissions
9132	// for a fleet.
9133	EC2InboundPermissions []*IpPermission `type:"list"`
9134
9135	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
9136	// instance type determines the computing resources of each instance in the
9137	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
9138	// supports the following EC2 instance types. See Amazon EC2 Instance Types
9139	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
9140	//
9141	// EC2InstanceType is a required field
9142	EC2InstanceType *string `type:"string" required:"true" enum:"EC2InstanceType"`
9143
9144	// Indicates whether to use on-demand instances or spot instances for this fleet.
9145	// If empty, the default is ON_DEMAND. Both categories of instances use identical
9146	// hardware and configurations, based on the instance type selected for this
9147	// fleet. You can acquire on-demand instances at any time for a fixed price
9148	// and keep them as long as you need them. Spot instances have lower prices,
9149	// but spot pricing is variable, and while in use they can be interrupted (with
9150	// a two-minute notification). Learn more about Amazon GameLift spot instances
9151	// with at  Choose Computing Resources (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html).
9152	FleetType *string `type:"string" enum:"FleetType"`
9153
9154	// This parameter is no longer used. Instead, to specify where Amazon GameLift
9155	// should store log files once a server process shuts down, use the Amazon GameLift
9156	// server API ProcessReady() and specify one or more directory paths in logParameters.
9157	// See more information in the Server API Reference (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process).
9158	LogPaths []*string `type:"list"`
9159
9160	// Name of a metric group to add this fleet to. A metric group tracks metrics
9161	// across all fleets in the group. Use an existing metric group name to add
9162	// this fleet to the group, or use a new name to create a new metric group.
9163	// A fleet can only be included in one metric group at a time.
9164	MetricGroups []*string `type:"list"`
9165
9166	// Descriptive label that is associated with a fleet. Fleet names do not need
9167	// to be unique.
9168	//
9169	// Name is a required field
9170	Name *string `min:"1" type:"string" required:"true"`
9171
9172	// Game session protection policy to apply to all instances in this fleet. If
9173	// this parameter is not set, instances in this fleet default to no protection.
9174	// You can change a fleet's protection policy using UpdateFleetAttributes, but
9175	// this change will only affect sessions created after the policy change. You
9176	// can also set protection for individual instances using UpdateGameSession.
9177	//
9178	//    * NoProtection -- The game session can be terminated during a scale-down
9179	//    event.
9180	//
9181	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
9182	//    be terminated during a scale-down event.
9183	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
9184
9185	// Unique identifier for the AWS account with the VPC that you want to peer
9186	// your Amazon GameLift fleet with. You can find your Account ID in the AWS
9187	// Management Console under account settings.
9188	PeerVpcAwsAccountId *string `min:"1" type:"string"`
9189
9190	// Unique identifier for a VPC with resources to be accessed by your Amazon
9191	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
9192	// To get VPC information, including IDs, use the Virtual Private Cloud service
9193	// tools, including the VPC Dashboard in the AWS Management Console.
9194	PeerVpcId *string `min:"1" type:"string"`
9195
9196	// Policy that limits the number of game sessions an individual player can create
9197	// over a span of time for this fleet.
9198	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
9199
9200	// Instructions for launching server processes on each instance in the fleet.
9201	// The run-time configuration for a fleet has a collection of server process
9202	// configurations, one for each type of server process to run on an instance.
9203	// A server process configuration specifies the location of the server executable,
9204	// launch parameters, and the number of concurrent processes with that configuration
9205	// to maintain on each instance. A CreateFleet request must include a run-time
9206	// configuration with at least one server process configuration; otherwise the
9207	// request fails with an invalid request exception. (This parameter replaces
9208	// the parameters ServerLaunchPath and ServerLaunchParameters; requests that
9209	// contain values for these parameters instead of a run-time configuration will
9210	// continue to work.)
9211	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
9212
9213	// This parameter is no longer used. Instead, specify server launch parameters
9214	// in the RuntimeConfiguration parameter. (Requests that specify a server launch
9215	// path and launch parameters instead of a run-time configuration will continue
9216	// to work.)
9217	ServerLaunchParameters *string `min:"1" type:"string"`
9218
9219	// This parameter is no longer used. Instead, specify a server launch path using
9220	// the RuntimeConfiguration parameter. (Requests that specify a server launch
9221	// path and launch parameters instead of a run-time configuration will continue
9222	// to work.)
9223	ServerLaunchPath *string `min:"1" type:"string"`
9224}
9225
9226// String returns the string representation
9227func (s CreateFleetInput) String() string {
9228	return awsutil.Prettify(s)
9229}
9230
9231// GoString returns the string representation
9232func (s CreateFleetInput) GoString() string {
9233	return s.String()
9234}
9235
9236// Validate inspects the fields of the type to determine if they are valid.
9237func (s *CreateFleetInput) Validate() error {
9238	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
9239	if s.BuildId == nil {
9240		invalidParams.Add(request.NewErrParamRequired("BuildId"))
9241	}
9242	if s.Description != nil && len(*s.Description) < 1 {
9243		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9244	}
9245	if s.EC2InstanceType == nil {
9246		invalidParams.Add(request.NewErrParamRequired("EC2InstanceType"))
9247	}
9248	if s.Name == nil {
9249		invalidParams.Add(request.NewErrParamRequired("Name"))
9250	}
9251	if s.Name != nil && len(*s.Name) < 1 {
9252		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9253	}
9254	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
9255		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
9256	}
9257	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
9258		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
9259	}
9260	if s.ServerLaunchParameters != nil && len(*s.ServerLaunchParameters) < 1 {
9261		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchParameters", 1))
9262	}
9263	if s.ServerLaunchPath != nil && len(*s.ServerLaunchPath) < 1 {
9264		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchPath", 1))
9265	}
9266	if s.EC2InboundPermissions != nil {
9267		for i, v := range s.EC2InboundPermissions {
9268			if v == nil {
9269				continue
9270			}
9271			if err := v.Validate(); err != nil {
9272				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EC2InboundPermissions", i), err.(request.ErrInvalidParams))
9273			}
9274		}
9275	}
9276	if s.RuntimeConfiguration != nil {
9277		if err := s.RuntimeConfiguration.Validate(); err != nil {
9278			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
9279		}
9280	}
9281
9282	if invalidParams.Len() > 0 {
9283		return invalidParams
9284	}
9285	return nil
9286}
9287
9288// SetBuildId sets the BuildId field's value.
9289func (s *CreateFleetInput) SetBuildId(v string) *CreateFleetInput {
9290	s.BuildId = &v
9291	return s
9292}
9293
9294// SetDescription sets the Description field's value.
9295func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
9296	s.Description = &v
9297	return s
9298}
9299
9300// SetEC2InboundPermissions sets the EC2InboundPermissions field's value.
9301func (s *CreateFleetInput) SetEC2InboundPermissions(v []*IpPermission) *CreateFleetInput {
9302	s.EC2InboundPermissions = v
9303	return s
9304}
9305
9306// SetEC2InstanceType sets the EC2InstanceType field's value.
9307func (s *CreateFleetInput) SetEC2InstanceType(v string) *CreateFleetInput {
9308	s.EC2InstanceType = &v
9309	return s
9310}
9311
9312// SetFleetType sets the FleetType field's value.
9313func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
9314	s.FleetType = &v
9315	return s
9316}
9317
9318// SetLogPaths sets the LogPaths field's value.
9319func (s *CreateFleetInput) SetLogPaths(v []*string) *CreateFleetInput {
9320	s.LogPaths = v
9321	return s
9322}
9323
9324// SetMetricGroups sets the MetricGroups field's value.
9325func (s *CreateFleetInput) SetMetricGroups(v []*string) *CreateFleetInput {
9326	s.MetricGroups = v
9327	return s
9328}
9329
9330// SetName sets the Name field's value.
9331func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
9332	s.Name = &v
9333	return s
9334}
9335
9336// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
9337func (s *CreateFleetInput) SetNewGameSessionProtectionPolicy(v string) *CreateFleetInput {
9338	s.NewGameSessionProtectionPolicy = &v
9339	return s
9340}
9341
9342// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
9343func (s *CreateFleetInput) SetPeerVpcAwsAccountId(v string) *CreateFleetInput {
9344	s.PeerVpcAwsAccountId = &v
9345	return s
9346}
9347
9348// SetPeerVpcId sets the PeerVpcId field's value.
9349func (s *CreateFleetInput) SetPeerVpcId(v string) *CreateFleetInput {
9350	s.PeerVpcId = &v
9351	return s
9352}
9353
9354// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
9355func (s *CreateFleetInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *CreateFleetInput {
9356	s.ResourceCreationLimitPolicy = v
9357	return s
9358}
9359
9360// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
9361func (s *CreateFleetInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *CreateFleetInput {
9362	s.RuntimeConfiguration = v
9363	return s
9364}
9365
9366// SetServerLaunchParameters sets the ServerLaunchParameters field's value.
9367func (s *CreateFleetInput) SetServerLaunchParameters(v string) *CreateFleetInput {
9368	s.ServerLaunchParameters = &v
9369	return s
9370}
9371
9372// SetServerLaunchPath sets the ServerLaunchPath field's value.
9373func (s *CreateFleetInput) SetServerLaunchPath(v string) *CreateFleetInput {
9374	s.ServerLaunchPath = &v
9375	return s
9376}
9377
9378// Represents the returned data in response to a request action.
9379type CreateFleetOutput struct {
9380	_ struct{} `type:"structure"`
9381
9382	// Properties for the newly created fleet.
9383	FleetAttributes *FleetAttributes `type:"structure"`
9384}
9385
9386// String returns the string representation
9387func (s CreateFleetOutput) String() string {
9388	return awsutil.Prettify(s)
9389}
9390
9391// GoString returns the string representation
9392func (s CreateFleetOutput) GoString() string {
9393	return s.String()
9394}
9395
9396// SetFleetAttributes sets the FleetAttributes field's value.
9397func (s *CreateFleetOutput) SetFleetAttributes(v *FleetAttributes) *CreateFleetOutput {
9398	s.FleetAttributes = v
9399	return s
9400}
9401
9402// Represents the input for a request action.
9403type CreateGameSessionInput struct {
9404	_ struct{} `type:"structure"`
9405
9406	// Unique identifier for an alias associated with the fleet to create a game
9407	// session in. Each request must reference either a fleet ID or alias ID, but
9408	// not both.
9409	AliasId *string `type:"string"`
9410
9411	// Unique identifier for a player or entity creating the game session. This
9412	// ID is used to enforce a resource protection policy (if one exists) that limits
9413	// the number of concurrent active game sessions one player can have.
9414	CreatorId *string `min:"1" type:"string"`
9415
9416	// Unique identifier for a fleet to create a game session in. Each request must
9417	// reference either a fleet ID or alias ID, but not both.
9418	FleetId *string `type:"string"`
9419
9420	// Set of custom properties for a game session, formatted as key:value pairs.
9421	// These properties are passed to a game server process in the GameSession object
9422	// with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
9423	GameProperties []*GameProperty `type:"list"`
9424
9425	// Set of custom game session properties, formatted as a single string value.
9426	// This data is passed to a game server process in the GameSession object with
9427	// a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
9428	GameSessionData *string `min:"1" type:"string"`
9429
9430	// This parameter is no longer preferred. Please use IdempotencyToken instead.
9431	// Custom string that uniquely identifies a request for a new game session.
9432	// Maximum token length is 48 characters. If provided, this string is included
9433	// in the new game session's ID. (A game session ARN has the following format:
9434	// arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency
9435	// token>.)
9436	GameSessionId *string `min:"1" type:"string"`
9437
9438	// Custom string that uniquely identifies a request for a new game session.
9439	// Maximum token length is 48 characters. If provided, this string is included
9440	// in the new game session's ID. (A game session ARN has the following format:
9441	// arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency
9442	// token>.) Idempotency tokens remain in use for 30 days after a game session
9443	// has ended; game session objects are retained for this time period and then
9444	// deleted.
9445	IdempotencyToken *string `min:"1" type:"string"`
9446
9447	// Maximum number of players that can be connected simultaneously to the game
9448	// session.
9449	//
9450	// MaximumPlayerSessionCount is a required field
9451	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
9452
9453	// Descriptive label that is associated with a game session. Session names do
9454	// not need to be unique.
9455	Name *string `min:"1" type:"string"`
9456}
9457
9458// String returns the string representation
9459func (s CreateGameSessionInput) String() string {
9460	return awsutil.Prettify(s)
9461}
9462
9463// GoString returns the string representation
9464func (s CreateGameSessionInput) GoString() string {
9465	return s.String()
9466}
9467
9468// Validate inspects the fields of the type to determine if they are valid.
9469func (s *CreateGameSessionInput) Validate() error {
9470	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionInput"}
9471	if s.CreatorId != nil && len(*s.CreatorId) < 1 {
9472		invalidParams.Add(request.NewErrParamMinLen("CreatorId", 1))
9473	}
9474	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
9475		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
9476	}
9477	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
9478		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
9479	}
9480	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9481		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9482	}
9483	if s.MaximumPlayerSessionCount == nil {
9484		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
9485	}
9486	if s.Name != nil && len(*s.Name) < 1 {
9487		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9488	}
9489	if s.GameProperties != nil {
9490		for i, v := range s.GameProperties {
9491			if v == nil {
9492				continue
9493			}
9494			if err := v.Validate(); err != nil {
9495				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
9496			}
9497		}
9498	}
9499
9500	if invalidParams.Len() > 0 {
9501		return invalidParams
9502	}
9503	return nil
9504}
9505
9506// SetAliasId sets the AliasId field's value.
9507func (s *CreateGameSessionInput) SetAliasId(v string) *CreateGameSessionInput {
9508	s.AliasId = &v
9509	return s
9510}
9511
9512// SetCreatorId sets the CreatorId field's value.
9513func (s *CreateGameSessionInput) SetCreatorId(v string) *CreateGameSessionInput {
9514	s.CreatorId = &v
9515	return s
9516}
9517
9518// SetFleetId sets the FleetId field's value.
9519func (s *CreateGameSessionInput) SetFleetId(v string) *CreateGameSessionInput {
9520	s.FleetId = &v
9521	return s
9522}
9523
9524// SetGameProperties sets the GameProperties field's value.
9525func (s *CreateGameSessionInput) SetGameProperties(v []*GameProperty) *CreateGameSessionInput {
9526	s.GameProperties = v
9527	return s
9528}
9529
9530// SetGameSessionData sets the GameSessionData field's value.
9531func (s *CreateGameSessionInput) SetGameSessionData(v string) *CreateGameSessionInput {
9532	s.GameSessionData = &v
9533	return s
9534}
9535
9536// SetGameSessionId sets the GameSessionId field's value.
9537func (s *CreateGameSessionInput) SetGameSessionId(v string) *CreateGameSessionInput {
9538	s.GameSessionId = &v
9539	return s
9540}
9541
9542// SetIdempotencyToken sets the IdempotencyToken field's value.
9543func (s *CreateGameSessionInput) SetIdempotencyToken(v string) *CreateGameSessionInput {
9544	s.IdempotencyToken = &v
9545	return s
9546}
9547
9548// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
9549func (s *CreateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *CreateGameSessionInput {
9550	s.MaximumPlayerSessionCount = &v
9551	return s
9552}
9553
9554// SetName sets the Name field's value.
9555func (s *CreateGameSessionInput) SetName(v string) *CreateGameSessionInput {
9556	s.Name = &v
9557	return s
9558}
9559
9560// Represents the returned data in response to a request action.
9561type CreateGameSessionOutput struct {
9562	_ struct{} `type:"structure"`
9563
9564	// Object that describes the newly created game session record.
9565	GameSession *GameSession `type:"structure"`
9566}
9567
9568// String returns the string representation
9569func (s CreateGameSessionOutput) String() string {
9570	return awsutil.Prettify(s)
9571}
9572
9573// GoString returns the string representation
9574func (s CreateGameSessionOutput) GoString() string {
9575	return s.String()
9576}
9577
9578// SetGameSession sets the GameSession field's value.
9579func (s *CreateGameSessionOutput) SetGameSession(v *GameSession) *CreateGameSessionOutput {
9580	s.GameSession = v
9581	return s
9582}
9583
9584// Represents the input for a request action.
9585type CreateGameSessionQueueInput struct {
9586	_ struct{} `type:"structure"`
9587
9588	// List of fleets that can be used to fulfill game session placement requests
9589	// in the queue. Fleets are identified by either a fleet ARN or a fleet alias
9590	// ARN. Destinations are listed in default preference order.
9591	Destinations []*GameSessionQueueDestination `type:"list"`
9592
9593	// Descriptive label that is associated with game session queue. Queue names
9594	// must be unique within each region.
9595	//
9596	// Name is a required field
9597	Name *string `min:"1" type:"string" required:"true"`
9598
9599	// Collection of latency policies to apply when processing game sessions placement
9600	// requests with player latency information. Multiple policies are evaluated
9601	// in order of the maximum latency value, starting with the lowest latency values.
9602	// With just one policy, it is enforced at the start of the game session placement
9603	// for the duration period. With multiple policies, each policy is enforced
9604	// consecutively for its duration period. For example, a queue might enforce
9605	// a 60-second policy followed by a 120-second policy, and then no policy for
9606	// the remainder of the placement. A player latency policy must set a value
9607	// for MaximumIndividualPlayerLatencyMilliseconds; if none is set, this API
9608	// requests will fail.
9609	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
9610
9611	// Maximum time, in seconds, that a new game session placement request remains
9612	// in the queue. When a request exceeds this time, the game session placement
9613	// changes to a TIMED_OUT status.
9614	TimeoutInSeconds *int64 `type:"integer"`
9615}
9616
9617// String returns the string representation
9618func (s CreateGameSessionQueueInput) String() string {
9619	return awsutil.Prettify(s)
9620}
9621
9622// GoString returns the string representation
9623func (s CreateGameSessionQueueInput) GoString() string {
9624	return s.String()
9625}
9626
9627// Validate inspects the fields of the type to determine if they are valid.
9628func (s *CreateGameSessionQueueInput) Validate() error {
9629	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionQueueInput"}
9630	if s.Name == nil {
9631		invalidParams.Add(request.NewErrParamRequired("Name"))
9632	}
9633	if s.Name != nil && len(*s.Name) < 1 {
9634		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9635	}
9636	if s.Destinations != nil {
9637		for i, v := range s.Destinations {
9638			if v == nil {
9639				continue
9640			}
9641			if err := v.Validate(); err != nil {
9642				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
9643			}
9644		}
9645	}
9646
9647	if invalidParams.Len() > 0 {
9648		return invalidParams
9649	}
9650	return nil
9651}
9652
9653// SetDestinations sets the Destinations field's value.
9654func (s *CreateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *CreateGameSessionQueueInput {
9655	s.Destinations = v
9656	return s
9657}
9658
9659// SetName sets the Name field's value.
9660func (s *CreateGameSessionQueueInput) SetName(v string) *CreateGameSessionQueueInput {
9661	s.Name = &v
9662	return s
9663}
9664
9665// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
9666func (s *CreateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *CreateGameSessionQueueInput {
9667	s.PlayerLatencyPolicies = v
9668	return s
9669}
9670
9671// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
9672func (s *CreateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *CreateGameSessionQueueInput {
9673	s.TimeoutInSeconds = &v
9674	return s
9675}
9676
9677// Represents the returned data in response to a request action.
9678type CreateGameSessionQueueOutput struct {
9679	_ struct{} `type:"structure"`
9680
9681	// Object that describes the newly created game session queue.
9682	GameSessionQueue *GameSessionQueue `type:"structure"`
9683}
9684
9685// String returns the string representation
9686func (s CreateGameSessionQueueOutput) String() string {
9687	return awsutil.Prettify(s)
9688}
9689
9690// GoString returns the string representation
9691func (s CreateGameSessionQueueOutput) GoString() string {
9692	return s.String()
9693}
9694
9695// SetGameSessionQueue sets the GameSessionQueue field's value.
9696func (s *CreateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *CreateGameSessionQueueOutput {
9697	s.GameSessionQueue = v
9698	return s
9699}
9700
9701// Represents the input for a request action.
9702type CreateMatchmakingConfigurationInput struct {
9703	_ struct{} `type:"structure"`
9704
9705	// Flag that determines whether or not a match that was created with this configuration
9706	// must be accepted by the matched players. To require acceptance, set to TRUE.
9707	//
9708	// AcceptanceRequired is a required field
9709	AcceptanceRequired *bool `type:"boolean" required:"true"`
9710
9711	// Length of time (in seconds) to wait for players to accept a proposed match.
9712	// If any player rejects the match or fails to accept before the timeout, the
9713	// ticket continues to look for an acceptable match.
9714	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
9715
9716	// Number of player slots in a match to keep open for future players. For example,
9717	// if the configuration's rule set specifies a match for a single 12-person
9718	// team, and the additional player count is set to 2, only 10 players are selected
9719	// for the match.
9720	AdditionalPlayerCount *int64 `type:"integer"`
9721
9722	// Information to attached to all events related to the matchmaking configuration.
9723	CustomEventData *string `type:"string"`
9724
9725	// Meaningful description of the matchmaking configuration.
9726	Description *string `min:"1" type:"string"`
9727
9728	// Set of custom properties for a game session, formatted as key:value pairs.
9729	// These properties are passed to a game server process in the GameSession object
9730	// with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
9731	// This information is added to the new GameSession object that is created for
9732	// a successful match.
9733	GameProperties []*GameProperty `type:"list"`
9734
9735	// Set of custom game session properties, formatted as a single string value.
9736	// This data is passed to a game server process in the GameSession object with
9737	// a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
9738	// This information is added to the new GameSession object that is created for
9739	// a successful match.
9740	GameSessionData *string `min:"1" type:"string"`
9741
9742	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
9743	// that is assigned to a game session queue and uniquely identifies it. Format
9744	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
9745	// These queues are used when placing game sessions for matches that are created
9746	// with this matchmaking configuration. Queues can be located in any region.
9747	//
9748	// GameSessionQueueArns is a required field
9749	GameSessionQueueArns []*string `type:"list" required:"true"`
9750
9751	// Unique identifier for a matchmaking configuration. This name is used to identify
9752	// the configuration associated with a matchmaking request or ticket.
9753	//
9754	// Name is a required field
9755	Name *string `min:"1" type:"string" required:"true"`
9756
9757	// SNS topic ARN that is set up to receive matchmaking notifications.
9758	NotificationTarget *string `type:"string"`
9759
9760	// Maximum duration, in seconds, that a matchmaking ticket can remain in process
9761	// before timing out. Requests that time out can be resubmitted as needed.
9762	//
9763	// RequestTimeoutSeconds is a required field
9764	RequestTimeoutSeconds *int64 `min:"1" type:"integer" required:"true"`
9765
9766	// Unique identifier for a matchmaking rule set to use with this configuration.
9767	// A matchmaking configuration can only use rule sets that are defined in the
9768	// same region.
9769	//
9770	// RuleSetName is a required field
9771	RuleSetName *string `min:"1" type:"string" required:"true"`
9772}
9773
9774// String returns the string representation
9775func (s CreateMatchmakingConfigurationInput) String() string {
9776	return awsutil.Prettify(s)
9777}
9778
9779// GoString returns the string representation
9780func (s CreateMatchmakingConfigurationInput) GoString() string {
9781	return s.String()
9782}
9783
9784// Validate inspects the fields of the type to determine if they are valid.
9785func (s *CreateMatchmakingConfigurationInput) Validate() error {
9786	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingConfigurationInput"}
9787	if s.AcceptanceRequired == nil {
9788		invalidParams.Add(request.NewErrParamRequired("AcceptanceRequired"))
9789	}
9790	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
9791		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
9792	}
9793	if s.Description != nil && len(*s.Description) < 1 {
9794		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9795	}
9796	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
9797		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
9798	}
9799	if s.GameSessionQueueArns == nil {
9800		invalidParams.Add(request.NewErrParamRequired("GameSessionQueueArns"))
9801	}
9802	if s.Name == nil {
9803		invalidParams.Add(request.NewErrParamRequired("Name"))
9804	}
9805	if s.Name != nil && len(*s.Name) < 1 {
9806		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9807	}
9808	if s.RequestTimeoutSeconds == nil {
9809		invalidParams.Add(request.NewErrParamRequired("RequestTimeoutSeconds"))
9810	}
9811	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
9812		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
9813	}
9814	if s.RuleSetName == nil {
9815		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
9816	}
9817	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
9818		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
9819	}
9820	if s.GameProperties != nil {
9821		for i, v := range s.GameProperties {
9822			if v == nil {
9823				continue
9824			}
9825			if err := v.Validate(); err != nil {
9826				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
9827			}
9828		}
9829	}
9830
9831	if invalidParams.Len() > 0 {
9832		return invalidParams
9833	}
9834	return nil
9835}
9836
9837// SetAcceptanceRequired sets the AcceptanceRequired field's value.
9838func (s *CreateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *CreateMatchmakingConfigurationInput {
9839	s.AcceptanceRequired = &v
9840	return s
9841}
9842
9843// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
9844func (s *CreateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
9845	s.AcceptanceTimeoutSeconds = &v
9846	return s
9847}
9848
9849// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
9850func (s *CreateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *CreateMatchmakingConfigurationInput {
9851	s.AdditionalPlayerCount = &v
9852	return s
9853}
9854
9855// SetCustomEventData sets the CustomEventData field's value.
9856func (s *CreateMatchmakingConfigurationInput) SetCustomEventData(v string) *CreateMatchmakingConfigurationInput {
9857	s.CustomEventData = &v
9858	return s
9859}
9860
9861// SetDescription sets the Description field's value.
9862func (s *CreateMatchmakingConfigurationInput) SetDescription(v string) *CreateMatchmakingConfigurationInput {
9863	s.Description = &v
9864	return s
9865}
9866
9867// SetGameProperties sets the GameProperties field's value.
9868func (s *CreateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *CreateMatchmakingConfigurationInput {
9869	s.GameProperties = v
9870	return s
9871}
9872
9873// SetGameSessionData sets the GameSessionData field's value.
9874func (s *CreateMatchmakingConfigurationInput) SetGameSessionData(v string) *CreateMatchmakingConfigurationInput {
9875	s.GameSessionData = &v
9876	return s
9877}
9878
9879// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
9880func (s *CreateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *CreateMatchmakingConfigurationInput {
9881	s.GameSessionQueueArns = v
9882	return s
9883}
9884
9885// SetName sets the Name field's value.
9886func (s *CreateMatchmakingConfigurationInput) SetName(v string) *CreateMatchmakingConfigurationInput {
9887	s.Name = &v
9888	return s
9889}
9890
9891// SetNotificationTarget sets the NotificationTarget field's value.
9892func (s *CreateMatchmakingConfigurationInput) SetNotificationTarget(v string) *CreateMatchmakingConfigurationInput {
9893	s.NotificationTarget = &v
9894	return s
9895}
9896
9897// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
9898func (s *CreateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
9899	s.RequestTimeoutSeconds = &v
9900	return s
9901}
9902
9903// SetRuleSetName sets the RuleSetName field's value.
9904func (s *CreateMatchmakingConfigurationInput) SetRuleSetName(v string) *CreateMatchmakingConfigurationInput {
9905	s.RuleSetName = &v
9906	return s
9907}
9908
9909// Represents the returned data in response to a request action.
9910type CreateMatchmakingConfigurationOutput struct {
9911	_ struct{} `type:"structure"`
9912
9913	// Object that describes the newly created matchmaking configuration.
9914	Configuration *MatchmakingConfiguration `type:"structure"`
9915}
9916
9917// String returns the string representation
9918func (s CreateMatchmakingConfigurationOutput) String() string {
9919	return awsutil.Prettify(s)
9920}
9921
9922// GoString returns the string representation
9923func (s CreateMatchmakingConfigurationOutput) GoString() string {
9924	return s.String()
9925}
9926
9927// SetConfiguration sets the Configuration field's value.
9928func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *CreateMatchmakingConfigurationOutput {
9929	s.Configuration = v
9930	return s
9931}
9932
9933// Represents the input for a request action.
9934type CreateMatchmakingRuleSetInput struct {
9935	_ struct{} `type:"structure"`
9936
9937	// Unique identifier for a matchmaking rule set. This name is used to identify
9938	// the rule set associated with a matchmaking configuration.
9939	//
9940	// Name is a required field
9941	Name *string `min:"1" type:"string" required:"true"`
9942
9943	// Collection of matchmaking rules, formatted as a JSON string. (Note that comments
9944	// are not allowed in JSON, but most elements support a description field.)
9945	//
9946	// RuleSetBody is a required field
9947	RuleSetBody *string `min:"1" type:"string" required:"true"`
9948}
9949
9950// String returns the string representation
9951func (s CreateMatchmakingRuleSetInput) String() string {
9952	return awsutil.Prettify(s)
9953}
9954
9955// GoString returns the string representation
9956func (s CreateMatchmakingRuleSetInput) GoString() string {
9957	return s.String()
9958}
9959
9960// Validate inspects the fields of the type to determine if they are valid.
9961func (s *CreateMatchmakingRuleSetInput) Validate() error {
9962	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingRuleSetInput"}
9963	if s.Name == nil {
9964		invalidParams.Add(request.NewErrParamRequired("Name"))
9965	}
9966	if s.Name != nil && len(*s.Name) < 1 {
9967		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9968	}
9969	if s.RuleSetBody == nil {
9970		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
9971	}
9972	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
9973		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
9974	}
9975
9976	if invalidParams.Len() > 0 {
9977		return invalidParams
9978	}
9979	return nil
9980}
9981
9982// SetName sets the Name field's value.
9983func (s *CreateMatchmakingRuleSetInput) SetName(v string) *CreateMatchmakingRuleSetInput {
9984	s.Name = &v
9985	return s
9986}
9987
9988// SetRuleSetBody sets the RuleSetBody field's value.
9989func (s *CreateMatchmakingRuleSetInput) SetRuleSetBody(v string) *CreateMatchmakingRuleSetInput {
9990	s.RuleSetBody = &v
9991	return s
9992}
9993
9994// Represents the returned data in response to a request action.
9995type CreateMatchmakingRuleSetOutput struct {
9996	_ struct{} `type:"structure"`
9997
9998	// Object that describes the newly created matchmaking rule set.
9999	//
10000	// RuleSet is a required field
10001	RuleSet *MatchmakingRuleSet `type:"structure" required:"true"`
10002}
10003
10004// String returns the string representation
10005func (s CreateMatchmakingRuleSetOutput) String() string {
10006	return awsutil.Prettify(s)
10007}
10008
10009// GoString returns the string representation
10010func (s CreateMatchmakingRuleSetOutput) GoString() string {
10011	return s.String()
10012}
10013
10014// SetRuleSet sets the RuleSet field's value.
10015func (s *CreateMatchmakingRuleSetOutput) SetRuleSet(v *MatchmakingRuleSet) *CreateMatchmakingRuleSetOutput {
10016	s.RuleSet = v
10017	return s
10018}
10019
10020// Represents the input for a request action.
10021type CreatePlayerSessionInput struct {
10022	_ struct{} `type:"structure"`
10023
10024	// Unique identifier for the game session to add a player to.
10025	//
10026	// GameSessionId is a required field
10027	GameSessionId *string `min:"1" type:"string" required:"true"`
10028
10029	// Developer-defined information related to a player. Amazon GameLift does not
10030	// use this data, so it can be formatted as needed for use in the game.
10031	PlayerData *string `min:"1" type:"string"`
10032
10033	// Unique identifier for a player. Player IDs are developer-defined.
10034	//
10035	// PlayerId is a required field
10036	PlayerId *string `min:"1" type:"string" required:"true"`
10037}
10038
10039// String returns the string representation
10040func (s CreatePlayerSessionInput) String() string {
10041	return awsutil.Prettify(s)
10042}
10043
10044// GoString returns the string representation
10045func (s CreatePlayerSessionInput) GoString() string {
10046	return s.String()
10047}
10048
10049// Validate inspects the fields of the type to determine if they are valid.
10050func (s *CreatePlayerSessionInput) Validate() error {
10051	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionInput"}
10052	if s.GameSessionId == nil {
10053		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
10054	}
10055	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
10056		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
10057	}
10058	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
10059		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
10060	}
10061	if s.PlayerId == nil {
10062		invalidParams.Add(request.NewErrParamRequired("PlayerId"))
10063	}
10064	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
10065		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
10066	}
10067
10068	if invalidParams.Len() > 0 {
10069		return invalidParams
10070	}
10071	return nil
10072}
10073
10074// SetGameSessionId sets the GameSessionId field's value.
10075func (s *CreatePlayerSessionInput) SetGameSessionId(v string) *CreatePlayerSessionInput {
10076	s.GameSessionId = &v
10077	return s
10078}
10079
10080// SetPlayerData sets the PlayerData field's value.
10081func (s *CreatePlayerSessionInput) SetPlayerData(v string) *CreatePlayerSessionInput {
10082	s.PlayerData = &v
10083	return s
10084}
10085
10086// SetPlayerId sets the PlayerId field's value.
10087func (s *CreatePlayerSessionInput) SetPlayerId(v string) *CreatePlayerSessionInput {
10088	s.PlayerId = &v
10089	return s
10090}
10091
10092// Represents the returned data in response to a request action.
10093type CreatePlayerSessionOutput struct {
10094	_ struct{} `type:"structure"`
10095
10096	// Object that describes the newly created player session record.
10097	PlayerSession *PlayerSession `type:"structure"`
10098}
10099
10100// String returns the string representation
10101func (s CreatePlayerSessionOutput) String() string {
10102	return awsutil.Prettify(s)
10103}
10104
10105// GoString returns the string representation
10106func (s CreatePlayerSessionOutput) GoString() string {
10107	return s.String()
10108}
10109
10110// SetPlayerSession sets the PlayerSession field's value.
10111func (s *CreatePlayerSessionOutput) SetPlayerSession(v *PlayerSession) *CreatePlayerSessionOutput {
10112	s.PlayerSession = v
10113	return s
10114}
10115
10116// Represents the input for a request action.
10117type CreatePlayerSessionsInput struct {
10118	_ struct{} `type:"structure"`
10119
10120	// Unique identifier for the game session to add players to.
10121	//
10122	// GameSessionId is a required field
10123	GameSessionId *string `min:"1" type:"string" required:"true"`
10124
10125	// Map of string pairs, each specifying a player ID and a set of developer-defined
10126	// information related to the player. Amazon GameLift does not use this data,
10127	// so it can be formatted as needed for use in the game. Player data strings
10128	// for player IDs not included in the PlayerIds parameter are ignored.
10129	PlayerDataMap map[string]*string `type:"map"`
10130
10131	// List of unique identifiers for the players to be added.
10132	//
10133	// PlayerIds is a required field
10134	PlayerIds []*string `min:"1" type:"list" required:"true"`
10135}
10136
10137// String returns the string representation
10138func (s CreatePlayerSessionsInput) String() string {
10139	return awsutil.Prettify(s)
10140}
10141
10142// GoString returns the string representation
10143func (s CreatePlayerSessionsInput) GoString() string {
10144	return s.String()
10145}
10146
10147// Validate inspects the fields of the type to determine if they are valid.
10148func (s *CreatePlayerSessionsInput) Validate() error {
10149	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionsInput"}
10150	if s.GameSessionId == nil {
10151		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
10152	}
10153	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
10154		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
10155	}
10156	if s.PlayerIds == nil {
10157		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
10158	}
10159	if s.PlayerIds != nil && len(s.PlayerIds) < 1 {
10160		invalidParams.Add(request.NewErrParamMinLen("PlayerIds", 1))
10161	}
10162
10163	if invalidParams.Len() > 0 {
10164		return invalidParams
10165	}
10166	return nil
10167}
10168
10169// SetGameSessionId sets the GameSessionId field's value.
10170func (s *CreatePlayerSessionsInput) SetGameSessionId(v string) *CreatePlayerSessionsInput {
10171	s.GameSessionId = &v
10172	return s
10173}
10174
10175// SetPlayerDataMap sets the PlayerDataMap field's value.
10176func (s *CreatePlayerSessionsInput) SetPlayerDataMap(v map[string]*string) *CreatePlayerSessionsInput {
10177	s.PlayerDataMap = v
10178	return s
10179}
10180
10181// SetPlayerIds sets the PlayerIds field's value.
10182func (s *CreatePlayerSessionsInput) SetPlayerIds(v []*string) *CreatePlayerSessionsInput {
10183	s.PlayerIds = v
10184	return s
10185}
10186
10187// Represents the returned data in response to a request action.
10188type CreatePlayerSessionsOutput struct {
10189	_ struct{} `type:"structure"`
10190
10191	// Collection of player session objects created for the added players.
10192	PlayerSessions []*PlayerSession `type:"list"`
10193}
10194
10195// String returns the string representation
10196func (s CreatePlayerSessionsOutput) String() string {
10197	return awsutil.Prettify(s)
10198}
10199
10200// GoString returns the string representation
10201func (s CreatePlayerSessionsOutput) GoString() string {
10202	return s.String()
10203}
10204
10205// SetPlayerSessions sets the PlayerSessions field's value.
10206func (s *CreatePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *CreatePlayerSessionsOutput {
10207	s.PlayerSessions = v
10208	return s
10209}
10210
10211// Represents the input for a request action.
10212type CreateVpcPeeringAuthorizationInput struct {
10213	_ struct{} `type:"structure"`
10214
10215	// Unique identifier for the AWS account that you use to manage your Amazon
10216	// GameLift fleet. You can find your Account ID in the AWS Management Console
10217	// under account settings.
10218	//
10219	// GameLiftAwsAccountId is a required field
10220	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
10221
10222	// Unique identifier for a VPC with resources to be accessed by your Amazon
10223	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
10224	// To get VPC information, including IDs, use the Virtual Private Cloud service
10225	// tools, including the VPC Dashboard in the AWS Management Console.
10226	//
10227	// PeerVpcId is a required field
10228	PeerVpcId *string `min:"1" type:"string" required:"true"`
10229}
10230
10231// String returns the string representation
10232func (s CreateVpcPeeringAuthorizationInput) String() string {
10233	return awsutil.Prettify(s)
10234}
10235
10236// GoString returns the string representation
10237func (s CreateVpcPeeringAuthorizationInput) GoString() string {
10238	return s.String()
10239}
10240
10241// Validate inspects the fields of the type to determine if they are valid.
10242func (s *CreateVpcPeeringAuthorizationInput) Validate() error {
10243	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringAuthorizationInput"}
10244	if s.GameLiftAwsAccountId == nil {
10245		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
10246	}
10247	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
10248		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
10249	}
10250	if s.PeerVpcId == nil {
10251		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
10252	}
10253	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
10254		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
10255	}
10256
10257	if invalidParams.Len() > 0 {
10258		return invalidParams
10259	}
10260	return nil
10261}
10262
10263// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
10264func (s *CreateVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *CreateVpcPeeringAuthorizationInput {
10265	s.GameLiftAwsAccountId = &v
10266	return s
10267}
10268
10269// SetPeerVpcId sets the PeerVpcId field's value.
10270func (s *CreateVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *CreateVpcPeeringAuthorizationInput {
10271	s.PeerVpcId = &v
10272	return s
10273}
10274
10275// Represents the returned data in response to a request action.
10276type CreateVpcPeeringAuthorizationOutput struct {
10277	_ struct{} `type:"structure"`
10278
10279	// Details on the requested VPC peering authorization, including expiration.
10280	VpcPeeringAuthorization *VpcPeeringAuthorization `type:"structure"`
10281}
10282
10283// String returns the string representation
10284func (s CreateVpcPeeringAuthorizationOutput) String() string {
10285	return awsutil.Prettify(s)
10286}
10287
10288// GoString returns the string representation
10289func (s CreateVpcPeeringAuthorizationOutput) GoString() string {
10290	return s.String()
10291}
10292
10293// SetVpcPeeringAuthorization sets the VpcPeeringAuthorization field's value.
10294func (s *CreateVpcPeeringAuthorizationOutput) SetVpcPeeringAuthorization(v *VpcPeeringAuthorization) *CreateVpcPeeringAuthorizationOutput {
10295	s.VpcPeeringAuthorization = v
10296	return s
10297}
10298
10299// Represents the input for a request action.
10300type CreateVpcPeeringConnectionInput struct {
10301	_ struct{} `type:"structure"`
10302
10303	// Unique identifier for a fleet. This tells Amazon GameLift which GameLift
10304	// VPC to peer with.
10305	//
10306	// FleetId is a required field
10307	FleetId *string `type:"string" required:"true"`
10308
10309	// Unique identifier for the AWS account with the VPC that you want to peer
10310	// your Amazon GameLift fleet with. You can find your Account ID in the AWS
10311	// Management Console under account settings.
10312	//
10313	// PeerVpcAwsAccountId is a required field
10314	PeerVpcAwsAccountId *string `min:"1" type:"string" required:"true"`
10315
10316	// Unique identifier for a VPC with resources to be accessed by your Amazon
10317	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
10318	// To get VPC information, including IDs, use the Virtual Private Cloud service
10319	// tools, including the VPC Dashboard in the AWS Management Console.
10320	//
10321	// PeerVpcId is a required field
10322	PeerVpcId *string `min:"1" type:"string" required:"true"`
10323}
10324
10325// String returns the string representation
10326func (s CreateVpcPeeringConnectionInput) String() string {
10327	return awsutil.Prettify(s)
10328}
10329
10330// GoString returns the string representation
10331func (s CreateVpcPeeringConnectionInput) GoString() string {
10332	return s.String()
10333}
10334
10335// Validate inspects the fields of the type to determine if they are valid.
10336func (s *CreateVpcPeeringConnectionInput) Validate() error {
10337	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringConnectionInput"}
10338	if s.FleetId == nil {
10339		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10340	}
10341	if s.PeerVpcAwsAccountId == nil {
10342		invalidParams.Add(request.NewErrParamRequired("PeerVpcAwsAccountId"))
10343	}
10344	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
10345		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
10346	}
10347	if s.PeerVpcId == nil {
10348		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
10349	}
10350	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
10351		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
10352	}
10353
10354	if invalidParams.Len() > 0 {
10355		return invalidParams
10356	}
10357	return nil
10358}
10359
10360// SetFleetId sets the FleetId field's value.
10361func (s *CreateVpcPeeringConnectionInput) SetFleetId(v string) *CreateVpcPeeringConnectionInput {
10362	s.FleetId = &v
10363	return s
10364}
10365
10366// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
10367func (s *CreateVpcPeeringConnectionInput) SetPeerVpcAwsAccountId(v string) *CreateVpcPeeringConnectionInput {
10368	s.PeerVpcAwsAccountId = &v
10369	return s
10370}
10371
10372// SetPeerVpcId sets the PeerVpcId field's value.
10373func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
10374	s.PeerVpcId = &v
10375	return s
10376}
10377
10378type CreateVpcPeeringConnectionOutput struct {
10379	_ struct{} `type:"structure"`
10380}
10381
10382// String returns the string representation
10383func (s CreateVpcPeeringConnectionOutput) String() string {
10384	return awsutil.Prettify(s)
10385}
10386
10387// GoString returns the string representation
10388func (s CreateVpcPeeringConnectionOutput) GoString() string {
10389	return s.String()
10390}
10391
10392// Represents the input for a request action.
10393type DeleteAliasInput struct {
10394	_ struct{} `type:"structure"`
10395
10396	// Unique identifier for a fleet alias. Specify the alias you want to delete.
10397	//
10398	// AliasId is a required field
10399	AliasId *string `type:"string" required:"true"`
10400}
10401
10402// String returns the string representation
10403func (s DeleteAliasInput) String() string {
10404	return awsutil.Prettify(s)
10405}
10406
10407// GoString returns the string representation
10408func (s DeleteAliasInput) GoString() string {
10409	return s.String()
10410}
10411
10412// Validate inspects the fields of the type to determine if they are valid.
10413func (s *DeleteAliasInput) Validate() error {
10414	invalidParams := request.ErrInvalidParams{Context: "DeleteAliasInput"}
10415	if s.AliasId == nil {
10416		invalidParams.Add(request.NewErrParamRequired("AliasId"))
10417	}
10418
10419	if invalidParams.Len() > 0 {
10420		return invalidParams
10421	}
10422	return nil
10423}
10424
10425// SetAliasId sets the AliasId field's value.
10426func (s *DeleteAliasInput) SetAliasId(v string) *DeleteAliasInput {
10427	s.AliasId = &v
10428	return s
10429}
10430
10431type DeleteAliasOutput struct {
10432	_ struct{} `type:"structure"`
10433}
10434
10435// String returns the string representation
10436func (s DeleteAliasOutput) String() string {
10437	return awsutil.Prettify(s)
10438}
10439
10440// GoString returns the string representation
10441func (s DeleteAliasOutput) GoString() string {
10442	return s.String()
10443}
10444
10445// Represents the input for a request action.
10446type DeleteBuildInput struct {
10447	_ struct{} `type:"structure"`
10448
10449	// Unique identifier for a build to delete.
10450	//
10451	// BuildId is a required field
10452	BuildId *string `type:"string" required:"true"`
10453}
10454
10455// String returns the string representation
10456func (s DeleteBuildInput) String() string {
10457	return awsutil.Prettify(s)
10458}
10459
10460// GoString returns the string representation
10461func (s DeleteBuildInput) GoString() string {
10462	return s.String()
10463}
10464
10465// Validate inspects the fields of the type to determine if they are valid.
10466func (s *DeleteBuildInput) Validate() error {
10467	invalidParams := request.ErrInvalidParams{Context: "DeleteBuildInput"}
10468	if s.BuildId == nil {
10469		invalidParams.Add(request.NewErrParamRequired("BuildId"))
10470	}
10471
10472	if invalidParams.Len() > 0 {
10473		return invalidParams
10474	}
10475	return nil
10476}
10477
10478// SetBuildId sets the BuildId field's value.
10479func (s *DeleteBuildInput) SetBuildId(v string) *DeleteBuildInput {
10480	s.BuildId = &v
10481	return s
10482}
10483
10484type DeleteBuildOutput struct {
10485	_ struct{} `type:"structure"`
10486}
10487
10488// String returns the string representation
10489func (s DeleteBuildOutput) String() string {
10490	return awsutil.Prettify(s)
10491}
10492
10493// GoString returns the string representation
10494func (s DeleteBuildOutput) GoString() string {
10495	return s.String()
10496}
10497
10498// Represents the input for a request action.
10499type DeleteFleetInput struct {
10500	_ struct{} `type:"structure"`
10501
10502	// Unique identifier for a fleet to be deleted.
10503	//
10504	// FleetId is a required field
10505	FleetId *string `type:"string" required:"true"`
10506}
10507
10508// String returns the string representation
10509func (s DeleteFleetInput) String() string {
10510	return awsutil.Prettify(s)
10511}
10512
10513// GoString returns the string representation
10514func (s DeleteFleetInput) GoString() string {
10515	return s.String()
10516}
10517
10518// Validate inspects the fields of the type to determine if they are valid.
10519func (s *DeleteFleetInput) Validate() error {
10520	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
10521	if s.FleetId == nil {
10522		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10523	}
10524
10525	if invalidParams.Len() > 0 {
10526		return invalidParams
10527	}
10528	return nil
10529}
10530
10531// SetFleetId sets the FleetId field's value.
10532func (s *DeleteFleetInput) SetFleetId(v string) *DeleteFleetInput {
10533	s.FleetId = &v
10534	return s
10535}
10536
10537type DeleteFleetOutput struct {
10538	_ struct{} `type:"structure"`
10539}
10540
10541// String returns the string representation
10542func (s DeleteFleetOutput) String() string {
10543	return awsutil.Prettify(s)
10544}
10545
10546// GoString returns the string representation
10547func (s DeleteFleetOutput) GoString() string {
10548	return s.String()
10549}
10550
10551// Represents the input for a request action.
10552type DeleteGameSessionQueueInput struct {
10553	_ struct{} `type:"structure"`
10554
10555	// Descriptive label that is associated with game session queue. Queue names
10556	// must be unique within each region.
10557	//
10558	// Name is a required field
10559	Name *string `min:"1" type:"string" required:"true"`
10560}
10561
10562// String returns the string representation
10563func (s DeleteGameSessionQueueInput) String() string {
10564	return awsutil.Prettify(s)
10565}
10566
10567// GoString returns the string representation
10568func (s DeleteGameSessionQueueInput) GoString() string {
10569	return s.String()
10570}
10571
10572// Validate inspects the fields of the type to determine if they are valid.
10573func (s *DeleteGameSessionQueueInput) Validate() error {
10574	invalidParams := request.ErrInvalidParams{Context: "DeleteGameSessionQueueInput"}
10575	if s.Name == nil {
10576		invalidParams.Add(request.NewErrParamRequired("Name"))
10577	}
10578	if s.Name != nil && len(*s.Name) < 1 {
10579		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10580	}
10581
10582	if invalidParams.Len() > 0 {
10583		return invalidParams
10584	}
10585	return nil
10586}
10587
10588// SetName sets the Name field's value.
10589func (s *DeleteGameSessionQueueInput) SetName(v string) *DeleteGameSessionQueueInput {
10590	s.Name = &v
10591	return s
10592}
10593
10594type DeleteGameSessionQueueOutput struct {
10595	_ struct{} `type:"structure"`
10596}
10597
10598// String returns the string representation
10599func (s DeleteGameSessionQueueOutput) String() string {
10600	return awsutil.Prettify(s)
10601}
10602
10603// GoString returns the string representation
10604func (s DeleteGameSessionQueueOutput) GoString() string {
10605	return s.String()
10606}
10607
10608// Represents the input for a request action.
10609type DeleteMatchmakingConfigurationInput struct {
10610	_ struct{} `type:"structure"`
10611
10612	// Unique identifier for a matchmaking configuration
10613	//
10614	// Name is a required field
10615	Name *string `min:"1" type:"string" required:"true"`
10616}
10617
10618// String returns the string representation
10619func (s DeleteMatchmakingConfigurationInput) String() string {
10620	return awsutil.Prettify(s)
10621}
10622
10623// GoString returns the string representation
10624func (s DeleteMatchmakingConfigurationInput) GoString() string {
10625	return s.String()
10626}
10627
10628// Validate inspects the fields of the type to determine if they are valid.
10629func (s *DeleteMatchmakingConfigurationInput) Validate() error {
10630	invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingConfigurationInput"}
10631	if s.Name == nil {
10632		invalidParams.Add(request.NewErrParamRequired("Name"))
10633	}
10634	if s.Name != nil && len(*s.Name) < 1 {
10635		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10636	}
10637
10638	if invalidParams.Len() > 0 {
10639		return invalidParams
10640	}
10641	return nil
10642}
10643
10644// SetName sets the Name field's value.
10645func (s *DeleteMatchmakingConfigurationInput) SetName(v string) *DeleteMatchmakingConfigurationInput {
10646	s.Name = &v
10647	return s
10648}
10649
10650type DeleteMatchmakingConfigurationOutput struct {
10651	_ struct{} `type:"structure"`
10652}
10653
10654// String returns the string representation
10655func (s DeleteMatchmakingConfigurationOutput) String() string {
10656	return awsutil.Prettify(s)
10657}
10658
10659// GoString returns the string representation
10660func (s DeleteMatchmakingConfigurationOutput) GoString() string {
10661	return s.String()
10662}
10663
10664// Represents the input for a request action.
10665type DeleteScalingPolicyInput struct {
10666	_ struct{} `type:"structure"`
10667
10668	// Unique identifier for a fleet to be deleted.
10669	//
10670	// FleetId is a required field
10671	FleetId *string `type:"string" required:"true"`
10672
10673	// Descriptive label that is associated with a scaling policy. Policy names
10674	// do not need to be unique.
10675	//
10676	// Name is a required field
10677	Name *string `min:"1" type:"string" required:"true"`
10678}
10679
10680// String returns the string representation
10681func (s DeleteScalingPolicyInput) String() string {
10682	return awsutil.Prettify(s)
10683}
10684
10685// GoString returns the string representation
10686func (s DeleteScalingPolicyInput) GoString() string {
10687	return s.String()
10688}
10689
10690// Validate inspects the fields of the type to determine if they are valid.
10691func (s *DeleteScalingPolicyInput) Validate() error {
10692	invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPolicyInput"}
10693	if s.FleetId == nil {
10694		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10695	}
10696	if s.Name == nil {
10697		invalidParams.Add(request.NewErrParamRequired("Name"))
10698	}
10699	if s.Name != nil && len(*s.Name) < 1 {
10700		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10701	}
10702
10703	if invalidParams.Len() > 0 {
10704		return invalidParams
10705	}
10706	return nil
10707}
10708
10709// SetFleetId sets the FleetId field's value.
10710func (s *DeleteScalingPolicyInput) SetFleetId(v string) *DeleteScalingPolicyInput {
10711	s.FleetId = &v
10712	return s
10713}
10714
10715// SetName sets the Name field's value.
10716func (s *DeleteScalingPolicyInput) SetName(v string) *DeleteScalingPolicyInput {
10717	s.Name = &v
10718	return s
10719}
10720
10721type DeleteScalingPolicyOutput struct {
10722	_ struct{} `type:"structure"`
10723}
10724
10725// String returns the string representation
10726func (s DeleteScalingPolicyOutput) String() string {
10727	return awsutil.Prettify(s)
10728}
10729
10730// GoString returns the string representation
10731func (s DeleteScalingPolicyOutput) GoString() string {
10732	return s.String()
10733}
10734
10735// Represents the input for a request action.
10736type DeleteVpcPeeringAuthorizationInput struct {
10737	_ struct{} `type:"structure"`
10738
10739	// Unique identifier for the AWS account that you use to manage your Amazon
10740	// GameLift fleet. You can find your Account ID in the AWS Management Console
10741	// under account settings.
10742	//
10743	// GameLiftAwsAccountId is a required field
10744	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
10745
10746	// Unique identifier for a VPC with resources to be accessed by your Amazon
10747	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
10748	// To get VPC information, including IDs, use the Virtual Private Cloud service
10749	// tools, including the VPC Dashboard in the AWS Management Console.
10750	//
10751	// PeerVpcId is a required field
10752	PeerVpcId *string `min:"1" type:"string" required:"true"`
10753}
10754
10755// String returns the string representation
10756func (s DeleteVpcPeeringAuthorizationInput) String() string {
10757	return awsutil.Prettify(s)
10758}
10759
10760// GoString returns the string representation
10761func (s DeleteVpcPeeringAuthorizationInput) GoString() string {
10762	return s.String()
10763}
10764
10765// Validate inspects the fields of the type to determine if they are valid.
10766func (s *DeleteVpcPeeringAuthorizationInput) Validate() error {
10767	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringAuthorizationInput"}
10768	if s.GameLiftAwsAccountId == nil {
10769		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
10770	}
10771	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
10772		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
10773	}
10774	if s.PeerVpcId == nil {
10775		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
10776	}
10777	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
10778		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
10779	}
10780
10781	if invalidParams.Len() > 0 {
10782		return invalidParams
10783	}
10784	return nil
10785}
10786
10787// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
10788func (s *DeleteVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *DeleteVpcPeeringAuthorizationInput {
10789	s.GameLiftAwsAccountId = &v
10790	return s
10791}
10792
10793// SetPeerVpcId sets the PeerVpcId field's value.
10794func (s *DeleteVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *DeleteVpcPeeringAuthorizationInput {
10795	s.PeerVpcId = &v
10796	return s
10797}
10798
10799type DeleteVpcPeeringAuthorizationOutput struct {
10800	_ struct{} `type:"structure"`
10801}
10802
10803// String returns the string representation
10804func (s DeleteVpcPeeringAuthorizationOutput) String() string {
10805	return awsutil.Prettify(s)
10806}
10807
10808// GoString returns the string representation
10809func (s DeleteVpcPeeringAuthorizationOutput) GoString() string {
10810	return s.String()
10811}
10812
10813// Represents the input for a request action.
10814type DeleteVpcPeeringConnectionInput struct {
10815	_ struct{} `type:"structure"`
10816
10817	// Unique identifier for a fleet. This value must match the fleet ID referenced
10818	// in the VPC peering connection record.
10819	//
10820	// FleetId is a required field
10821	FleetId *string `type:"string" required:"true"`
10822
10823	// Unique identifier for a VPC peering connection. This value is included in
10824	// the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.
10825	//
10826	// VpcPeeringConnectionId is a required field
10827	VpcPeeringConnectionId *string `min:"1" type:"string" required:"true"`
10828}
10829
10830// String returns the string representation
10831func (s DeleteVpcPeeringConnectionInput) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation
10836func (s DeleteVpcPeeringConnectionInput) GoString() string {
10837	return s.String()
10838}
10839
10840// Validate inspects the fields of the type to determine if they are valid.
10841func (s *DeleteVpcPeeringConnectionInput) Validate() error {
10842	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
10843	if s.FleetId == nil {
10844		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10845	}
10846	if s.VpcPeeringConnectionId == nil {
10847		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
10848	}
10849	if s.VpcPeeringConnectionId != nil && len(*s.VpcPeeringConnectionId) < 1 {
10850		invalidParams.Add(request.NewErrParamMinLen("VpcPeeringConnectionId", 1))
10851	}
10852
10853	if invalidParams.Len() > 0 {
10854		return invalidParams
10855	}
10856	return nil
10857}
10858
10859// SetFleetId sets the FleetId field's value.
10860func (s *DeleteVpcPeeringConnectionInput) SetFleetId(v string) *DeleteVpcPeeringConnectionInput {
10861	s.FleetId = &v
10862	return s
10863}
10864
10865// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
10866func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
10867	s.VpcPeeringConnectionId = &v
10868	return s
10869}
10870
10871type DeleteVpcPeeringConnectionOutput struct {
10872	_ struct{} `type:"structure"`
10873}
10874
10875// String returns the string representation
10876func (s DeleteVpcPeeringConnectionOutput) String() string {
10877	return awsutil.Prettify(s)
10878}
10879
10880// GoString returns the string representation
10881func (s DeleteVpcPeeringConnectionOutput) GoString() string {
10882	return s.String()
10883}
10884
10885// Represents the input for a request action.
10886type DescribeAliasInput struct {
10887	_ struct{} `type:"structure"`
10888
10889	// Unique identifier for a fleet alias. Specify the alias you want to retrieve.
10890	//
10891	// AliasId is a required field
10892	AliasId *string `type:"string" required:"true"`
10893}
10894
10895// String returns the string representation
10896func (s DescribeAliasInput) String() string {
10897	return awsutil.Prettify(s)
10898}
10899
10900// GoString returns the string representation
10901func (s DescribeAliasInput) GoString() string {
10902	return s.String()
10903}
10904
10905// Validate inspects the fields of the type to determine if they are valid.
10906func (s *DescribeAliasInput) Validate() error {
10907	invalidParams := request.ErrInvalidParams{Context: "DescribeAliasInput"}
10908	if s.AliasId == nil {
10909		invalidParams.Add(request.NewErrParamRequired("AliasId"))
10910	}
10911
10912	if invalidParams.Len() > 0 {
10913		return invalidParams
10914	}
10915	return nil
10916}
10917
10918// SetAliasId sets the AliasId field's value.
10919func (s *DescribeAliasInput) SetAliasId(v string) *DescribeAliasInput {
10920	s.AliasId = &v
10921	return s
10922}
10923
10924// Represents the returned data in response to a request action.
10925type DescribeAliasOutput struct {
10926	_ struct{} `type:"structure"`
10927
10928	// Object that contains the requested alias.
10929	Alias *Alias `type:"structure"`
10930}
10931
10932// String returns the string representation
10933func (s DescribeAliasOutput) String() string {
10934	return awsutil.Prettify(s)
10935}
10936
10937// GoString returns the string representation
10938func (s DescribeAliasOutput) GoString() string {
10939	return s.String()
10940}
10941
10942// SetAlias sets the Alias field's value.
10943func (s *DescribeAliasOutput) SetAlias(v *Alias) *DescribeAliasOutput {
10944	s.Alias = v
10945	return s
10946}
10947
10948// Represents the input for a request action.
10949type DescribeBuildInput struct {
10950	_ struct{} `type:"structure"`
10951
10952	// Unique identifier for a build to retrieve properties for.
10953	//
10954	// BuildId is a required field
10955	BuildId *string `type:"string" required:"true"`
10956}
10957
10958// String returns the string representation
10959func (s DescribeBuildInput) String() string {
10960	return awsutil.Prettify(s)
10961}
10962
10963// GoString returns the string representation
10964func (s DescribeBuildInput) GoString() string {
10965	return s.String()
10966}
10967
10968// Validate inspects the fields of the type to determine if they are valid.
10969func (s *DescribeBuildInput) Validate() error {
10970	invalidParams := request.ErrInvalidParams{Context: "DescribeBuildInput"}
10971	if s.BuildId == nil {
10972		invalidParams.Add(request.NewErrParamRequired("BuildId"))
10973	}
10974
10975	if invalidParams.Len() > 0 {
10976		return invalidParams
10977	}
10978	return nil
10979}
10980
10981// SetBuildId sets the BuildId field's value.
10982func (s *DescribeBuildInput) SetBuildId(v string) *DescribeBuildInput {
10983	s.BuildId = &v
10984	return s
10985}
10986
10987// Represents the returned data in response to a request action.
10988type DescribeBuildOutput struct {
10989	_ struct{} `type:"structure"`
10990
10991	// Set of properties describing the requested build.
10992	Build *Build `type:"structure"`
10993}
10994
10995// String returns the string representation
10996func (s DescribeBuildOutput) String() string {
10997	return awsutil.Prettify(s)
10998}
10999
11000// GoString returns the string representation
11001func (s DescribeBuildOutput) GoString() string {
11002	return s.String()
11003}
11004
11005// SetBuild sets the Build field's value.
11006func (s *DescribeBuildOutput) SetBuild(v *Build) *DescribeBuildOutput {
11007	s.Build = v
11008	return s
11009}
11010
11011// Represents the input for a request action.
11012type DescribeEC2InstanceLimitsInput struct {
11013	_ struct{} `type:"structure"`
11014
11015	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
11016	// instance type determines the computing resources of each instance in the
11017	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
11018	// supports the following EC2 instance types. See Amazon EC2 Instance Types
11019	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. Leave
11020	// this parameter blank to retrieve limits for all types.
11021	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
11022}
11023
11024// String returns the string representation
11025func (s DescribeEC2InstanceLimitsInput) String() string {
11026	return awsutil.Prettify(s)
11027}
11028
11029// GoString returns the string representation
11030func (s DescribeEC2InstanceLimitsInput) GoString() string {
11031	return s.String()
11032}
11033
11034// SetEC2InstanceType sets the EC2InstanceType field's value.
11035func (s *DescribeEC2InstanceLimitsInput) SetEC2InstanceType(v string) *DescribeEC2InstanceLimitsInput {
11036	s.EC2InstanceType = &v
11037	return s
11038}
11039
11040// Represents the returned data in response to a request action.
11041type DescribeEC2InstanceLimitsOutput struct {
11042	_ struct{} `type:"structure"`
11043
11044	// Object that contains the maximum number of instances for the specified instance
11045	// type.
11046	EC2InstanceLimits []*EC2InstanceLimit `type:"list"`
11047}
11048
11049// String returns the string representation
11050func (s DescribeEC2InstanceLimitsOutput) String() string {
11051	return awsutil.Prettify(s)
11052}
11053
11054// GoString returns the string representation
11055func (s DescribeEC2InstanceLimitsOutput) GoString() string {
11056	return s.String()
11057}
11058
11059// SetEC2InstanceLimits sets the EC2InstanceLimits field's value.
11060func (s *DescribeEC2InstanceLimitsOutput) SetEC2InstanceLimits(v []*EC2InstanceLimit) *DescribeEC2InstanceLimitsOutput {
11061	s.EC2InstanceLimits = v
11062	return s
11063}
11064
11065// Represents the input for a request action.
11066type DescribeFleetAttributesInput struct {
11067	_ struct{} `type:"structure"`
11068
11069	// Unique identifier for a fleet(s) to retrieve attributes for. To request attributes
11070	// for all fleets, leave this parameter empty.
11071	FleetIds []*string `min:"1" type:"list"`
11072
11073	// Maximum number of results to return. Use this parameter with NextToken to
11074	// get results as a set of sequential pages. This parameter is ignored when
11075	// the request specifies one or a list of fleet IDs.
11076	Limit *int64 `min:"1" type:"integer"`
11077
11078	// Token that indicates the start of the next sequential page of results. Use
11079	// the token that is returned with a previous call to this action. To start
11080	// at the beginning of the result set, do not specify a value. This parameter
11081	// is ignored when the request specifies one or a list of fleet IDs.
11082	NextToken *string `min:"1" type:"string"`
11083}
11084
11085// String returns the string representation
11086func (s DescribeFleetAttributesInput) String() string {
11087	return awsutil.Prettify(s)
11088}
11089
11090// GoString returns the string representation
11091func (s DescribeFleetAttributesInput) GoString() string {
11092	return s.String()
11093}
11094
11095// Validate inspects the fields of the type to determine if they are valid.
11096func (s *DescribeFleetAttributesInput) Validate() error {
11097	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetAttributesInput"}
11098	if s.FleetIds != nil && len(s.FleetIds) < 1 {
11099		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
11100	}
11101	if s.Limit != nil && *s.Limit < 1 {
11102		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11103	}
11104	if s.NextToken != nil && len(*s.NextToken) < 1 {
11105		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11106	}
11107
11108	if invalidParams.Len() > 0 {
11109		return invalidParams
11110	}
11111	return nil
11112}
11113
11114// SetFleetIds sets the FleetIds field's value.
11115func (s *DescribeFleetAttributesInput) SetFleetIds(v []*string) *DescribeFleetAttributesInput {
11116	s.FleetIds = v
11117	return s
11118}
11119
11120// SetLimit sets the Limit field's value.
11121func (s *DescribeFleetAttributesInput) SetLimit(v int64) *DescribeFleetAttributesInput {
11122	s.Limit = &v
11123	return s
11124}
11125
11126// SetNextToken sets the NextToken field's value.
11127func (s *DescribeFleetAttributesInput) SetNextToken(v string) *DescribeFleetAttributesInput {
11128	s.NextToken = &v
11129	return s
11130}
11131
11132// Represents the returned data in response to a request action.
11133type DescribeFleetAttributesOutput struct {
11134	_ struct{} `type:"structure"`
11135
11136	// Collection of objects containing attribute metadata for each requested fleet
11137	// ID.
11138	FleetAttributes []*FleetAttributes `type:"list"`
11139
11140	// Token that indicates where to resume retrieving results on the next call
11141	// to this action. If no token is returned, these results represent the end
11142	// of the list.
11143	NextToken *string `min:"1" type:"string"`
11144}
11145
11146// String returns the string representation
11147func (s DescribeFleetAttributesOutput) String() string {
11148	return awsutil.Prettify(s)
11149}
11150
11151// GoString returns the string representation
11152func (s DescribeFleetAttributesOutput) GoString() string {
11153	return s.String()
11154}
11155
11156// SetFleetAttributes sets the FleetAttributes field's value.
11157func (s *DescribeFleetAttributesOutput) SetFleetAttributes(v []*FleetAttributes) *DescribeFleetAttributesOutput {
11158	s.FleetAttributes = v
11159	return s
11160}
11161
11162// SetNextToken sets the NextToken field's value.
11163func (s *DescribeFleetAttributesOutput) SetNextToken(v string) *DescribeFleetAttributesOutput {
11164	s.NextToken = &v
11165	return s
11166}
11167
11168// Represents the input for a request action.
11169type DescribeFleetCapacityInput struct {
11170	_ struct{} `type:"structure"`
11171
11172	// Unique identifier for a fleet(s) to retrieve capacity information for. To
11173	// request capacity information for all fleets, leave this parameter empty.
11174	FleetIds []*string `min:"1" type:"list"`
11175
11176	// Maximum number of results to return. Use this parameter with NextToken to
11177	// get results as a set of sequential pages. This parameter is ignored when
11178	// the request specifies one or a list of fleet IDs.
11179	Limit *int64 `min:"1" type:"integer"`
11180
11181	// Token that indicates the start of the next sequential page of results. Use
11182	// the token that is returned with a previous call to this action. To start
11183	// at the beginning of the result set, do not specify a value. This parameter
11184	// is ignored when the request specifies one or a list of fleet IDs.
11185	NextToken *string `min:"1" type:"string"`
11186}
11187
11188// String returns the string representation
11189func (s DescribeFleetCapacityInput) String() string {
11190	return awsutil.Prettify(s)
11191}
11192
11193// GoString returns the string representation
11194func (s DescribeFleetCapacityInput) GoString() string {
11195	return s.String()
11196}
11197
11198// Validate inspects the fields of the type to determine if they are valid.
11199func (s *DescribeFleetCapacityInput) Validate() error {
11200	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetCapacityInput"}
11201	if s.FleetIds != nil && len(s.FleetIds) < 1 {
11202		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
11203	}
11204	if s.Limit != nil && *s.Limit < 1 {
11205		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11206	}
11207	if s.NextToken != nil && len(*s.NextToken) < 1 {
11208		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11209	}
11210
11211	if invalidParams.Len() > 0 {
11212		return invalidParams
11213	}
11214	return nil
11215}
11216
11217// SetFleetIds sets the FleetIds field's value.
11218func (s *DescribeFleetCapacityInput) SetFleetIds(v []*string) *DescribeFleetCapacityInput {
11219	s.FleetIds = v
11220	return s
11221}
11222
11223// SetLimit sets the Limit field's value.
11224func (s *DescribeFleetCapacityInput) SetLimit(v int64) *DescribeFleetCapacityInput {
11225	s.Limit = &v
11226	return s
11227}
11228
11229// SetNextToken sets the NextToken field's value.
11230func (s *DescribeFleetCapacityInput) SetNextToken(v string) *DescribeFleetCapacityInput {
11231	s.NextToken = &v
11232	return s
11233}
11234
11235// Represents the returned data in response to a request action.
11236type DescribeFleetCapacityOutput struct {
11237	_ struct{} `type:"structure"`
11238
11239	// Collection of objects containing capacity information for each requested
11240	// fleet ID. Leave this parameter empty to retrieve capacity information for
11241	// all fleets.
11242	FleetCapacity []*FleetCapacity `type:"list"`
11243
11244	// Token that indicates where to resume retrieving results on the next call
11245	// to this action. If no token is returned, these results represent the end
11246	// of the list.
11247	NextToken *string `min:"1" type:"string"`
11248}
11249
11250// String returns the string representation
11251func (s DescribeFleetCapacityOutput) String() string {
11252	return awsutil.Prettify(s)
11253}
11254
11255// GoString returns the string representation
11256func (s DescribeFleetCapacityOutput) GoString() string {
11257	return s.String()
11258}
11259
11260// SetFleetCapacity sets the FleetCapacity field's value.
11261func (s *DescribeFleetCapacityOutput) SetFleetCapacity(v []*FleetCapacity) *DescribeFleetCapacityOutput {
11262	s.FleetCapacity = v
11263	return s
11264}
11265
11266// SetNextToken sets the NextToken field's value.
11267func (s *DescribeFleetCapacityOutput) SetNextToken(v string) *DescribeFleetCapacityOutput {
11268	s.NextToken = &v
11269	return s
11270}
11271
11272// Represents the input for a request action.
11273type DescribeFleetEventsInput struct {
11274	_ struct{} `type:"structure"`
11275
11276	// Most recent date to retrieve event logs for. If no end time is specified,
11277	// this call returns entries from the specified start time up to the present.
11278	// Format is a number expressed in Unix time as milliseconds (ex: "1469498468.057").
11279	EndTime *time.Time `type:"timestamp"`
11280
11281	// Unique identifier for a fleet to get event logs for.
11282	//
11283	// FleetId is a required field
11284	FleetId *string `type:"string" required:"true"`
11285
11286	// Maximum number of results to return. Use this parameter with NextToken to
11287	// get results as a set of sequential pages.
11288	Limit *int64 `min:"1" type:"integer"`
11289
11290	// Token that indicates the start of the next sequential page of results. Use
11291	// the token that is returned with a previous call to this action. To start
11292	// at the beginning of the result set, do not specify a value.
11293	NextToken *string `min:"1" type:"string"`
11294
11295	// Earliest date to retrieve event logs for. If no start time is specified,
11296	// this call returns entries starting from when the fleet was created to the
11297	// specified end time. Format is a number expressed in Unix time as milliseconds
11298	// (ex: "1469498468.057").
11299	StartTime *time.Time `type:"timestamp"`
11300}
11301
11302// String returns the string representation
11303func (s DescribeFleetEventsInput) String() string {
11304	return awsutil.Prettify(s)
11305}
11306
11307// GoString returns the string representation
11308func (s DescribeFleetEventsInput) GoString() string {
11309	return s.String()
11310}
11311
11312// Validate inspects the fields of the type to determine if they are valid.
11313func (s *DescribeFleetEventsInput) Validate() error {
11314	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetEventsInput"}
11315	if s.FleetId == nil {
11316		invalidParams.Add(request.NewErrParamRequired("FleetId"))
11317	}
11318	if s.Limit != nil && *s.Limit < 1 {
11319		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11320	}
11321	if s.NextToken != nil && len(*s.NextToken) < 1 {
11322		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11323	}
11324
11325	if invalidParams.Len() > 0 {
11326		return invalidParams
11327	}
11328	return nil
11329}
11330
11331// SetEndTime sets the EndTime field's value.
11332func (s *DescribeFleetEventsInput) SetEndTime(v time.Time) *DescribeFleetEventsInput {
11333	s.EndTime = &v
11334	return s
11335}
11336
11337// SetFleetId sets the FleetId field's value.
11338func (s *DescribeFleetEventsInput) SetFleetId(v string) *DescribeFleetEventsInput {
11339	s.FleetId = &v
11340	return s
11341}
11342
11343// SetLimit sets the Limit field's value.
11344func (s *DescribeFleetEventsInput) SetLimit(v int64) *DescribeFleetEventsInput {
11345	s.Limit = &v
11346	return s
11347}
11348
11349// SetNextToken sets the NextToken field's value.
11350func (s *DescribeFleetEventsInput) SetNextToken(v string) *DescribeFleetEventsInput {
11351	s.NextToken = &v
11352	return s
11353}
11354
11355// SetStartTime sets the StartTime field's value.
11356func (s *DescribeFleetEventsInput) SetStartTime(v time.Time) *DescribeFleetEventsInput {
11357	s.StartTime = &v
11358	return s
11359}
11360
11361// Represents the returned data in response to a request action.
11362type DescribeFleetEventsOutput struct {
11363	_ struct{} `type:"structure"`
11364
11365	// Collection of objects containing event log entries for the specified fleet.
11366	Events []*Event `type:"list"`
11367
11368	// Token that indicates where to resume retrieving results on the next call
11369	// to this action. If no token is returned, these results represent the end
11370	// of the list.
11371	NextToken *string `min:"1" type:"string"`
11372}
11373
11374// String returns the string representation
11375func (s DescribeFleetEventsOutput) String() string {
11376	return awsutil.Prettify(s)
11377}
11378
11379// GoString returns the string representation
11380func (s DescribeFleetEventsOutput) GoString() string {
11381	return s.String()
11382}
11383
11384// SetEvents sets the Events field's value.
11385func (s *DescribeFleetEventsOutput) SetEvents(v []*Event) *DescribeFleetEventsOutput {
11386	s.Events = v
11387	return s
11388}
11389
11390// SetNextToken sets the NextToken field's value.
11391func (s *DescribeFleetEventsOutput) SetNextToken(v string) *DescribeFleetEventsOutput {
11392	s.NextToken = &v
11393	return s
11394}
11395
11396// Represents the input for a request action.
11397type DescribeFleetPortSettingsInput struct {
11398	_ struct{} `type:"structure"`
11399
11400	// Unique identifier for a fleet to retrieve port settings for.
11401	//
11402	// FleetId is a required field
11403	FleetId *string `type:"string" required:"true"`
11404}
11405
11406// String returns the string representation
11407func (s DescribeFleetPortSettingsInput) String() string {
11408	return awsutil.Prettify(s)
11409}
11410
11411// GoString returns the string representation
11412func (s DescribeFleetPortSettingsInput) GoString() string {
11413	return s.String()
11414}
11415
11416// Validate inspects the fields of the type to determine if they are valid.
11417func (s *DescribeFleetPortSettingsInput) Validate() error {
11418	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetPortSettingsInput"}
11419	if s.FleetId == nil {
11420		invalidParams.Add(request.NewErrParamRequired("FleetId"))
11421	}
11422
11423	if invalidParams.Len() > 0 {
11424		return invalidParams
11425	}
11426	return nil
11427}
11428
11429// SetFleetId sets the FleetId field's value.
11430func (s *DescribeFleetPortSettingsInput) SetFleetId(v string) *DescribeFleetPortSettingsInput {
11431	s.FleetId = &v
11432	return s
11433}
11434
11435// Represents the returned data in response to a request action.
11436type DescribeFleetPortSettingsOutput struct {
11437	_ struct{} `type:"structure"`
11438
11439	// Object that contains port settings for the requested fleet ID.
11440	InboundPermissions []*IpPermission `type:"list"`
11441}
11442
11443// String returns the string representation
11444func (s DescribeFleetPortSettingsOutput) String() string {
11445	return awsutil.Prettify(s)
11446}
11447
11448// GoString returns the string representation
11449func (s DescribeFleetPortSettingsOutput) GoString() string {
11450	return s.String()
11451}
11452
11453// SetInboundPermissions sets the InboundPermissions field's value.
11454func (s *DescribeFleetPortSettingsOutput) SetInboundPermissions(v []*IpPermission) *DescribeFleetPortSettingsOutput {
11455	s.InboundPermissions = v
11456	return s
11457}
11458
11459// Represents the input for a request action.
11460type DescribeFleetUtilizationInput struct {
11461	_ struct{} `type:"structure"`
11462
11463	// Unique identifier for a fleet(s) to retrieve utilization data for. To request
11464	// utilization data for all fleets, leave this parameter empty.
11465	FleetIds []*string `min:"1" type:"list"`
11466
11467	// Maximum number of results to return. Use this parameter with NextToken to
11468	// get results as a set of sequential pages. This parameter is ignored when
11469	// the request specifies one or a list of fleet IDs.
11470	Limit *int64 `min:"1" type:"integer"`
11471
11472	// Token that indicates the start of the next sequential page of results. Use
11473	// the token that is returned with a previous call to this action. To start
11474	// at the beginning of the result set, do not specify a value. This parameter
11475	// is ignored when the request specifies one or a list of fleet IDs.
11476	NextToken *string `min:"1" type:"string"`
11477}
11478
11479// String returns the string representation
11480func (s DescribeFleetUtilizationInput) String() string {
11481	return awsutil.Prettify(s)
11482}
11483
11484// GoString returns the string representation
11485func (s DescribeFleetUtilizationInput) GoString() string {
11486	return s.String()
11487}
11488
11489// Validate inspects the fields of the type to determine if they are valid.
11490func (s *DescribeFleetUtilizationInput) Validate() error {
11491	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetUtilizationInput"}
11492	if s.FleetIds != nil && len(s.FleetIds) < 1 {
11493		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
11494	}
11495	if s.Limit != nil && *s.Limit < 1 {
11496		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11497	}
11498	if s.NextToken != nil && len(*s.NextToken) < 1 {
11499		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11500	}
11501
11502	if invalidParams.Len() > 0 {
11503		return invalidParams
11504	}
11505	return nil
11506}
11507
11508// SetFleetIds sets the FleetIds field's value.
11509func (s *DescribeFleetUtilizationInput) SetFleetIds(v []*string) *DescribeFleetUtilizationInput {
11510	s.FleetIds = v
11511	return s
11512}
11513
11514// SetLimit sets the Limit field's value.
11515func (s *DescribeFleetUtilizationInput) SetLimit(v int64) *DescribeFleetUtilizationInput {
11516	s.Limit = &v
11517	return s
11518}
11519
11520// SetNextToken sets the NextToken field's value.
11521func (s *DescribeFleetUtilizationInput) SetNextToken(v string) *DescribeFleetUtilizationInput {
11522	s.NextToken = &v
11523	return s
11524}
11525
11526// Represents the returned data in response to a request action.
11527type DescribeFleetUtilizationOutput struct {
11528	_ struct{} `type:"structure"`
11529
11530	// Collection of objects containing utilization information for each requested
11531	// fleet ID.
11532	FleetUtilization []*FleetUtilization `type:"list"`
11533
11534	// Token that indicates where to resume retrieving results on the next call
11535	// to this action. If no token is returned, these results represent the end
11536	// of the list.
11537	NextToken *string `min:"1" type:"string"`
11538}
11539
11540// String returns the string representation
11541func (s DescribeFleetUtilizationOutput) String() string {
11542	return awsutil.Prettify(s)
11543}
11544
11545// GoString returns the string representation
11546func (s DescribeFleetUtilizationOutput) GoString() string {
11547	return s.String()
11548}
11549
11550// SetFleetUtilization sets the FleetUtilization field's value.
11551func (s *DescribeFleetUtilizationOutput) SetFleetUtilization(v []*FleetUtilization) *DescribeFleetUtilizationOutput {
11552	s.FleetUtilization = v
11553	return s
11554}
11555
11556// SetNextToken sets the NextToken field's value.
11557func (s *DescribeFleetUtilizationOutput) SetNextToken(v string) *DescribeFleetUtilizationOutput {
11558	s.NextToken = &v
11559	return s
11560}
11561
11562// Represents the input for a request action.
11563type DescribeGameSessionDetailsInput struct {
11564	_ struct{} `type:"structure"`
11565
11566	// Unique identifier for an alias associated with the fleet to retrieve all
11567	// game sessions for.
11568	AliasId *string `type:"string"`
11569
11570	// Unique identifier for a fleet to retrieve all game sessions active on the
11571	// fleet.
11572	FleetId *string `type:"string"`
11573
11574	// Unique identifier for the game session to retrieve.
11575	GameSessionId *string `min:"1" type:"string"`
11576
11577	// Maximum number of results to return. Use this parameter with NextToken to
11578	// get results as a set of sequential pages.
11579	Limit *int64 `min:"1" type:"integer"`
11580
11581	// Token that indicates the start of the next sequential page of results. Use
11582	// the token that is returned with a previous call to this action. To start
11583	// at the beginning of the result set, do not specify a value.
11584	NextToken *string `min:"1" type:"string"`
11585
11586	// Game session status to filter results on. Possible game session statuses
11587	// include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are
11588	// transitory).
11589	StatusFilter *string `min:"1" type:"string"`
11590}
11591
11592// String returns the string representation
11593func (s DescribeGameSessionDetailsInput) String() string {
11594	return awsutil.Prettify(s)
11595}
11596
11597// GoString returns the string representation
11598func (s DescribeGameSessionDetailsInput) GoString() string {
11599	return s.String()
11600}
11601
11602// Validate inspects the fields of the type to determine if they are valid.
11603func (s *DescribeGameSessionDetailsInput) Validate() error {
11604	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionDetailsInput"}
11605	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
11606		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
11607	}
11608	if s.Limit != nil && *s.Limit < 1 {
11609		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11610	}
11611	if s.NextToken != nil && len(*s.NextToken) < 1 {
11612		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11613	}
11614	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
11615		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
11616	}
11617
11618	if invalidParams.Len() > 0 {
11619		return invalidParams
11620	}
11621	return nil
11622}
11623
11624// SetAliasId sets the AliasId field's value.
11625func (s *DescribeGameSessionDetailsInput) SetAliasId(v string) *DescribeGameSessionDetailsInput {
11626	s.AliasId = &v
11627	return s
11628}
11629
11630// SetFleetId sets the FleetId field's value.
11631func (s *DescribeGameSessionDetailsInput) SetFleetId(v string) *DescribeGameSessionDetailsInput {
11632	s.FleetId = &v
11633	return s
11634}
11635
11636// SetGameSessionId sets the GameSessionId field's value.
11637func (s *DescribeGameSessionDetailsInput) SetGameSessionId(v string) *DescribeGameSessionDetailsInput {
11638	s.GameSessionId = &v
11639	return s
11640}
11641
11642// SetLimit sets the Limit field's value.
11643func (s *DescribeGameSessionDetailsInput) SetLimit(v int64) *DescribeGameSessionDetailsInput {
11644	s.Limit = &v
11645	return s
11646}
11647
11648// SetNextToken sets the NextToken field's value.
11649func (s *DescribeGameSessionDetailsInput) SetNextToken(v string) *DescribeGameSessionDetailsInput {
11650	s.NextToken = &v
11651	return s
11652}
11653
11654// SetStatusFilter sets the StatusFilter field's value.
11655func (s *DescribeGameSessionDetailsInput) SetStatusFilter(v string) *DescribeGameSessionDetailsInput {
11656	s.StatusFilter = &v
11657	return s
11658}
11659
11660// Represents the returned data in response to a request action.
11661type DescribeGameSessionDetailsOutput struct {
11662	_ struct{} `type:"structure"`
11663
11664	// Collection of objects containing game session properties and the protection
11665	// policy currently in force for each session matching the request.
11666	GameSessionDetails []*GameSessionDetail `type:"list"`
11667
11668	// Token that indicates where to resume retrieving results on the next call
11669	// to this action. If no token is returned, these results represent the end
11670	// of the list.
11671	NextToken *string `min:"1" type:"string"`
11672}
11673
11674// String returns the string representation
11675func (s DescribeGameSessionDetailsOutput) String() string {
11676	return awsutil.Prettify(s)
11677}
11678
11679// GoString returns the string representation
11680func (s DescribeGameSessionDetailsOutput) GoString() string {
11681	return s.String()
11682}
11683
11684// SetGameSessionDetails sets the GameSessionDetails field's value.
11685func (s *DescribeGameSessionDetailsOutput) SetGameSessionDetails(v []*GameSessionDetail) *DescribeGameSessionDetailsOutput {
11686	s.GameSessionDetails = v
11687	return s
11688}
11689
11690// SetNextToken sets the NextToken field's value.
11691func (s *DescribeGameSessionDetailsOutput) SetNextToken(v string) *DescribeGameSessionDetailsOutput {
11692	s.NextToken = &v
11693	return s
11694}
11695
11696// Represents the input for a request action.
11697type DescribeGameSessionPlacementInput struct {
11698	_ struct{} `type:"structure"`
11699
11700	// Unique identifier for a game session placement to retrieve.
11701	//
11702	// PlacementId is a required field
11703	PlacementId *string `min:"1" type:"string" required:"true"`
11704}
11705
11706// String returns the string representation
11707func (s DescribeGameSessionPlacementInput) String() string {
11708	return awsutil.Prettify(s)
11709}
11710
11711// GoString returns the string representation
11712func (s DescribeGameSessionPlacementInput) GoString() string {
11713	return s.String()
11714}
11715
11716// Validate inspects the fields of the type to determine if they are valid.
11717func (s *DescribeGameSessionPlacementInput) Validate() error {
11718	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionPlacementInput"}
11719	if s.PlacementId == nil {
11720		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
11721	}
11722	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
11723		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
11724	}
11725
11726	if invalidParams.Len() > 0 {
11727		return invalidParams
11728	}
11729	return nil
11730}
11731
11732// SetPlacementId sets the PlacementId field's value.
11733func (s *DescribeGameSessionPlacementInput) SetPlacementId(v string) *DescribeGameSessionPlacementInput {
11734	s.PlacementId = &v
11735	return s
11736}
11737
11738// Represents the returned data in response to a request action.
11739type DescribeGameSessionPlacementOutput struct {
11740	_ struct{} `type:"structure"`
11741
11742	// Object that describes the requested game session placement.
11743	GameSessionPlacement *GameSessionPlacement `type:"structure"`
11744}
11745
11746// String returns the string representation
11747func (s DescribeGameSessionPlacementOutput) String() string {
11748	return awsutil.Prettify(s)
11749}
11750
11751// GoString returns the string representation
11752func (s DescribeGameSessionPlacementOutput) GoString() string {
11753	return s.String()
11754}
11755
11756// SetGameSessionPlacement sets the GameSessionPlacement field's value.
11757func (s *DescribeGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *DescribeGameSessionPlacementOutput {
11758	s.GameSessionPlacement = v
11759	return s
11760}
11761
11762// Represents the input for a request action.
11763type DescribeGameSessionQueuesInput struct {
11764	_ struct{} `type:"structure"`
11765
11766	// Maximum number of results to return. Use this parameter with NextToken to
11767	// get results as a set of sequential pages.
11768	Limit *int64 `min:"1" type:"integer"`
11769
11770	// List of queue names to retrieve information for. To request settings for
11771	// all queues, leave this parameter empty.
11772	Names []*string `type:"list"`
11773
11774	// Token that indicates the start of the next sequential page of results. Use
11775	// the token that is returned with a previous call to this action. To start
11776	// at the beginning of the result set, do not specify a value.
11777	NextToken *string `min:"1" type:"string"`
11778}
11779
11780// String returns the string representation
11781func (s DescribeGameSessionQueuesInput) String() string {
11782	return awsutil.Prettify(s)
11783}
11784
11785// GoString returns the string representation
11786func (s DescribeGameSessionQueuesInput) GoString() string {
11787	return s.String()
11788}
11789
11790// Validate inspects the fields of the type to determine if they are valid.
11791func (s *DescribeGameSessionQueuesInput) Validate() error {
11792	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionQueuesInput"}
11793	if s.Limit != nil && *s.Limit < 1 {
11794		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11795	}
11796	if s.NextToken != nil && len(*s.NextToken) < 1 {
11797		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11798	}
11799
11800	if invalidParams.Len() > 0 {
11801		return invalidParams
11802	}
11803	return nil
11804}
11805
11806// SetLimit sets the Limit field's value.
11807func (s *DescribeGameSessionQueuesInput) SetLimit(v int64) *DescribeGameSessionQueuesInput {
11808	s.Limit = &v
11809	return s
11810}
11811
11812// SetNames sets the Names field's value.
11813func (s *DescribeGameSessionQueuesInput) SetNames(v []*string) *DescribeGameSessionQueuesInput {
11814	s.Names = v
11815	return s
11816}
11817
11818// SetNextToken sets the NextToken field's value.
11819func (s *DescribeGameSessionQueuesInput) SetNextToken(v string) *DescribeGameSessionQueuesInput {
11820	s.NextToken = &v
11821	return s
11822}
11823
11824// Represents the returned data in response to a request action.
11825type DescribeGameSessionQueuesOutput struct {
11826	_ struct{} `type:"structure"`
11827
11828	// Collection of objects that describes the requested game session queues.
11829	GameSessionQueues []*GameSessionQueue `type:"list"`
11830
11831	// Token that indicates where to resume retrieving results on the next call
11832	// to this action. If no token is returned, these results represent the end
11833	// of the list.
11834	NextToken *string `min:"1" type:"string"`
11835}
11836
11837// String returns the string representation
11838func (s DescribeGameSessionQueuesOutput) String() string {
11839	return awsutil.Prettify(s)
11840}
11841
11842// GoString returns the string representation
11843func (s DescribeGameSessionQueuesOutput) GoString() string {
11844	return s.String()
11845}
11846
11847// SetGameSessionQueues sets the GameSessionQueues field's value.
11848func (s *DescribeGameSessionQueuesOutput) SetGameSessionQueues(v []*GameSessionQueue) *DescribeGameSessionQueuesOutput {
11849	s.GameSessionQueues = v
11850	return s
11851}
11852
11853// SetNextToken sets the NextToken field's value.
11854func (s *DescribeGameSessionQueuesOutput) SetNextToken(v string) *DescribeGameSessionQueuesOutput {
11855	s.NextToken = &v
11856	return s
11857}
11858
11859// Represents the input for a request action.
11860type DescribeGameSessionsInput struct {
11861	_ struct{} `type:"structure"`
11862
11863	// Unique identifier for an alias associated with the fleet to retrieve all
11864	// game sessions for.
11865	AliasId *string `type:"string"`
11866
11867	// Unique identifier for a fleet to retrieve all game sessions for.
11868	FleetId *string `type:"string"`
11869
11870	// Unique identifier for the game session to retrieve. You can use either a
11871	// GameSessionId or GameSessionArn value.
11872	GameSessionId *string `min:"1" type:"string"`
11873
11874	// Maximum number of results to return. Use this parameter with NextToken to
11875	// get results as a set of sequential pages.
11876	Limit *int64 `min:"1" type:"integer"`
11877
11878	// Token that indicates the start of the next sequential page of results. Use
11879	// the token that is returned with a previous call to this action. To start
11880	// at the beginning of the result set, do not specify a value.
11881	NextToken *string `min:"1" type:"string"`
11882
11883	// Game session status to filter results on. Possible game session statuses
11884	// include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are
11885	// transitory).
11886	StatusFilter *string `min:"1" type:"string"`
11887}
11888
11889// String returns the string representation
11890func (s DescribeGameSessionsInput) String() string {
11891	return awsutil.Prettify(s)
11892}
11893
11894// GoString returns the string representation
11895func (s DescribeGameSessionsInput) GoString() string {
11896	return s.String()
11897}
11898
11899// Validate inspects the fields of the type to determine if they are valid.
11900func (s *DescribeGameSessionsInput) Validate() error {
11901	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionsInput"}
11902	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
11903		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
11904	}
11905	if s.Limit != nil && *s.Limit < 1 {
11906		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11907	}
11908	if s.NextToken != nil && len(*s.NextToken) < 1 {
11909		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11910	}
11911	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
11912		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
11913	}
11914
11915	if invalidParams.Len() > 0 {
11916		return invalidParams
11917	}
11918	return nil
11919}
11920
11921// SetAliasId sets the AliasId field's value.
11922func (s *DescribeGameSessionsInput) SetAliasId(v string) *DescribeGameSessionsInput {
11923	s.AliasId = &v
11924	return s
11925}
11926
11927// SetFleetId sets the FleetId field's value.
11928func (s *DescribeGameSessionsInput) SetFleetId(v string) *DescribeGameSessionsInput {
11929	s.FleetId = &v
11930	return s
11931}
11932
11933// SetGameSessionId sets the GameSessionId field's value.
11934func (s *DescribeGameSessionsInput) SetGameSessionId(v string) *DescribeGameSessionsInput {
11935	s.GameSessionId = &v
11936	return s
11937}
11938
11939// SetLimit sets the Limit field's value.
11940func (s *DescribeGameSessionsInput) SetLimit(v int64) *DescribeGameSessionsInput {
11941	s.Limit = &v
11942	return s
11943}
11944
11945// SetNextToken sets the NextToken field's value.
11946func (s *DescribeGameSessionsInput) SetNextToken(v string) *DescribeGameSessionsInput {
11947	s.NextToken = &v
11948	return s
11949}
11950
11951// SetStatusFilter sets the StatusFilter field's value.
11952func (s *DescribeGameSessionsInput) SetStatusFilter(v string) *DescribeGameSessionsInput {
11953	s.StatusFilter = &v
11954	return s
11955}
11956
11957// Represents the returned data in response to a request action.
11958type DescribeGameSessionsOutput struct {
11959	_ struct{} `type:"structure"`
11960
11961	// Collection of objects containing game session properties for each session
11962	// matching the request.
11963	GameSessions []*GameSession `type:"list"`
11964
11965	// Token that indicates where to resume retrieving results on the next call
11966	// to this action. If no token is returned, these results represent the end
11967	// of the list.
11968	NextToken *string `min:"1" type:"string"`
11969}
11970
11971// String returns the string representation
11972func (s DescribeGameSessionsOutput) String() string {
11973	return awsutil.Prettify(s)
11974}
11975
11976// GoString returns the string representation
11977func (s DescribeGameSessionsOutput) GoString() string {
11978	return s.String()
11979}
11980
11981// SetGameSessions sets the GameSessions field's value.
11982func (s *DescribeGameSessionsOutput) SetGameSessions(v []*GameSession) *DescribeGameSessionsOutput {
11983	s.GameSessions = v
11984	return s
11985}
11986
11987// SetNextToken sets the NextToken field's value.
11988func (s *DescribeGameSessionsOutput) SetNextToken(v string) *DescribeGameSessionsOutput {
11989	s.NextToken = &v
11990	return s
11991}
11992
11993// Represents the input for a request action.
11994type DescribeInstancesInput struct {
11995	_ struct{} `type:"structure"`
11996
11997	// Unique identifier for a fleet to retrieve instance information for.
11998	//
11999	// FleetId is a required field
12000	FleetId *string `type:"string" required:"true"`
12001
12002	// Unique identifier for an instance to retrieve. Specify an instance ID or
12003	// leave blank to retrieve all instances in the fleet.
12004	InstanceId *string `type:"string"`
12005
12006	// Maximum number of results to return. Use this parameter with NextToken to
12007	// get results as a set of sequential pages.
12008	Limit *int64 `min:"1" type:"integer"`
12009
12010	// Token that indicates the start of the next sequential page of results. Use
12011	// the token that is returned with a previous call to this action. To start
12012	// at the beginning of the result set, do not specify a value.
12013	NextToken *string `min:"1" type:"string"`
12014}
12015
12016// String returns the string representation
12017func (s DescribeInstancesInput) String() string {
12018	return awsutil.Prettify(s)
12019}
12020
12021// GoString returns the string representation
12022func (s DescribeInstancesInput) GoString() string {
12023	return s.String()
12024}
12025
12026// Validate inspects the fields of the type to determine if they are valid.
12027func (s *DescribeInstancesInput) Validate() error {
12028	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesInput"}
12029	if s.FleetId == nil {
12030		invalidParams.Add(request.NewErrParamRequired("FleetId"))
12031	}
12032	if s.Limit != nil && *s.Limit < 1 {
12033		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12034	}
12035	if s.NextToken != nil && len(*s.NextToken) < 1 {
12036		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12037	}
12038
12039	if invalidParams.Len() > 0 {
12040		return invalidParams
12041	}
12042	return nil
12043}
12044
12045// SetFleetId sets the FleetId field's value.
12046func (s *DescribeInstancesInput) SetFleetId(v string) *DescribeInstancesInput {
12047	s.FleetId = &v
12048	return s
12049}
12050
12051// SetInstanceId sets the InstanceId field's value.
12052func (s *DescribeInstancesInput) SetInstanceId(v string) *DescribeInstancesInput {
12053	s.InstanceId = &v
12054	return s
12055}
12056
12057// SetLimit sets the Limit field's value.
12058func (s *DescribeInstancesInput) SetLimit(v int64) *DescribeInstancesInput {
12059	s.Limit = &v
12060	return s
12061}
12062
12063// SetNextToken sets the NextToken field's value.
12064func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
12065	s.NextToken = &v
12066	return s
12067}
12068
12069// Represents the returned data in response to a request action.
12070type DescribeInstancesOutput struct {
12071	_ struct{} `type:"structure"`
12072
12073	// Collection of objects containing properties for each instance returned.
12074	Instances []*Instance `type:"list"`
12075
12076	// Token that indicates where to resume retrieving results on the next call
12077	// to this action. If no token is returned, these results represent the end
12078	// of the list.
12079	NextToken *string `min:"1" type:"string"`
12080}
12081
12082// String returns the string representation
12083func (s DescribeInstancesOutput) String() string {
12084	return awsutil.Prettify(s)
12085}
12086
12087// GoString returns the string representation
12088func (s DescribeInstancesOutput) GoString() string {
12089	return s.String()
12090}
12091
12092// SetInstances sets the Instances field's value.
12093func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
12094	s.Instances = v
12095	return s
12096}
12097
12098// SetNextToken sets the NextToken field's value.
12099func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
12100	s.NextToken = &v
12101	return s
12102}
12103
12104// Represents the input for a request action.
12105type DescribeMatchmakingConfigurationsInput struct {
12106	_ struct{} `type:"structure"`
12107
12108	// Maximum number of results to return. Use this parameter with NextToken to
12109	// get results as a set of sequential pages. This parameter is limited to 10.
12110	Limit *int64 `min:"1" type:"integer"`
12111
12112	// Unique identifier for a matchmaking configuration(s) to retrieve. To request
12113	// all existing configurations, leave this parameter empty.
12114	Names []*string `type:"list"`
12115
12116	// Token that indicates the start of the next sequential page of results. Use
12117	// the token that is returned with a previous call to this action. To start
12118	// at the beginning of the result set, do not specify a value.
12119	NextToken *string `min:"1" type:"string"`
12120
12121	// Unique identifier for a matchmaking rule set. Use this parameter to retrieve
12122	// all matchmaking configurations that use this rule set.
12123	RuleSetName *string `min:"1" type:"string"`
12124}
12125
12126// String returns the string representation
12127func (s DescribeMatchmakingConfigurationsInput) String() string {
12128	return awsutil.Prettify(s)
12129}
12130
12131// GoString returns the string representation
12132func (s DescribeMatchmakingConfigurationsInput) GoString() string {
12133	return s.String()
12134}
12135
12136// Validate inspects the fields of the type to determine if they are valid.
12137func (s *DescribeMatchmakingConfigurationsInput) Validate() error {
12138	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingConfigurationsInput"}
12139	if s.Limit != nil && *s.Limit < 1 {
12140		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12141	}
12142	if s.NextToken != nil && len(*s.NextToken) < 1 {
12143		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12144	}
12145	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
12146		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
12147	}
12148
12149	if invalidParams.Len() > 0 {
12150		return invalidParams
12151	}
12152	return nil
12153}
12154
12155// SetLimit sets the Limit field's value.
12156func (s *DescribeMatchmakingConfigurationsInput) SetLimit(v int64) *DescribeMatchmakingConfigurationsInput {
12157	s.Limit = &v
12158	return s
12159}
12160
12161// SetNames sets the Names field's value.
12162func (s *DescribeMatchmakingConfigurationsInput) SetNames(v []*string) *DescribeMatchmakingConfigurationsInput {
12163	s.Names = v
12164	return s
12165}
12166
12167// SetNextToken sets the NextToken field's value.
12168func (s *DescribeMatchmakingConfigurationsInput) SetNextToken(v string) *DescribeMatchmakingConfigurationsInput {
12169	s.NextToken = &v
12170	return s
12171}
12172
12173// SetRuleSetName sets the RuleSetName field's value.
12174func (s *DescribeMatchmakingConfigurationsInput) SetRuleSetName(v string) *DescribeMatchmakingConfigurationsInput {
12175	s.RuleSetName = &v
12176	return s
12177}
12178
12179// Represents the returned data in response to a request action.
12180type DescribeMatchmakingConfigurationsOutput struct {
12181	_ struct{} `type:"structure"`
12182
12183	// Collection of requested matchmaking configuration objects.
12184	Configurations []*MatchmakingConfiguration `type:"list"`
12185
12186	// Token that indicates where to resume retrieving results on the next call
12187	// to this action. If no token is returned, these results represent the end
12188	// of the list.
12189	NextToken *string `min:"1" type:"string"`
12190}
12191
12192// String returns the string representation
12193func (s DescribeMatchmakingConfigurationsOutput) String() string {
12194	return awsutil.Prettify(s)
12195}
12196
12197// GoString returns the string representation
12198func (s DescribeMatchmakingConfigurationsOutput) GoString() string {
12199	return s.String()
12200}
12201
12202// SetConfigurations sets the Configurations field's value.
12203func (s *DescribeMatchmakingConfigurationsOutput) SetConfigurations(v []*MatchmakingConfiguration) *DescribeMatchmakingConfigurationsOutput {
12204	s.Configurations = v
12205	return s
12206}
12207
12208// SetNextToken sets the NextToken field's value.
12209func (s *DescribeMatchmakingConfigurationsOutput) SetNextToken(v string) *DescribeMatchmakingConfigurationsOutput {
12210	s.NextToken = &v
12211	return s
12212}
12213
12214// Represents the input for a request action.
12215type DescribeMatchmakingInput struct {
12216	_ struct{} `type:"structure"`
12217
12218	// Unique identifier for a matchmaking ticket. You can include up to 10 ID values.
12219	//
12220	// TicketIds is a required field
12221	TicketIds []*string `type:"list" required:"true"`
12222}
12223
12224// String returns the string representation
12225func (s DescribeMatchmakingInput) String() string {
12226	return awsutil.Prettify(s)
12227}
12228
12229// GoString returns the string representation
12230func (s DescribeMatchmakingInput) GoString() string {
12231	return s.String()
12232}
12233
12234// Validate inspects the fields of the type to determine if they are valid.
12235func (s *DescribeMatchmakingInput) Validate() error {
12236	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingInput"}
12237	if s.TicketIds == nil {
12238		invalidParams.Add(request.NewErrParamRequired("TicketIds"))
12239	}
12240
12241	if invalidParams.Len() > 0 {
12242		return invalidParams
12243	}
12244	return nil
12245}
12246
12247// SetTicketIds sets the TicketIds field's value.
12248func (s *DescribeMatchmakingInput) SetTicketIds(v []*string) *DescribeMatchmakingInput {
12249	s.TicketIds = v
12250	return s
12251}
12252
12253// Represents the returned data in response to a request action.
12254type DescribeMatchmakingOutput struct {
12255	_ struct{} `type:"structure"`
12256
12257	// Collection of existing matchmaking ticket objects matching the request.
12258	TicketList []*MatchmakingTicket `type:"list"`
12259}
12260
12261// String returns the string representation
12262func (s DescribeMatchmakingOutput) String() string {
12263	return awsutil.Prettify(s)
12264}
12265
12266// GoString returns the string representation
12267func (s DescribeMatchmakingOutput) GoString() string {
12268	return s.String()
12269}
12270
12271// SetTicketList sets the TicketList field's value.
12272func (s *DescribeMatchmakingOutput) SetTicketList(v []*MatchmakingTicket) *DescribeMatchmakingOutput {
12273	s.TicketList = v
12274	return s
12275}
12276
12277// Represents the input for a request action.
12278type DescribeMatchmakingRuleSetsInput struct {
12279	_ struct{} `type:"structure"`
12280
12281	// Maximum number of results to return. Use this parameter with NextToken to
12282	// get results as a set of sequential pages.
12283	Limit *int64 `min:"1" type:"integer"`
12284
12285	// Unique identifier for a matchmaking rule set. This name is used to identify
12286	// the rule set associated with a matchmaking configuration.
12287	Names []*string `min:"1" type:"list"`
12288
12289	// Token that indicates the start of the next sequential page of results. Use
12290	// the token that is returned with a previous call to this action. To start
12291	// at the beginning of the result set, do not specify a value.
12292	NextToken *string `min:"1" type:"string"`
12293}
12294
12295// String returns the string representation
12296func (s DescribeMatchmakingRuleSetsInput) String() string {
12297	return awsutil.Prettify(s)
12298}
12299
12300// GoString returns the string representation
12301func (s DescribeMatchmakingRuleSetsInput) GoString() string {
12302	return s.String()
12303}
12304
12305// Validate inspects the fields of the type to determine if they are valid.
12306func (s *DescribeMatchmakingRuleSetsInput) Validate() error {
12307	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingRuleSetsInput"}
12308	if s.Limit != nil && *s.Limit < 1 {
12309		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12310	}
12311	if s.Names != nil && len(s.Names) < 1 {
12312		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
12313	}
12314	if s.NextToken != nil && len(*s.NextToken) < 1 {
12315		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12316	}
12317
12318	if invalidParams.Len() > 0 {
12319		return invalidParams
12320	}
12321	return nil
12322}
12323
12324// SetLimit sets the Limit field's value.
12325func (s *DescribeMatchmakingRuleSetsInput) SetLimit(v int64) *DescribeMatchmakingRuleSetsInput {
12326	s.Limit = &v
12327	return s
12328}
12329
12330// SetNames sets the Names field's value.
12331func (s *DescribeMatchmakingRuleSetsInput) SetNames(v []*string) *DescribeMatchmakingRuleSetsInput {
12332	s.Names = v
12333	return s
12334}
12335
12336// SetNextToken sets the NextToken field's value.
12337func (s *DescribeMatchmakingRuleSetsInput) SetNextToken(v string) *DescribeMatchmakingRuleSetsInput {
12338	s.NextToken = &v
12339	return s
12340}
12341
12342// Represents the returned data in response to a request action.
12343type DescribeMatchmakingRuleSetsOutput struct {
12344	_ struct{} `type:"structure"`
12345
12346	// Token that indicates where to resume retrieving results on the next call
12347	// to this action. If no token is returned, these results represent the end
12348	// of the list.
12349	NextToken *string `min:"1" type:"string"`
12350
12351	// Collection of requested matchmaking rule set objects.
12352	//
12353	// RuleSets is a required field
12354	RuleSets []*MatchmakingRuleSet `type:"list" required:"true"`
12355}
12356
12357// String returns the string representation
12358func (s DescribeMatchmakingRuleSetsOutput) String() string {
12359	return awsutil.Prettify(s)
12360}
12361
12362// GoString returns the string representation
12363func (s DescribeMatchmakingRuleSetsOutput) GoString() string {
12364	return s.String()
12365}
12366
12367// SetNextToken sets the NextToken field's value.
12368func (s *DescribeMatchmakingRuleSetsOutput) SetNextToken(v string) *DescribeMatchmakingRuleSetsOutput {
12369	s.NextToken = &v
12370	return s
12371}
12372
12373// SetRuleSets sets the RuleSets field's value.
12374func (s *DescribeMatchmakingRuleSetsOutput) SetRuleSets(v []*MatchmakingRuleSet) *DescribeMatchmakingRuleSetsOutput {
12375	s.RuleSets = v
12376	return s
12377}
12378
12379// Represents the input for a request action.
12380type DescribePlayerSessionsInput struct {
12381	_ struct{} `type:"structure"`
12382
12383	// Unique identifier for the game session to retrieve player sessions for.
12384	GameSessionId *string `min:"1" type:"string"`
12385
12386	// Maximum number of results to return. Use this parameter with NextToken to
12387	// get results as a set of sequential pages. If a player session ID is specified,
12388	// this parameter is ignored.
12389	Limit *int64 `min:"1" type:"integer"`
12390
12391	// Token that indicates the start of the next sequential page of results. Use
12392	// the token that is returned with a previous call to this action. To start
12393	// at the beginning of the result set, do not specify a value. If a player session
12394	// ID is specified, this parameter is ignored.
12395	NextToken *string `min:"1" type:"string"`
12396
12397	// Unique identifier for a player to retrieve player sessions for.
12398	PlayerId *string `min:"1" type:"string"`
12399
12400	// Unique identifier for a player session to retrieve.
12401	PlayerSessionId *string `type:"string"`
12402
12403	// Player session status to filter results on.
12404	//
12405	// Possible player session statuses include the following:
12406	//
12407	//    * RESERVED -- The player session request has been received, but the player
12408	//    has not yet connected to the server process and/or been validated.
12409	//
12410	//    * ACTIVE -- The player has been validated by the server process and is
12411	//    currently connected.
12412	//
12413	//    * COMPLETED -- The player connection has been dropped.
12414	//
12415	//    * TIMEDOUT -- A player session request was received, but the player did
12416	//    not connect and/or was not validated within the timeout limit (60 seconds).
12417	PlayerSessionStatusFilter *string `min:"1" type:"string"`
12418}
12419
12420// String returns the string representation
12421func (s DescribePlayerSessionsInput) String() string {
12422	return awsutil.Prettify(s)
12423}
12424
12425// GoString returns the string representation
12426func (s DescribePlayerSessionsInput) GoString() string {
12427	return s.String()
12428}
12429
12430// Validate inspects the fields of the type to determine if they are valid.
12431func (s *DescribePlayerSessionsInput) Validate() error {
12432	invalidParams := request.ErrInvalidParams{Context: "DescribePlayerSessionsInput"}
12433	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
12434		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
12435	}
12436	if s.Limit != nil && *s.Limit < 1 {
12437		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12438	}
12439	if s.NextToken != nil && len(*s.NextToken) < 1 {
12440		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12441	}
12442	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
12443		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
12444	}
12445	if s.PlayerSessionStatusFilter != nil && len(*s.PlayerSessionStatusFilter) < 1 {
12446		invalidParams.Add(request.NewErrParamMinLen("PlayerSessionStatusFilter", 1))
12447	}
12448
12449	if invalidParams.Len() > 0 {
12450		return invalidParams
12451	}
12452	return nil
12453}
12454
12455// SetGameSessionId sets the GameSessionId field's value.
12456func (s *DescribePlayerSessionsInput) SetGameSessionId(v string) *DescribePlayerSessionsInput {
12457	s.GameSessionId = &v
12458	return s
12459}
12460
12461// SetLimit sets the Limit field's value.
12462func (s *DescribePlayerSessionsInput) SetLimit(v int64) *DescribePlayerSessionsInput {
12463	s.Limit = &v
12464	return s
12465}
12466
12467// SetNextToken sets the NextToken field's value.
12468func (s *DescribePlayerSessionsInput) SetNextToken(v string) *DescribePlayerSessionsInput {
12469	s.NextToken = &v
12470	return s
12471}
12472
12473// SetPlayerId sets the PlayerId field's value.
12474func (s *DescribePlayerSessionsInput) SetPlayerId(v string) *DescribePlayerSessionsInput {
12475	s.PlayerId = &v
12476	return s
12477}
12478
12479// SetPlayerSessionId sets the PlayerSessionId field's value.
12480func (s *DescribePlayerSessionsInput) SetPlayerSessionId(v string) *DescribePlayerSessionsInput {
12481	s.PlayerSessionId = &v
12482	return s
12483}
12484
12485// SetPlayerSessionStatusFilter sets the PlayerSessionStatusFilter field's value.
12486func (s *DescribePlayerSessionsInput) SetPlayerSessionStatusFilter(v string) *DescribePlayerSessionsInput {
12487	s.PlayerSessionStatusFilter = &v
12488	return s
12489}
12490
12491// Represents the returned data in response to a request action.
12492type DescribePlayerSessionsOutput struct {
12493	_ struct{} `type:"structure"`
12494
12495	// Token that indicates where to resume retrieving results on the next call
12496	// to this action. If no token is returned, these results represent the end
12497	// of the list.
12498	NextToken *string `min:"1" type:"string"`
12499
12500	// Collection of objects containing properties for each player session that
12501	// matches the request.
12502	PlayerSessions []*PlayerSession `type:"list"`
12503}
12504
12505// String returns the string representation
12506func (s DescribePlayerSessionsOutput) String() string {
12507	return awsutil.Prettify(s)
12508}
12509
12510// GoString returns the string representation
12511func (s DescribePlayerSessionsOutput) GoString() string {
12512	return s.String()
12513}
12514
12515// SetNextToken sets the NextToken field's value.
12516func (s *DescribePlayerSessionsOutput) SetNextToken(v string) *DescribePlayerSessionsOutput {
12517	s.NextToken = &v
12518	return s
12519}
12520
12521// SetPlayerSessions sets the PlayerSessions field's value.
12522func (s *DescribePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *DescribePlayerSessionsOutput {
12523	s.PlayerSessions = v
12524	return s
12525}
12526
12527// Represents the input for a request action.
12528type DescribeRuntimeConfigurationInput struct {
12529	_ struct{} `type:"structure"`
12530
12531	// Unique identifier for a fleet to get the run-time configuration for.
12532	//
12533	// FleetId is a required field
12534	FleetId *string `type:"string" required:"true"`
12535}
12536
12537// String returns the string representation
12538func (s DescribeRuntimeConfigurationInput) String() string {
12539	return awsutil.Prettify(s)
12540}
12541
12542// GoString returns the string representation
12543func (s DescribeRuntimeConfigurationInput) GoString() string {
12544	return s.String()
12545}
12546
12547// Validate inspects the fields of the type to determine if they are valid.
12548func (s *DescribeRuntimeConfigurationInput) Validate() error {
12549	invalidParams := request.ErrInvalidParams{Context: "DescribeRuntimeConfigurationInput"}
12550	if s.FleetId == nil {
12551		invalidParams.Add(request.NewErrParamRequired("FleetId"))
12552	}
12553
12554	if invalidParams.Len() > 0 {
12555		return invalidParams
12556	}
12557	return nil
12558}
12559
12560// SetFleetId sets the FleetId field's value.
12561func (s *DescribeRuntimeConfigurationInput) SetFleetId(v string) *DescribeRuntimeConfigurationInput {
12562	s.FleetId = &v
12563	return s
12564}
12565
12566// Represents the returned data in response to a request action.
12567type DescribeRuntimeConfigurationOutput struct {
12568	_ struct{} `type:"structure"`
12569
12570	// Instructions describing how server processes should be launched and maintained
12571	// on each instance in the fleet.
12572	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
12573}
12574
12575// String returns the string representation
12576func (s DescribeRuntimeConfigurationOutput) String() string {
12577	return awsutil.Prettify(s)
12578}
12579
12580// GoString returns the string representation
12581func (s DescribeRuntimeConfigurationOutput) GoString() string {
12582	return s.String()
12583}
12584
12585// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
12586func (s *DescribeRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *DescribeRuntimeConfigurationOutput {
12587	s.RuntimeConfiguration = v
12588	return s
12589}
12590
12591// Represents the input for a request action.
12592type DescribeScalingPoliciesInput struct {
12593	_ struct{} `type:"structure"`
12594
12595	// Unique identifier for a fleet to retrieve scaling policies for.
12596	//
12597	// FleetId is a required field
12598	FleetId *string `type:"string" required:"true"`
12599
12600	// Maximum number of results to return. Use this parameter with NextToken to
12601	// get results as a set of sequential pages.
12602	Limit *int64 `min:"1" type:"integer"`
12603
12604	// Token that indicates the start of the next sequential page of results. Use
12605	// the token that is returned with a previous call to this action. To start
12606	// at the beginning of the result set, do not specify a value.
12607	NextToken *string `min:"1" type:"string"`
12608
12609	// Scaling policy status to filter results on. A scaling policy is only in force
12610	// when in an ACTIVE status.
12611	//
12612	//    * ACTIVE -- The scaling policy is currently in force.
12613	//
12614	//    * UPDATEREQUESTED -- A request to update the scaling policy has been received.
12615	//
12616	//    * UPDATING -- A change is being made to the scaling policy.
12617	//
12618	//    * DELETEREQUESTED -- A request to delete the scaling policy has been received.
12619	//
12620	//    * DELETING -- The scaling policy is being deleted.
12621	//
12622	//    * DELETED -- The scaling policy has been deleted.
12623	//
12624	//    * ERROR -- An error occurred in creating the policy. It should be removed
12625	//    and recreated.
12626	StatusFilter *string `type:"string" enum:"ScalingStatusType"`
12627}
12628
12629// String returns the string representation
12630func (s DescribeScalingPoliciesInput) String() string {
12631	return awsutil.Prettify(s)
12632}
12633
12634// GoString returns the string representation
12635func (s DescribeScalingPoliciesInput) GoString() string {
12636	return s.String()
12637}
12638
12639// Validate inspects the fields of the type to determine if they are valid.
12640func (s *DescribeScalingPoliciesInput) Validate() error {
12641	invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPoliciesInput"}
12642	if s.FleetId == nil {
12643		invalidParams.Add(request.NewErrParamRequired("FleetId"))
12644	}
12645	if s.Limit != nil && *s.Limit < 1 {
12646		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12647	}
12648	if s.NextToken != nil && len(*s.NextToken) < 1 {
12649		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12650	}
12651
12652	if invalidParams.Len() > 0 {
12653		return invalidParams
12654	}
12655	return nil
12656}
12657
12658// SetFleetId sets the FleetId field's value.
12659func (s *DescribeScalingPoliciesInput) SetFleetId(v string) *DescribeScalingPoliciesInput {
12660	s.FleetId = &v
12661	return s
12662}
12663
12664// SetLimit sets the Limit field's value.
12665func (s *DescribeScalingPoliciesInput) SetLimit(v int64) *DescribeScalingPoliciesInput {
12666	s.Limit = &v
12667	return s
12668}
12669
12670// SetNextToken sets the NextToken field's value.
12671func (s *DescribeScalingPoliciesInput) SetNextToken(v string) *DescribeScalingPoliciesInput {
12672	s.NextToken = &v
12673	return s
12674}
12675
12676// SetStatusFilter sets the StatusFilter field's value.
12677func (s *DescribeScalingPoliciesInput) SetStatusFilter(v string) *DescribeScalingPoliciesInput {
12678	s.StatusFilter = &v
12679	return s
12680}
12681
12682// Represents the returned data in response to a request action.
12683type DescribeScalingPoliciesOutput struct {
12684	_ struct{} `type:"structure"`
12685
12686	// Token that indicates where to resume retrieving results on the next call
12687	// to this action. If no token is returned, these results represent the end
12688	// of the list.
12689	NextToken *string `min:"1" type:"string"`
12690
12691	// Collection of objects containing the scaling policies matching the request.
12692	ScalingPolicies []*ScalingPolicy `type:"list"`
12693}
12694
12695// String returns the string representation
12696func (s DescribeScalingPoliciesOutput) String() string {
12697	return awsutil.Prettify(s)
12698}
12699
12700// GoString returns the string representation
12701func (s DescribeScalingPoliciesOutput) GoString() string {
12702	return s.String()
12703}
12704
12705// SetNextToken sets the NextToken field's value.
12706func (s *DescribeScalingPoliciesOutput) SetNextToken(v string) *DescribeScalingPoliciesOutput {
12707	s.NextToken = &v
12708	return s
12709}
12710
12711// SetScalingPolicies sets the ScalingPolicies field's value.
12712func (s *DescribeScalingPoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *DescribeScalingPoliciesOutput {
12713	s.ScalingPolicies = v
12714	return s
12715}
12716
12717type DescribeVpcPeeringAuthorizationsInput struct {
12718	_ struct{} `type:"structure"`
12719}
12720
12721// String returns the string representation
12722func (s DescribeVpcPeeringAuthorizationsInput) String() string {
12723	return awsutil.Prettify(s)
12724}
12725
12726// GoString returns the string representation
12727func (s DescribeVpcPeeringAuthorizationsInput) GoString() string {
12728	return s.String()
12729}
12730
12731type DescribeVpcPeeringAuthorizationsOutput struct {
12732	_ struct{} `type:"structure"`
12733
12734	// Collection of objects that describe all valid VPC peering operations for
12735	// the current AWS account.
12736	VpcPeeringAuthorizations []*VpcPeeringAuthorization `type:"list"`
12737}
12738
12739// String returns the string representation
12740func (s DescribeVpcPeeringAuthorizationsOutput) String() string {
12741	return awsutil.Prettify(s)
12742}
12743
12744// GoString returns the string representation
12745func (s DescribeVpcPeeringAuthorizationsOutput) GoString() string {
12746	return s.String()
12747}
12748
12749// SetVpcPeeringAuthorizations sets the VpcPeeringAuthorizations field's value.
12750func (s *DescribeVpcPeeringAuthorizationsOutput) SetVpcPeeringAuthorizations(v []*VpcPeeringAuthorization) *DescribeVpcPeeringAuthorizationsOutput {
12751	s.VpcPeeringAuthorizations = v
12752	return s
12753}
12754
12755// Represents the input for a request action.
12756type DescribeVpcPeeringConnectionsInput struct {
12757	_ struct{} `type:"structure"`
12758
12759	// Unique identifier for a fleet.
12760	FleetId *string `type:"string"`
12761}
12762
12763// String returns the string representation
12764func (s DescribeVpcPeeringConnectionsInput) String() string {
12765	return awsutil.Prettify(s)
12766}
12767
12768// GoString returns the string representation
12769func (s DescribeVpcPeeringConnectionsInput) GoString() string {
12770	return s.String()
12771}
12772
12773// SetFleetId sets the FleetId field's value.
12774func (s *DescribeVpcPeeringConnectionsInput) SetFleetId(v string) *DescribeVpcPeeringConnectionsInput {
12775	s.FleetId = &v
12776	return s
12777}
12778
12779// Represents the returned data in response to a request action.
12780type DescribeVpcPeeringConnectionsOutput struct {
12781	_ struct{} `type:"structure"`
12782
12783	// Collection of VPC peering connection records that match the request.
12784	VpcPeeringConnections []*VpcPeeringConnection `type:"list"`
12785}
12786
12787// String returns the string representation
12788func (s DescribeVpcPeeringConnectionsOutput) String() string {
12789	return awsutil.Prettify(s)
12790}
12791
12792// GoString returns the string representation
12793func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
12794	return s.String()
12795}
12796
12797// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
12798func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
12799	s.VpcPeeringConnections = v
12800	return s
12801}
12802
12803// Player information for use when creating player sessions using a game session
12804// placement request with StartGameSessionPlacement.
12805type DesiredPlayerSession struct {
12806	_ struct{} `type:"structure"`
12807
12808	// Developer-defined information related to a player. Amazon GameLift does not
12809	// use this data, so it can be formatted as needed for use in the game.
12810	PlayerData *string `min:"1" type:"string"`
12811
12812	// Unique identifier for a player to associate with the player session.
12813	PlayerId *string `min:"1" type:"string"`
12814}
12815
12816// String returns the string representation
12817func (s DesiredPlayerSession) String() string {
12818	return awsutil.Prettify(s)
12819}
12820
12821// GoString returns the string representation
12822func (s DesiredPlayerSession) GoString() string {
12823	return s.String()
12824}
12825
12826// Validate inspects the fields of the type to determine if they are valid.
12827func (s *DesiredPlayerSession) Validate() error {
12828	invalidParams := request.ErrInvalidParams{Context: "DesiredPlayerSession"}
12829	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
12830		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
12831	}
12832	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
12833		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
12834	}
12835
12836	if invalidParams.Len() > 0 {
12837		return invalidParams
12838	}
12839	return nil
12840}
12841
12842// SetPlayerData sets the PlayerData field's value.
12843func (s *DesiredPlayerSession) SetPlayerData(v string) *DesiredPlayerSession {
12844	s.PlayerData = &v
12845	return s
12846}
12847
12848// SetPlayerId sets the PlayerId field's value.
12849func (s *DesiredPlayerSession) SetPlayerId(v string) *DesiredPlayerSession {
12850	s.PlayerId = &v
12851	return s
12852}
12853
12854// Current status of fleet capacity. The number of active instances should match
12855// or be in the process of matching the number of desired instances. Pending
12856// and terminating counts are non-zero only if fleet capacity is adjusting to
12857// an UpdateFleetCapacity request, or if access to resources is temporarily
12858// affected.
12859//
12860// Fleet-related operations include:
12861//
12862//    * CreateFleet
12863//
12864//    * ListFleets
12865//
12866//    * DeleteFleet
12867//
12868//    * Describe fleets:
12869//
12870// DescribeFleetAttributes
12871//
12872// DescribeFleetCapacity
12873//
12874// DescribeFleetPortSettings
12875//
12876// DescribeFleetUtilization
12877//
12878// DescribeRuntimeConfiguration
12879//
12880// DescribeEC2InstanceLimits
12881//
12882// DescribeFleetEvents
12883//
12884//    * Update fleets:
12885//
12886// UpdateFleetAttributes
12887//
12888// UpdateFleetCapacity
12889//
12890// UpdateFleetPortSettings
12891//
12892// UpdateRuntimeConfiguration
12893//
12894//    * Manage fleet actions:
12895//
12896// StartFleetActions
12897//
12898// StopFleetActions
12899type EC2InstanceCounts struct {
12900	_ struct{} `type:"structure"`
12901
12902	// Actual number of active instances in the fleet.
12903	ACTIVE *int64 `type:"integer"`
12904
12905	// Ideal number of active instances in the fleet.
12906	DESIRED *int64 `type:"integer"`
12907
12908	// Number of active instances in the fleet that are not currently hosting a
12909	// game session.
12910	IDLE *int64 `type:"integer"`
12911
12912	// Maximum value allowed for the fleet's instance count.
12913	MAXIMUM *int64 `type:"integer"`
12914
12915	// Minimum value allowed for the fleet's instance count.
12916	MINIMUM *int64 `type:"integer"`
12917
12918	// Number of instances in the fleet that are starting but not yet active.
12919	PENDING *int64 `type:"integer"`
12920
12921	// Number of instances in the fleet that are no longer active but haven't yet
12922	// been terminated.
12923	TERMINATING *int64 `type:"integer"`
12924}
12925
12926// String returns the string representation
12927func (s EC2InstanceCounts) String() string {
12928	return awsutil.Prettify(s)
12929}
12930
12931// GoString returns the string representation
12932func (s EC2InstanceCounts) GoString() string {
12933	return s.String()
12934}
12935
12936// SetACTIVE sets the ACTIVE field's value.
12937func (s *EC2InstanceCounts) SetACTIVE(v int64) *EC2InstanceCounts {
12938	s.ACTIVE = &v
12939	return s
12940}
12941
12942// SetDESIRED sets the DESIRED field's value.
12943func (s *EC2InstanceCounts) SetDESIRED(v int64) *EC2InstanceCounts {
12944	s.DESIRED = &v
12945	return s
12946}
12947
12948// SetIDLE sets the IDLE field's value.
12949func (s *EC2InstanceCounts) SetIDLE(v int64) *EC2InstanceCounts {
12950	s.IDLE = &v
12951	return s
12952}
12953
12954// SetMAXIMUM sets the MAXIMUM field's value.
12955func (s *EC2InstanceCounts) SetMAXIMUM(v int64) *EC2InstanceCounts {
12956	s.MAXIMUM = &v
12957	return s
12958}
12959
12960// SetMINIMUM sets the MINIMUM field's value.
12961func (s *EC2InstanceCounts) SetMINIMUM(v int64) *EC2InstanceCounts {
12962	s.MINIMUM = &v
12963	return s
12964}
12965
12966// SetPENDING sets the PENDING field's value.
12967func (s *EC2InstanceCounts) SetPENDING(v int64) *EC2InstanceCounts {
12968	s.PENDING = &v
12969	return s
12970}
12971
12972// SetTERMINATING sets the TERMINATING field's value.
12973func (s *EC2InstanceCounts) SetTERMINATING(v int64) *EC2InstanceCounts {
12974	s.TERMINATING = &v
12975	return s
12976}
12977
12978// Maximum number of instances allowed based on the Amazon Elastic Compute Cloud
12979// (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits.
12980type EC2InstanceLimit struct {
12981	_ struct{} `type:"structure"`
12982
12983	// Number of instances of the specified type that are currently in use by this
12984	// AWS account.
12985	CurrentInstances *int64 `type:"integer"`
12986
12987	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
12988	// instance type determines the computing resources of each instance in the
12989	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
12990	// supports the following EC2 instance types. See Amazon EC2 Instance Types
12991	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
12992	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
12993
12994	// Number of instances allowed.
12995	InstanceLimit *int64 `type:"integer"`
12996}
12997
12998// String returns the string representation
12999func (s EC2InstanceLimit) String() string {
13000	return awsutil.Prettify(s)
13001}
13002
13003// GoString returns the string representation
13004func (s EC2InstanceLimit) GoString() string {
13005	return s.String()
13006}
13007
13008// SetCurrentInstances sets the CurrentInstances field's value.
13009func (s *EC2InstanceLimit) SetCurrentInstances(v int64) *EC2InstanceLimit {
13010	s.CurrentInstances = &v
13011	return s
13012}
13013
13014// SetEC2InstanceType sets the EC2InstanceType field's value.
13015func (s *EC2InstanceLimit) SetEC2InstanceType(v string) *EC2InstanceLimit {
13016	s.EC2InstanceType = &v
13017	return s
13018}
13019
13020// SetInstanceLimit sets the InstanceLimit field's value.
13021func (s *EC2InstanceLimit) SetInstanceLimit(v int64) *EC2InstanceLimit {
13022	s.InstanceLimit = &v
13023	return s
13024}
13025
13026// Log entry describing an event that involves Amazon GameLift resources (such
13027// as a fleet). In addition to tracking activity, event codes and messages can
13028// provide additional information for troubleshooting and debugging problems.
13029type Event struct {
13030	_ struct{} `type:"structure"`
13031
13032	// Type of event being logged. The following events are currently in use:
13033	//
13034	// Fleet creation events:
13035	//
13036	//    * FLEET_CREATED -- A fleet record was successfully created with a status
13037	//    of NEW. Event messaging includes the fleet ID.
13038	//
13039	//    * FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING.
13040	//    The compressed build has started downloading to a fleet instance for installation.
13041	//
13042	//    *  FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the
13043	//    fleet instance.
13044	//
13045	//    * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully
13046	//    downloaded to an instance, and the build files are now being extracted
13047	//    from the uploaded build and saved to an instance. Failure at this stage
13048	//    prevents a fleet from moving to ACTIVE status. Logs for this stage display
13049	//    a list of the files that are extracted and saved on the instance. Access
13050	//    the logs by using the URL in PreSignedLogUrl.
13051	//
13052	//    * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were
13053	//    successfully extracted, and the Amazon GameLift is now running the build's
13054	//    install script (if one is included). Failure in this stage prevents a
13055	//    fleet from moving to ACTIVE status. Logs for this stage list the installation
13056	//    steps and whether or not the install completed successfully. Access the
13057	//    logs by using the URL in PreSignedLogUrl.
13058	//
13059	//    * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful,
13060	//    and the Amazon GameLift is now verifying that the game server launch paths,
13061	//    which are specified in the fleet's run-time configuration, exist. If any
13062	//    listed launch path exists, Amazon GameLift tries to launch a game server
13063	//    process and waits for the process to report ready. Failures in this stage
13064	//    prevent a fleet from moving to ACTIVE status. Logs for this stage list
13065	//    the launch paths in the run-time configuration and indicate whether each
13066	//    is found. Access the logs by using the URL in PreSignedLogUrl.
13067	//
13068	//    * FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.
13069	//
13070	//    *  FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time
13071	//    configuration failed because the executable specified in a launch path
13072	//    does not exist on the instance.
13073	//
13074	//    * FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.
13075	//
13076	//    * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time
13077	//    configuration failed because the executable specified in a launch path
13078	//    failed to run on the fleet instance.
13079	//
13080	//    * FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.
13081	//
13082	//
13083	//    *  FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete
13084	//    one of the steps in the fleet activation process. This event code indicates
13085	//    that the game build was successfully downloaded to a fleet instance, built,
13086	//    and validated, but was not able to start a server process. A possible
13087	//    reason for failure is that the game server is not reporting "process ready"
13088	//    to the Amazon GameLift service.
13089	//
13090	//    * FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to
13091	//    ACTIVE. The fleet is now ready to host game sessions.
13092	//
13093	// VPC peering events:
13094	//
13095	//    * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established
13096	//    between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.
13097	//
13098	//    * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed.
13099	//    Event details and status information (see DescribeVpcPeeringConnections)
13100	//    provide additional detail. A common reason for peering failure is that
13101	//    the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve
13102	//    this, change the CIDR block for the VPC in your AWS account. For more
13103	//    information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html
13104	//    (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html)
13105	//
13106	//    * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully
13107	//    deleted.
13108	//
13109	// Spot instance events:
13110	//
13111	//    *  INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with
13112	//    a two-minute notification.
13113	//
13114	// Other fleet events:
13115	//
13116	//    * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings
13117	//    (desired instances, minimum/maximum scaling limits). Event messaging includes
13118	//    the new capacity settings.
13119	//
13120	//    * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made
13121	//    to the fleet's game session protection policy setting. Event messaging
13122	//    includes both the old and new policy setting.
13123	//
13124	//    * FLEET_DELETED -- A request to delete a fleet was initiated.
13125	//
13126	//    *  GENERIC_EVENT -- An unspecified event has occurred.
13127	EventCode *string `type:"string" enum:"EventCode"`
13128
13129	// Unique identifier for a fleet event.
13130	EventId *string `min:"1" type:"string"`
13131
13132	// Time stamp indicating when this event occurred. Format is a number expressed
13133	// in Unix time as milliseconds (for example "1469498468.057").
13134	EventTime *time.Time `type:"timestamp"`
13135
13136	// Additional information related to the event.
13137	Message *string `min:"1" type:"string"`
13138
13139	// Location of stored logs with additional detail that is related to the event.
13140	// This is useful for debugging issues. The URL is valid for 15 minutes. You
13141	// can also access fleet creation logs through the Amazon GameLift console.
13142	PreSignedLogUrl *string `min:"1" type:"string"`
13143
13144	// Unique identifier for an event resource, such as a fleet ID.
13145	ResourceId *string `min:"1" type:"string"`
13146}
13147
13148// String returns the string representation
13149func (s Event) String() string {
13150	return awsutil.Prettify(s)
13151}
13152
13153// GoString returns the string representation
13154func (s Event) GoString() string {
13155	return s.String()
13156}
13157
13158// SetEventCode sets the EventCode field's value.
13159func (s *Event) SetEventCode(v string) *Event {
13160	s.EventCode = &v
13161	return s
13162}
13163
13164// SetEventId sets the EventId field's value.
13165func (s *Event) SetEventId(v string) *Event {
13166	s.EventId = &v
13167	return s
13168}
13169
13170// SetEventTime sets the EventTime field's value.
13171func (s *Event) SetEventTime(v time.Time) *Event {
13172	s.EventTime = &v
13173	return s
13174}
13175
13176// SetMessage sets the Message field's value.
13177func (s *Event) SetMessage(v string) *Event {
13178	s.Message = &v
13179	return s
13180}
13181
13182// SetPreSignedLogUrl sets the PreSignedLogUrl field's value.
13183func (s *Event) SetPreSignedLogUrl(v string) *Event {
13184	s.PreSignedLogUrl = &v
13185	return s
13186}
13187
13188// SetResourceId sets the ResourceId field's value.
13189func (s *Event) SetResourceId(v string) *Event {
13190	s.ResourceId = &v
13191	return s
13192}
13193
13194// General properties describing a fleet.
13195//
13196// Fleet-related operations include:
13197//
13198//    * CreateFleet
13199//
13200//    * ListFleets
13201//
13202//    * DeleteFleet
13203//
13204//    * Describe fleets:
13205//
13206// DescribeFleetAttributes
13207//
13208// DescribeFleetCapacity
13209//
13210// DescribeFleetPortSettings
13211//
13212// DescribeFleetUtilization
13213//
13214// DescribeRuntimeConfiguration
13215//
13216// DescribeEC2InstanceLimits
13217//
13218// DescribeFleetEvents
13219//
13220//    * Update fleets:
13221//
13222// UpdateFleetAttributes
13223//
13224// UpdateFleetCapacity
13225//
13226// UpdateFleetPortSettings
13227//
13228// UpdateRuntimeConfiguration
13229//
13230//    * Manage fleet actions:
13231//
13232// StartFleetActions
13233//
13234// StopFleetActions
13235type FleetAttributes struct {
13236	_ struct{} `type:"structure"`
13237
13238	// Unique identifier for a build.
13239	BuildId *string `type:"string"`
13240
13241	// Time stamp indicating when this data object was created. Format is a number
13242	// expressed in Unix time as milliseconds (for example "1469498468.057").
13243	CreationTime *time.Time `type:"timestamp"`
13244
13245	// Human-readable description of the fleet.
13246	Description *string `min:"1" type:"string"`
13247
13248	// Identifier for a fleet that is unique across all regions.
13249	FleetArn *string `min:"1" type:"string"`
13250
13251	// Unique identifier for a fleet.
13252	FleetId *string `type:"string"`
13253
13254	// Indicates whether the fleet uses on-demand or spot instances. A spot instance
13255	// in use may be interrupted with a two-minute notification.
13256	FleetType *string `type:"string" enum:"FleetType"`
13257
13258	// EC2 instance type indicating the computing resources of each instance in
13259	// the fleet, including CPU, memory, storage, and networking capacity. See Amazon
13260	// EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/) for detailed
13261	// descriptions.
13262	InstanceType *string `type:"string" enum:"EC2InstanceType"`
13263
13264	// Location of default log files. When a server process is shut down, Amazon
13265	// GameLift captures and stores any log files in this location. These logs are
13266	// in addition to game session logs; see more on game session logs in the Amazon
13267	// GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code).
13268	// If no default log path for a fleet is specified, Amazon GameLift automatically
13269	// uploads logs that are stored on each instance at C:\game\logs (for Windows)
13270	// or /local/game/logs (for Linux). Use the Amazon GameLift console to access
13271	// stored logs.
13272	LogPaths []*string `type:"list"`
13273
13274	// Names of metric groups that this fleet is included in. In Amazon CloudWatch,
13275	// you can view metrics for an individual fleet or aggregated metrics for fleets
13276	// that are in a fleet metric group. A fleet can be included in only one metric
13277	// group at a time.
13278	MetricGroups []*string `type:"list"`
13279
13280	// Descriptive label that is associated with a fleet. Fleet names do not need
13281	// to be unique.
13282	Name *string `min:"1" type:"string"`
13283
13284	// Type of game session protection to set for all new instances started in the
13285	// fleet.
13286	//
13287	//    * NoProtection -- The game session can be terminated during a scale-down
13288	//    event.
13289	//
13290	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
13291	//    be terminated during a scale-down event.
13292	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
13293
13294	// Operating system of the fleet's computing resources. A fleet's operating
13295	// system depends on the OS specified for the build that is deployed on this
13296	// fleet.
13297	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
13298
13299	// Fleet policy to limit the number of game sessions an individual player can
13300	// create over a span of time.
13301	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
13302
13303	// Game server launch parameters specified for fleets created before 2016-08-04
13304	// (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after
13305	// this date are specified in the fleet's RuntimeConfiguration.
13306	ServerLaunchParameters *string `min:"1" type:"string"`
13307
13308	// Path to a game server executable in the fleet's build, specified for fleets
13309	// created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for
13310	// fleets created after this date are specified in the fleet's RuntimeConfiguration.
13311	ServerLaunchPath *string `min:"1" type:"string"`
13312
13313	// Current status of the fleet.
13314	//
13315	// Possible fleet statuses include the following:
13316	//
13317	//    * NEW -- A new fleet has been defined and desired instances is set to
13318	//    1.
13319	//
13320	//    * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting
13321	//    up the new fleet, creating new instances with the game build and starting
13322	//    server processes.
13323	//
13324	//    * ACTIVE -- Hosts can now accept game sessions.
13325	//
13326	//    * ERROR -- An error occurred when downloading, validating, building, or
13327	//    activating the fleet.
13328	//
13329	//    * DELETING -- Hosts are responding to a delete fleet request.
13330	//
13331	//    * TERMINATED -- The fleet no longer exists.
13332	Status *string `type:"string" enum:"FleetStatus"`
13333
13334	// List of fleet actions that have been suspended using StopFleetActions. This
13335	// includes auto-scaling.
13336	StoppedActions []*string `min:"1" type:"list"`
13337
13338	// Time stamp indicating when this data object was terminated. Format is a number
13339	// expressed in Unix time as milliseconds (for example "1469498468.057").
13340	TerminationTime *time.Time `type:"timestamp"`
13341}
13342
13343// String returns the string representation
13344func (s FleetAttributes) String() string {
13345	return awsutil.Prettify(s)
13346}
13347
13348// GoString returns the string representation
13349func (s FleetAttributes) GoString() string {
13350	return s.String()
13351}
13352
13353// SetBuildId sets the BuildId field's value.
13354func (s *FleetAttributes) SetBuildId(v string) *FleetAttributes {
13355	s.BuildId = &v
13356	return s
13357}
13358
13359// SetCreationTime sets the CreationTime field's value.
13360func (s *FleetAttributes) SetCreationTime(v time.Time) *FleetAttributes {
13361	s.CreationTime = &v
13362	return s
13363}
13364
13365// SetDescription sets the Description field's value.
13366func (s *FleetAttributes) SetDescription(v string) *FleetAttributes {
13367	s.Description = &v
13368	return s
13369}
13370
13371// SetFleetArn sets the FleetArn field's value.
13372func (s *FleetAttributes) SetFleetArn(v string) *FleetAttributes {
13373	s.FleetArn = &v
13374	return s
13375}
13376
13377// SetFleetId sets the FleetId field's value.
13378func (s *FleetAttributes) SetFleetId(v string) *FleetAttributes {
13379	s.FleetId = &v
13380	return s
13381}
13382
13383// SetFleetType sets the FleetType field's value.
13384func (s *FleetAttributes) SetFleetType(v string) *FleetAttributes {
13385	s.FleetType = &v
13386	return s
13387}
13388
13389// SetInstanceType sets the InstanceType field's value.
13390func (s *FleetAttributes) SetInstanceType(v string) *FleetAttributes {
13391	s.InstanceType = &v
13392	return s
13393}
13394
13395// SetLogPaths sets the LogPaths field's value.
13396func (s *FleetAttributes) SetLogPaths(v []*string) *FleetAttributes {
13397	s.LogPaths = v
13398	return s
13399}
13400
13401// SetMetricGroups sets the MetricGroups field's value.
13402func (s *FleetAttributes) SetMetricGroups(v []*string) *FleetAttributes {
13403	s.MetricGroups = v
13404	return s
13405}
13406
13407// SetName sets the Name field's value.
13408func (s *FleetAttributes) SetName(v string) *FleetAttributes {
13409	s.Name = &v
13410	return s
13411}
13412
13413// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
13414func (s *FleetAttributes) SetNewGameSessionProtectionPolicy(v string) *FleetAttributes {
13415	s.NewGameSessionProtectionPolicy = &v
13416	return s
13417}
13418
13419// SetOperatingSystem sets the OperatingSystem field's value.
13420func (s *FleetAttributes) SetOperatingSystem(v string) *FleetAttributes {
13421	s.OperatingSystem = &v
13422	return s
13423}
13424
13425// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
13426func (s *FleetAttributes) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *FleetAttributes {
13427	s.ResourceCreationLimitPolicy = v
13428	return s
13429}
13430
13431// SetServerLaunchParameters sets the ServerLaunchParameters field's value.
13432func (s *FleetAttributes) SetServerLaunchParameters(v string) *FleetAttributes {
13433	s.ServerLaunchParameters = &v
13434	return s
13435}
13436
13437// SetServerLaunchPath sets the ServerLaunchPath field's value.
13438func (s *FleetAttributes) SetServerLaunchPath(v string) *FleetAttributes {
13439	s.ServerLaunchPath = &v
13440	return s
13441}
13442
13443// SetStatus sets the Status field's value.
13444func (s *FleetAttributes) SetStatus(v string) *FleetAttributes {
13445	s.Status = &v
13446	return s
13447}
13448
13449// SetStoppedActions sets the StoppedActions field's value.
13450func (s *FleetAttributes) SetStoppedActions(v []*string) *FleetAttributes {
13451	s.StoppedActions = v
13452	return s
13453}
13454
13455// SetTerminationTime sets the TerminationTime field's value.
13456func (s *FleetAttributes) SetTerminationTime(v time.Time) *FleetAttributes {
13457	s.TerminationTime = &v
13458	return s
13459}
13460
13461// Information about the fleet's capacity. Fleet capacity is measured in EC2
13462// instances. By default, new fleets have a capacity of one instance, but can
13463// be updated as needed. The maximum number of instances for a fleet is determined
13464// by the fleet's instance type.
13465//
13466// Fleet-related operations include:
13467//
13468//    * CreateFleet
13469//
13470//    * ListFleets
13471//
13472//    * DeleteFleet
13473//
13474//    * Describe fleets:
13475//
13476// DescribeFleetAttributes
13477//
13478// DescribeFleetCapacity
13479//
13480// DescribeFleetPortSettings
13481//
13482// DescribeFleetUtilization
13483//
13484// DescribeRuntimeConfiguration
13485//
13486// DescribeEC2InstanceLimits
13487//
13488// DescribeFleetEvents
13489//
13490//    * Update fleets:
13491//
13492// UpdateFleetAttributes
13493//
13494// UpdateFleetCapacity
13495//
13496// UpdateFleetPortSettings
13497//
13498// UpdateRuntimeConfiguration
13499//
13500//    * Manage fleet actions:
13501//
13502// StartFleetActions
13503//
13504// StopFleetActions
13505type FleetCapacity struct {
13506	_ struct{} `type:"structure"`
13507
13508	// Unique identifier for a fleet.
13509	FleetId *string `type:"string"`
13510
13511	// Current status of fleet capacity.
13512	InstanceCounts *EC2InstanceCounts `type:"structure"`
13513
13514	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
13515	// instance type determines the computing resources of each instance in the
13516	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
13517	// supports the following EC2 instance types. See Amazon EC2 Instance Types
13518	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
13519	InstanceType *string `type:"string" enum:"EC2InstanceType"`
13520}
13521
13522// String returns the string representation
13523func (s FleetCapacity) String() string {
13524	return awsutil.Prettify(s)
13525}
13526
13527// GoString returns the string representation
13528func (s FleetCapacity) GoString() string {
13529	return s.String()
13530}
13531
13532// SetFleetId sets the FleetId field's value.
13533func (s *FleetCapacity) SetFleetId(v string) *FleetCapacity {
13534	s.FleetId = &v
13535	return s
13536}
13537
13538// SetInstanceCounts sets the InstanceCounts field's value.
13539func (s *FleetCapacity) SetInstanceCounts(v *EC2InstanceCounts) *FleetCapacity {
13540	s.InstanceCounts = v
13541	return s
13542}
13543
13544// SetInstanceType sets the InstanceType field's value.
13545func (s *FleetCapacity) SetInstanceType(v string) *FleetCapacity {
13546	s.InstanceType = &v
13547	return s
13548}
13549
13550// Current status of fleet utilization, including the number of game and player
13551// sessions being hosted.
13552//
13553// Fleet-related operations include:
13554//
13555//    * CreateFleet
13556//
13557//    * ListFleets
13558//
13559//    * DeleteFleet
13560//
13561//    * Describe fleets:
13562//
13563// DescribeFleetAttributes
13564//
13565// DescribeFleetCapacity
13566//
13567// DescribeFleetPortSettings
13568//
13569// DescribeFleetUtilization
13570//
13571// DescribeRuntimeConfiguration
13572//
13573// DescribeEC2InstanceLimits
13574//
13575// DescribeFleetEvents
13576//
13577//    * Update fleets:
13578//
13579// UpdateFleetAttributes
13580//
13581// UpdateFleetCapacity
13582//
13583// UpdateFleetPortSettings
13584//
13585// UpdateRuntimeConfiguration
13586//
13587//    * Manage fleet actions:
13588//
13589// StartFleetActions
13590//
13591// StopFleetActions
13592type FleetUtilization struct {
13593	_ struct{} `type:"structure"`
13594
13595	// Number of active game sessions currently being hosted on all instances in
13596	// the fleet.
13597	ActiveGameSessionCount *int64 `type:"integer"`
13598
13599	// Number of server processes in an ACTIVE status currently running across all
13600	// instances in the fleet
13601	ActiveServerProcessCount *int64 `type:"integer"`
13602
13603	// Number of active player sessions currently being hosted on all instances
13604	// in the fleet.
13605	CurrentPlayerSessionCount *int64 `type:"integer"`
13606
13607	// Unique identifier for a fleet.
13608	FleetId *string `type:"string"`
13609
13610	// Maximum players allowed across all game sessions currently being hosted on
13611	// all instances in the fleet.
13612	MaximumPlayerSessionCount *int64 `type:"integer"`
13613}
13614
13615// String returns the string representation
13616func (s FleetUtilization) String() string {
13617	return awsutil.Prettify(s)
13618}
13619
13620// GoString returns the string representation
13621func (s FleetUtilization) GoString() string {
13622	return s.String()
13623}
13624
13625// SetActiveGameSessionCount sets the ActiveGameSessionCount field's value.
13626func (s *FleetUtilization) SetActiveGameSessionCount(v int64) *FleetUtilization {
13627	s.ActiveGameSessionCount = &v
13628	return s
13629}
13630
13631// SetActiveServerProcessCount sets the ActiveServerProcessCount field's value.
13632func (s *FleetUtilization) SetActiveServerProcessCount(v int64) *FleetUtilization {
13633	s.ActiveServerProcessCount = &v
13634	return s
13635}
13636
13637// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
13638func (s *FleetUtilization) SetCurrentPlayerSessionCount(v int64) *FleetUtilization {
13639	s.CurrentPlayerSessionCount = &v
13640	return s
13641}
13642
13643// SetFleetId sets the FleetId field's value.
13644func (s *FleetUtilization) SetFleetId(v string) *FleetUtilization {
13645	s.FleetId = &v
13646	return s
13647}
13648
13649// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
13650func (s *FleetUtilization) SetMaximumPlayerSessionCount(v int64) *FleetUtilization {
13651	s.MaximumPlayerSessionCount = &v
13652	return s
13653}
13654
13655// Set of key-value pairs that contain information about a game session. When
13656// included in a game session request, these properties communicate details
13657// to be used when setting up the new game session, such as to specify a game
13658// mode, level, or map. Game properties are passed to the game server process
13659// when initiating a new game session; the server process uses the properties
13660// as appropriate. For more information, see the  Amazon GameLift Developer
13661// Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create).
13662type GameProperty struct {
13663	_ struct{} `type:"structure"`
13664
13665	// Game property identifier.
13666	//
13667	// Key is a required field
13668	Key *string `type:"string" required:"true"`
13669
13670	// Game property value.
13671	//
13672	// Value is a required field
13673	Value *string `type:"string" required:"true"`
13674}
13675
13676// String returns the string representation
13677func (s GameProperty) String() string {
13678	return awsutil.Prettify(s)
13679}
13680
13681// GoString returns the string representation
13682func (s GameProperty) GoString() string {
13683	return s.String()
13684}
13685
13686// Validate inspects the fields of the type to determine if they are valid.
13687func (s *GameProperty) Validate() error {
13688	invalidParams := request.ErrInvalidParams{Context: "GameProperty"}
13689	if s.Key == nil {
13690		invalidParams.Add(request.NewErrParamRequired("Key"))
13691	}
13692	if s.Value == nil {
13693		invalidParams.Add(request.NewErrParamRequired("Value"))
13694	}
13695
13696	if invalidParams.Len() > 0 {
13697		return invalidParams
13698	}
13699	return nil
13700}
13701
13702// SetKey sets the Key field's value.
13703func (s *GameProperty) SetKey(v string) *GameProperty {
13704	s.Key = &v
13705	return s
13706}
13707
13708// SetValue sets the Value field's value.
13709func (s *GameProperty) SetValue(v string) *GameProperty {
13710	s.Value = &v
13711	return s
13712}
13713
13714// Properties describing a game session.
13715//
13716// A game session in ACTIVE status can host players. When a game session ends,
13717// its status is set to TERMINATED.
13718//
13719// Once the session ends, the game session object is retained for 30 days. This
13720// means you can reuse idempotency token values after this time. Game session
13721// logs are retained for 14 days.
13722//
13723// Game-session-related operations include:
13724//
13725//    * CreateGameSession
13726//
13727//    * DescribeGameSessions
13728//
13729//    * DescribeGameSessionDetails
13730//
13731//    * SearchGameSessions
13732//
13733//    * UpdateGameSession
13734//
13735//    * GetGameSessionLogUrl
13736//
13737//    * Game session placements
13738//
13739// StartGameSessionPlacement
13740//
13741// DescribeGameSessionPlacement
13742//
13743// StopGameSessionPlacement
13744type GameSession struct {
13745	_ struct{} `type:"structure"`
13746
13747	// Time stamp indicating when this data object was created. Format is a number
13748	// expressed in Unix time as milliseconds (for example "1469498468.057").
13749	CreationTime *time.Time `type:"timestamp"`
13750
13751	// Unique identifier for a player. This ID is used to enforce a resource protection
13752	// policy (if one exists), that limits the number of game sessions a player
13753	// can create.
13754	CreatorId *string `min:"1" type:"string"`
13755
13756	// Number of players currently in the game session.
13757	CurrentPlayerSessionCount *int64 `type:"integer"`
13758
13759	// Unique identifier for a fleet that the game session is running on.
13760	FleetId *string `type:"string"`
13761
13762	// Set of custom properties for a game session, formatted as key:value pairs.
13763	// These properties are passed to a game server process in the GameSession object
13764	// with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
13765	// You can search for active game sessions based on this custom data with SearchGameSessions.
13766	GameProperties []*GameProperty `type:"list"`
13767
13768	// Set of custom game session properties, formatted as a single string value.
13769	// This data is passed to a game server process in the GameSession object with
13770	// a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
13771	GameSessionData *string `min:"1" type:"string"`
13772
13773	// Unique identifier for the game session. A game session ARN has the following
13774	// format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
13775	// or idempotency token>.
13776	GameSessionId *string `min:"1" type:"string"`
13777
13778	// IP address of the game session. To connect to a Amazon GameLift game server,
13779	// an app needs both the IP address and port number.
13780	IpAddress *string `type:"string"`
13781
13782	// Information about the matchmaking process that was used to create the game
13783	// session. It is in JSON syntax, formatted as a string. In addition the matchmaking
13784	// configuration used, it contains data on all players assigned to the match,
13785	// including player attributes and team assignments. For more details on matchmaker
13786	// data, see Match Data (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data).
13787	// Matchmaker data is useful when requesting match backfills, and is updated
13788	// whenever new players are added during a successful backfill (see StartMatchBackfill).
13789	MatchmakerData *string `min:"1" type:"string"`
13790
13791	// Maximum number of players that can be connected simultaneously to the game
13792	// session.
13793	MaximumPlayerSessionCount *int64 `type:"integer"`
13794
13795	// Descriptive label that is associated with a game session. Session names do
13796	// not need to be unique.
13797	Name *string `min:"1" type:"string"`
13798
13799	// Indicates whether or not the game session is accepting new players.
13800	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
13801
13802	// Port number for the game session. To connect to a Amazon GameLift game server,
13803	// an app needs both the IP address and port number.
13804	Port *int64 `min:"1" type:"integer"`
13805
13806	// Current status of the game session. A game session must have an ACTIVE status
13807	// to have player sessions.
13808	Status *string `type:"string" enum:"GameSessionStatus"`
13809
13810	// Provides additional information about game session status. INTERRUPTED indicates
13811	// that the game session was hosted on a spot instance that was reclaimed, causing
13812	// the active game session to be terminated.
13813	StatusReason *string `type:"string" enum:"GameSessionStatusReason"`
13814
13815	// Time stamp indicating when this data object was terminated. Format is a number
13816	// expressed in Unix time as milliseconds (for example "1469498468.057").
13817	TerminationTime *time.Time `type:"timestamp"`
13818}
13819
13820// String returns the string representation
13821func (s GameSession) String() string {
13822	return awsutil.Prettify(s)
13823}
13824
13825// GoString returns the string representation
13826func (s GameSession) GoString() string {
13827	return s.String()
13828}
13829
13830// SetCreationTime sets the CreationTime field's value.
13831func (s *GameSession) SetCreationTime(v time.Time) *GameSession {
13832	s.CreationTime = &v
13833	return s
13834}
13835
13836// SetCreatorId sets the CreatorId field's value.
13837func (s *GameSession) SetCreatorId(v string) *GameSession {
13838	s.CreatorId = &v
13839	return s
13840}
13841
13842// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
13843func (s *GameSession) SetCurrentPlayerSessionCount(v int64) *GameSession {
13844	s.CurrentPlayerSessionCount = &v
13845	return s
13846}
13847
13848// SetFleetId sets the FleetId field's value.
13849func (s *GameSession) SetFleetId(v string) *GameSession {
13850	s.FleetId = &v
13851	return s
13852}
13853
13854// SetGameProperties sets the GameProperties field's value.
13855func (s *GameSession) SetGameProperties(v []*GameProperty) *GameSession {
13856	s.GameProperties = v
13857	return s
13858}
13859
13860// SetGameSessionData sets the GameSessionData field's value.
13861func (s *GameSession) SetGameSessionData(v string) *GameSession {
13862	s.GameSessionData = &v
13863	return s
13864}
13865
13866// SetGameSessionId sets the GameSessionId field's value.
13867func (s *GameSession) SetGameSessionId(v string) *GameSession {
13868	s.GameSessionId = &v
13869	return s
13870}
13871
13872// SetIpAddress sets the IpAddress field's value.
13873func (s *GameSession) SetIpAddress(v string) *GameSession {
13874	s.IpAddress = &v
13875	return s
13876}
13877
13878// SetMatchmakerData sets the MatchmakerData field's value.
13879func (s *GameSession) SetMatchmakerData(v string) *GameSession {
13880	s.MatchmakerData = &v
13881	return s
13882}
13883
13884// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
13885func (s *GameSession) SetMaximumPlayerSessionCount(v int64) *GameSession {
13886	s.MaximumPlayerSessionCount = &v
13887	return s
13888}
13889
13890// SetName sets the Name field's value.
13891func (s *GameSession) SetName(v string) *GameSession {
13892	s.Name = &v
13893	return s
13894}
13895
13896// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
13897func (s *GameSession) SetPlayerSessionCreationPolicy(v string) *GameSession {
13898	s.PlayerSessionCreationPolicy = &v
13899	return s
13900}
13901
13902// SetPort sets the Port field's value.
13903func (s *GameSession) SetPort(v int64) *GameSession {
13904	s.Port = &v
13905	return s
13906}
13907
13908// SetStatus sets the Status field's value.
13909func (s *GameSession) SetStatus(v string) *GameSession {
13910	s.Status = &v
13911	return s
13912}
13913
13914// SetStatusReason sets the StatusReason field's value.
13915func (s *GameSession) SetStatusReason(v string) *GameSession {
13916	s.StatusReason = &v
13917	return s
13918}
13919
13920// SetTerminationTime sets the TerminationTime field's value.
13921func (s *GameSession) SetTerminationTime(v time.Time) *GameSession {
13922	s.TerminationTime = &v
13923	return s
13924}
13925
13926// Connection information for the new game session that is created with matchmaking.
13927// (with StartMatchmaking). Once a match is set, the FlexMatch engine places
13928// the match and creates a new game session for it. This information, including
13929// the game session endpoint and player sessions for each player in the original
13930// matchmaking request, is added to the MatchmakingTicket, which can be retrieved
13931// by calling DescribeMatchmaking.
13932type GameSessionConnectionInfo struct {
13933	_ struct{} `type:"structure"`
13934
13935	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
13936	// that is assigned to a game session and uniquely identifies it.
13937	GameSessionArn *string `min:"1" type:"string"`
13938
13939	// IP address of the game session. To connect to a Amazon GameLift game server,
13940	// an app needs both the IP address and port number.
13941	IpAddress *string `type:"string"`
13942
13943	// Collection of player session IDs, one for each player ID that was included
13944	// in the original matchmaking request.
13945	MatchedPlayerSessions []*MatchedPlayerSession `type:"list"`
13946
13947	// Port number for the game session. To connect to a Amazon GameLift game server,
13948	// an app needs both the IP address and port number.
13949	Port *int64 `min:"1" type:"integer"`
13950}
13951
13952// String returns the string representation
13953func (s GameSessionConnectionInfo) String() string {
13954	return awsutil.Prettify(s)
13955}
13956
13957// GoString returns the string representation
13958func (s GameSessionConnectionInfo) GoString() string {
13959	return s.String()
13960}
13961
13962// SetGameSessionArn sets the GameSessionArn field's value.
13963func (s *GameSessionConnectionInfo) SetGameSessionArn(v string) *GameSessionConnectionInfo {
13964	s.GameSessionArn = &v
13965	return s
13966}
13967
13968// SetIpAddress sets the IpAddress field's value.
13969func (s *GameSessionConnectionInfo) SetIpAddress(v string) *GameSessionConnectionInfo {
13970	s.IpAddress = &v
13971	return s
13972}
13973
13974// SetMatchedPlayerSessions sets the MatchedPlayerSessions field's value.
13975func (s *GameSessionConnectionInfo) SetMatchedPlayerSessions(v []*MatchedPlayerSession) *GameSessionConnectionInfo {
13976	s.MatchedPlayerSessions = v
13977	return s
13978}
13979
13980// SetPort sets the Port field's value.
13981func (s *GameSessionConnectionInfo) SetPort(v int64) *GameSessionConnectionInfo {
13982	s.Port = &v
13983	return s
13984}
13985
13986// A game session's properties plus the protection policy currently in force.
13987type GameSessionDetail struct {
13988	_ struct{} `type:"structure"`
13989
13990	// Object that describes a game session.
13991	GameSession *GameSession `type:"structure"`
13992
13993	// Current status of protection for the game session.
13994	//
13995	//    * NoProtection -- The game session can be terminated during a scale-down
13996	//    event.
13997	//
13998	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
13999	//    be terminated during a scale-down event.
14000	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
14001}
14002
14003// String returns the string representation
14004func (s GameSessionDetail) String() string {
14005	return awsutil.Prettify(s)
14006}
14007
14008// GoString returns the string representation
14009func (s GameSessionDetail) GoString() string {
14010	return s.String()
14011}
14012
14013// SetGameSession sets the GameSession field's value.
14014func (s *GameSessionDetail) SetGameSession(v *GameSession) *GameSessionDetail {
14015	s.GameSession = v
14016	return s
14017}
14018
14019// SetProtectionPolicy sets the ProtectionPolicy field's value.
14020func (s *GameSessionDetail) SetProtectionPolicy(v string) *GameSessionDetail {
14021	s.ProtectionPolicy = &v
14022	return s
14023}
14024
14025// Object that describes a StartGameSessionPlacement request. This object includes
14026// the full details of the original request plus the current status and start/end
14027// time stamps.
14028//
14029// Game session placement-related operations include:
14030//
14031//    * StartGameSessionPlacement
14032//
14033//    * DescribeGameSessionPlacement
14034//
14035//    * StopGameSessionPlacement
14036type GameSessionPlacement struct {
14037	_ struct{} `type:"structure"`
14038
14039	// Time stamp indicating when this request was completed, canceled, or timed
14040	// out.
14041	EndTime *time.Time `type:"timestamp"`
14042
14043	// Set of custom properties for a game session, formatted as key:value pairs.
14044	// These properties are passed to a game server process in the GameSession object
14045	// with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
14046	GameProperties []*GameProperty `type:"list"`
14047
14048	// Identifier for the game session created by this placement request. This value
14049	// is set once the new game session is placed (placement status is FULFILLED).
14050	// This identifier is unique across all regions. You can use this value as a
14051	// GameSessionId value as needed.
14052	GameSessionArn *string `min:"1" type:"string"`
14053
14054	// Set of custom game session properties, formatted as a single string value.
14055	// This data is passed to a game server process in the GameSession object with
14056	// a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
14057	GameSessionData *string `min:"1" type:"string"`
14058
14059	// Unique identifier for the game session. This value is set once the new game
14060	// session is placed (placement status is FULFILLED).
14061	GameSessionId *string `min:"1" type:"string"`
14062
14063	// Descriptive label that is associated with a game session. Session names do
14064	// not need to be unique.
14065	GameSessionName *string `min:"1" type:"string"`
14066
14067	// Descriptive label that is associated with game session queue. Queue names
14068	// must be unique within each region.
14069	GameSessionQueueName *string `min:"1" type:"string"`
14070
14071	// Name of the region where the game session created by this placement request
14072	// is running. This value is set once the new game session is placed (placement
14073	// status is FULFILLED).
14074	GameSessionRegion *string `min:"1" type:"string"`
14075
14076	// IP address of the game session. To connect to a Amazon GameLift game server,
14077	// an app needs both the IP address and port number. This value is set once
14078	// the new game session is placed (placement status is FULFILLED).
14079	IpAddress *string `type:"string"`
14080
14081	// Information on the matchmaking process for this game. Data is in JSON syntax,
14082	// formatted as a string. It identifies the matchmaking configuration used to
14083	// create the match, and contains data on all players assigned to the match,
14084	// including player attributes and team assignments. For more details on matchmaker
14085	// data, see Match Data (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data).
14086	MatchmakerData *string `min:"1" type:"string"`
14087
14088	// Maximum number of players that can be connected simultaneously to the game
14089	// session.
14090	MaximumPlayerSessionCount *int64 `type:"integer"`
14091
14092	// Collection of information on player sessions created in response to the game
14093	// session placement request. These player sessions are created only once a
14094	// new game session is successfully placed (placement status is FULFILLED).
14095	// This information includes the player ID (as provided in the placement request)
14096	// and the corresponding player session ID. Retrieve full player sessions by
14097	// calling DescribePlayerSessions with the player session ID.
14098	PlacedPlayerSessions []*PlacedPlayerSession `type:"list"`
14099
14100	// Unique identifier for a game session placement.
14101	PlacementId *string `min:"1" type:"string"`
14102
14103	// Set of values, expressed in milliseconds, indicating the amount of latency
14104	// that a player experiences when connected to AWS regions.
14105	PlayerLatencies []*PlayerLatency `type:"list"`
14106
14107	// Port number for the game session. To connect to a Amazon GameLift game server,
14108	// an app needs both the IP address and port number. This value is set once
14109	// the new game session is placed (placement status is FULFILLED).
14110	Port *int64 `min:"1" type:"integer"`
14111
14112	// Time stamp indicating when this request was placed in the queue. Format is
14113	// a number expressed in Unix time as milliseconds (for example "1469498468.057").
14114	StartTime *time.Time `type:"timestamp"`
14115
14116	// Current status of the game session placement request.
14117	//
14118	//    * PENDING -- The placement request is currently in the queue waiting to
14119	//    be processed.
14120	//
14121	//    * FULFILLED -- A new game session and player sessions (if requested) have
14122	//    been successfully created. Values for GameSessionArn and GameSessionRegion
14123	//    are available.
14124	//
14125	//    * CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
14126	//
14127	//    * TIMED_OUT -- A new game session was not successfully created before
14128	//    the time limit expired. You can resubmit the placement request as needed.
14129	Status *string `type:"string" enum:"GameSessionPlacementState"`
14130}
14131
14132// String returns the string representation
14133func (s GameSessionPlacement) String() string {
14134	return awsutil.Prettify(s)
14135}
14136
14137// GoString returns the string representation
14138func (s GameSessionPlacement) GoString() string {
14139	return s.String()
14140}
14141
14142// SetEndTime sets the EndTime field's value.
14143func (s *GameSessionPlacement) SetEndTime(v time.Time) *GameSessionPlacement {
14144	s.EndTime = &v
14145	return s
14146}
14147
14148// SetGameProperties sets the GameProperties field's value.
14149func (s *GameSessionPlacement) SetGameProperties(v []*GameProperty) *GameSessionPlacement {
14150	s.GameProperties = v
14151	return s
14152}
14153
14154// SetGameSessionArn sets the GameSessionArn field's value.
14155func (s *GameSessionPlacement) SetGameSessionArn(v string) *GameSessionPlacement {
14156	s.GameSessionArn = &v
14157	return s
14158}
14159
14160// SetGameSessionData sets the GameSessionData field's value.
14161func (s *GameSessionPlacement) SetGameSessionData(v string) *GameSessionPlacement {
14162	s.GameSessionData = &v
14163	return s
14164}
14165
14166// SetGameSessionId sets the GameSessionId field's value.
14167func (s *GameSessionPlacement) SetGameSessionId(v string) *GameSessionPlacement {
14168	s.GameSessionId = &v
14169	return s
14170}
14171
14172// SetGameSessionName sets the GameSessionName field's value.
14173func (s *GameSessionPlacement) SetGameSessionName(v string) *GameSessionPlacement {
14174	s.GameSessionName = &v
14175	return s
14176}
14177
14178// SetGameSessionQueueName sets the GameSessionQueueName field's value.
14179func (s *GameSessionPlacement) SetGameSessionQueueName(v string) *GameSessionPlacement {
14180	s.GameSessionQueueName = &v
14181	return s
14182}
14183
14184// SetGameSessionRegion sets the GameSessionRegion field's value.
14185func (s *GameSessionPlacement) SetGameSessionRegion(v string) *GameSessionPlacement {
14186	s.GameSessionRegion = &v
14187	return s
14188}
14189
14190// SetIpAddress sets the IpAddress field's value.
14191func (s *GameSessionPlacement) SetIpAddress(v string) *GameSessionPlacement {
14192	s.IpAddress = &v
14193	return s
14194}
14195
14196// SetMatchmakerData sets the MatchmakerData field's value.
14197func (s *GameSessionPlacement) SetMatchmakerData(v string) *GameSessionPlacement {
14198	s.MatchmakerData = &v
14199	return s
14200}
14201
14202// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
14203func (s *GameSessionPlacement) SetMaximumPlayerSessionCount(v int64) *GameSessionPlacement {
14204	s.MaximumPlayerSessionCount = &v
14205	return s
14206}
14207
14208// SetPlacedPlayerSessions sets the PlacedPlayerSessions field's value.
14209func (s *GameSessionPlacement) SetPlacedPlayerSessions(v []*PlacedPlayerSession) *GameSessionPlacement {
14210	s.PlacedPlayerSessions = v
14211	return s
14212}
14213
14214// SetPlacementId sets the PlacementId field's value.
14215func (s *GameSessionPlacement) SetPlacementId(v string) *GameSessionPlacement {
14216	s.PlacementId = &v
14217	return s
14218}
14219
14220// SetPlayerLatencies sets the PlayerLatencies field's value.
14221func (s *GameSessionPlacement) SetPlayerLatencies(v []*PlayerLatency) *GameSessionPlacement {
14222	s.PlayerLatencies = v
14223	return s
14224}
14225
14226// SetPort sets the Port field's value.
14227func (s *GameSessionPlacement) SetPort(v int64) *GameSessionPlacement {
14228	s.Port = &v
14229	return s
14230}
14231
14232// SetStartTime sets the StartTime field's value.
14233func (s *GameSessionPlacement) SetStartTime(v time.Time) *GameSessionPlacement {
14234	s.StartTime = &v
14235	return s
14236}
14237
14238// SetStatus sets the Status field's value.
14239func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement {
14240	s.Status = &v
14241	return s
14242}
14243
14244// Configuration of a queue that is used to process game session placement requests.
14245// The queue configuration identifies several game features:
14246//
14247//    * The destinations where a new game session can potentially be hosted.
14248//    Amazon GameLift tries these destinations in an order based on either the
14249//    queue's default order or player latency information, if provided in a
14250//    placement request. With latency information, Amazon GameLift can place
14251//    game sessions where the majority of players are reporting the lowest possible
14252//    latency.
14253//
14254//    * The length of time that placement requests can wait in the queue before
14255//    timing out.
14256//
14257//    * A set of optional latency policies that protect individual players from
14258//    high latencies, preventing game sessions from being placed where any individual
14259//    player is reporting latency higher than a policy's maximum.
14260//
14261// Queue-related operations include:
14262//
14263//    * CreateGameSessionQueue
14264//
14265//    * DescribeGameSessionQueues
14266//
14267//    * UpdateGameSessionQueue
14268//
14269//    * DeleteGameSessionQueue
14270type GameSessionQueue struct {
14271	_ struct{} `type:"structure"`
14272
14273	// List of fleets that can be used to fulfill game session placement requests
14274	// in the queue. Fleets are identified by either a fleet ARN or a fleet alias
14275	// ARN. Destinations are listed in default preference order.
14276	Destinations []*GameSessionQueueDestination `type:"list"`
14277
14278	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
14279	// that is assigned to a game session queue and uniquely identifies it. Format
14280	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
14281	GameSessionQueueArn *string `min:"1" type:"string"`
14282
14283	// Descriptive label that is associated with game session queue. Queue names
14284	// must be unique within each region.
14285	Name *string `min:"1" type:"string"`
14286
14287	// Collection of latency policies to apply when processing game sessions placement
14288	// requests with player latency information. Multiple policies are evaluated
14289	// in order of the maximum latency value, starting with the lowest latency values.
14290	// With just one policy, it is enforced at the start of the game session placement
14291	// for the duration period. With multiple policies, each policy is enforced
14292	// consecutively for its duration period. For example, a queue might enforce
14293	// a 60-second policy followed by a 120-second policy, and then no policy for
14294	// the remainder of the placement.
14295	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
14296
14297	// Maximum time, in seconds, that a new game session placement request remains
14298	// in the queue. When a request exceeds this time, the game session placement
14299	// changes to a TIMED_OUT status.
14300	TimeoutInSeconds *int64 `type:"integer"`
14301}
14302
14303// String returns the string representation
14304func (s GameSessionQueue) String() string {
14305	return awsutil.Prettify(s)
14306}
14307
14308// GoString returns the string representation
14309func (s GameSessionQueue) GoString() string {
14310	return s.String()
14311}
14312
14313// SetDestinations sets the Destinations field's value.
14314func (s *GameSessionQueue) SetDestinations(v []*GameSessionQueueDestination) *GameSessionQueue {
14315	s.Destinations = v
14316	return s
14317}
14318
14319// SetGameSessionQueueArn sets the GameSessionQueueArn field's value.
14320func (s *GameSessionQueue) SetGameSessionQueueArn(v string) *GameSessionQueue {
14321	s.GameSessionQueueArn = &v
14322	return s
14323}
14324
14325// SetName sets the Name field's value.
14326func (s *GameSessionQueue) SetName(v string) *GameSessionQueue {
14327	s.Name = &v
14328	return s
14329}
14330
14331// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
14332func (s *GameSessionQueue) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *GameSessionQueue {
14333	s.PlayerLatencyPolicies = v
14334	return s
14335}
14336
14337// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
14338func (s *GameSessionQueue) SetTimeoutInSeconds(v int64) *GameSessionQueue {
14339	s.TimeoutInSeconds = &v
14340	return s
14341}
14342
14343// Fleet designated in a game session queue. Requests for new game sessions
14344// in the queue are fulfilled by starting a new game session on any destination
14345// configured for a queue.
14346//
14347// Queue-related operations include:
14348//
14349//    * CreateGameSessionQueue
14350//
14351//    * DescribeGameSessionQueues
14352//
14353//    * UpdateGameSessionQueue
14354//
14355//    * DeleteGameSessionQueue
14356type GameSessionQueueDestination struct {
14357	_ struct{} `type:"structure"`
14358
14359	// Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which
14360	// include a fleet ID or alias ID and a region name, provide a unique identifier
14361	// across all regions.
14362	DestinationArn *string `min:"1" type:"string"`
14363}
14364
14365// String returns the string representation
14366func (s GameSessionQueueDestination) String() string {
14367	return awsutil.Prettify(s)
14368}
14369
14370// GoString returns the string representation
14371func (s GameSessionQueueDestination) GoString() string {
14372	return s.String()
14373}
14374
14375// Validate inspects the fields of the type to determine if they are valid.
14376func (s *GameSessionQueueDestination) Validate() error {
14377	invalidParams := request.ErrInvalidParams{Context: "GameSessionQueueDestination"}
14378	if s.DestinationArn != nil && len(*s.DestinationArn) < 1 {
14379		invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1))
14380	}
14381
14382	if invalidParams.Len() > 0 {
14383		return invalidParams
14384	}
14385	return nil
14386}
14387
14388// SetDestinationArn sets the DestinationArn field's value.
14389func (s *GameSessionQueueDestination) SetDestinationArn(v string) *GameSessionQueueDestination {
14390	s.DestinationArn = &v
14391	return s
14392}
14393
14394// Represents the input for a request action.
14395type GetGameSessionLogUrlInput struct {
14396	_ struct{} `type:"structure"`
14397
14398	// Unique identifier for the game session to get logs for.
14399	//
14400	// GameSessionId is a required field
14401	GameSessionId *string `min:"1" type:"string" required:"true"`
14402}
14403
14404// String returns the string representation
14405func (s GetGameSessionLogUrlInput) String() string {
14406	return awsutil.Prettify(s)
14407}
14408
14409// GoString returns the string representation
14410func (s GetGameSessionLogUrlInput) GoString() string {
14411	return s.String()
14412}
14413
14414// Validate inspects the fields of the type to determine if they are valid.
14415func (s *GetGameSessionLogUrlInput) Validate() error {
14416	invalidParams := request.ErrInvalidParams{Context: "GetGameSessionLogUrlInput"}
14417	if s.GameSessionId == nil {
14418		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
14419	}
14420	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
14421		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
14422	}
14423
14424	if invalidParams.Len() > 0 {
14425		return invalidParams
14426	}
14427	return nil
14428}
14429
14430// SetGameSessionId sets the GameSessionId field's value.
14431func (s *GetGameSessionLogUrlInput) SetGameSessionId(v string) *GetGameSessionLogUrlInput {
14432	s.GameSessionId = &v
14433	return s
14434}
14435
14436// Represents the returned data in response to a request action.
14437type GetGameSessionLogUrlOutput struct {
14438	_ struct{} `type:"structure"`
14439
14440	// Location of the requested game session logs, available for download.
14441	PreSignedUrl *string `min:"1" type:"string"`
14442}
14443
14444// String returns the string representation
14445func (s GetGameSessionLogUrlOutput) String() string {
14446	return awsutil.Prettify(s)
14447}
14448
14449// GoString returns the string representation
14450func (s GetGameSessionLogUrlOutput) GoString() string {
14451	return s.String()
14452}
14453
14454// SetPreSignedUrl sets the PreSignedUrl field's value.
14455func (s *GetGameSessionLogUrlOutput) SetPreSignedUrl(v string) *GetGameSessionLogUrlOutput {
14456	s.PreSignedUrl = &v
14457	return s
14458}
14459
14460// Represents the input for a request action.
14461type GetInstanceAccessInput struct {
14462	_ struct{} `type:"structure"`
14463
14464	// Unique identifier for a fleet that contains the instance you want access
14465	// to. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE,
14466	// or ERROR. Fleets with an ERROR status may be accessible for a short time
14467	// before they are deleted.
14468	//
14469	// FleetId is a required field
14470	FleetId *string `type:"string" required:"true"`
14471
14472	// Unique identifier for an instance you want to get access to. You can access
14473	// an instance in any status.
14474	//
14475	// InstanceId is a required field
14476	InstanceId *string `type:"string" required:"true"`
14477}
14478
14479// String returns the string representation
14480func (s GetInstanceAccessInput) String() string {
14481	return awsutil.Prettify(s)
14482}
14483
14484// GoString returns the string representation
14485func (s GetInstanceAccessInput) GoString() string {
14486	return s.String()
14487}
14488
14489// Validate inspects the fields of the type to determine if they are valid.
14490func (s *GetInstanceAccessInput) Validate() error {
14491	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessInput"}
14492	if s.FleetId == nil {
14493		invalidParams.Add(request.NewErrParamRequired("FleetId"))
14494	}
14495	if s.InstanceId == nil {
14496		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14497	}
14498
14499	if invalidParams.Len() > 0 {
14500		return invalidParams
14501	}
14502	return nil
14503}
14504
14505// SetFleetId sets the FleetId field's value.
14506func (s *GetInstanceAccessInput) SetFleetId(v string) *GetInstanceAccessInput {
14507	s.FleetId = &v
14508	return s
14509}
14510
14511// SetInstanceId sets the InstanceId field's value.
14512func (s *GetInstanceAccessInput) SetInstanceId(v string) *GetInstanceAccessInput {
14513	s.InstanceId = &v
14514	return s
14515}
14516
14517// Represents the returned data in response to a request action.
14518type GetInstanceAccessOutput struct {
14519	_ struct{} `type:"structure"`
14520
14521	// Object that contains connection information for a fleet instance, including
14522	// IP address and access credentials.
14523	InstanceAccess *InstanceAccess `type:"structure"`
14524}
14525
14526// String returns the string representation
14527func (s GetInstanceAccessOutput) String() string {
14528	return awsutil.Prettify(s)
14529}
14530
14531// GoString returns the string representation
14532func (s GetInstanceAccessOutput) GoString() string {
14533	return s.String()
14534}
14535
14536// SetInstanceAccess sets the InstanceAccess field's value.
14537func (s *GetInstanceAccessOutput) SetInstanceAccess(v *InstanceAccess) *GetInstanceAccessOutput {
14538	s.InstanceAccess = v
14539	return s
14540}
14541
14542// Properties that describe an instance of a virtual computing resource that
14543// hosts one or more game servers. A fleet may contain zero or more instances.
14544type Instance struct {
14545	_ struct{} `type:"structure"`
14546
14547	// Time stamp indicating when this data object was created. Format is a number
14548	// expressed in Unix time as milliseconds (for example "1469498468.057").
14549	CreationTime *time.Time `type:"timestamp"`
14550
14551	// Unique identifier for a fleet that the instance is in.
14552	FleetId *string `type:"string"`
14553
14554	// Unique identifier for an instance.
14555	InstanceId *string `type:"string"`
14556
14557	// IP address assigned to the instance.
14558	IpAddress *string `type:"string"`
14559
14560	// Operating system that is running on this instance.
14561	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
14562
14563	// Current status of the instance. Possible statuses include the following:
14564	//
14565	//    * PENDING -- The instance is in the process of being created and launching
14566	//    server processes as defined in the fleet's run-time configuration.
14567	//
14568	//    * ACTIVE -- The instance has been successfully created and at least one
14569	//    server process has successfully launched and reported back to Amazon GameLift
14570	//    that it is ready to host a game session. The instance is now considered
14571	//    ready to host game sessions.
14572	//
14573	//    * TERMINATING -- The instance is in the process of shutting down. This
14574	//    may happen to reduce capacity during a scaling down event or to recycle
14575	//    resources in the event of a problem.
14576	Status *string `type:"string" enum:"InstanceStatus"`
14577
14578	// EC2 instance type that defines the computing resources of this instance.
14579	Type *string `type:"string" enum:"EC2InstanceType"`
14580}
14581
14582// String returns the string representation
14583func (s Instance) String() string {
14584	return awsutil.Prettify(s)
14585}
14586
14587// GoString returns the string representation
14588func (s Instance) GoString() string {
14589	return s.String()
14590}
14591
14592// SetCreationTime sets the CreationTime field's value.
14593func (s *Instance) SetCreationTime(v time.Time) *Instance {
14594	s.CreationTime = &v
14595	return s
14596}
14597
14598// SetFleetId sets the FleetId field's value.
14599func (s *Instance) SetFleetId(v string) *Instance {
14600	s.FleetId = &v
14601	return s
14602}
14603
14604// SetInstanceId sets the InstanceId field's value.
14605func (s *Instance) SetInstanceId(v string) *Instance {
14606	s.InstanceId = &v
14607	return s
14608}
14609
14610// SetIpAddress sets the IpAddress field's value.
14611func (s *Instance) SetIpAddress(v string) *Instance {
14612	s.IpAddress = &v
14613	return s
14614}
14615
14616// SetOperatingSystem sets the OperatingSystem field's value.
14617func (s *Instance) SetOperatingSystem(v string) *Instance {
14618	s.OperatingSystem = &v
14619	return s
14620}
14621
14622// SetStatus sets the Status field's value.
14623func (s *Instance) SetStatus(v string) *Instance {
14624	s.Status = &v
14625	return s
14626}
14627
14628// SetType sets the Type field's value.
14629func (s *Instance) SetType(v string) *Instance {
14630	s.Type = &v
14631	return s
14632}
14633
14634// Information required to remotely connect to a fleet instance. Access is requested
14635// by calling GetInstanceAccess.
14636type InstanceAccess struct {
14637	_ struct{} `type:"structure"`
14638
14639	// Credentials required to access the instance.
14640	Credentials *InstanceCredentials `type:"structure"`
14641
14642	// Unique identifier for a fleet containing the instance being accessed.
14643	FleetId *string `type:"string"`
14644
14645	// Unique identifier for an instance being accessed.
14646	InstanceId *string `type:"string"`
14647
14648	// IP address assigned to the instance.
14649	IpAddress *string `type:"string"`
14650
14651	// Operating system that is running on the instance.
14652	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
14653}
14654
14655// String returns the string representation
14656func (s InstanceAccess) String() string {
14657	return awsutil.Prettify(s)
14658}
14659
14660// GoString returns the string representation
14661func (s InstanceAccess) GoString() string {
14662	return s.String()
14663}
14664
14665// SetCredentials sets the Credentials field's value.
14666func (s *InstanceAccess) SetCredentials(v *InstanceCredentials) *InstanceAccess {
14667	s.Credentials = v
14668	return s
14669}
14670
14671// SetFleetId sets the FleetId field's value.
14672func (s *InstanceAccess) SetFleetId(v string) *InstanceAccess {
14673	s.FleetId = &v
14674	return s
14675}
14676
14677// SetInstanceId sets the InstanceId field's value.
14678func (s *InstanceAccess) SetInstanceId(v string) *InstanceAccess {
14679	s.InstanceId = &v
14680	return s
14681}
14682
14683// SetIpAddress sets the IpAddress field's value.
14684func (s *InstanceAccess) SetIpAddress(v string) *InstanceAccess {
14685	s.IpAddress = &v
14686	return s
14687}
14688
14689// SetOperatingSystem sets the OperatingSystem field's value.
14690func (s *InstanceAccess) SetOperatingSystem(v string) *InstanceAccess {
14691	s.OperatingSystem = &v
14692	return s
14693}
14694
14695// Set of credentials required to remotely access a fleet instance. Access credentials
14696// are requested by calling GetInstanceAccess and returned in an InstanceAccess
14697// object.
14698type InstanceCredentials struct {
14699	_ struct{} `type:"structure"`
14700
14701	// Secret string. For Windows instances, the secret is a password for use with
14702	// Windows Remote Desktop. For Linux instances, it is a private key (which must
14703	// be saved as a .pem file) for use with SSH.
14704	Secret *string `min:"1" type:"string"`
14705
14706	// User login string.
14707	UserName *string `min:"1" type:"string"`
14708}
14709
14710// String returns the string representation
14711func (s InstanceCredentials) String() string {
14712	return awsutil.Prettify(s)
14713}
14714
14715// GoString returns the string representation
14716func (s InstanceCredentials) GoString() string {
14717	return s.String()
14718}
14719
14720// SetSecret sets the Secret field's value.
14721func (s *InstanceCredentials) SetSecret(v string) *InstanceCredentials {
14722	s.Secret = &v
14723	return s
14724}
14725
14726// SetUserName sets the UserName field's value.
14727func (s *InstanceCredentials) SetUserName(v string) *InstanceCredentials {
14728	s.UserName = &v
14729	return s
14730}
14731
14732// A range of IP addresses and port settings that allow inbound traffic to connect
14733// to server processes on Amazon GameLift. Each game session hosted on a fleet
14734// is assigned a unique combination of IP address and port number, which must
14735// fall into the fleet's allowed ranges. This combination is included in the
14736// GameSession object.
14737type IpPermission struct {
14738	_ struct{} `type:"structure"`
14739
14740	// Starting value for a range of allowed port numbers.
14741	//
14742	// FromPort is a required field
14743	FromPort *int64 `min:"1" type:"integer" required:"true"`
14744
14745	// Range of allowed IP addresses. This value must be expressed in CIDR notation.
14746	// Example: "000.000.000.000/[subnet mask]" or optionally the shortened version
14747	// "0.0.0.0/[subnet mask]".
14748	//
14749	// IpRange is a required field
14750	IpRange *string `type:"string" required:"true"`
14751
14752	// Network communication protocol used by the fleet.
14753	//
14754	// Protocol is a required field
14755	Protocol *string `type:"string" required:"true" enum:"IpProtocol"`
14756
14757	// Ending value for a range of allowed port numbers. Port numbers are end-inclusive.
14758	// This value must be higher than FromPort.
14759	//
14760	// ToPort is a required field
14761	ToPort *int64 `min:"1" type:"integer" required:"true"`
14762}
14763
14764// String returns the string representation
14765func (s IpPermission) String() string {
14766	return awsutil.Prettify(s)
14767}
14768
14769// GoString returns the string representation
14770func (s IpPermission) GoString() string {
14771	return s.String()
14772}
14773
14774// Validate inspects the fields of the type to determine if they are valid.
14775func (s *IpPermission) Validate() error {
14776	invalidParams := request.ErrInvalidParams{Context: "IpPermission"}
14777	if s.FromPort == nil {
14778		invalidParams.Add(request.NewErrParamRequired("FromPort"))
14779	}
14780	if s.FromPort != nil && *s.FromPort < 1 {
14781		invalidParams.Add(request.NewErrParamMinValue("FromPort", 1))
14782	}
14783	if s.IpRange == nil {
14784		invalidParams.Add(request.NewErrParamRequired("IpRange"))
14785	}
14786	if s.Protocol == nil {
14787		invalidParams.Add(request.NewErrParamRequired("Protocol"))
14788	}
14789	if s.ToPort == nil {
14790		invalidParams.Add(request.NewErrParamRequired("ToPort"))
14791	}
14792	if s.ToPort != nil && *s.ToPort < 1 {
14793		invalidParams.Add(request.NewErrParamMinValue("ToPort", 1))
14794	}
14795
14796	if invalidParams.Len() > 0 {
14797		return invalidParams
14798	}
14799	return nil
14800}
14801
14802// SetFromPort sets the FromPort field's value.
14803func (s *IpPermission) SetFromPort(v int64) *IpPermission {
14804	s.FromPort = &v
14805	return s
14806}
14807
14808// SetIpRange sets the IpRange field's value.
14809func (s *IpPermission) SetIpRange(v string) *IpPermission {
14810	s.IpRange = &v
14811	return s
14812}
14813
14814// SetProtocol sets the Protocol field's value.
14815func (s *IpPermission) SetProtocol(v string) *IpPermission {
14816	s.Protocol = &v
14817	return s
14818}
14819
14820// SetToPort sets the ToPort field's value.
14821func (s *IpPermission) SetToPort(v int64) *IpPermission {
14822	s.ToPort = &v
14823	return s
14824}
14825
14826// Represents the input for a request action.
14827type ListAliasesInput struct {
14828	_ struct{} `type:"structure"`
14829
14830	// Maximum number of results to return. Use this parameter with NextToken to
14831	// get results as a set of sequential pages.
14832	Limit *int64 `min:"1" type:"integer"`
14833
14834	// Descriptive label that is associated with an alias. Alias names do not need
14835	// to be unique.
14836	Name *string `min:"1" type:"string"`
14837
14838	// Token that indicates the start of the next sequential page of results. Use
14839	// the token that is returned with a previous call to this action. To start
14840	// at the beginning of the result set, do not specify a value.
14841	NextToken *string `min:"1" type:"string"`
14842
14843	// Type of routing to filter results on. Use this parameter to retrieve only
14844	// aliases of a certain type. To retrieve all aliases, leave this parameter
14845	// empty.
14846	//
14847	// Possible routing types include the following:
14848	//
14849	//    * SIMPLE -- The alias resolves to one specific fleet. Use this type when
14850	//    routing to active fleets.
14851	//
14852	//    * TERMINAL -- The alias does not resolve to a fleet but instead can be
14853	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
14854	//    with the RoutingStrategy message embedded.
14855	RoutingStrategyType *string `type:"string" enum:"RoutingStrategyType"`
14856}
14857
14858// String returns the string representation
14859func (s ListAliasesInput) String() string {
14860	return awsutil.Prettify(s)
14861}
14862
14863// GoString returns the string representation
14864func (s ListAliasesInput) GoString() string {
14865	return s.String()
14866}
14867
14868// Validate inspects the fields of the type to determine if they are valid.
14869func (s *ListAliasesInput) Validate() error {
14870	invalidParams := request.ErrInvalidParams{Context: "ListAliasesInput"}
14871	if s.Limit != nil && *s.Limit < 1 {
14872		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
14873	}
14874	if s.Name != nil && len(*s.Name) < 1 {
14875		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14876	}
14877	if s.NextToken != nil && len(*s.NextToken) < 1 {
14878		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14879	}
14880
14881	if invalidParams.Len() > 0 {
14882		return invalidParams
14883	}
14884	return nil
14885}
14886
14887// SetLimit sets the Limit field's value.
14888func (s *ListAliasesInput) SetLimit(v int64) *ListAliasesInput {
14889	s.Limit = &v
14890	return s
14891}
14892
14893// SetName sets the Name field's value.
14894func (s *ListAliasesInput) SetName(v string) *ListAliasesInput {
14895	s.Name = &v
14896	return s
14897}
14898
14899// SetNextToken sets the NextToken field's value.
14900func (s *ListAliasesInput) SetNextToken(v string) *ListAliasesInput {
14901	s.NextToken = &v
14902	return s
14903}
14904
14905// SetRoutingStrategyType sets the RoutingStrategyType field's value.
14906func (s *ListAliasesInput) SetRoutingStrategyType(v string) *ListAliasesInput {
14907	s.RoutingStrategyType = &v
14908	return s
14909}
14910
14911// Represents the returned data in response to a request action.
14912type ListAliasesOutput struct {
14913	_ struct{} `type:"structure"`
14914
14915	// Collection of alias records that match the list request.
14916	Aliases []*Alias `type:"list"`
14917
14918	// Token that indicates where to resume retrieving results on the next call
14919	// to this action. If no token is returned, these results represent the end
14920	// of the list.
14921	NextToken *string `min:"1" type:"string"`
14922}
14923
14924// String returns the string representation
14925func (s ListAliasesOutput) String() string {
14926	return awsutil.Prettify(s)
14927}
14928
14929// GoString returns the string representation
14930func (s ListAliasesOutput) GoString() string {
14931	return s.String()
14932}
14933
14934// SetAliases sets the Aliases field's value.
14935func (s *ListAliasesOutput) SetAliases(v []*Alias) *ListAliasesOutput {
14936	s.Aliases = v
14937	return s
14938}
14939
14940// SetNextToken sets the NextToken field's value.
14941func (s *ListAliasesOutput) SetNextToken(v string) *ListAliasesOutput {
14942	s.NextToken = &v
14943	return s
14944}
14945
14946// Represents the input for a request action.
14947type ListBuildsInput struct {
14948	_ struct{} `type:"structure"`
14949
14950	// Maximum number of results to return. Use this parameter with NextToken to
14951	// get results as a set of sequential pages.
14952	Limit *int64 `min:"1" type:"integer"`
14953
14954	// Token that indicates the start of the next sequential page of results. Use
14955	// the token that is returned with a previous call to this action. To start
14956	// at the beginning of the result set, do not specify a value.
14957	NextToken *string `min:"1" type:"string"`
14958
14959	// Build status to filter results by. To retrieve all builds, leave this parameter
14960	// empty.
14961	//
14962	// Possible build statuses include the following:
14963	//
14964	//    * INITIALIZED -- A new build has been defined, but no files have been
14965	//    uploaded. You cannot create fleets for builds that are in this status.
14966	//    When a build is successfully created, the build status is set to this
14967	//    value.
14968	//
14969	//    * READY -- The game build has been successfully uploaded. You can now
14970	//    create new fleets for this build.
14971	//
14972	//    * FAILED -- The game build upload failed. You cannot create new fleets
14973	//    for this build.
14974	Status *string `type:"string" enum:"BuildStatus"`
14975}
14976
14977// String returns the string representation
14978func (s ListBuildsInput) String() string {
14979	return awsutil.Prettify(s)
14980}
14981
14982// GoString returns the string representation
14983func (s ListBuildsInput) GoString() string {
14984	return s.String()
14985}
14986
14987// Validate inspects the fields of the type to determine if they are valid.
14988func (s *ListBuildsInput) Validate() error {
14989	invalidParams := request.ErrInvalidParams{Context: "ListBuildsInput"}
14990	if s.Limit != nil && *s.Limit < 1 {
14991		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
14992	}
14993	if s.NextToken != nil && len(*s.NextToken) < 1 {
14994		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14995	}
14996
14997	if invalidParams.Len() > 0 {
14998		return invalidParams
14999	}
15000	return nil
15001}
15002
15003// SetLimit sets the Limit field's value.
15004func (s *ListBuildsInput) SetLimit(v int64) *ListBuildsInput {
15005	s.Limit = &v
15006	return s
15007}
15008
15009// SetNextToken sets the NextToken field's value.
15010func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput {
15011	s.NextToken = &v
15012	return s
15013}
15014
15015// SetStatus sets the Status field's value.
15016func (s *ListBuildsInput) SetStatus(v string) *ListBuildsInput {
15017	s.Status = &v
15018	return s
15019}
15020
15021// Represents the returned data in response to a request action.
15022type ListBuildsOutput struct {
15023	_ struct{} `type:"structure"`
15024
15025	// Collection of build records that match the request.
15026	Builds []*Build `type:"list"`
15027
15028	// Token that indicates where to resume retrieving results on the next call
15029	// to this action. If no token is returned, these results represent the end
15030	// of the list.
15031	NextToken *string `min:"1" type:"string"`
15032}
15033
15034// String returns the string representation
15035func (s ListBuildsOutput) String() string {
15036	return awsutil.Prettify(s)
15037}
15038
15039// GoString returns the string representation
15040func (s ListBuildsOutput) GoString() string {
15041	return s.String()
15042}
15043
15044// SetBuilds sets the Builds field's value.
15045func (s *ListBuildsOutput) SetBuilds(v []*Build) *ListBuildsOutput {
15046	s.Builds = v
15047	return s
15048}
15049
15050// SetNextToken sets the NextToken field's value.
15051func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput {
15052	s.NextToken = &v
15053	return s
15054}
15055
15056// Represents the input for a request action.
15057type ListFleetsInput struct {
15058	_ struct{} `type:"structure"`
15059
15060	// Unique identifier for a build to return fleets for. Use this parameter to
15061	// return only fleets using the specified build. To retrieve all fleets, leave
15062	// this parameter empty.
15063	BuildId *string `type:"string"`
15064
15065	// Maximum number of results to return. Use this parameter with NextToken to
15066	// get results as a set of sequential pages.
15067	Limit *int64 `min:"1" type:"integer"`
15068
15069	// Token that indicates the start of the next sequential page of results. Use
15070	// the token that is returned with a previous call to this action. To start
15071	// at the beginning of the result set, do not specify a value.
15072	NextToken *string `min:"1" type:"string"`
15073}
15074
15075// String returns the string representation
15076func (s ListFleetsInput) String() string {
15077	return awsutil.Prettify(s)
15078}
15079
15080// GoString returns the string representation
15081func (s ListFleetsInput) GoString() string {
15082	return s.String()
15083}
15084
15085// Validate inspects the fields of the type to determine if they are valid.
15086func (s *ListFleetsInput) Validate() error {
15087	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
15088	if s.Limit != nil && *s.Limit < 1 {
15089		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
15090	}
15091	if s.NextToken != nil && len(*s.NextToken) < 1 {
15092		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
15093	}
15094
15095	if invalidParams.Len() > 0 {
15096		return invalidParams
15097	}
15098	return nil
15099}
15100
15101// SetBuildId sets the BuildId field's value.
15102func (s *ListFleetsInput) SetBuildId(v string) *ListFleetsInput {
15103	s.BuildId = &v
15104	return s
15105}
15106
15107// SetLimit sets the Limit field's value.
15108func (s *ListFleetsInput) SetLimit(v int64) *ListFleetsInput {
15109	s.Limit = &v
15110	return s
15111}
15112
15113// SetNextToken sets the NextToken field's value.
15114func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
15115	s.NextToken = &v
15116	return s
15117}
15118
15119// Represents the returned data in response to a request action.
15120type ListFleetsOutput struct {
15121	_ struct{} `type:"structure"`
15122
15123	// Set of fleet IDs matching the list request. You can retrieve additional information
15124	// about all returned fleets by passing this result set to a call to DescribeFleetAttributes,
15125	// DescribeFleetCapacity, or DescribeFleetUtilization.
15126	FleetIds []*string `min:"1" type:"list"`
15127
15128	// Token that indicates where to resume retrieving results on the next call
15129	// to this action. If no token is returned, these results represent the end
15130	// of the list.
15131	NextToken *string `min:"1" type:"string"`
15132}
15133
15134// String returns the string representation
15135func (s ListFleetsOutput) String() string {
15136	return awsutil.Prettify(s)
15137}
15138
15139// GoString returns the string representation
15140func (s ListFleetsOutput) GoString() string {
15141	return s.String()
15142}
15143
15144// SetFleetIds sets the FleetIds field's value.
15145func (s *ListFleetsOutput) SetFleetIds(v []*string) *ListFleetsOutput {
15146	s.FleetIds = v
15147	return s
15148}
15149
15150// SetNextToken sets the NextToken field's value.
15151func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
15152	s.NextToken = &v
15153	return s
15154}
15155
15156// Represents a new player session that is created as a result of a successful
15157// FlexMatch match. A successful match automatically creates new player sessions
15158// for every player ID in the original matchmaking request.
15159//
15160// When players connect to the match's game session, they must include both
15161// player ID and player session ID in order to claim their assigned player slot.
15162type MatchedPlayerSession struct {
15163	_ struct{} `type:"structure"`
15164
15165	// Unique identifier for a player
15166	PlayerId *string `min:"1" type:"string"`
15167
15168	// Unique identifier for a player session
15169	PlayerSessionId *string `type:"string"`
15170}
15171
15172// String returns the string representation
15173func (s MatchedPlayerSession) String() string {
15174	return awsutil.Prettify(s)
15175}
15176
15177// GoString returns the string representation
15178func (s MatchedPlayerSession) GoString() string {
15179	return s.String()
15180}
15181
15182// SetPlayerId sets the PlayerId field's value.
15183func (s *MatchedPlayerSession) SetPlayerId(v string) *MatchedPlayerSession {
15184	s.PlayerId = &v
15185	return s
15186}
15187
15188// SetPlayerSessionId sets the PlayerSessionId field's value.
15189func (s *MatchedPlayerSession) SetPlayerSessionId(v string) *MatchedPlayerSession {
15190	s.PlayerSessionId = &v
15191	return s
15192}
15193
15194// Guidelines for use with FlexMatch to match players into games. All matchmaking
15195// requests must specify a matchmaking configuration.
15196type MatchmakingConfiguration struct {
15197	_ struct{} `type:"structure"`
15198
15199	// Flag that determines whether or not a match that was created with this configuration
15200	// must be accepted by the matched players. To require acceptance, set to TRUE.
15201	AcceptanceRequired *bool `type:"boolean"`
15202
15203	// Length of time (in seconds) to wait for players to accept a proposed match.
15204	// If any player rejects the match or fails to accept before the timeout, the
15205	// ticket continues to look for an acceptable match.
15206	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
15207
15208	// Number of player slots in a match to keep open for future players. For example,
15209	// if the configuration's rule set specifies a match for a single 12-person
15210	// team, and the additional player count is set to 2, only 10 players are selected
15211	// for the match.
15212	AdditionalPlayerCount *int64 `type:"integer"`
15213
15214	// Time stamp indicating when this data object was created. Format is a number
15215	// expressed in Unix time as milliseconds (for example "1469498468.057").
15216	CreationTime *time.Time `type:"timestamp"`
15217
15218	// Information to attached to all events related to the matchmaking configuration.
15219	CustomEventData *string `type:"string"`
15220
15221	// Descriptive label that is associated with matchmaking configuration.
15222	Description *string `min:"1" type:"string"`
15223
15224	// Set of custom properties for a game session, formatted as key:value pairs.
15225	// These properties are passed to a game server process in the GameSession object
15226	// with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
15227	// This information is added to the new GameSession object that is created for
15228	// a successful match.
15229	GameProperties []*GameProperty `type:"list"`
15230
15231	// Set of custom game session properties, formatted as a single string value.
15232	// This data is passed to a game server process in the GameSession object with
15233	// a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
15234	// This information is added to the new GameSession object that is created for
15235	// a successful match.
15236	GameSessionData *string `min:"1" type:"string"`
15237
15238	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
15239	// that is assigned to a game session queue and uniquely identifies it. Format
15240	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
15241	// These queues are used when placing game sessions for matches that are created
15242	// with this matchmaking configuration. Queues can be located in any region.
15243	GameSessionQueueArns []*string `type:"list"`
15244
15245	// Unique identifier for a matchmaking configuration. This name is used to identify
15246	// the configuration associated with a matchmaking request or ticket.
15247	Name *string `min:"1" type:"string"`
15248
15249	// SNS topic ARN that is set up to receive matchmaking notifications.
15250	NotificationTarget *string `type:"string"`
15251
15252	// Maximum duration, in seconds, that a matchmaking ticket can remain in process
15253	// before timing out. Requests that time out can be resubmitted as needed.
15254	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
15255
15256	// Unique identifier for a matchmaking rule set to use with this configuration.
15257	// A matchmaking configuration can only use rule sets that are defined in the
15258	// same region.
15259	RuleSetName *string `min:"1" type:"string"`
15260}
15261
15262// String returns the string representation
15263func (s MatchmakingConfiguration) String() string {
15264	return awsutil.Prettify(s)
15265}
15266
15267// GoString returns the string representation
15268func (s MatchmakingConfiguration) GoString() string {
15269	return s.String()
15270}
15271
15272// SetAcceptanceRequired sets the AcceptanceRequired field's value.
15273func (s *MatchmakingConfiguration) SetAcceptanceRequired(v bool) *MatchmakingConfiguration {
15274	s.AcceptanceRequired = &v
15275	return s
15276}
15277
15278// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
15279func (s *MatchmakingConfiguration) SetAcceptanceTimeoutSeconds(v int64) *MatchmakingConfiguration {
15280	s.AcceptanceTimeoutSeconds = &v
15281	return s
15282}
15283
15284// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
15285func (s *MatchmakingConfiguration) SetAdditionalPlayerCount(v int64) *MatchmakingConfiguration {
15286	s.AdditionalPlayerCount = &v
15287	return s
15288}
15289
15290// SetCreationTime sets the CreationTime field's value.
15291func (s *MatchmakingConfiguration) SetCreationTime(v time.Time) *MatchmakingConfiguration {
15292	s.CreationTime = &v
15293	return s
15294}
15295
15296// SetCustomEventData sets the CustomEventData field's value.
15297func (s *MatchmakingConfiguration) SetCustomEventData(v string) *MatchmakingConfiguration {
15298	s.CustomEventData = &v
15299	return s
15300}
15301
15302// SetDescription sets the Description field's value.
15303func (s *MatchmakingConfiguration) SetDescription(v string) *MatchmakingConfiguration {
15304	s.Description = &v
15305	return s
15306}
15307
15308// SetGameProperties sets the GameProperties field's value.
15309func (s *MatchmakingConfiguration) SetGameProperties(v []*GameProperty) *MatchmakingConfiguration {
15310	s.GameProperties = v
15311	return s
15312}
15313
15314// SetGameSessionData sets the GameSessionData field's value.
15315func (s *MatchmakingConfiguration) SetGameSessionData(v string) *MatchmakingConfiguration {
15316	s.GameSessionData = &v
15317	return s
15318}
15319
15320// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
15321func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration {
15322	s.GameSessionQueueArns = v
15323	return s
15324}
15325
15326// SetName sets the Name field's value.
15327func (s *MatchmakingConfiguration) SetName(v string) *MatchmakingConfiguration {
15328	s.Name = &v
15329	return s
15330}
15331
15332// SetNotificationTarget sets the NotificationTarget field's value.
15333func (s *MatchmakingConfiguration) SetNotificationTarget(v string) *MatchmakingConfiguration {
15334	s.NotificationTarget = &v
15335	return s
15336}
15337
15338// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
15339func (s *MatchmakingConfiguration) SetRequestTimeoutSeconds(v int64) *MatchmakingConfiguration {
15340	s.RequestTimeoutSeconds = &v
15341	return s
15342}
15343
15344// SetRuleSetName sets the RuleSetName field's value.
15345func (s *MatchmakingConfiguration) SetRuleSetName(v string) *MatchmakingConfiguration {
15346	s.RuleSetName = &v
15347	return s
15348}
15349
15350// Set of rule statements, used with FlexMatch, that determine how to build
15351// a certain kind of player match. Each rule set describes a type of group to
15352// be created and defines the parameters for acceptable player matches. Rule
15353// sets are used in MatchmakingConfiguration objects.
15354//
15355// A rule set may define the following elements for a match. For detailed information
15356// and examples showing how to construct a rule set, see Build a FlexMatch Rule
15357// Set (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html).
15358//
15359//    * Teams -- Required. A rule set must define one or multiple teams for
15360//    the match and set minimum and maximum team sizes. For example, a rule
15361//    set might describe a 4x4 match that requires all eight slots to be filled.
15362//
15363//
15364//    * Player attributes -- Optional. These attributes specify a set of player
15365//    characteristics to evaluate when looking for a match. Matchmaking requests
15366//    that use a rule set with player attributes must provide the corresponding
15367//    attribute values. For example, an attribute might specify a player's skill
15368//    or level.
15369//
15370//    * Rules -- Optional. Rules define how to evaluate potential players for
15371//    a match based on player attributes. A rule might specify minimum requirements
15372//    for individual players, teams, or entire matches. For example, a rule
15373//    might require each player to meet a certain skill level, each team to
15374//    have at least one player in a certain role, or the match to have a minimum
15375//    average skill level. or may describe an entire group--such as all teams
15376//    must be evenly matched or have at least one player in a certain role.
15377//
15378//
15379//    * Expansions -- Optional. Expansions allow you to relax the rules after
15380//    a period of time when no acceptable matches are found. This feature lets
15381//    you balance getting players into games in a reasonable amount of time
15382//    instead of making them wait indefinitely for the best possible match.
15383//    For example, you might use an expansion to increase the maximum skill
15384//    variance between players after 30 seconds.
15385type MatchmakingRuleSet struct {
15386	_ struct{} `type:"structure"`
15387
15388	// Time stamp indicating when this data object was created. Format is a number
15389	// expressed in Unix time as milliseconds (for example "1469498468.057").
15390	CreationTime *time.Time `type:"timestamp"`
15391
15392	// Collection of matchmaking rules, formatted as a JSON string. (Note that comments14
15393	// are not allowed in JSON, but most elements support a description field.)
15394	//
15395	// RuleSetBody is a required field
15396	RuleSetBody *string `min:"1" type:"string" required:"true"`
15397
15398	// Unique identifier for a matchmaking rule set
15399	RuleSetName *string `min:"1" type:"string"`
15400}
15401
15402// String returns the string representation
15403func (s MatchmakingRuleSet) String() string {
15404	return awsutil.Prettify(s)
15405}
15406
15407// GoString returns the string representation
15408func (s MatchmakingRuleSet) GoString() string {
15409	return s.String()
15410}
15411
15412// SetCreationTime sets the CreationTime field's value.
15413func (s *MatchmakingRuleSet) SetCreationTime(v time.Time) *MatchmakingRuleSet {
15414	s.CreationTime = &v
15415	return s
15416}
15417
15418// SetRuleSetBody sets the RuleSetBody field's value.
15419func (s *MatchmakingRuleSet) SetRuleSetBody(v string) *MatchmakingRuleSet {
15420	s.RuleSetBody = &v
15421	return s
15422}
15423
15424// SetRuleSetName sets the RuleSetName field's value.
15425func (s *MatchmakingRuleSet) SetRuleSetName(v string) *MatchmakingRuleSet {
15426	s.RuleSetName = &v
15427	return s
15428}
15429
15430// Ticket generated to track the progress of a matchmaking request. Each ticket
15431// is uniquely identified by a ticket ID, supplied by the requester, when creating
15432// a matchmaking request with StartMatchmaking. Tickets can be retrieved by
15433// calling DescribeMatchmaking with the ticket ID.
15434type MatchmakingTicket struct {
15435	_ struct{} `type:"structure"`
15436
15437	// Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking
15438	// configurations determine how players are grouped into a match and how a new
15439	// game session is created for the match.
15440	ConfigurationName *string `min:"1" type:"string"`
15441
15442	// Time stamp indicating when this matchmaking request stopped being processed
15443	// due to success, failure, or cancellation. Format is a number expressed in
15444	// Unix time as milliseconds (for example "1469498468.057").
15445	EndTime *time.Time `type:"timestamp"`
15446
15447	// Average amount of time (in seconds) that players are currently waiting for
15448	// a match. If there is not enough recent data, this property may be empty.
15449	EstimatedWaitTime *int64 `type:"integer"`
15450
15451	// Identifier and connection information of the game session created for the
15452	// match. This information is added to the ticket only after the matchmaking
15453	// request has been successfully completed.
15454	GameSessionConnectionInfo *GameSessionConnectionInfo `type:"structure"`
15455
15456	// A set of Player objects, each representing a player to find matches for.
15457	// Players are identified by a unique player ID and may include latency data
15458	// for use during matchmaking. If the ticket is in status COMPLETED, the Player
15459	// objects include the team the players were assigned to in the resulting match.
15460	Players []*Player `type:"list"`
15461
15462	// Time stamp indicating when this matchmaking request was received. Format
15463	// is a number expressed in Unix time as milliseconds (for example "1469498468.057").
15464	StartTime *time.Time `type:"timestamp"`
15465
15466	// Current status of the matchmaking request.
15467	//
15468	//    * QUEUED -- The matchmaking request has been received and is currently
15469	//    waiting to be processed.
15470	//
15471	//    * SEARCHING -- The matchmaking request is currently being processed.
15472	//
15473	//    * REQUIRES_ACCEPTANCE -- A match has been proposed and the players must
15474	//    accept the match (see AcceptMatch). This status is used only with requests
15475	//    that use a matchmaking configuration with a player acceptance requirement.
15476	//
15477	//    * PLACING -- The FlexMatch engine has matched players and is in the process
15478	//    of placing a new game session for the match.
15479	//
15480	//    * COMPLETED -- Players have been matched and a game session is ready to
15481	//    host the players. A ticket in this state contains the necessary connection
15482	//    information for players.
15483	//
15484	//    * FAILED -- The matchmaking request was not completed. Tickets with players
15485	//    who fail to accept a proposed match are placed in FAILED status.
15486	//
15487	//    * CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking.
15488	//
15489	//    * TIMED_OUT -- The matchmaking request was not successful within the duration
15490	//    specified in the matchmaking configuration.
15491	//
15492	// Matchmaking requests that fail to successfully complete (statuses FAILED,
15493	// CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket
15494	// IDs.
15495	Status *string `type:"string" enum:"MatchmakingConfigurationStatus"`
15496
15497	// Additional information about the current status.
15498	StatusMessage *string `type:"string"`
15499
15500	// Code to explain the current status. For example, a status reason may indicate
15501	// when a ticket has returned to SEARCHING status after a proposed match fails
15502	// to receive player acceptances.
15503	StatusReason *string `type:"string"`
15504
15505	// Unique identifier for a matchmaking ticket.
15506	TicketId *string `min:"1" type:"string"`
15507}
15508
15509// String returns the string representation
15510func (s MatchmakingTicket) String() string {
15511	return awsutil.Prettify(s)
15512}
15513
15514// GoString returns the string representation
15515func (s MatchmakingTicket) GoString() string {
15516	return s.String()
15517}
15518
15519// SetConfigurationName sets the ConfigurationName field's value.
15520func (s *MatchmakingTicket) SetConfigurationName(v string) *MatchmakingTicket {
15521	s.ConfigurationName = &v
15522	return s
15523}
15524
15525// SetEndTime sets the EndTime field's value.
15526func (s *MatchmakingTicket) SetEndTime(v time.Time) *MatchmakingTicket {
15527	s.EndTime = &v
15528	return s
15529}
15530
15531// SetEstimatedWaitTime sets the EstimatedWaitTime field's value.
15532func (s *MatchmakingTicket) SetEstimatedWaitTime(v int64) *MatchmakingTicket {
15533	s.EstimatedWaitTime = &v
15534	return s
15535}
15536
15537// SetGameSessionConnectionInfo sets the GameSessionConnectionInfo field's value.
15538func (s *MatchmakingTicket) SetGameSessionConnectionInfo(v *GameSessionConnectionInfo) *MatchmakingTicket {
15539	s.GameSessionConnectionInfo = v
15540	return s
15541}
15542
15543// SetPlayers sets the Players field's value.
15544func (s *MatchmakingTicket) SetPlayers(v []*Player) *MatchmakingTicket {
15545	s.Players = v
15546	return s
15547}
15548
15549// SetStartTime sets the StartTime field's value.
15550func (s *MatchmakingTicket) SetStartTime(v time.Time) *MatchmakingTicket {
15551	s.StartTime = &v
15552	return s
15553}
15554
15555// SetStatus sets the Status field's value.
15556func (s *MatchmakingTicket) SetStatus(v string) *MatchmakingTicket {
15557	s.Status = &v
15558	return s
15559}
15560
15561// SetStatusMessage sets the StatusMessage field's value.
15562func (s *MatchmakingTicket) SetStatusMessage(v string) *MatchmakingTicket {
15563	s.StatusMessage = &v
15564	return s
15565}
15566
15567// SetStatusReason sets the StatusReason field's value.
15568func (s *MatchmakingTicket) SetStatusReason(v string) *MatchmakingTicket {
15569	s.StatusReason = &v
15570	return s
15571}
15572
15573// SetTicketId sets the TicketId field's value.
15574func (s *MatchmakingTicket) SetTicketId(v string) *MatchmakingTicket {
15575	s.TicketId = &v
15576	return s
15577}
15578
15579// Information about a player session that was created as part of a StartGameSessionPlacement
15580// request. This object contains only the player ID and player session ID. To
15581// retrieve full details on a player session, call DescribePlayerSessions with
15582// the player session ID.
15583//
15584// Player-session-related operations include:
15585//
15586//    * CreatePlayerSession
15587//
15588//    * CreatePlayerSessions
15589//
15590//    * DescribePlayerSessions
15591//
15592//    * Game session placements
15593//
15594// StartGameSessionPlacement
15595//
15596// DescribeGameSessionPlacement
15597//
15598// StopGameSessionPlacement
15599type PlacedPlayerSession struct {
15600	_ struct{} `type:"structure"`
15601
15602	// Unique identifier for a player that is associated with this player session.
15603	PlayerId *string `min:"1" type:"string"`
15604
15605	// Unique identifier for a player session.
15606	PlayerSessionId *string `type:"string"`
15607}
15608
15609// String returns the string representation
15610func (s PlacedPlayerSession) String() string {
15611	return awsutil.Prettify(s)
15612}
15613
15614// GoString returns the string representation
15615func (s PlacedPlayerSession) GoString() string {
15616	return s.String()
15617}
15618
15619// SetPlayerId sets the PlayerId field's value.
15620func (s *PlacedPlayerSession) SetPlayerId(v string) *PlacedPlayerSession {
15621	s.PlayerId = &v
15622	return s
15623}
15624
15625// SetPlayerSessionId sets the PlayerSessionId field's value.
15626func (s *PlacedPlayerSession) SetPlayerSessionId(v string) *PlacedPlayerSession {
15627	s.PlayerSessionId = &v
15628	return s
15629}
15630
15631// Represents a player in matchmaking. When starting a matchmaking request,
15632// a player has a player ID, attributes, and may have latency data. Team information
15633// is added after a match has been successfully completed.
15634type Player struct {
15635	_ struct{} `type:"structure"`
15636
15637	// Set of values, expressed in milliseconds, indicating the amount of latency
15638	// that a player experiences when connected to AWS regions. If this property
15639	// is present, FlexMatch considers placing the match only in regions for which
15640	// latency is reported.
15641	//
15642	// If a matchmaker has a rule that evaluates player latency, players must report
15643	// latency in order to be matched. If no latency is reported in this scenario,
15644	// FlexMatch assumes that no regions are available to the player and the ticket
15645	// is not matchable.
15646	LatencyInMs map[string]*int64 `type:"map"`
15647
15648	// Collection of key:value pairs containing player information for use in matchmaking.
15649	// Player attribute keys must match the playerAttributes used in a matchmaking
15650	// rule set. Example: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode":
15651	// {"S": "deathmatch"}}.
15652	PlayerAttributes map[string]*AttributeValue `type:"map"`
15653
15654	// Unique identifier for a player
15655	PlayerId *string `min:"1" type:"string"`
15656
15657	// Name of the team that the player is assigned to in a match. Team names are
15658	// defined in a matchmaking rule set.
15659	Team *string `min:"1" type:"string"`
15660}
15661
15662// String returns the string representation
15663func (s Player) String() string {
15664	return awsutil.Prettify(s)
15665}
15666
15667// GoString returns the string representation
15668func (s Player) GoString() string {
15669	return s.String()
15670}
15671
15672// Validate inspects the fields of the type to determine if they are valid.
15673func (s *Player) Validate() error {
15674	invalidParams := request.ErrInvalidParams{Context: "Player"}
15675	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
15676		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
15677	}
15678	if s.Team != nil && len(*s.Team) < 1 {
15679		invalidParams.Add(request.NewErrParamMinLen("Team", 1))
15680	}
15681	if s.PlayerAttributes != nil {
15682		for i, v := range s.PlayerAttributes {
15683			if v == nil {
15684				continue
15685			}
15686			if err := v.Validate(); err != nil {
15687				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerAttributes", i), err.(request.ErrInvalidParams))
15688			}
15689		}
15690	}
15691
15692	if invalidParams.Len() > 0 {
15693		return invalidParams
15694	}
15695	return nil
15696}
15697
15698// SetLatencyInMs sets the LatencyInMs field's value.
15699func (s *Player) SetLatencyInMs(v map[string]*int64) *Player {
15700	s.LatencyInMs = v
15701	return s
15702}
15703
15704// SetPlayerAttributes sets the PlayerAttributes field's value.
15705func (s *Player) SetPlayerAttributes(v map[string]*AttributeValue) *Player {
15706	s.PlayerAttributes = v
15707	return s
15708}
15709
15710// SetPlayerId sets the PlayerId field's value.
15711func (s *Player) SetPlayerId(v string) *Player {
15712	s.PlayerId = &v
15713	return s
15714}
15715
15716// SetTeam sets the Team field's value.
15717func (s *Player) SetTeam(v string) *Player {
15718	s.Team = &v
15719	return s
15720}
15721
15722// Regional latency information for a player, used when requesting a new game
15723// session with StartGameSessionPlacement. This value indicates the amount of
15724// time lag that exists when the player is connected to a fleet in the specified
15725// region. The relative difference between a player's latency values for multiple
15726// regions are used to determine which fleets are best suited to place a new
15727// game session for the player.
15728type PlayerLatency struct {
15729	_ struct{} `type:"structure"`
15730
15731	// Amount of time that represents the time lag experienced by the player when
15732	// connected to the specified region.
15733	LatencyInMilliseconds *float64 `type:"float"`
15734
15735	// Unique identifier for a player associated with the latency data.
15736	PlayerId *string `min:"1" type:"string"`
15737
15738	// Name of the region that is associated with the latency value.
15739	RegionIdentifier *string `min:"1" type:"string"`
15740}
15741
15742// String returns the string representation
15743func (s PlayerLatency) String() string {
15744	return awsutil.Prettify(s)
15745}
15746
15747// GoString returns the string representation
15748func (s PlayerLatency) GoString() string {
15749	return s.String()
15750}
15751
15752// Validate inspects the fields of the type to determine if they are valid.
15753func (s *PlayerLatency) Validate() error {
15754	invalidParams := request.ErrInvalidParams{Context: "PlayerLatency"}
15755	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
15756		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
15757	}
15758	if s.RegionIdentifier != nil && len(*s.RegionIdentifier) < 1 {
15759		invalidParams.Add(request.NewErrParamMinLen("RegionIdentifier", 1))
15760	}
15761
15762	if invalidParams.Len() > 0 {
15763		return invalidParams
15764	}
15765	return nil
15766}
15767
15768// SetLatencyInMilliseconds sets the LatencyInMilliseconds field's value.
15769func (s *PlayerLatency) SetLatencyInMilliseconds(v float64) *PlayerLatency {
15770	s.LatencyInMilliseconds = &v
15771	return s
15772}
15773
15774// SetPlayerId sets the PlayerId field's value.
15775func (s *PlayerLatency) SetPlayerId(v string) *PlayerLatency {
15776	s.PlayerId = &v
15777	return s
15778}
15779
15780// SetRegionIdentifier sets the RegionIdentifier field's value.
15781func (s *PlayerLatency) SetRegionIdentifier(v string) *PlayerLatency {
15782	s.RegionIdentifier = &v
15783	return s
15784}
15785
15786// Queue setting that determines the highest latency allowed for individual
15787// players when placing a game session. When a latency policy is in force, a
15788// game session cannot be placed at any destination in a region where a player
15789// is reporting latency higher than the cap. Latency policies are only enforced
15790// when the placement request contains player latency information.
15791//
15792// Queue-related operations include:
15793//
15794//    * CreateGameSessionQueue
15795//
15796//    * DescribeGameSessionQueues
15797//
15798//    * UpdateGameSessionQueue
15799//
15800//    * DeleteGameSessionQueue
15801type PlayerLatencyPolicy struct {
15802	_ struct{} `type:"structure"`
15803
15804	// The maximum latency value that is allowed for any player, in milliseconds.
15805	// All policies must have a value set for this property.
15806	MaximumIndividualPlayerLatencyMilliseconds *int64 `type:"integer"`
15807
15808	// The length of time, in seconds, that the policy is enforced while placing
15809	// a new game session. A null value for this property means that the policy
15810	// is enforced until the queue times out.
15811	PolicyDurationSeconds *int64 `type:"integer"`
15812}
15813
15814// String returns the string representation
15815func (s PlayerLatencyPolicy) String() string {
15816	return awsutil.Prettify(s)
15817}
15818
15819// GoString returns the string representation
15820func (s PlayerLatencyPolicy) GoString() string {
15821	return s.String()
15822}
15823
15824// SetMaximumIndividualPlayerLatencyMilliseconds sets the MaximumIndividualPlayerLatencyMilliseconds field's value.
15825func (s *PlayerLatencyPolicy) SetMaximumIndividualPlayerLatencyMilliseconds(v int64) *PlayerLatencyPolicy {
15826	s.MaximumIndividualPlayerLatencyMilliseconds = &v
15827	return s
15828}
15829
15830// SetPolicyDurationSeconds sets the PolicyDurationSeconds field's value.
15831func (s *PlayerLatencyPolicy) SetPolicyDurationSeconds(v int64) *PlayerLatencyPolicy {
15832	s.PolicyDurationSeconds = &v
15833	return s
15834}
15835
15836// Properties describing a player session. Player session objects are created
15837// either by creating a player session for a specific game session, or as part
15838// of a game session placement. A player session represents either a player
15839// reservation for a game session (status RESERVED) or actual player activity
15840// in a game session (status ACTIVE). A player session object (including player
15841// data) is automatically passed to a game session when the player connects
15842// to the game session and is validated.
15843//
15844// When a player disconnects, the player session status changes to COMPLETED.
15845// Once the session ends, the player session object is retained for 30 days
15846// and then removed.
15847//
15848// Player-session-related operations include:
15849//
15850//    * CreatePlayerSession
15851//
15852//    * CreatePlayerSessions
15853//
15854//    * DescribePlayerSessions
15855//
15856//    * Game session placements
15857//
15858// StartGameSessionPlacement
15859//
15860// DescribeGameSessionPlacement
15861//
15862// StopGameSessionPlacement
15863type PlayerSession struct {
15864	_ struct{} `type:"structure"`
15865
15866	// Time stamp indicating when this data object was created. Format is a number
15867	// expressed in Unix time as milliseconds (for example "1469498468.057").
15868	CreationTime *time.Time `type:"timestamp"`
15869
15870	// Unique identifier for a fleet that the player's game session is running on.
15871	FleetId *string `type:"string"`
15872
15873	// Unique identifier for the game session that the player session is connected
15874	// to.
15875	GameSessionId *string `min:"1" type:"string"`
15876
15877	// IP address of the game session. To connect to a Amazon GameLift game server,
15878	// an app needs both the IP address and port number.
15879	IpAddress *string `type:"string"`
15880
15881	// Developer-defined information related to a player. Amazon GameLift does not
15882	// use this data, so it can be formatted as needed for use in the game.
15883	PlayerData *string `min:"1" type:"string"`
15884
15885	// Unique identifier for a player that is associated with this player session.
15886	PlayerId *string `min:"1" type:"string"`
15887
15888	// Unique identifier for a player session.
15889	PlayerSessionId *string `type:"string"`
15890
15891	// Port number for the game session. To connect to a Amazon GameLift server
15892	// process, an app needs both the IP address and port number.
15893	Port *int64 `min:"1" type:"integer"`
15894
15895	// Current status of the player session.
15896	//
15897	// Possible player session statuses include the following:
15898	//
15899	//    * RESERVED -- The player session request has been received, but the player
15900	//    has not yet connected to the server process and/or been validated.
15901	//
15902	//    * ACTIVE -- The player has been validated by the server process and is
15903	//    currently connected.
15904	//
15905	//    * COMPLETED -- The player connection has been dropped.
15906	//
15907	//    * TIMEDOUT -- A player session request was received, but the player did
15908	//    not connect and/or was not validated within the timeout limit (60 seconds).
15909	Status *string `type:"string" enum:"PlayerSessionStatus"`
15910
15911	// Time stamp indicating when this data object was terminated. Format is a number
15912	// expressed in Unix time as milliseconds (for example "1469498468.057").
15913	TerminationTime *time.Time `type:"timestamp"`
15914}
15915
15916// String returns the string representation
15917func (s PlayerSession) String() string {
15918	return awsutil.Prettify(s)
15919}
15920
15921// GoString returns the string representation
15922func (s PlayerSession) GoString() string {
15923	return s.String()
15924}
15925
15926// SetCreationTime sets the CreationTime field's value.
15927func (s *PlayerSession) SetCreationTime(v time.Time) *PlayerSession {
15928	s.CreationTime = &v
15929	return s
15930}
15931
15932// SetFleetId sets the FleetId field's value.
15933func (s *PlayerSession) SetFleetId(v string) *PlayerSession {
15934	s.FleetId = &v
15935	return s
15936}
15937
15938// SetGameSessionId sets the GameSessionId field's value.
15939func (s *PlayerSession) SetGameSessionId(v string) *PlayerSession {
15940	s.GameSessionId = &v
15941	return s
15942}
15943
15944// SetIpAddress sets the IpAddress field's value.
15945func (s *PlayerSession) SetIpAddress(v string) *PlayerSession {
15946	s.IpAddress = &v
15947	return s
15948}
15949
15950// SetPlayerData sets the PlayerData field's value.
15951func (s *PlayerSession) SetPlayerData(v string) *PlayerSession {
15952	s.PlayerData = &v
15953	return s
15954}
15955
15956// SetPlayerId sets the PlayerId field's value.
15957func (s *PlayerSession) SetPlayerId(v string) *PlayerSession {
15958	s.PlayerId = &v
15959	return s
15960}
15961
15962// SetPlayerSessionId sets the PlayerSessionId field's value.
15963func (s *PlayerSession) SetPlayerSessionId(v string) *PlayerSession {
15964	s.PlayerSessionId = &v
15965	return s
15966}
15967
15968// SetPort sets the Port field's value.
15969func (s *PlayerSession) SetPort(v int64) *PlayerSession {
15970	s.Port = &v
15971	return s
15972}
15973
15974// SetStatus sets the Status field's value.
15975func (s *PlayerSession) SetStatus(v string) *PlayerSession {
15976	s.Status = &v
15977	return s
15978}
15979
15980// SetTerminationTime sets the TerminationTime field's value.
15981func (s *PlayerSession) SetTerminationTime(v time.Time) *PlayerSession {
15982	s.TerminationTime = &v
15983	return s
15984}
15985
15986// Represents the input for a request action.
15987type PutScalingPolicyInput struct {
15988	_ struct{} `type:"structure"`
15989
15990	// Comparison operator to use when measuring the metric against the threshold
15991	// value.
15992	ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"`
15993
15994	// Length of time (in minutes) the metric must be at or beyond the threshold
15995	// before a scaling event is triggered.
15996	EvaluationPeriods *int64 `min:"1" type:"integer"`
15997
15998	// Unique identifier for a fleet to apply this policy to. The fleet cannot be
15999	// in any of the following statuses: ERROR or DELETING.
16000	//
16001	// FleetId is a required field
16002	FleetId *string `type:"string" required:"true"`
16003
16004	// Name of the Amazon GameLift-defined metric that is used to trigger a scaling
16005	// adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon
16006	// GameLift with Amazon CloudWatch (http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).
16007	//
16008	//    * ActivatingGameSessions -- Game sessions in the process of being created.
16009	//
16010	//    * ActiveGameSessions -- Game sessions that are currently running.
16011	//
16012	//    * ActiveInstances -- Fleet instances that are currently running at least
16013	//    one game session.
16014	//
16015	//    * AvailableGameSessions -- Additional game sessions that fleet could host
16016	//    simultaneously, given current capacity.
16017	//
16018	//    * AvailablePlayerSessions -- Empty player slots in currently active game
16019	//    sessions. This includes game sessions that are not currently accepting
16020	//    players. Reserved player slots are not included.
16021	//
16022	//    * CurrentPlayerSessions -- Player slots in active game sessions that are
16023	//    being used by a player or are reserved for a player.
16024	//
16025	//    * IdleInstances -- Active instances that are currently hosting zero game
16026	//    sessions.
16027	//
16028	//    * PercentAvailableGameSessions -- Unused percentage of the total number
16029	//    of game sessions that a fleet could host simultaneously, given current
16030	//    capacity. Use this metric for a target-based scaling policy.
16031	//
16032	//    * PercentIdleInstances -- Percentage of the total number of active instances
16033	//    that are hosting zero game sessions.
16034	//
16035	//    * QueueDepth -- Pending game session placement requests, in any queue,
16036	//    where the current fleet is the top-priority destination.
16037	//
16038	//    * WaitTime -- Current wait time for pending game session placement requests,
16039	//    in any queue, where the current fleet is the top-priority destination.
16040	//
16041	// MetricName is a required field
16042	MetricName *string `type:"string" required:"true" enum:"MetricName"`
16043
16044	// Descriptive label that is associated with a scaling policy. Policy names
16045	// do not need to be unique. A fleet can have only one scaling policy with the
16046	// same name.
16047	//
16048	// Name is a required field
16049	Name *string `min:"1" type:"string" required:"true"`
16050
16051	// Type of scaling policy to create. For a target-based policy, set the parameter
16052	// MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration.
16053	// For a rule-based policy set the following parameters: MetricName, ComparisonOperator,
16054	// Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
16055	PolicyType *string `type:"string" enum:"PolicyType"`
16056
16057	// Amount of adjustment to make, based on the scaling adjustment type.
16058	ScalingAdjustment *int64 `type:"integer"`
16059
16060	// Type of adjustment to make to a fleet's instance count (see FleetCapacity):
16061	//
16062	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
16063	//    the current instance count. Positive values scale up while negative values
16064	//    scale down.
16065	//
16066	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
16067	//
16068	//    * PercentChangeInCapacity -- increase or reduce the current instance count
16069	//    by the scaling adjustment, read as a percentage. Positive values scale
16070	//    up while negative values scale down; for example, a value of "-10" scales
16071	//    the fleet down by 10%.
16072	ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"`
16073
16074	// Object that contains settings for a target-based scaling policy.
16075	TargetConfiguration *TargetConfiguration `type:"structure"`
16076
16077	// Metric value used to trigger a scaling event.
16078	Threshold *float64 `type:"double"`
16079}
16080
16081// String returns the string representation
16082func (s PutScalingPolicyInput) String() string {
16083	return awsutil.Prettify(s)
16084}
16085
16086// GoString returns the string representation
16087func (s PutScalingPolicyInput) GoString() string {
16088	return s.String()
16089}
16090
16091// Validate inspects the fields of the type to determine if they are valid.
16092func (s *PutScalingPolicyInput) Validate() error {
16093	invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"}
16094	if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 {
16095		invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1))
16096	}
16097	if s.FleetId == nil {
16098		invalidParams.Add(request.NewErrParamRequired("FleetId"))
16099	}
16100	if s.MetricName == nil {
16101		invalidParams.Add(request.NewErrParamRequired("MetricName"))
16102	}
16103	if s.Name == nil {
16104		invalidParams.Add(request.NewErrParamRequired("Name"))
16105	}
16106	if s.Name != nil && len(*s.Name) < 1 {
16107		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16108	}
16109	if s.TargetConfiguration != nil {
16110		if err := s.TargetConfiguration.Validate(); err != nil {
16111			invalidParams.AddNested("TargetConfiguration", err.(request.ErrInvalidParams))
16112		}
16113	}
16114
16115	if invalidParams.Len() > 0 {
16116		return invalidParams
16117	}
16118	return nil
16119}
16120
16121// SetComparisonOperator sets the ComparisonOperator field's value.
16122func (s *PutScalingPolicyInput) SetComparisonOperator(v string) *PutScalingPolicyInput {
16123	s.ComparisonOperator = &v
16124	return s
16125}
16126
16127// SetEvaluationPeriods sets the EvaluationPeriods field's value.
16128func (s *PutScalingPolicyInput) SetEvaluationPeriods(v int64) *PutScalingPolicyInput {
16129	s.EvaluationPeriods = &v
16130	return s
16131}
16132
16133// SetFleetId sets the FleetId field's value.
16134func (s *PutScalingPolicyInput) SetFleetId(v string) *PutScalingPolicyInput {
16135	s.FleetId = &v
16136	return s
16137}
16138
16139// SetMetricName sets the MetricName field's value.
16140func (s *PutScalingPolicyInput) SetMetricName(v string) *PutScalingPolicyInput {
16141	s.MetricName = &v
16142	return s
16143}
16144
16145// SetName sets the Name field's value.
16146func (s *PutScalingPolicyInput) SetName(v string) *PutScalingPolicyInput {
16147	s.Name = &v
16148	return s
16149}
16150
16151// SetPolicyType sets the PolicyType field's value.
16152func (s *PutScalingPolicyInput) SetPolicyType(v string) *PutScalingPolicyInput {
16153	s.PolicyType = &v
16154	return s
16155}
16156
16157// SetScalingAdjustment sets the ScalingAdjustment field's value.
16158func (s *PutScalingPolicyInput) SetScalingAdjustment(v int64) *PutScalingPolicyInput {
16159	s.ScalingAdjustment = &v
16160	return s
16161}
16162
16163// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
16164func (s *PutScalingPolicyInput) SetScalingAdjustmentType(v string) *PutScalingPolicyInput {
16165	s.ScalingAdjustmentType = &v
16166	return s
16167}
16168
16169// SetTargetConfiguration sets the TargetConfiguration field's value.
16170func (s *PutScalingPolicyInput) SetTargetConfiguration(v *TargetConfiguration) *PutScalingPolicyInput {
16171	s.TargetConfiguration = v
16172	return s
16173}
16174
16175// SetThreshold sets the Threshold field's value.
16176func (s *PutScalingPolicyInput) SetThreshold(v float64) *PutScalingPolicyInput {
16177	s.Threshold = &v
16178	return s
16179}
16180
16181// Represents the returned data in response to a request action.
16182type PutScalingPolicyOutput struct {
16183	_ struct{} `type:"structure"`
16184
16185	// Descriptive label that is associated with a scaling policy. Policy names
16186	// do not need to be unique.
16187	Name *string `min:"1" type:"string"`
16188}
16189
16190// String returns the string representation
16191func (s PutScalingPolicyOutput) String() string {
16192	return awsutil.Prettify(s)
16193}
16194
16195// GoString returns the string representation
16196func (s PutScalingPolicyOutput) GoString() string {
16197	return s.String()
16198}
16199
16200// SetName sets the Name field's value.
16201func (s *PutScalingPolicyOutput) SetName(v string) *PutScalingPolicyOutput {
16202	s.Name = &v
16203	return s
16204}
16205
16206// Represents the input for a request action.
16207type RequestUploadCredentialsInput struct {
16208	_ struct{} `type:"structure"`
16209
16210	// Unique identifier for a build to get credentials for.
16211	//
16212	// BuildId is a required field
16213	BuildId *string `type:"string" required:"true"`
16214}
16215
16216// String returns the string representation
16217func (s RequestUploadCredentialsInput) String() string {
16218	return awsutil.Prettify(s)
16219}
16220
16221// GoString returns the string representation
16222func (s RequestUploadCredentialsInput) GoString() string {
16223	return s.String()
16224}
16225
16226// Validate inspects the fields of the type to determine if they are valid.
16227func (s *RequestUploadCredentialsInput) Validate() error {
16228	invalidParams := request.ErrInvalidParams{Context: "RequestUploadCredentialsInput"}
16229	if s.BuildId == nil {
16230		invalidParams.Add(request.NewErrParamRequired("BuildId"))
16231	}
16232
16233	if invalidParams.Len() > 0 {
16234		return invalidParams
16235	}
16236	return nil
16237}
16238
16239// SetBuildId sets the BuildId field's value.
16240func (s *RequestUploadCredentialsInput) SetBuildId(v string) *RequestUploadCredentialsInput {
16241	s.BuildId = &v
16242	return s
16243}
16244
16245// Represents the returned data in response to a request action.
16246type RequestUploadCredentialsOutput struct {
16247	_ struct{} `type:"structure"`
16248
16249	// Amazon S3 path and key, identifying where the game build files are stored.
16250	StorageLocation *S3Location `type:"structure"`
16251
16252	// AWS credentials required when uploading a game build to the storage location.
16253	// These credentials have a limited lifespan and are valid only for the build
16254	// they were issued for.
16255	UploadCredentials *AwsCredentials `type:"structure"`
16256}
16257
16258// String returns the string representation
16259func (s RequestUploadCredentialsOutput) String() string {
16260	return awsutil.Prettify(s)
16261}
16262
16263// GoString returns the string representation
16264func (s RequestUploadCredentialsOutput) GoString() string {
16265	return s.String()
16266}
16267
16268// SetStorageLocation sets the StorageLocation field's value.
16269func (s *RequestUploadCredentialsOutput) SetStorageLocation(v *S3Location) *RequestUploadCredentialsOutput {
16270	s.StorageLocation = v
16271	return s
16272}
16273
16274// SetUploadCredentials sets the UploadCredentials field's value.
16275func (s *RequestUploadCredentialsOutput) SetUploadCredentials(v *AwsCredentials) *RequestUploadCredentialsOutput {
16276	s.UploadCredentials = v
16277	return s
16278}
16279
16280// Represents the input for a request action.
16281type ResolveAliasInput struct {
16282	_ struct{} `type:"structure"`
16283
16284	// Unique identifier for the alias you want to resolve.
16285	//
16286	// AliasId is a required field
16287	AliasId *string `type:"string" required:"true"`
16288}
16289
16290// String returns the string representation
16291func (s ResolveAliasInput) String() string {
16292	return awsutil.Prettify(s)
16293}
16294
16295// GoString returns the string representation
16296func (s ResolveAliasInput) GoString() string {
16297	return s.String()
16298}
16299
16300// Validate inspects the fields of the type to determine if they are valid.
16301func (s *ResolveAliasInput) Validate() error {
16302	invalidParams := request.ErrInvalidParams{Context: "ResolveAliasInput"}
16303	if s.AliasId == nil {
16304		invalidParams.Add(request.NewErrParamRequired("AliasId"))
16305	}
16306
16307	if invalidParams.Len() > 0 {
16308		return invalidParams
16309	}
16310	return nil
16311}
16312
16313// SetAliasId sets the AliasId field's value.
16314func (s *ResolveAliasInput) SetAliasId(v string) *ResolveAliasInput {
16315	s.AliasId = &v
16316	return s
16317}
16318
16319// Represents the returned data in response to a request action.
16320type ResolveAliasOutput struct {
16321	_ struct{} `type:"structure"`
16322
16323	// Fleet identifier that is associated with the requested alias.
16324	FleetId *string `type:"string"`
16325}
16326
16327// String returns the string representation
16328func (s ResolveAliasOutput) String() string {
16329	return awsutil.Prettify(s)
16330}
16331
16332// GoString returns the string representation
16333func (s ResolveAliasOutput) GoString() string {
16334	return s.String()
16335}
16336
16337// SetFleetId sets the FleetId field's value.
16338func (s *ResolveAliasOutput) SetFleetId(v string) *ResolveAliasOutput {
16339	s.FleetId = &v
16340	return s
16341}
16342
16343// Policy that limits the number of game sessions a player can create on the
16344// same fleet. This optional policy gives game owners control over how players
16345// can consume available game server resources. A resource creation policy makes
16346// the following statement: "An individual player can create a maximum number
16347// of new game sessions within a specified time period".
16348//
16349// The policy is evaluated when a player tries to create a new game session.
16350// For example, with a policy of 10 new game sessions and a time period of 60
16351// minutes, on receiving a CreateGameSession request, Amazon GameLift checks
16352// that the player (identified by CreatorId) has created fewer than 10 game
16353// sessions in the past 60 minutes.
16354type ResourceCreationLimitPolicy struct {
16355	_ struct{} `type:"structure"`
16356
16357	// Maximum number of game sessions that an individual can create during the
16358	// policy period.
16359	NewGameSessionsPerCreator *int64 `type:"integer"`
16360
16361	// Time span used in evaluating the resource creation limit policy.
16362	PolicyPeriodInMinutes *int64 `type:"integer"`
16363}
16364
16365// String returns the string representation
16366func (s ResourceCreationLimitPolicy) String() string {
16367	return awsutil.Prettify(s)
16368}
16369
16370// GoString returns the string representation
16371func (s ResourceCreationLimitPolicy) GoString() string {
16372	return s.String()
16373}
16374
16375// SetNewGameSessionsPerCreator sets the NewGameSessionsPerCreator field's value.
16376func (s *ResourceCreationLimitPolicy) SetNewGameSessionsPerCreator(v int64) *ResourceCreationLimitPolicy {
16377	s.NewGameSessionsPerCreator = &v
16378	return s
16379}
16380
16381// SetPolicyPeriodInMinutes sets the PolicyPeriodInMinutes field's value.
16382func (s *ResourceCreationLimitPolicy) SetPolicyPeriodInMinutes(v int64) *ResourceCreationLimitPolicy {
16383	s.PolicyPeriodInMinutes = &v
16384	return s
16385}
16386
16387// Routing configuration for a fleet alias.
16388//
16389// Fleet-related operations include:
16390//
16391//    * CreateFleet
16392//
16393//    * ListFleets
16394//
16395//    * DeleteFleet
16396//
16397//    * Describe fleets:
16398//
16399// DescribeFleetAttributes
16400//
16401// DescribeFleetCapacity
16402//
16403// DescribeFleetPortSettings
16404//
16405// DescribeFleetUtilization
16406//
16407// DescribeRuntimeConfiguration
16408//
16409// DescribeEC2InstanceLimits
16410//
16411// DescribeFleetEvents
16412//
16413//    * Update fleets:
16414//
16415// UpdateFleetAttributes
16416//
16417// UpdateFleetCapacity
16418//
16419// UpdateFleetPortSettings
16420//
16421// UpdateRuntimeConfiguration
16422//
16423//    * Manage fleet actions:
16424//
16425// StartFleetActions
16426//
16427// StopFleetActions
16428type RoutingStrategy struct {
16429	_ struct{} `type:"structure"`
16430
16431	// Unique identifier for a fleet that the alias points to.
16432	FleetId *string `type:"string"`
16433
16434	// Message text to be used with a terminal routing strategy.
16435	Message *string `type:"string"`
16436
16437	// Type of routing strategy.
16438	//
16439	// Possible routing types include the following:
16440	//
16441	//    * SIMPLE -- The alias resolves to one specific fleet. Use this type when
16442	//    routing to active fleets.
16443	//
16444	//    * TERMINAL -- The alias does not resolve to a fleet but instead can be
16445	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
16446	//    with the RoutingStrategy message embedded.
16447	Type *string `type:"string" enum:"RoutingStrategyType"`
16448}
16449
16450// String returns the string representation
16451func (s RoutingStrategy) String() string {
16452	return awsutil.Prettify(s)
16453}
16454
16455// GoString returns the string representation
16456func (s RoutingStrategy) GoString() string {
16457	return s.String()
16458}
16459
16460// SetFleetId sets the FleetId field's value.
16461func (s *RoutingStrategy) SetFleetId(v string) *RoutingStrategy {
16462	s.FleetId = &v
16463	return s
16464}
16465
16466// SetMessage sets the Message field's value.
16467func (s *RoutingStrategy) SetMessage(v string) *RoutingStrategy {
16468	s.Message = &v
16469	return s
16470}
16471
16472// SetType sets the Type field's value.
16473func (s *RoutingStrategy) SetType(v string) *RoutingStrategy {
16474	s.Type = &v
16475	return s
16476}
16477
16478// A collection of server process configurations that describe what processes
16479// to run on each instance in a fleet. All fleets must have a run-time configuration.
16480// Each instance in the fleet launches the server processes specified in the
16481// run-time configuration and launches new ones as existing processes end. Each
16482// instance regularly checks for an updated run-time configuration and follows
16483// the new instructions.
16484//
16485// The run-time configuration enables the instances in a fleet to run multiple
16486// processes simultaneously. Potential scenarios are as follows: (1) Run multiple
16487// processes of a single game server executable to maximize usage of your hosting
16488// resources. (2) Run one or more processes of different build executables,
16489// such as your game server executable and a related program, or two or more
16490// different versions of a game server. (3) Run multiple processes of a single
16491// game server but with different launch parameters, for example to run one
16492// process on each instance in debug mode.
16493//
16494// A Amazon GameLift instance is limited to 50 processes running simultaneously.
16495// A run-time configuration must specify fewer than this limit. To calculate
16496// the total number of processes specified in a run-time configuration, add
16497// the values of the ConcurrentExecutions parameter for each ServerProcess object
16498// in the run-time configuration.
16499//
16500// Fleet-related operations include:
16501//
16502//    * CreateFleet
16503//
16504//    * ListFleets
16505//
16506//    * DeleteFleet
16507//
16508//    * Describe fleets:
16509//
16510// DescribeFleetAttributes
16511//
16512// DescribeFleetCapacity
16513//
16514// DescribeFleetPortSettings
16515//
16516// DescribeFleetUtilization
16517//
16518// DescribeRuntimeConfiguration
16519//
16520// DescribeEC2InstanceLimits
16521//
16522// DescribeFleetEvents
16523//
16524//    * Update fleets:
16525//
16526// UpdateFleetAttributes
16527//
16528// UpdateFleetCapacity
16529//
16530// UpdateFleetPortSettings
16531//
16532// UpdateRuntimeConfiguration
16533//
16534//    * Manage fleet actions:
16535//
16536// StartFleetActions
16537//
16538// StopFleetActions
16539type RuntimeConfiguration struct {
16540	_ struct{} `type:"structure"`
16541
16542	// Maximum amount of time (in seconds) that a game session can remain in status
16543	// ACTIVATING. If the game session is not active before the timeout, activation
16544	// is terminated and the game session status is changed to TERMINATED.
16545	GameSessionActivationTimeoutSeconds *int64 `min:"1" type:"integer"`
16546
16547	// Maximum number of game sessions with status ACTIVATING to allow on an instance
16548	// simultaneously. This setting limits the amount of instance resources that
16549	// can be used for new game activations at any one time.
16550	MaxConcurrentGameSessionActivations *int64 `min:"1" type:"integer"`
16551
16552	// Collection of server process configurations that describe which server processes
16553	// to run on each instance in a fleet.
16554	ServerProcesses []*ServerProcess `min:"1" type:"list"`
16555}
16556
16557// String returns the string representation
16558func (s RuntimeConfiguration) String() string {
16559	return awsutil.Prettify(s)
16560}
16561
16562// GoString returns the string representation
16563func (s RuntimeConfiguration) GoString() string {
16564	return s.String()
16565}
16566
16567// Validate inspects the fields of the type to determine if they are valid.
16568func (s *RuntimeConfiguration) Validate() error {
16569	invalidParams := request.ErrInvalidParams{Context: "RuntimeConfiguration"}
16570	if s.GameSessionActivationTimeoutSeconds != nil && *s.GameSessionActivationTimeoutSeconds < 1 {
16571		invalidParams.Add(request.NewErrParamMinValue("GameSessionActivationTimeoutSeconds", 1))
16572	}
16573	if s.MaxConcurrentGameSessionActivations != nil && *s.MaxConcurrentGameSessionActivations < 1 {
16574		invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentGameSessionActivations", 1))
16575	}
16576	if s.ServerProcesses != nil && len(s.ServerProcesses) < 1 {
16577		invalidParams.Add(request.NewErrParamMinLen("ServerProcesses", 1))
16578	}
16579	if s.ServerProcesses != nil {
16580		for i, v := range s.ServerProcesses {
16581			if v == nil {
16582				continue
16583			}
16584			if err := v.Validate(); err != nil {
16585				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerProcesses", i), err.(request.ErrInvalidParams))
16586			}
16587		}
16588	}
16589
16590	if invalidParams.Len() > 0 {
16591		return invalidParams
16592	}
16593	return nil
16594}
16595
16596// SetGameSessionActivationTimeoutSeconds sets the GameSessionActivationTimeoutSeconds field's value.
16597func (s *RuntimeConfiguration) SetGameSessionActivationTimeoutSeconds(v int64) *RuntimeConfiguration {
16598	s.GameSessionActivationTimeoutSeconds = &v
16599	return s
16600}
16601
16602// SetMaxConcurrentGameSessionActivations sets the MaxConcurrentGameSessionActivations field's value.
16603func (s *RuntimeConfiguration) SetMaxConcurrentGameSessionActivations(v int64) *RuntimeConfiguration {
16604	s.MaxConcurrentGameSessionActivations = &v
16605	return s
16606}
16607
16608// SetServerProcesses sets the ServerProcesses field's value.
16609func (s *RuntimeConfiguration) SetServerProcesses(v []*ServerProcess) *RuntimeConfiguration {
16610	s.ServerProcesses = v
16611	return s
16612}
16613
16614// Location in Amazon Simple Storage Service (Amazon S3) where build files can
16615// be stored for access by Amazon GameLift. This location is specified in a
16616// CreateBuild request. For more details, see the Create a Build with Files
16617// in Amazon S3 (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build).
16618type S3Location struct {
16619	_ struct{} `type:"structure"`
16620
16621	// Amazon S3 bucket identifier. This is the name of your S3 bucket.
16622	Bucket *string `min:"1" type:"string"`
16623
16624	// Name of the zip file containing your build files.
16625	Key *string `min:"1" type:"string"`
16626
16627	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
16628	// for the access role that allows Amazon GameLift to access your S3 bucket.
16629	RoleArn *string `min:"1" type:"string"`
16630}
16631
16632// String returns the string representation
16633func (s S3Location) String() string {
16634	return awsutil.Prettify(s)
16635}
16636
16637// GoString returns the string representation
16638func (s S3Location) GoString() string {
16639	return s.String()
16640}
16641
16642// Validate inspects the fields of the type to determine if they are valid.
16643func (s *S3Location) Validate() error {
16644	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
16645	if s.Bucket != nil && len(*s.Bucket) < 1 {
16646		invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16647	}
16648	if s.Key != nil && len(*s.Key) < 1 {
16649		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16650	}
16651	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
16652		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
16653	}
16654
16655	if invalidParams.Len() > 0 {
16656		return invalidParams
16657	}
16658	return nil
16659}
16660
16661// SetBucket sets the Bucket field's value.
16662func (s *S3Location) SetBucket(v string) *S3Location {
16663	s.Bucket = &v
16664	return s
16665}
16666
16667// SetKey sets the Key field's value.
16668func (s *S3Location) SetKey(v string) *S3Location {
16669	s.Key = &v
16670	return s
16671}
16672
16673// SetRoleArn sets the RoleArn field's value.
16674func (s *S3Location) SetRoleArn(v string) *S3Location {
16675	s.RoleArn = &v
16676	return s
16677}
16678
16679// Rule that controls how a fleet is scaled. Scaling policies are uniquely identified
16680// by the combination of name and fleet ID.
16681//
16682// Operations related to fleet capacity scaling include:
16683//
16684//    * DescribeFleetCapacity
16685//
16686//    * UpdateFleetCapacity
16687//
16688//    * DescribeEC2InstanceLimits
16689//
16690//    * Manage scaling policies:
16691//
16692// PutScalingPolicy (auto-scaling)
16693//
16694// DescribeScalingPolicies (auto-scaling)
16695//
16696// DeleteScalingPolicy (auto-scaling)
16697//
16698//    * Manage fleet actions:
16699//
16700// StartFleetActions
16701//
16702// StopFleetActions
16703type ScalingPolicy struct {
16704	_ struct{} `type:"structure"`
16705
16706	// Comparison operator to use when measuring a metric against the threshold
16707	// value.
16708	ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"`
16709
16710	// Length of time (in minutes) the metric must be at or beyond the threshold
16711	// before a scaling event is triggered.
16712	EvaluationPeriods *int64 `min:"1" type:"integer"`
16713
16714	// Unique identifier for a fleet that is associated with this scaling policy.
16715	FleetId *string `type:"string"`
16716
16717	// Name of the Amazon GameLift-defined metric that is used to trigger a scaling
16718	// adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon
16719	// GameLift with Amazon CloudWatch (http://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).
16720	//
16721	//    * ActivatingGameSessions -- Game sessions in the process of being created.
16722	//
16723	//    * ActiveGameSessions -- Game sessions that are currently running.
16724	//
16725	//    * ActiveInstances -- Fleet instances that are currently running at least
16726	//    one game session.
16727	//
16728	//    * AvailableGameSessions -- Additional game sessions that fleet could host
16729	//    simultaneously, given current capacity.
16730	//
16731	//    * AvailablePlayerSessions -- Empty player slots in currently active game
16732	//    sessions. This includes game sessions that are not currently accepting
16733	//    players. Reserved player slots are not included.
16734	//
16735	//    * CurrentPlayerSessions -- Player slots in active game sessions that are
16736	//    being used by a player or are reserved for a player.
16737	//
16738	//    * IdleInstances -- Active instances that are currently hosting zero game
16739	//    sessions.
16740	//
16741	//    * PercentAvailableGameSessions -- Unused percentage of the total number
16742	//    of game sessions that a fleet could host simultaneously, given current
16743	//    capacity. Use this metric for a target-based scaling policy.
16744	//
16745	//    * PercentIdleInstances -- Percentage of the total number of active instances
16746	//    that are hosting zero game sessions.
16747	//
16748	//    * QueueDepth -- Pending game session placement requests, in any queue,
16749	//    where the current fleet is the top-priority destination.
16750	//
16751	//    * WaitTime -- Current wait time for pending game session placement requests,
16752	//    in any queue, where the current fleet is the top-priority destination.
16753	MetricName *string `type:"string" enum:"MetricName"`
16754
16755	// Descriptive label that is associated with a scaling policy. Policy names
16756	// do not need to be unique.
16757	Name *string `min:"1" type:"string"`
16758
16759	// Type of scaling policy to create. For a target-based policy, set the parameter
16760	// MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration.
16761	// For a rule-based policy set the following parameters: MetricName, ComparisonOperator,
16762	// Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
16763	PolicyType *string `type:"string" enum:"PolicyType"`
16764
16765	// Amount of adjustment to make, based on the scaling adjustment type.
16766	ScalingAdjustment *int64 `type:"integer"`
16767
16768	// Type of adjustment to make to a fleet's instance count (see FleetCapacity):
16769	//
16770	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
16771	//    the current instance count. Positive values scale up while negative values
16772	//    scale down.
16773	//
16774	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
16775	//
16776	//    * PercentChangeInCapacity -- increase or reduce the current instance count
16777	//    by the scaling adjustment, read as a percentage. Positive values scale
16778	//    up while negative values scale down.
16779	ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"`
16780
16781	// Current status of the scaling policy. The scaling policy can be in force
16782	// only when in an ACTIVE status. Scaling policies can be suspended for individual
16783	// fleets (see StopFleetActions; if suspended for a fleet, the policy status
16784	// does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.
16785	//
16786	//    * ACTIVE -- The scaling policy can be used for auto-scaling a fleet.
16787	//
16788	//    * UPDATE_REQUESTED -- A request to update the scaling policy has been
16789	//    received.
16790	//
16791	//    * UPDATING -- A change is being made to the scaling policy.
16792	//
16793	//    * DELETE_REQUESTED -- A request to delete the scaling policy has been
16794	//    received.
16795	//
16796	//    * DELETING -- The scaling policy is being deleted.
16797	//
16798	//    * DELETED -- The scaling policy has been deleted.
16799	//
16800	//    * ERROR -- An error occurred in creating the policy. It should be removed
16801	//    and recreated.
16802	Status *string `type:"string" enum:"ScalingStatusType"`
16803
16804	// Object that contains settings for a target-based scaling policy.
16805	TargetConfiguration *TargetConfiguration `type:"structure"`
16806
16807	// Metric value used to trigger a scaling event.
16808	Threshold *float64 `type:"double"`
16809}
16810
16811// String returns the string representation
16812func (s ScalingPolicy) String() string {
16813	return awsutil.Prettify(s)
16814}
16815
16816// GoString returns the string representation
16817func (s ScalingPolicy) GoString() string {
16818	return s.String()
16819}
16820
16821// SetComparisonOperator sets the ComparisonOperator field's value.
16822func (s *ScalingPolicy) SetComparisonOperator(v string) *ScalingPolicy {
16823	s.ComparisonOperator = &v
16824	return s
16825}
16826
16827// SetEvaluationPeriods sets the EvaluationPeriods field's value.
16828func (s *ScalingPolicy) SetEvaluationPeriods(v int64) *ScalingPolicy {
16829	s.EvaluationPeriods = &v
16830	return s
16831}
16832
16833// SetFleetId sets the FleetId field's value.
16834func (s *ScalingPolicy) SetFleetId(v string) *ScalingPolicy {
16835	s.FleetId = &v
16836	return s
16837}
16838
16839// SetMetricName sets the MetricName field's value.
16840func (s *ScalingPolicy) SetMetricName(v string) *ScalingPolicy {
16841	s.MetricName = &v
16842	return s
16843}
16844
16845// SetName sets the Name field's value.
16846func (s *ScalingPolicy) SetName(v string) *ScalingPolicy {
16847	s.Name = &v
16848	return s
16849}
16850
16851// SetPolicyType sets the PolicyType field's value.
16852func (s *ScalingPolicy) SetPolicyType(v string) *ScalingPolicy {
16853	s.PolicyType = &v
16854	return s
16855}
16856
16857// SetScalingAdjustment sets the ScalingAdjustment field's value.
16858func (s *ScalingPolicy) SetScalingAdjustment(v int64) *ScalingPolicy {
16859	s.ScalingAdjustment = &v
16860	return s
16861}
16862
16863// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
16864func (s *ScalingPolicy) SetScalingAdjustmentType(v string) *ScalingPolicy {
16865	s.ScalingAdjustmentType = &v
16866	return s
16867}
16868
16869// SetStatus sets the Status field's value.
16870func (s *ScalingPolicy) SetStatus(v string) *ScalingPolicy {
16871	s.Status = &v
16872	return s
16873}
16874
16875// SetTargetConfiguration sets the TargetConfiguration field's value.
16876func (s *ScalingPolicy) SetTargetConfiguration(v *TargetConfiguration) *ScalingPolicy {
16877	s.TargetConfiguration = v
16878	return s
16879}
16880
16881// SetThreshold sets the Threshold field's value.
16882func (s *ScalingPolicy) SetThreshold(v float64) *ScalingPolicy {
16883	s.Threshold = &v
16884	return s
16885}
16886
16887// Represents the input for a request action.
16888type SearchGameSessionsInput struct {
16889	_ struct{} `type:"structure"`
16890
16891	// Unique identifier for an alias associated with the fleet to search for active
16892	// game sessions. Each request must reference either a fleet ID or alias ID,
16893	// but not both.
16894	AliasId *string `type:"string"`
16895
16896	// String containing the search criteria for the session search. If no filter
16897	// expression is included, the request returns results for all game sessions
16898	// in the fleet that are in ACTIVE status.
16899	//
16900	// A filter expression can contain one or multiple conditions. Each condition
16901	// consists of the following:
16902	//
16903	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
16904	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
16905	//    playerSessionCount, hasAvailablePlayerSessions.
16906	//
16907	//    * Comparator -- Valid comparators are: =, <>, <, >, <=, >=.
16908	//
16909	//    * Value -- Value to be searched for. Values may be numbers, boolean values
16910	//    (true/false) or strings depending on the operand. String values are case
16911	//    sensitive and must be enclosed in single quotes. Special characters must
16912	//    be escaped. Boolean and string values can only be used with the comparators
16913	//    = and <>. For example, the following filter expression searches on gameSessionName:
16914	//    "FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'".
16915	//
16916	// To chain multiple conditions in a single expression, use the logical keywords
16917	// AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT
16918	// z, NOT (x OR y).
16919	//
16920	// Session search evaluates conditions from left to right using the following
16921	// precedence rules:
16922	//
16923	// =, <>, <, >, <=, >=
16924	//
16925	// Parentheses
16926	//
16927	// NOT
16928	//
16929	// AND
16930	//
16931	// OR
16932	//
16933	// For example, this filter expression retrieves game sessions hosting at least
16934	// ten players that have an open player slot: "maximumSessions>=10 AND hasAvailablePlayerSessions=true".
16935	FilterExpression *string `min:"1" type:"string"`
16936
16937	// Unique identifier for a fleet to search for active game sessions. Each request
16938	// must reference either a fleet ID or alias ID, but not both.
16939	FleetId *string `type:"string"`
16940
16941	// Maximum number of results to return. Use this parameter with NextToken to
16942	// get results as a set of sequential pages. The maximum number of results returned
16943	// is 20, even if this value is not set or is set higher than 20.
16944	Limit *int64 `min:"1" type:"integer"`
16945
16946	// Token that indicates the start of the next sequential page of results. Use
16947	// the token that is returned with a previous call to this action. To start
16948	// at the beginning of the result set, do not specify a value.
16949	NextToken *string `min:"1" type:"string"`
16950
16951	// Instructions on how to sort the search results. If no sort expression is
16952	// included, the request returns results in random order. A sort expression
16953	// consists of the following elements:
16954	//
16955	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
16956	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
16957	//    playerSessionCount, hasAvailablePlayerSessions.
16958	//
16959	//    * Order -- Valid sort orders are ASC (ascending) and DESC (descending).
16960	//
16961	// For example, this sort expression returns the oldest active sessions first:
16962	// "SortExpression": "creationTimeMillis ASC". Results with a null value for
16963	// the sort operand are returned at the end of the list.
16964	SortExpression *string `min:"1" type:"string"`
16965}
16966
16967// String returns the string representation
16968func (s SearchGameSessionsInput) String() string {
16969	return awsutil.Prettify(s)
16970}
16971
16972// GoString returns the string representation
16973func (s SearchGameSessionsInput) GoString() string {
16974	return s.String()
16975}
16976
16977// Validate inspects the fields of the type to determine if they are valid.
16978func (s *SearchGameSessionsInput) Validate() error {
16979	invalidParams := request.ErrInvalidParams{Context: "SearchGameSessionsInput"}
16980	if s.FilterExpression != nil && len(*s.FilterExpression) < 1 {
16981		invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1))
16982	}
16983	if s.Limit != nil && *s.Limit < 1 {
16984		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
16985	}
16986	if s.NextToken != nil && len(*s.NextToken) < 1 {
16987		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16988	}
16989	if s.SortExpression != nil && len(*s.SortExpression) < 1 {
16990		invalidParams.Add(request.NewErrParamMinLen("SortExpression", 1))
16991	}
16992
16993	if invalidParams.Len() > 0 {
16994		return invalidParams
16995	}
16996	return nil
16997}
16998
16999// SetAliasId sets the AliasId field's value.
17000func (s *SearchGameSessionsInput) SetAliasId(v string) *SearchGameSessionsInput {
17001	s.AliasId = &v
17002	return s
17003}
17004
17005// SetFilterExpression sets the FilterExpression field's value.
17006func (s *SearchGameSessionsInput) SetFilterExpression(v string) *SearchGameSessionsInput {
17007	s.FilterExpression = &v
17008	return s
17009}
17010
17011// SetFleetId sets the FleetId field's value.
17012func (s *SearchGameSessionsInput) SetFleetId(v string) *SearchGameSessionsInput {
17013	s.FleetId = &v
17014	return s
17015}
17016
17017// SetLimit sets the Limit field's value.
17018func (s *SearchGameSessionsInput) SetLimit(v int64) *SearchGameSessionsInput {
17019	s.Limit = &v
17020	return s
17021}
17022
17023// SetNextToken sets the NextToken field's value.
17024func (s *SearchGameSessionsInput) SetNextToken(v string) *SearchGameSessionsInput {
17025	s.NextToken = &v
17026	return s
17027}
17028
17029// SetSortExpression sets the SortExpression field's value.
17030func (s *SearchGameSessionsInput) SetSortExpression(v string) *SearchGameSessionsInput {
17031	s.SortExpression = &v
17032	return s
17033}
17034
17035// Represents the returned data in response to a request action.
17036type SearchGameSessionsOutput struct {
17037	_ struct{} `type:"structure"`
17038
17039	// Collection of objects containing game session properties for each session
17040	// matching the request.
17041	GameSessions []*GameSession `type:"list"`
17042
17043	// Token that indicates where to resume retrieving results on the next call
17044	// to this action. If no token is returned, these results represent the end
17045	// of the list.
17046	NextToken *string `min:"1" type:"string"`
17047}
17048
17049// String returns the string representation
17050func (s SearchGameSessionsOutput) String() string {
17051	return awsutil.Prettify(s)
17052}
17053
17054// GoString returns the string representation
17055func (s SearchGameSessionsOutput) GoString() string {
17056	return s.String()
17057}
17058
17059// SetGameSessions sets the GameSessions field's value.
17060func (s *SearchGameSessionsOutput) SetGameSessions(v []*GameSession) *SearchGameSessionsOutput {
17061	s.GameSessions = v
17062	return s
17063}
17064
17065// SetNextToken sets the NextToken field's value.
17066func (s *SearchGameSessionsOutput) SetNextToken(v string) *SearchGameSessionsOutput {
17067	s.NextToken = &v
17068	return s
17069}
17070
17071// A set of instructions for launching server processes on each instance in
17072// a fleet. Each instruction set identifies the location of the server executable,
17073// optional launch parameters, and the number of server processes with this
17074// configuration to maintain concurrently on the instance. Server process configurations
17075// make up a fleet's RuntimeConfiguration.
17076type ServerProcess struct {
17077	_ struct{} `type:"structure"`
17078
17079	// Number of server processes using this configuration to run concurrently on
17080	// an instance.
17081	//
17082	// ConcurrentExecutions is a required field
17083	ConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"`
17084
17085	// Location of the server executable in a game build. All game builds are installed
17086	// on instances at the root : for Windows instances C:\game, and for Linux instances
17087	// /local/game. A Windows game build with an executable file located at MyGame\latest\server.exe
17088	// must have a launch path of "C:\game\MyGame\latest\server.exe". A Linux game
17089	// build with an executable file located at MyGame/latest/server.exe must have
17090	// a launch path of "/local/game/MyGame/latest/server.exe".
17091	//
17092	// LaunchPath is a required field
17093	LaunchPath *string `min:"1" type:"string" required:"true"`
17094
17095	// Optional list of parameters to pass to the server executable on launch.
17096	Parameters *string `min:"1" type:"string"`
17097}
17098
17099// String returns the string representation
17100func (s ServerProcess) String() string {
17101	return awsutil.Prettify(s)
17102}
17103
17104// GoString returns the string representation
17105func (s ServerProcess) GoString() string {
17106	return s.String()
17107}
17108
17109// Validate inspects the fields of the type to determine if they are valid.
17110func (s *ServerProcess) Validate() error {
17111	invalidParams := request.ErrInvalidParams{Context: "ServerProcess"}
17112	if s.ConcurrentExecutions == nil {
17113		invalidParams.Add(request.NewErrParamRequired("ConcurrentExecutions"))
17114	}
17115	if s.ConcurrentExecutions != nil && *s.ConcurrentExecutions < 1 {
17116		invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutions", 1))
17117	}
17118	if s.LaunchPath == nil {
17119		invalidParams.Add(request.NewErrParamRequired("LaunchPath"))
17120	}
17121	if s.LaunchPath != nil && len(*s.LaunchPath) < 1 {
17122		invalidParams.Add(request.NewErrParamMinLen("LaunchPath", 1))
17123	}
17124	if s.Parameters != nil && len(*s.Parameters) < 1 {
17125		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
17126	}
17127
17128	if invalidParams.Len() > 0 {
17129		return invalidParams
17130	}
17131	return nil
17132}
17133
17134// SetConcurrentExecutions sets the ConcurrentExecutions field's value.
17135func (s *ServerProcess) SetConcurrentExecutions(v int64) *ServerProcess {
17136	s.ConcurrentExecutions = &v
17137	return s
17138}
17139
17140// SetLaunchPath sets the LaunchPath field's value.
17141func (s *ServerProcess) SetLaunchPath(v string) *ServerProcess {
17142	s.LaunchPath = &v
17143	return s
17144}
17145
17146// SetParameters sets the Parameters field's value.
17147func (s *ServerProcess) SetParameters(v string) *ServerProcess {
17148	s.Parameters = &v
17149	return s
17150}
17151
17152type StartFleetActionsInput struct {
17153	_ struct{} `type:"structure"`
17154
17155	// List of actions to restart on the fleet.
17156	//
17157	// Actions is a required field
17158	Actions []*string `min:"1" type:"list" required:"true"`
17159
17160	// Unique identifier for a fleet
17161	//
17162	// FleetId is a required field
17163	FleetId *string `type:"string" required:"true"`
17164}
17165
17166// String returns the string representation
17167func (s StartFleetActionsInput) String() string {
17168	return awsutil.Prettify(s)
17169}
17170
17171// GoString returns the string representation
17172func (s StartFleetActionsInput) GoString() string {
17173	return s.String()
17174}
17175
17176// Validate inspects the fields of the type to determine if they are valid.
17177func (s *StartFleetActionsInput) Validate() error {
17178	invalidParams := request.ErrInvalidParams{Context: "StartFleetActionsInput"}
17179	if s.Actions == nil {
17180		invalidParams.Add(request.NewErrParamRequired("Actions"))
17181	}
17182	if s.Actions != nil && len(s.Actions) < 1 {
17183		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
17184	}
17185	if s.FleetId == nil {
17186		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17187	}
17188
17189	if invalidParams.Len() > 0 {
17190		return invalidParams
17191	}
17192	return nil
17193}
17194
17195// SetActions sets the Actions field's value.
17196func (s *StartFleetActionsInput) SetActions(v []*string) *StartFleetActionsInput {
17197	s.Actions = v
17198	return s
17199}
17200
17201// SetFleetId sets the FleetId field's value.
17202func (s *StartFleetActionsInput) SetFleetId(v string) *StartFleetActionsInput {
17203	s.FleetId = &v
17204	return s
17205}
17206
17207type StartFleetActionsOutput struct {
17208	_ struct{} `type:"structure"`
17209}
17210
17211// String returns the string representation
17212func (s StartFleetActionsOutput) String() string {
17213	return awsutil.Prettify(s)
17214}
17215
17216// GoString returns the string representation
17217func (s StartFleetActionsOutput) GoString() string {
17218	return s.String()
17219}
17220
17221// Represents the input for a request action.
17222type StartGameSessionPlacementInput struct {
17223	_ struct{} `type:"structure"`
17224
17225	// Set of information on each player to create a player session for.
17226	DesiredPlayerSessions []*DesiredPlayerSession `type:"list"`
17227
17228	// Set of custom properties for a game session, formatted as key:value pairs.
17229	// These properties are passed to a game server process in the GameSession object
17230	// with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
17231	GameProperties []*GameProperty `type:"list"`
17232
17233	// Set of custom game session properties, formatted as a single string value.
17234	// This data is passed to a game server process in the GameSession object with
17235	// a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
17236	GameSessionData *string `min:"1" type:"string"`
17237
17238	// Descriptive label that is associated with a game session. Session names do
17239	// not need to be unique.
17240	GameSessionName *string `min:"1" type:"string"`
17241
17242	// Name of the queue to use to place the new game session.
17243	//
17244	// GameSessionQueueName is a required field
17245	GameSessionQueueName *string `min:"1" type:"string" required:"true"`
17246
17247	// Maximum number of players that can be connected simultaneously to the game
17248	// session.
17249	//
17250	// MaximumPlayerSessionCount is a required field
17251	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
17252
17253	// Unique identifier to assign to the new game session placement. This value
17254	// is developer-defined. The value must be unique across all regions and cannot
17255	// be reused unless you are resubmitting a canceled or timed-out placement request.
17256	//
17257	// PlacementId is a required field
17258	PlacementId *string `min:"1" type:"string" required:"true"`
17259
17260	// Set of values, expressed in milliseconds, indicating the amount of latency
17261	// that a player experiences when connected to AWS regions. This information
17262	// is used to try to place the new game session where it can offer the best
17263	// possible gameplay experience for the players.
17264	PlayerLatencies []*PlayerLatency `type:"list"`
17265}
17266
17267// String returns the string representation
17268func (s StartGameSessionPlacementInput) String() string {
17269	return awsutil.Prettify(s)
17270}
17271
17272// GoString returns the string representation
17273func (s StartGameSessionPlacementInput) GoString() string {
17274	return s.String()
17275}
17276
17277// Validate inspects the fields of the type to determine if they are valid.
17278func (s *StartGameSessionPlacementInput) Validate() error {
17279	invalidParams := request.ErrInvalidParams{Context: "StartGameSessionPlacementInput"}
17280	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
17281		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
17282	}
17283	if s.GameSessionName != nil && len(*s.GameSessionName) < 1 {
17284		invalidParams.Add(request.NewErrParamMinLen("GameSessionName", 1))
17285	}
17286	if s.GameSessionQueueName == nil {
17287		invalidParams.Add(request.NewErrParamRequired("GameSessionQueueName"))
17288	}
17289	if s.GameSessionQueueName != nil && len(*s.GameSessionQueueName) < 1 {
17290		invalidParams.Add(request.NewErrParamMinLen("GameSessionQueueName", 1))
17291	}
17292	if s.MaximumPlayerSessionCount == nil {
17293		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
17294	}
17295	if s.PlacementId == nil {
17296		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
17297	}
17298	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
17299		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
17300	}
17301	if s.DesiredPlayerSessions != nil {
17302		for i, v := range s.DesiredPlayerSessions {
17303			if v == nil {
17304				continue
17305			}
17306			if err := v.Validate(); err != nil {
17307				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DesiredPlayerSessions", i), err.(request.ErrInvalidParams))
17308			}
17309		}
17310	}
17311	if s.GameProperties != nil {
17312		for i, v := range s.GameProperties {
17313			if v == nil {
17314				continue
17315			}
17316			if err := v.Validate(); err != nil {
17317				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
17318			}
17319		}
17320	}
17321	if s.PlayerLatencies != nil {
17322		for i, v := range s.PlayerLatencies {
17323			if v == nil {
17324				continue
17325			}
17326			if err := v.Validate(); err != nil {
17327				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerLatencies", i), err.(request.ErrInvalidParams))
17328			}
17329		}
17330	}
17331
17332	if invalidParams.Len() > 0 {
17333		return invalidParams
17334	}
17335	return nil
17336}
17337
17338// SetDesiredPlayerSessions sets the DesiredPlayerSessions field's value.
17339func (s *StartGameSessionPlacementInput) SetDesiredPlayerSessions(v []*DesiredPlayerSession) *StartGameSessionPlacementInput {
17340	s.DesiredPlayerSessions = v
17341	return s
17342}
17343
17344// SetGameProperties sets the GameProperties field's value.
17345func (s *StartGameSessionPlacementInput) SetGameProperties(v []*GameProperty) *StartGameSessionPlacementInput {
17346	s.GameProperties = v
17347	return s
17348}
17349
17350// SetGameSessionData sets the GameSessionData field's value.
17351func (s *StartGameSessionPlacementInput) SetGameSessionData(v string) *StartGameSessionPlacementInput {
17352	s.GameSessionData = &v
17353	return s
17354}
17355
17356// SetGameSessionName sets the GameSessionName field's value.
17357func (s *StartGameSessionPlacementInput) SetGameSessionName(v string) *StartGameSessionPlacementInput {
17358	s.GameSessionName = &v
17359	return s
17360}
17361
17362// SetGameSessionQueueName sets the GameSessionQueueName field's value.
17363func (s *StartGameSessionPlacementInput) SetGameSessionQueueName(v string) *StartGameSessionPlacementInput {
17364	s.GameSessionQueueName = &v
17365	return s
17366}
17367
17368// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
17369func (s *StartGameSessionPlacementInput) SetMaximumPlayerSessionCount(v int64) *StartGameSessionPlacementInput {
17370	s.MaximumPlayerSessionCount = &v
17371	return s
17372}
17373
17374// SetPlacementId sets the PlacementId field's value.
17375func (s *StartGameSessionPlacementInput) SetPlacementId(v string) *StartGameSessionPlacementInput {
17376	s.PlacementId = &v
17377	return s
17378}
17379
17380// SetPlayerLatencies sets the PlayerLatencies field's value.
17381func (s *StartGameSessionPlacementInput) SetPlayerLatencies(v []*PlayerLatency) *StartGameSessionPlacementInput {
17382	s.PlayerLatencies = v
17383	return s
17384}
17385
17386// Represents the returned data in response to a request action.
17387type StartGameSessionPlacementOutput struct {
17388	_ struct{} `type:"structure"`
17389
17390	// Object that describes the newly created game session placement. This object
17391	// includes all the information provided in the request, as well as start/end
17392	// time stamps and placement status.
17393	GameSessionPlacement *GameSessionPlacement `type:"structure"`
17394}
17395
17396// String returns the string representation
17397func (s StartGameSessionPlacementOutput) String() string {
17398	return awsutil.Prettify(s)
17399}
17400
17401// GoString returns the string representation
17402func (s StartGameSessionPlacementOutput) GoString() string {
17403	return s.String()
17404}
17405
17406// SetGameSessionPlacement sets the GameSessionPlacement field's value.
17407func (s *StartGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StartGameSessionPlacementOutput {
17408	s.GameSessionPlacement = v
17409	return s
17410}
17411
17412// Represents the input for a request action.
17413type StartMatchBackfillInput struct {
17414	_ struct{} `type:"structure"`
17415
17416	// Name of the matchmaker to use for this request. The name of the matchmaker
17417	// that was used with the original game session is listed in the GameSession
17418	// object, MatchmakerData property. This property contains a matchmaking configuration
17419	// ARN value, which includes the matchmaker name. (In the ARN value "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MM-4v4",
17420	// the matchmaking configuration name is "MM-4v4".) Use only the name for this
17421	// parameter.
17422	//
17423	// ConfigurationName is a required field
17424	ConfigurationName *string `min:"1" type:"string" required:"true"`
17425
17426	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
17427	// that is assigned to a game session and uniquely identifies it.
17428	//
17429	// GameSessionArn is a required field
17430	GameSessionArn *string `min:"1" type:"string" required:"true"`
17431
17432	// Match information on all players that are currently assigned to the game
17433	// session. This information is used by the matchmaker to find new players and
17434	// add them to the existing game.
17435	//
17436	//    * PlayerID, PlayerAttributes, Team -\\- This information is maintained
17437	//    in the GameSession object, MatchmakerData property, for all players who
17438	//    are currently assigned to the game session. The matchmaker data is in
17439	//    JSON syntax, formatted as a string. For more details, see  Match Data
17440	//    (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data).
17441	//
17442	//
17443	//    * LatencyInMs -\\- If the matchmaker uses player latency, include a latency
17444	//    value, in milliseconds, for the region that the game session is currently
17445	//    in. Do not include latency values for any other region.
17446	//
17447	// Players is a required field
17448	Players []*Player `type:"list" required:"true"`
17449
17450	// Unique identifier for a matchmaking ticket. If no ticket ID is specified
17451	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
17452	// to track the match backfill ticket status and retrieve match results.
17453	TicketId *string `min:"1" type:"string"`
17454}
17455
17456// String returns the string representation
17457func (s StartMatchBackfillInput) String() string {
17458	return awsutil.Prettify(s)
17459}
17460
17461// GoString returns the string representation
17462func (s StartMatchBackfillInput) GoString() string {
17463	return s.String()
17464}
17465
17466// Validate inspects the fields of the type to determine if they are valid.
17467func (s *StartMatchBackfillInput) Validate() error {
17468	invalidParams := request.ErrInvalidParams{Context: "StartMatchBackfillInput"}
17469	if s.ConfigurationName == nil {
17470		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
17471	}
17472	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
17473		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
17474	}
17475	if s.GameSessionArn == nil {
17476		invalidParams.Add(request.NewErrParamRequired("GameSessionArn"))
17477	}
17478	if s.GameSessionArn != nil && len(*s.GameSessionArn) < 1 {
17479		invalidParams.Add(request.NewErrParamMinLen("GameSessionArn", 1))
17480	}
17481	if s.Players == nil {
17482		invalidParams.Add(request.NewErrParamRequired("Players"))
17483	}
17484	if s.TicketId != nil && len(*s.TicketId) < 1 {
17485		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
17486	}
17487	if s.Players != nil {
17488		for i, v := range s.Players {
17489			if v == nil {
17490				continue
17491			}
17492			if err := v.Validate(); err != nil {
17493				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
17494			}
17495		}
17496	}
17497
17498	if invalidParams.Len() > 0 {
17499		return invalidParams
17500	}
17501	return nil
17502}
17503
17504// SetConfigurationName sets the ConfigurationName field's value.
17505func (s *StartMatchBackfillInput) SetConfigurationName(v string) *StartMatchBackfillInput {
17506	s.ConfigurationName = &v
17507	return s
17508}
17509
17510// SetGameSessionArn sets the GameSessionArn field's value.
17511func (s *StartMatchBackfillInput) SetGameSessionArn(v string) *StartMatchBackfillInput {
17512	s.GameSessionArn = &v
17513	return s
17514}
17515
17516// SetPlayers sets the Players field's value.
17517func (s *StartMatchBackfillInput) SetPlayers(v []*Player) *StartMatchBackfillInput {
17518	s.Players = v
17519	return s
17520}
17521
17522// SetTicketId sets the TicketId field's value.
17523func (s *StartMatchBackfillInput) SetTicketId(v string) *StartMatchBackfillInput {
17524	s.TicketId = &v
17525	return s
17526}
17527
17528// Represents the returned data in response to a request action.
17529type StartMatchBackfillOutput struct {
17530	_ struct{} `type:"structure"`
17531
17532	// Ticket representing the backfill matchmaking request. This object includes
17533	// the information in the request, ticket status, and match results as generated
17534	// during the matchmaking process.
17535	MatchmakingTicket *MatchmakingTicket `type:"structure"`
17536}
17537
17538// String returns the string representation
17539func (s StartMatchBackfillOutput) String() string {
17540	return awsutil.Prettify(s)
17541}
17542
17543// GoString returns the string representation
17544func (s StartMatchBackfillOutput) GoString() string {
17545	return s.String()
17546}
17547
17548// SetMatchmakingTicket sets the MatchmakingTicket field's value.
17549func (s *StartMatchBackfillOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchBackfillOutput {
17550	s.MatchmakingTicket = v
17551	return s
17552}
17553
17554// Represents the input for a request action.
17555type StartMatchmakingInput struct {
17556	_ struct{} `type:"structure"`
17557
17558	// Name of the matchmaking configuration to use for this request. Matchmaking
17559	// configurations must exist in the same region as this request.
17560	//
17561	// ConfigurationName is a required field
17562	ConfigurationName *string `min:"1" type:"string" required:"true"`
17563
17564	// Information on each player to be matched. This information must include a
17565	// player ID, and may contain player attributes and latency data to be used
17566	// in the matchmaking process. After a successful match, Player objects contain
17567	// the name of the team the player is assigned to.
17568	//
17569	// Players is a required field
17570	Players []*Player `type:"list" required:"true"`
17571
17572	// Unique identifier for a matchmaking ticket. If no ticket ID is specified
17573	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
17574	// to track the matchmaking ticket status and retrieve match results.
17575	TicketId *string `min:"1" type:"string"`
17576}
17577
17578// String returns the string representation
17579func (s StartMatchmakingInput) String() string {
17580	return awsutil.Prettify(s)
17581}
17582
17583// GoString returns the string representation
17584func (s StartMatchmakingInput) GoString() string {
17585	return s.String()
17586}
17587
17588// Validate inspects the fields of the type to determine if they are valid.
17589func (s *StartMatchmakingInput) Validate() error {
17590	invalidParams := request.ErrInvalidParams{Context: "StartMatchmakingInput"}
17591	if s.ConfigurationName == nil {
17592		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
17593	}
17594	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
17595		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
17596	}
17597	if s.Players == nil {
17598		invalidParams.Add(request.NewErrParamRequired("Players"))
17599	}
17600	if s.TicketId != nil && len(*s.TicketId) < 1 {
17601		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
17602	}
17603	if s.Players != nil {
17604		for i, v := range s.Players {
17605			if v == nil {
17606				continue
17607			}
17608			if err := v.Validate(); err != nil {
17609				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
17610			}
17611		}
17612	}
17613
17614	if invalidParams.Len() > 0 {
17615		return invalidParams
17616	}
17617	return nil
17618}
17619
17620// SetConfigurationName sets the ConfigurationName field's value.
17621func (s *StartMatchmakingInput) SetConfigurationName(v string) *StartMatchmakingInput {
17622	s.ConfigurationName = &v
17623	return s
17624}
17625
17626// SetPlayers sets the Players field's value.
17627func (s *StartMatchmakingInput) SetPlayers(v []*Player) *StartMatchmakingInput {
17628	s.Players = v
17629	return s
17630}
17631
17632// SetTicketId sets the TicketId field's value.
17633func (s *StartMatchmakingInput) SetTicketId(v string) *StartMatchmakingInput {
17634	s.TicketId = &v
17635	return s
17636}
17637
17638// Represents the returned data in response to a request action.
17639type StartMatchmakingOutput struct {
17640	_ struct{} `type:"structure"`
17641
17642	// Ticket representing the matchmaking request. This object include the information
17643	// included in the request, ticket status, and match results as generated during
17644	// the matchmaking process.
17645	MatchmakingTicket *MatchmakingTicket `type:"structure"`
17646}
17647
17648// String returns the string representation
17649func (s StartMatchmakingOutput) String() string {
17650	return awsutil.Prettify(s)
17651}
17652
17653// GoString returns the string representation
17654func (s StartMatchmakingOutput) GoString() string {
17655	return s.String()
17656}
17657
17658// SetMatchmakingTicket sets the MatchmakingTicket field's value.
17659func (s *StartMatchmakingOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchmakingOutput {
17660	s.MatchmakingTicket = v
17661	return s
17662}
17663
17664type StopFleetActionsInput struct {
17665	_ struct{} `type:"structure"`
17666
17667	// List of actions to suspend on the fleet.
17668	//
17669	// Actions is a required field
17670	Actions []*string `min:"1" type:"list" required:"true"`
17671
17672	// Unique identifier for a fleet
17673	//
17674	// FleetId is a required field
17675	FleetId *string `type:"string" required:"true"`
17676}
17677
17678// String returns the string representation
17679func (s StopFleetActionsInput) String() string {
17680	return awsutil.Prettify(s)
17681}
17682
17683// GoString returns the string representation
17684func (s StopFleetActionsInput) GoString() string {
17685	return s.String()
17686}
17687
17688// Validate inspects the fields of the type to determine if they are valid.
17689func (s *StopFleetActionsInput) Validate() error {
17690	invalidParams := request.ErrInvalidParams{Context: "StopFleetActionsInput"}
17691	if s.Actions == nil {
17692		invalidParams.Add(request.NewErrParamRequired("Actions"))
17693	}
17694	if s.Actions != nil && len(s.Actions) < 1 {
17695		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
17696	}
17697	if s.FleetId == nil {
17698		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17699	}
17700
17701	if invalidParams.Len() > 0 {
17702		return invalidParams
17703	}
17704	return nil
17705}
17706
17707// SetActions sets the Actions field's value.
17708func (s *StopFleetActionsInput) SetActions(v []*string) *StopFleetActionsInput {
17709	s.Actions = v
17710	return s
17711}
17712
17713// SetFleetId sets the FleetId field's value.
17714func (s *StopFleetActionsInput) SetFleetId(v string) *StopFleetActionsInput {
17715	s.FleetId = &v
17716	return s
17717}
17718
17719type StopFleetActionsOutput struct {
17720	_ struct{} `type:"structure"`
17721}
17722
17723// String returns the string representation
17724func (s StopFleetActionsOutput) String() string {
17725	return awsutil.Prettify(s)
17726}
17727
17728// GoString returns the string representation
17729func (s StopFleetActionsOutput) GoString() string {
17730	return s.String()
17731}
17732
17733// Represents the input for a request action.
17734type StopGameSessionPlacementInput struct {
17735	_ struct{} `type:"structure"`
17736
17737	// Unique identifier for a game session placement to cancel.
17738	//
17739	// PlacementId is a required field
17740	PlacementId *string `min:"1" type:"string" required:"true"`
17741}
17742
17743// String returns the string representation
17744func (s StopGameSessionPlacementInput) String() string {
17745	return awsutil.Prettify(s)
17746}
17747
17748// GoString returns the string representation
17749func (s StopGameSessionPlacementInput) GoString() string {
17750	return s.String()
17751}
17752
17753// Validate inspects the fields of the type to determine if they are valid.
17754func (s *StopGameSessionPlacementInput) Validate() error {
17755	invalidParams := request.ErrInvalidParams{Context: "StopGameSessionPlacementInput"}
17756	if s.PlacementId == nil {
17757		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
17758	}
17759	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
17760		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
17761	}
17762
17763	if invalidParams.Len() > 0 {
17764		return invalidParams
17765	}
17766	return nil
17767}
17768
17769// SetPlacementId sets the PlacementId field's value.
17770func (s *StopGameSessionPlacementInput) SetPlacementId(v string) *StopGameSessionPlacementInput {
17771	s.PlacementId = &v
17772	return s
17773}
17774
17775// Represents the returned data in response to a request action.
17776type StopGameSessionPlacementOutput struct {
17777	_ struct{} `type:"structure"`
17778
17779	// Object that describes the canceled game session placement, with CANCELLED
17780	// status and an end time stamp.
17781	GameSessionPlacement *GameSessionPlacement `type:"structure"`
17782}
17783
17784// String returns the string representation
17785func (s StopGameSessionPlacementOutput) String() string {
17786	return awsutil.Prettify(s)
17787}
17788
17789// GoString returns the string representation
17790func (s StopGameSessionPlacementOutput) GoString() string {
17791	return s.String()
17792}
17793
17794// SetGameSessionPlacement sets the GameSessionPlacement field's value.
17795func (s *StopGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StopGameSessionPlacementOutput {
17796	s.GameSessionPlacement = v
17797	return s
17798}
17799
17800// Represents the input for a request action.
17801type StopMatchmakingInput struct {
17802	_ struct{} `type:"structure"`
17803
17804	// Unique identifier for a matchmaking ticket.
17805	//
17806	// TicketId is a required field
17807	TicketId *string `min:"1" type:"string" required:"true"`
17808}
17809
17810// String returns the string representation
17811func (s StopMatchmakingInput) String() string {
17812	return awsutil.Prettify(s)
17813}
17814
17815// GoString returns the string representation
17816func (s StopMatchmakingInput) GoString() string {
17817	return s.String()
17818}
17819
17820// Validate inspects the fields of the type to determine if they are valid.
17821func (s *StopMatchmakingInput) Validate() error {
17822	invalidParams := request.ErrInvalidParams{Context: "StopMatchmakingInput"}
17823	if s.TicketId == nil {
17824		invalidParams.Add(request.NewErrParamRequired("TicketId"))
17825	}
17826	if s.TicketId != nil && len(*s.TicketId) < 1 {
17827		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
17828	}
17829
17830	if invalidParams.Len() > 0 {
17831		return invalidParams
17832	}
17833	return nil
17834}
17835
17836// SetTicketId sets the TicketId field's value.
17837func (s *StopMatchmakingInput) SetTicketId(v string) *StopMatchmakingInput {
17838	s.TicketId = &v
17839	return s
17840}
17841
17842type StopMatchmakingOutput struct {
17843	_ struct{} `type:"structure"`
17844}
17845
17846// String returns the string representation
17847func (s StopMatchmakingOutput) String() string {
17848	return awsutil.Prettify(s)
17849}
17850
17851// GoString returns the string representation
17852func (s StopMatchmakingOutput) GoString() string {
17853	return s.String()
17854}
17855
17856// Settings for a target-based scaling policy (see ScalingPolicy. A target-based
17857// policy tracks a particular fleet metric specifies a target value for the
17858// metric. As player usage changes, the policy triggers Amazon GameLift to adjust
17859// capacity so that the metric returns to the target value. The target configuration
17860// specifies settings as needed for the target based policy, including the target
17861// value.
17862//
17863// Operations related to fleet capacity scaling include:
17864//
17865//    * DescribeFleetCapacity
17866//
17867//    * UpdateFleetCapacity
17868//
17869//    * DescribeEC2InstanceLimits
17870//
17871//    * Manage scaling policies:
17872//
17873// PutScalingPolicy (auto-scaling)
17874//
17875// DescribeScalingPolicies (auto-scaling)
17876//
17877// DeleteScalingPolicy (auto-scaling)
17878//
17879//    * Manage fleet actions:
17880//
17881// StartFleetActions
17882//
17883// StopFleetActions
17884type TargetConfiguration struct {
17885	_ struct{} `type:"structure"`
17886
17887	// Desired value to use with a target-based scaling policy. The value must be
17888	// relevant for whatever metric the scaling policy is using. For example, in
17889	// a policy using the metric PercentAvailableGameSessions, the target value
17890	// should be the preferred size of the fleet's buffer (the percent of capacity
17891	// that should be idle and ready for new game sessions).
17892	//
17893	// TargetValue is a required field
17894	TargetValue *float64 `type:"double" required:"true"`
17895}
17896
17897// String returns the string representation
17898func (s TargetConfiguration) String() string {
17899	return awsutil.Prettify(s)
17900}
17901
17902// GoString returns the string representation
17903func (s TargetConfiguration) GoString() string {
17904	return s.String()
17905}
17906
17907// Validate inspects the fields of the type to determine if they are valid.
17908func (s *TargetConfiguration) Validate() error {
17909	invalidParams := request.ErrInvalidParams{Context: "TargetConfiguration"}
17910	if s.TargetValue == nil {
17911		invalidParams.Add(request.NewErrParamRequired("TargetValue"))
17912	}
17913
17914	if invalidParams.Len() > 0 {
17915		return invalidParams
17916	}
17917	return nil
17918}
17919
17920// SetTargetValue sets the TargetValue field's value.
17921func (s *TargetConfiguration) SetTargetValue(v float64) *TargetConfiguration {
17922	s.TargetValue = &v
17923	return s
17924}
17925
17926// Represents the input for a request action.
17927type UpdateAliasInput struct {
17928	_ struct{} `type:"structure"`
17929
17930	// Unique identifier for a fleet alias. Specify the alias you want to update.
17931	//
17932	// AliasId is a required field
17933	AliasId *string `type:"string" required:"true"`
17934
17935	// Human-readable description of an alias.
17936	Description *string `min:"1" type:"string"`
17937
17938	// Descriptive label that is associated with an alias. Alias names do not need
17939	// to be unique.
17940	Name *string `min:"1" type:"string"`
17941
17942	// Object that specifies the fleet and routing type to use for the alias.
17943	RoutingStrategy *RoutingStrategy `type:"structure"`
17944}
17945
17946// String returns the string representation
17947func (s UpdateAliasInput) String() string {
17948	return awsutil.Prettify(s)
17949}
17950
17951// GoString returns the string representation
17952func (s UpdateAliasInput) GoString() string {
17953	return s.String()
17954}
17955
17956// Validate inspects the fields of the type to determine if they are valid.
17957func (s *UpdateAliasInput) Validate() error {
17958	invalidParams := request.ErrInvalidParams{Context: "UpdateAliasInput"}
17959	if s.AliasId == nil {
17960		invalidParams.Add(request.NewErrParamRequired("AliasId"))
17961	}
17962	if s.Description != nil && len(*s.Description) < 1 {
17963		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
17964	}
17965	if s.Name != nil && len(*s.Name) < 1 {
17966		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
17967	}
17968
17969	if invalidParams.Len() > 0 {
17970		return invalidParams
17971	}
17972	return nil
17973}
17974
17975// SetAliasId sets the AliasId field's value.
17976func (s *UpdateAliasInput) SetAliasId(v string) *UpdateAliasInput {
17977	s.AliasId = &v
17978	return s
17979}
17980
17981// SetDescription sets the Description field's value.
17982func (s *UpdateAliasInput) SetDescription(v string) *UpdateAliasInput {
17983	s.Description = &v
17984	return s
17985}
17986
17987// SetName sets the Name field's value.
17988func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput {
17989	s.Name = &v
17990	return s
17991}
17992
17993// SetRoutingStrategy sets the RoutingStrategy field's value.
17994func (s *UpdateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *UpdateAliasInput {
17995	s.RoutingStrategy = v
17996	return s
17997}
17998
17999// Represents the returned data in response to a request action.
18000type UpdateAliasOutput struct {
18001	_ struct{} `type:"structure"`
18002
18003	// Object that contains the updated alias configuration.
18004	Alias *Alias `type:"structure"`
18005}
18006
18007// String returns the string representation
18008func (s UpdateAliasOutput) String() string {
18009	return awsutil.Prettify(s)
18010}
18011
18012// GoString returns the string representation
18013func (s UpdateAliasOutput) GoString() string {
18014	return s.String()
18015}
18016
18017// SetAlias sets the Alias field's value.
18018func (s *UpdateAliasOutput) SetAlias(v *Alias) *UpdateAliasOutput {
18019	s.Alias = v
18020	return s
18021}
18022
18023// Represents the input for a request action.
18024type UpdateBuildInput struct {
18025	_ struct{} `type:"structure"`
18026
18027	// Unique identifier for a build to update.
18028	//
18029	// BuildId is a required field
18030	BuildId *string `type:"string" required:"true"`
18031
18032	// Descriptive label that is associated with a build. Build names do not need
18033	// to be unique.
18034	Name *string `min:"1" type:"string"`
18035
18036	// Version that is associated with this build. Version strings do not need to
18037	// be unique.
18038	Version *string `min:"1" type:"string"`
18039}
18040
18041// String returns the string representation
18042func (s UpdateBuildInput) String() string {
18043	return awsutil.Prettify(s)
18044}
18045
18046// GoString returns the string representation
18047func (s UpdateBuildInput) GoString() string {
18048	return s.String()
18049}
18050
18051// Validate inspects the fields of the type to determine if they are valid.
18052func (s *UpdateBuildInput) Validate() error {
18053	invalidParams := request.ErrInvalidParams{Context: "UpdateBuildInput"}
18054	if s.BuildId == nil {
18055		invalidParams.Add(request.NewErrParamRequired("BuildId"))
18056	}
18057	if s.Name != nil && len(*s.Name) < 1 {
18058		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18059	}
18060	if s.Version != nil && len(*s.Version) < 1 {
18061		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
18062	}
18063
18064	if invalidParams.Len() > 0 {
18065		return invalidParams
18066	}
18067	return nil
18068}
18069
18070// SetBuildId sets the BuildId field's value.
18071func (s *UpdateBuildInput) SetBuildId(v string) *UpdateBuildInput {
18072	s.BuildId = &v
18073	return s
18074}
18075
18076// SetName sets the Name field's value.
18077func (s *UpdateBuildInput) SetName(v string) *UpdateBuildInput {
18078	s.Name = &v
18079	return s
18080}
18081
18082// SetVersion sets the Version field's value.
18083func (s *UpdateBuildInput) SetVersion(v string) *UpdateBuildInput {
18084	s.Version = &v
18085	return s
18086}
18087
18088// Represents the returned data in response to a request action.
18089type UpdateBuildOutput struct {
18090	_ struct{} `type:"structure"`
18091
18092	// Object that contains the updated build record.
18093	Build *Build `type:"structure"`
18094}
18095
18096// String returns the string representation
18097func (s UpdateBuildOutput) String() string {
18098	return awsutil.Prettify(s)
18099}
18100
18101// GoString returns the string representation
18102func (s UpdateBuildOutput) GoString() string {
18103	return s.String()
18104}
18105
18106// SetBuild sets the Build field's value.
18107func (s *UpdateBuildOutput) SetBuild(v *Build) *UpdateBuildOutput {
18108	s.Build = v
18109	return s
18110}
18111
18112// Represents the input for a request action.
18113type UpdateFleetAttributesInput struct {
18114	_ struct{} `type:"structure"`
18115
18116	// Human-readable description of a fleet.
18117	Description *string `min:"1" type:"string"`
18118
18119	// Unique identifier for a fleet to update attribute metadata for.
18120	//
18121	// FleetId is a required field
18122	FleetId *string `type:"string" required:"true"`
18123
18124	// Names of metric groups to include this fleet in. Amazon CloudWatch uses a
18125	// fleet metric group is to aggregate metrics from multiple fleets. Use an existing
18126	// metric group name to add this fleet to the group. Or use a new name to create
18127	// a new metric group. A fleet can only be included in one metric group at a
18128	// time.
18129	MetricGroups []*string `type:"list"`
18130
18131	// Descriptive label that is associated with a fleet. Fleet names do not need
18132	// to be unique.
18133	Name *string `min:"1" type:"string"`
18134
18135	// Game session protection policy to apply to all new instances created in this
18136	// fleet. Instances that already exist are not affected. You can set protection
18137	// for individual instances using UpdateGameSession.
18138	//
18139	//    * NoProtection -- The game session can be terminated during a scale-down
18140	//    event.
18141	//
18142	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
18143	//    be terminated during a scale-down event.
18144	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
18145
18146	// Policy that limits the number of game sessions an individual player can create
18147	// over a span of time.
18148	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
18149}
18150
18151// String returns the string representation
18152func (s UpdateFleetAttributesInput) String() string {
18153	return awsutil.Prettify(s)
18154}
18155
18156// GoString returns the string representation
18157func (s UpdateFleetAttributesInput) GoString() string {
18158	return s.String()
18159}
18160
18161// Validate inspects the fields of the type to determine if they are valid.
18162func (s *UpdateFleetAttributesInput) Validate() error {
18163	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetAttributesInput"}
18164	if s.Description != nil && len(*s.Description) < 1 {
18165		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
18166	}
18167	if s.FleetId == nil {
18168		invalidParams.Add(request.NewErrParamRequired("FleetId"))
18169	}
18170	if s.Name != nil && len(*s.Name) < 1 {
18171		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18172	}
18173
18174	if invalidParams.Len() > 0 {
18175		return invalidParams
18176	}
18177	return nil
18178}
18179
18180// SetDescription sets the Description field's value.
18181func (s *UpdateFleetAttributesInput) SetDescription(v string) *UpdateFleetAttributesInput {
18182	s.Description = &v
18183	return s
18184}
18185
18186// SetFleetId sets the FleetId field's value.
18187func (s *UpdateFleetAttributesInput) SetFleetId(v string) *UpdateFleetAttributesInput {
18188	s.FleetId = &v
18189	return s
18190}
18191
18192// SetMetricGroups sets the MetricGroups field's value.
18193func (s *UpdateFleetAttributesInput) SetMetricGroups(v []*string) *UpdateFleetAttributesInput {
18194	s.MetricGroups = v
18195	return s
18196}
18197
18198// SetName sets the Name field's value.
18199func (s *UpdateFleetAttributesInput) SetName(v string) *UpdateFleetAttributesInput {
18200	s.Name = &v
18201	return s
18202}
18203
18204// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
18205func (s *UpdateFleetAttributesInput) SetNewGameSessionProtectionPolicy(v string) *UpdateFleetAttributesInput {
18206	s.NewGameSessionProtectionPolicy = &v
18207	return s
18208}
18209
18210// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
18211func (s *UpdateFleetAttributesInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *UpdateFleetAttributesInput {
18212	s.ResourceCreationLimitPolicy = v
18213	return s
18214}
18215
18216// Represents the returned data in response to a request action.
18217type UpdateFleetAttributesOutput struct {
18218	_ struct{} `type:"structure"`
18219
18220	// Unique identifier for a fleet that was updated.
18221	FleetId *string `type:"string"`
18222}
18223
18224// String returns the string representation
18225func (s UpdateFleetAttributesOutput) String() string {
18226	return awsutil.Prettify(s)
18227}
18228
18229// GoString returns the string representation
18230func (s UpdateFleetAttributesOutput) GoString() string {
18231	return s.String()
18232}
18233
18234// SetFleetId sets the FleetId field's value.
18235func (s *UpdateFleetAttributesOutput) SetFleetId(v string) *UpdateFleetAttributesOutput {
18236	s.FleetId = &v
18237	return s
18238}
18239
18240// Represents the input for a request action.
18241type UpdateFleetCapacityInput struct {
18242	_ struct{} `type:"structure"`
18243
18244	// Number of EC2 instances you want this fleet to host.
18245	DesiredInstances *int64 `type:"integer"`
18246
18247	// Unique identifier for a fleet to update capacity for.
18248	//
18249	// FleetId is a required field
18250	FleetId *string `type:"string" required:"true"`
18251
18252	// Maximum value allowed for the fleet's instance count. Default if not set
18253	// is 1.
18254	MaxSize *int64 `type:"integer"`
18255
18256	// Minimum value allowed for the fleet's instance count. Default if not set
18257	// is 0.
18258	MinSize *int64 `type:"integer"`
18259}
18260
18261// String returns the string representation
18262func (s UpdateFleetCapacityInput) String() string {
18263	return awsutil.Prettify(s)
18264}
18265
18266// GoString returns the string representation
18267func (s UpdateFleetCapacityInput) GoString() string {
18268	return s.String()
18269}
18270
18271// Validate inspects the fields of the type to determine if they are valid.
18272func (s *UpdateFleetCapacityInput) Validate() error {
18273	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetCapacityInput"}
18274	if s.FleetId == nil {
18275		invalidParams.Add(request.NewErrParamRequired("FleetId"))
18276	}
18277
18278	if invalidParams.Len() > 0 {
18279		return invalidParams
18280	}
18281	return nil
18282}
18283
18284// SetDesiredInstances sets the DesiredInstances field's value.
18285func (s *UpdateFleetCapacityInput) SetDesiredInstances(v int64) *UpdateFleetCapacityInput {
18286	s.DesiredInstances = &v
18287	return s
18288}
18289
18290// SetFleetId sets the FleetId field's value.
18291func (s *UpdateFleetCapacityInput) SetFleetId(v string) *UpdateFleetCapacityInput {
18292	s.FleetId = &v
18293	return s
18294}
18295
18296// SetMaxSize sets the MaxSize field's value.
18297func (s *UpdateFleetCapacityInput) SetMaxSize(v int64) *UpdateFleetCapacityInput {
18298	s.MaxSize = &v
18299	return s
18300}
18301
18302// SetMinSize sets the MinSize field's value.
18303func (s *UpdateFleetCapacityInput) SetMinSize(v int64) *UpdateFleetCapacityInput {
18304	s.MinSize = &v
18305	return s
18306}
18307
18308// Represents the returned data in response to a request action.
18309type UpdateFleetCapacityOutput struct {
18310	_ struct{} `type:"structure"`
18311
18312	// Unique identifier for a fleet that was updated.
18313	FleetId *string `type:"string"`
18314}
18315
18316// String returns the string representation
18317func (s UpdateFleetCapacityOutput) String() string {
18318	return awsutil.Prettify(s)
18319}
18320
18321// GoString returns the string representation
18322func (s UpdateFleetCapacityOutput) GoString() string {
18323	return s.String()
18324}
18325
18326// SetFleetId sets the FleetId field's value.
18327func (s *UpdateFleetCapacityOutput) SetFleetId(v string) *UpdateFleetCapacityOutput {
18328	s.FleetId = &v
18329	return s
18330}
18331
18332// Represents the input for a request action.
18333type UpdateFleetPortSettingsInput struct {
18334	_ struct{} `type:"structure"`
18335
18336	// Unique identifier for a fleet to update port settings for.
18337	//
18338	// FleetId is a required field
18339	FleetId *string `type:"string" required:"true"`
18340
18341	// Collection of port settings to be added to the fleet record.
18342	InboundPermissionAuthorizations []*IpPermission `type:"list"`
18343
18344	// Collection of port settings to be removed from the fleet record.
18345	InboundPermissionRevocations []*IpPermission `type:"list"`
18346}
18347
18348// String returns the string representation
18349func (s UpdateFleetPortSettingsInput) String() string {
18350	return awsutil.Prettify(s)
18351}
18352
18353// GoString returns the string representation
18354func (s UpdateFleetPortSettingsInput) GoString() string {
18355	return s.String()
18356}
18357
18358// Validate inspects the fields of the type to determine if they are valid.
18359func (s *UpdateFleetPortSettingsInput) Validate() error {
18360	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetPortSettingsInput"}
18361	if s.FleetId == nil {
18362		invalidParams.Add(request.NewErrParamRequired("FleetId"))
18363	}
18364	if s.InboundPermissionAuthorizations != nil {
18365		for i, v := range s.InboundPermissionAuthorizations {
18366			if v == nil {
18367				continue
18368			}
18369			if err := v.Validate(); err != nil {
18370				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionAuthorizations", i), err.(request.ErrInvalidParams))
18371			}
18372		}
18373	}
18374	if s.InboundPermissionRevocations != nil {
18375		for i, v := range s.InboundPermissionRevocations {
18376			if v == nil {
18377				continue
18378			}
18379			if err := v.Validate(); err != nil {
18380				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionRevocations", i), err.(request.ErrInvalidParams))
18381			}
18382		}
18383	}
18384
18385	if invalidParams.Len() > 0 {
18386		return invalidParams
18387	}
18388	return nil
18389}
18390
18391// SetFleetId sets the FleetId field's value.
18392func (s *UpdateFleetPortSettingsInput) SetFleetId(v string) *UpdateFleetPortSettingsInput {
18393	s.FleetId = &v
18394	return s
18395}
18396
18397// SetInboundPermissionAuthorizations sets the InboundPermissionAuthorizations field's value.
18398func (s *UpdateFleetPortSettingsInput) SetInboundPermissionAuthorizations(v []*IpPermission) *UpdateFleetPortSettingsInput {
18399	s.InboundPermissionAuthorizations = v
18400	return s
18401}
18402
18403// SetInboundPermissionRevocations sets the InboundPermissionRevocations field's value.
18404func (s *UpdateFleetPortSettingsInput) SetInboundPermissionRevocations(v []*IpPermission) *UpdateFleetPortSettingsInput {
18405	s.InboundPermissionRevocations = v
18406	return s
18407}
18408
18409// Represents the returned data in response to a request action.
18410type UpdateFleetPortSettingsOutput struct {
18411	_ struct{} `type:"structure"`
18412
18413	// Unique identifier for a fleet that was updated.
18414	FleetId *string `type:"string"`
18415}
18416
18417// String returns the string representation
18418func (s UpdateFleetPortSettingsOutput) String() string {
18419	return awsutil.Prettify(s)
18420}
18421
18422// GoString returns the string representation
18423func (s UpdateFleetPortSettingsOutput) GoString() string {
18424	return s.String()
18425}
18426
18427// SetFleetId sets the FleetId field's value.
18428func (s *UpdateFleetPortSettingsOutput) SetFleetId(v string) *UpdateFleetPortSettingsOutput {
18429	s.FleetId = &v
18430	return s
18431}
18432
18433// Represents the input for a request action.
18434type UpdateGameSessionInput struct {
18435	_ struct{} `type:"structure"`
18436
18437	// Unique identifier for the game session to update.
18438	//
18439	// GameSessionId is a required field
18440	GameSessionId *string `min:"1" type:"string" required:"true"`
18441
18442	// Maximum number of players that can be connected simultaneously to the game
18443	// session.
18444	MaximumPlayerSessionCount *int64 `type:"integer"`
18445
18446	// Descriptive label that is associated with a game session. Session names do
18447	// not need to be unique.
18448	Name *string `min:"1" type:"string"`
18449
18450	// Policy determining whether or not the game session accepts new players.
18451	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
18452
18453	// Game session protection policy to apply to this game session only.
18454	//
18455	//    * NoProtection -- The game session can be terminated during a scale-down
18456	//    event.
18457	//
18458	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
18459	//    be terminated during a scale-down event.
18460	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
18461}
18462
18463// String returns the string representation
18464func (s UpdateGameSessionInput) String() string {
18465	return awsutil.Prettify(s)
18466}
18467
18468// GoString returns the string representation
18469func (s UpdateGameSessionInput) GoString() string {
18470	return s.String()
18471}
18472
18473// Validate inspects the fields of the type to determine if they are valid.
18474func (s *UpdateGameSessionInput) Validate() error {
18475	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionInput"}
18476	if s.GameSessionId == nil {
18477		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
18478	}
18479	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
18480		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
18481	}
18482	if s.Name != nil && len(*s.Name) < 1 {
18483		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18484	}
18485
18486	if invalidParams.Len() > 0 {
18487		return invalidParams
18488	}
18489	return nil
18490}
18491
18492// SetGameSessionId sets the GameSessionId field's value.
18493func (s *UpdateGameSessionInput) SetGameSessionId(v string) *UpdateGameSessionInput {
18494	s.GameSessionId = &v
18495	return s
18496}
18497
18498// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
18499func (s *UpdateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *UpdateGameSessionInput {
18500	s.MaximumPlayerSessionCount = &v
18501	return s
18502}
18503
18504// SetName sets the Name field's value.
18505func (s *UpdateGameSessionInput) SetName(v string) *UpdateGameSessionInput {
18506	s.Name = &v
18507	return s
18508}
18509
18510// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
18511func (s *UpdateGameSessionInput) SetPlayerSessionCreationPolicy(v string) *UpdateGameSessionInput {
18512	s.PlayerSessionCreationPolicy = &v
18513	return s
18514}
18515
18516// SetProtectionPolicy sets the ProtectionPolicy field's value.
18517func (s *UpdateGameSessionInput) SetProtectionPolicy(v string) *UpdateGameSessionInput {
18518	s.ProtectionPolicy = &v
18519	return s
18520}
18521
18522// Represents the returned data in response to a request action.
18523type UpdateGameSessionOutput struct {
18524	_ struct{} `type:"structure"`
18525
18526	// Object that contains the updated game session metadata.
18527	GameSession *GameSession `type:"structure"`
18528}
18529
18530// String returns the string representation
18531func (s UpdateGameSessionOutput) String() string {
18532	return awsutil.Prettify(s)
18533}
18534
18535// GoString returns the string representation
18536func (s UpdateGameSessionOutput) GoString() string {
18537	return s.String()
18538}
18539
18540// SetGameSession sets the GameSession field's value.
18541func (s *UpdateGameSessionOutput) SetGameSession(v *GameSession) *UpdateGameSessionOutput {
18542	s.GameSession = v
18543	return s
18544}
18545
18546// Represents the input for a request action.
18547type UpdateGameSessionQueueInput struct {
18548	_ struct{} `type:"structure"`
18549
18550	// List of fleets that can be used to fulfill game session placement requests
18551	// in the queue. Fleets are identified by either a fleet ARN or a fleet alias
18552	// ARN. Destinations are listed in default preference order. When updating this
18553	// list, provide a complete list of destinations.
18554	Destinations []*GameSessionQueueDestination `type:"list"`
18555
18556	// Descriptive label that is associated with game session queue. Queue names
18557	// must be unique within each region.
18558	//
18559	// Name is a required field
18560	Name *string `min:"1" type:"string" required:"true"`
18561
18562	// Collection of latency policies to apply when processing game sessions placement
18563	// requests with player latency information. Multiple policies are evaluated
18564	// in order of the maximum latency value, starting with the lowest latency values.
18565	// With just one policy, it is enforced at the start of the game session placement
18566	// for the duration period. With multiple policies, each policy is enforced
18567	// consecutively for its duration period. For example, a queue might enforce
18568	// a 60-second policy followed by a 120-second policy, and then no policy for
18569	// the remainder of the placement. When updating policies, provide a complete
18570	// collection of policies.
18571	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
18572
18573	// Maximum time, in seconds, that a new game session placement request remains
18574	// in the queue. When a request exceeds this time, the game session placement
18575	// changes to a TIMED_OUT status.
18576	TimeoutInSeconds *int64 `type:"integer"`
18577}
18578
18579// String returns the string representation
18580func (s UpdateGameSessionQueueInput) String() string {
18581	return awsutil.Prettify(s)
18582}
18583
18584// GoString returns the string representation
18585func (s UpdateGameSessionQueueInput) GoString() string {
18586	return s.String()
18587}
18588
18589// Validate inspects the fields of the type to determine if they are valid.
18590func (s *UpdateGameSessionQueueInput) Validate() error {
18591	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionQueueInput"}
18592	if s.Name == nil {
18593		invalidParams.Add(request.NewErrParamRequired("Name"))
18594	}
18595	if s.Name != nil && len(*s.Name) < 1 {
18596		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18597	}
18598	if s.Destinations != nil {
18599		for i, v := range s.Destinations {
18600			if v == nil {
18601				continue
18602			}
18603			if err := v.Validate(); err != nil {
18604				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
18605			}
18606		}
18607	}
18608
18609	if invalidParams.Len() > 0 {
18610		return invalidParams
18611	}
18612	return nil
18613}
18614
18615// SetDestinations sets the Destinations field's value.
18616func (s *UpdateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *UpdateGameSessionQueueInput {
18617	s.Destinations = v
18618	return s
18619}
18620
18621// SetName sets the Name field's value.
18622func (s *UpdateGameSessionQueueInput) SetName(v string) *UpdateGameSessionQueueInput {
18623	s.Name = &v
18624	return s
18625}
18626
18627// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
18628func (s *UpdateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *UpdateGameSessionQueueInput {
18629	s.PlayerLatencyPolicies = v
18630	return s
18631}
18632
18633// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
18634func (s *UpdateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *UpdateGameSessionQueueInput {
18635	s.TimeoutInSeconds = &v
18636	return s
18637}
18638
18639// Represents the returned data in response to a request action.
18640type UpdateGameSessionQueueOutput struct {
18641	_ struct{} `type:"structure"`
18642
18643	// Object that describes the newly updated game session queue.
18644	GameSessionQueue *GameSessionQueue `type:"structure"`
18645}
18646
18647// String returns the string representation
18648func (s UpdateGameSessionQueueOutput) String() string {
18649	return awsutil.Prettify(s)
18650}
18651
18652// GoString returns the string representation
18653func (s UpdateGameSessionQueueOutput) GoString() string {
18654	return s.String()
18655}
18656
18657// SetGameSessionQueue sets the GameSessionQueue field's value.
18658func (s *UpdateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *UpdateGameSessionQueueOutput {
18659	s.GameSessionQueue = v
18660	return s
18661}
18662
18663// Represents the input for a request action.
18664type UpdateMatchmakingConfigurationInput struct {
18665	_ struct{} `type:"structure"`
18666
18667	// Flag that determines whether or not a match that was created with this configuration
18668	// must be accepted by the matched players. To require acceptance, set to TRUE.
18669	AcceptanceRequired *bool `type:"boolean"`
18670
18671	// Length of time (in seconds) to wait for players to accept a proposed match.
18672	// If any player rejects the match or fails to accept before the timeout, the
18673	// ticket continues to look for an acceptable match.
18674	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
18675
18676	// Number of player slots in a match to keep open for future players. For example,
18677	// if the configuration's rule set specifies a match for a single 12-person
18678	// team, and the additional player count is set to 2, only 10 players are selected
18679	// for the match.
18680	AdditionalPlayerCount *int64 `type:"integer"`
18681
18682	// Information to attached to all events related to the matchmaking configuration.
18683	CustomEventData *string `type:"string"`
18684
18685	// Descriptive label that is associated with matchmaking configuration.
18686	Description *string `min:"1" type:"string"`
18687
18688	// Set of custom properties for a game session, formatted as key:value pairs.
18689	// These properties are passed to a game server process in the GameSession object
18690	// with a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
18691	// This information is added to the new GameSession object that is created for
18692	// a successful match.
18693	GameProperties []*GameProperty `type:"list"`
18694
18695	// Set of custom game session properties, formatted as a single string value.
18696	// This data is passed to a game server process in the GameSession object with
18697	// a request to start a new game session (see Start a Game Session (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
18698	// This information is added to the new GameSession object that is created for
18699	// a successful match.
18700	GameSessionData *string `min:"1" type:"string"`
18701
18702	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
18703	// that is assigned to a game session queue and uniquely identifies it. Format
18704	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
18705	// These queues are used when placing game sessions for matches that are created
18706	// with this matchmaking configuration. Queues can be located in any region.
18707	GameSessionQueueArns []*string `type:"list"`
18708
18709	// Unique identifier for a matchmaking configuration to update.
18710	//
18711	// Name is a required field
18712	Name *string `min:"1" type:"string" required:"true"`
18713
18714	// SNS topic ARN that is set up to receive matchmaking notifications. See  Setting
18715	// up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)
18716	// for more information.
18717	NotificationTarget *string `type:"string"`
18718
18719	// Maximum duration, in seconds, that a matchmaking ticket can remain in process
18720	// before timing out. Requests that time out can be resubmitted as needed.
18721	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
18722
18723	// Unique identifier for a matchmaking rule set to use with this configuration.
18724	// A matchmaking configuration can only use rule sets that are defined in the
18725	// same region.
18726	RuleSetName *string `min:"1" type:"string"`
18727}
18728
18729// String returns the string representation
18730func (s UpdateMatchmakingConfigurationInput) String() string {
18731	return awsutil.Prettify(s)
18732}
18733
18734// GoString returns the string representation
18735func (s UpdateMatchmakingConfigurationInput) GoString() string {
18736	return s.String()
18737}
18738
18739// Validate inspects the fields of the type to determine if they are valid.
18740func (s *UpdateMatchmakingConfigurationInput) Validate() error {
18741	invalidParams := request.ErrInvalidParams{Context: "UpdateMatchmakingConfigurationInput"}
18742	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
18743		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
18744	}
18745	if s.Description != nil && len(*s.Description) < 1 {
18746		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
18747	}
18748	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
18749		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
18750	}
18751	if s.Name == nil {
18752		invalidParams.Add(request.NewErrParamRequired("Name"))
18753	}
18754	if s.Name != nil && len(*s.Name) < 1 {
18755		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18756	}
18757	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
18758		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
18759	}
18760	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
18761		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
18762	}
18763	if s.GameProperties != nil {
18764		for i, v := range s.GameProperties {
18765			if v == nil {
18766				continue
18767			}
18768			if err := v.Validate(); err != nil {
18769				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
18770			}
18771		}
18772	}
18773
18774	if invalidParams.Len() > 0 {
18775		return invalidParams
18776	}
18777	return nil
18778}
18779
18780// SetAcceptanceRequired sets the AcceptanceRequired field's value.
18781func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *UpdateMatchmakingConfigurationInput {
18782	s.AcceptanceRequired = &v
18783	return s
18784}
18785
18786// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
18787func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
18788	s.AcceptanceTimeoutSeconds = &v
18789	return s
18790}
18791
18792// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
18793func (s *UpdateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *UpdateMatchmakingConfigurationInput {
18794	s.AdditionalPlayerCount = &v
18795	return s
18796}
18797
18798// SetCustomEventData sets the CustomEventData field's value.
18799func (s *UpdateMatchmakingConfigurationInput) SetCustomEventData(v string) *UpdateMatchmakingConfigurationInput {
18800	s.CustomEventData = &v
18801	return s
18802}
18803
18804// SetDescription sets the Description field's value.
18805func (s *UpdateMatchmakingConfigurationInput) SetDescription(v string) *UpdateMatchmakingConfigurationInput {
18806	s.Description = &v
18807	return s
18808}
18809
18810// SetGameProperties sets the GameProperties field's value.
18811func (s *UpdateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *UpdateMatchmakingConfigurationInput {
18812	s.GameProperties = v
18813	return s
18814}
18815
18816// SetGameSessionData sets the GameSessionData field's value.
18817func (s *UpdateMatchmakingConfigurationInput) SetGameSessionData(v string) *UpdateMatchmakingConfigurationInput {
18818	s.GameSessionData = &v
18819	return s
18820}
18821
18822// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
18823func (s *UpdateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *UpdateMatchmakingConfigurationInput {
18824	s.GameSessionQueueArns = v
18825	return s
18826}
18827
18828// SetName sets the Name field's value.
18829func (s *UpdateMatchmakingConfigurationInput) SetName(v string) *UpdateMatchmakingConfigurationInput {
18830	s.Name = &v
18831	return s
18832}
18833
18834// SetNotificationTarget sets the NotificationTarget field's value.
18835func (s *UpdateMatchmakingConfigurationInput) SetNotificationTarget(v string) *UpdateMatchmakingConfigurationInput {
18836	s.NotificationTarget = &v
18837	return s
18838}
18839
18840// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
18841func (s *UpdateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
18842	s.RequestTimeoutSeconds = &v
18843	return s
18844}
18845
18846// SetRuleSetName sets the RuleSetName field's value.
18847func (s *UpdateMatchmakingConfigurationInput) SetRuleSetName(v string) *UpdateMatchmakingConfigurationInput {
18848	s.RuleSetName = &v
18849	return s
18850}
18851
18852// Represents the returned data in response to a request action.
18853type UpdateMatchmakingConfigurationOutput struct {
18854	_ struct{} `type:"structure"`
18855
18856	// Object that describes the updated matchmaking configuration.
18857	Configuration *MatchmakingConfiguration `type:"structure"`
18858}
18859
18860// String returns the string representation
18861func (s UpdateMatchmakingConfigurationOutput) String() string {
18862	return awsutil.Prettify(s)
18863}
18864
18865// GoString returns the string representation
18866func (s UpdateMatchmakingConfigurationOutput) GoString() string {
18867	return s.String()
18868}
18869
18870// SetConfiguration sets the Configuration field's value.
18871func (s *UpdateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *UpdateMatchmakingConfigurationOutput {
18872	s.Configuration = v
18873	return s
18874}
18875
18876// Represents the input for a request action.
18877type UpdateRuntimeConfigurationInput struct {
18878	_ struct{} `type:"structure"`
18879
18880	// Unique identifier for a fleet to update run-time configuration for.
18881	//
18882	// FleetId is a required field
18883	FleetId *string `type:"string" required:"true"`
18884
18885	// Instructions for launching server processes on each instance in the fleet.
18886	// The run-time configuration for a fleet has a collection of server process
18887	// configurations, one for each type of server process to run on an instance.
18888	// A server process configuration specifies the location of the server executable,
18889	// launch parameters, and the number of concurrent processes with that configuration
18890	// to maintain on each instance.
18891	//
18892	// RuntimeConfiguration is a required field
18893	RuntimeConfiguration *RuntimeConfiguration `type:"structure" required:"true"`
18894}
18895
18896// String returns the string representation
18897func (s UpdateRuntimeConfigurationInput) String() string {
18898	return awsutil.Prettify(s)
18899}
18900
18901// GoString returns the string representation
18902func (s UpdateRuntimeConfigurationInput) GoString() string {
18903	return s.String()
18904}
18905
18906// Validate inspects the fields of the type to determine if they are valid.
18907func (s *UpdateRuntimeConfigurationInput) Validate() error {
18908	invalidParams := request.ErrInvalidParams{Context: "UpdateRuntimeConfigurationInput"}
18909	if s.FleetId == nil {
18910		invalidParams.Add(request.NewErrParamRequired("FleetId"))
18911	}
18912	if s.RuntimeConfiguration == nil {
18913		invalidParams.Add(request.NewErrParamRequired("RuntimeConfiguration"))
18914	}
18915	if s.RuntimeConfiguration != nil {
18916		if err := s.RuntimeConfiguration.Validate(); err != nil {
18917			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
18918		}
18919	}
18920
18921	if invalidParams.Len() > 0 {
18922		return invalidParams
18923	}
18924	return nil
18925}
18926
18927// SetFleetId sets the FleetId field's value.
18928func (s *UpdateRuntimeConfigurationInput) SetFleetId(v string) *UpdateRuntimeConfigurationInput {
18929	s.FleetId = &v
18930	return s
18931}
18932
18933// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
18934func (s *UpdateRuntimeConfigurationInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationInput {
18935	s.RuntimeConfiguration = v
18936	return s
18937}
18938
18939// Represents the returned data in response to a request action.
18940type UpdateRuntimeConfigurationOutput struct {
18941	_ struct{} `type:"structure"`
18942
18943	// The run-time configuration currently in force. If the update was successful,
18944	// this object matches the one in the request.
18945	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
18946}
18947
18948// String returns the string representation
18949func (s UpdateRuntimeConfigurationOutput) String() string {
18950	return awsutil.Prettify(s)
18951}
18952
18953// GoString returns the string representation
18954func (s UpdateRuntimeConfigurationOutput) GoString() string {
18955	return s.String()
18956}
18957
18958// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
18959func (s *UpdateRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationOutput {
18960	s.RuntimeConfiguration = v
18961	return s
18962}
18963
18964// Represents the input for a request action.
18965type ValidateMatchmakingRuleSetInput struct {
18966	_ struct{} `type:"structure"`
18967
18968	// Collection of matchmaking rules to validate, formatted as a JSON string.
18969	//
18970	// RuleSetBody is a required field
18971	RuleSetBody *string `min:"1" type:"string" required:"true"`
18972}
18973
18974// String returns the string representation
18975func (s ValidateMatchmakingRuleSetInput) String() string {
18976	return awsutil.Prettify(s)
18977}
18978
18979// GoString returns the string representation
18980func (s ValidateMatchmakingRuleSetInput) GoString() string {
18981	return s.String()
18982}
18983
18984// Validate inspects the fields of the type to determine if they are valid.
18985func (s *ValidateMatchmakingRuleSetInput) Validate() error {
18986	invalidParams := request.ErrInvalidParams{Context: "ValidateMatchmakingRuleSetInput"}
18987	if s.RuleSetBody == nil {
18988		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
18989	}
18990	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
18991		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
18992	}
18993
18994	if invalidParams.Len() > 0 {
18995		return invalidParams
18996	}
18997	return nil
18998}
18999
19000// SetRuleSetBody sets the RuleSetBody field's value.
19001func (s *ValidateMatchmakingRuleSetInput) SetRuleSetBody(v string) *ValidateMatchmakingRuleSetInput {
19002	s.RuleSetBody = &v
19003	return s
19004}
19005
19006// Represents the returned data in response to a request action.
19007type ValidateMatchmakingRuleSetOutput struct {
19008	_ struct{} `type:"structure"`
19009
19010	// Response indicating whether or not the rule set is valid.
19011	Valid *bool `type:"boolean"`
19012}
19013
19014// String returns the string representation
19015func (s ValidateMatchmakingRuleSetOutput) String() string {
19016	return awsutil.Prettify(s)
19017}
19018
19019// GoString returns the string representation
19020func (s ValidateMatchmakingRuleSetOutput) GoString() string {
19021	return s.String()
19022}
19023
19024// SetValid sets the Valid field's value.
19025func (s *ValidateMatchmakingRuleSetOutput) SetValid(v bool) *ValidateMatchmakingRuleSetOutput {
19026	s.Valid = &v
19027	return s
19028}
19029
19030// Represents an authorization for a VPC peering connection between the VPC
19031// for an Amazon GameLift fleet and another VPC on an account you have access
19032// to. This authorization must exist and be valid for the peering connection
19033// to be established. Authorizations are valid for 24 hours after they are issued.
19034//
19035// VPC peering connection operations include:
19036//
19037//    * CreateVpcPeeringAuthorization
19038//
19039//    * DescribeVpcPeeringAuthorizations
19040//
19041//    * DeleteVpcPeeringAuthorization
19042//
19043//    * CreateVpcPeeringConnection
19044//
19045//    * DescribeVpcPeeringConnections
19046//
19047//    * DeleteVpcPeeringConnection
19048type VpcPeeringAuthorization struct {
19049	_ struct{} `type:"structure"`
19050
19051	// Time stamp indicating when this authorization was issued. Format is a number
19052	// expressed in Unix time as milliseconds (for example "1469498468.057").
19053	CreationTime *time.Time `type:"timestamp"`
19054
19055	// Time stamp indicating when this authorization expires (24 hours after issuance).
19056	// Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
19057	ExpirationTime *time.Time `type:"timestamp"`
19058
19059	// Unique identifier for the AWS account that you use to manage your Amazon
19060	// GameLift fleet. You can find your Account ID in the AWS Management Console
19061	// under account settings.
19062	GameLiftAwsAccountId *string `min:"1" type:"string"`
19063
19064	PeerVpcAwsAccountId *string `min:"1" type:"string"`
19065
19066	// Unique identifier for a VPC with resources to be accessed by your Amazon
19067	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
19068	// To get VPC information, including IDs, use the Virtual Private Cloud service
19069	// tools, including the VPC Dashboard in the AWS Management Console.
19070	PeerVpcId *string `min:"1" type:"string"`
19071}
19072
19073// String returns the string representation
19074func (s VpcPeeringAuthorization) String() string {
19075	return awsutil.Prettify(s)
19076}
19077
19078// GoString returns the string representation
19079func (s VpcPeeringAuthorization) GoString() string {
19080	return s.String()
19081}
19082
19083// SetCreationTime sets the CreationTime field's value.
19084func (s *VpcPeeringAuthorization) SetCreationTime(v time.Time) *VpcPeeringAuthorization {
19085	s.CreationTime = &v
19086	return s
19087}
19088
19089// SetExpirationTime sets the ExpirationTime field's value.
19090func (s *VpcPeeringAuthorization) SetExpirationTime(v time.Time) *VpcPeeringAuthorization {
19091	s.ExpirationTime = &v
19092	return s
19093}
19094
19095// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
19096func (s *VpcPeeringAuthorization) SetGameLiftAwsAccountId(v string) *VpcPeeringAuthorization {
19097	s.GameLiftAwsAccountId = &v
19098	return s
19099}
19100
19101// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
19102func (s *VpcPeeringAuthorization) SetPeerVpcAwsAccountId(v string) *VpcPeeringAuthorization {
19103	s.PeerVpcAwsAccountId = &v
19104	return s
19105}
19106
19107// SetPeerVpcId sets the PeerVpcId field's value.
19108func (s *VpcPeeringAuthorization) SetPeerVpcId(v string) *VpcPeeringAuthorization {
19109	s.PeerVpcId = &v
19110	return s
19111}
19112
19113// Represents a peering connection between a VPC on one of your AWS accounts
19114// and the VPC for your Amazon GameLift fleets. This record may be for an active
19115// peering connection or a pending connection that has not yet been established.
19116//
19117// VPC peering connection operations include:
19118//
19119//    * CreateVpcPeeringAuthorization
19120//
19121//    * DescribeVpcPeeringAuthorizations
19122//
19123//    * DeleteVpcPeeringAuthorization
19124//
19125//    * CreateVpcPeeringConnection
19126//
19127//    * DescribeVpcPeeringConnections
19128//
19129//    * DeleteVpcPeeringConnection
19130type VpcPeeringConnection struct {
19131	_ struct{} `type:"structure"`
19132
19133	// Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift
19134	// VPC for your fleet.
19135	FleetId *string `type:"string"`
19136
19137	// Unique identifier for the VPC that contains the Amazon GameLift fleet for
19138	// this connection. This VPC is managed by Amazon GameLift and does not appear
19139	// in your AWS account.
19140	GameLiftVpcId *string `min:"1" type:"string"`
19141
19142	// CIDR block of IPv4 addresses assigned to the VPC peering connection for the
19143	// GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with
19144	// it; these blocks cannot overlap or the peering connection cannot be created.
19145	IpV4CidrBlock *string `min:"1" type:"string"`
19146
19147	// Unique identifier for a VPC with resources to be accessed by your Amazon
19148	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
19149	// To get VPC information, including IDs, use the Virtual Private Cloud service
19150	// tools, including the VPC Dashboard in the AWS Management Console.
19151	PeerVpcId *string `min:"1" type:"string"`
19152
19153	// Object that contains status information about the connection. Status indicates
19154	// if a connection is pending, successful, or failed.
19155	Status *VpcPeeringConnectionStatus `type:"structure"`
19156
19157	// Unique identifier that is automatically assigned to the connection record.
19158	// This ID is referenced in VPC peering connection events, and is used when
19159	// deleting a connection with DeleteVpcPeeringConnection.
19160	VpcPeeringConnectionId *string `min:"1" type:"string"`
19161}
19162
19163// String returns the string representation
19164func (s VpcPeeringConnection) String() string {
19165	return awsutil.Prettify(s)
19166}
19167
19168// GoString returns the string representation
19169func (s VpcPeeringConnection) GoString() string {
19170	return s.String()
19171}
19172
19173// SetFleetId sets the FleetId field's value.
19174func (s *VpcPeeringConnection) SetFleetId(v string) *VpcPeeringConnection {
19175	s.FleetId = &v
19176	return s
19177}
19178
19179// SetGameLiftVpcId sets the GameLiftVpcId field's value.
19180func (s *VpcPeeringConnection) SetGameLiftVpcId(v string) *VpcPeeringConnection {
19181	s.GameLiftVpcId = &v
19182	return s
19183}
19184
19185// SetIpV4CidrBlock sets the IpV4CidrBlock field's value.
19186func (s *VpcPeeringConnection) SetIpV4CidrBlock(v string) *VpcPeeringConnection {
19187	s.IpV4CidrBlock = &v
19188	return s
19189}
19190
19191// SetPeerVpcId sets the PeerVpcId field's value.
19192func (s *VpcPeeringConnection) SetPeerVpcId(v string) *VpcPeeringConnection {
19193	s.PeerVpcId = &v
19194	return s
19195}
19196
19197// SetStatus sets the Status field's value.
19198func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStatus) *VpcPeeringConnection {
19199	s.Status = v
19200	return s
19201}
19202
19203// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
19204func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
19205	s.VpcPeeringConnectionId = &v
19206	return s
19207}
19208
19209// Represents status information for a VPC peering connection. Status is associated
19210// with a VpcPeeringConnection object. Status codes and messages are provided
19211// from EC2 (see VpcPeeringConnectionStateReason (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html)).
19212// Connection status information is also communicated as a fleet Event.
19213type VpcPeeringConnectionStatus struct {
19214	_ struct{} `type:"structure"`
19215
19216	// Code indicating the status of a VPC peering connection.
19217	Code *string `min:"1" type:"string"`
19218
19219	// Additional messaging associated with the connection status.
19220	Message *string `min:"1" type:"string"`
19221}
19222
19223// String returns the string representation
19224func (s VpcPeeringConnectionStatus) String() string {
19225	return awsutil.Prettify(s)
19226}
19227
19228// GoString returns the string representation
19229func (s VpcPeeringConnectionStatus) GoString() string {
19230	return s.String()
19231}
19232
19233// SetCode sets the Code field's value.
19234func (s *VpcPeeringConnectionStatus) SetCode(v string) *VpcPeeringConnectionStatus {
19235	s.Code = &v
19236	return s
19237}
19238
19239// SetMessage sets the Message field's value.
19240func (s *VpcPeeringConnectionStatus) SetMessage(v string) *VpcPeeringConnectionStatus {
19241	s.Message = &v
19242	return s
19243}
19244
19245const (
19246	// AcceptanceTypeAccept is a AcceptanceType enum value
19247	AcceptanceTypeAccept = "ACCEPT"
19248
19249	// AcceptanceTypeReject is a AcceptanceType enum value
19250	AcceptanceTypeReject = "REJECT"
19251)
19252
19253const (
19254	// BuildStatusInitialized is a BuildStatus enum value
19255	BuildStatusInitialized = "INITIALIZED"
19256
19257	// BuildStatusReady is a BuildStatus enum value
19258	BuildStatusReady = "READY"
19259
19260	// BuildStatusFailed is a BuildStatus enum value
19261	BuildStatusFailed = "FAILED"
19262)
19263
19264const (
19265	// ComparisonOperatorTypeGreaterThanOrEqualToThreshold is a ComparisonOperatorType enum value
19266	ComparisonOperatorTypeGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
19267
19268	// ComparisonOperatorTypeGreaterThanThreshold is a ComparisonOperatorType enum value
19269	ComparisonOperatorTypeGreaterThanThreshold = "GreaterThanThreshold"
19270
19271	// ComparisonOperatorTypeLessThanThreshold is a ComparisonOperatorType enum value
19272	ComparisonOperatorTypeLessThanThreshold = "LessThanThreshold"
19273
19274	// ComparisonOperatorTypeLessThanOrEqualToThreshold is a ComparisonOperatorType enum value
19275	ComparisonOperatorTypeLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
19276)
19277
19278const (
19279	// EC2InstanceTypeT2Micro is a EC2InstanceType enum value
19280	EC2InstanceTypeT2Micro = "t2.micro"
19281
19282	// EC2InstanceTypeT2Small is a EC2InstanceType enum value
19283	EC2InstanceTypeT2Small = "t2.small"
19284
19285	// EC2InstanceTypeT2Medium is a EC2InstanceType enum value
19286	EC2InstanceTypeT2Medium = "t2.medium"
19287
19288	// EC2InstanceTypeT2Large is a EC2InstanceType enum value
19289	EC2InstanceTypeT2Large = "t2.large"
19290
19291	// EC2InstanceTypeC3Large is a EC2InstanceType enum value
19292	EC2InstanceTypeC3Large = "c3.large"
19293
19294	// EC2InstanceTypeC3Xlarge is a EC2InstanceType enum value
19295	EC2InstanceTypeC3Xlarge = "c3.xlarge"
19296
19297	// EC2InstanceTypeC32xlarge is a EC2InstanceType enum value
19298	EC2InstanceTypeC32xlarge = "c3.2xlarge"
19299
19300	// EC2InstanceTypeC34xlarge is a EC2InstanceType enum value
19301	EC2InstanceTypeC34xlarge = "c3.4xlarge"
19302
19303	// EC2InstanceTypeC38xlarge is a EC2InstanceType enum value
19304	EC2InstanceTypeC38xlarge = "c3.8xlarge"
19305
19306	// EC2InstanceTypeC4Large is a EC2InstanceType enum value
19307	EC2InstanceTypeC4Large = "c4.large"
19308
19309	// EC2InstanceTypeC4Xlarge is a EC2InstanceType enum value
19310	EC2InstanceTypeC4Xlarge = "c4.xlarge"
19311
19312	// EC2InstanceTypeC42xlarge is a EC2InstanceType enum value
19313	EC2InstanceTypeC42xlarge = "c4.2xlarge"
19314
19315	// EC2InstanceTypeC44xlarge is a EC2InstanceType enum value
19316	EC2InstanceTypeC44xlarge = "c4.4xlarge"
19317
19318	// EC2InstanceTypeC48xlarge is a EC2InstanceType enum value
19319	EC2InstanceTypeC48xlarge = "c4.8xlarge"
19320
19321	// EC2InstanceTypeR3Large is a EC2InstanceType enum value
19322	EC2InstanceTypeR3Large = "r3.large"
19323
19324	// EC2InstanceTypeR3Xlarge is a EC2InstanceType enum value
19325	EC2InstanceTypeR3Xlarge = "r3.xlarge"
19326
19327	// EC2InstanceTypeR32xlarge is a EC2InstanceType enum value
19328	EC2InstanceTypeR32xlarge = "r3.2xlarge"
19329
19330	// EC2InstanceTypeR34xlarge is a EC2InstanceType enum value
19331	EC2InstanceTypeR34xlarge = "r3.4xlarge"
19332
19333	// EC2InstanceTypeR38xlarge is a EC2InstanceType enum value
19334	EC2InstanceTypeR38xlarge = "r3.8xlarge"
19335
19336	// EC2InstanceTypeR4Large is a EC2InstanceType enum value
19337	EC2InstanceTypeR4Large = "r4.large"
19338
19339	// EC2InstanceTypeR4Xlarge is a EC2InstanceType enum value
19340	EC2InstanceTypeR4Xlarge = "r4.xlarge"
19341
19342	// EC2InstanceTypeR42xlarge is a EC2InstanceType enum value
19343	EC2InstanceTypeR42xlarge = "r4.2xlarge"
19344
19345	// EC2InstanceTypeR44xlarge is a EC2InstanceType enum value
19346	EC2InstanceTypeR44xlarge = "r4.4xlarge"
19347
19348	// EC2InstanceTypeR48xlarge is a EC2InstanceType enum value
19349	EC2InstanceTypeR48xlarge = "r4.8xlarge"
19350
19351	// EC2InstanceTypeR416xlarge is a EC2InstanceType enum value
19352	EC2InstanceTypeR416xlarge = "r4.16xlarge"
19353
19354	// EC2InstanceTypeM3Medium is a EC2InstanceType enum value
19355	EC2InstanceTypeM3Medium = "m3.medium"
19356
19357	// EC2InstanceTypeM3Large is a EC2InstanceType enum value
19358	EC2InstanceTypeM3Large = "m3.large"
19359
19360	// EC2InstanceTypeM3Xlarge is a EC2InstanceType enum value
19361	EC2InstanceTypeM3Xlarge = "m3.xlarge"
19362
19363	// EC2InstanceTypeM32xlarge is a EC2InstanceType enum value
19364	EC2InstanceTypeM32xlarge = "m3.2xlarge"
19365
19366	// EC2InstanceTypeM4Large is a EC2InstanceType enum value
19367	EC2InstanceTypeM4Large = "m4.large"
19368
19369	// EC2InstanceTypeM4Xlarge is a EC2InstanceType enum value
19370	EC2InstanceTypeM4Xlarge = "m4.xlarge"
19371
19372	// EC2InstanceTypeM42xlarge is a EC2InstanceType enum value
19373	EC2InstanceTypeM42xlarge = "m4.2xlarge"
19374
19375	// EC2InstanceTypeM44xlarge is a EC2InstanceType enum value
19376	EC2InstanceTypeM44xlarge = "m4.4xlarge"
19377
19378	// EC2InstanceTypeM410xlarge is a EC2InstanceType enum value
19379	EC2InstanceTypeM410xlarge = "m4.10xlarge"
19380)
19381
19382const (
19383	// EventCodeGenericEvent is a EventCode enum value
19384	EventCodeGenericEvent = "GENERIC_EVENT"
19385
19386	// EventCodeFleetCreated is a EventCode enum value
19387	EventCodeFleetCreated = "FLEET_CREATED"
19388
19389	// EventCodeFleetDeleted is a EventCode enum value
19390	EventCodeFleetDeleted = "FLEET_DELETED"
19391
19392	// EventCodeFleetScalingEvent is a EventCode enum value
19393	EventCodeFleetScalingEvent = "FLEET_SCALING_EVENT"
19394
19395	// EventCodeFleetStateDownloading is a EventCode enum value
19396	EventCodeFleetStateDownloading = "FLEET_STATE_DOWNLOADING"
19397
19398	// EventCodeFleetStateValidating is a EventCode enum value
19399	EventCodeFleetStateValidating = "FLEET_STATE_VALIDATING"
19400
19401	// EventCodeFleetStateBuilding is a EventCode enum value
19402	EventCodeFleetStateBuilding = "FLEET_STATE_BUILDING"
19403
19404	// EventCodeFleetStateActivating is a EventCode enum value
19405	EventCodeFleetStateActivating = "FLEET_STATE_ACTIVATING"
19406
19407	// EventCodeFleetStateActive is a EventCode enum value
19408	EventCodeFleetStateActive = "FLEET_STATE_ACTIVE"
19409
19410	// EventCodeFleetStateError is a EventCode enum value
19411	EventCodeFleetStateError = "FLEET_STATE_ERROR"
19412
19413	// EventCodeFleetInitializationFailed is a EventCode enum value
19414	EventCodeFleetInitializationFailed = "FLEET_INITIALIZATION_FAILED"
19415
19416	// EventCodeFleetBinaryDownloadFailed is a EventCode enum value
19417	EventCodeFleetBinaryDownloadFailed = "FLEET_BINARY_DOWNLOAD_FAILED"
19418
19419	// EventCodeFleetValidationLaunchPathNotFound is a EventCode enum value
19420	EventCodeFleetValidationLaunchPathNotFound = "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND"
19421
19422	// EventCodeFleetValidationExecutableRuntimeFailure is a EventCode enum value
19423	EventCodeFleetValidationExecutableRuntimeFailure = "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE"
19424
19425	// EventCodeFleetValidationTimedOut is a EventCode enum value
19426	EventCodeFleetValidationTimedOut = "FLEET_VALIDATION_TIMED_OUT"
19427
19428	// EventCodeFleetActivationFailed is a EventCode enum value
19429	EventCodeFleetActivationFailed = "FLEET_ACTIVATION_FAILED"
19430
19431	// EventCodeFleetActivationFailedNoInstances is a EventCode enum value
19432	EventCodeFleetActivationFailedNoInstances = "FLEET_ACTIVATION_FAILED_NO_INSTANCES"
19433
19434	// EventCodeFleetNewGameSessionProtectionPolicyUpdated is a EventCode enum value
19435	EventCodeFleetNewGameSessionProtectionPolicyUpdated = "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED"
19436
19437	// EventCodeServerProcessInvalidPath is a EventCode enum value
19438	EventCodeServerProcessInvalidPath = "SERVER_PROCESS_INVALID_PATH"
19439
19440	// EventCodeServerProcessSdkInitializationTimeout is a EventCode enum value
19441	EventCodeServerProcessSdkInitializationTimeout = "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT"
19442
19443	// EventCodeServerProcessProcessReadyTimeout is a EventCode enum value
19444	EventCodeServerProcessProcessReadyTimeout = "SERVER_PROCESS_PROCESS_READY_TIMEOUT"
19445
19446	// EventCodeServerProcessCrashed is a EventCode enum value
19447	EventCodeServerProcessCrashed = "SERVER_PROCESS_CRASHED"
19448
19449	// EventCodeServerProcessTerminatedUnhealthy is a EventCode enum value
19450	EventCodeServerProcessTerminatedUnhealthy = "SERVER_PROCESS_TERMINATED_UNHEALTHY"
19451
19452	// EventCodeServerProcessForceTerminated is a EventCode enum value
19453	EventCodeServerProcessForceTerminated = "SERVER_PROCESS_FORCE_TERMINATED"
19454
19455	// EventCodeServerProcessProcessExitTimeout is a EventCode enum value
19456	EventCodeServerProcessProcessExitTimeout = "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT"
19457
19458	// EventCodeGameSessionActivationTimeout is a EventCode enum value
19459	EventCodeGameSessionActivationTimeout = "GAME_SESSION_ACTIVATION_TIMEOUT"
19460
19461	// EventCodeFleetCreationExtractingBuild is a EventCode enum value
19462	EventCodeFleetCreationExtractingBuild = "FLEET_CREATION_EXTRACTING_BUILD"
19463
19464	// EventCodeFleetCreationRunningInstaller is a EventCode enum value
19465	EventCodeFleetCreationRunningInstaller = "FLEET_CREATION_RUNNING_INSTALLER"
19466
19467	// EventCodeFleetCreationValidatingRuntimeConfig is a EventCode enum value
19468	EventCodeFleetCreationValidatingRuntimeConfig = "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG"
19469
19470	// EventCodeFleetVpcPeeringSucceeded is a EventCode enum value
19471	EventCodeFleetVpcPeeringSucceeded = "FLEET_VPC_PEERING_SUCCEEDED"
19472
19473	// EventCodeFleetVpcPeeringFailed is a EventCode enum value
19474	EventCodeFleetVpcPeeringFailed = "FLEET_VPC_PEERING_FAILED"
19475
19476	// EventCodeFleetVpcPeeringDeleted is a EventCode enum value
19477	EventCodeFleetVpcPeeringDeleted = "FLEET_VPC_PEERING_DELETED"
19478
19479	// EventCodeInstanceInterrupted is a EventCode enum value
19480	EventCodeInstanceInterrupted = "INSTANCE_INTERRUPTED"
19481)
19482
19483const (
19484	// FleetActionAutoScaling is a FleetAction enum value
19485	FleetActionAutoScaling = "AUTO_SCALING"
19486)
19487
19488const (
19489	// FleetStatusNew is a FleetStatus enum value
19490	FleetStatusNew = "NEW"
19491
19492	// FleetStatusDownloading is a FleetStatus enum value
19493	FleetStatusDownloading = "DOWNLOADING"
19494
19495	// FleetStatusValidating is a FleetStatus enum value
19496	FleetStatusValidating = "VALIDATING"
19497
19498	// FleetStatusBuilding is a FleetStatus enum value
19499	FleetStatusBuilding = "BUILDING"
19500
19501	// FleetStatusActivating is a FleetStatus enum value
19502	FleetStatusActivating = "ACTIVATING"
19503
19504	// FleetStatusActive is a FleetStatus enum value
19505	FleetStatusActive = "ACTIVE"
19506
19507	// FleetStatusDeleting is a FleetStatus enum value
19508	FleetStatusDeleting = "DELETING"
19509
19510	// FleetStatusError is a FleetStatus enum value
19511	FleetStatusError = "ERROR"
19512
19513	// FleetStatusTerminated is a FleetStatus enum value
19514	FleetStatusTerminated = "TERMINATED"
19515)
19516
19517const (
19518	// FleetTypeOnDemand is a FleetType enum value
19519	FleetTypeOnDemand = "ON_DEMAND"
19520
19521	// FleetTypeSpot is a FleetType enum value
19522	FleetTypeSpot = "SPOT"
19523)
19524
19525const (
19526	// GameSessionPlacementStatePending is a GameSessionPlacementState enum value
19527	GameSessionPlacementStatePending = "PENDING"
19528
19529	// GameSessionPlacementStateFulfilled is a GameSessionPlacementState enum value
19530	GameSessionPlacementStateFulfilled = "FULFILLED"
19531
19532	// GameSessionPlacementStateCancelled is a GameSessionPlacementState enum value
19533	GameSessionPlacementStateCancelled = "CANCELLED"
19534
19535	// GameSessionPlacementStateTimedOut is a GameSessionPlacementState enum value
19536	GameSessionPlacementStateTimedOut = "TIMED_OUT"
19537)
19538
19539const (
19540	// GameSessionStatusActive is a GameSessionStatus enum value
19541	GameSessionStatusActive = "ACTIVE"
19542
19543	// GameSessionStatusActivating is a GameSessionStatus enum value
19544	GameSessionStatusActivating = "ACTIVATING"
19545
19546	// GameSessionStatusTerminated is a GameSessionStatus enum value
19547	GameSessionStatusTerminated = "TERMINATED"
19548
19549	// GameSessionStatusTerminating is a GameSessionStatus enum value
19550	GameSessionStatusTerminating = "TERMINATING"
19551
19552	// GameSessionStatusError is a GameSessionStatus enum value
19553	GameSessionStatusError = "ERROR"
19554)
19555
19556const (
19557	// GameSessionStatusReasonInterrupted is a GameSessionStatusReason enum value
19558	GameSessionStatusReasonInterrupted = "INTERRUPTED"
19559)
19560
19561const (
19562	// InstanceStatusPending is a InstanceStatus enum value
19563	InstanceStatusPending = "PENDING"
19564
19565	// InstanceStatusActive is a InstanceStatus enum value
19566	InstanceStatusActive = "ACTIVE"
19567
19568	// InstanceStatusTerminating is a InstanceStatus enum value
19569	InstanceStatusTerminating = "TERMINATING"
19570)
19571
19572const (
19573	// IpProtocolTcp is a IpProtocol enum value
19574	IpProtocolTcp = "TCP"
19575
19576	// IpProtocolUdp is a IpProtocol enum value
19577	IpProtocolUdp = "UDP"
19578)
19579
19580const (
19581	// MatchmakingConfigurationStatusCancelled is a MatchmakingConfigurationStatus enum value
19582	MatchmakingConfigurationStatusCancelled = "CANCELLED"
19583
19584	// MatchmakingConfigurationStatusCompleted is a MatchmakingConfigurationStatus enum value
19585	MatchmakingConfigurationStatusCompleted = "COMPLETED"
19586
19587	// MatchmakingConfigurationStatusFailed is a MatchmakingConfigurationStatus enum value
19588	MatchmakingConfigurationStatusFailed = "FAILED"
19589
19590	// MatchmakingConfigurationStatusPlacing is a MatchmakingConfigurationStatus enum value
19591	MatchmakingConfigurationStatusPlacing = "PLACING"
19592
19593	// MatchmakingConfigurationStatusQueued is a MatchmakingConfigurationStatus enum value
19594	MatchmakingConfigurationStatusQueued = "QUEUED"
19595
19596	// MatchmakingConfigurationStatusRequiresAcceptance is a MatchmakingConfigurationStatus enum value
19597	MatchmakingConfigurationStatusRequiresAcceptance = "REQUIRES_ACCEPTANCE"
19598
19599	// MatchmakingConfigurationStatusSearching is a MatchmakingConfigurationStatus enum value
19600	MatchmakingConfigurationStatusSearching = "SEARCHING"
19601
19602	// MatchmakingConfigurationStatusTimedOut is a MatchmakingConfigurationStatus enum value
19603	MatchmakingConfigurationStatusTimedOut = "TIMED_OUT"
19604)
19605
19606const (
19607	// MetricNameActivatingGameSessions is a MetricName enum value
19608	MetricNameActivatingGameSessions = "ActivatingGameSessions"
19609
19610	// MetricNameActiveGameSessions is a MetricName enum value
19611	MetricNameActiveGameSessions = "ActiveGameSessions"
19612
19613	// MetricNameActiveInstances is a MetricName enum value
19614	MetricNameActiveInstances = "ActiveInstances"
19615
19616	// MetricNameAvailableGameSessions is a MetricName enum value
19617	MetricNameAvailableGameSessions = "AvailableGameSessions"
19618
19619	// MetricNameAvailablePlayerSessions is a MetricName enum value
19620	MetricNameAvailablePlayerSessions = "AvailablePlayerSessions"
19621
19622	// MetricNameCurrentPlayerSessions is a MetricName enum value
19623	MetricNameCurrentPlayerSessions = "CurrentPlayerSessions"
19624
19625	// MetricNameIdleInstances is a MetricName enum value
19626	MetricNameIdleInstances = "IdleInstances"
19627
19628	// MetricNamePercentAvailableGameSessions is a MetricName enum value
19629	MetricNamePercentAvailableGameSessions = "PercentAvailableGameSessions"
19630
19631	// MetricNamePercentIdleInstances is a MetricName enum value
19632	MetricNamePercentIdleInstances = "PercentIdleInstances"
19633
19634	// MetricNameQueueDepth is a MetricName enum value
19635	MetricNameQueueDepth = "QueueDepth"
19636
19637	// MetricNameWaitTime is a MetricName enum value
19638	MetricNameWaitTime = "WaitTime"
19639)
19640
19641const (
19642	// OperatingSystemWindows2012 is a OperatingSystem enum value
19643	OperatingSystemWindows2012 = "WINDOWS_2012"
19644
19645	// OperatingSystemAmazonLinux is a OperatingSystem enum value
19646	OperatingSystemAmazonLinux = "AMAZON_LINUX"
19647)
19648
19649const (
19650	// PlayerSessionCreationPolicyAcceptAll is a PlayerSessionCreationPolicy enum value
19651	PlayerSessionCreationPolicyAcceptAll = "ACCEPT_ALL"
19652
19653	// PlayerSessionCreationPolicyDenyAll is a PlayerSessionCreationPolicy enum value
19654	PlayerSessionCreationPolicyDenyAll = "DENY_ALL"
19655)
19656
19657const (
19658	// PlayerSessionStatusReserved is a PlayerSessionStatus enum value
19659	PlayerSessionStatusReserved = "RESERVED"
19660
19661	// PlayerSessionStatusActive is a PlayerSessionStatus enum value
19662	PlayerSessionStatusActive = "ACTIVE"
19663
19664	// PlayerSessionStatusCompleted is a PlayerSessionStatus enum value
19665	PlayerSessionStatusCompleted = "COMPLETED"
19666
19667	// PlayerSessionStatusTimedout is a PlayerSessionStatus enum value
19668	PlayerSessionStatusTimedout = "TIMEDOUT"
19669)
19670
19671const (
19672	// PolicyTypeRuleBased is a PolicyType enum value
19673	PolicyTypeRuleBased = "RuleBased"
19674
19675	// PolicyTypeTargetBased is a PolicyType enum value
19676	PolicyTypeTargetBased = "TargetBased"
19677)
19678
19679const (
19680	// ProtectionPolicyNoProtection is a ProtectionPolicy enum value
19681	ProtectionPolicyNoProtection = "NoProtection"
19682
19683	// ProtectionPolicyFullProtection is a ProtectionPolicy enum value
19684	ProtectionPolicyFullProtection = "FullProtection"
19685)
19686
19687const (
19688	// RoutingStrategyTypeSimple is a RoutingStrategyType enum value
19689	RoutingStrategyTypeSimple = "SIMPLE"
19690
19691	// RoutingStrategyTypeTerminal is a RoutingStrategyType enum value
19692	RoutingStrategyTypeTerminal = "TERMINAL"
19693)
19694
19695const (
19696	// ScalingAdjustmentTypeChangeInCapacity is a ScalingAdjustmentType enum value
19697	ScalingAdjustmentTypeChangeInCapacity = "ChangeInCapacity"
19698
19699	// ScalingAdjustmentTypeExactCapacity is a ScalingAdjustmentType enum value
19700	ScalingAdjustmentTypeExactCapacity = "ExactCapacity"
19701
19702	// ScalingAdjustmentTypePercentChangeInCapacity is a ScalingAdjustmentType enum value
19703	ScalingAdjustmentTypePercentChangeInCapacity = "PercentChangeInCapacity"
19704)
19705
19706const (
19707	// ScalingStatusTypeActive is a ScalingStatusType enum value
19708	ScalingStatusTypeActive = "ACTIVE"
19709
19710	// ScalingStatusTypeUpdateRequested is a ScalingStatusType enum value
19711	ScalingStatusTypeUpdateRequested = "UPDATE_REQUESTED"
19712
19713	// ScalingStatusTypeUpdating is a ScalingStatusType enum value
19714	ScalingStatusTypeUpdating = "UPDATING"
19715
19716	// ScalingStatusTypeDeleteRequested is a ScalingStatusType enum value
19717	ScalingStatusTypeDeleteRequested = "DELETE_REQUESTED"
19718
19719	// ScalingStatusTypeDeleting is a ScalingStatusType enum value
19720	ScalingStatusTypeDeleting = "DELETING"
19721
19722	// ScalingStatusTypeDeleted is a ScalingStatusType enum value
19723	ScalingStatusTypeDeleted = "DELETED"
19724
19725	// ScalingStatusTypeError is a ScalingStatusType enum value
19726	ScalingStatusTypeError = "ERROR"
19727)
19728