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//    * Describe fleets:
513//
514// DescribeFleetAttributes
515//
516// DescribeFleetPortSettings
517//
518// DescribeFleetUtilization
519//
520// DescribeRuntimeConfiguration
521//
522// DescribeFleetEvents
523//
524//    * Update fleets:
525//
526// UpdateFleetAttributes
527//
528// UpdateFleetCapacity
529//
530// UpdateFleetPortSettings
531//
532// UpdateRuntimeConfiguration
533//
534//    * Manage fleet capacity:
535//
536// DescribeFleetCapacity
537//
538// UpdateFleetCapacity
539//
540// PutScalingPolicy (automatic scaling)
541//
542// DescribeScalingPolicies (automatic scaling)
543//
544// DeleteScalingPolicy (automatic scaling)
545//
546// DescribeEC2InstanceLimits
547//
548//    * DeleteFleet
549//
550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
551// with awserr.Error's Code and Message methods to get detailed information about
552// the error.
553//
554// See the AWS API reference guide for Amazon GameLift's
555// API operation CreateFleet for usage and error information.
556//
557// Returned Error Codes:
558//   * ErrCodeInternalServiceException "InternalServiceException"
559//   The service encountered an unrecoverable internal failure while processing
560//   the request. Clients can retry such requests immediately or after a waiting
561//   period.
562//
563//   * ErrCodeNotFoundException "NotFoundException"
564//   A service resource associated with the request could not be found. Clients
565//   should not retry such requests.
566//
567//   * ErrCodeConflictException "ConflictException"
568//   The requested operation would cause a conflict with the current state of
569//   a service resource associated with the request. Resolve the conflict before
570//   retrying this request.
571//
572//   * ErrCodeLimitExceededException "LimitExceededException"
573//   The requested operation would cause the resource to exceed the allowed service
574//   limit. Resolve the issue before retrying.
575//
576//   * ErrCodeInvalidRequestException "InvalidRequestException"
577//   One or more parameter values in the request are invalid. Correct the invalid
578//   parameter values before retrying.
579//
580//   * ErrCodeUnauthorizedException "UnauthorizedException"
581//   The client failed authentication. Clients should not retry such requests.
582//
583// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet
584func (c *GameLift) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
585	req, out := c.CreateFleetRequest(input)
586	return out, req.Send()
587}
588
589// CreateFleetWithContext is the same as CreateFleet with the addition of
590// the ability to pass a context and additional request options.
591//
592// See CreateFleet for details on how to use this API operation.
593//
594// The context must be non-nil and will be used for request cancellation. If
595// the context is nil a panic will occur. In the future the SDK may create
596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
597// for more information on using Contexts.
598func (c *GameLift) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
599	req, out := c.CreateFleetRequest(input)
600	req.SetContext(ctx)
601	req.ApplyOptions(opts...)
602	return out, req.Send()
603}
604
605const opCreateGameSession = "CreateGameSession"
606
607// CreateGameSessionRequest generates a "aws/request.Request" representing the
608// client's request for the CreateGameSession operation. The "output" return
609// value will be populated with the request's response once the request completes
610// successfuly.
611//
612// Use "Send" method on the returned Request to send the API call to the service.
613// the "output" return value is not valid until after Send returns without error.
614//
615// See CreateGameSession for more information on using the CreateGameSession
616// API call, and error handling.
617//
618// This method is useful when you want to inject custom logic or configuration
619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
620//
621//
622//    // Example sending a request using the CreateGameSessionRequest method.
623//    req, resp := client.CreateGameSessionRequest(params)
624//
625//    err := req.Send()
626//    if err == nil { // resp is now filled
627//        fmt.Println(resp)
628//    }
629//
630// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
631func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req *request.Request, output *CreateGameSessionOutput) {
632	op := &request.Operation{
633		Name:       opCreateGameSession,
634		HTTPMethod: "POST",
635		HTTPPath:   "/",
636	}
637
638	if input == nil {
639		input = &CreateGameSessionInput{}
640	}
641
642	output = &CreateGameSessionOutput{}
643	req = c.newRequest(op, input, output)
644	return
645}
646
647// CreateGameSession API operation for Amazon GameLift.
648//
649// Creates a multiplayer game session for players. This action creates a game
650// session record and assigns an available server process in the specified fleet
651// to host the game session. A fleet must have an ACTIVE status before a game
652// session can be created in it.
653//
654// To create a game session, specify either fleet ID or alias ID and indicate
655// a maximum number of players to allow in the game session. You can also provide
656// a name and game-specific properties for this game session. If successful,
657// a GameSession object is returned containing the game session properties and
658// other settings you specified.
659//
660// Idempotency tokens. You can add a token that uniquely identifies game session
661// requests. This is useful for ensuring that game session requests are idempotent.
662// Multiple requests with the same idempotency token are processed only once;
663// subsequent requests return the original result. All response values are the
664// same with the exception of game session status, which may change.
665//
666// Resource creation limits. If you are creating a game session on a fleet with
667// a resource creation limit policy in force, then you must specify a creator
668// ID. Without this ID, Amazon GameLift has no way to evaluate the policy for
669// this new game session request.
670//
671// Player acceptance policy. By default, newly created game sessions are open
672// to new players. You can restrict new player access by using UpdateGameSession
673// to change the game session's player session creation policy.
674//
675// Game session logs. Logs are retained for all active game sessions for 14
676// days. To access the logs, call GetGameSessionLogUrl to download the log files.
677//
678// Available in Amazon GameLift Local.
679//
680// Game-session-related operations include:
681//
682//    * CreateGameSession
683//
684//    * DescribeGameSessions
685//
686//    * DescribeGameSessionDetails
687//
688//    * SearchGameSessions
689//
690//    * UpdateGameSession
691//
692//    * GetGameSessionLogUrl
693//
694//    * Game session placements
695//
696// StartGameSessionPlacement
697//
698// DescribeGameSessionPlacement
699//
700// StopGameSessionPlacement
701//
702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
703// with awserr.Error's Code and Message methods to get detailed information about
704// the error.
705//
706// See the AWS API reference guide for Amazon GameLift's
707// API operation CreateGameSession for usage and error information.
708//
709// Returned Error Codes:
710//   * ErrCodeConflictException "ConflictException"
711//   The requested operation would cause a conflict with the current state of
712//   a service resource associated with the request. Resolve the conflict before
713//   retrying this request.
714//
715//   * ErrCodeInternalServiceException "InternalServiceException"
716//   The service encountered an unrecoverable internal failure while processing
717//   the request. Clients can retry such requests immediately or after a waiting
718//   period.
719//
720//   * ErrCodeUnauthorizedException "UnauthorizedException"
721//   The client failed authentication. Clients should not retry such requests.
722//
723//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
724//   The requested operation would cause a conflict with the current state of
725//   a resource associated with the request and/or the fleet. Resolve the conflict
726//   before retrying.
727//
728//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
729//   The service is unable to resolve the routing for a particular alias because
730//   it has a terminal RoutingStrategy associated with it. The message returned
731//   in this exception is the message defined in the routing strategy itself.
732//   Such requests should only be retried if the routing strategy for the specified
733//   alias is modified.
734//
735//   * ErrCodeInvalidRequestException "InvalidRequestException"
736//   One or more parameter values in the request are invalid. Correct the invalid
737//   parameter values before retrying.
738//
739//   * ErrCodeNotFoundException "NotFoundException"
740//   A service resource associated with the request could not be found. Clients
741//   should not retry such requests.
742//
743//   * ErrCodeFleetCapacityExceededException "FleetCapacityExceededException"
744//   The specified fleet has no available instances to fulfill a CreateGameSession
745//   request. Clients can retry such requests immediately or after a waiting period.
746//
747//   * ErrCodeLimitExceededException "LimitExceededException"
748//   The requested operation would cause the resource to exceed the allowed service
749//   limit. Resolve the issue before retrying.
750//
751//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
752//   A game session with this custom ID string already exists in this fleet. Resolve
753//   this conflict before retrying this request.
754//
755// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
756func (c *GameLift) CreateGameSession(input *CreateGameSessionInput) (*CreateGameSessionOutput, error) {
757	req, out := c.CreateGameSessionRequest(input)
758	return out, req.Send()
759}
760
761// CreateGameSessionWithContext is the same as CreateGameSession with the addition of
762// the ability to pass a context and additional request options.
763//
764// See CreateGameSession for details on how to use this API operation.
765//
766// The context must be non-nil and will be used for request cancellation. If
767// the context is nil a panic will occur. In the future the SDK may create
768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
769// for more information on using Contexts.
770func (c *GameLift) CreateGameSessionWithContext(ctx aws.Context, input *CreateGameSessionInput, opts ...request.Option) (*CreateGameSessionOutput, error) {
771	req, out := c.CreateGameSessionRequest(input)
772	req.SetContext(ctx)
773	req.ApplyOptions(opts...)
774	return out, req.Send()
775}
776
777const opCreateGameSessionQueue = "CreateGameSessionQueue"
778
779// CreateGameSessionQueueRequest generates a "aws/request.Request" representing the
780// client's request for the CreateGameSessionQueue operation. The "output" return
781// value will be populated with the request's response once the request completes
782// successfuly.
783//
784// Use "Send" method on the returned Request to send the API call to the service.
785// the "output" return value is not valid until after Send returns without error.
786//
787// See CreateGameSessionQueue for more information on using the CreateGameSessionQueue
788// API call, and error handling.
789//
790// This method is useful when you want to inject custom logic or configuration
791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
792//
793//
794//    // Example sending a request using the CreateGameSessionQueueRequest method.
795//    req, resp := client.CreateGameSessionQueueRequest(params)
796//
797//    err := req.Send()
798//    if err == nil { // resp is now filled
799//        fmt.Println(resp)
800//    }
801//
802// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
803func (c *GameLift) CreateGameSessionQueueRequest(input *CreateGameSessionQueueInput) (req *request.Request, output *CreateGameSessionQueueOutput) {
804	op := &request.Operation{
805		Name:       opCreateGameSessionQueue,
806		HTTPMethod: "POST",
807		HTTPPath:   "/",
808	}
809
810	if input == nil {
811		input = &CreateGameSessionQueueInput{}
812	}
813
814	output = &CreateGameSessionQueueOutput{}
815	req = c.newRequest(op, input, output)
816	return
817}
818
819// CreateGameSessionQueue API operation for Amazon GameLift.
820//
821// Establishes a new queue for processing requests to place new game sessions.
822// A queue identifies where new game sessions can be hosted -- by specifying
823// a list of destinations (fleets or aliases) -- and how long requests can wait
824// in the queue before timing out. You can set up a queue to try to place game
825// sessions on fleets in multiple regions. To add placement requests to a queue,
826// call StartGameSessionPlacement and reference the queue name.
827//
828// Destination order. When processing a request for a game session, Amazon GameLift
829// tries each destination in order until it finds one with available resources
830// to host the new game session. A queue's default order is determined by how
831// destinations are listed. The default order is overridden when a game session
832// placement request provides player latency information. Player latency information
833// enables Amazon GameLift to prioritize destinations where players report the
834// lowest average latency, as a result placing the new game session where the
835// majority of players will have the best possible gameplay experience.
836//
837// Player latency policies. For placement requests containing player latency
838// information, use player latency policies to protect individual players from
839// very high latencies. With a latency cap, even when a destination can deliver
840// a low latency for most players, the game is not placed where any individual
841// player is reporting latency higher than a policy's maximum. A queue can have
842// multiple latency policies, which are enforced consecutively starting with
843// the policy with the lowest latency cap. Use multiple policies to gradually
844// relax latency controls; for example, you might set a policy with a low latency
845// cap for the first 60 seconds, a second policy with a higher cap for the next
846// 60 seconds, etc.
847//
848// To create a new queue, provide a name, timeout value, a list of destinations
849// and, if desired, a set of latency policies. If successful, a new queue object
850// is returned.
851//
852// Queue-related operations include:
853//
854//    * CreateGameSessionQueue
855//
856//    * DescribeGameSessionQueues
857//
858//    * UpdateGameSessionQueue
859//
860//    * DeleteGameSessionQueue
861//
862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
863// with awserr.Error's Code and Message methods to get detailed information about
864// the error.
865//
866// See the AWS API reference guide for Amazon GameLift's
867// API operation CreateGameSessionQueue for usage and error information.
868//
869// Returned Error Codes:
870//   * ErrCodeInternalServiceException "InternalServiceException"
871//   The service encountered an unrecoverable internal failure while processing
872//   the request. Clients can retry such requests immediately or after a waiting
873//   period.
874//
875//   * ErrCodeInvalidRequestException "InvalidRequestException"
876//   One or more parameter values in the request are invalid. Correct the invalid
877//   parameter values before retrying.
878//
879//   * ErrCodeUnauthorizedException "UnauthorizedException"
880//   The client failed authentication. Clients should not retry such requests.
881//
882//   * ErrCodeLimitExceededException "LimitExceededException"
883//   The requested operation would cause the resource to exceed the allowed service
884//   limit. Resolve the issue before retrying.
885//
886// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
887func (c *GameLift) CreateGameSessionQueue(input *CreateGameSessionQueueInput) (*CreateGameSessionQueueOutput, error) {
888	req, out := c.CreateGameSessionQueueRequest(input)
889	return out, req.Send()
890}
891
892// CreateGameSessionQueueWithContext is the same as CreateGameSessionQueue with the addition of
893// the ability to pass a context and additional request options.
894//
895// See CreateGameSessionQueue for details on how to use this API operation.
896//
897// The context must be non-nil and will be used for request cancellation. If
898// the context is nil a panic will occur. In the future the SDK may create
899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
900// for more information on using Contexts.
901func (c *GameLift) CreateGameSessionQueueWithContext(ctx aws.Context, input *CreateGameSessionQueueInput, opts ...request.Option) (*CreateGameSessionQueueOutput, error) {
902	req, out := c.CreateGameSessionQueueRequest(input)
903	req.SetContext(ctx)
904	req.ApplyOptions(opts...)
905	return out, req.Send()
906}
907
908const opCreateMatchmakingConfiguration = "CreateMatchmakingConfiguration"
909
910// CreateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
911// client's request for the CreateMatchmakingConfiguration operation. The "output" return
912// value will be populated with the request's response once the request completes
913// successfuly.
914//
915// Use "Send" method on the returned Request to send the API call to the service.
916// the "output" return value is not valid until after Send returns without error.
917//
918// See CreateMatchmakingConfiguration for more information on using the CreateMatchmakingConfiguration
919// API call, and error handling.
920//
921// This method is useful when you want to inject custom logic or configuration
922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
923//
924//
925//    // Example sending a request using the CreateMatchmakingConfigurationRequest method.
926//    req, resp := client.CreateMatchmakingConfigurationRequest(params)
927//
928//    err := req.Send()
929//    if err == nil { // resp is now filled
930//        fmt.Println(resp)
931//    }
932//
933// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
934func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakingConfigurationInput) (req *request.Request, output *CreateMatchmakingConfigurationOutput) {
935	op := &request.Operation{
936		Name:       opCreateMatchmakingConfiguration,
937		HTTPMethod: "POST",
938		HTTPPath:   "/",
939	}
940
941	if input == nil {
942		input = &CreateMatchmakingConfigurationInput{}
943	}
944
945	output = &CreateMatchmakingConfigurationOutput{}
946	req = c.newRequest(op, input, output)
947	return
948}
949
950// CreateMatchmakingConfiguration API operation for Amazon GameLift.
951//
952// Defines a new matchmaking configuration for use with FlexMatch. A matchmaking
953// configuration sets out guidelines for matching players and getting the matches
954// into games. You can set up multiple matchmaking configurations to handle
955// the scenarios needed for your game. Each matchmaking ticket (StartMatchmaking
956// or StartMatchBackfill) specifies a configuration for the match and provides
957// player attributes to support the configuration being used.
958//
959// To create a matchmaking configuration, at a minimum you must specify the
960// following: configuration name; a rule set that governs how to evaluate players
961// and find acceptable matches; a game session queue to use when placing a new
962// game session for the match; and the maximum time allowed for a matchmaking
963// attempt.
964//
965// Player acceptance -- In each configuration, you have the option to require
966// that all players accept participation in a proposed match. To enable this
967// feature, set AcceptanceRequired to true and specify a time limit for player
968// acceptance. Players have the option to accept or reject a proposed match,
969// and a match does not move ahead to game session placement unless all matched
970// players accept.
971//
972// Matchmaking status notification -- There are two ways to track the progress
973// of matchmaking tickets: (1) polling ticket status with DescribeMatchmaking;
974// or (2) receiving notifications with Amazon Simple Notification Service (SNS).
975// To use notifications, you first need to set up an SNS topic to receive the
976// notifications, and provide the topic ARN in the matchmaking configuration
977// (see  Setting up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)).
978// Since notifications promise only "best effort" delivery, we recommend calling
979// DescribeMatchmaking if no notifications are received within 30 seconds.
980//
981// Operations related to match configurations and rule sets include:
982//
983//    * CreateMatchmakingConfiguration
984//
985//    * DescribeMatchmakingConfigurations
986//
987//    * UpdateMatchmakingConfiguration
988//
989//    * DeleteMatchmakingConfiguration
990//
991//    * CreateMatchmakingRuleSet
992//
993//    * DescribeMatchmakingRuleSets
994//
995//    * ValidateMatchmakingRuleSet
996//
997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
998// with awserr.Error's Code and Message methods to get detailed information about
999// the error.
1000//
1001// See the AWS API reference guide for Amazon GameLift's
1002// API operation CreateMatchmakingConfiguration for usage and error information.
1003//
1004// Returned Error Codes:
1005//   * ErrCodeInvalidRequestException "InvalidRequestException"
1006//   One or more parameter values in the request are invalid. Correct the invalid
1007//   parameter values before retrying.
1008//
1009//   * ErrCodeLimitExceededException "LimitExceededException"
1010//   The requested operation would cause the resource to exceed the allowed service
1011//   limit. Resolve the issue before retrying.
1012//
1013//   * ErrCodeNotFoundException "NotFoundException"
1014//   A service resource associated with the request could not be found. Clients
1015//   should not retry such requests.
1016//
1017//   * ErrCodeInternalServiceException "InternalServiceException"
1018//   The service encountered an unrecoverable internal failure while processing
1019//   the request. Clients can retry such requests immediately or after a waiting
1020//   period.
1021//
1022//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
1023//   The requested operation is not supported in the region specified.
1024//
1025// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
1026func (c *GameLift) CreateMatchmakingConfiguration(input *CreateMatchmakingConfigurationInput) (*CreateMatchmakingConfigurationOutput, error) {
1027	req, out := c.CreateMatchmakingConfigurationRequest(input)
1028	return out, req.Send()
1029}
1030
1031// CreateMatchmakingConfigurationWithContext is the same as CreateMatchmakingConfiguration with the addition of
1032// the ability to pass a context and additional request options.
1033//
1034// See CreateMatchmakingConfiguration for details on how to use this API operation.
1035//
1036// The context must be non-nil and will be used for request cancellation. If
1037// the context is nil a panic will occur. In the future the SDK may create
1038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1039// for more information on using Contexts.
1040func (c *GameLift) CreateMatchmakingConfigurationWithContext(ctx aws.Context, input *CreateMatchmakingConfigurationInput, opts ...request.Option) (*CreateMatchmakingConfigurationOutput, error) {
1041	req, out := c.CreateMatchmakingConfigurationRequest(input)
1042	req.SetContext(ctx)
1043	req.ApplyOptions(opts...)
1044	return out, req.Send()
1045}
1046
1047const opCreateMatchmakingRuleSet = "CreateMatchmakingRuleSet"
1048
1049// CreateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
1050// client's request for the CreateMatchmakingRuleSet operation. The "output" return
1051// value will be populated with the request's response once the request completes
1052// successfuly.
1053//
1054// Use "Send" method on the returned Request to send the API call to the service.
1055// the "output" return value is not valid until after Send returns without error.
1056//
1057// See CreateMatchmakingRuleSet for more information on using the CreateMatchmakingRuleSet
1058// API call, and error handling.
1059//
1060// This method is useful when you want to inject custom logic or configuration
1061// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1062//
1063//
1064//    // Example sending a request using the CreateMatchmakingRuleSetRequest method.
1065//    req, resp := client.CreateMatchmakingRuleSetRequest(params)
1066//
1067//    err := req.Send()
1068//    if err == nil { // resp is now filled
1069//        fmt.Println(resp)
1070//    }
1071//
1072// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
1073func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleSetInput) (req *request.Request, output *CreateMatchmakingRuleSetOutput) {
1074	op := &request.Operation{
1075		Name:       opCreateMatchmakingRuleSet,
1076		HTTPMethod: "POST",
1077		HTTPPath:   "/",
1078	}
1079
1080	if input == nil {
1081		input = &CreateMatchmakingRuleSetInput{}
1082	}
1083
1084	output = &CreateMatchmakingRuleSetOutput{}
1085	req = c.newRequest(op, input, output)
1086	return
1087}
1088
1089// CreateMatchmakingRuleSet API operation for Amazon GameLift.
1090//
1091// Creates a new rule set for FlexMatch matchmaking. A rule set describes the
1092// type of match to create, such as the number and size of teams, and sets the
1093// parameters for acceptable player matches, such as minimum skill level or
1094// character type. Rule sets are used in matchmaking configurations, which define
1095// how matchmaking requests are handled. Each MatchmakingConfiguration uses
1096// one rule set; you can set up multiple rule sets to handle the scenarios that
1097// suit your game (such as for different game modes), and create a separate
1098// matchmaking configuration for each rule set. See additional information on
1099// rule set content in the MatchmakingRuleSet structure. For help creating rule
1100// sets, including useful examples, see the topic  Adding FlexMatch to Your
1101// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html).
1102//
1103// Once created, matchmaking rule sets cannot be changed or deleted, so we recommend
1104// checking the rule set syntax using ValidateMatchmakingRuleSet before creating
1105// the rule set.
1106//
1107// To create a matchmaking rule set, provide the set of rules and a unique name.
1108// Rule sets must be defined in the same region as the matchmaking configuration
1109// they will be used with. Rule sets cannot be edited or deleted. If you need
1110// to change a rule set, create a new one with the necessary edits and then
1111// update matchmaking configurations to use the new rule set.
1112//
1113// Operations related to match configurations and rule sets include:
1114//
1115//    * CreateMatchmakingConfiguration
1116//
1117//    * DescribeMatchmakingConfigurations
1118//
1119//    * UpdateMatchmakingConfiguration
1120//
1121//    * DeleteMatchmakingConfiguration
1122//
1123//    * CreateMatchmakingRuleSet
1124//
1125//    * DescribeMatchmakingRuleSets
1126//
1127//    * ValidateMatchmakingRuleSet
1128//
1129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1130// with awserr.Error's Code and Message methods to get detailed information about
1131// the error.
1132//
1133// See the AWS API reference guide for Amazon GameLift's
1134// API operation CreateMatchmakingRuleSet for usage and error information.
1135//
1136// Returned Error Codes:
1137//   * ErrCodeInvalidRequestException "InvalidRequestException"
1138//   One or more parameter values in the request are invalid. Correct the invalid
1139//   parameter values before retrying.
1140//
1141//   * ErrCodeInternalServiceException "InternalServiceException"
1142//   The service encountered an unrecoverable internal failure while processing
1143//   the request. Clients can retry such requests immediately or after a waiting
1144//   period.
1145//
1146//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
1147//   The requested operation is not supported in the region specified.
1148//
1149// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
1150func (c *GameLift) CreateMatchmakingRuleSet(input *CreateMatchmakingRuleSetInput) (*CreateMatchmakingRuleSetOutput, error) {
1151	req, out := c.CreateMatchmakingRuleSetRequest(input)
1152	return out, req.Send()
1153}
1154
1155// CreateMatchmakingRuleSetWithContext is the same as CreateMatchmakingRuleSet with the addition of
1156// the ability to pass a context and additional request options.
1157//
1158// See CreateMatchmakingRuleSet for details on how to use this API operation.
1159//
1160// The context must be non-nil and will be used for request cancellation. If
1161// the context is nil a panic will occur. In the future the SDK may create
1162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1163// for more information on using Contexts.
1164func (c *GameLift) CreateMatchmakingRuleSetWithContext(ctx aws.Context, input *CreateMatchmakingRuleSetInput, opts ...request.Option) (*CreateMatchmakingRuleSetOutput, error) {
1165	req, out := c.CreateMatchmakingRuleSetRequest(input)
1166	req.SetContext(ctx)
1167	req.ApplyOptions(opts...)
1168	return out, req.Send()
1169}
1170
1171const opCreatePlayerSession = "CreatePlayerSession"
1172
1173// CreatePlayerSessionRequest generates a "aws/request.Request" representing the
1174// client's request for the CreatePlayerSession operation. The "output" return
1175// value will be populated with the request's response once the request completes
1176// successfuly.
1177//
1178// Use "Send" method on the returned Request to send the API call to the service.
1179// the "output" return value is not valid until after Send returns without error.
1180//
1181// See CreatePlayerSession for more information on using the CreatePlayerSession
1182// API call, and error handling.
1183//
1184// This method is useful when you want to inject custom logic or configuration
1185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1186//
1187//
1188//    // Example sending a request using the CreatePlayerSessionRequest method.
1189//    req, resp := client.CreatePlayerSessionRequest(params)
1190//
1191//    err := req.Send()
1192//    if err == nil { // resp is now filled
1193//        fmt.Println(resp)
1194//    }
1195//
1196// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
1197func (c *GameLift) CreatePlayerSessionRequest(input *CreatePlayerSessionInput) (req *request.Request, output *CreatePlayerSessionOutput) {
1198	op := &request.Operation{
1199		Name:       opCreatePlayerSession,
1200		HTTPMethod: "POST",
1201		HTTPPath:   "/",
1202	}
1203
1204	if input == nil {
1205		input = &CreatePlayerSessionInput{}
1206	}
1207
1208	output = &CreatePlayerSessionOutput{}
1209	req = c.newRequest(op, input, output)
1210	return
1211}
1212
1213// CreatePlayerSession API operation for Amazon GameLift.
1214//
1215// Adds a player to a game session and creates a player session record. Before
1216// a player can be added, a game session must have an ACTIVE status, have a
1217// creation policy of ALLOW_ALL, and have an open player slot. To add a group
1218// of players to a game session, use CreatePlayerSessions.
1219//
1220// To create a player session, specify a game session ID, player ID, and optionally
1221// a string of player data. If successful, the player is added to the game session
1222// and a new PlayerSession object is returned. Player sessions cannot be updated.
1223//
1224// Available in Amazon GameLift Local.
1225//
1226// Player-session-related operations include:
1227//
1228//    * CreatePlayerSession
1229//
1230//    * CreatePlayerSessions
1231//
1232//    * DescribePlayerSessions
1233//
1234//    * Game session placements
1235//
1236// StartGameSessionPlacement
1237//
1238// DescribeGameSessionPlacement
1239//
1240// StopGameSessionPlacement
1241//
1242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1243// with awserr.Error's Code and Message methods to get detailed information about
1244// the error.
1245//
1246// See the AWS API reference guide for Amazon GameLift's
1247// API operation CreatePlayerSession for usage and error information.
1248//
1249// Returned Error Codes:
1250//   * ErrCodeInternalServiceException "InternalServiceException"
1251//   The service encountered an unrecoverable internal failure while processing
1252//   the request. Clients can retry such requests immediately or after a waiting
1253//   period.
1254//
1255//   * ErrCodeUnauthorizedException "UnauthorizedException"
1256//   The client failed authentication. Clients should not retry such requests.
1257//
1258//   * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException"
1259//   The requested operation would cause a conflict with the current state of
1260//   a resource associated with the request and/or the game instance. Resolve
1261//   the conflict before retrying.
1262//
1263//   * ErrCodeGameSessionFullException "GameSessionFullException"
1264//   The game instance is currently full and cannot allow the requested player(s)
1265//   to join. Clients can retry such requests immediately or after a waiting period.
1266//
1267//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
1268//   The service is unable to resolve the routing for a particular alias because
1269//   it has a terminal RoutingStrategy associated with it. The message returned
1270//   in this exception is the message defined in the routing strategy itself.
1271//   Such requests should only be retried if the routing strategy for the specified
1272//   alias is modified.
1273//
1274//   * ErrCodeInvalidRequestException "InvalidRequestException"
1275//   One or more parameter values in the request are invalid. Correct the invalid
1276//   parameter values before retrying.
1277//
1278//   * ErrCodeNotFoundException "NotFoundException"
1279//   A service resource associated with the request could not be found. Clients
1280//   should not retry such requests.
1281//
1282// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
1283func (c *GameLift) CreatePlayerSession(input *CreatePlayerSessionInput) (*CreatePlayerSessionOutput, error) {
1284	req, out := c.CreatePlayerSessionRequest(input)
1285	return out, req.Send()
1286}
1287
1288// CreatePlayerSessionWithContext is the same as CreatePlayerSession with the addition of
1289// the ability to pass a context and additional request options.
1290//
1291// See CreatePlayerSession for details on how to use this API operation.
1292//
1293// The context must be non-nil and will be used for request cancellation. If
1294// the context is nil a panic will occur. In the future the SDK may create
1295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1296// for more information on using Contexts.
1297func (c *GameLift) CreatePlayerSessionWithContext(ctx aws.Context, input *CreatePlayerSessionInput, opts ...request.Option) (*CreatePlayerSessionOutput, error) {
1298	req, out := c.CreatePlayerSessionRequest(input)
1299	req.SetContext(ctx)
1300	req.ApplyOptions(opts...)
1301	return out, req.Send()
1302}
1303
1304const opCreatePlayerSessions = "CreatePlayerSessions"
1305
1306// CreatePlayerSessionsRequest generates a "aws/request.Request" representing the
1307// client's request for the CreatePlayerSessions operation. The "output" return
1308// value will be populated with the request's response once the request completes
1309// successfuly.
1310//
1311// Use "Send" method on the returned Request to send the API call to the service.
1312// the "output" return value is not valid until after Send returns without error.
1313//
1314// See CreatePlayerSessions for more information on using the CreatePlayerSessions
1315// API call, and error handling.
1316//
1317// This method is useful when you want to inject custom logic or configuration
1318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1319//
1320//
1321//    // Example sending a request using the CreatePlayerSessionsRequest method.
1322//    req, resp := client.CreatePlayerSessionsRequest(params)
1323//
1324//    err := req.Send()
1325//    if err == nil { // resp is now filled
1326//        fmt.Println(resp)
1327//    }
1328//
1329// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
1330func (c *GameLift) CreatePlayerSessionsRequest(input *CreatePlayerSessionsInput) (req *request.Request, output *CreatePlayerSessionsOutput) {
1331	op := &request.Operation{
1332		Name:       opCreatePlayerSessions,
1333		HTTPMethod: "POST",
1334		HTTPPath:   "/",
1335	}
1336
1337	if input == nil {
1338		input = &CreatePlayerSessionsInput{}
1339	}
1340
1341	output = &CreatePlayerSessionsOutput{}
1342	req = c.newRequest(op, input, output)
1343	return
1344}
1345
1346// CreatePlayerSessions API operation for Amazon GameLift.
1347//
1348// Adds a group of players to a game session. This action is useful with a team
1349// matching feature. Before players can be added, a game session must have an
1350// ACTIVE status, have a creation policy of ALLOW_ALL, and have an open player
1351// slot. To add a single player to a game session, use CreatePlayerSession.
1352//
1353// To create player sessions, specify a game session ID, a list of player IDs,
1354// and optionally a set of player data strings. If successful, the players are
1355// added to the game session and a set of new PlayerSession objects is returned.
1356// Player sessions cannot be updated.
1357//
1358// Available in Amazon GameLift Local.
1359//
1360// Player-session-related operations include:
1361//
1362//    * CreatePlayerSession
1363//
1364//    * CreatePlayerSessions
1365//
1366//    * DescribePlayerSessions
1367//
1368//    * Game session placements
1369//
1370// StartGameSessionPlacement
1371//
1372// DescribeGameSessionPlacement
1373//
1374// StopGameSessionPlacement
1375//
1376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1377// with awserr.Error's Code and Message methods to get detailed information about
1378// the error.
1379//
1380// See the AWS API reference guide for Amazon GameLift's
1381// API operation CreatePlayerSessions for usage and error information.
1382//
1383// Returned Error Codes:
1384//   * ErrCodeInternalServiceException "InternalServiceException"
1385//   The service encountered an unrecoverable internal failure while processing
1386//   the request. Clients can retry such requests immediately or after a waiting
1387//   period.
1388//
1389//   * ErrCodeUnauthorizedException "UnauthorizedException"
1390//   The client failed authentication. Clients should not retry such requests.
1391//
1392//   * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException"
1393//   The requested operation would cause a conflict with the current state of
1394//   a resource associated with the request and/or the game instance. Resolve
1395//   the conflict before retrying.
1396//
1397//   * ErrCodeGameSessionFullException "GameSessionFullException"
1398//   The game instance is currently full and cannot allow the requested player(s)
1399//   to join. Clients can retry such requests immediately or after a waiting period.
1400//
1401//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
1402//   The service is unable to resolve the routing for a particular alias because
1403//   it has a terminal RoutingStrategy associated with it. The message returned
1404//   in this exception is the message defined in the routing strategy itself.
1405//   Such requests should only be retried if the routing strategy for the specified
1406//   alias is modified.
1407//
1408//   * ErrCodeInvalidRequestException "InvalidRequestException"
1409//   One or more parameter values in the request are invalid. Correct the invalid
1410//   parameter values before retrying.
1411//
1412//   * ErrCodeNotFoundException "NotFoundException"
1413//   A service resource associated with the request could not be found. Clients
1414//   should not retry such requests.
1415//
1416// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
1417func (c *GameLift) CreatePlayerSessions(input *CreatePlayerSessionsInput) (*CreatePlayerSessionsOutput, error) {
1418	req, out := c.CreatePlayerSessionsRequest(input)
1419	return out, req.Send()
1420}
1421
1422// CreatePlayerSessionsWithContext is the same as CreatePlayerSessions with the addition of
1423// the ability to pass a context and additional request options.
1424//
1425// See CreatePlayerSessions for details on how to use this API operation.
1426//
1427// The context must be non-nil and will be used for request cancellation. If
1428// the context is nil a panic will occur. In the future the SDK may create
1429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1430// for more information on using Contexts.
1431func (c *GameLift) CreatePlayerSessionsWithContext(ctx aws.Context, input *CreatePlayerSessionsInput, opts ...request.Option) (*CreatePlayerSessionsOutput, error) {
1432	req, out := c.CreatePlayerSessionsRequest(input)
1433	req.SetContext(ctx)
1434	req.ApplyOptions(opts...)
1435	return out, req.Send()
1436}
1437
1438const opCreateVpcPeeringAuthorization = "CreateVpcPeeringAuthorization"
1439
1440// CreateVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
1441// client's request for the CreateVpcPeeringAuthorization operation. The "output" return
1442// value will be populated with the request's response once the request completes
1443// successfuly.
1444//
1445// Use "Send" method on the returned Request to send the API call to the service.
1446// the "output" return value is not valid until after Send returns without error.
1447//
1448// See CreateVpcPeeringAuthorization for more information on using the CreateVpcPeeringAuthorization
1449// API call, and error handling.
1450//
1451// This method is useful when you want to inject custom logic or configuration
1452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1453//
1454//
1455//    // Example sending a request using the CreateVpcPeeringAuthorizationRequest method.
1456//    req, resp := client.CreateVpcPeeringAuthorizationRequest(params)
1457//
1458//    err := req.Send()
1459//    if err == nil { // resp is now filled
1460//        fmt.Println(resp)
1461//    }
1462//
1463// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
1464func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringAuthorizationInput) (req *request.Request, output *CreateVpcPeeringAuthorizationOutput) {
1465	op := &request.Operation{
1466		Name:       opCreateVpcPeeringAuthorization,
1467		HTTPMethod: "POST",
1468		HTTPPath:   "/",
1469	}
1470
1471	if input == nil {
1472		input = &CreateVpcPeeringAuthorizationInput{}
1473	}
1474
1475	output = &CreateVpcPeeringAuthorizationOutput{}
1476	req = c.newRequest(op, input, output)
1477	return
1478}
1479
1480// CreateVpcPeeringAuthorization API operation for Amazon GameLift.
1481//
1482// Requests authorization to create or delete a peer connection between the
1483// VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your
1484// AWS account. VPC peering enables the game servers on your fleet to communicate
1485// directly with other AWS resources. Once you've received authorization, call
1486// CreateVpcPeeringConnection to establish the peering connection. For more
1487// information, see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
1488//
1489// You can peer with VPCs that are owned by any AWS account you have access
1490// to, including the account that you use to manage your Amazon GameLift fleets.
1491// You cannot peer with VPCs that are in different regions.
1492//
1493// To request authorization to create a connection, call this operation from
1494// the AWS account with the VPC that you want to peer to your Amazon GameLift
1495// fleet. For example, to enable your game servers to retrieve data from a DynamoDB
1496// table, use the account that manages that DynamoDB resource. Identify the
1497// following values: (1) The ID of the VPC that you want to peer with, and (2)
1498// the ID of the AWS account that you use to manage Amazon GameLift. If successful,
1499// VPC peering is authorized for the specified VPC.
1500//
1501// To request authorization to delete a connection, call this operation from
1502// the AWS account with the VPC that is peered with your Amazon GameLift fleet.
1503// Identify the following values: (1) VPC ID that you want to delete the peering
1504// connection for, and (2) ID of the AWS account that you use to manage Amazon
1505// GameLift.
1506//
1507// The authorization remains valid for 24 hours unless it is canceled by a call
1508// to DeleteVpcPeeringAuthorization. You must create or delete the peering connection
1509// while the authorization is valid.
1510//
1511// VPC peering connection operations include:
1512//
1513//    * CreateVpcPeeringAuthorization
1514//
1515//    * DescribeVpcPeeringAuthorizations
1516//
1517//    * DeleteVpcPeeringAuthorization
1518//
1519//    * CreateVpcPeeringConnection
1520//
1521//    * DescribeVpcPeeringConnections
1522//
1523//    * DeleteVpcPeeringConnection
1524//
1525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1526// with awserr.Error's Code and Message methods to get detailed information about
1527// the error.
1528//
1529// See the AWS API reference guide for Amazon GameLift's
1530// API operation CreateVpcPeeringAuthorization for usage and error information.
1531//
1532// Returned Error Codes:
1533//   * ErrCodeUnauthorizedException "UnauthorizedException"
1534//   The client failed authentication. Clients should not retry such requests.
1535//
1536//   * ErrCodeInvalidRequestException "InvalidRequestException"
1537//   One or more parameter values in the request are invalid. Correct the invalid
1538//   parameter values before retrying.
1539//
1540//   * ErrCodeNotFoundException "NotFoundException"
1541//   A service resource associated with the request could not be found. Clients
1542//   should not retry such requests.
1543//
1544//   * ErrCodeInternalServiceException "InternalServiceException"
1545//   The service encountered an unrecoverable internal failure while processing
1546//   the request. Clients can retry such requests immediately or after a waiting
1547//   period.
1548//
1549// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
1550func (c *GameLift) CreateVpcPeeringAuthorization(input *CreateVpcPeeringAuthorizationInput) (*CreateVpcPeeringAuthorizationOutput, error) {
1551	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
1552	return out, req.Send()
1553}
1554
1555// CreateVpcPeeringAuthorizationWithContext is the same as CreateVpcPeeringAuthorization with the addition of
1556// the ability to pass a context and additional request options.
1557//
1558// See CreateVpcPeeringAuthorization for details on how to use this API operation.
1559//
1560// The context must be non-nil and will be used for request cancellation. If
1561// the context is nil a panic will occur. In the future the SDK may create
1562// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1563// for more information on using Contexts.
1564func (c *GameLift) CreateVpcPeeringAuthorizationWithContext(ctx aws.Context, input *CreateVpcPeeringAuthorizationInput, opts ...request.Option) (*CreateVpcPeeringAuthorizationOutput, error) {
1565	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
1566	req.SetContext(ctx)
1567	req.ApplyOptions(opts...)
1568	return out, req.Send()
1569}
1570
1571const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
1572
1573// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
1574// client's request for the CreateVpcPeeringConnection operation. The "output" return
1575// value will be populated with the request's response once the request completes
1576// successfuly.
1577//
1578// Use "Send" method on the returned Request to send the API call to the service.
1579// the "output" return value is not valid until after Send returns without error.
1580//
1581// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
1582// API call, and error handling.
1583//
1584// This method is useful when you want to inject custom logic or configuration
1585// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1586//
1587//
1588//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
1589//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
1590//
1591//    err := req.Send()
1592//    if err == nil { // resp is now filled
1593//        fmt.Println(resp)
1594//    }
1595//
1596// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
1597func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
1598	op := &request.Operation{
1599		Name:       opCreateVpcPeeringConnection,
1600		HTTPMethod: "POST",
1601		HTTPPath:   "/",
1602	}
1603
1604	if input == nil {
1605		input = &CreateVpcPeeringConnectionInput{}
1606	}
1607
1608	output = &CreateVpcPeeringConnectionOutput{}
1609	req = c.newRequest(op, input, output)
1610	return
1611}
1612
1613// CreateVpcPeeringConnection API operation for Amazon GameLift.
1614//
1615// Establishes a VPC peering connection between a virtual private cloud (VPC)
1616// in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering
1617// enables the game servers on your fleet to communicate directly with other
1618// AWS resources. You can peer with VPCs in any AWS account that you have access
1619// to, including the account that you use to manage your Amazon GameLift fleets.
1620// You cannot peer with VPCs that are in different regions. For more information,
1621// see VPC Peering with Amazon GameLift Fleets (http://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
1622//
1623// Before calling this operation to establish the peering connection, you first
1624// need to call CreateVpcPeeringAuthorization and identify the VPC you want
1625// to peer with. Once the authorization for the specified VPC is issued, you
1626// have 24 hours to establish the connection. These two operations handle all
1627// tasks necessary to peer the two VPCs, including acceptance, updating routing
1628// tables, etc.
1629//
1630// To establish the connection, call this operation from the AWS account that
1631// is used to manage the Amazon GameLift fleets. Identify the following values:
1632// (1) The ID of the fleet you want to be enable a VPC peering connection for;
1633// (2) The AWS account with the VPC that you want to peer with; and (3) The
1634// ID of the VPC you want to peer with. This operation is asynchronous. If successful,
1635// a VpcPeeringConnection request is created. You can use continuous polling
1636// to track the request's status using DescribeVpcPeeringConnections, or by
1637// monitoring fleet events for success or failure using DescribeFleetEvents.
1638//
1639// VPC peering connection operations include:
1640//
1641//    * CreateVpcPeeringAuthorization
1642//
1643//    * DescribeVpcPeeringAuthorizations
1644//
1645//    * DeleteVpcPeeringAuthorization
1646//
1647//    * CreateVpcPeeringConnection
1648//
1649//    * DescribeVpcPeeringConnections
1650//
1651//    * DeleteVpcPeeringConnection
1652//
1653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1654// with awserr.Error's Code and Message methods to get detailed information about
1655// the error.
1656//
1657// See the AWS API reference guide for Amazon GameLift's
1658// API operation CreateVpcPeeringConnection for usage and error information.
1659//
1660// Returned Error Codes:
1661//   * ErrCodeUnauthorizedException "UnauthorizedException"
1662//   The client failed authentication. Clients should not retry such requests.
1663//
1664//   * ErrCodeInvalidRequestException "InvalidRequestException"
1665//   One or more parameter values in the request are invalid. Correct the invalid
1666//   parameter values before retrying.
1667//
1668//   * ErrCodeNotFoundException "NotFoundException"
1669//   A service resource associated with the request could not be found. Clients
1670//   should not retry such requests.
1671//
1672//   * ErrCodeInternalServiceException "InternalServiceException"
1673//   The service encountered an unrecoverable internal failure while processing
1674//   the request. Clients can retry such requests immediately or after a waiting
1675//   period.
1676//
1677// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
1678func (c *GameLift) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
1679	req, out := c.CreateVpcPeeringConnectionRequest(input)
1680	return out, req.Send()
1681}
1682
1683// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
1684// the ability to pass a context and additional request options.
1685//
1686// See CreateVpcPeeringConnection for details on how to use this API operation.
1687//
1688// The context must be non-nil and will be used for request cancellation. If
1689// the context is nil a panic will occur. In the future the SDK may create
1690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1691// for more information on using Contexts.
1692func (c *GameLift) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
1693	req, out := c.CreateVpcPeeringConnectionRequest(input)
1694	req.SetContext(ctx)
1695	req.ApplyOptions(opts...)
1696	return out, req.Send()
1697}
1698
1699const opDeleteAlias = "DeleteAlias"
1700
1701// DeleteAliasRequest generates a "aws/request.Request" representing the
1702// client's request for the DeleteAlias operation. The "output" return
1703// value will be populated with the request's response once the request completes
1704// successfuly.
1705//
1706// Use "Send" method on the returned Request to send the API call to the service.
1707// the "output" return value is not valid until after Send returns without error.
1708//
1709// See DeleteAlias for more information on using the DeleteAlias
1710// API call, and error handling.
1711//
1712// This method is useful when you want to inject custom logic or configuration
1713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1714//
1715//
1716//    // Example sending a request using the DeleteAliasRequest method.
1717//    req, resp := client.DeleteAliasRequest(params)
1718//
1719//    err := req.Send()
1720//    if err == nil { // resp is now filled
1721//        fmt.Println(resp)
1722//    }
1723//
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
1725func (c *GameLift) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) {
1726	op := &request.Operation{
1727		Name:       opDeleteAlias,
1728		HTTPMethod: "POST",
1729		HTTPPath:   "/",
1730	}
1731
1732	if input == nil {
1733		input = &DeleteAliasInput{}
1734	}
1735
1736	output = &DeleteAliasOutput{}
1737	req = c.newRequest(op, input, output)
1738	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1739	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1740	return
1741}
1742
1743// DeleteAlias API operation for Amazon GameLift.
1744//
1745// Deletes an alias. This action removes all record of the alias. Game clients
1746// attempting to access a server process using the deleted alias receive an
1747// error. To delete an alias, specify the alias ID to be deleted.
1748//
1749// Alias-related operations include:
1750//
1751//    * CreateAlias
1752//
1753//    * ListAliases
1754//
1755//    * DescribeAlias
1756//
1757//    * UpdateAlias
1758//
1759//    * DeleteAlias
1760//
1761//    * ResolveAlias
1762//
1763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1764// with awserr.Error's Code and Message methods to get detailed information about
1765// the error.
1766//
1767// See the AWS API reference guide for Amazon GameLift's
1768// API operation DeleteAlias for usage and error information.
1769//
1770// Returned Error Codes:
1771//   * ErrCodeUnauthorizedException "UnauthorizedException"
1772//   The client failed authentication. Clients should not retry such requests.
1773//
1774//   * ErrCodeNotFoundException "NotFoundException"
1775//   A service resource associated with the request could not be found. Clients
1776//   should not retry such requests.
1777//
1778//   * ErrCodeInvalidRequestException "InvalidRequestException"
1779//   One or more parameter values in the request are invalid. Correct the invalid
1780//   parameter values before retrying.
1781//
1782//   * ErrCodeInternalServiceException "InternalServiceException"
1783//   The service encountered an unrecoverable internal failure while processing
1784//   the request. Clients can retry such requests immediately or after a waiting
1785//   period.
1786//
1787// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
1788func (c *GameLift) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
1789	req, out := c.DeleteAliasRequest(input)
1790	return out, req.Send()
1791}
1792
1793// DeleteAliasWithContext is the same as DeleteAlias with the addition of
1794// the ability to pass a context and additional request options.
1795//
1796// See DeleteAlias for details on how to use this API operation.
1797//
1798// The context must be non-nil and will be used for request cancellation. If
1799// the context is nil a panic will occur. In the future the SDK may create
1800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1801// for more information on using Contexts.
1802func (c *GameLift) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput, opts ...request.Option) (*DeleteAliasOutput, error) {
1803	req, out := c.DeleteAliasRequest(input)
1804	req.SetContext(ctx)
1805	req.ApplyOptions(opts...)
1806	return out, req.Send()
1807}
1808
1809const opDeleteBuild = "DeleteBuild"
1810
1811// DeleteBuildRequest generates a "aws/request.Request" representing the
1812// client's request for the DeleteBuild operation. The "output" return
1813// value will be populated with the request's response once the request completes
1814// successfuly.
1815//
1816// Use "Send" method on the returned Request to send the API call to the service.
1817// the "output" return value is not valid until after Send returns without error.
1818//
1819// See DeleteBuild for more information on using the DeleteBuild
1820// API call, and error handling.
1821//
1822// This method is useful when you want to inject custom logic or configuration
1823// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1824//
1825//
1826//    // Example sending a request using the DeleteBuildRequest method.
1827//    req, resp := client.DeleteBuildRequest(params)
1828//
1829//    err := req.Send()
1830//    if err == nil { // resp is now filled
1831//        fmt.Println(resp)
1832//    }
1833//
1834// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
1835func (c *GameLift) DeleteBuildRequest(input *DeleteBuildInput) (req *request.Request, output *DeleteBuildOutput) {
1836	op := &request.Operation{
1837		Name:       opDeleteBuild,
1838		HTTPMethod: "POST",
1839		HTTPPath:   "/",
1840	}
1841
1842	if input == nil {
1843		input = &DeleteBuildInput{}
1844	}
1845
1846	output = &DeleteBuildOutput{}
1847	req = c.newRequest(op, input, output)
1848	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1849	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1850	return
1851}
1852
1853// DeleteBuild API operation for Amazon GameLift.
1854//
1855// Deletes a build. This action permanently deletes the build record and any
1856// uploaded build files.
1857//
1858// To delete a build, specify its ID. Deleting a build does not affect the status
1859// of any active fleets using the build, but you can no longer create new fleets
1860// with the deleted build.
1861//
1862// Build-related operations include:
1863//
1864//    * CreateBuild
1865//
1866//    * ListBuilds
1867//
1868//    * DescribeBuild
1869//
1870//    * UpdateBuild
1871//
1872//    * DeleteBuild
1873//
1874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1875// with awserr.Error's Code and Message methods to get detailed information about
1876// the error.
1877//
1878// See the AWS API reference guide for Amazon GameLift's
1879// API operation DeleteBuild for usage and error information.
1880//
1881// Returned Error Codes:
1882//   * ErrCodeUnauthorizedException "UnauthorizedException"
1883//   The client failed authentication. Clients should not retry such requests.
1884//
1885//   * ErrCodeNotFoundException "NotFoundException"
1886//   A service resource associated with the request could not be found. Clients
1887//   should not retry such requests.
1888//
1889//   * ErrCodeInternalServiceException "InternalServiceException"
1890//   The service encountered an unrecoverable internal failure while processing
1891//   the request. Clients can retry such requests immediately or after a waiting
1892//   period.
1893//
1894//   * ErrCodeInvalidRequestException "InvalidRequestException"
1895//   One or more parameter values in the request are invalid. Correct the invalid
1896//   parameter values before retrying.
1897//
1898// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
1899func (c *GameLift) DeleteBuild(input *DeleteBuildInput) (*DeleteBuildOutput, error) {
1900	req, out := c.DeleteBuildRequest(input)
1901	return out, req.Send()
1902}
1903
1904// DeleteBuildWithContext is the same as DeleteBuild with the addition of
1905// the ability to pass a context and additional request options.
1906//
1907// See DeleteBuild for details on how to use this API operation.
1908//
1909// The context must be non-nil and will be used for request cancellation. If
1910// the context is nil a panic will occur. In the future the SDK may create
1911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1912// for more information on using Contexts.
1913func (c *GameLift) DeleteBuildWithContext(ctx aws.Context, input *DeleteBuildInput, opts ...request.Option) (*DeleteBuildOutput, error) {
1914	req, out := c.DeleteBuildRequest(input)
1915	req.SetContext(ctx)
1916	req.ApplyOptions(opts...)
1917	return out, req.Send()
1918}
1919
1920const opDeleteFleet = "DeleteFleet"
1921
1922// DeleteFleetRequest generates a "aws/request.Request" representing the
1923// client's request for the DeleteFleet operation. The "output" return
1924// value will be populated with the request's response once the request completes
1925// successfuly.
1926//
1927// Use "Send" method on the returned Request to send the API call to the service.
1928// the "output" return value is not valid until after Send returns without error.
1929//
1930// See DeleteFleet for more information on using the DeleteFleet
1931// API call, and error handling.
1932//
1933// This method is useful when you want to inject custom logic or configuration
1934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1935//
1936//
1937//    // Example sending a request using the DeleteFleetRequest method.
1938//    req, resp := client.DeleteFleetRequest(params)
1939//
1940//    err := req.Send()
1941//    if err == nil { // resp is now filled
1942//        fmt.Println(resp)
1943//    }
1944//
1945// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
1946func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
1947	op := &request.Operation{
1948		Name:       opDeleteFleet,
1949		HTTPMethod: "POST",
1950		HTTPPath:   "/",
1951	}
1952
1953	if input == nil {
1954		input = &DeleteFleetInput{}
1955	}
1956
1957	output = &DeleteFleetOutput{}
1958	req = c.newRequest(op, input, output)
1959	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
1960	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
1961	return
1962}
1963
1964// DeleteFleet API operation for Amazon GameLift.
1965//
1966// Deletes everything related to a fleet. Before deleting a fleet, you must
1967// set the fleet's desired capacity to zero. See UpdateFleetCapacity.
1968//
1969// This action removes the fleet's resources and the fleet record. Once a fleet
1970// is deleted, you can no longer use that fleet.
1971//
1972// Fleet-related operations include:
1973//
1974//    * CreateFleet
1975//
1976//    * ListFleets
1977//
1978//    * Describe fleets:
1979//
1980// DescribeFleetAttributes
1981//
1982// DescribeFleetPortSettings
1983//
1984// DescribeFleetUtilization
1985//
1986// DescribeRuntimeConfiguration
1987//
1988// DescribeFleetEvents
1989//
1990//    * Update fleets:
1991//
1992// UpdateFleetAttributes
1993//
1994// UpdateFleetCapacity
1995//
1996// UpdateFleetPortSettings
1997//
1998// UpdateRuntimeConfiguration
1999//
2000//    * Manage fleet capacity:
2001//
2002// DescribeFleetCapacity
2003//
2004// UpdateFleetCapacity
2005//
2006// PutScalingPolicy (automatic scaling)
2007//
2008// DescribeScalingPolicies (automatic scaling)
2009//
2010// DeleteScalingPolicy (automatic scaling)
2011//
2012// DescribeEC2InstanceLimits
2013//
2014//    * DeleteFleet
2015//
2016// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2017// with awserr.Error's Code and Message methods to get detailed information about
2018// the error.
2019//
2020// See the AWS API reference guide for Amazon GameLift's
2021// API operation DeleteFleet for usage and error information.
2022//
2023// Returned Error Codes:
2024//   * ErrCodeNotFoundException "NotFoundException"
2025//   A service resource associated with the request could not be found. Clients
2026//   should not retry such requests.
2027//
2028//   * ErrCodeInternalServiceException "InternalServiceException"
2029//   The service encountered an unrecoverable internal failure while processing
2030//   the request. Clients can retry such requests immediately or after a waiting
2031//   period.
2032//
2033//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
2034//   The requested operation would cause a conflict with the current state of
2035//   a resource associated with the request and/or the fleet. Resolve the conflict
2036//   before retrying.
2037//
2038//   * ErrCodeUnauthorizedException "UnauthorizedException"
2039//   The client failed authentication. Clients should not retry such requests.
2040//
2041//   * ErrCodeInvalidRequestException "InvalidRequestException"
2042//   One or more parameter values in the request are invalid. Correct the invalid
2043//   parameter values before retrying.
2044//
2045// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
2046func (c *GameLift) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
2047	req, out := c.DeleteFleetRequest(input)
2048	return out, req.Send()
2049}
2050
2051// DeleteFleetWithContext is the same as DeleteFleet with the addition of
2052// the ability to pass a context and additional request options.
2053//
2054// See DeleteFleet for details on how to use this API operation.
2055//
2056// The context must be non-nil and will be used for request cancellation. If
2057// the context is nil a panic will occur. In the future the SDK may create
2058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2059// for more information on using Contexts.
2060func (c *GameLift) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
2061	req, out := c.DeleteFleetRequest(input)
2062	req.SetContext(ctx)
2063	req.ApplyOptions(opts...)
2064	return out, req.Send()
2065}
2066
2067const opDeleteGameSessionQueue = "DeleteGameSessionQueue"
2068
2069// DeleteGameSessionQueueRequest generates a "aws/request.Request" representing the
2070// client's request for the DeleteGameSessionQueue operation. The "output" return
2071// value will be populated with the request's response once the request completes
2072// successfuly.
2073//
2074// Use "Send" method on the returned Request to send the API call to the service.
2075// the "output" return value is not valid until after Send returns without error.
2076//
2077// See DeleteGameSessionQueue for more information on using the DeleteGameSessionQueue
2078// API call, and error handling.
2079//
2080// This method is useful when you want to inject custom logic or configuration
2081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2082//
2083//
2084//    // Example sending a request using the DeleteGameSessionQueueRequest method.
2085//    req, resp := client.DeleteGameSessionQueueRequest(params)
2086//
2087//    err := req.Send()
2088//    if err == nil { // resp is now filled
2089//        fmt.Println(resp)
2090//    }
2091//
2092// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
2093func (c *GameLift) DeleteGameSessionQueueRequest(input *DeleteGameSessionQueueInput) (req *request.Request, output *DeleteGameSessionQueueOutput) {
2094	op := &request.Operation{
2095		Name:       opDeleteGameSessionQueue,
2096		HTTPMethod: "POST",
2097		HTTPPath:   "/",
2098	}
2099
2100	if input == nil {
2101		input = &DeleteGameSessionQueueInput{}
2102	}
2103
2104	output = &DeleteGameSessionQueueOutput{}
2105	req = c.newRequest(op, input, output)
2106	return
2107}
2108
2109// DeleteGameSessionQueue API operation for Amazon GameLift.
2110//
2111// Deletes a game session queue. This action means that any StartGameSessionPlacement
2112// requests that reference this queue will fail. To delete a queue, specify
2113// the queue name.
2114//
2115// Queue-related operations include:
2116//
2117//    * CreateGameSessionQueue
2118//
2119//    * DescribeGameSessionQueues
2120//
2121//    * UpdateGameSessionQueue
2122//
2123//    * DeleteGameSessionQueue
2124//
2125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2126// with awserr.Error's Code and Message methods to get detailed information about
2127// the error.
2128//
2129// See the AWS API reference guide for Amazon GameLift's
2130// API operation DeleteGameSessionQueue for usage and error information.
2131//
2132// Returned Error Codes:
2133//   * ErrCodeInternalServiceException "InternalServiceException"
2134//   The service encountered an unrecoverable internal failure while processing
2135//   the request. Clients can retry such requests immediately or after a waiting
2136//   period.
2137//
2138//   * ErrCodeInvalidRequestException "InvalidRequestException"
2139//   One or more parameter values in the request are invalid. Correct the invalid
2140//   parameter values before retrying.
2141//
2142//   * ErrCodeNotFoundException "NotFoundException"
2143//   A service resource associated with the request could not be found. Clients
2144//   should not retry such requests.
2145//
2146//   * ErrCodeUnauthorizedException "UnauthorizedException"
2147//   The client failed authentication. Clients should not retry such requests.
2148//
2149// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
2150func (c *GameLift) DeleteGameSessionQueue(input *DeleteGameSessionQueueInput) (*DeleteGameSessionQueueOutput, error) {
2151	req, out := c.DeleteGameSessionQueueRequest(input)
2152	return out, req.Send()
2153}
2154
2155// DeleteGameSessionQueueWithContext is the same as DeleteGameSessionQueue with the addition of
2156// the ability to pass a context and additional request options.
2157//
2158// See DeleteGameSessionQueue for details on how to use this API operation.
2159//
2160// The context must be non-nil and will be used for request cancellation. If
2161// the context is nil a panic will occur. In the future the SDK may create
2162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2163// for more information on using Contexts.
2164func (c *GameLift) DeleteGameSessionQueueWithContext(ctx aws.Context, input *DeleteGameSessionQueueInput, opts ...request.Option) (*DeleteGameSessionQueueOutput, error) {
2165	req, out := c.DeleteGameSessionQueueRequest(input)
2166	req.SetContext(ctx)
2167	req.ApplyOptions(opts...)
2168	return out, req.Send()
2169}
2170
2171const opDeleteMatchmakingConfiguration = "DeleteMatchmakingConfiguration"
2172
2173// DeleteMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
2174// client's request for the DeleteMatchmakingConfiguration operation. The "output" return
2175// value will be populated with the request's response once the request completes
2176// successfuly.
2177//
2178// Use "Send" method on the returned Request to send the API call to the service.
2179// the "output" return value is not valid until after Send returns without error.
2180//
2181// See DeleteMatchmakingConfiguration for more information on using the DeleteMatchmakingConfiguration
2182// API call, and error handling.
2183//
2184// This method is useful when you want to inject custom logic or configuration
2185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2186//
2187//
2188//    // Example sending a request using the DeleteMatchmakingConfigurationRequest method.
2189//    req, resp := client.DeleteMatchmakingConfigurationRequest(params)
2190//
2191//    err := req.Send()
2192//    if err == nil { // resp is now filled
2193//        fmt.Println(resp)
2194//    }
2195//
2196// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
2197func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakingConfigurationInput) (req *request.Request, output *DeleteMatchmakingConfigurationOutput) {
2198	op := &request.Operation{
2199		Name:       opDeleteMatchmakingConfiguration,
2200		HTTPMethod: "POST",
2201		HTTPPath:   "/",
2202	}
2203
2204	if input == nil {
2205		input = &DeleteMatchmakingConfigurationInput{}
2206	}
2207
2208	output = &DeleteMatchmakingConfigurationOutput{}
2209	req = c.newRequest(op, input, output)
2210	return
2211}
2212
2213// DeleteMatchmakingConfiguration API operation for Amazon GameLift.
2214//
2215// Permanently removes a FlexMatch matchmaking configuration. To delete, specify
2216// the configuration name. A matchmaking configuration cannot be deleted if
2217// it is being used in any active matchmaking tickets.
2218//
2219// Operations related to match configurations and rule sets include:
2220//
2221//    * CreateMatchmakingConfiguration
2222//
2223//    * DescribeMatchmakingConfigurations
2224//
2225//    * UpdateMatchmakingConfiguration
2226//
2227//    * DeleteMatchmakingConfiguration
2228//
2229//    * CreateMatchmakingRuleSet
2230//
2231//    * DescribeMatchmakingRuleSets
2232//
2233//    * ValidateMatchmakingRuleSet
2234//
2235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2236// with awserr.Error's Code and Message methods to get detailed information about
2237// the error.
2238//
2239// See the AWS API reference guide for Amazon GameLift's
2240// API operation DeleteMatchmakingConfiguration for usage and error information.
2241//
2242// Returned Error Codes:
2243//   * ErrCodeInvalidRequestException "InvalidRequestException"
2244//   One or more parameter values in the request are invalid. Correct the invalid
2245//   parameter values before retrying.
2246//
2247//   * ErrCodeNotFoundException "NotFoundException"
2248//   A service resource associated with the request could not be found. Clients
2249//   should not retry such requests.
2250//
2251//   * ErrCodeInternalServiceException "InternalServiceException"
2252//   The service encountered an unrecoverable internal failure while processing
2253//   the request. Clients can retry such requests immediately or after a waiting
2254//   period.
2255//
2256//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
2257//   The requested operation is not supported in the region specified.
2258//
2259// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
2260func (c *GameLift) DeleteMatchmakingConfiguration(input *DeleteMatchmakingConfigurationInput) (*DeleteMatchmakingConfigurationOutput, error) {
2261	req, out := c.DeleteMatchmakingConfigurationRequest(input)
2262	return out, req.Send()
2263}
2264
2265// DeleteMatchmakingConfigurationWithContext is the same as DeleteMatchmakingConfiguration with the addition of
2266// the ability to pass a context and additional request options.
2267//
2268// See DeleteMatchmakingConfiguration for details on how to use this API operation.
2269//
2270// The context must be non-nil and will be used for request cancellation. If
2271// the context is nil a panic will occur. In the future the SDK may create
2272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2273// for more information on using Contexts.
2274func (c *GameLift) DeleteMatchmakingConfigurationWithContext(ctx aws.Context, input *DeleteMatchmakingConfigurationInput, opts ...request.Option) (*DeleteMatchmakingConfigurationOutput, error) {
2275	req, out := c.DeleteMatchmakingConfigurationRequest(input)
2276	req.SetContext(ctx)
2277	req.ApplyOptions(opts...)
2278	return out, req.Send()
2279}
2280
2281const opDeleteScalingPolicy = "DeleteScalingPolicy"
2282
2283// DeleteScalingPolicyRequest generates a "aws/request.Request" representing the
2284// client's request for the DeleteScalingPolicy operation. The "output" return
2285// value will be populated with the request's response once the request completes
2286// successfuly.
2287//
2288// Use "Send" method on the returned Request to send the API call to the service.
2289// the "output" return value is not valid until after Send returns without error.
2290//
2291// See DeleteScalingPolicy for more information on using the DeleteScalingPolicy
2292// API call, and error handling.
2293//
2294// This method is useful when you want to inject custom logic or configuration
2295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2296//
2297//
2298//    // Example sending a request using the DeleteScalingPolicyRequest method.
2299//    req, resp := client.DeleteScalingPolicyRequest(params)
2300//
2301//    err := req.Send()
2302//    if err == nil { // resp is now filled
2303//        fmt.Println(resp)
2304//    }
2305//
2306// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
2307func (c *GameLift) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) (req *request.Request, output *DeleteScalingPolicyOutput) {
2308	op := &request.Operation{
2309		Name:       opDeleteScalingPolicy,
2310		HTTPMethod: "POST",
2311		HTTPPath:   "/",
2312	}
2313
2314	if input == nil {
2315		input = &DeleteScalingPolicyInput{}
2316	}
2317
2318	output = &DeleteScalingPolicyOutput{}
2319	req = c.newRequest(op, input, output)
2320	req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
2321	req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
2322	return
2323}
2324
2325// DeleteScalingPolicy API operation for Amazon GameLift.
2326//
2327// Deletes a fleet scaling policy. This action means that the policy is no longer
2328// in force and removes all record of it. To delete a scaling policy, specify
2329// both the scaling policy name and the fleet ID it is associated with.
2330//
2331// Fleet-related operations include:
2332//
2333//    * CreateFleet
2334//
2335//    * ListFleets
2336//
2337//    * Describe fleets:
2338//
2339// DescribeFleetAttributes
2340//
2341// DescribeFleetPortSettings
2342//
2343// DescribeFleetUtilization
2344//
2345// DescribeRuntimeConfiguration
2346//
2347// DescribeFleetEvents
2348//
2349//    * Update fleets:
2350//
2351// UpdateFleetAttributes
2352//
2353// UpdateFleetCapacity
2354//
2355// UpdateFleetPortSettings
2356//
2357// UpdateRuntimeConfiguration
2358//
2359//    * Manage fleet capacity:
2360//
2361// DescribeFleetCapacity
2362//
2363// UpdateFleetCapacity
2364//
2365// PutScalingPolicy (automatic scaling)
2366//
2367// DescribeScalingPolicies (automatic scaling)
2368//
2369// DeleteScalingPolicy (automatic scaling)
2370//
2371// DescribeEC2InstanceLimits
2372//
2373//    * DeleteFleet
2374//
2375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2376// with awserr.Error's Code and Message methods to get detailed information about
2377// the error.
2378//
2379// See the AWS API reference guide for Amazon GameLift's
2380// API operation DeleteScalingPolicy for usage and error information.
2381//
2382// Returned Error Codes:
2383//   * ErrCodeInternalServiceException "InternalServiceException"
2384//   The service encountered an unrecoverable internal failure while processing
2385//   the request. Clients can retry such requests immediately or after a waiting
2386//   period.
2387//
2388//   * ErrCodeInvalidRequestException "InvalidRequestException"
2389//   One or more parameter values in the request are invalid. Correct the invalid
2390//   parameter values before retrying.
2391//
2392//   * ErrCodeUnauthorizedException "UnauthorizedException"
2393//   The client failed authentication. Clients should not retry such requests.
2394//
2395//   * ErrCodeNotFoundException "NotFoundException"
2396//   A service resource associated with the request could not be found. Clients
2397//   should not retry such requests.
2398//
2399// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
2400func (c *GameLift) DeleteScalingPolicy(input *DeleteScalingPolicyInput) (*DeleteScalingPolicyOutput, error) {
2401	req, out := c.DeleteScalingPolicyRequest(input)
2402	return out, req.Send()
2403}
2404
2405// DeleteScalingPolicyWithContext is the same as DeleteScalingPolicy with the addition of
2406// the ability to pass a context and additional request options.
2407//
2408// See DeleteScalingPolicy for details on how to use this API operation.
2409//
2410// The context must be non-nil and will be used for request cancellation. If
2411// the context is nil a panic will occur. In the future the SDK may create
2412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2413// for more information on using Contexts.
2414func (c *GameLift) DeleteScalingPolicyWithContext(ctx aws.Context, input *DeleteScalingPolicyInput, opts ...request.Option) (*DeleteScalingPolicyOutput, error) {
2415	req, out := c.DeleteScalingPolicyRequest(input)
2416	req.SetContext(ctx)
2417	req.ApplyOptions(opts...)
2418	return out, req.Send()
2419}
2420
2421const opDeleteVpcPeeringAuthorization = "DeleteVpcPeeringAuthorization"
2422
2423// DeleteVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
2424// client's request for the DeleteVpcPeeringAuthorization operation. The "output" return
2425// value will be populated with the request's response once the request completes
2426// successfuly.
2427//
2428// Use "Send" method on the returned Request to send the API call to the service.
2429// the "output" return value is not valid until after Send returns without error.
2430//
2431// See DeleteVpcPeeringAuthorization for more information on using the DeleteVpcPeeringAuthorization
2432// API call, and error handling.
2433//
2434// This method is useful when you want to inject custom logic or configuration
2435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2436//
2437//
2438//    // Example sending a request using the DeleteVpcPeeringAuthorizationRequest method.
2439//    req, resp := client.DeleteVpcPeeringAuthorizationRequest(params)
2440//
2441//    err := req.Send()
2442//    if err == nil { // resp is now filled
2443//        fmt.Println(resp)
2444//    }
2445//
2446// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
2447func (c *GameLift) DeleteVpcPeeringAuthorizationRequest(input *DeleteVpcPeeringAuthorizationInput) (req *request.Request, output *DeleteVpcPeeringAuthorizationOutput) {
2448	op := &request.Operation{
2449		Name:       opDeleteVpcPeeringAuthorization,
2450		HTTPMethod: "POST",
2451		HTTPPath:   "/",
2452	}
2453
2454	if input == nil {
2455		input = &DeleteVpcPeeringAuthorizationInput{}
2456	}
2457
2458	output = &DeleteVpcPeeringAuthorizationOutput{}
2459	req = c.newRequest(op, input, output)
2460	return
2461}
2462
2463// DeleteVpcPeeringAuthorization API operation for Amazon GameLift.
2464//
2465// Cancels a pending VPC peering authorization for the specified VPC. If the
2466// authorization has already been used to create a peering connection, call
2467// DeleteVpcPeeringConnection to remove the connection.
2468//
2469// VPC peering connection operations include:
2470//
2471//    * CreateVpcPeeringAuthorization
2472//
2473//    * DescribeVpcPeeringAuthorizations
2474//
2475//    * DeleteVpcPeeringAuthorization
2476//
2477//    * CreateVpcPeeringConnection
2478//
2479//    * DescribeVpcPeeringConnections
2480//
2481//    * DeleteVpcPeeringConnection
2482//
2483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2484// with awserr.Error's Code and Message methods to get detailed information about
2485// the error.
2486//
2487// See the AWS API reference guide for Amazon GameLift's
2488// API operation DeleteVpcPeeringAuthorization for usage and error information.
2489//
2490// Returned Error Codes:
2491//   * ErrCodeUnauthorizedException "UnauthorizedException"
2492//   The client failed authentication. Clients should not retry such requests.
2493//
2494//   * ErrCodeInvalidRequestException "InvalidRequestException"
2495//   One or more parameter values in the request are invalid. Correct the invalid
2496//   parameter values before retrying.
2497//
2498//   * ErrCodeNotFoundException "NotFoundException"
2499//   A service resource associated with the request could not be found. Clients
2500//   should not retry such requests.
2501//
2502//   * ErrCodeInternalServiceException "InternalServiceException"
2503//   The service encountered an unrecoverable internal failure while processing
2504//   the request. Clients can retry such requests immediately or after a waiting
2505//   period.
2506//
2507// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
2508func (c *GameLift) DeleteVpcPeeringAuthorization(input *DeleteVpcPeeringAuthorizationInput) (*DeleteVpcPeeringAuthorizationOutput, error) {
2509	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
2510	return out, req.Send()
2511}
2512
2513// DeleteVpcPeeringAuthorizationWithContext is the same as DeleteVpcPeeringAuthorization with the addition of
2514// the ability to pass a context and additional request options.
2515//
2516// See DeleteVpcPeeringAuthorization for details on how to use this API operation.
2517//
2518// The context must be non-nil and will be used for request cancellation. If
2519// the context is nil a panic will occur. In the future the SDK may create
2520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2521// for more information on using Contexts.
2522func (c *GameLift) DeleteVpcPeeringAuthorizationWithContext(ctx aws.Context, input *DeleteVpcPeeringAuthorizationInput, opts ...request.Option) (*DeleteVpcPeeringAuthorizationOutput, error) {
2523	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
2524	req.SetContext(ctx)
2525	req.ApplyOptions(opts...)
2526	return out, req.Send()
2527}
2528
2529const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
2530
2531// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
2532// client's request for the DeleteVpcPeeringConnection operation. The "output" return
2533// value will be populated with the request's response once the request completes
2534// successfuly.
2535//
2536// Use "Send" method on the returned Request to send the API call to the service.
2537// the "output" return value is not valid until after Send returns without error.
2538//
2539// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
2540// API call, and error handling.
2541//
2542// This method is useful when you want to inject custom logic or configuration
2543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2544//
2545//
2546//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
2547//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
2548//
2549//    err := req.Send()
2550//    if err == nil { // resp is now filled
2551//        fmt.Println(resp)
2552//    }
2553//
2554// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
2555func (c *GameLift) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
2556	op := &request.Operation{
2557		Name:       opDeleteVpcPeeringConnection,
2558		HTTPMethod: "POST",
2559		HTTPPath:   "/",
2560	}
2561
2562	if input == nil {
2563		input = &DeleteVpcPeeringConnectionInput{}
2564	}
2565
2566	output = &DeleteVpcPeeringConnectionOutput{}
2567	req = c.newRequest(op, input, output)
2568	return
2569}
2570
2571// DeleteVpcPeeringConnection API operation for Amazon GameLift.
2572//
2573// Removes a VPC peering connection. To delete the connection, you must have
2574// a valid authorization for the VPC peering connection that you want to delete.
2575// You can check for an authorization by calling DescribeVpcPeeringAuthorizations
2576// or request a new one using CreateVpcPeeringAuthorization.
2577//
2578// Once a valid authorization exists, call this operation from the AWS account
2579// that is used to manage the Amazon GameLift fleets. Identify the connection
2580// to delete by the connection ID and fleet ID. If successful, the connection
2581// is removed.
2582//
2583// VPC peering connection operations include:
2584//
2585//    * CreateVpcPeeringAuthorization
2586//
2587//    * DescribeVpcPeeringAuthorizations
2588//
2589//    * DeleteVpcPeeringAuthorization
2590//
2591//    * CreateVpcPeeringConnection
2592//
2593//    * DescribeVpcPeeringConnections
2594//
2595//    * DeleteVpcPeeringConnection
2596//
2597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2598// with awserr.Error's Code and Message methods to get detailed information about
2599// the error.
2600//
2601// See the AWS API reference guide for Amazon GameLift's
2602// API operation DeleteVpcPeeringConnection for usage and error information.
2603//
2604// Returned Error Codes:
2605//   * ErrCodeUnauthorizedException "UnauthorizedException"
2606//   The client failed authentication. Clients should not retry such requests.
2607//
2608//   * ErrCodeInvalidRequestException "InvalidRequestException"
2609//   One or more parameter values in the request are invalid. Correct the invalid
2610//   parameter values before retrying.
2611//
2612//   * ErrCodeNotFoundException "NotFoundException"
2613//   A service resource associated with the request could not be found. Clients
2614//   should not retry such requests.
2615//
2616//   * ErrCodeInternalServiceException "InternalServiceException"
2617//   The service encountered an unrecoverable internal failure while processing
2618//   the request. Clients can retry such requests immediately or after a waiting
2619//   period.
2620//
2621// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
2622func (c *GameLift) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
2623	req, out := c.DeleteVpcPeeringConnectionRequest(input)
2624	return out, req.Send()
2625}
2626
2627// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
2628// the ability to pass a context and additional request options.
2629//
2630// See DeleteVpcPeeringConnection for details on how to use this API operation.
2631//
2632// The context must be non-nil and will be used for request cancellation. If
2633// the context is nil a panic will occur. In the future the SDK may create
2634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2635// for more information on using Contexts.
2636func (c *GameLift) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
2637	req, out := c.DeleteVpcPeeringConnectionRequest(input)
2638	req.SetContext(ctx)
2639	req.ApplyOptions(opts...)
2640	return out, req.Send()
2641}
2642
2643const opDescribeAlias = "DescribeAlias"
2644
2645// DescribeAliasRequest generates a "aws/request.Request" representing the
2646// client's request for the DescribeAlias operation. The "output" return
2647// value will be populated with the request's response once the request completes
2648// successfuly.
2649//
2650// Use "Send" method on the returned Request to send the API call to the service.
2651// the "output" return value is not valid until after Send returns without error.
2652//
2653// See DescribeAlias for more information on using the DescribeAlias
2654// API call, and error handling.
2655//
2656// This method is useful when you want to inject custom logic or configuration
2657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2658//
2659//
2660//    // Example sending a request using the DescribeAliasRequest method.
2661//    req, resp := client.DescribeAliasRequest(params)
2662//
2663//    err := req.Send()
2664//    if err == nil { // resp is now filled
2665//        fmt.Println(resp)
2666//    }
2667//
2668// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
2669func (c *GameLift) DescribeAliasRequest(input *DescribeAliasInput) (req *request.Request, output *DescribeAliasOutput) {
2670	op := &request.Operation{
2671		Name:       opDescribeAlias,
2672		HTTPMethod: "POST",
2673		HTTPPath:   "/",
2674	}
2675
2676	if input == nil {
2677		input = &DescribeAliasInput{}
2678	}
2679
2680	output = &DescribeAliasOutput{}
2681	req = c.newRequest(op, input, output)
2682	return
2683}
2684
2685// DescribeAlias API operation for Amazon GameLift.
2686//
2687// Retrieves properties for an alias. This operation returns all alias metadata
2688// and settings. To get an alias's target fleet ID only, use ResolveAlias.
2689//
2690// To get alias properties, specify the alias ID. If successful, the requested
2691// alias record is returned.
2692//
2693// Alias-related operations include:
2694//
2695//    * CreateAlias
2696//
2697//    * ListAliases
2698//
2699//    * DescribeAlias
2700//
2701//    * UpdateAlias
2702//
2703//    * DeleteAlias
2704//
2705//    * ResolveAlias
2706//
2707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2708// with awserr.Error's Code and Message methods to get detailed information about
2709// the error.
2710//
2711// See the AWS API reference guide for Amazon GameLift's
2712// API operation DescribeAlias for usage and error information.
2713//
2714// Returned Error Codes:
2715//   * ErrCodeUnauthorizedException "UnauthorizedException"
2716//   The client failed authentication. Clients should not retry such requests.
2717//
2718//   * ErrCodeInvalidRequestException "InvalidRequestException"
2719//   One or more parameter values in the request are invalid. Correct the invalid
2720//   parameter values before retrying.
2721//
2722//   * ErrCodeNotFoundException "NotFoundException"
2723//   A service resource associated with the request could not be found. Clients
2724//   should not retry such requests.
2725//
2726//   * ErrCodeInternalServiceException "InternalServiceException"
2727//   The service encountered an unrecoverable internal failure while processing
2728//   the request. Clients can retry such requests immediately or after a waiting
2729//   period.
2730//
2731// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
2732func (c *GameLift) DescribeAlias(input *DescribeAliasInput) (*DescribeAliasOutput, error) {
2733	req, out := c.DescribeAliasRequest(input)
2734	return out, req.Send()
2735}
2736
2737// DescribeAliasWithContext is the same as DescribeAlias with the addition of
2738// the ability to pass a context and additional request options.
2739//
2740// See DescribeAlias for details on how to use this API operation.
2741//
2742// The context must be non-nil and will be used for request cancellation. If
2743// the context is nil a panic will occur. In the future the SDK may create
2744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2745// for more information on using Contexts.
2746func (c *GameLift) DescribeAliasWithContext(ctx aws.Context, input *DescribeAliasInput, opts ...request.Option) (*DescribeAliasOutput, error) {
2747	req, out := c.DescribeAliasRequest(input)
2748	req.SetContext(ctx)
2749	req.ApplyOptions(opts...)
2750	return out, req.Send()
2751}
2752
2753const opDescribeBuild = "DescribeBuild"
2754
2755// DescribeBuildRequest generates a "aws/request.Request" representing the
2756// client's request for the DescribeBuild operation. The "output" return
2757// value will be populated with the request's response once the request completes
2758// successfuly.
2759//
2760// Use "Send" method on the returned Request to send the API call to the service.
2761// the "output" return value is not valid until after Send returns without error.
2762//
2763// See DescribeBuild for more information on using the DescribeBuild
2764// API call, and error handling.
2765//
2766// This method is useful when you want to inject custom logic or configuration
2767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2768//
2769//
2770//    // Example sending a request using the DescribeBuildRequest method.
2771//    req, resp := client.DescribeBuildRequest(params)
2772//
2773//    err := req.Send()
2774//    if err == nil { // resp is now filled
2775//        fmt.Println(resp)
2776//    }
2777//
2778// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
2779func (c *GameLift) DescribeBuildRequest(input *DescribeBuildInput) (req *request.Request, output *DescribeBuildOutput) {
2780	op := &request.Operation{
2781		Name:       opDescribeBuild,
2782		HTTPMethod: "POST",
2783		HTTPPath:   "/",
2784	}
2785
2786	if input == nil {
2787		input = &DescribeBuildInput{}
2788	}
2789
2790	output = &DescribeBuildOutput{}
2791	req = c.newRequest(op, input, output)
2792	return
2793}
2794
2795// DescribeBuild API operation for Amazon GameLift.
2796//
2797// Retrieves properties for a build. To request a build record, specify a build
2798// ID. If successful, an object containing the build properties is returned.
2799//
2800// Build-related operations include:
2801//
2802//    * CreateBuild
2803//
2804//    * ListBuilds
2805//
2806//    * DescribeBuild
2807//
2808//    * UpdateBuild
2809//
2810//    * DeleteBuild
2811//
2812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2813// with awserr.Error's Code and Message methods to get detailed information about
2814// the error.
2815//
2816// See the AWS API reference guide for Amazon GameLift's
2817// API operation DescribeBuild for usage and error information.
2818//
2819// Returned Error Codes:
2820//   * ErrCodeUnauthorizedException "UnauthorizedException"
2821//   The client failed authentication. Clients should not retry such requests.
2822//
2823//   * ErrCodeInvalidRequestException "InvalidRequestException"
2824//   One or more parameter values in the request are invalid. Correct the invalid
2825//   parameter values before retrying.
2826//
2827//   * ErrCodeNotFoundException "NotFoundException"
2828//   A service resource associated with the request could not be found. Clients
2829//   should not retry such requests.
2830//
2831//   * ErrCodeInternalServiceException "InternalServiceException"
2832//   The service encountered an unrecoverable internal failure while processing
2833//   the request. Clients can retry such requests immediately or after a waiting
2834//   period.
2835//
2836// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
2837func (c *GameLift) DescribeBuild(input *DescribeBuildInput) (*DescribeBuildOutput, error) {
2838	req, out := c.DescribeBuildRequest(input)
2839	return out, req.Send()
2840}
2841
2842// DescribeBuildWithContext is the same as DescribeBuild with the addition of
2843// the ability to pass a context and additional request options.
2844//
2845// See DescribeBuild for details on how to use this API operation.
2846//
2847// The context must be non-nil and will be used for request cancellation. If
2848// the context is nil a panic will occur. In the future the SDK may create
2849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2850// for more information on using Contexts.
2851func (c *GameLift) DescribeBuildWithContext(ctx aws.Context, input *DescribeBuildInput, opts ...request.Option) (*DescribeBuildOutput, error) {
2852	req, out := c.DescribeBuildRequest(input)
2853	req.SetContext(ctx)
2854	req.ApplyOptions(opts...)
2855	return out, req.Send()
2856}
2857
2858const opDescribeEC2InstanceLimits = "DescribeEC2InstanceLimits"
2859
2860// DescribeEC2InstanceLimitsRequest generates a "aws/request.Request" representing the
2861// client's request for the DescribeEC2InstanceLimits operation. The "output" return
2862// value will be populated with the request's response once the request completes
2863// successfuly.
2864//
2865// Use "Send" method on the returned Request to send the API call to the service.
2866// the "output" return value is not valid until after Send returns without error.
2867//
2868// See DescribeEC2InstanceLimits for more information on using the DescribeEC2InstanceLimits
2869// API call, and error handling.
2870//
2871// This method is useful when you want to inject custom logic or configuration
2872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2873//
2874//
2875//    // Example sending a request using the DescribeEC2InstanceLimitsRequest method.
2876//    req, resp := client.DescribeEC2InstanceLimitsRequest(params)
2877//
2878//    err := req.Send()
2879//    if err == nil { // resp is now filled
2880//        fmt.Println(resp)
2881//    }
2882//
2883// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
2884func (c *GameLift) DescribeEC2InstanceLimitsRequest(input *DescribeEC2InstanceLimitsInput) (req *request.Request, output *DescribeEC2InstanceLimitsOutput) {
2885	op := &request.Operation{
2886		Name:       opDescribeEC2InstanceLimits,
2887		HTTPMethod: "POST",
2888		HTTPPath:   "/",
2889	}
2890
2891	if input == nil {
2892		input = &DescribeEC2InstanceLimitsInput{}
2893	}
2894
2895	output = &DescribeEC2InstanceLimitsOutput{}
2896	req = c.newRequest(op, input, output)
2897	return
2898}
2899
2900// DescribeEC2InstanceLimits API operation for Amazon GameLift.
2901//
2902// Retrieves the following information for the specified EC2 instance type:
2903//
2904//    * maximum number of instances allowed per AWS account (service limit)
2905//
2906//    * current usage level for the AWS account
2907//
2908// Service limits vary depending on region. Available regions for Amazon GameLift
2909// can be found in the AWS Management Console for Amazon GameLift (see the drop-down
2910// list in the upper right corner).
2911//
2912// Fleet-related operations include:
2913//
2914//    * CreateFleet
2915//
2916//    * ListFleets
2917//
2918//    * Describe fleets:
2919//
2920// DescribeFleetAttributes
2921//
2922// DescribeFleetPortSettings
2923//
2924// DescribeFleetUtilization
2925//
2926// DescribeRuntimeConfiguration
2927//
2928// DescribeFleetEvents
2929//
2930//    * Update fleets:
2931//
2932// UpdateFleetAttributes
2933//
2934// UpdateFleetCapacity
2935//
2936// UpdateFleetPortSettings
2937//
2938// UpdateRuntimeConfiguration
2939//
2940//    * Manage fleet capacity:
2941//
2942// DescribeFleetCapacity
2943//
2944// UpdateFleetCapacity
2945//
2946// PutScalingPolicy (automatic scaling)
2947//
2948// DescribeScalingPolicies (automatic scaling)
2949//
2950// DeleteScalingPolicy (automatic scaling)
2951//
2952// DescribeEC2InstanceLimits
2953//
2954//    * DeleteFleet
2955//
2956// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2957// with awserr.Error's Code and Message methods to get detailed information about
2958// the error.
2959//
2960// See the AWS API reference guide for Amazon GameLift's
2961// API operation DescribeEC2InstanceLimits for usage and error information.
2962//
2963// Returned Error Codes:
2964//   * ErrCodeInvalidRequestException "InvalidRequestException"
2965//   One or more parameter values in the request are invalid. Correct the invalid
2966//   parameter values before retrying.
2967//
2968//   * ErrCodeInternalServiceException "InternalServiceException"
2969//   The service encountered an unrecoverable internal failure while processing
2970//   the request. Clients can retry such requests immediately or after a waiting
2971//   period.
2972//
2973//   * ErrCodeUnauthorizedException "UnauthorizedException"
2974//   The client failed authentication. Clients should not retry such requests.
2975//
2976// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
2977func (c *GameLift) DescribeEC2InstanceLimits(input *DescribeEC2InstanceLimitsInput) (*DescribeEC2InstanceLimitsOutput, error) {
2978	req, out := c.DescribeEC2InstanceLimitsRequest(input)
2979	return out, req.Send()
2980}
2981
2982// DescribeEC2InstanceLimitsWithContext is the same as DescribeEC2InstanceLimits with the addition of
2983// the ability to pass a context and additional request options.
2984//
2985// See DescribeEC2InstanceLimits for details on how to use this API operation.
2986//
2987// The context must be non-nil and will be used for request cancellation. If
2988// the context is nil a panic will occur. In the future the SDK may create
2989// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2990// for more information on using Contexts.
2991func (c *GameLift) DescribeEC2InstanceLimitsWithContext(ctx aws.Context, input *DescribeEC2InstanceLimitsInput, opts ...request.Option) (*DescribeEC2InstanceLimitsOutput, error) {
2992	req, out := c.DescribeEC2InstanceLimitsRequest(input)
2993	req.SetContext(ctx)
2994	req.ApplyOptions(opts...)
2995	return out, req.Send()
2996}
2997
2998const opDescribeFleetAttributes = "DescribeFleetAttributes"
2999
3000// DescribeFleetAttributesRequest generates a "aws/request.Request" representing the
3001// client's request for the DescribeFleetAttributes operation. The "output" return
3002// value will be populated with the request's response once the request completes
3003// successfuly.
3004//
3005// Use "Send" method on the returned Request to send the API call to the service.
3006// the "output" return value is not valid until after Send returns without error.
3007//
3008// See DescribeFleetAttributes for more information on using the DescribeFleetAttributes
3009// API call, and error handling.
3010//
3011// This method is useful when you want to inject custom logic or configuration
3012// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3013//
3014//
3015//    // Example sending a request using the DescribeFleetAttributesRequest method.
3016//    req, resp := client.DescribeFleetAttributesRequest(params)
3017//
3018//    err := req.Send()
3019//    if err == nil { // resp is now filled
3020//        fmt.Println(resp)
3021//    }
3022//
3023// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
3024func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributesInput) (req *request.Request, output *DescribeFleetAttributesOutput) {
3025	op := &request.Operation{
3026		Name:       opDescribeFleetAttributes,
3027		HTTPMethod: "POST",
3028		HTTPPath:   "/",
3029	}
3030
3031	if input == nil {
3032		input = &DescribeFleetAttributesInput{}
3033	}
3034
3035	output = &DescribeFleetAttributesOutput{}
3036	req = c.newRequest(op, input, output)
3037	return
3038}
3039
3040// DescribeFleetAttributes API operation for Amazon GameLift.
3041//
3042// Retrieves fleet properties, including metadata, status, and configuration,
3043// for one or more fleets. You can request attributes for all fleets, or specify
3044// a list of one or more fleet IDs. When requesting multiple fleets, use the
3045// pagination parameters to retrieve results as a set of sequential pages. If
3046// successful, a FleetAttributes object is returned for each requested fleet
3047// ID. When specifying a list of fleet IDs, attribute objects are returned only
3048// for fleets that currently exist.
3049//
3050// Some API actions may limit the number of fleet IDs allowed in one request.
3051// If a request exceeds this limit, the request fails and the error message
3052// includes the maximum allowed.
3053//
3054// Fleet-related operations include:
3055//
3056//    * CreateFleet
3057//
3058//    * ListFleets
3059//
3060//    * Describe fleets:
3061//
3062// DescribeFleetAttributes
3063//
3064// DescribeFleetPortSettings
3065//
3066// DescribeFleetUtilization
3067//
3068// DescribeRuntimeConfiguration
3069//
3070// DescribeFleetEvents
3071//
3072//    * Update fleets:
3073//
3074// UpdateFleetAttributes
3075//
3076// UpdateFleetCapacity
3077//
3078// UpdateFleetPortSettings
3079//
3080// UpdateRuntimeConfiguration
3081//
3082//    * Manage fleet capacity:
3083//
3084// DescribeFleetCapacity
3085//
3086// UpdateFleetCapacity
3087//
3088// PutScalingPolicy (automatic scaling)
3089//
3090// DescribeScalingPolicies (automatic scaling)
3091//
3092// DeleteScalingPolicy (automatic scaling)
3093//
3094// DescribeEC2InstanceLimits
3095//
3096//    * DeleteFleet
3097//
3098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3099// with awserr.Error's Code and Message methods to get detailed information about
3100// the error.
3101//
3102// See the AWS API reference guide for Amazon GameLift's
3103// API operation DescribeFleetAttributes for usage and error information.
3104//
3105// Returned Error Codes:
3106//   * ErrCodeInternalServiceException "InternalServiceException"
3107//   The service encountered an unrecoverable internal failure while processing
3108//   the request. Clients can retry such requests immediately or after a waiting
3109//   period.
3110//
3111//   * ErrCodeNotFoundException "NotFoundException"
3112//   A service resource associated with the request could not be found. Clients
3113//   should not retry such requests.
3114//
3115//   * ErrCodeInvalidRequestException "InvalidRequestException"
3116//   One or more parameter values in the request are invalid. Correct the invalid
3117//   parameter values before retrying.
3118//
3119//   * ErrCodeUnauthorizedException "UnauthorizedException"
3120//   The client failed authentication. Clients should not retry such requests.
3121//
3122// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
3123func (c *GameLift) DescribeFleetAttributes(input *DescribeFleetAttributesInput) (*DescribeFleetAttributesOutput, error) {
3124	req, out := c.DescribeFleetAttributesRequest(input)
3125	return out, req.Send()
3126}
3127
3128// DescribeFleetAttributesWithContext is the same as DescribeFleetAttributes with the addition of
3129// the ability to pass a context and additional request options.
3130//
3131// See DescribeFleetAttributes for details on how to use this API operation.
3132//
3133// The context must be non-nil and will be used for request cancellation. If
3134// the context is nil a panic will occur. In the future the SDK may create
3135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3136// for more information on using Contexts.
3137func (c *GameLift) DescribeFleetAttributesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, opts ...request.Option) (*DescribeFleetAttributesOutput, error) {
3138	req, out := c.DescribeFleetAttributesRequest(input)
3139	req.SetContext(ctx)
3140	req.ApplyOptions(opts...)
3141	return out, req.Send()
3142}
3143
3144const opDescribeFleetCapacity = "DescribeFleetCapacity"
3145
3146// DescribeFleetCapacityRequest generates a "aws/request.Request" representing the
3147// client's request for the DescribeFleetCapacity operation. The "output" return
3148// value will be populated with the request's response once the request completes
3149// successfuly.
3150//
3151// Use "Send" method on the returned Request to send the API call to the service.
3152// the "output" return value is not valid until after Send returns without error.
3153//
3154// See DescribeFleetCapacity for more information on using the DescribeFleetCapacity
3155// API call, and error handling.
3156//
3157// This method is useful when you want to inject custom logic or configuration
3158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3159//
3160//
3161//    // Example sending a request using the DescribeFleetCapacityRequest method.
3162//    req, resp := client.DescribeFleetCapacityRequest(params)
3163//
3164//    err := req.Send()
3165//    if err == nil { // resp is now filled
3166//        fmt.Println(resp)
3167//    }
3168//
3169// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
3170func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInput) (req *request.Request, output *DescribeFleetCapacityOutput) {
3171	op := &request.Operation{
3172		Name:       opDescribeFleetCapacity,
3173		HTTPMethod: "POST",
3174		HTTPPath:   "/",
3175	}
3176
3177	if input == nil {
3178		input = &DescribeFleetCapacityInput{}
3179	}
3180
3181	output = &DescribeFleetCapacityOutput{}
3182	req = c.newRequest(op, input, output)
3183	return
3184}
3185
3186// DescribeFleetCapacity API operation for Amazon GameLift.
3187//
3188// Retrieves the current status of fleet capacity for one or more fleets. This
3189// information includes the number of instances that have been requested for
3190// the fleet and the number currently active. You can request capacity for all
3191// fleets, or specify a list of one or more fleet IDs. When requesting multiple
3192// fleets, use the pagination parameters to retrieve results as a set of sequential
3193// pages. If successful, a FleetCapacity object is returned for each requested
3194// fleet ID. When specifying a list of fleet IDs, attribute objects are returned
3195// only for fleets that currently exist.
3196//
3197// Some API actions may limit the number of fleet IDs allowed in one request.
3198// If a request exceeds this limit, the request fails and the error message
3199// includes the maximum allowed.
3200//
3201// Fleet-related operations include:
3202//
3203//    * CreateFleet
3204//
3205//    * ListFleets
3206//
3207//    * Describe fleets:
3208//
3209// DescribeFleetAttributes
3210//
3211// DescribeFleetPortSettings
3212//
3213// DescribeFleetUtilization
3214//
3215// DescribeRuntimeConfiguration
3216//
3217// DescribeFleetEvents
3218//
3219//    * Update fleets:
3220//
3221// UpdateFleetAttributes
3222//
3223// UpdateFleetCapacity
3224//
3225// UpdateFleetPortSettings
3226//
3227// UpdateRuntimeConfiguration
3228//
3229//    * Manage fleet capacity:
3230//
3231// DescribeFleetCapacity
3232//
3233// UpdateFleetCapacity
3234//
3235// PutScalingPolicy (automatic scaling)
3236//
3237// DescribeScalingPolicies (automatic scaling)
3238//
3239// DeleteScalingPolicy (automatic scaling)
3240//
3241// DescribeEC2InstanceLimits
3242//
3243//    * DeleteFleet
3244//
3245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3246// with awserr.Error's Code and Message methods to get detailed information about
3247// the error.
3248//
3249// See the AWS API reference guide for Amazon GameLift's
3250// API operation DescribeFleetCapacity for usage and error information.
3251//
3252// Returned Error Codes:
3253//   * ErrCodeInternalServiceException "InternalServiceException"
3254//   The service encountered an unrecoverable internal failure while processing
3255//   the request. Clients can retry such requests immediately or after a waiting
3256//   period.
3257//
3258//   * ErrCodeNotFoundException "NotFoundException"
3259//   A service resource associated with the request could not be found. Clients
3260//   should not retry such requests.
3261//
3262//   * ErrCodeInvalidRequestException "InvalidRequestException"
3263//   One or more parameter values in the request are invalid. Correct the invalid
3264//   parameter values before retrying.
3265//
3266//   * ErrCodeUnauthorizedException "UnauthorizedException"
3267//   The client failed authentication. Clients should not retry such requests.
3268//
3269// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
3270func (c *GameLift) DescribeFleetCapacity(input *DescribeFleetCapacityInput) (*DescribeFleetCapacityOutput, error) {
3271	req, out := c.DescribeFleetCapacityRequest(input)
3272	return out, req.Send()
3273}
3274
3275// DescribeFleetCapacityWithContext is the same as DescribeFleetCapacity with the addition of
3276// the ability to pass a context and additional request options.
3277//
3278// See DescribeFleetCapacity for details on how to use this API operation.
3279//
3280// The context must be non-nil and will be used for request cancellation. If
3281// the context is nil a panic will occur. In the future the SDK may create
3282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3283// for more information on using Contexts.
3284func (c *GameLift) DescribeFleetCapacityWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, opts ...request.Option) (*DescribeFleetCapacityOutput, error) {
3285	req, out := c.DescribeFleetCapacityRequest(input)
3286	req.SetContext(ctx)
3287	req.ApplyOptions(opts...)
3288	return out, req.Send()
3289}
3290
3291const opDescribeFleetEvents = "DescribeFleetEvents"
3292
3293// DescribeFleetEventsRequest generates a "aws/request.Request" representing the
3294// client's request for the DescribeFleetEvents operation. The "output" return
3295// value will be populated with the request's response once the request completes
3296// successfuly.
3297//
3298// Use "Send" method on the returned Request to send the API call to the service.
3299// the "output" return value is not valid until after Send returns without error.
3300//
3301// See DescribeFleetEvents for more information on using the DescribeFleetEvents
3302// API call, and error handling.
3303//
3304// This method is useful when you want to inject custom logic or configuration
3305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3306//
3307//
3308//    // Example sending a request using the DescribeFleetEventsRequest method.
3309//    req, resp := client.DescribeFleetEventsRequest(params)
3310//
3311//    err := req.Send()
3312//    if err == nil { // resp is now filled
3313//        fmt.Println(resp)
3314//    }
3315//
3316// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
3317func (c *GameLift) DescribeFleetEventsRequest(input *DescribeFleetEventsInput) (req *request.Request, output *DescribeFleetEventsOutput) {
3318	op := &request.Operation{
3319		Name:       opDescribeFleetEvents,
3320		HTTPMethod: "POST",
3321		HTTPPath:   "/",
3322	}
3323
3324	if input == nil {
3325		input = &DescribeFleetEventsInput{}
3326	}
3327
3328	output = &DescribeFleetEventsOutput{}
3329	req = c.newRequest(op, input, output)
3330	return
3331}
3332
3333// DescribeFleetEvents API operation for Amazon GameLift.
3334//
3335// Retrieves entries from the specified fleet's event log. You can specify a
3336// time range to limit the result set. Use the pagination parameters to retrieve
3337// results as a set of sequential pages. If successful, a collection of event
3338// log entries matching the request are returned.
3339//
3340// Fleet-related operations include:
3341//
3342//    * CreateFleet
3343//
3344//    * ListFleets
3345//
3346//    * Describe fleets:
3347//
3348// DescribeFleetAttributes
3349//
3350// DescribeFleetPortSettings
3351//
3352// DescribeFleetUtilization
3353//
3354// DescribeRuntimeConfiguration
3355//
3356// DescribeFleetEvents
3357//
3358//    * Update fleets:
3359//
3360// UpdateFleetAttributes
3361//
3362// UpdateFleetCapacity
3363//
3364// UpdateFleetPortSettings
3365//
3366// UpdateRuntimeConfiguration
3367//
3368//    * Manage fleet capacity:
3369//
3370// DescribeFleetCapacity
3371//
3372// UpdateFleetCapacity
3373//
3374// PutScalingPolicy (automatic scaling)
3375//
3376// DescribeScalingPolicies (automatic scaling)
3377//
3378// DeleteScalingPolicy (automatic scaling)
3379//
3380// DescribeEC2InstanceLimits
3381//
3382//    * DeleteFleet
3383//
3384// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3385// with awserr.Error's Code and Message methods to get detailed information about
3386// the error.
3387//
3388// See the AWS API reference guide for Amazon GameLift's
3389// API operation DescribeFleetEvents for usage and error information.
3390//
3391// Returned Error Codes:
3392//   * ErrCodeNotFoundException "NotFoundException"
3393//   A service resource associated with the request could not be found. Clients
3394//   should not retry such requests.
3395//
3396//   * ErrCodeInternalServiceException "InternalServiceException"
3397//   The service encountered an unrecoverable internal failure while processing
3398//   the request. Clients can retry such requests immediately or after a waiting
3399//   period.
3400//
3401//   * ErrCodeUnauthorizedException "UnauthorizedException"
3402//   The client failed authentication. Clients should not retry such requests.
3403//
3404//   * ErrCodeInvalidRequestException "InvalidRequestException"
3405//   One or more parameter values in the request are invalid. Correct the invalid
3406//   parameter values before retrying.
3407//
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
3409func (c *GameLift) DescribeFleetEvents(input *DescribeFleetEventsInput) (*DescribeFleetEventsOutput, error) {
3410	req, out := c.DescribeFleetEventsRequest(input)
3411	return out, req.Send()
3412}
3413
3414// DescribeFleetEventsWithContext is the same as DescribeFleetEvents with the addition of
3415// the ability to pass a context and additional request options.
3416//
3417// See DescribeFleetEvents for details on how to use this API operation.
3418//
3419// The context must be non-nil and will be used for request cancellation. If
3420// the context is nil a panic will occur. In the future the SDK may create
3421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3422// for more information on using Contexts.
3423func (c *GameLift) DescribeFleetEventsWithContext(ctx aws.Context, input *DescribeFleetEventsInput, opts ...request.Option) (*DescribeFleetEventsOutput, error) {
3424	req, out := c.DescribeFleetEventsRequest(input)
3425	req.SetContext(ctx)
3426	req.ApplyOptions(opts...)
3427	return out, req.Send()
3428}
3429
3430const opDescribeFleetPortSettings = "DescribeFleetPortSettings"
3431
3432// DescribeFleetPortSettingsRequest generates a "aws/request.Request" representing the
3433// client's request for the DescribeFleetPortSettings operation. The "output" return
3434// value will be populated with the request's response once the request completes
3435// successfuly.
3436//
3437// Use "Send" method on the returned Request to send the API call to the service.
3438// the "output" return value is not valid until after Send returns without error.
3439//
3440// See DescribeFleetPortSettings for more information on using the DescribeFleetPortSettings
3441// API call, and error handling.
3442//
3443// This method is useful when you want to inject custom logic or configuration
3444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3445//
3446//
3447//    // Example sending a request using the DescribeFleetPortSettingsRequest method.
3448//    req, resp := client.DescribeFleetPortSettingsRequest(params)
3449//
3450//    err := req.Send()
3451//    if err == nil { // resp is now filled
3452//        fmt.Println(resp)
3453//    }
3454//
3455// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
3456func (c *GameLift) DescribeFleetPortSettingsRequest(input *DescribeFleetPortSettingsInput) (req *request.Request, output *DescribeFleetPortSettingsOutput) {
3457	op := &request.Operation{
3458		Name:       opDescribeFleetPortSettings,
3459		HTTPMethod: "POST",
3460		HTTPPath:   "/",
3461	}
3462
3463	if input == nil {
3464		input = &DescribeFleetPortSettingsInput{}
3465	}
3466
3467	output = &DescribeFleetPortSettingsOutput{}
3468	req = c.newRequest(op, input, output)
3469	return
3470}
3471
3472// DescribeFleetPortSettings API operation for Amazon GameLift.
3473//
3474// Retrieves the inbound connection permissions for a fleet. Connection permissions
3475// include a range of IP addresses and port settings that incoming traffic can
3476// use to access server processes in the fleet. To get a fleet's inbound connection
3477// permissions, specify a fleet ID. If successful, a collection of IpPermission
3478// objects is returned for the requested fleet ID. If the requested fleet has
3479// been deleted, the result set is empty.
3480//
3481// Fleet-related operations include:
3482//
3483//    * CreateFleet
3484//
3485//    * ListFleets
3486//
3487//    * Describe fleets:
3488//
3489// DescribeFleetAttributes
3490//
3491// DescribeFleetPortSettings
3492//
3493// DescribeFleetUtilization
3494//
3495// DescribeRuntimeConfiguration
3496//
3497// DescribeFleetEvents
3498//
3499//    * Update fleets:
3500//
3501// UpdateFleetAttributes
3502//
3503// UpdateFleetCapacity
3504//
3505// UpdateFleetPortSettings
3506//
3507// UpdateRuntimeConfiguration
3508//
3509//    * Manage fleet capacity:
3510//
3511// DescribeFleetCapacity
3512//
3513// UpdateFleetCapacity
3514//
3515// PutScalingPolicy (automatic scaling)
3516//
3517// DescribeScalingPolicies (automatic scaling)
3518//
3519// DeleteScalingPolicy (automatic scaling)
3520//
3521// DescribeEC2InstanceLimits
3522//
3523//    * DeleteFleet
3524//
3525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3526// with awserr.Error's Code and Message methods to get detailed information about
3527// the error.
3528//
3529// See the AWS API reference guide for Amazon GameLift's
3530// API operation DescribeFleetPortSettings for usage and error information.
3531//
3532// Returned Error Codes:
3533//   * ErrCodeInternalServiceException "InternalServiceException"
3534//   The service encountered an unrecoverable internal failure while processing
3535//   the request. Clients can retry such requests immediately or after a waiting
3536//   period.
3537//
3538//   * ErrCodeNotFoundException "NotFoundException"
3539//   A service resource associated with the request could not be found. Clients
3540//   should not retry such requests.
3541//
3542//   * ErrCodeInvalidRequestException "InvalidRequestException"
3543//   One or more parameter values in the request are invalid. Correct the invalid
3544//   parameter values before retrying.
3545//
3546//   * ErrCodeUnauthorizedException "UnauthorizedException"
3547//   The client failed authentication. Clients should not retry such requests.
3548//
3549// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
3550func (c *GameLift) DescribeFleetPortSettings(input *DescribeFleetPortSettingsInput) (*DescribeFleetPortSettingsOutput, error) {
3551	req, out := c.DescribeFleetPortSettingsRequest(input)
3552	return out, req.Send()
3553}
3554
3555// DescribeFleetPortSettingsWithContext is the same as DescribeFleetPortSettings with the addition of
3556// the ability to pass a context and additional request options.
3557//
3558// See DescribeFleetPortSettings for details on how to use this API operation.
3559//
3560// The context must be non-nil and will be used for request cancellation. If
3561// the context is nil a panic will occur. In the future the SDK may create
3562// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3563// for more information on using Contexts.
3564func (c *GameLift) DescribeFleetPortSettingsWithContext(ctx aws.Context, input *DescribeFleetPortSettingsInput, opts ...request.Option) (*DescribeFleetPortSettingsOutput, error) {
3565	req, out := c.DescribeFleetPortSettingsRequest(input)
3566	req.SetContext(ctx)
3567	req.ApplyOptions(opts...)
3568	return out, req.Send()
3569}
3570
3571const opDescribeFleetUtilization = "DescribeFleetUtilization"
3572
3573// DescribeFleetUtilizationRequest generates a "aws/request.Request" representing the
3574// client's request for the DescribeFleetUtilization operation. The "output" return
3575// value will be populated with the request's response once the request completes
3576// successfuly.
3577//
3578// Use "Send" method on the returned Request to send the API call to the service.
3579// the "output" return value is not valid until after Send returns without error.
3580//
3581// See DescribeFleetUtilization for more information on using the DescribeFleetUtilization
3582// API call, and error handling.
3583//
3584// This method is useful when you want to inject custom logic or configuration
3585// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3586//
3587//
3588//    // Example sending a request using the DescribeFleetUtilizationRequest method.
3589//    req, resp := client.DescribeFleetUtilizationRequest(params)
3590//
3591//    err := req.Send()
3592//    if err == nil { // resp is now filled
3593//        fmt.Println(resp)
3594//    }
3595//
3596// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
3597func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizationInput) (req *request.Request, output *DescribeFleetUtilizationOutput) {
3598	op := &request.Operation{
3599		Name:       opDescribeFleetUtilization,
3600		HTTPMethod: "POST",
3601		HTTPPath:   "/",
3602	}
3603
3604	if input == nil {
3605		input = &DescribeFleetUtilizationInput{}
3606	}
3607
3608	output = &DescribeFleetUtilizationOutput{}
3609	req = c.newRequest(op, input, output)
3610	return
3611}
3612
3613// DescribeFleetUtilization API operation for Amazon GameLift.
3614//
3615// Retrieves utilization statistics for one or more fleets. You can request
3616// utilization data for all fleets, or specify a list of one or more fleet IDs.
3617// When requesting multiple fleets, use the pagination parameters to retrieve
3618// results as a set of sequential pages. If successful, a FleetUtilization object
3619// is returned for each requested fleet ID. When specifying a list of fleet
3620// IDs, utilization objects are returned only for fleets that currently exist.
3621//
3622// Some API actions may limit the number of fleet IDs allowed in one request.
3623// If a request exceeds this limit, the request fails and the error message
3624// includes the maximum allowed.
3625//
3626// Fleet-related operations include:
3627//
3628//    * CreateFleet
3629//
3630//    * ListFleets
3631//
3632//    * Describe fleets:
3633//
3634// DescribeFleetAttributes
3635//
3636// DescribeFleetPortSettings
3637//
3638// DescribeFleetUtilization
3639//
3640// DescribeRuntimeConfiguration
3641//
3642// DescribeFleetEvents
3643//
3644//    * Update fleets:
3645//
3646// UpdateFleetAttributes
3647//
3648// UpdateFleetCapacity
3649//
3650// UpdateFleetPortSettings
3651//
3652// UpdateRuntimeConfiguration
3653//
3654//    * Manage fleet capacity:
3655//
3656// DescribeFleetCapacity
3657//
3658// UpdateFleetCapacity
3659//
3660// PutScalingPolicy (automatic scaling)
3661//
3662// DescribeScalingPolicies (automatic scaling)
3663//
3664// DeleteScalingPolicy (automatic scaling)
3665//
3666// DescribeEC2InstanceLimits
3667//
3668//    * DeleteFleet
3669//
3670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3671// with awserr.Error's Code and Message methods to get detailed information about
3672// the error.
3673//
3674// See the AWS API reference guide for Amazon GameLift's
3675// API operation DescribeFleetUtilization for usage and error information.
3676//
3677// Returned Error Codes:
3678//   * ErrCodeInternalServiceException "InternalServiceException"
3679//   The service encountered an unrecoverable internal failure while processing
3680//   the request. Clients can retry such requests immediately or after a waiting
3681//   period.
3682//
3683//   * ErrCodeNotFoundException "NotFoundException"
3684//   A service resource associated with the request could not be found. Clients
3685//   should not retry such requests.
3686//
3687//   * ErrCodeInvalidRequestException "InvalidRequestException"
3688//   One or more parameter values in the request are invalid. Correct the invalid
3689//   parameter values before retrying.
3690//
3691//   * ErrCodeUnauthorizedException "UnauthorizedException"
3692//   The client failed authentication. Clients should not retry such requests.
3693//
3694// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
3695func (c *GameLift) DescribeFleetUtilization(input *DescribeFleetUtilizationInput) (*DescribeFleetUtilizationOutput, error) {
3696	req, out := c.DescribeFleetUtilizationRequest(input)
3697	return out, req.Send()
3698}
3699
3700// DescribeFleetUtilizationWithContext is the same as DescribeFleetUtilization with the addition of
3701// the ability to pass a context and additional request options.
3702//
3703// See DescribeFleetUtilization for details on how to use this API operation.
3704//
3705// The context must be non-nil and will be used for request cancellation. If
3706// the context is nil a panic will occur. In the future the SDK may create
3707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3708// for more information on using Contexts.
3709func (c *GameLift) DescribeFleetUtilizationWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, opts ...request.Option) (*DescribeFleetUtilizationOutput, error) {
3710	req, out := c.DescribeFleetUtilizationRequest(input)
3711	req.SetContext(ctx)
3712	req.ApplyOptions(opts...)
3713	return out, req.Send()
3714}
3715
3716const opDescribeGameSessionDetails = "DescribeGameSessionDetails"
3717
3718// DescribeGameSessionDetailsRequest generates a "aws/request.Request" representing the
3719// client's request for the DescribeGameSessionDetails operation. The "output" return
3720// value will be populated with the request's response once the request completes
3721// successfuly.
3722//
3723// Use "Send" method on the returned Request to send the API call to the service.
3724// the "output" return value is not valid until after Send returns without error.
3725//
3726// See DescribeGameSessionDetails for more information on using the DescribeGameSessionDetails
3727// API call, and error handling.
3728//
3729// This method is useful when you want to inject custom logic or configuration
3730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3731//
3732//
3733//    // Example sending a request using the DescribeGameSessionDetailsRequest method.
3734//    req, resp := client.DescribeGameSessionDetailsRequest(params)
3735//
3736//    err := req.Send()
3737//    if err == nil { // resp is now filled
3738//        fmt.Println(resp)
3739//    }
3740//
3741// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
3742func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionDetailsInput) (req *request.Request, output *DescribeGameSessionDetailsOutput) {
3743	op := &request.Operation{
3744		Name:       opDescribeGameSessionDetails,
3745		HTTPMethod: "POST",
3746		HTTPPath:   "/",
3747	}
3748
3749	if input == nil {
3750		input = &DescribeGameSessionDetailsInput{}
3751	}
3752
3753	output = &DescribeGameSessionDetailsOutput{}
3754	req = c.newRequest(op, input, output)
3755	return
3756}
3757
3758// DescribeGameSessionDetails API operation for Amazon GameLift.
3759//
3760// Retrieves properties, including the protection policy in force, for one or
3761// more game sessions. This action can be used in several ways: (1) provide
3762// a GameSessionId or GameSessionArn to request details for a specific game
3763// session; (2) provide either a FleetId or an AliasId to request properties
3764// for all game sessions running on a fleet.
3765//
3766// To get game session record(s), specify just one of the following: game session
3767// ID, fleet ID, or alias ID. You can filter this request by game session status.
3768// Use the pagination parameters to retrieve results as a set of sequential
3769// pages. If successful, a GameSessionDetail object is returned for each session
3770// matching the request.
3771//
3772// Game-session-related operations include:
3773//
3774//    * CreateGameSession
3775//
3776//    * DescribeGameSessions
3777//
3778//    * DescribeGameSessionDetails
3779//
3780//    * SearchGameSessions
3781//
3782//    * UpdateGameSession
3783//
3784//    * GetGameSessionLogUrl
3785//
3786//    * Game session placements
3787//
3788// StartGameSessionPlacement
3789//
3790// DescribeGameSessionPlacement
3791//
3792// StopGameSessionPlacement
3793//
3794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3795// with awserr.Error's Code and Message methods to get detailed information about
3796// the error.
3797//
3798// See the AWS API reference guide for Amazon GameLift's
3799// API operation DescribeGameSessionDetails for usage and error information.
3800//
3801// Returned Error Codes:
3802//   * ErrCodeInternalServiceException "InternalServiceException"
3803//   The service encountered an unrecoverable internal failure while processing
3804//   the request. Clients can retry such requests immediately or after a waiting
3805//   period.
3806//
3807//   * ErrCodeNotFoundException "NotFoundException"
3808//   A service resource associated with the request could not be found. Clients
3809//   should not retry such requests.
3810//
3811//   * ErrCodeInvalidRequestException "InvalidRequestException"
3812//   One or more parameter values in the request are invalid. Correct the invalid
3813//   parameter values before retrying.
3814//
3815//   * ErrCodeUnauthorizedException "UnauthorizedException"
3816//   The client failed authentication. Clients should not retry such requests.
3817//
3818//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
3819//   The service is unable to resolve the routing for a particular alias because
3820//   it has a terminal RoutingStrategy associated with it. The message returned
3821//   in this exception is the message defined in the routing strategy itself.
3822//   Such requests should only be retried if the routing strategy for the specified
3823//   alias is modified.
3824//
3825// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
3826func (c *GameLift) DescribeGameSessionDetails(input *DescribeGameSessionDetailsInput) (*DescribeGameSessionDetailsOutput, error) {
3827	req, out := c.DescribeGameSessionDetailsRequest(input)
3828	return out, req.Send()
3829}
3830
3831// DescribeGameSessionDetailsWithContext is the same as DescribeGameSessionDetails with the addition of
3832// the ability to pass a context and additional request options.
3833//
3834// See DescribeGameSessionDetails for details on how to use this API operation.
3835//
3836// The context must be non-nil and will be used for request cancellation. If
3837// the context is nil a panic will occur. In the future the SDK may create
3838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3839// for more information on using Contexts.
3840func (c *GameLift) DescribeGameSessionDetailsWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, opts ...request.Option) (*DescribeGameSessionDetailsOutput, error) {
3841	req, out := c.DescribeGameSessionDetailsRequest(input)
3842	req.SetContext(ctx)
3843	req.ApplyOptions(opts...)
3844	return out, req.Send()
3845}
3846
3847const opDescribeGameSessionPlacement = "DescribeGameSessionPlacement"
3848
3849// DescribeGameSessionPlacementRequest generates a "aws/request.Request" representing the
3850// client's request for the DescribeGameSessionPlacement operation. The "output" return
3851// value will be populated with the request's response once the request completes
3852// successfuly.
3853//
3854// Use "Send" method on the returned Request to send the API call to the service.
3855// the "output" return value is not valid until after Send returns without error.
3856//
3857// See DescribeGameSessionPlacement for more information on using the DescribeGameSessionPlacement
3858// API call, and error handling.
3859//
3860// This method is useful when you want to inject custom logic or configuration
3861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3862//
3863//
3864//    // Example sending a request using the DescribeGameSessionPlacementRequest method.
3865//    req, resp := client.DescribeGameSessionPlacementRequest(params)
3866//
3867//    err := req.Send()
3868//    if err == nil { // resp is now filled
3869//        fmt.Println(resp)
3870//    }
3871//
3872// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
3873func (c *GameLift) DescribeGameSessionPlacementRequest(input *DescribeGameSessionPlacementInput) (req *request.Request, output *DescribeGameSessionPlacementOutput) {
3874	op := &request.Operation{
3875		Name:       opDescribeGameSessionPlacement,
3876		HTTPMethod: "POST",
3877		HTTPPath:   "/",
3878	}
3879
3880	if input == nil {
3881		input = &DescribeGameSessionPlacementInput{}
3882	}
3883
3884	output = &DescribeGameSessionPlacementOutput{}
3885	req = c.newRequest(op, input, output)
3886	return
3887}
3888
3889// DescribeGameSessionPlacement API operation for Amazon GameLift.
3890//
3891// Retrieves properties and current status of a game session placement request.
3892// To get game session placement details, specify the placement ID. If successful,
3893// a GameSessionPlacement object is returned.
3894//
3895// Game-session-related operations include:
3896//
3897//    * CreateGameSession
3898//
3899//    * DescribeGameSessions
3900//
3901//    * DescribeGameSessionDetails
3902//
3903//    * SearchGameSessions
3904//
3905//    * UpdateGameSession
3906//
3907//    * GetGameSessionLogUrl
3908//
3909//    * Game session placements
3910//
3911// StartGameSessionPlacement
3912//
3913// DescribeGameSessionPlacement
3914//
3915// StopGameSessionPlacement
3916//
3917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3918// with awserr.Error's Code and Message methods to get detailed information about
3919// the error.
3920//
3921// See the AWS API reference guide for Amazon GameLift's
3922// API operation DescribeGameSessionPlacement for usage and error information.
3923//
3924// Returned Error Codes:
3925//   * ErrCodeInternalServiceException "InternalServiceException"
3926//   The service encountered an unrecoverable internal failure while processing
3927//   the request. Clients can retry such requests immediately or after a waiting
3928//   period.
3929//
3930//   * ErrCodeInvalidRequestException "InvalidRequestException"
3931//   One or more parameter values in the request are invalid. Correct the invalid
3932//   parameter values before retrying.
3933//
3934//   * ErrCodeNotFoundException "NotFoundException"
3935//   A service resource associated with the request could not be found. Clients
3936//   should not retry such requests.
3937//
3938//   * ErrCodeUnauthorizedException "UnauthorizedException"
3939//   The client failed authentication. Clients should not retry such requests.
3940//
3941// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
3942func (c *GameLift) DescribeGameSessionPlacement(input *DescribeGameSessionPlacementInput) (*DescribeGameSessionPlacementOutput, error) {
3943	req, out := c.DescribeGameSessionPlacementRequest(input)
3944	return out, req.Send()
3945}
3946
3947// DescribeGameSessionPlacementWithContext is the same as DescribeGameSessionPlacement with the addition of
3948// the ability to pass a context and additional request options.
3949//
3950// See DescribeGameSessionPlacement for details on how to use this API operation.
3951//
3952// The context must be non-nil and will be used for request cancellation. If
3953// the context is nil a panic will occur. In the future the SDK may create
3954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3955// for more information on using Contexts.
3956func (c *GameLift) DescribeGameSessionPlacementWithContext(ctx aws.Context, input *DescribeGameSessionPlacementInput, opts ...request.Option) (*DescribeGameSessionPlacementOutput, error) {
3957	req, out := c.DescribeGameSessionPlacementRequest(input)
3958	req.SetContext(ctx)
3959	req.ApplyOptions(opts...)
3960	return out, req.Send()
3961}
3962
3963const opDescribeGameSessionQueues = "DescribeGameSessionQueues"
3964
3965// DescribeGameSessionQueuesRequest generates a "aws/request.Request" representing the
3966// client's request for the DescribeGameSessionQueues operation. The "output" return
3967// value will be populated with the request's response once the request completes
3968// successfuly.
3969//
3970// Use "Send" method on the returned Request to send the API call to the service.
3971// the "output" return value is not valid until after Send returns without error.
3972//
3973// See DescribeGameSessionQueues for more information on using the DescribeGameSessionQueues
3974// API call, and error handling.
3975//
3976// This method is useful when you want to inject custom logic or configuration
3977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3978//
3979//
3980//    // Example sending a request using the DescribeGameSessionQueuesRequest method.
3981//    req, resp := client.DescribeGameSessionQueuesRequest(params)
3982//
3983//    err := req.Send()
3984//    if err == nil { // resp is now filled
3985//        fmt.Println(resp)
3986//    }
3987//
3988// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
3989func (c *GameLift) DescribeGameSessionQueuesRequest(input *DescribeGameSessionQueuesInput) (req *request.Request, output *DescribeGameSessionQueuesOutput) {
3990	op := &request.Operation{
3991		Name:       opDescribeGameSessionQueues,
3992		HTTPMethod: "POST",
3993		HTTPPath:   "/",
3994	}
3995
3996	if input == nil {
3997		input = &DescribeGameSessionQueuesInput{}
3998	}
3999
4000	output = &DescribeGameSessionQueuesOutput{}
4001	req = c.newRequest(op, input, output)
4002	return
4003}
4004
4005// DescribeGameSessionQueues API operation for Amazon GameLift.
4006//
4007// Retrieves the properties for one or more game session queues. When requesting
4008// multiple queues, use the pagination parameters to retrieve results as a set
4009// of sequential pages. If successful, a GameSessionQueue object is returned
4010// for each requested queue. When specifying a list of queues, objects are returned
4011// only for queues that currently exist in the region.
4012//
4013// Queue-related operations include:
4014//
4015//    * CreateGameSessionQueue
4016//
4017//    * DescribeGameSessionQueues
4018//
4019//    * UpdateGameSessionQueue
4020//
4021//    * DeleteGameSessionQueue
4022//
4023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4024// with awserr.Error's Code and Message methods to get detailed information about
4025// the error.
4026//
4027// See the AWS API reference guide for Amazon GameLift's
4028// API operation DescribeGameSessionQueues for usage and error information.
4029//
4030// Returned Error Codes:
4031//   * ErrCodeInternalServiceException "InternalServiceException"
4032//   The service encountered an unrecoverable internal failure while processing
4033//   the request. Clients can retry such requests immediately or after a waiting
4034//   period.
4035//
4036//   * ErrCodeInvalidRequestException "InvalidRequestException"
4037//   One or more parameter values in the request are invalid. Correct the invalid
4038//   parameter values before retrying.
4039//
4040//   * ErrCodeNotFoundException "NotFoundException"
4041//   A service resource associated with the request could not be found. Clients
4042//   should not retry such requests.
4043//
4044//   * ErrCodeUnauthorizedException "UnauthorizedException"
4045//   The client failed authentication. Clients should not retry such requests.
4046//
4047// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
4048func (c *GameLift) DescribeGameSessionQueues(input *DescribeGameSessionQueuesInput) (*DescribeGameSessionQueuesOutput, error) {
4049	req, out := c.DescribeGameSessionQueuesRequest(input)
4050	return out, req.Send()
4051}
4052
4053// DescribeGameSessionQueuesWithContext is the same as DescribeGameSessionQueues with the addition of
4054// the ability to pass a context and additional request options.
4055//
4056// See DescribeGameSessionQueues for details on how to use this API operation.
4057//
4058// The context must be non-nil and will be used for request cancellation. If
4059// the context is nil a panic will occur. In the future the SDK may create
4060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4061// for more information on using Contexts.
4062func (c *GameLift) DescribeGameSessionQueuesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, opts ...request.Option) (*DescribeGameSessionQueuesOutput, error) {
4063	req, out := c.DescribeGameSessionQueuesRequest(input)
4064	req.SetContext(ctx)
4065	req.ApplyOptions(opts...)
4066	return out, req.Send()
4067}
4068
4069const opDescribeGameSessions = "DescribeGameSessions"
4070
4071// DescribeGameSessionsRequest generates a "aws/request.Request" representing the
4072// client's request for the DescribeGameSessions operation. The "output" return
4073// value will be populated with the request's response once the request completes
4074// successfuly.
4075//
4076// Use "Send" method on the returned Request to send the API call to the service.
4077// the "output" return value is not valid until after Send returns without error.
4078//
4079// See DescribeGameSessions for more information on using the DescribeGameSessions
4080// API call, and error handling.
4081//
4082// This method is useful when you want to inject custom logic or configuration
4083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4084//
4085//
4086//    // Example sending a request using the DescribeGameSessionsRequest method.
4087//    req, resp := client.DescribeGameSessionsRequest(params)
4088//
4089//    err := req.Send()
4090//    if err == nil { // resp is now filled
4091//        fmt.Println(resp)
4092//    }
4093//
4094// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
4095func (c *GameLift) DescribeGameSessionsRequest(input *DescribeGameSessionsInput) (req *request.Request, output *DescribeGameSessionsOutput) {
4096	op := &request.Operation{
4097		Name:       opDescribeGameSessions,
4098		HTTPMethod: "POST",
4099		HTTPPath:   "/",
4100	}
4101
4102	if input == nil {
4103		input = &DescribeGameSessionsInput{}
4104	}
4105
4106	output = &DescribeGameSessionsOutput{}
4107	req = c.newRequest(op, input, output)
4108	return
4109}
4110
4111// DescribeGameSessions API operation for Amazon GameLift.
4112//
4113// Retrieves a set of one or more game sessions. Request a specific game session
4114// or request all game sessions on a fleet. Alternatively, use SearchGameSessions
4115// to request a set of active game sessions that are filtered by certain criteria.
4116// To retrieve protection policy settings for game sessions, use DescribeGameSessionDetails.
4117//
4118// To get game sessions, specify one of the following: game session ID, fleet
4119// ID, or alias ID. You can filter this request by game session status. Use
4120// the pagination parameters to retrieve results as a set of sequential pages.
4121// If successful, a GameSession object is returned for each game session matching
4122// the request.
4123//
4124// Available in Amazon GameLift Local.
4125//
4126// Game-session-related operations include:
4127//
4128//    * CreateGameSession
4129//
4130//    * DescribeGameSessions
4131//
4132//    * DescribeGameSessionDetails
4133//
4134//    * SearchGameSessions
4135//
4136//    * UpdateGameSession
4137//
4138//    * GetGameSessionLogUrl
4139//
4140//    * Game session placements
4141//
4142// StartGameSessionPlacement
4143//
4144// DescribeGameSessionPlacement
4145//
4146// StopGameSessionPlacement
4147//
4148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4149// with awserr.Error's Code and Message methods to get detailed information about
4150// the error.
4151//
4152// See the AWS API reference guide for Amazon GameLift's
4153// API operation DescribeGameSessions for usage and error information.
4154//
4155// Returned Error Codes:
4156//   * ErrCodeInternalServiceException "InternalServiceException"
4157//   The service encountered an unrecoverable internal failure while processing
4158//   the request. Clients can retry such requests immediately or after a waiting
4159//   period.
4160//
4161//   * ErrCodeNotFoundException "NotFoundException"
4162//   A service resource associated with the request could not be found. Clients
4163//   should not retry such requests.
4164//
4165//   * ErrCodeInvalidRequestException "InvalidRequestException"
4166//   One or more parameter values in the request are invalid. Correct the invalid
4167//   parameter values before retrying.
4168//
4169//   * ErrCodeUnauthorizedException "UnauthorizedException"
4170//   The client failed authentication. Clients should not retry such requests.
4171//
4172//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
4173//   The service is unable to resolve the routing for a particular alias because
4174//   it has a terminal RoutingStrategy associated with it. The message returned
4175//   in this exception is the message defined in the routing strategy itself.
4176//   Such requests should only be retried if the routing strategy for the specified
4177//   alias is modified.
4178//
4179// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
4180func (c *GameLift) DescribeGameSessions(input *DescribeGameSessionsInput) (*DescribeGameSessionsOutput, error) {
4181	req, out := c.DescribeGameSessionsRequest(input)
4182	return out, req.Send()
4183}
4184
4185// DescribeGameSessionsWithContext is the same as DescribeGameSessions with the addition of
4186// the ability to pass a context and additional request options.
4187//
4188// See DescribeGameSessions for details on how to use this API operation.
4189//
4190// The context must be non-nil and will be used for request cancellation. If
4191// the context is nil a panic will occur. In the future the SDK may create
4192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4193// for more information on using Contexts.
4194func (c *GameLift) DescribeGameSessionsWithContext(ctx aws.Context, input *DescribeGameSessionsInput, opts ...request.Option) (*DescribeGameSessionsOutput, error) {
4195	req, out := c.DescribeGameSessionsRequest(input)
4196	req.SetContext(ctx)
4197	req.ApplyOptions(opts...)
4198	return out, req.Send()
4199}
4200
4201const opDescribeInstances = "DescribeInstances"
4202
4203// DescribeInstancesRequest generates a "aws/request.Request" representing the
4204// client's request for the DescribeInstances operation. The "output" return
4205// value will be populated with the request's response once the request completes
4206// successfuly.
4207//
4208// Use "Send" method on the returned Request to send the API call to the service.
4209// the "output" return value is not valid until after Send returns without error.
4210//
4211// See DescribeInstances for more information on using the DescribeInstances
4212// API call, and error handling.
4213//
4214// This method is useful when you want to inject custom logic or configuration
4215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4216//
4217//
4218//    // Example sending a request using the DescribeInstancesRequest method.
4219//    req, resp := client.DescribeInstancesRequest(params)
4220//
4221//    err := req.Send()
4222//    if err == nil { // resp is now filled
4223//        fmt.Println(resp)
4224//    }
4225//
4226// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
4227func (c *GameLift) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
4228	op := &request.Operation{
4229		Name:       opDescribeInstances,
4230		HTTPMethod: "POST",
4231		HTTPPath:   "/",
4232	}
4233
4234	if input == nil {
4235		input = &DescribeInstancesInput{}
4236	}
4237
4238	output = &DescribeInstancesOutput{}
4239	req = c.newRequest(op, input, output)
4240	return
4241}
4242
4243// DescribeInstances API operation for Amazon GameLift.
4244//
4245// Retrieves information about a fleet's instances, including instance IDs.
4246// Use this action to get details on all instances in the fleet or get details
4247// on one specific instance.
4248//
4249// To get a specific instance, specify fleet ID and instance ID. To get all
4250// instances in a fleet, specify a fleet ID only. Use the pagination parameters
4251// to retrieve results as a set of sequential pages. If successful, an Instance
4252// object is returned for each result.
4253//
4254// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4255// with awserr.Error's Code and Message methods to get detailed information about
4256// the error.
4257//
4258// See the AWS API reference guide for Amazon GameLift's
4259// API operation DescribeInstances for usage and error information.
4260//
4261// Returned Error Codes:
4262//   * ErrCodeUnauthorizedException "UnauthorizedException"
4263//   The client failed authentication. Clients should not retry such requests.
4264//
4265//   * ErrCodeInvalidRequestException "InvalidRequestException"
4266//   One or more parameter values in the request are invalid. Correct the invalid
4267//   parameter values before retrying.
4268//
4269//   * ErrCodeNotFoundException "NotFoundException"
4270//   A service resource associated with the request could not be found. Clients
4271//   should not retry such requests.
4272//
4273//   * ErrCodeInternalServiceException "InternalServiceException"
4274//   The service encountered an unrecoverable internal failure while processing
4275//   the request. Clients can retry such requests immediately or after a waiting
4276//   period.
4277//
4278// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
4279func (c *GameLift) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
4280	req, out := c.DescribeInstancesRequest(input)
4281	return out, req.Send()
4282}
4283
4284// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
4285// the ability to pass a context and additional request options.
4286//
4287// See DescribeInstances for details on how to use this API operation.
4288//
4289// The context must be non-nil and will be used for request cancellation. If
4290// the context is nil a panic will occur. In the future the SDK may create
4291// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4292// for more information on using Contexts.
4293func (c *GameLift) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
4294	req, out := c.DescribeInstancesRequest(input)
4295	req.SetContext(ctx)
4296	req.ApplyOptions(opts...)
4297	return out, req.Send()
4298}
4299
4300const opDescribeMatchmaking = "DescribeMatchmaking"
4301
4302// DescribeMatchmakingRequest generates a "aws/request.Request" representing the
4303// client's request for the DescribeMatchmaking operation. The "output" return
4304// value will be populated with the request's response once the request completes
4305// successfuly.
4306//
4307// Use "Send" method on the returned Request to send the API call to the service.
4308// the "output" return value is not valid until after Send returns without error.
4309//
4310// See DescribeMatchmaking for more information on using the DescribeMatchmaking
4311// API call, and error handling.
4312//
4313// This method is useful when you want to inject custom logic or configuration
4314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4315//
4316//
4317//    // Example sending a request using the DescribeMatchmakingRequest method.
4318//    req, resp := client.DescribeMatchmakingRequest(params)
4319//
4320//    err := req.Send()
4321//    if err == nil { // resp is now filled
4322//        fmt.Println(resp)
4323//    }
4324//
4325// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
4326func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) (req *request.Request, output *DescribeMatchmakingOutput) {
4327	op := &request.Operation{
4328		Name:       opDescribeMatchmaking,
4329		HTTPMethod: "POST",
4330		HTTPPath:   "/",
4331	}
4332
4333	if input == nil {
4334		input = &DescribeMatchmakingInput{}
4335	}
4336
4337	output = &DescribeMatchmakingOutput{}
4338	req = c.newRequest(op, input, output)
4339	return
4340}
4341
4342// DescribeMatchmaking API operation for Amazon GameLift.
4343//
4344// Retrieves one or more matchmaking tickets. Use this operation to retrieve
4345// ticket information, including status and--once a successful match is made--acquire
4346// connection information for the resulting new game session.
4347//
4348// You can use this operation to track the progress of matchmaking requests
4349// (through polling) as an alternative to using event notifications. See more
4350// details on tracking matchmaking requests through polling or notifications
4351// in StartMatchmaking.
4352//
4353// To request matchmaking tickets, provide a list of up to 10 ticket IDs. If
4354// the request is successful, a ticket object is returned for each requested
4355// ID that currently exists.
4356//
4357// Matchmaking-related operations include:
4358//
4359//    * StartMatchmaking
4360//
4361//    * DescribeMatchmaking
4362//
4363//    * StopMatchmaking
4364//
4365//    * AcceptMatch
4366//
4367//    * StartMatchBackfill
4368//
4369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4370// with awserr.Error's Code and Message methods to get detailed information about
4371// the error.
4372//
4373// See the AWS API reference guide for Amazon GameLift's
4374// API operation DescribeMatchmaking for usage and error information.
4375//
4376// Returned Error Codes:
4377//   * ErrCodeInvalidRequestException "InvalidRequestException"
4378//   One or more parameter values in the request are invalid. Correct the invalid
4379//   parameter values before retrying.
4380//
4381//   * ErrCodeInternalServiceException "InternalServiceException"
4382//   The service encountered an unrecoverable internal failure while processing
4383//   the request. Clients can retry such requests immediately or after a waiting
4384//   period.
4385//
4386//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
4387//   The requested operation is not supported in the region specified.
4388//
4389// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
4390func (c *GameLift) DescribeMatchmaking(input *DescribeMatchmakingInput) (*DescribeMatchmakingOutput, error) {
4391	req, out := c.DescribeMatchmakingRequest(input)
4392	return out, req.Send()
4393}
4394
4395// DescribeMatchmakingWithContext is the same as DescribeMatchmaking with the addition of
4396// the ability to pass a context and additional request options.
4397//
4398// See DescribeMatchmaking for details on how to use this API operation.
4399//
4400// The context must be non-nil and will be used for request cancellation. If
4401// the context is nil a panic will occur. In the future the SDK may create
4402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4403// for more information on using Contexts.
4404func (c *GameLift) DescribeMatchmakingWithContext(ctx aws.Context, input *DescribeMatchmakingInput, opts ...request.Option) (*DescribeMatchmakingOutput, error) {
4405	req, out := c.DescribeMatchmakingRequest(input)
4406	req.SetContext(ctx)
4407	req.ApplyOptions(opts...)
4408	return out, req.Send()
4409}
4410
4411const opDescribeMatchmakingConfigurations = "DescribeMatchmakingConfigurations"
4412
4413// DescribeMatchmakingConfigurationsRequest generates a "aws/request.Request" representing the
4414// client's request for the DescribeMatchmakingConfigurations operation. The "output" return
4415// value will be populated with the request's response once the request completes
4416// successfuly.
4417//
4418// Use "Send" method on the returned Request to send the API call to the service.
4419// the "output" return value is not valid until after Send returns without error.
4420//
4421// See DescribeMatchmakingConfigurations for more information on using the DescribeMatchmakingConfigurations
4422// API call, and error handling.
4423//
4424// This method is useful when you want to inject custom logic or configuration
4425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4426//
4427//
4428//    // Example sending a request using the DescribeMatchmakingConfigurationsRequest method.
4429//    req, resp := client.DescribeMatchmakingConfigurationsRequest(params)
4430//
4431//    err := req.Send()
4432//    if err == nil { // resp is now filled
4433//        fmt.Println(resp)
4434//    }
4435//
4436// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
4437func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatchmakingConfigurationsInput) (req *request.Request, output *DescribeMatchmakingConfigurationsOutput) {
4438	op := &request.Operation{
4439		Name:       opDescribeMatchmakingConfigurations,
4440		HTTPMethod: "POST",
4441		HTTPPath:   "/",
4442	}
4443
4444	if input == nil {
4445		input = &DescribeMatchmakingConfigurationsInput{}
4446	}
4447
4448	output = &DescribeMatchmakingConfigurationsOutput{}
4449	req = c.newRequest(op, input, output)
4450	return
4451}
4452
4453// DescribeMatchmakingConfigurations API operation for Amazon GameLift.
4454//
4455// Retrieves the details of FlexMatch matchmaking configurations. with this
4456// operation, you have the following options: (1) retrieve all existing configurations,
4457// (2) provide the names of one or more configurations to retrieve, or (3) retrieve
4458// all configurations that use a specified rule set name. When requesting multiple
4459// items, use the pagination parameters to retrieve results as a set of sequential
4460// pages. If successful, a configuration is returned for each requested name.
4461// When specifying a list of names, only configurations that currently exist
4462// are returned.
4463//
4464// Operations related to match configurations and rule sets include:
4465//
4466//    * CreateMatchmakingConfiguration
4467//
4468//    * DescribeMatchmakingConfigurations
4469//
4470//    * UpdateMatchmakingConfiguration
4471//
4472//    * DeleteMatchmakingConfiguration
4473//
4474//    * CreateMatchmakingRuleSet
4475//
4476//    * DescribeMatchmakingRuleSets
4477//
4478//    * ValidateMatchmakingRuleSet
4479//
4480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4481// with awserr.Error's Code and Message methods to get detailed information about
4482// the error.
4483//
4484// See the AWS API reference guide for Amazon GameLift's
4485// API operation DescribeMatchmakingConfigurations for usage and error information.
4486//
4487// Returned Error Codes:
4488//   * ErrCodeInvalidRequestException "InvalidRequestException"
4489//   One or more parameter values in the request are invalid. Correct the invalid
4490//   parameter values before retrying.
4491//
4492//   * ErrCodeInternalServiceException "InternalServiceException"
4493//   The service encountered an unrecoverable internal failure while processing
4494//   the request. Clients can retry such requests immediately or after a waiting
4495//   period.
4496//
4497//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
4498//   The requested operation is not supported in the region specified.
4499//
4500// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
4501func (c *GameLift) DescribeMatchmakingConfigurations(input *DescribeMatchmakingConfigurationsInput) (*DescribeMatchmakingConfigurationsOutput, error) {
4502	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
4503	return out, req.Send()
4504}
4505
4506// DescribeMatchmakingConfigurationsWithContext is the same as DescribeMatchmakingConfigurations with the addition of
4507// the ability to pass a context and additional request options.
4508//
4509// See DescribeMatchmakingConfigurations for details on how to use this API operation.
4510//
4511// The context must be non-nil and will be used for request cancellation. If
4512// the context is nil a panic will occur. In the future the SDK may create
4513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4514// for more information on using Contexts.
4515func (c *GameLift) DescribeMatchmakingConfigurationsWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, opts ...request.Option) (*DescribeMatchmakingConfigurationsOutput, error) {
4516	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
4517	req.SetContext(ctx)
4518	req.ApplyOptions(opts...)
4519	return out, req.Send()
4520}
4521
4522const opDescribeMatchmakingRuleSets = "DescribeMatchmakingRuleSets"
4523
4524// DescribeMatchmakingRuleSetsRequest generates a "aws/request.Request" representing the
4525// client's request for the DescribeMatchmakingRuleSets operation. The "output" return
4526// value will be populated with the request's response once the request completes
4527// successfuly.
4528//
4529// Use "Send" method on the returned Request to send the API call to the service.
4530// the "output" return value is not valid until after Send returns without error.
4531//
4532// See DescribeMatchmakingRuleSets for more information on using the DescribeMatchmakingRuleSets
4533// API call, and error handling.
4534//
4535// This method is useful when you want to inject custom logic or configuration
4536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4537//
4538//
4539//    // Example sending a request using the DescribeMatchmakingRuleSetsRequest method.
4540//    req, resp := client.DescribeMatchmakingRuleSetsRequest(params)
4541//
4542//    err := req.Send()
4543//    if err == nil { // resp is now filled
4544//        fmt.Println(resp)
4545//    }
4546//
4547// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
4548func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmakingRuleSetsInput) (req *request.Request, output *DescribeMatchmakingRuleSetsOutput) {
4549	op := &request.Operation{
4550		Name:       opDescribeMatchmakingRuleSets,
4551		HTTPMethod: "POST",
4552		HTTPPath:   "/",
4553	}
4554
4555	if input == nil {
4556		input = &DescribeMatchmakingRuleSetsInput{}
4557	}
4558
4559	output = &DescribeMatchmakingRuleSetsOutput{}
4560	req = c.newRequest(op, input, output)
4561	return
4562}
4563
4564// DescribeMatchmakingRuleSets API operation for Amazon GameLift.
4565//
4566// Retrieves the details for FlexMatch matchmaking rule sets. You can request
4567// all existing rule sets for the region, or provide a list of one or more rule
4568// set names. When requesting multiple items, use the pagination parameters
4569// to retrieve results as a set of sequential pages. If successful, a rule set
4570// is returned for each requested name.
4571//
4572// Operations related to match configurations and rule sets include:
4573//
4574//    * CreateMatchmakingConfiguration
4575//
4576//    * DescribeMatchmakingConfigurations
4577//
4578//    * UpdateMatchmakingConfiguration
4579//
4580//    * DeleteMatchmakingConfiguration
4581//
4582//    * CreateMatchmakingRuleSet
4583//
4584//    * DescribeMatchmakingRuleSets
4585//
4586//    * ValidateMatchmakingRuleSet
4587//
4588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4589// with awserr.Error's Code and Message methods to get detailed information about
4590// the error.
4591//
4592// See the AWS API reference guide for Amazon GameLift's
4593// API operation DescribeMatchmakingRuleSets for usage and error information.
4594//
4595// Returned Error Codes:
4596//   * ErrCodeInvalidRequestException "InvalidRequestException"
4597//   One or more parameter values in the request are invalid. Correct the invalid
4598//   parameter values before retrying.
4599//
4600//   * ErrCodeInternalServiceException "InternalServiceException"
4601//   The service encountered an unrecoverable internal failure while processing
4602//   the request. Clients can retry such requests immediately or after a waiting
4603//   period.
4604//
4605//   * ErrCodeNotFoundException "NotFoundException"
4606//   A service resource associated with the request could not be found. Clients
4607//   should not retry such requests.
4608//
4609//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
4610//   The requested operation is not supported in the region specified.
4611//
4612// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
4613func (c *GameLift) DescribeMatchmakingRuleSets(input *DescribeMatchmakingRuleSetsInput) (*DescribeMatchmakingRuleSetsOutput, error) {
4614	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
4615	return out, req.Send()
4616}
4617
4618// DescribeMatchmakingRuleSetsWithContext is the same as DescribeMatchmakingRuleSets with the addition of
4619// the ability to pass a context and additional request options.
4620//
4621// See DescribeMatchmakingRuleSets for details on how to use this API operation.
4622//
4623// The context must be non-nil and will be used for request cancellation. If
4624// the context is nil a panic will occur. In the future the SDK may create
4625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4626// for more information on using Contexts.
4627func (c *GameLift) DescribeMatchmakingRuleSetsWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, opts ...request.Option) (*DescribeMatchmakingRuleSetsOutput, error) {
4628	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
4629	req.SetContext(ctx)
4630	req.ApplyOptions(opts...)
4631	return out, req.Send()
4632}
4633
4634const opDescribePlayerSessions = "DescribePlayerSessions"
4635
4636// DescribePlayerSessionsRequest generates a "aws/request.Request" representing the
4637// client's request for the DescribePlayerSessions operation. The "output" return
4638// value will be populated with the request's response once the request completes
4639// successfuly.
4640//
4641// Use "Send" method on the returned Request to send the API call to the service.
4642// the "output" return value is not valid until after Send returns without error.
4643//
4644// See DescribePlayerSessions for more information on using the DescribePlayerSessions
4645// API call, and error handling.
4646//
4647// This method is useful when you want to inject custom logic or configuration
4648// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4649//
4650//
4651//    // Example sending a request using the DescribePlayerSessionsRequest method.
4652//    req, resp := client.DescribePlayerSessionsRequest(params)
4653//
4654//    err := req.Send()
4655//    if err == nil { // resp is now filled
4656//        fmt.Println(resp)
4657//    }
4658//
4659// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
4660func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsInput) (req *request.Request, output *DescribePlayerSessionsOutput) {
4661	op := &request.Operation{
4662		Name:       opDescribePlayerSessions,
4663		HTTPMethod: "POST",
4664		HTTPPath:   "/",
4665	}
4666
4667	if input == nil {
4668		input = &DescribePlayerSessionsInput{}
4669	}
4670
4671	output = &DescribePlayerSessionsOutput{}
4672	req = c.newRequest(op, input, output)
4673	return
4674}
4675
4676// DescribePlayerSessions API operation for Amazon GameLift.
4677//
4678// Retrieves properties for one or more player sessions. This action can be
4679// used in several ways: (1) provide a PlayerSessionId to request properties
4680// for a specific player session; (2) provide a GameSessionId to request properties
4681// for all player sessions in the specified game session; (3) provide a PlayerId
4682// to request properties for all player sessions of a specified player.
4683//
4684// To get game session record(s), specify only one of the following: a player
4685// session ID, a game session ID, or a player ID. You can filter this request
4686// by player session status. Use the pagination parameters to retrieve results
4687// as a set of sequential pages. If successful, a PlayerSession object is returned
4688// for each session matching the request.
4689//
4690// Available in Amazon GameLift Local.
4691//
4692// Player-session-related operations include:
4693//
4694//    * CreatePlayerSession
4695//
4696//    * CreatePlayerSessions
4697//
4698//    * DescribePlayerSessions
4699//
4700//    * Game session placements
4701//
4702// StartGameSessionPlacement
4703//
4704// DescribeGameSessionPlacement
4705//
4706// StopGameSessionPlacement
4707//
4708// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4709// with awserr.Error's Code and Message methods to get detailed information about
4710// the error.
4711//
4712// See the AWS API reference guide for Amazon GameLift's
4713// API operation DescribePlayerSessions for usage and error information.
4714//
4715// Returned Error Codes:
4716//   * ErrCodeInternalServiceException "InternalServiceException"
4717//   The service encountered an unrecoverable internal failure while processing
4718//   the request. Clients can retry such requests immediately or after a waiting
4719//   period.
4720//
4721//   * ErrCodeNotFoundException "NotFoundException"
4722//   A service resource associated with the request could not be found. Clients
4723//   should not retry such requests.
4724//
4725//   * ErrCodeInvalidRequestException "InvalidRequestException"
4726//   One or more parameter values in the request are invalid. Correct the invalid
4727//   parameter values before retrying.
4728//
4729//   * ErrCodeUnauthorizedException "UnauthorizedException"
4730//   The client failed authentication. Clients should not retry such requests.
4731//
4732// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
4733func (c *GameLift) DescribePlayerSessions(input *DescribePlayerSessionsInput) (*DescribePlayerSessionsOutput, error) {
4734	req, out := c.DescribePlayerSessionsRequest(input)
4735	return out, req.Send()
4736}
4737
4738// DescribePlayerSessionsWithContext is the same as DescribePlayerSessions with the addition of
4739// the ability to pass a context and additional request options.
4740//
4741// See DescribePlayerSessions for details on how to use this API operation.
4742//
4743// The context must be non-nil and will be used for request cancellation. If
4744// the context is nil a panic will occur. In the future the SDK may create
4745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4746// for more information on using Contexts.
4747func (c *GameLift) DescribePlayerSessionsWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, opts ...request.Option) (*DescribePlayerSessionsOutput, error) {
4748	req, out := c.DescribePlayerSessionsRequest(input)
4749	req.SetContext(ctx)
4750	req.ApplyOptions(opts...)
4751	return out, req.Send()
4752}
4753
4754const opDescribeRuntimeConfiguration = "DescribeRuntimeConfiguration"
4755
4756// DescribeRuntimeConfigurationRequest generates a "aws/request.Request" representing the
4757// client's request for the DescribeRuntimeConfiguration operation. The "output" return
4758// value will be populated with the request's response once the request completes
4759// successfuly.
4760//
4761// Use "Send" method on the returned Request to send the API call to the service.
4762// the "output" return value is not valid until after Send returns without error.
4763//
4764// See DescribeRuntimeConfiguration for more information on using the DescribeRuntimeConfiguration
4765// API call, and error handling.
4766//
4767// This method is useful when you want to inject custom logic or configuration
4768// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4769//
4770//
4771//    // Example sending a request using the DescribeRuntimeConfigurationRequest method.
4772//    req, resp := client.DescribeRuntimeConfigurationRequest(params)
4773//
4774//    err := req.Send()
4775//    if err == nil { // resp is now filled
4776//        fmt.Println(resp)
4777//    }
4778//
4779// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
4780func (c *GameLift) DescribeRuntimeConfigurationRequest(input *DescribeRuntimeConfigurationInput) (req *request.Request, output *DescribeRuntimeConfigurationOutput) {
4781	op := &request.Operation{
4782		Name:       opDescribeRuntimeConfiguration,
4783		HTTPMethod: "POST",
4784		HTTPPath:   "/",
4785	}
4786
4787	if input == nil {
4788		input = &DescribeRuntimeConfigurationInput{}
4789	}
4790
4791	output = &DescribeRuntimeConfigurationOutput{}
4792	req = c.newRequest(op, input, output)
4793	return
4794}
4795
4796// DescribeRuntimeConfiguration API operation for Amazon GameLift.
4797//
4798// Retrieves the current run-time configuration for the specified fleet. The
4799// run-time configuration tells Amazon GameLift how to launch server processes
4800// on instances in the fleet.
4801//
4802// Fleet-related operations include:
4803//
4804//    * CreateFleet
4805//
4806//    * ListFleets
4807//
4808//    * Describe fleets:
4809//
4810// DescribeFleetAttributes
4811//
4812// DescribeFleetPortSettings
4813//
4814// DescribeFleetUtilization
4815//
4816// DescribeRuntimeConfiguration
4817//
4818// DescribeFleetEvents
4819//
4820//    * Update fleets:
4821//
4822// UpdateFleetAttributes
4823//
4824// UpdateFleetCapacity
4825//
4826// UpdateFleetPortSettings
4827//
4828// UpdateRuntimeConfiguration
4829//
4830//    * Manage fleet capacity:
4831//
4832// DescribeFleetCapacity
4833//
4834// UpdateFleetCapacity
4835//
4836// PutScalingPolicy (automatic scaling)
4837//
4838// DescribeScalingPolicies (automatic scaling)
4839//
4840// DeleteScalingPolicy (automatic scaling)
4841//
4842// DescribeEC2InstanceLimits
4843//
4844//    * DeleteFleet
4845//
4846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4847// with awserr.Error's Code and Message methods to get detailed information about
4848// the error.
4849//
4850// See the AWS API reference guide for Amazon GameLift's
4851// API operation DescribeRuntimeConfiguration for usage and error information.
4852//
4853// Returned Error Codes:
4854//   * ErrCodeUnauthorizedException "UnauthorizedException"
4855//   The client failed authentication. Clients should not retry such requests.
4856//
4857//   * ErrCodeNotFoundException "NotFoundException"
4858//   A service resource associated with the request could not be found. Clients
4859//   should not retry such requests.
4860//
4861//   * ErrCodeInternalServiceException "InternalServiceException"
4862//   The service encountered an unrecoverable internal failure while processing
4863//   the request. Clients can retry such requests immediately or after a waiting
4864//   period.
4865//
4866//   * ErrCodeInvalidRequestException "InvalidRequestException"
4867//   One or more parameter values in the request are invalid. Correct the invalid
4868//   parameter values before retrying.
4869//
4870// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
4871func (c *GameLift) DescribeRuntimeConfiguration(input *DescribeRuntimeConfigurationInput) (*DescribeRuntimeConfigurationOutput, error) {
4872	req, out := c.DescribeRuntimeConfigurationRequest(input)
4873	return out, req.Send()
4874}
4875
4876// DescribeRuntimeConfigurationWithContext is the same as DescribeRuntimeConfiguration with the addition of
4877// the ability to pass a context and additional request options.
4878//
4879// See DescribeRuntimeConfiguration for details on how to use this API operation.
4880//
4881// The context must be non-nil and will be used for request cancellation. If
4882// the context is nil a panic will occur. In the future the SDK may create
4883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4884// for more information on using Contexts.
4885func (c *GameLift) DescribeRuntimeConfigurationWithContext(ctx aws.Context, input *DescribeRuntimeConfigurationInput, opts ...request.Option) (*DescribeRuntimeConfigurationOutput, error) {
4886	req, out := c.DescribeRuntimeConfigurationRequest(input)
4887	req.SetContext(ctx)
4888	req.ApplyOptions(opts...)
4889	return out, req.Send()
4890}
4891
4892const opDescribeScalingPolicies = "DescribeScalingPolicies"
4893
4894// DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the
4895// client's request for the DescribeScalingPolicies operation. The "output" return
4896// value will be populated with the request's response once the request completes
4897// successfuly.
4898//
4899// Use "Send" method on the returned Request to send the API call to the service.
4900// the "output" return value is not valid until after Send returns without error.
4901//
4902// See DescribeScalingPolicies for more information on using the DescribeScalingPolicies
4903// API call, and error handling.
4904//
4905// This method is useful when you want to inject custom logic or configuration
4906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4907//
4908//
4909//    // Example sending a request using the DescribeScalingPoliciesRequest method.
4910//    req, resp := client.DescribeScalingPoliciesRequest(params)
4911//
4912//    err := req.Send()
4913//    if err == nil { // resp is now filled
4914//        fmt.Println(resp)
4915//    }
4916//
4917// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
4918func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPoliciesInput) (req *request.Request, output *DescribeScalingPoliciesOutput) {
4919	op := &request.Operation{
4920		Name:       opDescribeScalingPolicies,
4921		HTTPMethod: "POST",
4922		HTTPPath:   "/",
4923	}
4924
4925	if input == nil {
4926		input = &DescribeScalingPoliciesInput{}
4927	}
4928
4929	output = &DescribeScalingPoliciesOutput{}
4930	req = c.newRequest(op, input, output)
4931	return
4932}
4933
4934// DescribeScalingPolicies API operation for Amazon GameLift.
4935//
4936// Retrieves all scaling policies applied to a fleet.
4937//
4938// To get a fleet's scaling policies, specify the fleet ID. You can filter this
4939// request by policy status, such as to retrieve only active scaling policies.
4940// Use the pagination parameters to retrieve results as a set of sequential
4941// pages. If successful, set of ScalingPolicy objects is returned for the fleet.
4942//
4943// Fleet-related operations include:
4944//
4945//    * CreateFleet
4946//
4947//    * ListFleets
4948//
4949//    * Describe fleets:
4950//
4951// DescribeFleetAttributes
4952//
4953// DescribeFleetPortSettings
4954//
4955// DescribeFleetUtilization
4956//
4957// DescribeRuntimeConfiguration
4958//
4959// DescribeFleetEvents
4960//
4961//    * Update fleets:
4962//
4963// UpdateFleetAttributes
4964//
4965// UpdateFleetCapacity
4966//
4967// UpdateFleetPortSettings
4968//
4969// UpdateRuntimeConfiguration
4970//
4971//    * Manage fleet capacity:
4972//
4973// DescribeFleetCapacity
4974//
4975// UpdateFleetCapacity
4976//
4977// PutScalingPolicy (automatic scaling)
4978//
4979// DescribeScalingPolicies (automatic scaling)
4980//
4981// DeleteScalingPolicy (automatic scaling)
4982//
4983// DescribeEC2InstanceLimits
4984//
4985//    * DeleteFleet
4986//
4987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4988// with awserr.Error's Code and Message methods to get detailed information about
4989// the error.
4990//
4991// See the AWS API reference guide for Amazon GameLift's
4992// API operation DescribeScalingPolicies for usage and error information.
4993//
4994// Returned Error Codes:
4995//   * ErrCodeInternalServiceException "InternalServiceException"
4996//   The service encountered an unrecoverable internal failure while processing
4997//   the request. Clients can retry such requests immediately or after a waiting
4998//   period.
4999//
5000//   * ErrCodeInvalidRequestException "InvalidRequestException"
5001//   One or more parameter values in the request are invalid. Correct the invalid
5002//   parameter values before retrying.
5003//
5004//   * ErrCodeUnauthorizedException "UnauthorizedException"
5005//   The client failed authentication. Clients should not retry such requests.
5006//
5007//   * ErrCodeNotFoundException "NotFoundException"
5008//   A service resource associated with the request could not be found. Clients
5009//   should not retry such requests.
5010//
5011// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
5012func (c *GameLift) DescribeScalingPolicies(input *DescribeScalingPoliciesInput) (*DescribeScalingPoliciesOutput, error) {
5013	req, out := c.DescribeScalingPoliciesRequest(input)
5014	return out, req.Send()
5015}
5016
5017// DescribeScalingPoliciesWithContext is the same as DescribeScalingPolicies with the addition of
5018// the ability to pass a context and additional request options.
5019//
5020// See DescribeScalingPolicies for details on how to use this API operation.
5021//
5022// The context must be non-nil and will be used for request cancellation. If
5023// the context is nil a panic will occur. In the future the SDK may create
5024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5025// for more information on using Contexts.
5026func (c *GameLift) DescribeScalingPoliciesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, opts ...request.Option) (*DescribeScalingPoliciesOutput, error) {
5027	req, out := c.DescribeScalingPoliciesRequest(input)
5028	req.SetContext(ctx)
5029	req.ApplyOptions(opts...)
5030	return out, req.Send()
5031}
5032
5033const opDescribeVpcPeeringAuthorizations = "DescribeVpcPeeringAuthorizations"
5034
5035// DescribeVpcPeeringAuthorizationsRequest generates a "aws/request.Request" representing the
5036// client's request for the DescribeVpcPeeringAuthorizations operation. The "output" return
5037// value will be populated with the request's response once the request completes
5038// successfuly.
5039//
5040// Use "Send" method on the returned Request to send the API call to the service.
5041// the "output" return value is not valid until after Send returns without error.
5042//
5043// See DescribeVpcPeeringAuthorizations for more information on using the DescribeVpcPeeringAuthorizations
5044// API call, and error handling.
5045//
5046// This method is useful when you want to inject custom logic or configuration
5047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5048//
5049//
5050//    // Example sending a request using the DescribeVpcPeeringAuthorizationsRequest method.
5051//    req, resp := client.DescribeVpcPeeringAuthorizationsRequest(params)
5052//
5053//    err := req.Send()
5054//    if err == nil { // resp is now filled
5055//        fmt.Println(resp)
5056//    }
5057//
5058// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
5059func (c *GameLift) DescribeVpcPeeringAuthorizationsRequest(input *DescribeVpcPeeringAuthorizationsInput) (req *request.Request, output *DescribeVpcPeeringAuthorizationsOutput) {
5060	op := &request.Operation{
5061		Name:       opDescribeVpcPeeringAuthorizations,
5062		HTTPMethod: "POST",
5063		HTTPPath:   "/",
5064	}
5065
5066	if input == nil {
5067		input = &DescribeVpcPeeringAuthorizationsInput{}
5068	}
5069
5070	output = &DescribeVpcPeeringAuthorizationsOutput{}
5071	req = c.newRequest(op, input, output)
5072	return
5073}
5074
5075// DescribeVpcPeeringAuthorizations API operation for Amazon GameLift.
5076//
5077// Retrieves valid VPC peering authorizations that are pending for the AWS account.
5078// This operation returns all VPC peering authorizations and requests for peering.
5079// This includes those initiated and received by this account.
5080//
5081// VPC peering connection operations include:
5082//
5083//    * CreateVpcPeeringAuthorization
5084//
5085//    * DescribeVpcPeeringAuthorizations
5086//
5087//    * DeleteVpcPeeringAuthorization
5088//
5089//    * CreateVpcPeeringConnection
5090//
5091//    * DescribeVpcPeeringConnections
5092//
5093//    * DeleteVpcPeeringConnection
5094//
5095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5096// with awserr.Error's Code and Message methods to get detailed information about
5097// the error.
5098//
5099// See the AWS API reference guide for Amazon GameLift's
5100// API operation DescribeVpcPeeringAuthorizations for usage and error information.
5101//
5102// Returned Error Codes:
5103//   * ErrCodeUnauthorizedException "UnauthorizedException"
5104//   The client failed authentication. Clients should not retry such requests.
5105//
5106//   * ErrCodeInvalidRequestException "InvalidRequestException"
5107//   One or more parameter values in the request are invalid. Correct the invalid
5108//   parameter values before retrying.
5109//
5110//   * ErrCodeInternalServiceException "InternalServiceException"
5111//   The service encountered an unrecoverable internal failure while processing
5112//   the request. Clients can retry such requests immediately or after a waiting
5113//   period.
5114//
5115// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
5116func (c *GameLift) DescribeVpcPeeringAuthorizations(input *DescribeVpcPeeringAuthorizationsInput) (*DescribeVpcPeeringAuthorizationsOutput, error) {
5117	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
5118	return out, req.Send()
5119}
5120
5121// DescribeVpcPeeringAuthorizationsWithContext is the same as DescribeVpcPeeringAuthorizations with the addition of
5122// the ability to pass a context and additional request options.
5123//
5124// See DescribeVpcPeeringAuthorizations for details on how to use this API operation.
5125//
5126// The context must be non-nil and will be used for request cancellation. If
5127// the context is nil a panic will occur. In the future the SDK may create
5128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5129// for more information on using Contexts.
5130func (c *GameLift) DescribeVpcPeeringAuthorizationsWithContext(ctx aws.Context, input *DescribeVpcPeeringAuthorizationsInput, opts ...request.Option) (*DescribeVpcPeeringAuthorizationsOutput, error) {
5131	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
5132	req.SetContext(ctx)
5133	req.ApplyOptions(opts...)
5134	return out, req.Send()
5135}
5136
5137const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
5138
5139// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
5140// client's request for the DescribeVpcPeeringConnections operation. The "output" return
5141// value will be populated with the request's response once the request completes
5142// successfuly.
5143//
5144// Use "Send" method on the returned Request to send the API call to the service.
5145// the "output" return value is not valid until after Send returns without error.
5146//
5147// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
5148// API call, and error handling.
5149//
5150// This method is useful when you want to inject custom logic or configuration
5151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5152//
5153//
5154//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
5155//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
5156//
5157//    err := req.Send()
5158//    if err == nil { // resp is now filled
5159//        fmt.Println(resp)
5160//    }
5161//
5162// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
5163func (c *GameLift) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
5164	op := &request.Operation{
5165		Name:       opDescribeVpcPeeringConnections,
5166		HTTPMethod: "POST",
5167		HTTPPath:   "/",
5168	}
5169
5170	if input == nil {
5171		input = &DescribeVpcPeeringConnectionsInput{}
5172	}
5173
5174	output = &DescribeVpcPeeringConnectionsOutput{}
5175	req = c.newRequest(op, input, output)
5176	return
5177}
5178
5179// DescribeVpcPeeringConnections API operation for Amazon GameLift.
5180//
5181// Retrieves information on VPC peering connections. Use this operation to get
5182// peering information for all fleets or for one specific fleet ID.
5183//
5184// To retrieve connection information, call this operation from the AWS account
5185// that is used to manage the Amazon GameLift fleets. Specify a fleet ID or
5186// leave the parameter empty to retrieve all connection records. If successful,
5187// the retrieved information includes both active and pending connections. Active
5188// connections identify the IpV4 CIDR block that the VPC uses to connect.
5189//
5190// VPC peering connection operations include:
5191//
5192//    * CreateVpcPeeringAuthorization
5193//
5194//    * DescribeVpcPeeringAuthorizations
5195//
5196//    * DeleteVpcPeeringAuthorization
5197//
5198//    * CreateVpcPeeringConnection
5199//
5200//    * DescribeVpcPeeringConnections
5201//
5202//    * DeleteVpcPeeringConnection
5203//
5204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5205// with awserr.Error's Code and Message methods to get detailed information about
5206// the error.
5207//
5208// See the AWS API reference guide for Amazon GameLift's
5209// API operation DescribeVpcPeeringConnections for usage and error information.
5210//
5211// Returned Error Codes:
5212//   * ErrCodeUnauthorizedException "UnauthorizedException"
5213//   The client failed authentication. Clients should not retry such requests.
5214//
5215//   * ErrCodeInvalidRequestException "InvalidRequestException"
5216//   One or more parameter values in the request are invalid. Correct the invalid
5217//   parameter values before retrying.
5218//
5219//   * ErrCodeNotFoundException "NotFoundException"
5220//   A service resource associated with the request could not be found. Clients
5221//   should not retry such requests.
5222//
5223//   * ErrCodeInternalServiceException "InternalServiceException"
5224//   The service encountered an unrecoverable internal failure while processing
5225//   the request. Clients can retry such requests immediately or after a waiting
5226//   period.
5227//
5228// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
5229func (c *GameLift) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
5230	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
5231	return out, req.Send()
5232}
5233
5234// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
5235// the ability to pass a context and additional request options.
5236//
5237// See DescribeVpcPeeringConnections for details on how to use this API operation.
5238//
5239// The context must be non-nil and will be used for request cancellation. If
5240// the context is nil a panic will occur. In the future the SDK may create
5241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5242// for more information on using Contexts.
5243func (c *GameLift) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
5244	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
5245	req.SetContext(ctx)
5246	req.ApplyOptions(opts...)
5247	return out, req.Send()
5248}
5249
5250const opGetGameSessionLogUrl = "GetGameSessionLogUrl"
5251
5252// GetGameSessionLogUrlRequest generates a "aws/request.Request" representing the
5253// client's request for the GetGameSessionLogUrl operation. The "output" return
5254// value will be populated with the request's response once the request completes
5255// successfuly.
5256//
5257// Use "Send" method on the returned Request to send the API call to the service.
5258// the "output" return value is not valid until after Send returns without error.
5259//
5260// See GetGameSessionLogUrl for more information on using the GetGameSessionLogUrl
5261// API call, and error handling.
5262//
5263// This method is useful when you want to inject custom logic or configuration
5264// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5265//
5266//
5267//    // Example sending a request using the GetGameSessionLogUrlRequest method.
5268//    req, resp := client.GetGameSessionLogUrlRequest(params)
5269//
5270//    err := req.Send()
5271//    if err == nil { // resp is now filled
5272//        fmt.Println(resp)
5273//    }
5274//
5275// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
5276func (c *GameLift) GetGameSessionLogUrlRequest(input *GetGameSessionLogUrlInput) (req *request.Request, output *GetGameSessionLogUrlOutput) {
5277	op := &request.Operation{
5278		Name:       opGetGameSessionLogUrl,
5279		HTTPMethod: "POST",
5280		HTTPPath:   "/",
5281	}
5282
5283	if input == nil {
5284		input = &GetGameSessionLogUrlInput{}
5285	}
5286
5287	output = &GetGameSessionLogUrlOutput{}
5288	req = c.newRequest(op, input, output)
5289	return
5290}
5291
5292// GetGameSessionLogUrl API operation for Amazon GameLift.
5293//
5294// Retrieves the location of stored game session logs for a specified game session.
5295// When a game session is terminated, Amazon GameLift automatically stores the
5296// logs in Amazon S3 and retains them for 14 days. Use this URL to download
5297// the logs.
5298//
5299// See the AWS Service Limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift)
5300// page for maximum log file sizes. Log files that exceed this limit are not
5301// saved.
5302//
5303// Game-session-related operations include:
5304//
5305//    * CreateGameSession
5306//
5307//    * DescribeGameSessions
5308//
5309//    * DescribeGameSessionDetails
5310//
5311//    * SearchGameSessions
5312//
5313//    * UpdateGameSession
5314//
5315//    * GetGameSessionLogUrl
5316//
5317//    * Game session placements
5318//
5319// StartGameSessionPlacement
5320//
5321// DescribeGameSessionPlacement
5322//
5323// StopGameSessionPlacement
5324//
5325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5326// with awserr.Error's Code and Message methods to get detailed information about
5327// the error.
5328//
5329// See the AWS API reference guide for Amazon GameLift's
5330// API operation GetGameSessionLogUrl for usage and error information.
5331//
5332// Returned Error Codes:
5333//   * ErrCodeInternalServiceException "InternalServiceException"
5334//   The service encountered an unrecoverable internal failure while processing
5335//   the request. Clients can retry such requests immediately or after a waiting
5336//   period.
5337//
5338//   * ErrCodeNotFoundException "NotFoundException"
5339//   A service resource associated with the request could not be found. Clients
5340//   should not retry such requests.
5341//
5342//   * ErrCodeUnauthorizedException "UnauthorizedException"
5343//   The client failed authentication. Clients should not retry such requests.
5344//
5345//   * ErrCodeInvalidRequestException "InvalidRequestException"
5346//   One or more parameter values in the request are invalid. Correct the invalid
5347//   parameter values before retrying.
5348//
5349// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
5350func (c *GameLift) GetGameSessionLogUrl(input *GetGameSessionLogUrlInput) (*GetGameSessionLogUrlOutput, error) {
5351	req, out := c.GetGameSessionLogUrlRequest(input)
5352	return out, req.Send()
5353}
5354
5355// GetGameSessionLogUrlWithContext is the same as GetGameSessionLogUrl with the addition of
5356// the ability to pass a context and additional request options.
5357//
5358// See GetGameSessionLogUrl for details on how to use this API operation.
5359//
5360// The context must be non-nil and will be used for request cancellation. If
5361// the context is nil a panic will occur. In the future the SDK may create
5362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5363// for more information on using Contexts.
5364func (c *GameLift) GetGameSessionLogUrlWithContext(ctx aws.Context, input *GetGameSessionLogUrlInput, opts ...request.Option) (*GetGameSessionLogUrlOutput, error) {
5365	req, out := c.GetGameSessionLogUrlRequest(input)
5366	req.SetContext(ctx)
5367	req.ApplyOptions(opts...)
5368	return out, req.Send()
5369}
5370
5371const opGetInstanceAccess = "GetInstanceAccess"
5372
5373// GetInstanceAccessRequest generates a "aws/request.Request" representing the
5374// client's request for the GetInstanceAccess operation. The "output" return
5375// value will be populated with the request's response once the request completes
5376// successfuly.
5377//
5378// Use "Send" method on the returned Request to send the API call to the service.
5379// the "output" return value is not valid until after Send returns without error.
5380//
5381// See GetInstanceAccess for more information on using the GetInstanceAccess
5382// API call, and error handling.
5383//
5384// This method is useful when you want to inject custom logic or configuration
5385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5386//
5387//
5388//    // Example sending a request using the GetInstanceAccessRequest method.
5389//    req, resp := client.GetInstanceAccessRequest(params)
5390//
5391//    err := req.Send()
5392//    if err == nil { // resp is now filled
5393//        fmt.Println(resp)
5394//    }
5395//
5396// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
5397func (c *GameLift) GetInstanceAccessRequest(input *GetInstanceAccessInput) (req *request.Request, output *GetInstanceAccessOutput) {
5398	op := &request.Operation{
5399		Name:       opGetInstanceAccess,
5400		HTTPMethod: "POST",
5401		HTTPPath:   "/",
5402	}
5403
5404	if input == nil {
5405		input = &GetInstanceAccessInput{}
5406	}
5407
5408	output = &GetInstanceAccessOutput{}
5409	req = c.newRequest(op, input, output)
5410	return
5411}
5412
5413// GetInstanceAccess API operation for Amazon GameLift.
5414//
5415// Requests remote access to a fleet instance. Remote access is useful for debugging,
5416// gathering benchmarking data, or watching activity in real time.
5417//
5418// Access requires credentials that match the operating system of the instance.
5419// For a Windows instance, Amazon GameLift returns a user name and password
5420// as strings for use with a Windows Remote Desktop client. For a Linux instance,
5421// Amazon GameLift returns a user name and RSA private key, also as strings,
5422// for use with an SSH client. The private key must be saved in the proper format
5423// to a .pem file before using. If you're making this request using the AWS
5424// CLI, saving the secret can be handled as part of the GetInstanceAccess request.
5425// (See the example later in this topic). For more information on remote access,
5426// see Remotely Accessing an Instance (http://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html).
5427//
5428// To request access to a specific instance, specify the IDs of the instance
5429// and the fleet it belongs to. If successful, an InstanceAccess object is returned
5430// containing the instance's IP address and a set of credentials.
5431//
5432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5433// with awserr.Error's Code and Message methods to get detailed information about
5434// the error.
5435//
5436// See the AWS API reference guide for Amazon GameLift's
5437// API operation GetInstanceAccess for usage and error information.
5438//
5439// Returned Error Codes:
5440//   * ErrCodeUnauthorizedException "UnauthorizedException"
5441//   The client failed authentication. Clients should not retry such requests.
5442//
5443//   * ErrCodeInvalidRequestException "InvalidRequestException"
5444//   One or more parameter values in the request are invalid. Correct the invalid
5445//   parameter values before retrying.
5446//
5447//   * ErrCodeNotFoundException "NotFoundException"
5448//   A service resource associated with the request could not be found. Clients
5449//   should not retry such requests.
5450//
5451//   * ErrCodeInternalServiceException "InternalServiceException"
5452//   The service encountered an unrecoverable internal failure while processing
5453//   the request. Clients can retry such requests immediately or after a waiting
5454//   period.
5455//
5456// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
5457func (c *GameLift) GetInstanceAccess(input *GetInstanceAccessInput) (*GetInstanceAccessOutput, error) {
5458	req, out := c.GetInstanceAccessRequest(input)
5459	return out, req.Send()
5460}
5461
5462// GetInstanceAccessWithContext is the same as GetInstanceAccess with the addition of
5463// the ability to pass a context and additional request options.
5464//
5465// See GetInstanceAccess for details on how to use this API operation.
5466//
5467// The context must be non-nil and will be used for request cancellation. If
5468// the context is nil a panic will occur. In the future the SDK may create
5469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5470// for more information on using Contexts.
5471func (c *GameLift) GetInstanceAccessWithContext(ctx aws.Context, input *GetInstanceAccessInput, opts ...request.Option) (*GetInstanceAccessOutput, error) {
5472	req, out := c.GetInstanceAccessRequest(input)
5473	req.SetContext(ctx)
5474	req.ApplyOptions(opts...)
5475	return out, req.Send()
5476}
5477
5478const opListAliases = "ListAliases"
5479
5480// ListAliasesRequest generates a "aws/request.Request" representing the
5481// client's request for the ListAliases operation. The "output" return
5482// value will be populated with the request's response once the request completes
5483// successfuly.
5484//
5485// Use "Send" method on the returned Request to send the API call to the service.
5486// the "output" return value is not valid until after Send returns without error.
5487//
5488// See ListAliases for more information on using the ListAliases
5489// API call, and error handling.
5490//
5491// This method is useful when you want to inject custom logic or configuration
5492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5493//
5494//
5495//    // Example sending a request using the ListAliasesRequest method.
5496//    req, resp := client.ListAliasesRequest(params)
5497//
5498//    err := req.Send()
5499//    if err == nil { // resp is now filled
5500//        fmt.Println(resp)
5501//    }
5502//
5503// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
5504func (c *GameLift) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) {
5505	op := &request.Operation{
5506		Name:       opListAliases,
5507		HTTPMethod: "POST",
5508		HTTPPath:   "/",
5509	}
5510
5511	if input == nil {
5512		input = &ListAliasesInput{}
5513	}
5514
5515	output = &ListAliasesOutput{}
5516	req = c.newRequest(op, input, output)
5517	return
5518}
5519
5520// ListAliases API operation for Amazon GameLift.
5521//
5522// Retrieves all aliases for this AWS account. You can filter the result set
5523// by alias name and/or routing strategy type. Use the pagination parameters
5524// to retrieve results in sequential pages.
5525//
5526// Returned aliases are not listed in any particular order.
5527//
5528// Alias-related operations include:
5529//
5530//    * CreateAlias
5531//
5532//    * ListAliases
5533//
5534//    * DescribeAlias
5535//
5536//    * UpdateAlias
5537//
5538//    * DeleteAlias
5539//
5540//    * ResolveAlias
5541//
5542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5543// with awserr.Error's Code and Message methods to get detailed information about
5544// the error.
5545//
5546// See the AWS API reference guide for Amazon GameLift's
5547// API operation ListAliases for usage and error information.
5548//
5549// Returned Error Codes:
5550//   * ErrCodeUnauthorizedException "UnauthorizedException"
5551//   The client failed authentication. Clients should not retry such requests.
5552//
5553//   * ErrCodeInvalidRequestException "InvalidRequestException"
5554//   One or more parameter values in the request are invalid. Correct the invalid
5555//   parameter values before retrying.
5556//
5557//   * ErrCodeInternalServiceException "InternalServiceException"
5558//   The service encountered an unrecoverable internal failure while processing
5559//   the request. Clients can retry such requests immediately or after a waiting
5560//   period.
5561//
5562// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
5563func (c *GameLift) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) {
5564	req, out := c.ListAliasesRequest(input)
5565	return out, req.Send()
5566}
5567
5568// ListAliasesWithContext is the same as ListAliases with the addition of
5569// the ability to pass a context and additional request options.
5570//
5571// See ListAliases for details on how to use this API operation.
5572//
5573// The context must be non-nil and will be used for request cancellation. If
5574// the context is nil a panic will occur. In the future the SDK may create
5575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5576// for more information on using Contexts.
5577func (c *GameLift) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInput, opts ...request.Option) (*ListAliasesOutput, error) {
5578	req, out := c.ListAliasesRequest(input)
5579	req.SetContext(ctx)
5580	req.ApplyOptions(opts...)
5581	return out, req.Send()
5582}
5583
5584const opListBuilds = "ListBuilds"
5585
5586// ListBuildsRequest generates a "aws/request.Request" representing the
5587// client's request for the ListBuilds operation. The "output" return
5588// value will be populated with the request's response once the request completes
5589// successfuly.
5590//
5591// Use "Send" method on the returned Request to send the API call to the service.
5592// the "output" return value is not valid until after Send returns without error.
5593//
5594// See ListBuilds for more information on using the ListBuilds
5595// API call, and error handling.
5596//
5597// This method is useful when you want to inject custom logic or configuration
5598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5599//
5600//
5601//    // Example sending a request using the ListBuildsRequest method.
5602//    req, resp := client.ListBuildsRequest(params)
5603//
5604//    err := req.Send()
5605//    if err == nil { // resp is now filled
5606//        fmt.Println(resp)
5607//    }
5608//
5609// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
5610func (c *GameLift) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) {
5611	op := &request.Operation{
5612		Name:       opListBuilds,
5613		HTTPMethod: "POST",
5614		HTTPPath:   "/",
5615	}
5616
5617	if input == nil {
5618		input = &ListBuildsInput{}
5619	}
5620
5621	output = &ListBuildsOutput{}
5622	req = c.newRequest(op, input, output)
5623	return
5624}
5625
5626// ListBuilds API operation for Amazon GameLift.
5627//
5628// Retrieves build records for all builds associated with the AWS account in
5629// use. You can limit results to builds that are in a specific status by using
5630// the Status parameter. Use the pagination parameters to retrieve results in
5631// a set of sequential pages.
5632//
5633// Build records are not listed in any particular order.
5634//
5635// Build-related operations include:
5636//
5637//    * CreateBuild
5638//
5639//    * ListBuilds
5640//
5641//    * DescribeBuild
5642//
5643//    * UpdateBuild
5644//
5645//    * DeleteBuild
5646//
5647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5648// with awserr.Error's Code and Message methods to get detailed information about
5649// the error.
5650//
5651// See the AWS API reference guide for Amazon GameLift's
5652// API operation ListBuilds for usage and error information.
5653//
5654// Returned Error Codes:
5655//   * ErrCodeUnauthorizedException "UnauthorizedException"
5656//   The client failed authentication. Clients should not retry such requests.
5657//
5658//   * ErrCodeInvalidRequestException "InvalidRequestException"
5659//   One or more parameter values in the request are invalid. Correct the invalid
5660//   parameter values before retrying.
5661//
5662//   * ErrCodeInternalServiceException "InternalServiceException"
5663//   The service encountered an unrecoverable internal failure while processing
5664//   the request. Clients can retry such requests immediately or after a waiting
5665//   period.
5666//
5667// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
5668func (c *GameLift) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) {
5669	req, out := c.ListBuildsRequest(input)
5670	return out, req.Send()
5671}
5672
5673// ListBuildsWithContext is the same as ListBuilds with the addition of
5674// the ability to pass a context and additional request options.
5675//
5676// See ListBuilds for details on how to use this API operation.
5677//
5678// The context must be non-nil and will be used for request cancellation. If
5679// the context is nil a panic will occur. In the future the SDK may create
5680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5681// for more information on using Contexts.
5682func (c *GameLift) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) {
5683	req, out := c.ListBuildsRequest(input)
5684	req.SetContext(ctx)
5685	req.ApplyOptions(opts...)
5686	return out, req.Send()
5687}
5688
5689const opListFleets = "ListFleets"
5690
5691// ListFleetsRequest generates a "aws/request.Request" representing the
5692// client's request for the ListFleets operation. The "output" return
5693// value will be populated with the request's response once the request completes
5694// successfuly.
5695//
5696// Use "Send" method on the returned Request to send the API call to the service.
5697// the "output" return value is not valid until after Send returns without error.
5698//
5699// See ListFleets for more information on using the ListFleets
5700// API call, and error handling.
5701//
5702// This method is useful when you want to inject custom logic or configuration
5703// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5704//
5705//
5706//    // Example sending a request using the ListFleetsRequest method.
5707//    req, resp := client.ListFleetsRequest(params)
5708//
5709//    err := req.Send()
5710//    if err == nil { // resp is now filled
5711//        fmt.Println(resp)
5712//    }
5713//
5714// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
5715func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
5716	op := &request.Operation{
5717		Name:       opListFleets,
5718		HTTPMethod: "POST",
5719		HTTPPath:   "/",
5720	}
5721
5722	if input == nil {
5723		input = &ListFleetsInput{}
5724	}
5725
5726	output = &ListFleetsOutput{}
5727	req = c.newRequest(op, input, output)
5728	return
5729}
5730
5731// ListFleets API operation for Amazon GameLift.
5732//
5733// Retrieves a collection of fleet records for this AWS account. You can filter
5734// the result set by build ID. Use the pagination parameters to retrieve results
5735// in sequential pages.
5736//
5737// Fleet records are not listed in any particular order.
5738//
5739// Fleet-related operations include:
5740//
5741//    * CreateFleet
5742//
5743//    * ListFleets
5744//
5745//    * Describe fleets:
5746//
5747// DescribeFleetAttributes
5748//
5749// DescribeFleetPortSettings
5750//
5751// DescribeFleetUtilization
5752//
5753// DescribeRuntimeConfiguration
5754//
5755// DescribeFleetEvents
5756//
5757//    * Update fleets:
5758//
5759// UpdateFleetAttributes
5760//
5761// UpdateFleetCapacity
5762//
5763// UpdateFleetPortSettings
5764//
5765// UpdateRuntimeConfiguration
5766//
5767//    * Manage fleet capacity:
5768//
5769// DescribeFleetCapacity
5770//
5771// UpdateFleetCapacity
5772//
5773// PutScalingPolicy (automatic scaling)
5774//
5775// DescribeScalingPolicies (automatic scaling)
5776//
5777// DeleteScalingPolicy (automatic scaling)
5778//
5779// DescribeEC2InstanceLimits
5780//
5781//    * DeleteFleet
5782//
5783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5784// with awserr.Error's Code and Message methods to get detailed information about
5785// the error.
5786//
5787// See the AWS API reference guide for Amazon GameLift's
5788// API operation ListFleets for usage and error information.
5789//
5790// Returned Error Codes:
5791//   * ErrCodeInternalServiceException "InternalServiceException"
5792//   The service encountered an unrecoverable internal failure while processing
5793//   the request. Clients can retry such requests immediately or after a waiting
5794//   period.
5795//
5796//   * ErrCodeNotFoundException "NotFoundException"
5797//   A service resource associated with the request could not be found. Clients
5798//   should not retry such requests.
5799//
5800//   * ErrCodeInvalidRequestException "InvalidRequestException"
5801//   One or more parameter values in the request are invalid. Correct the invalid
5802//   parameter values before retrying.
5803//
5804//   * ErrCodeUnauthorizedException "UnauthorizedException"
5805//   The client failed authentication. Clients should not retry such requests.
5806//
5807// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
5808func (c *GameLift) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
5809	req, out := c.ListFleetsRequest(input)
5810	return out, req.Send()
5811}
5812
5813// ListFleetsWithContext is the same as ListFleets with the addition of
5814// the ability to pass a context and additional request options.
5815//
5816// See ListFleets for details on how to use this API operation.
5817//
5818// The context must be non-nil and will be used for request cancellation. If
5819// the context is nil a panic will occur. In the future the SDK may create
5820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5821// for more information on using Contexts.
5822func (c *GameLift) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
5823	req, out := c.ListFleetsRequest(input)
5824	req.SetContext(ctx)
5825	req.ApplyOptions(opts...)
5826	return out, req.Send()
5827}
5828
5829const opPutScalingPolicy = "PutScalingPolicy"
5830
5831// PutScalingPolicyRequest generates a "aws/request.Request" representing the
5832// client's request for the PutScalingPolicy operation. The "output" return
5833// value will be populated with the request's response once the request completes
5834// successfuly.
5835//
5836// Use "Send" method on the returned Request to send the API call to the service.
5837// the "output" return value is not valid until after Send returns without error.
5838//
5839// See PutScalingPolicy for more information on using the PutScalingPolicy
5840// API call, and error handling.
5841//
5842// This method is useful when you want to inject custom logic or configuration
5843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5844//
5845//
5846//    // Example sending a request using the PutScalingPolicyRequest method.
5847//    req, resp := client.PutScalingPolicyRequest(params)
5848//
5849//    err := req.Send()
5850//    if err == nil { // resp is now filled
5851//        fmt.Println(resp)
5852//    }
5853//
5854// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
5855func (c *GameLift) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) {
5856	op := &request.Operation{
5857		Name:       opPutScalingPolicy,
5858		HTTPMethod: "POST",
5859		HTTPPath:   "/",
5860	}
5861
5862	if input == nil {
5863		input = &PutScalingPolicyInput{}
5864	}
5865
5866	output = &PutScalingPolicyOutput{}
5867	req = c.newRequest(op, input, output)
5868	return
5869}
5870
5871// PutScalingPolicy API operation for Amazon GameLift.
5872//
5873// Creates or updates a scaling policy for a fleet. An active scaling policy
5874// prompts Amazon GameLift to track a certain metric for a fleet and automatically
5875// change the fleet's capacity in specific circumstances. Each scaling policy
5876// contains one rule statement. Fleets can have multiple scaling policies in
5877// force simultaneously.
5878//
5879// A scaling policy rule statement has the following structure:
5880//
5881// If [MetricName] is [ComparisonOperator][Threshold] for [EvaluationPeriods]
5882// minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].
5883//
5884// For example, this policy: "If the number of idle instances exceeds 20 for
5885// more than 15 minutes, then reduce the fleet capacity by 10 instances" could
5886// be implemented as the following rule statement:
5887//
5888// If [IdleInstances] is [GreaterThanOrEqualToThreshold] [20] for [15] minutes,
5889// then [ChangeInCapacity] by [-10].
5890//
5891// To create or update a scaling policy, specify a unique combination of name
5892// and fleet ID, and set the rule values. All parameters for this action are
5893// required. If successful, the policy name is returned. Scaling policies cannot
5894// be suspended or made inactive. To stop enforcing a scaling policy, call DeleteScalingPolicy.
5895//
5896// Fleet-related operations include:
5897//
5898//    * CreateFleet
5899//
5900//    * ListFleets
5901//
5902//    * Describe fleets:
5903//
5904// DescribeFleetAttributes
5905//
5906// DescribeFleetPortSettings
5907//
5908// DescribeFleetUtilization
5909//
5910// DescribeRuntimeConfiguration
5911//
5912// DescribeFleetEvents
5913//
5914//    * Update fleets:
5915//
5916// UpdateFleetAttributes
5917//
5918// UpdateFleetCapacity
5919//
5920// UpdateFleetPortSettings
5921//
5922// UpdateRuntimeConfiguration
5923//
5924//    * Manage fleet capacity:
5925//
5926// DescribeFleetCapacity
5927//
5928// UpdateFleetCapacity
5929//
5930// PutScalingPolicy (automatic scaling)
5931//
5932// DescribeScalingPolicies (automatic scaling)
5933//
5934// DeleteScalingPolicy (automatic scaling)
5935//
5936// DescribeEC2InstanceLimits
5937//
5938//    * DeleteFleet
5939//
5940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5941// with awserr.Error's Code and Message methods to get detailed information about
5942// the error.
5943//
5944// See the AWS API reference guide for Amazon GameLift's
5945// API operation PutScalingPolicy for usage and error information.
5946//
5947// Returned Error Codes:
5948//   * ErrCodeInternalServiceException "InternalServiceException"
5949//   The service encountered an unrecoverable internal failure while processing
5950//   the request. Clients can retry such requests immediately or after a waiting
5951//   period.
5952//
5953//   * ErrCodeInvalidRequestException "InvalidRequestException"
5954//   One or more parameter values in the request are invalid. Correct the invalid
5955//   parameter values before retrying.
5956//
5957//   * ErrCodeUnauthorizedException "UnauthorizedException"
5958//   The client failed authentication. Clients should not retry such requests.
5959//
5960//   * ErrCodeNotFoundException "NotFoundException"
5961//   A service resource associated with the request could not be found. Clients
5962//   should not retry such requests.
5963//
5964// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
5965func (c *GameLift) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) {
5966	req, out := c.PutScalingPolicyRequest(input)
5967	return out, req.Send()
5968}
5969
5970// PutScalingPolicyWithContext is the same as PutScalingPolicy with the addition of
5971// the ability to pass a context and additional request options.
5972//
5973// See PutScalingPolicy for details on how to use this API operation.
5974//
5975// The context must be non-nil and will be used for request cancellation. If
5976// the context is nil a panic will occur. In the future the SDK may create
5977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5978// for more information on using Contexts.
5979func (c *GameLift) PutScalingPolicyWithContext(ctx aws.Context, input *PutScalingPolicyInput, opts ...request.Option) (*PutScalingPolicyOutput, error) {
5980	req, out := c.PutScalingPolicyRequest(input)
5981	req.SetContext(ctx)
5982	req.ApplyOptions(opts...)
5983	return out, req.Send()
5984}
5985
5986const opRequestUploadCredentials = "RequestUploadCredentials"
5987
5988// RequestUploadCredentialsRequest generates a "aws/request.Request" representing the
5989// client's request for the RequestUploadCredentials operation. The "output" return
5990// value will be populated with the request's response once the request completes
5991// successfuly.
5992//
5993// Use "Send" method on the returned Request to send the API call to the service.
5994// the "output" return value is not valid until after Send returns without error.
5995//
5996// See RequestUploadCredentials for more information on using the RequestUploadCredentials
5997// API call, and error handling.
5998//
5999// This method is useful when you want to inject custom logic or configuration
6000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6001//
6002//
6003//    // Example sending a request using the RequestUploadCredentialsRequest method.
6004//    req, resp := client.RequestUploadCredentialsRequest(params)
6005//
6006//    err := req.Send()
6007//    if err == nil { // resp is now filled
6008//        fmt.Println(resp)
6009//    }
6010//
6011// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
6012func (c *GameLift) RequestUploadCredentialsRequest(input *RequestUploadCredentialsInput) (req *request.Request, output *RequestUploadCredentialsOutput) {
6013	op := &request.Operation{
6014		Name:       opRequestUploadCredentials,
6015		HTTPMethod: "POST",
6016		HTTPPath:   "/",
6017	}
6018
6019	if input == nil {
6020		input = &RequestUploadCredentialsInput{}
6021	}
6022
6023	output = &RequestUploadCredentialsOutput{}
6024	req = c.newRequest(op, input, output)
6025	return
6026}
6027
6028// RequestUploadCredentials API operation for Amazon GameLift.
6029//
6030// Retrieves a fresh set of credentials for use when uploading a new set of
6031// game build files to Amazon GameLift's Amazon S3. This is done as part of
6032// the build creation process; see CreateBuild.
6033//
6034// To request new credentials, specify the build ID as returned with an initial
6035// CreateBuild request. If successful, a new set of credentials are returned,
6036// along with the S3 storage location associated with the build ID.
6037//
6038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6039// with awserr.Error's Code and Message methods to get detailed information about
6040// the error.
6041//
6042// See the AWS API reference guide for Amazon GameLift's
6043// API operation RequestUploadCredentials for usage and error information.
6044//
6045// Returned Error Codes:
6046//   * ErrCodeUnauthorizedException "UnauthorizedException"
6047//   The client failed authentication. Clients should not retry such requests.
6048//
6049//   * ErrCodeInvalidRequestException "InvalidRequestException"
6050//   One or more parameter values in the request are invalid. Correct the invalid
6051//   parameter values before retrying.
6052//
6053//   * ErrCodeNotFoundException "NotFoundException"
6054//   A service resource associated with the request could not be found. Clients
6055//   should not retry such requests.
6056//
6057//   * ErrCodeInternalServiceException "InternalServiceException"
6058//   The service encountered an unrecoverable internal failure while processing
6059//   the request. Clients can retry such requests immediately or after a waiting
6060//   period.
6061//
6062// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
6063func (c *GameLift) RequestUploadCredentials(input *RequestUploadCredentialsInput) (*RequestUploadCredentialsOutput, error) {
6064	req, out := c.RequestUploadCredentialsRequest(input)
6065	return out, req.Send()
6066}
6067
6068// RequestUploadCredentialsWithContext is the same as RequestUploadCredentials with the addition of
6069// the ability to pass a context and additional request options.
6070//
6071// See RequestUploadCredentials for details on how to use this API operation.
6072//
6073// The context must be non-nil and will be used for request cancellation. If
6074// the context is nil a panic will occur. In the future the SDK may create
6075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6076// for more information on using Contexts.
6077func (c *GameLift) RequestUploadCredentialsWithContext(ctx aws.Context, input *RequestUploadCredentialsInput, opts ...request.Option) (*RequestUploadCredentialsOutput, error) {
6078	req, out := c.RequestUploadCredentialsRequest(input)
6079	req.SetContext(ctx)
6080	req.ApplyOptions(opts...)
6081	return out, req.Send()
6082}
6083
6084const opResolveAlias = "ResolveAlias"
6085
6086// ResolveAliasRequest generates a "aws/request.Request" representing the
6087// client's request for the ResolveAlias operation. The "output" return
6088// value will be populated with the request's response once the request completes
6089// successfuly.
6090//
6091// Use "Send" method on the returned Request to send the API call to the service.
6092// the "output" return value is not valid until after Send returns without error.
6093//
6094// See ResolveAlias for more information on using the ResolveAlias
6095// API call, and error handling.
6096//
6097// This method is useful when you want to inject custom logic or configuration
6098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6099//
6100//
6101//    // Example sending a request using the ResolveAliasRequest method.
6102//    req, resp := client.ResolveAliasRequest(params)
6103//
6104//    err := req.Send()
6105//    if err == nil { // resp is now filled
6106//        fmt.Println(resp)
6107//    }
6108//
6109// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
6110func (c *GameLift) ResolveAliasRequest(input *ResolveAliasInput) (req *request.Request, output *ResolveAliasOutput) {
6111	op := &request.Operation{
6112		Name:       opResolveAlias,
6113		HTTPMethod: "POST",
6114		HTTPPath:   "/",
6115	}
6116
6117	if input == nil {
6118		input = &ResolveAliasInput{}
6119	}
6120
6121	output = &ResolveAliasOutput{}
6122	req = c.newRequest(op, input, output)
6123	return
6124}
6125
6126// ResolveAlias API operation for Amazon GameLift.
6127//
6128// Retrieves the fleet ID that a specified alias is currently pointing to.
6129//
6130// Alias-related operations include:
6131//
6132//    * CreateAlias
6133//
6134//    * ListAliases
6135//
6136//    * DescribeAlias
6137//
6138//    * UpdateAlias
6139//
6140//    * DeleteAlias
6141//
6142//    * ResolveAlias
6143//
6144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6145// with awserr.Error's Code and Message methods to get detailed information about
6146// the error.
6147//
6148// See the AWS API reference guide for Amazon GameLift's
6149// API operation ResolveAlias for usage and error information.
6150//
6151// Returned Error Codes:
6152//   * ErrCodeUnauthorizedException "UnauthorizedException"
6153//   The client failed authentication. Clients should not retry such requests.
6154//
6155//   * ErrCodeInvalidRequestException "InvalidRequestException"
6156//   One or more parameter values in the request are invalid. Correct the invalid
6157//   parameter values before retrying.
6158//
6159//   * ErrCodeNotFoundException "NotFoundException"
6160//   A service resource associated with the request could not be found. Clients
6161//   should not retry such requests.
6162//
6163//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
6164//   The service is unable to resolve the routing for a particular alias because
6165//   it has a terminal RoutingStrategy associated with it. The message returned
6166//   in this exception is the message defined in the routing strategy itself.
6167//   Such requests should only be retried if the routing strategy for the specified
6168//   alias is modified.
6169//
6170//   * ErrCodeInternalServiceException "InternalServiceException"
6171//   The service encountered an unrecoverable internal failure while processing
6172//   the request. Clients can retry such requests immediately or after a waiting
6173//   period.
6174//
6175// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
6176func (c *GameLift) ResolveAlias(input *ResolveAliasInput) (*ResolveAliasOutput, error) {
6177	req, out := c.ResolveAliasRequest(input)
6178	return out, req.Send()
6179}
6180
6181// ResolveAliasWithContext is the same as ResolveAlias with the addition of
6182// the ability to pass a context and additional request options.
6183//
6184// See ResolveAlias for details on how to use this API operation.
6185//
6186// The context must be non-nil and will be used for request cancellation. If
6187// the context is nil a panic will occur. In the future the SDK may create
6188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6189// for more information on using Contexts.
6190func (c *GameLift) ResolveAliasWithContext(ctx aws.Context, input *ResolveAliasInput, opts ...request.Option) (*ResolveAliasOutput, error) {
6191	req, out := c.ResolveAliasRequest(input)
6192	req.SetContext(ctx)
6193	req.ApplyOptions(opts...)
6194	return out, req.Send()
6195}
6196
6197const opSearchGameSessions = "SearchGameSessions"
6198
6199// SearchGameSessionsRequest generates a "aws/request.Request" representing the
6200// client's request for the SearchGameSessions operation. The "output" return
6201// value will be populated with the request's response once the request completes
6202// successfuly.
6203//
6204// Use "Send" method on the returned Request to send the API call to the service.
6205// the "output" return value is not valid until after Send returns without error.
6206//
6207// See SearchGameSessions for more information on using the SearchGameSessions
6208// API call, and error handling.
6209//
6210// This method is useful when you want to inject custom logic or configuration
6211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6212//
6213//
6214//    // Example sending a request using the SearchGameSessionsRequest method.
6215//    req, resp := client.SearchGameSessionsRequest(params)
6216//
6217//    err := req.Send()
6218//    if err == nil { // resp is now filled
6219//        fmt.Println(resp)
6220//    }
6221//
6222// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
6223func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (req *request.Request, output *SearchGameSessionsOutput) {
6224	op := &request.Operation{
6225		Name:       opSearchGameSessions,
6226		HTTPMethod: "POST",
6227		HTTPPath:   "/",
6228	}
6229
6230	if input == nil {
6231		input = &SearchGameSessionsInput{}
6232	}
6233
6234	output = &SearchGameSessionsOutput{}
6235	req = c.newRequest(op, input, output)
6236	return
6237}
6238
6239// SearchGameSessions API operation for Amazon GameLift.
6240//
6241// Retrieves all active game sessions that match a set of search criteria and
6242// sorts them in a specified order. You can search or sort by the following
6243// game session attributes:
6244//
6245//    * gameSessionId -- Unique identifier for the game session. You can use
6246//    either a GameSessionId or GameSessionArn value.
6247//
6248//    * gameSessionName -- Name assigned to a game session. This value is set
6249//    when requesting a new game session with CreateGameSession or updating
6250//    with UpdateGameSession. Game session names do not need to be unique to
6251//    a game session.
6252//
6253//    * gameSessionProperties -- Custom data defined in a game session's GameProperty
6254//    parameter. GameProperty values are stored as key:value pairs; the filter
6255//    expression must indicate the key and a string to search the data values
6256//    for. For example, to search for game sessions with custom data containing
6257//    the key:value pair "gameMode:brawl", specify the following: gameSessionProperties.gameMode
6258//    = "brawl". All custom data values are searched as strings.
6259//
6260//    * maximumSessions -- Maximum number of player sessions allowed for a game
6261//    session. This value is set when requesting a new game session with CreateGameSession
6262//    or updating with UpdateGameSession.
6263//
6264//    * creationTimeMillis -- Value indicating when a game session was created.
6265//    It is expressed in Unix time as milliseconds.
6266//
6267//    * playerSessionCount -- Number of players currently connected to a game
6268//    session. This value changes rapidly as players join the session or drop
6269//    out.
6270//
6271//    * hasAvailablePlayerSessions -- Boolean value indicating whether a game
6272//    session has reached its maximum number of players. It is highly recommended
6273//    that all search requests include this filter attribute to optimize search
6274//    performance and return only sessions that players can join.
6275//
6276// Returned values for playerSessionCount and hasAvailablePlayerSessions change
6277// quickly as players join sessions and others drop out. Results should be considered
6278// a snapshot in time. Be sure to refresh search results often, and handle sessions
6279// that fill up before a player can join.
6280//
6281// To search or sort, specify either a fleet ID or an alias ID, and provide
6282// a search filter expression, a sort expression, or both. If successful, a
6283// collection of GameSession objects matching the request is returned. Use the
6284// pagination parameters to retrieve results as a set of sequential pages.
6285//
6286// You can search for game sessions one fleet at a time only. To find game sessions
6287// across multiple fleets, you must search each fleet separately and combine
6288// the results. This search feature finds only game sessions that are in ACTIVE
6289// status. To locate games in statuses other than active, use DescribeGameSessionDetails.
6290//
6291// Game-session-related operations include:
6292//
6293//    * CreateGameSession
6294//
6295//    * DescribeGameSessions
6296//
6297//    * DescribeGameSessionDetails
6298//
6299//    * SearchGameSessions
6300//
6301//    * UpdateGameSession
6302//
6303//    * GetGameSessionLogUrl
6304//
6305//    * Game session placements
6306//
6307// StartGameSessionPlacement
6308//
6309// DescribeGameSessionPlacement
6310//
6311// StopGameSessionPlacement
6312//
6313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6314// with awserr.Error's Code and Message methods to get detailed information about
6315// the error.
6316//
6317// See the AWS API reference guide for Amazon GameLift's
6318// API operation SearchGameSessions for usage and error information.
6319//
6320// Returned Error Codes:
6321//   * ErrCodeInternalServiceException "InternalServiceException"
6322//   The service encountered an unrecoverable internal failure while processing
6323//   the request. Clients can retry such requests immediately or after a waiting
6324//   period.
6325//
6326//   * ErrCodeNotFoundException "NotFoundException"
6327//   A service resource associated with the request could not be found. Clients
6328//   should not retry such requests.
6329//
6330//   * ErrCodeInvalidRequestException "InvalidRequestException"
6331//   One or more parameter values in the request are invalid. Correct the invalid
6332//   parameter values before retrying.
6333//
6334//   * ErrCodeUnauthorizedException "UnauthorizedException"
6335//   The client failed authentication. Clients should not retry such requests.
6336//
6337//   * ErrCodeTerminalRoutingStrategyException "TerminalRoutingStrategyException"
6338//   The service is unable to resolve the routing for a particular alias because
6339//   it has a terminal RoutingStrategy associated with it. The message returned
6340//   in this exception is the message defined in the routing strategy itself.
6341//   Such requests should only be retried if the routing strategy for the specified
6342//   alias is modified.
6343//
6344// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
6345func (c *GameLift) SearchGameSessions(input *SearchGameSessionsInput) (*SearchGameSessionsOutput, error) {
6346	req, out := c.SearchGameSessionsRequest(input)
6347	return out, req.Send()
6348}
6349
6350// SearchGameSessionsWithContext is the same as SearchGameSessions with the addition of
6351// the ability to pass a context and additional request options.
6352//
6353// See SearchGameSessions for details on how to use this API operation.
6354//
6355// The context must be non-nil and will be used for request cancellation. If
6356// the context is nil a panic will occur. In the future the SDK may create
6357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6358// for more information on using Contexts.
6359func (c *GameLift) SearchGameSessionsWithContext(ctx aws.Context, input *SearchGameSessionsInput, opts ...request.Option) (*SearchGameSessionsOutput, error) {
6360	req, out := c.SearchGameSessionsRequest(input)
6361	req.SetContext(ctx)
6362	req.ApplyOptions(opts...)
6363	return out, req.Send()
6364}
6365
6366const opStartGameSessionPlacement = "StartGameSessionPlacement"
6367
6368// StartGameSessionPlacementRequest generates a "aws/request.Request" representing the
6369// client's request for the StartGameSessionPlacement operation. The "output" return
6370// value will be populated with the request's response once the request completes
6371// successfuly.
6372//
6373// Use "Send" method on the returned Request to send the API call to the service.
6374// the "output" return value is not valid until after Send returns without error.
6375//
6376// See StartGameSessionPlacement for more information on using the StartGameSessionPlacement
6377// API call, and error handling.
6378//
6379// This method is useful when you want to inject custom logic or configuration
6380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6381//
6382//
6383//    // Example sending a request using the StartGameSessionPlacementRequest method.
6384//    req, resp := client.StartGameSessionPlacementRequest(params)
6385//
6386//    err := req.Send()
6387//    if err == nil { // resp is now filled
6388//        fmt.Println(resp)
6389//    }
6390//
6391// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
6392func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlacementInput) (req *request.Request, output *StartGameSessionPlacementOutput) {
6393	op := &request.Operation{
6394		Name:       opStartGameSessionPlacement,
6395		HTTPMethod: "POST",
6396		HTTPPath:   "/",
6397	}
6398
6399	if input == nil {
6400		input = &StartGameSessionPlacementInput{}
6401	}
6402
6403	output = &StartGameSessionPlacementOutput{}
6404	req = c.newRequest(op, input, output)
6405	return
6406}
6407
6408// StartGameSessionPlacement API operation for Amazon GameLift.
6409//
6410// Places a request for a new game session in a queue (see CreateGameSessionQueue).
6411// When processing a placement request, Amazon GameLift searches for available
6412// resources on the queue's destinations, scanning each until it finds resources
6413// or the placement request times out.
6414//
6415// A game session placement request can also request player sessions. When a
6416// new game session is successfully created, Amazon GameLift creates a player
6417// session for each player included in the request.
6418//
6419// When placing a game session, by default Amazon GameLift tries each fleet
6420// in the order they are listed in the queue configuration. Ideally, a queue's
6421// destinations are listed in preference order.
6422//
6423// Alternatively, when requesting a game session with players, you can also
6424// provide latency data for each player in relevant regions. Latency data indicates
6425// the performance lag a player experiences when connected to a fleet in the
6426// region. Amazon GameLift uses latency data to reorder the list of destinations
6427// to place the game session in a region with minimal lag. If latency data is
6428// provided for multiple players, Amazon GameLift calculates each region's average
6429// lag for all players and reorders to get the best game play across all players.
6430//
6431// To place a new game session request, specify the following:
6432//
6433//    * The queue name and a set of game session properties and settings
6434//
6435//    * A unique ID (such as a UUID) for the placement. You use this ID to track
6436//    the status of the placement request
6437//
6438//    * (Optional) A set of IDs and player data for each player you want to
6439//    join to the new game session
6440//
6441//    * Latency data for all players (if you want to optimize game play for
6442//    the players)
6443//
6444// If successful, a new game session placement is created.
6445//
6446// To track the status of a placement request, call DescribeGameSessionPlacement
6447// and check the request's status. If the status is FULFILLED, a new game session
6448// has been created and a game session ARN and region are referenced. If the
6449// placement request times out, you can resubmit the request or retry it with
6450// a different queue.
6451//
6452// Game-session-related operations include:
6453//
6454//    * CreateGameSession
6455//
6456//    * DescribeGameSessions
6457//
6458//    * DescribeGameSessionDetails
6459//
6460//    * SearchGameSessions
6461//
6462//    * UpdateGameSession
6463//
6464//    * GetGameSessionLogUrl
6465//
6466//    * Game session placements
6467//
6468// StartGameSessionPlacement
6469//
6470// DescribeGameSessionPlacement
6471//
6472// StopGameSessionPlacement
6473//
6474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6475// with awserr.Error's Code and Message methods to get detailed information about
6476// the error.
6477//
6478// See the AWS API reference guide for Amazon GameLift's
6479// API operation StartGameSessionPlacement for usage and error information.
6480//
6481// Returned Error Codes:
6482//   * ErrCodeInternalServiceException "InternalServiceException"
6483//   The service encountered an unrecoverable internal failure while processing
6484//   the request. Clients can retry such requests immediately or after a waiting
6485//   period.
6486//
6487//   * ErrCodeInvalidRequestException "InvalidRequestException"
6488//   One or more parameter values in the request are invalid. Correct the invalid
6489//   parameter values before retrying.
6490//
6491//   * ErrCodeNotFoundException "NotFoundException"
6492//   A service resource associated with the request could not be found. Clients
6493//   should not retry such requests.
6494//
6495//   * ErrCodeUnauthorizedException "UnauthorizedException"
6496//   The client failed authentication. Clients should not retry such requests.
6497//
6498// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
6499func (c *GameLift) StartGameSessionPlacement(input *StartGameSessionPlacementInput) (*StartGameSessionPlacementOutput, error) {
6500	req, out := c.StartGameSessionPlacementRequest(input)
6501	return out, req.Send()
6502}
6503
6504// StartGameSessionPlacementWithContext is the same as StartGameSessionPlacement with the addition of
6505// the ability to pass a context and additional request options.
6506//
6507// See StartGameSessionPlacement for details on how to use this API operation.
6508//
6509// The context must be non-nil and will be used for request cancellation. If
6510// the context is nil a panic will occur. In the future the SDK may create
6511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6512// for more information on using Contexts.
6513func (c *GameLift) StartGameSessionPlacementWithContext(ctx aws.Context, input *StartGameSessionPlacementInput, opts ...request.Option) (*StartGameSessionPlacementOutput, error) {
6514	req, out := c.StartGameSessionPlacementRequest(input)
6515	req.SetContext(ctx)
6516	req.ApplyOptions(opts...)
6517	return out, req.Send()
6518}
6519
6520const opStartMatchBackfill = "StartMatchBackfill"
6521
6522// StartMatchBackfillRequest generates a "aws/request.Request" representing the
6523// client's request for the StartMatchBackfill operation. The "output" return
6524// value will be populated with the request's response once the request completes
6525// successfuly.
6526//
6527// Use "Send" method on the returned Request to send the API call to the service.
6528// the "output" return value is not valid until after Send returns without error.
6529//
6530// See StartMatchBackfill for more information on using the StartMatchBackfill
6531// API call, and error handling.
6532//
6533// This method is useful when you want to inject custom logic or configuration
6534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6535//
6536//
6537//    // Example sending a request using the StartMatchBackfillRequest method.
6538//    req, resp := client.StartMatchBackfillRequest(params)
6539//
6540//    err := req.Send()
6541//    if err == nil { // resp is now filled
6542//        fmt.Println(resp)
6543//    }
6544//
6545// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
6546func (c *GameLift) StartMatchBackfillRequest(input *StartMatchBackfillInput) (req *request.Request, output *StartMatchBackfillOutput) {
6547	op := &request.Operation{
6548		Name:       opStartMatchBackfill,
6549		HTTPMethod: "POST",
6550		HTTPPath:   "/",
6551	}
6552
6553	if input == nil {
6554		input = &StartMatchBackfillInput{}
6555	}
6556
6557	output = &StartMatchBackfillOutput{}
6558	req = c.newRequest(op, input, output)
6559	return
6560}
6561
6562// StartMatchBackfill API operation for Amazon GameLift.
6563//
6564// Finds new players to fill open slots in an existing game session. This operation
6565// can be used to add players to matched games that start with fewer than the
6566// maximum number of players or to replace players when they drop out. By backfilling
6567// with the same matchmaker used to create the original match, you ensure that
6568// new players meet the match criteria and maintain a consistent experience
6569// throughout the game session. You can backfill a match anytime after a game
6570// session has been created.
6571//
6572// To request a match backfill, specify a unique ticket ID, the existing game
6573// session's ARN, a matchmaking configuration, and a set of data that describes
6574// all current players in the game session. If successful, a match backfill
6575// ticket is created and returned with status set to QUEUED. The ticket is placed
6576// in the matchmaker's ticket pool and processed. Track the status of the ticket
6577// to respond as needed. For more detail how to set up backfilling, see  Backfill
6578// Existing Games with FlexMatch (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-backfill.html).
6579//
6580// The process of finding backfill matches is essentially identical to the initial
6581// matchmaking process. The matchmaker searches the pool and groups tickets
6582// together to form potential matches, allowing only one backfill ticket per
6583// potential match. Once the a match is formed, the matchmaker creates player
6584// sessions for the new players. All tickets in the match are updated with the
6585// game session's connection information, and the GameSession object is updated
6586// to include matchmaker data on the new players. For more detail on how match
6587// backfill requests are processed, see  How Amazon GameLift FlexMatch Works
6588// (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html).
6589//
6590// Matchmaking-related operations include:
6591//
6592//    * StartMatchmaking
6593//
6594//    * DescribeMatchmaking
6595//
6596//    * StopMatchmaking
6597//
6598//    * AcceptMatch
6599//
6600//    * StartMatchBackfill
6601//
6602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6603// with awserr.Error's Code and Message methods to get detailed information about
6604// the error.
6605//
6606// See the AWS API reference guide for Amazon GameLift's
6607// API operation StartMatchBackfill for usage and error information.
6608//
6609// Returned Error Codes:
6610//   * ErrCodeInvalidRequestException "InvalidRequestException"
6611//   One or more parameter values in the request are invalid. Correct the invalid
6612//   parameter values before retrying.
6613//
6614//   * ErrCodeNotFoundException "NotFoundException"
6615//   A service resource associated with the request could not be found. Clients
6616//   should not retry such requests.
6617//
6618//   * ErrCodeInternalServiceException "InternalServiceException"
6619//   The service encountered an unrecoverable internal failure while processing
6620//   the request. Clients can retry such requests immediately or after a waiting
6621//   period.
6622//
6623//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
6624//   The requested operation is not supported in the region specified.
6625//
6626// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
6627func (c *GameLift) StartMatchBackfill(input *StartMatchBackfillInput) (*StartMatchBackfillOutput, error) {
6628	req, out := c.StartMatchBackfillRequest(input)
6629	return out, req.Send()
6630}
6631
6632// StartMatchBackfillWithContext is the same as StartMatchBackfill with the addition of
6633// the ability to pass a context and additional request options.
6634//
6635// See StartMatchBackfill for details on how to use this API operation.
6636//
6637// The context must be non-nil and will be used for request cancellation. If
6638// the context is nil a panic will occur. In the future the SDK may create
6639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6640// for more information on using Contexts.
6641func (c *GameLift) StartMatchBackfillWithContext(ctx aws.Context, input *StartMatchBackfillInput, opts ...request.Option) (*StartMatchBackfillOutput, error) {
6642	req, out := c.StartMatchBackfillRequest(input)
6643	req.SetContext(ctx)
6644	req.ApplyOptions(opts...)
6645	return out, req.Send()
6646}
6647
6648const opStartMatchmaking = "StartMatchmaking"
6649
6650// StartMatchmakingRequest generates a "aws/request.Request" representing the
6651// client's request for the StartMatchmaking operation. The "output" return
6652// value will be populated with the request's response once the request completes
6653// successfuly.
6654//
6655// Use "Send" method on the returned Request to send the API call to the service.
6656// the "output" return value is not valid until after Send returns without error.
6657//
6658// See StartMatchmaking for more information on using the StartMatchmaking
6659// API call, and error handling.
6660//
6661// This method is useful when you want to inject custom logic or configuration
6662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6663//
6664//
6665//    // Example sending a request using the StartMatchmakingRequest method.
6666//    req, resp := client.StartMatchmakingRequest(params)
6667//
6668//    err := req.Send()
6669//    if err == nil { // resp is now filled
6670//        fmt.Println(resp)
6671//    }
6672//
6673// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
6674func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *request.Request, output *StartMatchmakingOutput) {
6675	op := &request.Operation{
6676		Name:       opStartMatchmaking,
6677		HTTPMethod: "POST",
6678		HTTPPath:   "/",
6679	}
6680
6681	if input == nil {
6682		input = &StartMatchmakingInput{}
6683	}
6684
6685	output = &StartMatchmakingOutput{}
6686	req = c.newRequest(op, input, output)
6687	return
6688}
6689
6690// StartMatchmaking API operation for Amazon GameLift.
6691//
6692// Uses FlexMatch to create a game match for a group of players based on custom
6693// matchmaking rules, and starts a new game for the matched players. Each matchmaking
6694// request specifies the type of match to build (team configuration, rules for
6695// an acceptable match, etc.). The request also specifies the players to find
6696// a match for and where to host the new game session for optimal performance.
6697// A matchmaking request might start with a single player or a group of players
6698// who want to play together. FlexMatch finds additional players as needed to
6699// fill the match. Match type, rules, and the queue used to place a new game
6700// session are defined in a MatchmakingConfiguration. For complete information
6701// on setting up and using FlexMatch, see the topic  Adding FlexMatch to Your
6702// Game (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-intro.html).
6703//
6704// To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,
6705// and include the players to be matched. You must also include a set of player
6706// attributes relevant for the matchmaking configuration. If successful, a matchmaking
6707// ticket is returned with status set to QUEUED. Track the status of the ticket
6708// to respond as needed and acquire game session connection information for
6709// successfully completed matches.
6710//
6711// Tracking ticket status -- A couple of options are available for tracking
6712// the status of matchmaking requests:
6713//
6714//    * Polling -- Call DescribeMatchmaking. This operation returns the full
6715//    ticket object, including current status and (for completed tickets) game
6716//    session connection info. We recommend polling no more than once every
6717//    10 seconds.
6718//
6719//    * Notifications -- Get event notifications for changes in ticket status
6720//    using Amazon Simple Notification Service (SNS). Notifications are easy
6721//    to set up (see CreateMatchmakingConfiguration) and typically deliver match
6722//    status changes faster and more efficiently than polling. We recommend
6723//    that you use polling to back up to notifications (since delivery is not
6724//    guaranteed) and call DescribeMatchmaking only when notifications are not
6725//    received within 30 seconds.
6726//
6727// Processing a matchmaking request -- FlexMatch handles a matchmaking request
6728// as follows:
6729//
6730// Your client code submits a StartMatchmaking request for one or more players
6731// and tracks the status of the request ticket.
6732//
6733// FlexMatch uses this ticket and others in process to build an acceptable match.
6734// When a potential match is identified, all tickets in the proposed match are
6735// advanced to the next status.
6736//
6737// If the match requires player acceptance (set in the matchmaking configuration),
6738// the tickets move into status REQUIRES_ACCEPTANCE. This status triggers your
6739// client code to solicit acceptance from all players in every ticket involved
6740// in the match, and then call AcceptMatch for each player. If any player rejects
6741// or fails to accept the match before a specified timeout, the proposed match
6742// is dropped (see AcceptMatch for more details).
6743//
6744// Once a match is proposed and accepted, the matchmaking tickets move into
6745// status PLACING. FlexMatch locates resources for a new game session using
6746// the game session queue (set in the matchmaking configuration) and creates
6747// the game session based on the match data.
6748//
6749// When the match is successfully placed, the matchmaking tickets move into
6750// COMPLETED status. Connection information (including game session endpoint
6751// and player session) is added to the matchmaking tickets. Matched players
6752// can use the connection information to join the game.
6753//
6754// Matchmaking-related operations include:
6755//
6756//    * StartMatchmaking
6757//
6758//    * DescribeMatchmaking
6759//
6760//    * StopMatchmaking
6761//
6762//    * AcceptMatch
6763//
6764//    * StartMatchBackfill
6765//
6766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6767// with awserr.Error's Code and Message methods to get detailed information about
6768// the error.
6769//
6770// See the AWS API reference guide for Amazon GameLift's
6771// API operation StartMatchmaking for usage and error information.
6772//
6773// Returned Error Codes:
6774//   * ErrCodeInvalidRequestException "InvalidRequestException"
6775//   One or more parameter values in the request are invalid. Correct the invalid
6776//   parameter values before retrying.
6777//
6778//   * ErrCodeNotFoundException "NotFoundException"
6779//   A service resource associated with the request could not be found. Clients
6780//   should not retry such requests.
6781//
6782//   * ErrCodeInternalServiceException "InternalServiceException"
6783//   The service encountered an unrecoverable internal failure while processing
6784//   the request. Clients can retry such requests immediately or after a waiting
6785//   period.
6786//
6787//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
6788//   The requested operation is not supported in the region specified.
6789//
6790// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
6791func (c *GameLift) StartMatchmaking(input *StartMatchmakingInput) (*StartMatchmakingOutput, error) {
6792	req, out := c.StartMatchmakingRequest(input)
6793	return out, req.Send()
6794}
6795
6796// StartMatchmakingWithContext is the same as StartMatchmaking with the addition of
6797// the ability to pass a context and additional request options.
6798//
6799// See StartMatchmaking for details on how to use this API operation.
6800//
6801// The context must be non-nil and will be used for request cancellation. If
6802// the context is nil a panic will occur. In the future the SDK may create
6803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6804// for more information on using Contexts.
6805func (c *GameLift) StartMatchmakingWithContext(ctx aws.Context, input *StartMatchmakingInput, opts ...request.Option) (*StartMatchmakingOutput, error) {
6806	req, out := c.StartMatchmakingRequest(input)
6807	req.SetContext(ctx)
6808	req.ApplyOptions(opts...)
6809	return out, req.Send()
6810}
6811
6812const opStopGameSessionPlacement = "StopGameSessionPlacement"
6813
6814// StopGameSessionPlacementRequest generates a "aws/request.Request" representing the
6815// client's request for the StopGameSessionPlacement operation. The "output" return
6816// value will be populated with the request's response once the request completes
6817// successfuly.
6818//
6819// Use "Send" method on the returned Request to send the API call to the service.
6820// the "output" return value is not valid until after Send returns without error.
6821//
6822// See StopGameSessionPlacement for more information on using the StopGameSessionPlacement
6823// API call, and error handling.
6824//
6825// This method is useful when you want to inject custom logic or configuration
6826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6827//
6828//
6829//    // Example sending a request using the StopGameSessionPlacementRequest method.
6830//    req, resp := client.StopGameSessionPlacementRequest(params)
6831//
6832//    err := req.Send()
6833//    if err == nil { // resp is now filled
6834//        fmt.Println(resp)
6835//    }
6836//
6837// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
6838func (c *GameLift) StopGameSessionPlacementRequest(input *StopGameSessionPlacementInput) (req *request.Request, output *StopGameSessionPlacementOutput) {
6839	op := &request.Operation{
6840		Name:       opStopGameSessionPlacement,
6841		HTTPMethod: "POST",
6842		HTTPPath:   "/",
6843	}
6844
6845	if input == nil {
6846		input = &StopGameSessionPlacementInput{}
6847	}
6848
6849	output = &StopGameSessionPlacementOutput{}
6850	req = c.newRequest(op, input, output)
6851	return
6852}
6853
6854// StopGameSessionPlacement API operation for Amazon GameLift.
6855//
6856// Cancels a game session placement that is in PENDING status. To stop a placement,
6857// provide the placement ID values. If successful, the placement is moved to
6858// CANCELLED status.
6859//
6860// Game-session-related operations include:
6861//
6862//    * CreateGameSession
6863//
6864//    * DescribeGameSessions
6865//
6866//    * DescribeGameSessionDetails
6867//
6868//    * SearchGameSessions
6869//
6870//    * UpdateGameSession
6871//
6872//    * GetGameSessionLogUrl
6873//
6874//    * Game session placements
6875//
6876// StartGameSessionPlacement
6877//
6878// DescribeGameSessionPlacement
6879//
6880// StopGameSessionPlacement
6881//
6882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6883// with awserr.Error's Code and Message methods to get detailed information about
6884// the error.
6885//
6886// See the AWS API reference guide for Amazon GameLift's
6887// API operation StopGameSessionPlacement for usage and error information.
6888//
6889// Returned Error Codes:
6890//   * ErrCodeInternalServiceException "InternalServiceException"
6891//   The service encountered an unrecoverable internal failure while processing
6892//   the request. Clients can retry such requests immediately or after a waiting
6893//   period.
6894//
6895//   * ErrCodeInvalidRequestException "InvalidRequestException"
6896//   One or more parameter values in the request are invalid. Correct the invalid
6897//   parameter values before retrying.
6898//
6899//   * ErrCodeNotFoundException "NotFoundException"
6900//   A service resource associated with the request could not be found. Clients
6901//   should not retry such requests.
6902//
6903//   * ErrCodeUnauthorizedException "UnauthorizedException"
6904//   The client failed authentication. Clients should not retry such requests.
6905//
6906// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
6907func (c *GameLift) StopGameSessionPlacement(input *StopGameSessionPlacementInput) (*StopGameSessionPlacementOutput, error) {
6908	req, out := c.StopGameSessionPlacementRequest(input)
6909	return out, req.Send()
6910}
6911
6912// StopGameSessionPlacementWithContext is the same as StopGameSessionPlacement with the addition of
6913// the ability to pass a context and additional request options.
6914//
6915// See StopGameSessionPlacement for details on how to use this API operation.
6916//
6917// The context must be non-nil and will be used for request cancellation. If
6918// the context is nil a panic will occur. In the future the SDK may create
6919// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6920// for more information on using Contexts.
6921func (c *GameLift) StopGameSessionPlacementWithContext(ctx aws.Context, input *StopGameSessionPlacementInput, opts ...request.Option) (*StopGameSessionPlacementOutput, error) {
6922	req, out := c.StopGameSessionPlacementRequest(input)
6923	req.SetContext(ctx)
6924	req.ApplyOptions(opts...)
6925	return out, req.Send()
6926}
6927
6928const opStopMatchmaking = "StopMatchmaking"
6929
6930// StopMatchmakingRequest generates a "aws/request.Request" representing the
6931// client's request for the StopMatchmaking operation. The "output" return
6932// value will be populated with the request's response once the request completes
6933// successfuly.
6934//
6935// Use "Send" method on the returned Request to send the API call to the service.
6936// the "output" return value is not valid until after Send returns without error.
6937//
6938// See StopMatchmaking for more information on using the StopMatchmaking
6939// API call, and error handling.
6940//
6941// This method is useful when you want to inject custom logic or configuration
6942// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6943//
6944//
6945//    // Example sending a request using the StopMatchmakingRequest method.
6946//    req, resp := client.StopMatchmakingRequest(params)
6947//
6948//    err := req.Send()
6949//    if err == nil { // resp is now filled
6950//        fmt.Println(resp)
6951//    }
6952//
6953// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
6954func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *request.Request, output *StopMatchmakingOutput) {
6955	op := &request.Operation{
6956		Name:       opStopMatchmaking,
6957		HTTPMethod: "POST",
6958		HTTPPath:   "/",
6959	}
6960
6961	if input == nil {
6962		input = &StopMatchmakingInput{}
6963	}
6964
6965	output = &StopMatchmakingOutput{}
6966	req = c.newRequest(op, input, output)
6967	return
6968}
6969
6970// StopMatchmaking API operation for Amazon GameLift.
6971//
6972// Cancels a matchmaking ticket that is currently being processed. To stop the
6973// matchmaking operation, specify the ticket ID. If successful, work on the
6974// ticket is stopped, and the ticket status is changed to CANCELLED.
6975//
6976// Matchmaking-related operations include:
6977//
6978//    * StartMatchmaking
6979//
6980//    * DescribeMatchmaking
6981//
6982//    * StopMatchmaking
6983//
6984//    * AcceptMatch
6985//
6986//    * StartMatchBackfill
6987//
6988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6989// with awserr.Error's Code and Message methods to get detailed information about
6990// the error.
6991//
6992// See the AWS API reference guide for Amazon GameLift's
6993// API operation StopMatchmaking for usage and error information.
6994//
6995// Returned Error Codes:
6996//   * ErrCodeInvalidRequestException "InvalidRequestException"
6997//   One or more parameter values in the request are invalid. Correct the invalid
6998//   parameter values before retrying.
6999//
7000//   * ErrCodeNotFoundException "NotFoundException"
7001//   A service resource associated with the request could not be found. Clients
7002//   should not retry such requests.
7003//
7004//   * ErrCodeInternalServiceException "InternalServiceException"
7005//   The service encountered an unrecoverable internal failure while processing
7006//   the request. Clients can retry such requests immediately or after a waiting
7007//   period.
7008//
7009//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
7010//   The requested operation is not supported in the region specified.
7011//
7012// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
7013func (c *GameLift) StopMatchmaking(input *StopMatchmakingInput) (*StopMatchmakingOutput, error) {
7014	req, out := c.StopMatchmakingRequest(input)
7015	return out, req.Send()
7016}
7017
7018// StopMatchmakingWithContext is the same as StopMatchmaking with the addition of
7019// the ability to pass a context and additional request options.
7020//
7021// See StopMatchmaking for details on how to use this API operation.
7022//
7023// The context must be non-nil and will be used for request cancellation. If
7024// the context is nil a panic will occur. In the future the SDK may create
7025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7026// for more information on using Contexts.
7027func (c *GameLift) StopMatchmakingWithContext(ctx aws.Context, input *StopMatchmakingInput, opts ...request.Option) (*StopMatchmakingOutput, error) {
7028	req, out := c.StopMatchmakingRequest(input)
7029	req.SetContext(ctx)
7030	req.ApplyOptions(opts...)
7031	return out, req.Send()
7032}
7033
7034const opUpdateAlias = "UpdateAlias"
7035
7036// UpdateAliasRequest generates a "aws/request.Request" representing the
7037// client's request for the UpdateAlias operation. The "output" return
7038// value will be populated with the request's response once the request completes
7039// successfuly.
7040//
7041// Use "Send" method on the returned Request to send the API call to the service.
7042// the "output" return value is not valid until after Send returns without error.
7043//
7044// See UpdateAlias for more information on using the UpdateAlias
7045// API call, and error handling.
7046//
7047// This method is useful when you want to inject custom logic or configuration
7048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7049//
7050//
7051//    // Example sending a request using the UpdateAliasRequest method.
7052//    req, resp := client.UpdateAliasRequest(params)
7053//
7054//    err := req.Send()
7055//    if err == nil { // resp is now filled
7056//        fmt.Println(resp)
7057//    }
7058//
7059// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
7060func (c *GameLift) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *UpdateAliasOutput) {
7061	op := &request.Operation{
7062		Name:       opUpdateAlias,
7063		HTTPMethod: "POST",
7064		HTTPPath:   "/",
7065	}
7066
7067	if input == nil {
7068		input = &UpdateAliasInput{}
7069	}
7070
7071	output = &UpdateAliasOutput{}
7072	req = c.newRequest(op, input, output)
7073	return
7074}
7075
7076// UpdateAlias API operation for Amazon GameLift.
7077//
7078// Updates properties for an alias. To update properties, specify the alias
7079// ID to be updated and provide the information to be changed. To reassign an
7080// alias to another fleet, provide an updated routing strategy. If successful,
7081// the updated alias record is returned.
7082//
7083// Alias-related operations include:
7084//
7085//    * CreateAlias
7086//
7087//    * ListAliases
7088//
7089//    * DescribeAlias
7090//
7091//    * UpdateAlias
7092//
7093//    * DeleteAlias
7094//
7095//    * ResolveAlias
7096//
7097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7098// with awserr.Error's Code and Message methods to get detailed information about
7099// the error.
7100//
7101// See the AWS API reference guide for Amazon GameLift's
7102// API operation UpdateAlias for usage and error information.
7103//
7104// Returned Error Codes:
7105//   * ErrCodeUnauthorizedException "UnauthorizedException"
7106//   The client failed authentication. Clients should not retry such requests.
7107//
7108//   * ErrCodeInvalidRequestException "InvalidRequestException"
7109//   One or more parameter values in the request are invalid. Correct the invalid
7110//   parameter values before retrying.
7111//
7112//   * ErrCodeNotFoundException "NotFoundException"
7113//   A service resource associated with the request could not be found. Clients
7114//   should not retry such requests.
7115//
7116//   * ErrCodeInternalServiceException "InternalServiceException"
7117//   The service encountered an unrecoverable internal failure while processing
7118//   the request. Clients can retry such requests immediately or after a waiting
7119//   period.
7120//
7121// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
7122func (c *GameLift) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) {
7123	req, out := c.UpdateAliasRequest(input)
7124	return out, req.Send()
7125}
7126
7127// UpdateAliasWithContext is the same as UpdateAlias with the addition of
7128// the ability to pass a context and additional request options.
7129//
7130// See UpdateAlias for details on how to use this API operation.
7131//
7132// The context must be non-nil and will be used for request cancellation. If
7133// the context is nil a panic will occur. In the future the SDK may create
7134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7135// for more information on using Contexts.
7136func (c *GameLift) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*UpdateAliasOutput, error) {
7137	req, out := c.UpdateAliasRequest(input)
7138	req.SetContext(ctx)
7139	req.ApplyOptions(opts...)
7140	return out, req.Send()
7141}
7142
7143const opUpdateBuild = "UpdateBuild"
7144
7145// UpdateBuildRequest generates a "aws/request.Request" representing the
7146// client's request for the UpdateBuild operation. The "output" return
7147// value will be populated with the request's response once the request completes
7148// successfuly.
7149//
7150// Use "Send" method on the returned Request to send the API call to the service.
7151// the "output" return value is not valid until after Send returns without error.
7152//
7153// See UpdateBuild for more information on using the UpdateBuild
7154// API call, and error handling.
7155//
7156// This method is useful when you want to inject custom logic or configuration
7157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7158//
7159//
7160//    // Example sending a request using the UpdateBuildRequest method.
7161//    req, resp := client.UpdateBuildRequest(params)
7162//
7163//    err := req.Send()
7164//    if err == nil { // resp is now filled
7165//        fmt.Println(resp)
7166//    }
7167//
7168// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
7169func (c *GameLift) UpdateBuildRequest(input *UpdateBuildInput) (req *request.Request, output *UpdateBuildOutput) {
7170	op := &request.Operation{
7171		Name:       opUpdateBuild,
7172		HTTPMethod: "POST",
7173		HTTPPath:   "/",
7174	}
7175
7176	if input == nil {
7177		input = &UpdateBuildInput{}
7178	}
7179
7180	output = &UpdateBuildOutput{}
7181	req = c.newRequest(op, input, output)
7182	return
7183}
7184
7185// UpdateBuild API operation for Amazon GameLift.
7186//
7187// Updates metadata in a build record, including the build name and version.
7188// To update the metadata, specify the build ID to update and provide the new
7189// values. If successful, a build object containing the updated metadata is
7190// returned.
7191//
7192// Build-related operations include:
7193//
7194//    * CreateBuild
7195//
7196//    * ListBuilds
7197//
7198//    * DescribeBuild
7199//
7200//    * UpdateBuild
7201//
7202//    * DeleteBuild
7203//
7204// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7205// with awserr.Error's Code and Message methods to get detailed information about
7206// the error.
7207//
7208// See the AWS API reference guide for Amazon GameLift's
7209// API operation UpdateBuild for usage and error information.
7210//
7211// Returned Error Codes:
7212//   * ErrCodeUnauthorizedException "UnauthorizedException"
7213//   The client failed authentication. Clients should not retry such requests.
7214//
7215//   * ErrCodeInvalidRequestException "InvalidRequestException"
7216//   One or more parameter values in the request are invalid. Correct the invalid
7217//   parameter values before retrying.
7218//
7219//   * ErrCodeNotFoundException "NotFoundException"
7220//   A service resource associated with the request could not be found. Clients
7221//   should not retry such requests.
7222//
7223//   * ErrCodeInternalServiceException "InternalServiceException"
7224//   The service encountered an unrecoverable internal failure while processing
7225//   the request. Clients can retry such requests immediately or after a waiting
7226//   period.
7227//
7228// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
7229func (c *GameLift) UpdateBuild(input *UpdateBuildInput) (*UpdateBuildOutput, error) {
7230	req, out := c.UpdateBuildRequest(input)
7231	return out, req.Send()
7232}
7233
7234// UpdateBuildWithContext is the same as UpdateBuild with the addition of
7235// the ability to pass a context and additional request options.
7236//
7237// See UpdateBuild for details on how to use this API operation.
7238//
7239// The context must be non-nil and will be used for request cancellation. If
7240// the context is nil a panic will occur. In the future the SDK may create
7241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7242// for more information on using Contexts.
7243func (c *GameLift) UpdateBuildWithContext(ctx aws.Context, input *UpdateBuildInput, opts ...request.Option) (*UpdateBuildOutput, error) {
7244	req, out := c.UpdateBuildRequest(input)
7245	req.SetContext(ctx)
7246	req.ApplyOptions(opts...)
7247	return out, req.Send()
7248}
7249
7250const opUpdateFleetAttributes = "UpdateFleetAttributes"
7251
7252// UpdateFleetAttributesRequest generates a "aws/request.Request" representing the
7253// client's request for the UpdateFleetAttributes operation. The "output" return
7254// value will be populated with the request's response once the request completes
7255// successfuly.
7256//
7257// Use "Send" method on the returned Request to send the API call to the service.
7258// the "output" return value is not valid until after Send returns without error.
7259//
7260// See UpdateFleetAttributes for more information on using the UpdateFleetAttributes
7261// API call, and error handling.
7262//
7263// This method is useful when you want to inject custom logic or configuration
7264// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7265//
7266//
7267//    // Example sending a request using the UpdateFleetAttributesRequest method.
7268//    req, resp := client.UpdateFleetAttributesRequest(params)
7269//
7270//    err := req.Send()
7271//    if err == nil { // resp is now filled
7272//        fmt.Println(resp)
7273//    }
7274//
7275// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
7276func (c *GameLift) UpdateFleetAttributesRequest(input *UpdateFleetAttributesInput) (req *request.Request, output *UpdateFleetAttributesOutput) {
7277	op := &request.Operation{
7278		Name:       opUpdateFleetAttributes,
7279		HTTPMethod: "POST",
7280		HTTPPath:   "/",
7281	}
7282
7283	if input == nil {
7284		input = &UpdateFleetAttributesInput{}
7285	}
7286
7287	output = &UpdateFleetAttributesOutput{}
7288	req = c.newRequest(op, input, output)
7289	return
7290}
7291
7292// UpdateFleetAttributes API operation for Amazon GameLift.
7293//
7294// Updates fleet properties, including name and description, for a fleet. To
7295// update metadata, specify the fleet ID and the property values that you want
7296// to change. If successful, the fleet ID for the updated fleet is returned.
7297//
7298// Fleet-related operations include:
7299//
7300//    * CreateFleet
7301//
7302//    * ListFleets
7303//
7304//    * Describe fleets:
7305//
7306// DescribeFleetAttributes
7307//
7308// DescribeFleetPortSettings
7309//
7310// DescribeFleetUtilization
7311//
7312// DescribeRuntimeConfiguration
7313//
7314// DescribeFleetEvents
7315//
7316//    * Update fleets:
7317//
7318// UpdateFleetAttributes
7319//
7320// UpdateFleetCapacity
7321//
7322// UpdateFleetPortSettings
7323//
7324// UpdateRuntimeConfiguration
7325//
7326//    * Manage fleet capacity:
7327//
7328// DescribeFleetCapacity
7329//
7330// UpdateFleetCapacity
7331//
7332// PutScalingPolicy (automatic scaling)
7333//
7334// DescribeScalingPolicies (automatic scaling)
7335//
7336// DeleteScalingPolicy (automatic scaling)
7337//
7338// DescribeEC2InstanceLimits
7339//
7340//    * DeleteFleet
7341//
7342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7343// with awserr.Error's Code and Message methods to get detailed information about
7344// the error.
7345//
7346// See the AWS API reference guide for Amazon GameLift's
7347// API operation UpdateFleetAttributes for usage and error information.
7348//
7349// Returned Error Codes:
7350//   * ErrCodeNotFoundException "NotFoundException"
7351//   A service resource associated with the request could not be found. Clients
7352//   should not retry such requests.
7353//
7354//   * ErrCodeConflictException "ConflictException"
7355//   The requested operation would cause a conflict with the current state of
7356//   a service resource associated with the request. Resolve the conflict before
7357//   retrying this request.
7358//
7359//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
7360//   The requested operation would cause a conflict with the current state of
7361//   a resource associated with the request and/or the fleet. Resolve the conflict
7362//   before retrying.
7363//
7364//   * ErrCodeLimitExceededException "LimitExceededException"
7365//   The requested operation would cause the resource to exceed the allowed service
7366//   limit. Resolve the issue before retrying.
7367//
7368//   * ErrCodeInternalServiceException "InternalServiceException"
7369//   The service encountered an unrecoverable internal failure while processing
7370//   the request. Clients can retry such requests immediately or after a waiting
7371//   period.
7372//
7373//   * ErrCodeInvalidRequestException "InvalidRequestException"
7374//   One or more parameter values in the request are invalid. Correct the invalid
7375//   parameter values before retrying.
7376//
7377//   * ErrCodeUnauthorizedException "UnauthorizedException"
7378//   The client failed authentication. Clients should not retry such requests.
7379//
7380// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
7381func (c *GameLift) UpdateFleetAttributes(input *UpdateFleetAttributesInput) (*UpdateFleetAttributesOutput, error) {
7382	req, out := c.UpdateFleetAttributesRequest(input)
7383	return out, req.Send()
7384}
7385
7386// UpdateFleetAttributesWithContext is the same as UpdateFleetAttributes with the addition of
7387// the ability to pass a context and additional request options.
7388//
7389// See UpdateFleetAttributes for details on how to use this API operation.
7390//
7391// The context must be non-nil and will be used for request cancellation. If
7392// the context is nil a panic will occur. In the future the SDK may create
7393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7394// for more information on using Contexts.
7395func (c *GameLift) UpdateFleetAttributesWithContext(ctx aws.Context, input *UpdateFleetAttributesInput, opts ...request.Option) (*UpdateFleetAttributesOutput, error) {
7396	req, out := c.UpdateFleetAttributesRequest(input)
7397	req.SetContext(ctx)
7398	req.ApplyOptions(opts...)
7399	return out, req.Send()
7400}
7401
7402const opUpdateFleetCapacity = "UpdateFleetCapacity"
7403
7404// UpdateFleetCapacityRequest generates a "aws/request.Request" representing the
7405// client's request for the UpdateFleetCapacity operation. The "output" return
7406// value will be populated with the request's response once the request completes
7407// successfuly.
7408//
7409// Use "Send" method on the returned Request to send the API call to the service.
7410// the "output" return value is not valid until after Send returns without error.
7411//
7412// See UpdateFleetCapacity for more information on using the UpdateFleetCapacity
7413// API call, and error handling.
7414//
7415// This method is useful when you want to inject custom logic or configuration
7416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7417//
7418//
7419//    // Example sending a request using the UpdateFleetCapacityRequest method.
7420//    req, resp := client.UpdateFleetCapacityRequest(params)
7421//
7422//    err := req.Send()
7423//    if err == nil { // resp is now filled
7424//        fmt.Println(resp)
7425//    }
7426//
7427// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
7428func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) (req *request.Request, output *UpdateFleetCapacityOutput) {
7429	op := &request.Operation{
7430		Name:       opUpdateFleetCapacity,
7431		HTTPMethod: "POST",
7432		HTTPPath:   "/",
7433	}
7434
7435	if input == nil {
7436		input = &UpdateFleetCapacityInput{}
7437	}
7438
7439	output = &UpdateFleetCapacityOutput{}
7440	req = c.newRequest(op, input, output)
7441	return
7442}
7443
7444// UpdateFleetCapacity API operation for Amazon GameLift.
7445//
7446// Updates capacity settings for a fleet. Use this action to specify the number
7447// of EC2 instances (hosts) that you want this fleet to contain. Before calling
7448// this action, you may want to call DescribeEC2InstanceLimits to get the maximum
7449// capacity based on the fleet's EC2 instance type.
7450//
7451// If you're using autoscaling (see PutScalingPolicy), you may want to specify
7452// a minimum and/or maximum capacity. If you don't provide these, autoscaling
7453// can set capacity anywhere between zero and the service limits (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift).
7454//
7455// To update fleet capacity, specify the fleet ID and the number of instances
7456// you want the fleet to host. If successful, Amazon GameLift starts or terminates
7457// instances so that the fleet's active instance count matches the desired instance
7458// count. You can view a fleet's current capacity information by calling DescribeFleetCapacity.
7459// If the desired instance count is higher than the instance type's limit, the
7460// "Limit Exceeded" exception occurs.
7461//
7462// Fleet-related operations include:
7463//
7464//    * CreateFleet
7465//
7466//    * ListFleets
7467//
7468//    * Describe fleets:
7469//
7470// DescribeFleetAttributes
7471//
7472// DescribeFleetPortSettings
7473//
7474// DescribeFleetUtilization
7475//
7476// DescribeRuntimeConfiguration
7477//
7478// DescribeFleetEvents
7479//
7480//    * Update fleets:
7481//
7482// UpdateFleetAttributes
7483//
7484// UpdateFleetCapacity
7485//
7486// UpdateFleetPortSettings
7487//
7488// UpdateRuntimeConfiguration
7489//
7490//    * Manage fleet capacity:
7491//
7492// DescribeFleetCapacity
7493//
7494// UpdateFleetCapacity
7495//
7496// PutScalingPolicy (automatic scaling)
7497//
7498// DescribeScalingPolicies (automatic scaling)
7499//
7500// DeleteScalingPolicy (automatic scaling)
7501//
7502// DescribeEC2InstanceLimits
7503//
7504//    * DeleteFleet
7505//
7506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7507// with awserr.Error's Code and Message methods to get detailed information about
7508// the error.
7509//
7510// See the AWS API reference guide for Amazon GameLift's
7511// API operation UpdateFleetCapacity for usage and error information.
7512//
7513// Returned Error Codes:
7514//   * ErrCodeNotFoundException "NotFoundException"
7515//   A service resource associated with the request could not be found. Clients
7516//   should not retry such requests.
7517//
7518//   * ErrCodeConflictException "ConflictException"
7519//   The requested operation would cause a conflict with the current state of
7520//   a service resource associated with the request. Resolve the conflict before
7521//   retrying this request.
7522//
7523//   * ErrCodeLimitExceededException "LimitExceededException"
7524//   The requested operation would cause the resource to exceed the allowed service
7525//   limit. Resolve the issue before retrying.
7526//
7527//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
7528//   The requested operation would cause a conflict with the current state of
7529//   a resource associated with the request and/or the fleet. Resolve the conflict
7530//   before retrying.
7531//
7532//   * ErrCodeInternalServiceException "InternalServiceException"
7533//   The service encountered an unrecoverable internal failure while processing
7534//   the request. Clients can retry such requests immediately or after a waiting
7535//   period.
7536//
7537//   * ErrCodeInvalidRequestException "InvalidRequestException"
7538//   One or more parameter values in the request are invalid. Correct the invalid
7539//   parameter values before retrying.
7540//
7541//   * ErrCodeUnauthorizedException "UnauthorizedException"
7542//   The client failed authentication. Clients should not retry such requests.
7543//
7544// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
7545func (c *GameLift) UpdateFleetCapacity(input *UpdateFleetCapacityInput) (*UpdateFleetCapacityOutput, error) {
7546	req, out := c.UpdateFleetCapacityRequest(input)
7547	return out, req.Send()
7548}
7549
7550// UpdateFleetCapacityWithContext is the same as UpdateFleetCapacity with the addition of
7551// the ability to pass a context and additional request options.
7552//
7553// See UpdateFleetCapacity for details on how to use this API operation.
7554//
7555// The context must be non-nil and will be used for request cancellation. If
7556// the context is nil a panic will occur. In the future the SDK may create
7557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7558// for more information on using Contexts.
7559func (c *GameLift) UpdateFleetCapacityWithContext(ctx aws.Context, input *UpdateFleetCapacityInput, opts ...request.Option) (*UpdateFleetCapacityOutput, error) {
7560	req, out := c.UpdateFleetCapacityRequest(input)
7561	req.SetContext(ctx)
7562	req.ApplyOptions(opts...)
7563	return out, req.Send()
7564}
7565
7566const opUpdateFleetPortSettings = "UpdateFleetPortSettings"
7567
7568// UpdateFleetPortSettingsRequest generates a "aws/request.Request" representing the
7569// client's request for the UpdateFleetPortSettings operation. The "output" return
7570// value will be populated with the request's response once the request completes
7571// successfuly.
7572//
7573// Use "Send" method on the returned Request to send the API call to the service.
7574// the "output" return value is not valid until after Send returns without error.
7575//
7576// See UpdateFleetPortSettings for more information on using the UpdateFleetPortSettings
7577// API call, and error handling.
7578//
7579// This method is useful when you want to inject custom logic or configuration
7580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7581//
7582//
7583//    // Example sending a request using the UpdateFleetPortSettingsRequest method.
7584//    req, resp := client.UpdateFleetPortSettingsRequest(params)
7585//
7586//    err := req.Send()
7587//    if err == nil { // resp is now filled
7588//        fmt.Println(resp)
7589//    }
7590//
7591// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
7592func (c *GameLift) UpdateFleetPortSettingsRequest(input *UpdateFleetPortSettingsInput) (req *request.Request, output *UpdateFleetPortSettingsOutput) {
7593	op := &request.Operation{
7594		Name:       opUpdateFleetPortSettings,
7595		HTTPMethod: "POST",
7596		HTTPPath:   "/",
7597	}
7598
7599	if input == nil {
7600		input = &UpdateFleetPortSettingsInput{}
7601	}
7602
7603	output = &UpdateFleetPortSettingsOutput{}
7604	req = c.newRequest(op, input, output)
7605	return
7606}
7607
7608// UpdateFleetPortSettings API operation for Amazon GameLift.
7609//
7610// Updates port settings for a fleet. To update settings, specify the fleet
7611// ID to be updated and list the permissions you want to update. List the permissions
7612// you want to add in InboundPermissionAuthorizations, and permissions you want
7613// to remove in InboundPermissionRevocations. Permissions to be removed must
7614// match existing fleet permissions. If successful, the fleet ID for the updated
7615// fleet is returned.
7616//
7617// Fleet-related operations include:
7618//
7619//    * CreateFleet
7620//
7621//    * ListFleets
7622//
7623//    * Describe fleets:
7624//
7625// DescribeFleetAttributes
7626//
7627// DescribeFleetPortSettings
7628//
7629// DescribeFleetUtilization
7630//
7631// DescribeRuntimeConfiguration
7632//
7633// DescribeFleetEvents
7634//
7635//    * Update fleets:
7636//
7637// UpdateFleetAttributes
7638//
7639// UpdateFleetCapacity
7640//
7641// UpdateFleetPortSettings
7642//
7643// UpdateRuntimeConfiguration
7644//
7645//    * Manage fleet capacity:
7646//
7647// DescribeFleetCapacity
7648//
7649// UpdateFleetCapacity
7650//
7651// PutScalingPolicy (automatic scaling)
7652//
7653// DescribeScalingPolicies (automatic scaling)
7654//
7655// DeleteScalingPolicy (automatic scaling)
7656//
7657// DescribeEC2InstanceLimits
7658//
7659//    * DeleteFleet
7660//
7661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7662// with awserr.Error's Code and Message methods to get detailed information about
7663// the error.
7664//
7665// See the AWS API reference guide for Amazon GameLift's
7666// API operation UpdateFleetPortSettings for usage and error information.
7667//
7668// Returned Error Codes:
7669//   * ErrCodeNotFoundException "NotFoundException"
7670//   A service resource associated with the request could not be found. Clients
7671//   should not retry such requests.
7672//
7673//   * ErrCodeConflictException "ConflictException"
7674//   The requested operation would cause a conflict with the current state of
7675//   a service resource associated with the request. Resolve the conflict before
7676//   retrying this request.
7677//
7678//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
7679//   The requested operation would cause a conflict with the current state of
7680//   a resource associated with the request and/or the fleet. Resolve the conflict
7681//   before retrying.
7682//
7683//   * ErrCodeLimitExceededException "LimitExceededException"
7684//   The requested operation would cause the resource to exceed the allowed service
7685//   limit. Resolve the issue before retrying.
7686//
7687//   * ErrCodeInternalServiceException "InternalServiceException"
7688//   The service encountered an unrecoverable internal failure while processing
7689//   the request. Clients can retry such requests immediately or after a waiting
7690//   period.
7691//
7692//   * ErrCodeInvalidRequestException "InvalidRequestException"
7693//   One or more parameter values in the request are invalid. Correct the invalid
7694//   parameter values before retrying.
7695//
7696//   * ErrCodeUnauthorizedException "UnauthorizedException"
7697//   The client failed authentication. Clients should not retry such requests.
7698//
7699// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
7700func (c *GameLift) UpdateFleetPortSettings(input *UpdateFleetPortSettingsInput) (*UpdateFleetPortSettingsOutput, error) {
7701	req, out := c.UpdateFleetPortSettingsRequest(input)
7702	return out, req.Send()
7703}
7704
7705// UpdateFleetPortSettingsWithContext is the same as UpdateFleetPortSettings with the addition of
7706// the ability to pass a context and additional request options.
7707//
7708// See UpdateFleetPortSettings for details on how to use this API operation.
7709//
7710// The context must be non-nil and will be used for request cancellation. If
7711// the context is nil a panic will occur. In the future the SDK may create
7712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7713// for more information on using Contexts.
7714func (c *GameLift) UpdateFleetPortSettingsWithContext(ctx aws.Context, input *UpdateFleetPortSettingsInput, opts ...request.Option) (*UpdateFleetPortSettingsOutput, error) {
7715	req, out := c.UpdateFleetPortSettingsRequest(input)
7716	req.SetContext(ctx)
7717	req.ApplyOptions(opts...)
7718	return out, req.Send()
7719}
7720
7721const opUpdateGameSession = "UpdateGameSession"
7722
7723// UpdateGameSessionRequest generates a "aws/request.Request" representing the
7724// client's request for the UpdateGameSession operation. The "output" return
7725// value will be populated with the request's response once the request completes
7726// successfuly.
7727//
7728// Use "Send" method on the returned Request to send the API call to the service.
7729// the "output" return value is not valid until after Send returns without error.
7730//
7731// See UpdateGameSession for more information on using the UpdateGameSession
7732// API call, and error handling.
7733//
7734// This method is useful when you want to inject custom logic or configuration
7735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7736//
7737//
7738//    // Example sending a request using the UpdateGameSessionRequest method.
7739//    req, resp := client.UpdateGameSessionRequest(params)
7740//
7741//    err := req.Send()
7742//    if err == nil { // resp is now filled
7743//        fmt.Println(resp)
7744//    }
7745//
7746// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
7747func (c *GameLift) UpdateGameSessionRequest(input *UpdateGameSessionInput) (req *request.Request, output *UpdateGameSessionOutput) {
7748	op := &request.Operation{
7749		Name:       opUpdateGameSession,
7750		HTTPMethod: "POST",
7751		HTTPPath:   "/",
7752	}
7753
7754	if input == nil {
7755		input = &UpdateGameSessionInput{}
7756	}
7757
7758	output = &UpdateGameSessionOutput{}
7759	req = c.newRequest(op, input, output)
7760	return
7761}
7762
7763// UpdateGameSession API operation for Amazon GameLift.
7764//
7765// Updates game session properties. This includes the session name, maximum
7766// player count, protection policy, which controls whether or not an active
7767// game session can be terminated during a scale-down event, and the player
7768// session creation policy, which controls whether or not new players can join
7769// the session. To update a game session, specify the game session ID and the
7770// values you want to change. If successful, an updated GameSession object is
7771// returned.
7772//
7773// Game-session-related operations include:
7774//
7775//    * CreateGameSession
7776//
7777//    * DescribeGameSessions
7778//
7779//    * DescribeGameSessionDetails
7780//
7781//    * SearchGameSessions
7782//
7783//    * UpdateGameSession
7784//
7785//    * GetGameSessionLogUrl
7786//
7787//    * Game session placements
7788//
7789// StartGameSessionPlacement
7790//
7791// DescribeGameSessionPlacement
7792//
7793// StopGameSessionPlacement
7794//
7795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7796// with awserr.Error's Code and Message methods to get detailed information about
7797// the error.
7798//
7799// See the AWS API reference guide for Amazon GameLift's
7800// API operation UpdateGameSession for usage and error information.
7801//
7802// Returned Error Codes:
7803//   * ErrCodeNotFoundException "NotFoundException"
7804//   A service resource associated with the request could not be found. Clients
7805//   should not retry such requests.
7806//
7807//   * ErrCodeConflictException "ConflictException"
7808//   The requested operation would cause a conflict with the current state of
7809//   a service resource associated with the request. Resolve the conflict before
7810//   retrying this request.
7811//
7812//   * ErrCodeInternalServiceException "InternalServiceException"
7813//   The service encountered an unrecoverable internal failure while processing
7814//   the request. Clients can retry such requests immediately or after a waiting
7815//   period.
7816//
7817//   * ErrCodeUnauthorizedException "UnauthorizedException"
7818//   The client failed authentication. Clients should not retry such requests.
7819//
7820//   * ErrCodeInvalidGameSessionStatusException "InvalidGameSessionStatusException"
7821//   The requested operation would cause a conflict with the current state of
7822//   a resource associated with the request and/or the game instance. Resolve
7823//   the conflict before retrying.
7824//
7825//   * ErrCodeInvalidRequestException "InvalidRequestException"
7826//   One or more parameter values in the request are invalid. Correct the invalid
7827//   parameter values before retrying.
7828//
7829// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
7830func (c *GameLift) UpdateGameSession(input *UpdateGameSessionInput) (*UpdateGameSessionOutput, error) {
7831	req, out := c.UpdateGameSessionRequest(input)
7832	return out, req.Send()
7833}
7834
7835// UpdateGameSessionWithContext is the same as UpdateGameSession with the addition of
7836// the ability to pass a context and additional request options.
7837//
7838// See UpdateGameSession for details on how to use this API operation.
7839//
7840// The context must be non-nil and will be used for request cancellation. If
7841// the context is nil a panic will occur. In the future the SDK may create
7842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7843// for more information on using Contexts.
7844func (c *GameLift) UpdateGameSessionWithContext(ctx aws.Context, input *UpdateGameSessionInput, opts ...request.Option) (*UpdateGameSessionOutput, error) {
7845	req, out := c.UpdateGameSessionRequest(input)
7846	req.SetContext(ctx)
7847	req.ApplyOptions(opts...)
7848	return out, req.Send()
7849}
7850
7851const opUpdateGameSessionQueue = "UpdateGameSessionQueue"
7852
7853// UpdateGameSessionQueueRequest generates a "aws/request.Request" representing the
7854// client's request for the UpdateGameSessionQueue operation. The "output" return
7855// value will be populated with the request's response once the request completes
7856// successfuly.
7857//
7858// Use "Send" method on the returned Request to send the API call to the service.
7859// the "output" return value is not valid until after Send returns without error.
7860//
7861// See UpdateGameSessionQueue for more information on using the UpdateGameSessionQueue
7862// API call, and error handling.
7863//
7864// This method is useful when you want to inject custom logic or configuration
7865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7866//
7867//
7868//    // Example sending a request using the UpdateGameSessionQueueRequest method.
7869//    req, resp := client.UpdateGameSessionQueueRequest(params)
7870//
7871//    err := req.Send()
7872//    if err == nil { // resp is now filled
7873//        fmt.Println(resp)
7874//    }
7875//
7876// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
7877func (c *GameLift) UpdateGameSessionQueueRequest(input *UpdateGameSessionQueueInput) (req *request.Request, output *UpdateGameSessionQueueOutput) {
7878	op := &request.Operation{
7879		Name:       opUpdateGameSessionQueue,
7880		HTTPMethod: "POST",
7881		HTTPPath:   "/",
7882	}
7883
7884	if input == nil {
7885		input = &UpdateGameSessionQueueInput{}
7886	}
7887
7888	output = &UpdateGameSessionQueueOutput{}
7889	req = c.newRequest(op, input, output)
7890	return
7891}
7892
7893// UpdateGameSessionQueue API operation for Amazon GameLift.
7894//
7895// Updates settings for a game session queue, which determines how new game
7896// session requests in the queue are processed. To update settings, specify
7897// the queue name to be updated and provide the new settings. When updating
7898// destinations, provide a complete list of destinations.
7899//
7900// Queue-related operations include:
7901//
7902//    * CreateGameSessionQueue
7903//
7904//    * DescribeGameSessionQueues
7905//
7906//    * UpdateGameSessionQueue
7907//
7908//    * DeleteGameSessionQueue
7909//
7910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7911// with awserr.Error's Code and Message methods to get detailed information about
7912// the error.
7913//
7914// See the AWS API reference guide for Amazon GameLift's
7915// API operation UpdateGameSessionQueue for usage and error information.
7916//
7917// Returned Error Codes:
7918//   * ErrCodeInternalServiceException "InternalServiceException"
7919//   The service encountered an unrecoverable internal failure while processing
7920//   the request. Clients can retry such requests immediately or after a waiting
7921//   period.
7922//
7923//   * ErrCodeInvalidRequestException "InvalidRequestException"
7924//   One or more parameter values in the request are invalid. Correct the invalid
7925//   parameter values before retrying.
7926//
7927//   * ErrCodeNotFoundException "NotFoundException"
7928//   A service resource associated with the request could not be found. Clients
7929//   should not retry such requests.
7930//
7931//   * ErrCodeUnauthorizedException "UnauthorizedException"
7932//   The client failed authentication. Clients should not retry such requests.
7933//
7934// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
7935func (c *GameLift) UpdateGameSessionQueue(input *UpdateGameSessionQueueInput) (*UpdateGameSessionQueueOutput, error) {
7936	req, out := c.UpdateGameSessionQueueRequest(input)
7937	return out, req.Send()
7938}
7939
7940// UpdateGameSessionQueueWithContext is the same as UpdateGameSessionQueue with the addition of
7941// the ability to pass a context and additional request options.
7942//
7943// See UpdateGameSessionQueue for details on how to use this API operation.
7944//
7945// The context must be non-nil and will be used for request cancellation. If
7946// the context is nil a panic will occur. In the future the SDK may create
7947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7948// for more information on using Contexts.
7949func (c *GameLift) UpdateGameSessionQueueWithContext(ctx aws.Context, input *UpdateGameSessionQueueInput, opts ...request.Option) (*UpdateGameSessionQueueOutput, error) {
7950	req, out := c.UpdateGameSessionQueueRequest(input)
7951	req.SetContext(ctx)
7952	req.ApplyOptions(opts...)
7953	return out, req.Send()
7954}
7955
7956const opUpdateMatchmakingConfiguration = "UpdateMatchmakingConfiguration"
7957
7958// UpdateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
7959// client's request for the UpdateMatchmakingConfiguration operation. The "output" return
7960// value will be populated with the request's response once the request completes
7961// successfuly.
7962//
7963// Use "Send" method on the returned Request to send the API call to the service.
7964// the "output" return value is not valid until after Send returns without error.
7965//
7966// See UpdateMatchmakingConfiguration for more information on using the UpdateMatchmakingConfiguration
7967// API call, and error handling.
7968//
7969// This method is useful when you want to inject custom logic or configuration
7970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7971//
7972//
7973//    // Example sending a request using the UpdateMatchmakingConfigurationRequest method.
7974//    req, resp := client.UpdateMatchmakingConfigurationRequest(params)
7975//
7976//    err := req.Send()
7977//    if err == nil { // resp is now filled
7978//        fmt.Println(resp)
7979//    }
7980//
7981// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
7982func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakingConfigurationInput) (req *request.Request, output *UpdateMatchmakingConfigurationOutput) {
7983	op := &request.Operation{
7984		Name:       opUpdateMatchmakingConfiguration,
7985		HTTPMethod: "POST",
7986		HTTPPath:   "/",
7987	}
7988
7989	if input == nil {
7990		input = &UpdateMatchmakingConfigurationInput{}
7991	}
7992
7993	output = &UpdateMatchmakingConfigurationOutput{}
7994	req = c.newRequest(op, input, output)
7995	return
7996}
7997
7998// UpdateMatchmakingConfiguration API operation for Amazon GameLift.
7999//
8000// Updates settings for a FlexMatch matchmaking configuration. To update settings,
8001// specify the configuration name to be updated and provide the new settings.
8002//
8003// Operations related to match configurations and rule sets include:
8004//
8005//    * CreateMatchmakingConfiguration
8006//
8007//    * DescribeMatchmakingConfigurations
8008//
8009//    * UpdateMatchmakingConfiguration
8010//
8011//    * DeleteMatchmakingConfiguration
8012//
8013//    * CreateMatchmakingRuleSet
8014//
8015//    * DescribeMatchmakingRuleSets
8016//
8017//    * ValidateMatchmakingRuleSet
8018//
8019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8020// with awserr.Error's Code and Message methods to get detailed information about
8021// the error.
8022//
8023// See the AWS API reference guide for Amazon GameLift's
8024// API operation UpdateMatchmakingConfiguration for usage and error information.
8025//
8026// Returned Error Codes:
8027//   * ErrCodeInvalidRequestException "InvalidRequestException"
8028//   One or more parameter values in the request are invalid. Correct the invalid
8029//   parameter values before retrying.
8030//
8031//   * ErrCodeNotFoundException "NotFoundException"
8032//   A service resource associated with the request could not be found. Clients
8033//   should not retry such requests.
8034//
8035//   * ErrCodeInternalServiceException "InternalServiceException"
8036//   The service encountered an unrecoverable internal failure while processing
8037//   the request. Clients can retry such requests immediately or after a waiting
8038//   period.
8039//
8040//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
8041//   The requested operation is not supported in the region specified.
8042//
8043// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
8044func (c *GameLift) UpdateMatchmakingConfiguration(input *UpdateMatchmakingConfigurationInput) (*UpdateMatchmakingConfigurationOutput, error) {
8045	req, out := c.UpdateMatchmakingConfigurationRequest(input)
8046	return out, req.Send()
8047}
8048
8049// UpdateMatchmakingConfigurationWithContext is the same as UpdateMatchmakingConfiguration with the addition of
8050// the ability to pass a context and additional request options.
8051//
8052// See UpdateMatchmakingConfiguration for details on how to use this API operation.
8053//
8054// The context must be non-nil and will be used for request cancellation. If
8055// the context is nil a panic will occur. In the future the SDK may create
8056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8057// for more information on using Contexts.
8058func (c *GameLift) UpdateMatchmakingConfigurationWithContext(ctx aws.Context, input *UpdateMatchmakingConfigurationInput, opts ...request.Option) (*UpdateMatchmakingConfigurationOutput, error) {
8059	req, out := c.UpdateMatchmakingConfigurationRequest(input)
8060	req.SetContext(ctx)
8061	req.ApplyOptions(opts...)
8062	return out, req.Send()
8063}
8064
8065const opUpdateRuntimeConfiguration = "UpdateRuntimeConfiguration"
8066
8067// UpdateRuntimeConfigurationRequest generates a "aws/request.Request" representing the
8068// client's request for the UpdateRuntimeConfiguration operation. The "output" return
8069// value will be populated with the request's response once the request completes
8070// successfuly.
8071//
8072// Use "Send" method on the returned Request to send the API call to the service.
8073// the "output" return value is not valid until after Send returns without error.
8074//
8075// See UpdateRuntimeConfiguration for more information on using the UpdateRuntimeConfiguration
8076// API call, and error handling.
8077//
8078// This method is useful when you want to inject custom logic or configuration
8079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8080//
8081//
8082//    // Example sending a request using the UpdateRuntimeConfigurationRequest method.
8083//    req, resp := client.UpdateRuntimeConfigurationRequest(params)
8084//
8085//    err := req.Send()
8086//    if err == nil { // resp is now filled
8087//        fmt.Println(resp)
8088//    }
8089//
8090// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
8091func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigurationInput) (req *request.Request, output *UpdateRuntimeConfigurationOutput) {
8092	op := &request.Operation{
8093		Name:       opUpdateRuntimeConfiguration,
8094		HTTPMethod: "POST",
8095		HTTPPath:   "/",
8096	}
8097
8098	if input == nil {
8099		input = &UpdateRuntimeConfigurationInput{}
8100	}
8101
8102	output = &UpdateRuntimeConfigurationOutput{}
8103	req = c.newRequest(op, input, output)
8104	return
8105}
8106
8107// UpdateRuntimeConfiguration API operation for Amazon GameLift.
8108//
8109// Updates the current run-time configuration for the specified fleet, which
8110// tells Amazon GameLift how to launch server processes on instances in the
8111// fleet. You can update a fleet's run-time configuration at any time after
8112// the fleet is created; it does not need to be in an ACTIVE status.
8113//
8114// To update run-time configuration, specify the fleet ID and provide a RuntimeConfiguration
8115// object with the updated collection of server process configurations.
8116//
8117// Each instance in a Amazon GameLift fleet checks regularly for an updated
8118// run-time configuration and changes how it launches server processes to comply
8119// with the latest version. Existing server processes are not affected by the
8120// update; they continue to run until they end, while Amazon GameLift simply
8121// adds new server processes to fit the current run-time configuration. As a
8122// result, the run-time configuration changes are applied gradually as existing
8123// processes shut down and new processes are launched in Amazon GameLift's normal
8124// process recycling activity.
8125//
8126// Fleet-related operations include:
8127//
8128//    * CreateFleet
8129//
8130//    * ListFleets
8131//
8132//    * Describe fleets:
8133//
8134// DescribeFleetAttributes
8135//
8136// DescribeFleetPortSettings
8137//
8138// DescribeFleetUtilization
8139//
8140// DescribeRuntimeConfiguration
8141//
8142// DescribeFleetEvents
8143//
8144//    * Update fleets:
8145//
8146// UpdateFleetAttributes
8147//
8148// UpdateFleetCapacity
8149//
8150// UpdateFleetPortSettings
8151//
8152// UpdateRuntimeConfiguration
8153//
8154//    * Manage fleet capacity:
8155//
8156// DescribeFleetCapacity
8157//
8158// UpdateFleetCapacity
8159//
8160// PutScalingPolicy (automatic scaling)
8161//
8162// DescribeScalingPolicies (automatic scaling)
8163//
8164// DeleteScalingPolicy (automatic scaling)
8165//
8166// DescribeEC2InstanceLimits
8167//
8168//    * DeleteFleet
8169//
8170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8171// with awserr.Error's Code and Message methods to get detailed information about
8172// the error.
8173//
8174// See the AWS API reference guide for Amazon GameLift's
8175// API operation UpdateRuntimeConfiguration for usage and error information.
8176//
8177// Returned Error Codes:
8178//   * ErrCodeUnauthorizedException "UnauthorizedException"
8179//   The client failed authentication. Clients should not retry such requests.
8180//
8181//   * ErrCodeNotFoundException "NotFoundException"
8182//   A service resource associated with the request could not be found. Clients
8183//   should not retry such requests.
8184//
8185//   * ErrCodeInternalServiceException "InternalServiceException"
8186//   The service encountered an unrecoverable internal failure while processing
8187//   the request. Clients can retry such requests immediately or after a waiting
8188//   period.
8189//
8190//   * ErrCodeInvalidRequestException "InvalidRequestException"
8191//   One or more parameter values in the request are invalid. Correct the invalid
8192//   parameter values before retrying.
8193//
8194//   * ErrCodeInvalidFleetStatusException "InvalidFleetStatusException"
8195//   The requested operation would cause a conflict with the current state of
8196//   a resource associated with the request and/or the fleet. Resolve the conflict
8197//   before retrying.
8198//
8199// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
8200func (c *GameLift) UpdateRuntimeConfiguration(input *UpdateRuntimeConfigurationInput) (*UpdateRuntimeConfigurationOutput, error) {
8201	req, out := c.UpdateRuntimeConfigurationRequest(input)
8202	return out, req.Send()
8203}
8204
8205// UpdateRuntimeConfigurationWithContext is the same as UpdateRuntimeConfiguration with the addition of
8206// the ability to pass a context and additional request options.
8207//
8208// See UpdateRuntimeConfiguration for details on how to use this API operation.
8209//
8210// The context must be non-nil and will be used for request cancellation. If
8211// the context is nil a panic will occur. In the future the SDK may create
8212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8213// for more information on using Contexts.
8214func (c *GameLift) UpdateRuntimeConfigurationWithContext(ctx aws.Context, input *UpdateRuntimeConfigurationInput, opts ...request.Option) (*UpdateRuntimeConfigurationOutput, error) {
8215	req, out := c.UpdateRuntimeConfigurationRequest(input)
8216	req.SetContext(ctx)
8217	req.ApplyOptions(opts...)
8218	return out, req.Send()
8219}
8220
8221const opValidateMatchmakingRuleSet = "ValidateMatchmakingRuleSet"
8222
8223// ValidateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
8224// client's request for the ValidateMatchmakingRuleSet operation. The "output" return
8225// value will be populated with the request's response once the request completes
8226// successfuly.
8227//
8228// Use "Send" method on the returned Request to send the API call to the service.
8229// the "output" return value is not valid until after Send returns without error.
8230//
8231// See ValidateMatchmakingRuleSet for more information on using the ValidateMatchmakingRuleSet
8232// API call, and error handling.
8233//
8234// This method is useful when you want to inject custom logic or configuration
8235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8236//
8237//
8238//    // Example sending a request using the ValidateMatchmakingRuleSetRequest method.
8239//    req, resp := client.ValidateMatchmakingRuleSetRequest(params)
8240//
8241//    err := req.Send()
8242//    if err == nil { // resp is now filled
8243//        fmt.Println(resp)
8244//    }
8245//
8246// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
8247func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingRuleSetInput) (req *request.Request, output *ValidateMatchmakingRuleSetOutput) {
8248	op := &request.Operation{
8249		Name:       opValidateMatchmakingRuleSet,
8250		HTTPMethod: "POST",
8251		HTTPPath:   "/",
8252	}
8253
8254	if input == nil {
8255		input = &ValidateMatchmakingRuleSetInput{}
8256	}
8257
8258	output = &ValidateMatchmakingRuleSetOutput{}
8259	req = c.newRequest(op, input, output)
8260	return
8261}
8262
8263// ValidateMatchmakingRuleSet API operation for Amazon GameLift.
8264//
8265// Validates the syntax of a matchmaking rule or rule set. This operation checks
8266// that the rule set uses syntactically correct JSON and that it conforms to
8267// allowed property expressions. To validate syntax, provide a rule set string.
8268//
8269// Operations related to match configurations and rule sets include:
8270//
8271//    * CreateMatchmakingConfiguration
8272//
8273//    * DescribeMatchmakingConfigurations
8274//
8275//    * UpdateMatchmakingConfiguration
8276//
8277//    * DeleteMatchmakingConfiguration
8278//
8279//    * CreateMatchmakingRuleSet
8280//
8281//    * DescribeMatchmakingRuleSets
8282//
8283//    * ValidateMatchmakingRuleSet
8284//
8285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8286// with awserr.Error's Code and Message methods to get detailed information about
8287// the error.
8288//
8289// See the AWS API reference guide for Amazon GameLift's
8290// API operation ValidateMatchmakingRuleSet for usage and error information.
8291//
8292// Returned Error Codes:
8293//   * ErrCodeInternalServiceException "InternalServiceException"
8294//   The service encountered an unrecoverable internal failure while processing
8295//   the request. Clients can retry such requests immediately or after a waiting
8296//   period.
8297//
8298//   * ErrCodeUnsupportedRegionException "UnsupportedRegionException"
8299//   The requested operation is not supported in the region specified.
8300//
8301//   * ErrCodeInvalidRequestException "InvalidRequestException"
8302//   One or more parameter values in the request are invalid. Correct the invalid
8303//   parameter values before retrying.
8304//
8305// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
8306func (c *GameLift) ValidateMatchmakingRuleSet(input *ValidateMatchmakingRuleSetInput) (*ValidateMatchmakingRuleSetOutput, error) {
8307	req, out := c.ValidateMatchmakingRuleSetRequest(input)
8308	return out, req.Send()
8309}
8310
8311// ValidateMatchmakingRuleSetWithContext is the same as ValidateMatchmakingRuleSet with the addition of
8312// the ability to pass a context and additional request options.
8313//
8314// See ValidateMatchmakingRuleSet for details on how to use this API operation.
8315//
8316// The context must be non-nil and will be used for request cancellation. If
8317// the context is nil a panic will occur. In the future the SDK may create
8318// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8319// for more information on using Contexts.
8320func (c *GameLift) ValidateMatchmakingRuleSetWithContext(ctx aws.Context, input *ValidateMatchmakingRuleSetInput, opts ...request.Option) (*ValidateMatchmakingRuleSetOutput, error) {
8321	req, out := c.ValidateMatchmakingRuleSetRequest(input)
8322	req.SetContext(ctx)
8323	req.ApplyOptions(opts...)
8324	return out, req.Send()
8325}
8326
8327// Represents the input for a request action.
8328type AcceptMatchInput struct {
8329	_ struct{} `type:"structure"`
8330
8331	// Player response to the proposed match.
8332	//
8333	// AcceptanceType is a required field
8334	AcceptanceType *string `type:"string" required:"true" enum:"AcceptanceType"`
8335
8336	// Unique identifier for a player delivering the response. This parameter can
8337	// include one or multiple player IDs.
8338	//
8339	// PlayerIds is a required field
8340	PlayerIds []*string `type:"list" required:"true"`
8341
8342	// Unique identifier for a matchmaking ticket. The ticket must be in status
8343	// REQUIRES_ACCEPTANCE; otherwise this request will fail.
8344	//
8345	// TicketId is a required field
8346	TicketId *string `min:"1" type:"string" required:"true"`
8347}
8348
8349// String returns the string representation
8350func (s AcceptMatchInput) String() string {
8351	return awsutil.Prettify(s)
8352}
8353
8354// GoString returns the string representation
8355func (s AcceptMatchInput) GoString() string {
8356	return s.String()
8357}
8358
8359// Validate inspects the fields of the type to determine if they are valid.
8360func (s *AcceptMatchInput) Validate() error {
8361	invalidParams := request.ErrInvalidParams{Context: "AcceptMatchInput"}
8362	if s.AcceptanceType == nil {
8363		invalidParams.Add(request.NewErrParamRequired("AcceptanceType"))
8364	}
8365	if s.PlayerIds == nil {
8366		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
8367	}
8368	if s.TicketId == nil {
8369		invalidParams.Add(request.NewErrParamRequired("TicketId"))
8370	}
8371	if s.TicketId != nil && len(*s.TicketId) < 1 {
8372		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
8373	}
8374
8375	if invalidParams.Len() > 0 {
8376		return invalidParams
8377	}
8378	return nil
8379}
8380
8381// SetAcceptanceType sets the AcceptanceType field's value.
8382func (s *AcceptMatchInput) SetAcceptanceType(v string) *AcceptMatchInput {
8383	s.AcceptanceType = &v
8384	return s
8385}
8386
8387// SetPlayerIds sets the PlayerIds field's value.
8388func (s *AcceptMatchInput) SetPlayerIds(v []*string) *AcceptMatchInput {
8389	s.PlayerIds = v
8390	return s
8391}
8392
8393// SetTicketId sets the TicketId field's value.
8394func (s *AcceptMatchInput) SetTicketId(v string) *AcceptMatchInput {
8395	s.TicketId = &v
8396	return s
8397}
8398
8399type AcceptMatchOutput struct {
8400	_ struct{} `type:"structure"`
8401}
8402
8403// String returns the string representation
8404func (s AcceptMatchOutput) String() string {
8405	return awsutil.Prettify(s)
8406}
8407
8408// GoString returns the string representation
8409func (s AcceptMatchOutput) GoString() string {
8410	return s.String()
8411}
8412
8413// Properties describing a fleet alias.
8414//
8415// Alias-related operations include:
8416//
8417//    * CreateAlias
8418//
8419//    * ListAliases
8420//
8421//    * DescribeAlias
8422//
8423//    * UpdateAlias
8424//
8425//    * DeleteAlias
8426//
8427//    * ResolveAlias
8428type Alias struct {
8429	_ struct{} `type:"structure"`
8430
8431	// Unique identifier for an alias; alias ARNs are unique across all regions.
8432	AliasArn *string `min:"1" type:"string"`
8433
8434	// Unique identifier for an alias; alias IDs are unique within a region.
8435	AliasId *string `type:"string"`
8436
8437	// Time stamp indicating when this data object was created. Format is a number
8438	// expressed in Unix time as milliseconds (for example "1469498468.057").
8439	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
8440
8441	// Human-readable description of an alias.
8442	Description *string `type:"string"`
8443
8444	// Time stamp indicating when this data object was last modified. Format is
8445	// a number expressed in Unix time as milliseconds (for example "1469498468.057").
8446	LastUpdatedTime *time.Time `type:"timestamp" timestampFormat:"unix"`
8447
8448	// Descriptive label that is associated with an alias. Alias names do not need
8449	// to be unique.
8450	Name *string `min:"1" type:"string"`
8451
8452	// Alias configuration for the alias, including routing type and settings.
8453	RoutingStrategy *RoutingStrategy `type:"structure"`
8454}
8455
8456// String returns the string representation
8457func (s Alias) String() string {
8458	return awsutil.Prettify(s)
8459}
8460
8461// GoString returns the string representation
8462func (s Alias) GoString() string {
8463	return s.String()
8464}
8465
8466// SetAliasArn sets the AliasArn field's value.
8467func (s *Alias) SetAliasArn(v string) *Alias {
8468	s.AliasArn = &v
8469	return s
8470}
8471
8472// SetAliasId sets the AliasId field's value.
8473func (s *Alias) SetAliasId(v string) *Alias {
8474	s.AliasId = &v
8475	return s
8476}
8477
8478// SetCreationTime sets the CreationTime field's value.
8479func (s *Alias) SetCreationTime(v time.Time) *Alias {
8480	s.CreationTime = &v
8481	return s
8482}
8483
8484// SetDescription sets the Description field's value.
8485func (s *Alias) SetDescription(v string) *Alias {
8486	s.Description = &v
8487	return s
8488}
8489
8490// SetLastUpdatedTime sets the LastUpdatedTime field's value.
8491func (s *Alias) SetLastUpdatedTime(v time.Time) *Alias {
8492	s.LastUpdatedTime = &v
8493	return s
8494}
8495
8496// SetName sets the Name field's value.
8497func (s *Alias) SetName(v string) *Alias {
8498	s.Name = &v
8499	return s
8500}
8501
8502// SetRoutingStrategy sets the RoutingStrategy field's value.
8503func (s *Alias) SetRoutingStrategy(v *RoutingStrategy) *Alias {
8504	s.RoutingStrategy = v
8505	return s
8506}
8507
8508// Values for use in Player attribute key:value pairs. This object lets you
8509// specify an attribute value using any of the valid data types: string, number,
8510// string array or data map. Each AttributeValue object can use only one of
8511// the available properties.
8512type AttributeValue struct {
8513	_ struct{} `type:"structure"`
8514
8515	// For number values, expressed as double.
8516	N *float64 `type:"double"`
8517
8518	// For single string values. Maximum string length is 100 characters.
8519	S *string `min:"1" type:"string"`
8520
8521	// For a map of up to 10 data type:value pairs. Maximum length for each string
8522	// value is 100 characters.
8523	SDM map[string]*float64 `type:"map"`
8524
8525	// For a list of up to 10 strings. Maximum length for each string is 100 characters.
8526	// Duplicate values are not recognized; all occurrences of the repeated value
8527	// after the first of a repeated value are ignored.
8528	SL []*string `type:"list"`
8529}
8530
8531// String returns the string representation
8532func (s AttributeValue) String() string {
8533	return awsutil.Prettify(s)
8534}
8535
8536// GoString returns the string representation
8537func (s AttributeValue) GoString() string {
8538	return s.String()
8539}
8540
8541// Validate inspects the fields of the type to determine if they are valid.
8542func (s *AttributeValue) Validate() error {
8543	invalidParams := request.ErrInvalidParams{Context: "AttributeValue"}
8544	if s.S != nil && len(*s.S) < 1 {
8545		invalidParams.Add(request.NewErrParamMinLen("S", 1))
8546	}
8547
8548	if invalidParams.Len() > 0 {
8549		return invalidParams
8550	}
8551	return nil
8552}
8553
8554// SetN sets the N field's value.
8555func (s *AttributeValue) SetN(v float64) *AttributeValue {
8556	s.N = &v
8557	return s
8558}
8559
8560// SetS sets the S field's value.
8561func (s *AttributeValue) SetS(v string) *AttributeValue {
8562	s.S = &v
8563	return s
8564}
8565
8566// SetSDM sets the SDM field's value.
8567func (s *AttributeValue) SetSDM(v map[string]*float64) *AttributeValue {
8568	s.SDM = v
8569	return s
8570}
8571
8572// SetSL sets the SL field's value.
8573func (s *AttributeValue) SetSL(v []*string) *AttributeValue {
8574	s.SL = v
8575	return s
8576}
8577
8578// Temporary access credentials used for uploading game build files to Amazon
8579// GameLift. They are valid for a limited time. If they expire before you upload
8580// your game build, get a new set by calling RequestUploadCredentials.
8581type AwsCredentials struct {
8582	_ struct{} `type:"structure"`
8583
8584	// Temporary key allowing access to the Amazon GameLift S3 account.
8585	AccessKeyId *string `min:"1" type:"string"`
8586
8587	// Temporary secret key allowing access to the Amazon GameLift S3 account.
8588	SecretAccessKey *string `min:"1" type:"string"`
8589
8590	// Token used to associate a specific build ID with the files uploaded using
8591	// these credentials.
8592	SessionToken *string `min:"1" type:"string"`
8593}
8594
8595// String returns the string representation
8596func (s AwsCredentials) String() string {
8597	return awsutil.Prettify(s)
8598}
8599
8600// GoString returns the string representation
8601func (s AwsCredentials) GoString() string {
8602	return s.String()
8603}
8604
8605// SetAccessKeyId sets the AccessKeyId field's value.
8606func (s *AwsCredentials) SetAccessKeyId(v string) *AwsCredentials {
8607	s.AccessKeyId = &v
8608	return s
8609}
8610
8611// SetSecretAccessKey sets the SecretAccessKey field's value.
8612func (s *AwsCredentials) SetSecretAccessKey(v string) *AwsCredentials {
8613	s.SecretAccessKey = &v
8614	return s
8615}
8616
8617// SetSessionToken sets the SessionToken field's value.
8618func (s *AwsCredentials) SetSessionToken(v string) *AwsCredentials {
8619	s.SessionToken = &v
8620	return s
8621}
8622
8623// Properties describing a game build.
8624//
8625// Build-related operations include:
8626//
8627//    * CreateBuild
8628//
8629//    * ListBuilds
8630//
8631//    * DescribeBuild
8632//
8633//    * UpdateBuild
8634//
8635//    * DeleteBuild
8636type Build struct {
8637	_ struct{} `type:"structure"`
8638
8639	// Unique identifier for a build.
8640	BuildId *string `type:"string"`
8641
8642	// Time stamp indicating when this data object was created. Format is a number
8643	// expressed in Unix time as milliseconds (for example "1469498468.057").
8644	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
8645
8646	// Descriptive label that is associated with a build. Build names do not need
8647	// to be unique. It can be set using CreateBuild or UpdateBuild.
8648	Name *string `type:"string"`
8649
8650	// Operating system that the game server binaries are built to run on. This
8651	// value determines the type of fleet resources that you can use for this build.
8652	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
8653
8654	// File size of the uploaded game build, expressed in bytes. When the build
8655	// status is INITIALIZED, this value is 0.
8656	SizeOnDisk *int64 `min:"1" type:"long"`
8657
8658	// Current status of the build.
8659	//
8660	// Possible build statuses include the following:
8661	//
8662	//    * INITIALIZED -- A new build has been defined, but no files have been
8663	//    uploaded. You cannot create fleets for builds that are in this status.
8664	//    When a build is successfully created, the build status is set to this
8665	//    value.
8666	//
8667	//    * READY -- The game build has been successfully uploaded. You can now
8668	//    create new fleets for this build.
8669	//
8670	//    * FAILED -- The game build upload failed. You cannot create new fleets
8671	//    for this build.
8672	Status *string `type:"string" enum:"BuildStatus"`
8673
8674	// Version that is associated with this build. Version strings do not need to
8675	// be unique. This value can be set using CreateBuild or UpdateBuild.
8676	Version *string `type:"string"`
8677}
8678
8679// String returns the string representation
8680func (s Build) String() string {
8681	return awsutil.Prettify(s)
8682}
8683
8684// GoString returns the string representation
8685func (s Build) GoString() string {
8686	return s.String()
8687}
8688
8689// SetBuildId sets the BuildId field's value.
8690func (s *Build) SetBuildId(v string) *Build {
8691	s.BuildId = &v
8692	return s
8693}
8694
8695// SetCreationTime sets the CreationTime field's value.
8696func (s *Build) SetCreationTime(v time.Time) *Build {
8697	s.CreationTime = &v
8698	return s
8699}
8700
8701// SetName sets the Name field's value.
8702func (s *Build) SetName(v string) *Build {
8703	s.Name = &v
8704	return s
8705}
8706
8707// SetOperatingSystem sets the OperatingSystem field's value.
8708func (s *Build) SetOperatingSystem(v string) *Build {
8709	s.OperatingSystem = &v
8710	return s
8711}
8712
8713// SetSizeOnDisk sets the SizeOnDisk field's value.
8714func (s *Build) SetSizeOnDisk(v int64) *Build {
8715	s.SizeOnDisk = &v
8716	return s
8717}
8718
8719// SetStatus sets the Status field's value.
8720func (s *Build) SetStatus(v string) *Build {
8721	s.Status = &v
8722	return s
8723}
8724
8725// SetVersion sets the Version field's value.
8726func (s *Build) SetVersion(v string) *Build {
8727	s.Version = &v
8728	return s
8729}
8730
8731// Represents the input for a request action.
8732type CreateAliasInput struct {
8733	_ struct{} `type:"structure"`
8734
8735	// Human-readable description of an alias.
8736	Description *string `min:"1" type:"string"`
8737
8738	// Descriptive label that is associated with an alias. Alias names do not need
8739	// to be unique.
8740	//
8741	// Name is a required field
8742	Name *string `min:"1" type:"string" required:"true"`
8743
8744	// Object that specifies the fleet and routing type to use for the alias.
8745	//
8746	// RoutingStrategy is a required field
8747	RoutingStrategy *RoutingStrategy `type:"structure" required:"true"`
8748}
8749
8750// String returns the string representation
8751func (s CreateAliasInput) String() string {
8752	return awsutil.Prettify(s)
8753}
8754
8755// GoString returns the string representation
8756func (s CreateAliasInput) GoString() string {
8757	return s.String()
8758}
8759
8760// Validate inspects the fields of the type to determine if they are valid.
8761func (s *CreateAliasInput) Validate() error {
8762	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
8763	if s.Description != nil && len(*s.Description) < 1 {
8764		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
8765	}
8766	if s.Name == nil {
8767		invalidParams.Add(request.NewErrParamRequired("Name"))
8768	}
8769	if s.Name != nil && len(*s.Name) < 1 {
8770		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8771	}
8772	if s.RoutingStrategy == nil {
8773		invalidParams.Add(request.NewErrParamRequired("RoutingStrategy"))
8774	}
8775
8776	if invalidParams.Len() > 0 {
8777		return invalidParams
8778	}
8779	return nil
8780}
8781
8782// SetDescription sets the Description field's value.
8783func (s *CreateAliasInput) SetDescription(v string) *CreateAliasInput {
8784	s.Description = &v
8785	return s
8786}
8787
8788// SetName sets the Name field's value.
8789func (s *CreateAliasInput) SetName(v string) *CreateAliasInput {
8790	s.Name = &v
8791	return s
8792}
8793
8794// SetRoutingStrategy sets the RoutingStrategy field's value.
8795func (s *CreateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *CreateAliasInput {
8796	s.RoutingStrategy = v
8797	return s
8798}
8799
8800// Represents the returned data in response to a request action.
8801type CreateAliasOutput struct {
8802	_ struct{} `type:"structure"`
8803
8804	// Object that describes the newly created alias record.
8805	Alias *Alias `type:"structure"`
8806}
8807
8808// String returns the string representation
8809func (s CreateAliasOutput) String() string {
8810	return awsutil.Prettify(s)
8811}
8812
8813// GoString returns the string representation
8814func (s CreateAliasOutput) GoString() string {
8815	return s.String()
8816}
8817
8818// SetAlias sets the Alias field's value.
8819func (s *CreateAliasOutput) SetAlias(v *Alias) *CreateAliasOutput {
8820	s.Alias = v
8821	return s
8822}
8823
8824// Represents the input for a request action.
8825type CreateBuildInput struct {
8826	_ struct{} `type:"structure"`
8827
8828	// Descriptive label that is associated with a build. Build names do not need
8829	// to be unique. You can use UpdateBuild to change this value later.
8830	Name *string `min:"1" type:"string"`
8831
8832	// Operating system that the game server binaries are built to run on. This
8833	// value determines the type of fleet resources that you can use for this build.
8834	// If your game build contains multiple executables, they all must run on the
8835	// same operating system. If an operating system is not specified when creating
8836	// a build, Amazon GameLift uses the default value (WINDOWS_2012). This value
8837	// cannot be changed later.
8838	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
8839
8840	// Information indicating where your game build files are stored. Use this parameter
8841	// only when creating a build with files stored in an Amazon S3 bucket that
8842	// you own. The storage location must specify an Amazon S3 bucket name and key,
8843	// as well as a role ARN that you set up to allow Amazon GameLift to access
8844	// your Amazon S3 bucket. The S3 bucket must be in the same region that you
8845	// want to create a new build in.
8846	StorageLocation *S3Location `type:"structure"`
8847
8848	// Version that is associated with this build. Version strings do not need to
8849	// be unique. You can use UpdateBuild to change this value later.
8850	Version *string `min:"1" type:"string"`
8851}
8852
8853// String returns the string representation
8854func (s CreateBuildInput) String() string {
8855	return awsutil.Prettify(s)
8856}
8857
8858// GoString returns the string representation
8859func (s CreateBuildInput) GoString() string {
8860	return s.String()
8861}
8862
8863// Validate inspects the fields of the type to determine if they are valid.
8864func (s *CreateBuildInput) Validate() error {
8865	invalidParams := request.ErrInvalidParams{Context: "CreateBuildInput"}
8866	if s.Name != nil && len(*s.Name) < 1 {
8867		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8868	}
8869	if s.Version != nil && len(*s.Version) < 1 {
8870		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
8871	}
8872	if s.StorageLocation != nil {
8873		if err := s.StorageLocation.Validate(); err != nil {
8874			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
8875		}
8876	}
8877
8878	if invalidParams.Len() > 0 {
8879		return invalidParams
8880	}
8881	return nil
8882}
8883
8884// SetName sets the Name field's value.
8885func (s *CreateBuildInput) SetName(v string) *CreateBuildInput {
8886	s.Name = &v
8887	return s
8888}
8889
8890// SetOperatingSystem sets the OperatingSystem field's value.
8891func (s *CreateBuildInput) SetOperatingSystem(v string) *CreateBuildInput {
8892	s.OperatingSystem = &v
8893	return s
8894}
8895
8896// SetStorageLocation sets the StorageLocation field's value.
8897func (s *CreateBuildInput) SetStorageLocation(v *S3Location) *CreateBuildInput {
8898	s.StorageLocation = v
8899	return s
8900}
8901
8902// SetVersion sets the Version field's value.
8903func (s *CreateBuildInput) SetVersion(v string) *CreateBuildInput {
8904	s.Version = &v
8905	return s
8906}
8907
8908// Represents the returned data in response to a request action.
8909type CreateBuildOutput struct {
8910	_ struct{} `type:"structure"`
8911
8912	// The newly created build record, including a unique build ID and status.
8913	Build *Build `type:"structure"`
8914
8915	// Amazon S3 location for your game build file, including bucket name and key.
8916	StorageLocation *S3Location `type:"structure"`
8917
8918	// This element is returned only when the operation is called without a storage
8919	// location. It contains credentials to use when you are uploading a build file
8920	// to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have
8921	// a limited life span. To refresh these credentials, call RequestUploadCredentials.
8922	UploadCredentials *AwsCredentials `type:"structure"`
8923}
8924
8925// String returns the string representation
8926func (s CreateBuildOutput) String() string {
8927	return awsutil.Prettify(s)
8928}
8929
8930// GoString returns the string representation
8931func (s CreateBuildOutput) GoString() string {
8932	return s.String()
8933}
8934
8935// SetBuild sets the Build field's value.
8936func (s *CreateBuildOutput) SetBuild(v *Build) *CreateBuildOutput {
8937	s.Build = v
8938	return s
8939}
8940
8941// SetStorageLocation sets the StorageLocation field's value.
8942func (s *CreateBuildOutput) SetStorageLocation(v *S3Location) *CreateBuildOutput {
8943	s.StorageLocation = v
8944	return s
8945}
8946
8947// SetUploadCredentials sets the UploadCredentials field's value.
8948func (s *CreateBuildOutput) SetUploadCredentials(v *AwsCredentials) *CreateBuildOutput {
8949	s.UploadCredentials = v
8950	return s
8951}
8952
8953// Represents the input for a request action.
8954type CreateFleetInput struct {
8955	_ struct{} `type:"structure"`
8956
8957	// Unique identifier for a build to be deployed on the new fleet. The build
8958	// must have been successfully uploaded to Amazon GameLift and be in a READY
8959	// status. This fleet setting cannot be changed once the fleet is created.
8960	//
8961	// BuildId is a required field
8962	BuildId *string `type:"string" required:"true"`
8963
8964	// Human-readable description of a fleet.
8965	Description *string `min:"1" type:"string"`
8966
8967	// Range of IP addresses and port settings that permit inbound traffic to access
8968	// server processes running on the fleet. If no inbound permissions are set,
8969	// including both IP address range and port range, the server processes in the
8970	// fleet cannot accept connections. You can specify one or more sets of permissions
8971	// for a fleet.
8972	EC2InboundPermissions []*IpPermission `type:"list"`
8973
8974	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
8975	// instance type determines the computing resources of each instance in the
8976	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
8977	// supports the following EC2 instance types. See Amazon EC2 Instance Types
8978	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
8979	//
8980	// EC2InstanceType is a required field
8981	EC2InstanceType *string `type:"string" required:"true" enum:"EC2InstanceType"`
8982
8983	// Indicates whether to use on-demand instances or spot instances for this fleet.
8984	// If empty, the default is ON_DEMAND. Both categories of instances use identical
8985	// hardware and configurations, based on the instance type selected for this
8986	// fleet. You can acquire on-demand instances at any time for a fixed price
8987	// and keep them as long as you need them. Spot instances have lower prices,
8988	// but spot pricing is variable, and while in use they can be interrupted (with
8989	// a two-minute notification). Learn more about Amazon GameLift spot instances
8990	// with at  Choose Computing Resources (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html).
8991	FleetType *string `type:"string" enum:"FleetType"`
8992
8993	// This parameter is no longer used. Instead, to specify where Amazon GameLift
8994	// should store log files once a server process shuts down, use the Amazon GameLift
8995	// server API ProcessReady() and specify one or more directory paths in logParameters.
8996	// 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).
8997	LogPaths []*string `type:"list"`
8998
8999	// Name of a metric group to add this fleet to. A metric group tracks metrics
9000	// across all fleets in the group. Use an existing metric group name to add
9001	// this fleet to the group, or use a new name to create a new metric group.
9002	// A fleet can only be included in one metric group at a time.
9003	MetricGroups []*string `type:"list"`
9004
9005	// Descriptive label that is associated with a fleet. Fleet names do not need
9006	// to be unique.
9007	//
9008	// Name is a required field
9009	Name *string `min:"1" type:"string" required:"true"`
9010
9011	// Game session protection policy to apply to all instances in this fleet. If
9012	// this parameter is not set, instances in this fleet default to no protection.
9013	// You can change a fleet's protection policy using UpdateFleetAttributes, but
9014	// this change will only affect sessions created after the policy change. You
9015	// can also set protection for individual instances using UpdateGameSession.
9016	//
9017	//    * NoProtection -- The game session can be terminated during a scale-down
9018	//    event.
9019	//
9020	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
9021	//    be terminated during a scale-down event.
9022	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
9023
9024	// Unique identifier for the AWS account with the VPC that you want to peer
9025	// your Amazon GameLift fleet with. You can find your Account ID in the AWS
9026	// Management Console under account settings.
9027	PeerVpcAwsAccountId *string `min:"1" type:"string"`
9028
9029	// Unique identifier for a VPC with resources to be accessed by your Amazon
9030	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
9031	// To get VPC information, including IDs, use the Virtual Private Cloud service
9032	// tools, including the VPC Dashboard in the AWS Management Console.
9033	PeerVpcId *string `min:"1" type:"string"`
9034
9035	// Policy that limits the number of game sessions an individual player can create
9036	// over a span of time for this fleet.
9037	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
9038
9039	// Instructions for launching server processes on each instance in the fleet.
9040	// The run-time configuration for a fleet has a collection of server process
9041	// configurations, one for each type of server process to run on an instance.
9042	// A server process configuration specifies the location of the server executable,
9043	// launch parameters, and the number of concurrent processes with that configuration
9044	// to maintain on each instance. A CreateFleet request must include a run-time
9045	// configuration with at least one server process configuration; otherwise the
9046	// request fails with an invalid request exception. (This parameter replaces
9047	// the parameters ServerLaunchPath and ServerLaunchParameters; requests that
9048	// contain values for these parameters instead of a run-time configuration will
9049	// continue to work.)
9050	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
9051
9052	// This parameter is no longer used. Instead, specify server launch parameters
9053	// in the RuntimeConfiguration parameter. (Requests that specify a server launch
9054	// path and launch parameters instead of a run-time configuration will continue
9055	// to work.)
9056	ServerLaunchParameters *string `min:"1" type:"string"`
9057
9058	// This parameter is no longer used. Instead, specify a server launch path using
9059	// the RuntimeConfiguration parameter. (Requests that specify a server launch
9060	// path and launch parameters instead of a run-time configuration will continue
9061	// to work.)
9062	ServerLaunchPath *string `min:"1" type:"string"`
9063}
9064
9065// String returns the string representation
9066func (s CreateFleetInput) String() string {
9067	return awsutil.Prettify(s)
9068}
9069
9070// GoString returns the string representation
9071func (s CreateFleetInput) GoString() string {
9072	return s.String()
9073}
9074
9075// Validate inspects the fields of the type to determine if they are valid.
9076func (s *CreateFleetInput) Validate() error {
9077	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
9078	if s.BuildId == nil {
9079		invalidParams.Add(request.NewErrParamRequired("BuildId"))
9080	}
9081	if s.Description != nil && len(*s.Description) < 1 {
9082		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9083	}
9084	if s.EC2InstanceType == nil {
9085		invalidParams.Add(request.NewErrParamRequired("EC2InstanceType"))
9086	}
9087	if s.Name == nil {
9088		invalidParams.Add(request.NewErrParamRequired("Name"))
9089	}
9090	if s.Name != nil && len(*s.Name) < 1 {
9091		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9092	}
9093	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
9094		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
9095	}
9096	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
9097		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
9098	}
9099	if s.ServerLaunchParameters != nil && len(*s.ServerLaunchParameters) < 1 {
9100		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchParameters", 1))
9101	}
9102	if s.ServerLaunchPath != nil && len(*s.ServerLaunchPath) < 1 {
9103		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchPath", 1))
9104	}
9105	if s.EC2InboundPermissions != nil {
9106		for i, v := range s.EC2InboundPermissions {
9107			if v == nil {
9108				continue
9109			}
9110			if err := v.Validate(); err != nil {
9111				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EC2InboundPermissions", i), err.(request.ErrInvalidParams))
9112			}
9113		}
9114	}
9115	if s.RuntimeConfiguration != nil {
9116		if err := s.RuntimeConfiguration.Validate(); err != nil {
9117			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
9118		}
9119	}
9120
9121	if invalidParams.Len() > 0 {
9122		return invalidParams
9123	}
9124	return nil
9125}
9126
9127// SetBuildId sets the BuildId field's value.
9128func (s *CreateFleetInput) SetBuildId(v string) *CreateFleetInput {
9129	s.BuildId = &v
9130	return s
9131}
9132
9133// SetDescription sets the Description field's value.
9134func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
9135	s.Description = &v
9136	return s
9137}
9138
9139// SetEC2InboundPermissions sets the EC2InboundPermissions field's value.
9140func (s *CreateFleetInput) SetEC2InboundPermissions(v []*IpPermission) *CreateFleetInput {
9141	s.EC2InboundPermissions = v
9142	return s
9143}
9144
9145// SetEC2InstanceType sets the EC2InstanceType field's value.
9146func (s *CreateFleetInput) SetEC2InstanceType(v string) *CreateFleetInput {
9147	s.EC2InstanceType = &v
9148	return s
9149}
9150
9151// SetFleetType sets the FleetType field's value.
9152func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
9153	s.FleetType = &v
9154	return s
9155}
9156
9157// SetLogPaths sets the LogPaths field's value.
9158func (s *CreateFleetInput) SetLogPaths(v []*string) *CreateFleetInput {
9159	s.LogPaths = v
9160	return s
9161}
9162
9163// SetMetricGroups sets the MetricGroups field's value.
9164func (s *CreateFleetInput) SetMetricGroups(v []*string) *CreateFleetInput {
9165	s.MetricGroups = v
9166	return s
9167}
9168
9169// SetName sets the Name field's value.
9170func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
9171	s.Name = &v
9172	return s
9173}
9174
9175// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
9176func (s *CreateFleetInput) SetNewGameSessionProtectionPolicy(v string) *CreateFleetInput {
9177	s.NewGameSessionProtectionPolicy = &v
9178	return s
9179}
9180
9181// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
9182func (s *CreateFleetInput) SetPeerVpcAwsAccountId(v string) *CreateFleetInput {
9183	s.PeerVpcAwsAccountId = &v
9184	return s
9185}
9186
9187// SetPeerVpcId sets the PeerVpcId field's value.
9188func (s *CreateFleetInput) SetPeerVpcId(v string) *CreateFleetInput {
9189	s.PeerVpcId = &v
9190	return s
9191}
9192
9193// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
9194func (s *CreateFleetInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *CreateFleetInput {
9195	s.ResourceCreationLimitPolicy = v
9196	return s
9197}
9198
9199// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
9200func (s *CreateFleetInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *CreateFleetInput {
9201	s.RuntimeConfiguration = v
9202	return s
9203}
9204
9205// SetServerLaunchParameters sets the ServerLaunchParameters field's value.
9206func (s *CreateFleetInput) SetServerLaunchParameters(v string) *CreateFleetInput {
9207	s.ServerLaunchParameters = &v
9208	return s
9209}
9210
9211// SetServerLaunchPath sets the ServerLaunchPath field's value.
9212func (s *CreateFleetInput) SetServerLaunchPath(v string) *CreateFleetInput {
9213	s.ServerLaunchPath = &v
9214	return s
9215}
9216
9217// Represents the returned data in response to a request action.
9218type CreateFleetOutput struct {
9219	_ struct{} `type:"structure"`
9220
9221	// Properties for the newly created fleet.
9222	FleetAttributes *FleetAttributes `type:"structure"`
9223}
9224
9225// String returns the string representation
9226func (s CreateFleetOutput) String() string {
9227	return awsutil.Prettify(s)
9228}
9229
9230// GoString returns the string representation
9231func (s CreateFleetOutput) GoString() string {
9232	return s.String()
9233}
9234
9235// SetFleetAttributes sets the FleetAttributes field's value.
9236func (s *CreateFleetOutput) SetFleetAttributes(v *FleetAttributes) *CreateFleetOutput {
9237	s.FleetAttributes = v
9238	return s
9239}
9240
9241// Represents the input for a request action.
9242type CreateGameSessionInput struct {
9243	_ struct{} `type:"structure"`
9244
9245	// Unique identifier for an alias associated with the fleet to create a game
9246	// session in. Each request must reference either a fleet ID or alias ID, but
9247	// not both.
9248	AliasId *string `type:"string"`
9249
9250	// Unique identifier for a player or entity creating the game session. This
9251	// ID is used to enforce a resource protection policy (if one exists) that limits
9252	// the number of concurrent active game sessions one player can have.
9253	CreatorId *string `min:"1" type:"string"`
9254
9255	// Unique identifier for a fleet to create a game session in. Each request must
9256	// reference either a fleet ID or alias ID, but not both.
9257	FleetId *string `type:"string"`
9258
9259	// Set of custom properties for a game session, formatted as key:value pairs.
9260	// These properties are passed to a game server process in the GameSession object
9261	// 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)).
9262	GameProperties []*GameProperty `type:"list"`
9263
9264	// Set of custom game session properties, formatted as a single string value.
9265	// This data is passed to a game server process in the GameSession object with
9266	// 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)).
9267	GameSessionData *string `min:"1" type:"string"`
9268
9269	// This parameter is no longer preferred. Please use IdempotencyToken instead.
9270	// Custom string that uniquely identifies a request for a new game session.
9271	// Maximum token length is 48 characters. If provided, this string is included
9272	// in the new game session's ID. (A game session ARN has the following format:
9273	// arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency
9274	// token>.)
9275	GameSessionId *string `min:"1" type:"string"`
9276
9277	// Custom string that uniquely identifies a request for a new game session.
9278	// Maximum token length is 48 characters. If provided, this string is included
9279	// in the new game session's ID. (A game session ARN has the following format:
9280	// arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string or idempotency
9281	// token>.) Idempotency tokens remain in use for 30 days after a game session
9282	// has ended; game session objects are retained for this time period and then
9283	// deleted.
9284	IdempotencyToken *string `min:"1" type:"string"`
9285
9286	// Maximum number of players that can be connected simultaneously to the game
9287	// session.
9288	//
9289	// MaximumPlayerSessionCount is a required field
9290	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
9291
9292	// Descriptive label that is associated with a game session. Session names do
9293	// not need to be unique.
9294	Name *string `min:"1" type:"string"`
9295}
9296
9297// String returns the string representation
9298func (s CreateGameSessionInput) String() string {
9299	return awsutil.Prettify(s)
9300}
9301
9302// GoString returns the string representation
9303func (s CreateGameSessionInput) GoString() string {
9304	return s.String()
9305}
9306
9307// Validate inspects the fields of the type to determine if they are valid.
9308func (s *CreateGameSessionInput) Validate() error {
9309	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionInput"}
9310	if s.CreatorId != nil && len(*s.CreatorId) < 1 {
9311		invalidParams.Add(request.NewErrParamMinLen("CreatorId", 1))
9312	}
9313	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
9314		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
9315	}
9316	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
9317		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
9318	}
9319	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
9320		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
9321	}
9322	if s.MaximumPlayerSessionCount == nil {
9323		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
9324	}
9325	if s.Name != nil && len(*s.Name) < 1 {
9326		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9327	}
9328	if s.GameProperties != nil {
9329		for i, v := range s.GameProperties {
9330			if v == nil {
9331				continue
9332			}
9333			if err := v.Validate(); err != nil {
9334				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
9335			}
9336		}
9337	}
9338
9339	if invalidParams.Len() > 0 {
9340		return invalidParams
9341	}
9342	return nil
9343}
9344
9345// SetAliasId sets the AliasId field's value.
9346func (s *CreateGameSessionInput) SetAliasId(v string) *CreateGameSessionInput {
9347	s.AliasId = &v
9348	return s
9349}
9350
9351// SetCreatorId sets the CreatorId field's value.
9352func (s *CreateGameSessionInput) SetCreatorId(v string) *CreateGameSessionInput {
9353	s.CreatorId = &v
9354	return s
9355}
9356
9357// SetFleetId sets the FleetId field's value.
9358func (s *CreateGameSessionInput) SetFleetId(v string) *CreateGameSessionInput {
9359	s.FleetId = &v
9360	return s
9361}
9362
9363// SetGameProperties sets the GameProperties field's value.
9364func (s *CreateGameSessionInput) SetGameProperties(v []*GameProperty) *CreateGameSessionInput {
9365	s.GameProperties = v
9366	return s
9367}
9368
9369// SetGameSessionData sets the GameSessionData field's value.
9370func (s *CreateGameSessionInput) SetGameSessionData(v string) *CreateGameSessionInput {
9371	s.GameSessionData = &v
9372	return s
9373}
9374
9375// SetGameSessionId sets the GameSessionId field's value.
9376func (s *CreateGameSessionInput) SetGameSessionId(v string) *CreateGameSessionInput {
9377	s.GameSessionId = &v
9378	return s
9379}
9380
9381// SetIdempotencyToken sets the IdempotencyToken field's value.
9382func (s *CreateGameSessionInput) SetIdempotencyToken(v string) *CreateGameSessionInput {
9383	s.IdempotencyToken = &v
9384	return s
9385}
9386
9387// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
9388func (s *CreateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *CreateGameSessionInput {
9389	s.MaximumPlayerSessionCount = &v
9390	return s
9391}
9392
9393// SetName sets the Name field's value.
9394func (s *CreateGameSessionInput) SetName(v string) *CreateGameSessionInput {
9395	s.Name = &v
9396	return s
9397}
9398
9399// Represents the returned data in response to a request action.
9400type CreateGameSessionOutput struct {
9401	_ struct{} `type:"structure"`
9402
9403	// Object that describes the newly created game session record.
9404	GameSession *GameSession `type:"structure"`
9405}
9406
9407// String returns the string representation
9408func (s CreateGameSessionOutput) String() string {
9409	return awsutil.Prettify(s)
9410}
9411
9412// GoString returns the string representation
9413func (s CreateGameSessionOutput) GoString() string {
9414	return s.String()
9415}
9416
9417// SetGameSession sets the GameSession field's value.
9418func (s *CreateGameSessionOutput) SetGameSession(v *GameSession) *CreateGameSessionOutput {
9419	s.GameSession = v
9420	return s
9421}
9422
9423// Represents the input for a request action.
9424type CreateGameSessionQueueInput struct {
9425	_ struct{} `type:"structure"`
9426
9427	// List of fleets that can be used to fulfill game session placement requests
9428	// in the queue. Fleets are identified by either a fleet ARN or a fleet alias
9429	// ARN. Destinations are listed in default preference order.
9430	Destinations []*GameSessionQueueDestination `type:"list"`
9431
9432	// Descriptive label that is associated with game session queue. Queue names
9433	// must be unique within each region.
9434	//
9435	// Name is a required field
9436	Name *string `min:"1" type:"string" required:"true"`
9437
9438	// Collection of latency policies to apply when processing game sessions placement
9439	// requests with player latency information. Multiple policies are evaluated
9440	// in order of the maximum latency value, starting with the lowest latency values.
9441	// With just one policy, it is enforced at the start of the game session placement
9442	// for the duration period. With multiple policies, each policy is enforced
9443	// consecutively for its duration period. For example, a queue might enforce
9444	// a 60-second policy followed by a 120-second policy, and then no policy for
9445	// the remainder of the placement. A player latency policy must set a value
9446	// for MaximumIndividualPlayerLatencyMilliseconds; if none is set, this API
9447	// requests will fail.
9448	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
9449
9450	// Maximum time, in seconds, that a new game session placement request remains
9451	// in the queue. When a request exceeds this time, the game session placement
9452	// changes to a TIMED_OUT status.
9453	TimeoutInSeconds *int64 `type:"integer"`
9454}
9455
9456// String returns the string representation
9457func (s CreateGameSessionQueueInput) String() string {
9458	return awsutil.Prettify(s)
9459}
9460
9461// GoString returns the string representation
9462func (s CreateGameSessionQueueInput) GoString() string {
9463	return s.String()
9464}
9465
9466// Validate inspects the fields of the type to determine if they are valid.
9467func (s *CreateGameSessionQueueInput) Validate() error {
9468	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionQueueInput"}
9469	if s.Name == nil {
9470		invalidParams.Add(request.NewErrParamRequired("Name"))
9471	}
9472	if s.Name != nil && len(*s.Name) < 1 {
9473		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9474	}
9475	if s.Destinations != nil {
9476		for i, v := range s.Destinations {
9477			if v == nil {
9478				continue
9479			}
9480			if err := v.Validate(); err != nil {
9481				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
9482			}
9483		}
9484	}
9485
9486	if invalidParams.Len() > 0 {
9487		return invalidParams
9488	}
9489	return nil
9490}
9491
9492// SetDestinations sets the Destinations field's value.
9493func (s *CreateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *CreateGameSessionQueueInput {
9494	s.Destinations = v
9495	return s
9496}
9497
9498// SetName sets the Name field's value.
9499func (s *CreateGameSessionQueueInput) SetName(v string) *CreateGameSessionQueueInput {
9500	s.Name = &v
9501	return s
9502}
9503
9504// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
9505func (s *CreateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *CreateGameSessionQueueInput {
9506	s.PlayerLatencyPolicies = v
9507	return s
9508}
9509
9510// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
9511func (s *CreateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *CreateGameSessionQueueInput {
9512	s.TimeoutInSeconds = &v
9513	return s
9514}
9515
9516// Represents the returned data in response to a request action.
9517type CreateGameSessionQueueOutput struct {
9518	_ struct{} `type:"structure"`
9519
9520	// Object that describes the newly created game session queue.
9521	GameSessionQueue *GameSessionQueue `type:"structure"`
9522}
9523
9524// String returns the string representation
9525func (s CreateGameSessionQueueOutput) String() string {
9526	return awsutil.Prettify(s)
9527}
9528
9529// GoString returns the string representation
9530func (s CreateGameSessionQueueOutput) GoString() string {
9531	return s.String()
9532}
9533
9534// SetGameSessionQueue sets the GameSessionQueue field's value.
9535func (s *CreateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *CreateGameSessionQueueOutput {
9536	s.GameSessionQueue = v
9537	return s
9538}
9539
9540// Represents the input for a request action.
9541type CreateMatchmakingConfigurationInput struct {
9542	_ struct{} `type:"structure"`
9543
9544	// Flag that determines whether or not a match that was created with this configuration
9545	// must be accepted by the matched players. To require acceptance, set to TRUE.
9546	//
9547	// AcceptanceRequired is a required field
9548	AcceptanceRequired *bool `type:"boolean" required:"true"`
9549
9550	// Length of time (in seconds) to wait for players to accept a proposed match.
9551	// If any player rejects the match or fails to accept before the timeout, the
9552	// ticket continues to look for an acceptable match.
9553	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
9554
9555	// Number of player slots in a match to keep open for future players. For example,
9556	// if the configuration's rule set specifies a match for a single 12-person
9557	// team, and the additional player count is set to 2, only 10 players are selected
9558	// for the match.
9559	AdditionalPlayerCount *int64 `type:"integer"`
9560
9561	// Information to attached to all events related to the matchmaking configuration.
9562	CustomEventData *string `type:"string"`
9563
9564	// Meaningful description of the matchmaking configuration.
9565	Description *string `min:"1" type:"string"`
9566
9567	// Set of custom properties for a game session, formatted as key:value pairs.
9568	// These properties are passed to a game server process in the GameSession object
9569	// 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)).
9570	// This information is added to the new GameSession object that is created for
9571	// a successful match.
9572	GameProperties []*GameProperty `type:"list"`
9573
9574	// Set of custom game session properties, formatted as a single string value.
9575	// This data is passed to a game server process in the GameSession object with
9576	// 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)).
9577	// This information is added to the new GameSession object that is created for
9578	// a successful match.
9579	GameSessionData *string `min:"1" type:"string"`
9580
9581	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
9582	// that is assigned to a game session queue and uniquely identifies it. Format
9583	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
9584	// These queues are used when placing game sessions for matches that are created
9585	// with this matchmaking configuration. Queues can be located in any region.
9586	//
9587	// GameSessionQueueArns is a required field
9588	GameSessionQueueArns []*string `type:"list" required:"true"`
9589
9590	// Unique identifier for a matchmaking configuration. This name is used to identify
9591	// the configuration associated with a matchmaking request or ticket.
9592	//
9593	// Name is a required field
9594	Name *string `min:"1" type:"string" required:"true"`
9595
9596	// SNS topic ARN that is set up to receive matchmaking notifications.
9597	NotificationTarget *string `type:"string"`
9598
9599	// Maximum duration, in seconds, that a matchmaking ticket can remain in process
9600	// before timing out. Requests that time out can be resubmitted as needed.
9601	//
9602	// RequestTimeoutSeconds is a required field
9603	RequestTimeoutSeconds *int64 `min:"1" type:"integer" required:"true"`
9604
9605	// Unique identifier for a matchmaking rule set to use with this configuration.
9606	// A matchmaking configuration can only use rule sets that are defined in the
9607	// same region.
9608	//
9609	// RuleSetName is a required field
9610	RuleSetName *string `min:"1" type:"string" required:"true"`
9611}
9612
9613// String returns the string representation
9614func (s CreateMatchmakingConfigurationInput) String() string {
9615	return awsutil.Prettify(s)
9616}
9617
9618// GoString returns the string representation
9619func (s CreateMatchmakingConfigurationInput) GoString() string {
9620	return s.String()
9621}
9622
9623// Validate inspects the fields of the type to determine if they are valid.
9624func (s *CreateMatchmakingConfigurationInput) Validate() error {
9625	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingConfigurationInput"}
9626	if s.AcceptanceRequired == nil {
9627		invalidParams.Add(request.NewErrParamRequired("AcceptanceRequired"))
9628	}
9629	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
9630		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
9631	}
9632	if s.Description != nil && len(*s.Description) < 1 {
9633		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9634	}
9635	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
9636		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
9637	}
9638	if s.GameSessionQueueArns == nil {
9639		invalidParams.Add(request.NewErrParamRequired("GameSessionQueueArns"))
9640	}
9641	if s.Name == nil {
9642		invalidParams.Add(request.NewErrParamRequired("Name"))
9643	}
9644	if s.Name != nil && len(*s.Name) < 1 {
9645		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9646	}
9647	if s.RequestTimeoutSeconds == nil {
9648		invalidParams.Add(request.NewErrParamRequired("RequestTimeoutSeconds"))
9649	}
9650	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
9651		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
9652	}
9653	if s.RuleSetName == nil {
9654		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
9655	}
9656	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
9657		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
9658	}
9659	if s.GameProperties != nil {
9660		for i, v := range s.GameProperties {
9661			if v == nil {
9662				continue
9663			}
9664			if err := v.Validate(); err != nil {
9665				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
9666			}
9667		}
9668	}
9669
9670	if invalidParams.Len() > 0 {
9671		return invalidParams
9672	}
9673	return nil
9674}
9675
9676// SetAcceptanceRequired sets the AcceptanceRequired field's value.
9677func (s *CreateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *CreateMatchmakingConfigurationInput {
9678	s.AcceptanceRequired = &v
9679	return s
9680}
9681
9682// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
9683func (s *CreateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
9684	s.AcceptanceTimeoutSeconds = &v
9685	return s
9686}
9687
9688// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
9689func (s *CreateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *CreateMatchmakingConfigurationInput {
9690	s.AdditionalPlayerCount = &v
9691	return s
9692}
9693
9694// SetCustomEventData sets the CustomEventData field's value.
9695func (s *CreateMatchmakingConfigurationInput) SetCustomEventData(v string) *CreateMatchmakingConfigurationInput {
9696	s.CustomEventData = &v
9697	return s
9698}
9699
9700// SetDescription sets the Description field's value.
9701func (s *CreateMatchmakingConfigurationInput) SetDescription(v string) *CreateMatchmakingConfigurationInput {
9702	s.Description = &v
9703	return s
9704}
9705
9706// SetGameProperties sets the GameProperties field's value.
9707func (s *CreateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *CreateMatchmakingConfigurationInput {
9708	s.GameProperties = v
9709	return s
9710}
9711
9712// SetGameSessionData sets the GameSessionData field's value.
9713func (s *CreateMatchmakingConfigurationInput) SetGameSessionData(v string) *CreateMatchmakingConfigurationInput {
9714	s.GameSessionData = &v
9715	return s
9716}
9717
9718// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
9719func (s *CreateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *CreateMatchmakingConfigurationInput {
9720	s.GameSessionQueueArns = v
9721	return s
9722}
9723
9724// SetName sets the Name field's value.
9725func (s *CreateMatchmakingConfigurationInput) SetName(v string) *CreateMatchmakingConfigurationInput {
9726	s.Name = &v
9727	return s
9728}
9729
9730// SetNotificationTarget sets the NotificationTarget field's value.
9731func (s *CreateMatchmakingConfigurationInput) SetNotificationTarget(v string) *CreateMatchmakingConfigurationInput {
9732	s.NotificationTarget = &v
9733	return s
9734}
9735
9736// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
9737func (s *CreateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
9738	s.RequestTimeoutSeconds = &v
9739	return s
9740}
9741
9742// SetRuleSetName sets the RuleSetName field's value.
9743func (s *CreateMatchmakingConfigurationInput) SetRuleSetName(v string) *CreateMatchmakingConfigurationInput {
9744	s.RuleSetName = &v
9745	return s
9746}
9747
9748// Represents the returned data in response to a request action.
9749type CreateMatchmakingConfigurationOutput struct {
9750	_ struct{} `type:"structure"`
9751
9752	// Object that describes the newly created matchmaking configuration.
9753	Configuration *MatchmakingConfiguration `type:"structure"`
9754}
9755
9756// String returns the string representation
9757func (s CreateMatchmakingConfigurationOutput) String() string {
9758	return awsutil.Prettify(s)
9759}
9760
9761// GoString returns the string representation
9762func (s CreateMatchmakingConfigurationOutput) GoString() string {
9763	return s.String()
9764}
9765
9766// SetConfiguration sets the Configuration field's value.
9767func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *CreateMatchmakingConfigurationOutput {
9768	s.Configuration = v
9769	return s
9770}
9771
9772// Represents the input for a request action.
9773type CreateMatchmakingRuleSetInput struct {
9774	_ struct{} `type:"structure"`
9775
9776	// Unique identifier for a matchmaking rule set. This name is used to identify
9777	// the rule set associated with a matchmaking configuration.
9778	//
9779	// Name is a required field
9780	Name *string `min:"1" type:"string" required:"true"`
9781
9782	// Collection of matchmaking rules, formatted as a JSON string. (Note that comments
9783	// are not allowed in JSON, but most elements support a description field.)
9784	//
9785	// RuleSetBody is a required field
9786	RuleSetBody *string `min:"1" type:"string" required:"true"`
9787}
9788
9789// String returns the string representation
9790func (s CreateMatchmakingRuleSetInput) String() string {
9791	return awsutil.Prettify(s)
9792}
9793
9794// GoString returns the string representation
9795func (s CreateMatchmakingRuleSetInput) GoString() string {
9796	return s.String()
9797}
9798
9799// Validate inspects the fields of the type to determine if they are valid.
9800func (s *CreateMatchmakingRuleSetInput) Validate() error {
9801	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingRuleSetInput"}
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.RuleSetBody == nil {
9809		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
9810	}
9811	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
9812		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
9813	}
9814
9815	if invalidParams.Len() > 0 {
9816		return invalidParams
9817	}
9818	return nil
9819}
9820
9821// SetName sets the Name field's value.
9822func (s *CreateMatchmakingRuleSetInput) SetName(v string) *CreateMatchmakingRuleSetInput {
9823	s.Name = &v
9824	return s
9825}
9826
9827// SetRuleSetBody sets the RuleSetBody field's value.
9828func (s *CreateMatchmakingRuleSetInput) SetRuleSetBody(v string) *CreateMatchmakingRuleSetInput {
9829	s.RuleSetBody = &v
9830	return s
9831}
9832
9833// Represents the returned data in response to a request action.
9834type CreateMatchmakingRuleSetOutput struct {
9835	_ struct{} `type:"structure"`
9836
9837	// Object that describes the newly created matchmaking rule set.
9838	//
9839	// RuleSet is a required field
9840	RuleSet *MatchmakingRuleSet `type:"structure" required:"true"`
9841}
9842
9843// String returns the string representation
9844func (s CreateMatchmakingRuleSetOutput) String() string {
9845	return awsutil.Prettify(s)
9846}
9847
9848// GoString returns the string representation
9849func (s CreateMatchmakingRuleSetOutput) GoString() string {
9850	return s.String()
9851}
9852
9853// SetRuleSet sets the RuleSet field's value.
9854func (s *CreateMatchmakingRuleSetOutput) SetRuleSet(v *MatchmakingRuleSet) *CreateMatchmakingRuleSetOutput {
9855	s.RuleSet = v
9856	return s
9857}
9858
9859// Represents the input for a request action.
9860type CreatePlayerSessionInput struct {
9861	_ struct{} `type:"structure"`
9862
9863	// Unique identifier for the game session to add a player to.
9864	//
9865	// GameSessionId is a required field
9866	GameSessionId *string `min:"1" type:"string" required:"true"`
9867
9868	// Developer-defined information related to a player. Amazon GameLift does not
9869	// use this data, so it can be formatted as needed for use in the game.
9870	PlayerData *string `min:"1" type:"string"`
9871
9872	// Unique identifier for a player. Player IDs are developer-defined.
9873	//
9874	// PlayerId is a required field
9875	PlayerId *string `min:"1" type:"string" required:"true"`
9876}
9877
9878// String returns the string representation
9879func (s CreatePlayerSessionInput) String() string {
9880	return awsutil.Prettify(s)
9881}
9882
9883// GoString returns the string representation
9884func (s CreatePlayerSessionInput) GoString() string {
9885	return s.String()
9886}
9887
9888// Validate inspects the fields of the type to determine if they are valid.
9889func (s *CreatePlayerSessionInput) Validate() error {
9890	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionInput"}
9891	if s.GameSessionId == nil {
9892		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
9893	}
9894	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
9895		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
9896	}
9897	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
9898		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
9899	}
9900	if s.PlayerId == nil {
9901		invalidParams.Add(request.NewErrParamRequired("PlayerId"))
9902	}
9903	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
9904		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
9905	}
9906
9907	if invalidParams.Len() > 0 {
9908		return invalidParams
9909	}
9910	return nil
9911}
9912
9913// SetGameSessionId sets the GameSessionId field's value.
9914func (s *CreatePlayerSessionInput) SetGameSessionId(v string) *CreatePlayerSessionInput {
9915	s.GameSessionId = &v
9916	return s
9917}
9918
9919// SetPlayerData sets the PlayerData field's value.
9920func (s *CreatePlayerSessionInput) SetPlayerData(v string) *CreatePlayerSessionInput {
9921	s.PlayerData = &v
9922	return s
9923}
9924
9925// SetPlayerId sets the PlayerId field's value.
9926func (s *CreatePlayerSessionInput) SetPlayerId(v string) *CreatePlayerSessionInput {
9927	s.PlayerId = &v
9928	return s
9929}
9930
9931// Represents the returned data in response to a request action.
9932type CreatePlayerSessionOutput struct {
9933	_ struct{} `type:"structure"`
9934
9935	// Object that describes the newly created player session record.
9936	PlayerSession *PlayerSession `type:"structure"`
9937}
9938
9939// String returns the string representation
9940func (s CreatePlayerSessionOutput) String() string {
9941	return awsutil.Prettify(s)
9942}
9943
9944// GoString returns the string representation
9945func (s CreatePlayerSessionOutput) GoString() string {
9946	return s.String()
9947}
9948
9949// SetPlayerSession sets the PlayerSession field's value.
9950func (s *CreatePlayerSessionOutput) SetPlayerSession(v *PlayerSession) *CreatePlayerSessionOutput {
9951	s.PlayerSession = v
9952	return s
9953}
9954
9955// Represents the input for a request action.
9956type CreatePlayerSessionsInput struct {
9957	_ struct{} `type:"structure"`
9958
9959	// Unique identifier for the game session to add players to.
9960	//
9961	// GameSessionId is a required field
9962	GameSessionId *string `min:"1" type:"string" required:"true"`
9963
9964	// Map of string pairs, each specifying a player ID and a set of developer-defined
9965	// information related to the player. Amazon GameLift does not use this data,
9966	// so it can be formatted as needed for use in the game. Player data strings
9967	// for player IDs not included in the PlayerIds parameter are ignored.
9968	PlayerDataMap map[string]*string `type:"map"`
9969
9970	// List of unique identifiers for the players to be added.
9971	//
9972	// PlayerIds is a required field
9973	PlayerIds []*string `min:"1" type:"list" required:"true"`
9974}
9975
9976// String returns the string representation
9977func (s CreatePlayerSessionsInput) String() string {
9978	return awsutil.Prettify(s)
9979}
9980
9981// GoString returns the string representation
9982func (s CreatePlayerSessionsInput) GoString() string {
9983	return s.String()
9984}
9985
9986// Validate inspects the fields of the type to determine if they are valid.
9987func (s *CreatePlayerSessionsInput) Validate() error {
9988	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionsInput"}
9989	if s.GameSessionId == nil {
9990		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
9991	}
9992	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
9993		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
9994	}
9995	if s.PlayerIds == nil {
9996		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
9997	}
9998	if s.PlayerIds != nil && len(s.PlayerIds) < 1 {
9999		invalidParams.Add(request.NewErrParamMinLen("PlayerIds", 1))
10000	}
10001
10002	if invalidParams.Len() > 0 {
10003		return invalidParams
10004	}
10005	return nil
10006}
10007
10008// SetGameSessionId sets the GameSessionId field's value.
10009func (s *CreatePlayerSessionsInput) SetGameSessionId(v string) *CreatePlayerSessionsInput {
10010	s.GameSessionId = &v
10011	return s
10012}
10013
10014// SetPlayerDataMap sets the PlayerDataMap field's value.
10015func (s *CreatePlayerSessionsInput) SetPlayerDataMap(v map[string]*string) *CreatePlayerSessionsInput {
10016	s.PlayerDataMap = v
10017	return s
10018}
10019
10020// SetPlayerIds sets the PlayerIds field's value.
10021func (s *CreatePlayerSessionsInput) SetPlayerIds(v []*string) *CreatePlayerSessionsInput {
10022	s.PlayerIds = v
10023	return s
10024}
10025
10026// Represents the returned data in response to a request action.
10027type CreatePlayerSessionsOutput struct {
10028	_ struct{} `type:"structure"`
10029
10030	// Collection of player session objects created for the added players.
10031	PlayerSessions []*PlayerSession `type:"list"`
10032}
10033
10034// String returns the string representation
10035func (s CreatePlayerSessionsOutput) String() string {
10036	return awsutil.Prettify(s)
10037}
10038
10039// GoString returns the string representation
10040func (s CreatePlayerSessionsOutput) GoString() string {
10041	return s.String()
10042}
10043
10044// SetPlayerSessions sets the PlayerSessions field's value.
10045func (s *CreatePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *CreatePlayerSessionsOutput {
10046	s.PlayerSessions = v
10047	return s
10048}
10049
10050// Represents the input for a request action.
10051type CreateVpcPeeringAuthorizationInput struct {
10052	_ struct{} `type:"structure"`
10053
10054	// Unique identifier for the AWS account that you use to manage your Amazon
10055	// GameLift fleet. You can find your Account ID in the AWS Management Console
10056	// under account settings.
10057	//
10058	// GameLiftAwsAccountId is a required field
10059	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
10060
10061	// Unique identifier for a VPC with resources to be accessed by your Amazon
10062	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
10063	// To get VPC information, including IDs, use the Virtual Private Cloud service
10064	// tools, including the VPC Dashboard in the AWS Management Console.
10065	//
10066	// PeerVpcId is a required field
10067	PeerVpcId *string `min:"1" type:"string" required:"true"`
10068}
10069
10070// String returns the string representation
10071func (s CreateVpcPeeringAuthorizationInput) String() string {
10072	return awsutil.Prettify(s)
10073}
10074
10075// GoString returns the string representation
10076func (s CreateVpcPeeringAuthorizationInput) GoString() string {
10077	return s.String()
10078}
10079
10080// Validate inspects the fields of the type to determine if they are valid.
10081func (s *CreateVpcPeeringAuthorizationInput) Validate() error {
10082	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringAuthorizationInput"}
10083	if s.GameLiftAwsAccountId == nil {
10084		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
10085	}
10086	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
10087		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
10088	}
10089	if s.PeerVpcId == nil {
10090		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
10091	}
10092	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
10093		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
10094	}
10095
10096	if invalidParams.Len() > 0 {
10097		return invalidParams
10098	}
10099	return nil
10100}
10101
10102// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
10103func (s *CreateVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *CreateVpcPeeringAuthorizationInput {
10104	s.GameLiftAwsAccountId = &v
10105	return s
10106}
10107
10108// SetPeerVpcId sets the PeerVpcId field's value.
10109func (s *CreateVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *CreateVpcPeeringAuthorizationInput {
10110	s.PeerVpcId = &v
10111	return s
10112}
10113
10114// Represents the returned data in response to a request action.
10115type CreateVpcPeeringAuthorizationOutput struct {
10116	_ struct{} `type:"structure"`
10117
10118	// Details on the requested VPC peering authorization, including expiration.
10119	VpcPeeringAuthorization *VpcPeeringAuthorization `type:"structure"`
10120}
10121
10122// String returns the string representation
10123func (s CreateVpcPeeringAuthorizationOutput) String() string {
10124	return awsutil.Prettify(s)
10125}
10126
10127// GoString returns the string representation
10128func (s CreateVpcPeeringAuthorizationOutput) GoString() string {
10129	return s.String()
10130}
10131
10132// SetVpcPeeringAuthorization sets the VpcPeeringAuthorization field's value.
10133func (s *CreateVpcPeeringAuthorizationOutput) SetVpcPeeringAuthorization(v *VpcPeeringAuthorization) *CreateVpcPeeringAuthorizationOutput {
10134	s.VpcPeeringAuthorization = v
10135	return s
10136}
10137
10138// Represents the input for a request action.
10139type CreateVpcPeeringConnectionInput struct {
10140	_ struct{} `type:"structure"`
10141
10142	// Unique identifier for a fleet. This tells Amazon GameLift which GameLift
10143	// VPC to peer with.
10144	//
10145	// FleetId is a required field
10146	FleetId *string `type:"string" required:"true"`
10147
10148	// Unique identifier for the AWS account with the VPC that you want to peer
10149	// your Amazon GameLift fleet with. You can find your Account ID in the AWS
10150	// Management Console under account settings.
10151	//
10152	// PeerVpcAwsAccountId is a required field
10153	PeerVpcAwsAccountId *string `min:"1" type:"string" required:"true"`
10154
10155	// Unique identifier for a VPC with resources to be accessed by your Amazon
10156	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
10157	// To get VPC information, including IDs, use the Virtual Private Cloud service
10158	// tools, including the VPC Dashboard in the AWS Management Console.
10159	//
10160	// PeerVpcId is a required field
10161	PeerVpcId *string `min:"1" type:"string" required:"true"`
10162}
10163
10164// String returns the string representation
10165func (s CreateVpcPeeringConnectionInput) String() string {
10166	return awsutil.Prettify(s)
10167}
10168
10169// GoString returns the string representation
10170func (s CreateVpcPeeringConnectionInput) GoString() string {
10171	return s.String()
10172}
10173
10174// Validate inspects the fields of the type to determine if they are valid.
10175func (s *CreateVpcPeeringConnectionInput) Validate() error {
10176	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringConnectionInput"}
10177	if s.FleetId == nil {
10178		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10179	}
10180	if s.PeerVpcAwsAccountId == nil {
10181		invalidParams.Add(request.NewErrParamRequired("PeerVpcAwsAccountId"))
10182	}
10183	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
10184		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
10185	}
10186	if s.PeerVpcId == nil {
10187		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
10188	}
10189	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
10190		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
10191	}
10192
10193	if invalidParams.Len() > 0 {
10194		return invalidParams
10195	}
10196	return nil
10197}
10198
10199// SetFleetId sets the FleetId field's value.
10200func (s *CreateVpcPeeringConnectionInput) SetFleetId(v string) *CreateVpcPeeringConnectionInput {
10201	s.FleetId = &v
10202	return s
10203}
10204
10205// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
10206func (s *CreateVpcPeeringConnectionInput) SetPeerVpcAwsAccountId(v string) *CreateVpcPeeringConnectionInput {
10207	s.PeerVpcAwsAccountId = &v
10208	return s
10209}
10210
10211// SetPeerVpcId sets the PeerVpcId field's value.
10212func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
10213	s.PeerVpcId = &v
10214	return s
10215}
10216
10217type CreateVpcPeeringConnectionOutput struct {
10218	_ struct{} `type:"structure"`
10219}
10220
10221// String returns the string representation
10222func (s CreateVpcPeeringConnectionOutput) String() string {
10223	return awsutil.Prettify(s)
10224}
10225
10226// GoString returns the string representation
10227func (s CreateVpcPeeringConnectionOutput) GoString() string {
10228	return s.String()
10229}
10230
10231// Represents the input for a request action.
10232type DeleteAliasInput struct {
10233	_ struct{} `type:"structure"`
10234
10235	// Unique identifier for a fleet alias. Specify the alias you want to delete.
10236	//
10237	// AliasId is a required field
10238	AliasId *string `type:"string" required:"true"`
10239}
10240
10241// String returns the string representation
10242func (s DeleteAliasInput) String() string {
10243	return awsutil.Prettify(s)
10244}
10245
10246// GoString returns the string representation
10247func (s DeleteAliasInput) GoString() string {
10248	return s.String()
10249}
10250
10251// Validate inspects the fields of the type to determine if they are valid.
10252func (s *DeleteAliasInput) Validate() error {
10253	invalidParams := request.ErrInvalidParams{Context: "DeleteAliasInput"}
10254	if s.AliasId == nil {
10255		invalidParams.Add(request.NewErrParamRequired("AliasId"))
10256	}
10257
10258	if invalidParams.Len() > 0 {
10259		return invalidParams
10260	}
10261	return nil
10262}
10263
10264// SetAliasId sets the AliasId field's value.
10265func (s *DeleteAliasInput) SetAliasId(v string) *DeleteAliasInput {
10266	s.AliasId = &v
10267	return s
10268}
10269
10270type DeleteAliasOutput struct {
10271	_ struct{} `type:"structure"`
10272}
10273
10274// String returns the string representation
10275func (s DeleteAliasOutput) String() string {
10276	return awsutil.Prettify(s)
10277}
10278
10279// GoString returns the string representation
10280func (s DeleteAliasOutput) GoString() string {
10281	return s.String()
10282}
10283
10284// Represents the input for a request action.
10285type DeleteBuildInput struct {
10286	_ struct{} `type:"structure"`
10287
10288	// Unique identifier for a build to delete.
10289	//
10290	// BuildId is a required field
10291	BuildId *string `type:"string" required:"true"`
10292}
10293
10294// String returns the string representation
10295func (s DeleteBuildInput) String() string {
10296	return awsutil.Prettify(s)
10297}
10298
10299// GoString returns the string representation
10300func (s DeleteBuildInput) GoString() string {
10301	return s.String()
10302}
10303
10304// Validate inspects the fields of the type to determine if they are valid.
10305func (s *DeleteBuildInput) Validate() error {
10306	invalidParams := request.ErrInvalidParams{Context: "DeleteBuildInput"}
10307	if s.BuildId == nil {
10308		invalidParams.Add(request.NewErrParamRequired("BuildId"))
10309	}
10310
10311	if invalidParams.Len() > 0 {
10312		return invalidParams
10313	}
10314	return nil
10315}
10316
10317// SetBuildId sets the BuildId field's value.
10318func (s *DeleteBuildInput) SetBuildId(v string) *DeleteBuildInput {
10319	s.BuildId = &v
10320	return s
10321}
10322
10323type DeleteBuildOutput struct {
10324	_ struct{} `type:"structure"`
10325}
10326
10327// String returns the string representation
10328func (s DeleteBuildOutput) String() string {
10329	return awsutil.Prettify(s)
10330}
10331
10332// GoString returns the string representation
10333func (s DeleteBuildOutput) GoString() string {
10334	return s.String()
10335}
10336
10337// Represents the input for a request action.
10338type DeleteFleetInput struct {
10339	_ struct{} `type:"structure"`
10340
10341	// Unique identifier for a fleet to be deleted.
10342	//
10343	// FleetId is a required field
10344	FleetId *string `type:"string" required:"true"`
10345}
10346
10347// String returns the string representation
10348func (s DeleteFleetInput) String() string {
10349	return awsutil.Prettify(s)
10350}
10351
10352// GoString returns the string representation
10353func (s DeleteFleetInput) GoString() string {
10354	return s.String()
10355}
10356
10357// Validate inspects the fields of the type to determine if they are valid.
10358func (s *DeleteFleetInput) Validate() error {
10359	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
10360	if s.FleetId == nil {
10361		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10362	}
10363
10364	if invalidParams.Len() > 0 {
10365		return invalidParams
10366	}
10367	return nil
10368}
10369
10370// SetFleetId sets the FleetId field's value.
10371func (s *DeleteFleetInput) SetFleetId(v string) *DeleteFleetInput {
10372	s.FleetId = &v
10373	return s
10374}
10375
10376type DeleteFleetOutput struct {
10377	_ struct{} `type:"structure"`
10378}
10379
10380// String returns the string representation
10381func (s DeleteFleetOutput) String() string {
10382	return awsutil.Prettify(s)
10383}
10384
10385// GoString returns the string representation
10386func (s DeleteFleetOutput) GoString() string {
10387	return s.String()
10388}
10389
10390// Represents the input for a request action.
10391type DeleteGameSessionQueueInput struct {
10392	_ struct{} `type:"structure"`
10393
10394	// Descriptive label that is associated with game session queue. Queue names
10395	// must be unique within each region.
10396	//
10397	// Name is a required field
10398	Name *string `min:"1" type:"string" required:"true"`
10399}
10400
10401// String returns the string representation
10402func (s DeleteGameSessionQueueInput) String() string {
10403	return awsutil.Prettify(s)
10404}
10405
10406// GoString returns the string representation
10407func (s DeleteGameSessionQueueInput) GoString() string {
10408	return s.String()
10409}
10410
10411// Validate inspects the fields of the type to determine if they are valid.
10412func (s *DeleteGameSessionQueueInput) Validate() error {
10413	invalidParams := request.ErrInvalidParams{Context: "DeleteGameSessionQueueInput"}
10414	if s.Name == nil {
10415		invalidParams.Add(request.NewErrParamRequired("Name"))
10416	}
10417	if s.Name != nil && len(*s.Name) < 1 {
10418		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10419	}
10420
10421	if invalidParams.Len() > 0 {
10422		return invalidParams
10423	}
10424	return nil
10425}
10426
10427// SetName sets the Name field's value.
10428func (s *DeleteGameSessionQueueInput) SetName(v string) *DeleteGameSessionQueueInput {
10429	s.Name = &v
10430	return s
10431}
10432
10433type DeleteGameSessionQueueOutput struct {
10434	_ struct{} `type:"structure"`
10435}
10436
10437// String returns the string representation
10438func (s DeleteGameSessionQueueOutput) String() string {
10439	return awsutil.Prettify(s)
10440}
10441
10442// GoString returns the string representation
10443func (s DeleteGameSessionQueueOutput) GoString() string {
10444	return s.String()
10445}
10446
10447// Represents the input for a request action.
10448type DeleteMatchmakingConfigurationInput struct {
10449	_ struct{} `type:"structure"`
10450
10451	// Unique identifier for a matchmaking configuration
10452	//
10453	// Name is a required field
10454	Name *string `min:"1" type:"string" required:"true"`
10455}
10456
10457// String returns the string representation
10458func (s DeleteMatchmakingConfigurationInput) String() string {
10459	return awsutil.Prettify(s)
10460}
10461
10462// GoString returns the string representation
10463func (s DeleteMatchmakingConfigurationInput) GoString() string {
10464	return s.String()
10465}
10466
10467// Validate inspects the fields of the type to determine if they are valid.
10468func (s *DeleteMatchmakingConfigurationInput) Validate() error {
10469	invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingConfigurationInput"}
10470	if s.Name == nil {
10471		invalidParams.Add(request.NewErrParamRequired("Name"))
10472	}
10473	if s.Name != nil && len(*s.Name) < 1 {
10474		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10475	}
10476
10477	if invalidParams.Len() > 0 {
10478		return invalidParams
10479	}
10480	return nil
10481}
10482
10483// SetName sets the Name field's value.
10484func (s *DeleteMatchmakingConfigurationInput) SetName(v string) *DeleteMatchmakingConfigurationInput {
10485	s.Name = &v
10486	return s
10487}
10488
10489type DeleteMatchmakingConfigurationOutput struct {
10490	_ struct{} `type:"structure"`
10491}
10492
10493// String returns the string representation
10494func (s DeleteMatchmakingConfigurationOutput) String() string {
10495	return awsutil.Prettify(s)
10496}
10497
10498// GoString returns the string representation
10499func (s DeleteMatchmakingConfigurationOutput) GoString() string {
10500	return s.String()
10501}
10502
10503// Represents the input for a request action.
10504type DeleteScalingPolicyInput struct {
10505	_ struct{} `type:"structure"`
10506
10507	// Unique identifier for a fleet to be deleted.
10508	//
10509	// FleetId is a required field
10510	FleetId *string `type:"string" required:"true"`
10511
10512	// Descriptive label that is associated with a scaling policy. Policy names
10513	// do not need to be unique.
10514	//
10515	// Name is a required field
10516	Name *string `min:"1" type:"string" required:"true"`
10517}
10518
10519// String returns the string representation
10520func (s DeleteScalingPolicyInput) String() string {
10521	return awsutil.Prettify(s)
10522}
10523
10524// GoString returns the string representation
10525func (s DeleteScalingPolicyInput) GoString() string {
10526	return s.String()
10527}
10528
10529// Validate inspects the fields of the type to determine if they are valid.
10530func (s *DeleteScalingPolicyInput) Validate() error {
10531	invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPolicyInput"}
10532	if s.FleetId == nil {
10533		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10534	}
10535	if s.Name == nil {
10536		invalidParams.Add(request.NewErrParamRequired("Name"))
10537	}
10538	if s.Name != nil && len(*s.Name) < 1 {
10539		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10540	}
10541
10542	if invalidParams.Len() > 0 {
10543		return invalidParams
10544	}
10545	return nil
10546}
10547
10548// SetFleetId sets the FleetId field's value.
10549func (s *DeleteScalingPolicyInput) SetFleetId(v string) *DeleteScalingPolicyInput {
10550	s.FleetId = &v
10551	return s
10552}
10553
10554// SetName sets the Name field's value.
10555func (s *DeleteScalingPolicyInput) SetName(v string) *DeleteScalingPolicyInput {
10556	s.Name = &v
10557	return s
10558}
10559
10560type DeleteScalingPolicyOutput struct {
10561	_ struct{} `type:"structure"`
10562}
10563
10564// String returns the string representation
10565func (s DeleteScalingPolicyOutput) String() string {
10566	return awsutil.Prettify(s)
10567}
10568
10569// GoString returns the string representation
10570func (s DeleteScalingPolicyOutput) GoString() string {
10571	return s.String()
10572}
10573
10574// Represents the input for a request action.
10575type DeleteVpcPeeringAuthorizationInput struct {
10576	_ struct{} `type:"structure"`
10577
10578	// Unique identifier for the AWS account that you use to manage your Amazon
10579	// GameLift fleet. You can find your Account ID in the AWS Management Console
10580	// under account settings.
10581	//
10582	// GameLiftAwsAccountId is a required field
10583	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
10584
10585	// Unique identifier for a VPC with resources to be accessed by your Amazon
10586	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
10587	// To get VPC information, including IDs, use the Virtual Private Cloud service
10588	// tools, including the VPC Dashboard in the AWS Management Console.
10589	//
10590	// PeerVpcId is a required field
10591	PeerVpcId *string `min:"1" type:"string" required:"true"`
10592}
10593
10594// String returns the string representation
10595func (s DeleteVpcPeeringAuthorizationInput) String() string {
10596	return awsutil.Prettify(s)
10597}
10598
10599// GoString returns the string representation
10600func (s DeleteVpcPeeringAuthorizationInput) GoString() string {
10601	return s.String()
10602}
10603
10604// Validate inspects the fields of the type to determine if they are valid.
10605func (s *DeleteVpcPeeringAuthorizationInput) Validate() error {
10606	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringAuthorizationInput"}
10607	if s.GameLiftAwsAccountId == nil {
10608		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
10609	}
10610	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
10611		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
10612	}
10613	if s.PeerVpcId == nil {
10614		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
10615	}
10616	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
10617		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
10618	}
10619
10620	if invalidParams.Len() > 0 {
10621		return invalidParams
10622	}
10623	return nil
10624}
10625
10626// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
10627func (s *DeleteVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *DeleteVpcPeeringAuthorizationInput {
10628	s.GameLiftAwsAccountId = &v
10629	return s
10630}
10631
10632// SetPeerVpcId sets the PeerVpcId field's value.
10633func (s *DeleteVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *DeleteVpcPeeringAuthorizationInput {
10634	s.PeerVpcId = &v
10635	return s
10636}
10637
10638type DeleteVpcPeeringAuthorizationOutput struct {
10639	_ struct{} `type:"structure"`
10640}
10641
10642// String returns the string representation
10643func (s DeleteVpcPeeringAuthorizationOutput) String() string {
10644	return awsutil.Prettify(s)
10645}
10646
10647// GoString returns the string representation
10648func (s DeleteVpcPeeringAuthorizationOutput) GoString() string {
10649	return s.String()
10650}
10651
10652// Represents the input for a request action.
10653type DeleteVpcPeeringConnectionInput struct {
10654	_ struct{} `type:"structure"`
10655
10656	// Unique identifier for a fleet. This value must match the fleet ID referenced
10657	// in the VPC peering connection record.
10658	//
10659	// FleetId is a required field
10660	FleetId *string `type:"string" required:"true"`
10661
10662	// Unique identifier for a VPC peering connection. This value is included in
10663	// the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.
10664	//
10665	// VpcPeeringConnectionId is a required field
10666	VpcPeeringConnectionId *string `min:"1" type:"string" required:"true"`
10667}
10668
10669// String returns the string representation
10670func (s DeleteVpcPeeringConnectionInput) String() string {
10671	return awsutil.Prettify(s)
10672}
10673
10674// GoString returns the string representation
10675func (s DeleteVpcPeeringConnectionInput) GoString() string {
10676	return s.String()
10677}
10678
10679// Validate inspects the fields of the type to determine if they are valid.
10680func (s *DeleteVpcPeeringConnectionInput) Validate() error {
10681	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
10682	if s.FleetId == nil {
10683		invalidParams.Add(request.NewErrParamRequired("FleetId"))
10684	}
10685	if s.VpcPeeringConnectionId == nil {
10686		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
10687	}
10688	if s.VpcPeeringConnectionId != nil && len(*s.VpcPeeringConnectionId) < 1 {
10689		invalidParams.Add(request.NewErrParamMinLen("VpcPeeringConnectionId", 1))
10690	}
10691
10692	if invalidParams.Len() > 0 {
10693		return invalidParams
10694	}
10695	return nil
10696}
10697
10698// SetFleetId sets the FleetId field's value.
10699func (s *DeleteVpcPeeringConnectionInput) SetFleetId(v string) *DeleteVpcPeeringConnectionInput {
10700	s.FleetId = &v
10701	return s
10702}
10703
10704// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
10705func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
10706	s.VpcPeeringConnectionId = &v
10707	return s
10708}
10709
10710type DeleteVpcPeeringConnectionOutput struct {
10711	_ struct{} `type:"structure"`
10712}
10713
10714// String returns the string representation
10715func (s DeleteVpcPeeringConnectionOutput) String() string {
10716	return awsutil.Prettify(s)
10717}
10718
10719// GoString returns the string representation
10720func (s DeleteVpcPeeringConnectionOutput) GoString() string {
10721	return s.String()
10722}
10723
10724// Represents the input for a request action.
10725type DescribeAliasInput struct {
10726	_ struct{} `type:"structure"`
10727
10728	// Unique identifier for a fleet alias. Specify the alias you want to retrieve.
10729	//
10730	// AliasId is a required field
10731	AliasId *string `type:"string" required:"true"`
10732}
10733
10734// String returns the string representation
10735func (s DescribeAliasInput) String() string {
10736	return awsutil.Prettify(s)
10737}
10738
10739// GoString returns the string representation
10740func (s DescribeAliasInput) GoString() string {
10741	return s.String()
10742}
10743
10744// Validate inspects the fields of the type to determine if they are valid.
10745func (s *DescribeAliasInput) Validate() error {
10746	invalidParams := request.ErrInvalidParams{Context: "DescribeAliasInput"}
10747	if s.AliasId == nil {
10748		invalidParams.Add(request.NewErrParamRequired("AliasId"))
10749	}
10750
10751	if invalidParams.Len() > 0 {
10752		return invalidParams
10753	}
10754	return nil
10755}
10756
10757// SetAliasId sets the AliasId field's value.
10758func (s *DescribeAliasInput) SetAliasId(v string) *DescribeAliasInput {
10759	s.AliasId = &v
10760	return s
10761}
10762
10763// Represents the returned data in response to a request action.
10764type DescribeAliasOutput struct {
10765	_ struct{} `type:"structure"`
10766
10767	// Object that contains the requested alias.
10768	Alias *Alias `type:"structure"`
10769}
10770
10771// String returns the string representation
10772func (s DescribeAliasOutput) String() string {
10773	return awsutil.Prettify(s)
10774}
10775
10776// GoString returns the string representation
10777func (s DescribeAliasOutput) GoString() string {
10778	return s.String()
10779}
10780
10781// SetAlias sets the Alias field's value.
10782func (s *DescribeAliasOutput) SetAlias(v *Alias) *DescribeAliasOutput {
10783	s.Alias = v
10784	return s
10785}
10786
10787// Represents the input for a request action.
10788type DescribeBuildInput struct {
10789	_ struct{} `type:"structure"`
10790
10791	// Unique identifier for a build to retrieve properties for.
10792	//
10793	// BuildId is a required field
10794	BuildId *string `type:"string" required:"true"`
10795}
10796
10797// String returns the string representation
10798func (s DescribeBuildInput) String() string {
10799	return awsutil.Prettify(s)
10800}
10801
10802// GoString returns the string representation
10803func (s DescribeBuildInput) GoString() string {
10804	return s.String()
10805}
10806
10807// Validate inspects the fields of the type to determine if they are valid.
10808func (s *DescribeBuildInput) Validate() error {
10809	invalidParams := request.ErrInvalidParams{Context: "DescribeBuildInput"}
10810	if s.BuildId == nil {
10811		invalidParams.Add(request.NewErrParamRequired("BuildId"))
10812	}
10813
10814	if invalidParams.Len() > 0 {
10815		return invalidParams
10816	}
10817	return nil
10818}
10819
10820// SetBuildId sets the BuildId field's value.
10821func (s *DescribeBuildInput) SetBuildId(v string) *DescribeBuildInput {
10822	s.BuildId = &v
10823	return s
10824}
10825
10826// Represents the returned data in response to a request action.
10827type DescribeBuildOutput struct {
10828	_ struct{} `type:"structure"`
10829
10830	// Set of properties describing the requested build.
10831	Build *Build `type:"structure"`
10832}
10833
10834// String returns the string representation
10835func (s DescribeBuildOutput) String() string {
10836	return awsutil.Prettify(s)
10837}
10838
10839// GoString returns the string representation
10840func (s DescribeBuildOutput) GoString() string {
10841	return s.String()
10842}
10843
10844// SetBuild sets the Build field's value.
10845func (s *DescribeBuildOutput) SetBuild(v *Build) *DescribeBuildOutput {
10846	s.Build = v
10847	return s
10848}
10849
10850// Represents the input for a request action.
10851type DescribeEC2InstanceLimitsInput struct {
10852	_ struct{} `type:"structure"`
10853
10854	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
10855	// instance type determines the computing resources of each instance in the
10856	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
10857	// supports the following EC2 instance types. See Amazon EC2 Instance Types
10858	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. Leave
10859	// this parameter blank to retrieve limits for all types.
10860	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
10861}
10862
10863// String returns the string representation
10864func (s DescribeEC2InstanceLimitsInput) String() string {
10865	return awsutil.Prettify(s)
10866}
10867
10868// GoString returns the string representation
10869func (s DescribeEC2InstanceLimitsInput) GoString() string {
10870	return s.String()
10871}
10872
10873// SetEC2InstanceType sets the EC2InstanceType field's value.
10874func (s *DescribeEC2InstanceLimitsInput) SetEC2InstanceType(v string) *DescribeEC2InstanceLimitsInput {
10875	s.EC2InstanceType = &v
10876	return s
10877}
10878
10879// Represents the returned data in response to a request action.
10880type DescribeEC2InstanceLimitsOutput struct {
10881	_ struct{} `type:"structure"`
10882
10883	// Object that contains the maximum number of instances for the specified instance
10884	// type.
10885	EC2InstanceLimits []*EC2InstanceLimit `type:"list"`
10886}
10887
10888// String returns the string representation
10889func (s DescribeEC2InstanceLimitsOutput) String() string {
10890	return awsutil.Prettify(s)
10891}
10892
10893// GoString returns the string representation
10894func (s DescribeEC2InstanceLimitsOutput) GoString() string {
10895	return s.String()
10896}
10897
10898// SetEC2InstanceLimits sets the EC2InstanceLimits field's value.
10899func (s *DescribeEC2InstanceLimitsOutput) SetEC2InstanceLimits(v []*EC2InstanceLimit) *DescribeEC2InstanceLimitsOutput {
10900	s.EC2InstanceLimits = v
10901	return s
10902}
10903
10904// Represents the input for a request action.
10905type DescribeFleetAttributesInput struct {
10906	_ struct{} `type:"structure"`
10907
10908	// Unique identifier for a fleet(s) to retrieve attributes for. To request attributes
10909	// for all fleets, leave this parameter empty.
10910	FleetIds []*string `min:"1" type:"list"`
10911
10912	// Maximum number of results to return. Use this parameter with NextToken to
10913	// get results as a set of sequential pages. This parameter is ignored when
10914	// the request specifies one or a list of fleet IDs.
10915	Limit *int64 `min:"1" type:"integer"`
10916
10917	// Token that indicates the start of the next sequential page of results. Use
10918	// the token that is returned with a previous call to this action. To start
10919	// at the beginning of the result set, do not specify a value. This parameter
10920	// is ignored when the request specifies one or a list of fleet IDs.
10921	NextToken *string `min:"1" type:"string"`
10922}
10923
10924// String returns the string representation
10925func (s DescribeFleetAttributesInput) String() string {
10926	return awsutil.Prettify(s)
10927}
10928
10929// GoString returns the string representation
10930func (s DescribeFleetAttributesInput) GoString() string {
10931	return s.String()
10932}
10933
10934// Validate inspects the fields of the type to determine if they are valid.
10935func (s *DescribeFleetAttributesInput) Validate() error {
10936	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetAttributesInput"}
10937	if s.FleetIds != nil && len(s.FleetIds) < 1 {
10938		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
10939	}
10940	if s.Limit != nil && *s.Limit < 1 {
10941		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
10942	}
10943	if s.NextToken != nil && len(*s.NextToken) < 1 {
10944		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
10945	}
10946
10947	if invalidParams.Len() > 0 {
10948		return invalidParams
10949	}
10950	return nil
10951}
10952
10953// SetFleetIds sets the FleetIds field's value.
10954func (s *DescribeFleetAttributesInput) SetFleetIds(v []*string) *DescribeFleetAttributesInput {
10955	s.FleetIds = v
10956	return s
10957}
10958
10959// SetLimit sets the Limit field's value.
10960func (s *DescribeFleetAttributesInput) SetLimit(v int64) *DescribeFleetAttributesInput {
10961	s.Limit = &v
10962	return s
10963}
10964
10965// SetNextToken sets the NextToken field's value.
10966func (s *DescribeFleetAttributesInput) SetNextToken(v string) *DescribeFleetAttributesInput {
10967	s.NextToken = &v
10968	return s
10969}
10970
10971// Represents the returned data in response to a request action.
10972type DescribeFleetAttributesOutput struct {
10973	_ struct{} `type:"structure"`
10974
10975	// Collection of objects containing attribute metadata for each requested fleet
10976	// ID.
10977	FleetAttributes []*FleetAttributes `type:"list"`
10978
10979	// Token that indicates where to resume retrieving results on the next call
10980	// to this action. If no token is returned, these results represent the end
10981	// of the list.
10982	NextToken *string `min:"1" type:"string"`
10983}
10984
10985// String returns the string representation
10986func (s DescribeFleetAttributesOutput) String() string {
10987	return awsutil.Prettify(s)
10988}
10989
10990// GoString returns the string representation
10991func (s DescribeFleetAttributesOutput) GoString() string {
10992	return s.String()
10993}
10994
10995// SetFleetAttributes sets the FleetAttributes field's value.
10996func (s *DescribeFleetAttributesOutput) SetFleetAttributes(v []*FleetAttributes) *DescribeFleetAttributesOutput {
10997	s.FleetAttributes = v
10998	return s
10999}
11000
11001// SetNextToken sets the NextToken field's value.
11002func (s *DescribeFleetAttributesOutput) SetNextToken(v string) *DescribeFleetAttributesOutput {
11003	s.NextToken = &v
11004	return s
11005}
11006
11007// Represents the input for a request action.
11008type DescribeFleetCapacityInput struct {
11009	_ struct{} `type:"structure"`
11010
11011	// Unique identifier for a fleet(s) to retrieve capacity information for. To
11012	// request capacity information for all fleets, leave this parameter empty.
11013	FleetIds []*string `min:"1" type:"list"`
11014
11015	// Maximum number of results to return. Use this parameter with NextToken to
11016	// get results as a set of sequential pages. This parameter is ignored when
11017	// the request specifies one or a list of fleet IDs.
11018	Limit *int64 `min:"1" type:"integer"`
11019
11020	// Token that indicates the start of the next sequential page of results. Use
11021	// the token that is returned with a previous call to this action. To start
11022	// at the beginning of the result set, do not specify a value. This parameter
11023	// is ignored when the request specifies one or a list of fleet IDs.
11024	NextToken *string `min:"1" type:"string"`
11025}
11026
11027// String returns the string representation
11028func (s DescribeFleetCapacityInput) String() string {
11029	return awsutil.Prettify(s)
11030}
11031
11032// GoString returns the string representation
11033func (s DescribeFleetCapacityInput) GoString() string {
11034	return s.String()
11035}
11036
11037// Validate inspects the fields of the type to determine if they are valid.
11038func (s *DescribeFleetCapacityInput) Validate() error {
11039	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetCapacityInput"}
11040	if s.FleetIds != nil && len(s.FleetIds) < 1 {
11041		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
11042	}
11043	if s.Limit != nil && *s.Limit < 1 {
11044		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11045	}
11046	if s.NextToken != nil && len(*s.NextToken) < 1 {
11047		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11048	}
11049
11050	if invalidParams.Len() > 0 {
11051		return invalidParams
11052	}
11053	return nil
11054}
11055
11056// SetFleetIds sets the FleetIds field's value.
11057func (s *DescribeFleetCapacityInput) SetFleetIds(v []*string) *DescribeFleetCapacityInput {
11058	s.FleetIds = v
11059	return s
11060}
11061
11062// SetLimit sets the Limit field's value.
11063func (s *DescribeFleetCapacityInput) SetLimit(v int64) *DescribeFleetCapacityInput {
11064	s.Limit = &v
11065	return s
11066}
11067
11068// SetNextToken sets the NextToken field's value.
11069func (s *DescribeFleetCapacityInput) SetNextToken(v string) *DescribeFleetCapacityInput {
11070	s.NextToken = &v
11071	return s
11072}
11073
11074// Represents the returned data in response to a request action.
11075type DescribeFleetCapacityOutput struct {
11076	_ struct{} `type:"structure"`
11077
11078	// Collection of objects containing capacity information for each requested
11079	// fleet ID. Leave this parameter empty to retrieve capacity information for
11080	// all fleets.
11081	FleetCapacity []*FleetCapacity `type:"list"`
11082
11083	// Token that indicates where to resume retrieving results on the next call
11084	// to this action. If no token is returned, these results represent the end
11085	// of the list.
11086	NextToken *string `min:"1" type:"string"`
11087}
11088
11089// String returns the string representation
11090func (s DescribeFleetCapacityOutput) String() string {
11091	return awsutil.Prettify(s)
11092}
11093
11094// GoString returns the string representation
11095func (s DescribeFleetCapacityOutput) GoString() string {
11096	return s.String()
11097}
11098
11099// SetFleetCapacity sets the FleetCapacity field's value.
11100func (s *DescribeFleetCapacityOutput) SetFleetCapacity(v []*FleetCapacity) *DescribeFleetCapacityOutput {
11101	s.FleetCapacity = v
11102	return s
11103}
11104
11105// SetNextToken sets the NextToken field's value.
11106func (s *DescribeFleetCapacityOutput) SetNextToken(v string) *DescribeFleetCapacityOutput {
11107	s.NextToken = &v
11108	return s
11109}
11110
11111// Represents the input for a request action.
11112type DescribeFleetEventsInput struct {
11113	_ struct{} `type:"structure"`
11114
11115	// Most recent date to retrieve event logs for. If no end time is specified,
11116	// this call returns entries from the specified start time up to the present.
11117	// Format is a number expressed in Unix time as milliseconds (ex: "1469498468.057").
11118	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
11119
11120	// Unique identifier for a fleet to get event logs for.
11121	//
11122	// FleetId is a required field
11123	FleetId *string `type:"string" required:"true"`
11124
11125	// Maximum number of results to return. Use this parameter with NextToken to
11126	// get results as a set of sequential pages.
11127	Limit *int64 `min:"1" type:"integer"`
11128
11129	// Token that indicates the start of the next sequential page of results. Use
11130	// the token that is returned with a previous call to this action. To start
11131	// at the beginning of the result set, do not specify a value.
11132	NextToken *string `min:"1" type:"string"`
11133
11134	// Earliest date to retrieve event logs for. If no start time is specified,
11135	// this call returns entries starting from when the fleet was created to the
11136	// specified end time. Format is a number expressed in Unix time as milliseconds
11137	// (ex: "1469498468.057").
11138	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
11139}
11140
11141// String returns the string representation
11142func (s DescribeFleetEventsInput) String() string {
11143	return awsutil.Prettify(s)
11144}
11145
11146// GoString returns the string representation
11147func (s DescribeFleetEventsInput) GoString() string {
11148	return s.String()
11149}
11150
11151// Validate inspects the fields of the type to determine if they are valid.
11152func (s *DescribeFleetEventsInput) Validate() error {
11153	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetEventsInput"}
11154	if s.FleetId == nil {
11155		invalidParams.Add(request.NewErrParamRequired("FleetId"))
11156	}
11157	if s.Limit != nil && *s.Limit < 1 {
11158		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11159	}
11160	if s.NextToken != nil && len(*s.NextToken) < 1 {
11161		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11162	}
11163
11164	if invalidParams.Len() > 0 {
11165		return invalidParams
11166	}
11167	return nil
11168}
11169
11170// SetEndTime sets the EndTime field's value.
11171func (s *DescribeFleetEventsInput) SetEndTime(v time.Time) *DescribeFleetEventsInput {
11172	s.EndTime = &v
11173	return s
11174}
11175
11176// SetFleetId sets the FleetId field's value.
11177func (s *DescribeFleetEventsInput) SetFleetId(v string) *DescribeFleetEventsInput {
11178	s.FleetId = &v
11179	return s
11180}
11181
11182// SetLimit sets the Limit field's value.
11183func (s *DescribeFleetEventsInput) SetLimit(v int64) *DescribeFleetEventsInput {
11184	s.Limit = &v
11185	return s
11186}
11187
11188// SetNextToken sets the NextToken field's value.
11189func (s *DescribeFleetEventsInput) SetNextToken(v string) *DescribeFleetEventsInput {
11190	s.NextToken = &v
11191	return s
11192}
11193
11194// SetStartTime sets the StartTime field's value.
11195func (s *DescribeFleetEventsInput) SetStartTime(v time.Time) *DescribeFleetEventsInput {
11196	s.StartTime = &v
11197	return s
11198}
11199
11200// Represents the returned data in response to a request action.
11201type DescribeFleetEventsOutput struct {
11202	_ struct{} `type:"structure"`
11203
11204	// Collection of objects containing event log entries for the specified fleet.
11205	Events []*Event `type:"list"`
11206
11207	// Token that indicates where to resume retrieving results on the next call
11208	// to this action. If no token is returned, these results represent the end
11209	// of the list.
11210	NextToken *string `min:"1" type:"string"`
11211}
11212
11213// String returns the string representation
11214func (s DescribeFleetEventsOutput) String() string {
11215	return awsutil.Prettify(s)
11216}
11217
11218// GoString returns the string representation
11219func (s DescribeFleetEventsOutput) GoString() string {
11220	return s.String()
11221}
11222
11223// SetEvents sets the Events field's value.
11224func (s *DescribeFleetEventsOutput) SetEvents(v []*Event) *DescribeFleetEventsOutput {
11225	s.Events = v
11226	return s
11227}
11228
11229// SetNextToken sets the NextToken field's value.
11230func (s *DescribeFleetEventsOutput) SetNextToken(v string) *DescribeFleetEventsOutput {
11231	s.NextToken = &v
11232	return s
11233}
11234
11235// Represents the input for a request action.
11236type DescribeFleetPortSettingsInput struct {
11237	_ struct{} `type:"structure"`
11238
11239	// Unique identifier for a fleet to retrieve port settings for.
11240	//
11241	// FleetId is a required field
11242	FleetId *string `type:"string" required:"true"`
11243}
11244
11245// String returns the string representation
11246func (s DescribeFleetPortSettingsInput) String() string {
11247	return awsutil.Prettify(s)
11248}
11249
11250// GoString returns the string representation
11251func (s DescribeFleetPortSettingsInput) GoString() string {
11252	return s.String()
11253}
11254
11255// Validate inspects the fields of the type to determine if they are valid.
11256func (s *DescribeFleetPortSettingsInput) Validate() error {
11257	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetPortSettingsInput"}
11258	if s.FleetId == nil {
11259		invalidParams.Add(request.NewErrParamRequired("FleetId"))
11260	}
11261
11262	if invalidParams.Len() > 0 {
11263		return invalidParams
11264	}
11265	return nil
11266}
11267
11268// SetFleetId sets the FleetId field's value.
11269func (s *DescribeFleetPortSettingsInput) SetFleetId(v string) *DescribeFleetPortSettingsInput {
11270	s.FleetId = &v
11271	return s
11272}
11273
11274// Represents the returned data in response to a request action.
11275type DescribeFleetPortSettingsOutput struct {
11276	_ struct{} `type:"structure"`
11277
11278	// Object that contains port settings for the requested fleet ID.
11279	InboundPermissions []*IpPermission `type:"list"`
11280}
11281
11282// String returns the string representation
11283func (s DescribeFleetPortSettingsOutput) String() string {
11284	return awsutil.Prettify(s)
11285}
11286
11287// GoString returns the string representation
11288func (s DescribeFleetPortSettingsOutput) GoString() string {
11289	return s.String()
11290}
11291
11292// SetInboundPermissions sets the InboundPermissions field's value.
11293func (s *DescribeFleetPortSettingsOutput) SetInboundPermissions(v []*IpPermission) *DescribeFleetPortSettingsOutput {
11294	s.InboundPermissions = v
11295	return s
11296}
11297
11298// Represents the input for a request action.
11299type DescribeFleetUtilizationInput struct {
11300	_ struct{} `type:"structure"`
11301
11302	// Unique identifier for a fleet(s) to retrieve utilization data for. To request
11303	// utilization data for all fleets, leave this parameter empty.
11304	FleetIds []*string `min:"1" type:"list"`
11305
11306	// Maximum number of results to return. Use this parameter with NextToken to
11307	// get results as a set of sequential pages. This parameter is ignored when
11308	// the request specifies one or a list of fleet IDs.
11309	Limit *int64 `min:"1" type:"integer"`
11310
11311	// Token that indicates the start of the next sequential page of results. Use
11312	// the token that is returned with a previous call to this action. To start
11313	// at the beginning of the result set, do not specify a value. This parameter
11314	// is ignored when the request specifies one or a list of fleet IDs.
11315	NextToken *string `min:"1" type:"string"`
11316}
11317
11318// String returns the string representation
11319func (s DescribeFleetUtilizationInput) String() string {
11320	return awsutil.Prettify(s)
11321}
11322
11323// GoString returns the string representation
11324func (s DescribeFleetUtilizationInput) GoString() string {
11325	return s.String()
11326}
11327
11328// Validate inspects the fields of the type to determine if they are valid.
11329func (s *DescribeFleetUtilizationInput) Validate() error {
11330	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetUtilizationInput"}
11331	if s.FleetIds != nil && len(s.FleetIds) < 1 {
11332		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
11333	}
11334	if s.Limit != nil && *s.Limit < 1 {
11335		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11336	}
11337	if s.NextToken != nil && len(*s.NextToken) < 1 {
11338		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11339	}
11340
11341	if invalidParams.Len() > 0 {
11342		return invalidParams
11343	}
11344	return nil
11345}
11346
11347// SetFleetIds sets the FleetIds field's value.
11348func (s *DescribeFleetUtilizationInput) SetFleetIds(v []*string) *DescribeFleetUtilizationInput {
11349	s.FleetIds = v
11350	return s
11351}
11352
11353// SetLimit sets the Limit field's value.
11354func (s *DescribeFleetUtilizationInput) SetLimit(v int64) *DescribeFleetUtilizationInput {
11355	s.Limit = &v
11356	return s
11357}
11358
11359// SetNextToken sets the NextToken field's value.
11360func (s *DescribeFleetUtilizationInput) SetNextToken(v string) *DescribeFleetUtilizationInput {
11361	s.NextToken = &v
11362	return s
11363}
11364
11365// Represents the returned data in response to a request action.
11366type DescribeFleetUtilizationOutput struct {
11367	_ struct{} `type:"structure"`
11368
11369	// Collection of objects containing utilization information for each requested
11370	// fleet ID.
11371	FleetUtilization []*FleetUtilization `type:"list"`
11372
11373	// Token that indicates where to resume retrieving results on the next call
11374	// to this action. If no token is returned, these results represent the end
11375	// of the list.
11376	NextToken *string `min:"1" type:"string"`
11377}
11378
11379// String returns the string representation
11380func (s DescribeFleetUtilizationOutput) String() string {
11381	return awsutil.Prettify(s)
11382}
11383
11384// GoString returns the string representation
11385func (s DescribeFleetUtilizationOutput) GoString() string {
11386	return s.String()
11387}
11388
11389// SetFleetUtilization sets the FleetUtilization field's value.
11390func (s *DescribeFleetUtilizationOutput) SetFleetUtilization(v []*FleetUtilization) *DescribeFleetUtilizationOutput {
11391	s.FleetUtilization = v
11392	return s
11393}
11394
11395// SetNextToken sets the NextToken field's value.
11396func (s *DescribeFleetUtilizationOutput) SetNextToken(v string) *DescribeFleetUtilizationOutput {
11397	s.NextToken = &v
11398	return s
11399}
11400
11401// Represents the input for a request action.
11402type DescribeGameSessionDetailsInput struct {
11403	_ struct{} `type:"structure"`
11404
11405	// Unique identifier for an alias associated with the fleet to retrieve all
11406	// game sessions for.
11407	AliasId *string `type:"string"`
11408
11409	// Unique identifier for a fleet to retrieve all game sessions active on the
11410	// fleet.
11411	FleetId *string `type:"string"`
11412
11413	// Unique identifier for the game session to retrieve.
11414	GameSessionId *string `min:"1" type:"string"`
11415
11416	// Maximum number of results to return. Use this parameter with NextToken to
11417	// get results as a set of sequential pages.
11418	Limit *int64 `min:"1" type:"integer"`
11419
11420	// Token that indicates the start of the next sequential page of results. Use
11421	// the token that is returned with a previous call to this action. To start
11422	// at the beginning of the result set, do not specify a value.
11423	NextToken *string `min:"1" type:"string"`
11424
11425	// Game session status to filter results on. Possible game session statuses
11426	// include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are
11427	// transitory).
11428	StatusFilter *string `min:"1" type:"string"`
11429}
11430
11431// String returns the string representation
11432func (s DescribeGameSessionDetailsInput) String() string {
11433	return awsutil.Prettify(s)
11434}
11435
11436// GoString returns the string representation
11437func (s DescribeGameSessionDetailsInput) GoString() string {
11438	return s.String()
11439}
11440
11441// Validate inspects the fields of the type to determine if they are valid.
11442func (s *DescribeGameSessionDetailsInput) Validate() error {
11443	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionDetailsInput"}
11444	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
11445		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
11446	}
11447	if s.Limit != nil && *s.Limit < 1 {
11448		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11449	}
11450	if s.NextToken != nil && len(*s.NextToken) < 1 {
11451		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11452	}
11453	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
11454		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
11455	}
11456
11457	if invalidParams.Len() > 0 {
11458		return invalidParams
11459	}
11460	return nil
11461}
11462
11463// SetAliasId sets the AliasId field's value.
11464func (s *DescribeGameSessionDetailsInput) SetAliasId(v string) *DescribeGameSessionDetailsInput {
11465	s.AliasId = &v
11466	return s
11467}
11468
11469// SetFleetId sets the FleetId field's value.
11470func (s *DescribeGameSessionDetailsInput) SetFleetId(v string) *DescribeGameSessionDetailsInput {
11471	s.FleetId = &v
11472	return s
11473}
11474
11475// SetGameSessionId sets the GameSessionId field's value.
11476func (s *DescribeGameSessionDetailsInput) SetGameSessionId(v string) *DescribeGameSessionDetailsInput {
11477	s.GameSessionId = &v
11478	return s
11479}
11480
11481// SetLimit sets the Limit field's value.
11482func (s *DescribeGameSessionDetailsInput) SetLimit(v int64) *DescribeGameSessionDetailsInput {
11483	s.Limit = &v
11484	return s
11485}
11486
11487// SetNextToken sets the NextToken field's value.
11488func (s *DescribeGameSessionDetailsInput) SetNextToken(v string) *DescribeGameSessionDetailsInput {
11489	s.NextToken = &v
11490	return s
11491}
11492
11493// SetStatusFilter sets the StatusFilter field's value.
11494func (s *DescribeGameSessionDetailsInput) SetStatusFilter(v string) *DescribeGameSessionDetailsInput {
11495	s.StatusFilter = &v
11496	return s
11497}
11498
11499// Represents the returned data in response to a request action.
11500type DescribeGameSessionDetailsOutput struct {
11501	_ struct{} `type:"structure"`
11502
11503	// Collection of objects containing game session properties and the protection
11504	// policy currently in force for each session matching the request.
11505	GameSessionDetails []*GameSessionDetail `type:"list"`
11506
11507	// Token that indicates where to resume retrieving results on the next call
11508	// to this action. If no token is returned, these results represent the end
11509	// of the list.
11510	NextToken *string `min:"1" type:"string"`
11511}
11512
11513// String returns the string representation
11514func (s DescribeGameSessionDetailsOutput) String() string {
11515	return awsutil.Prettify(s)
11516}
11517
11518// GoString returns the string representation
11519func (s DescribeGameSessionDetailsOutput) GoString() string {
11520	return s.String()
11521}
11522
11523// SetGameSessionDetails sets the GameSessionDetails field's value.
11524func (s *DescribeGameSessionDetailsOutput) SetGameSessionDetails(v []*GameSessionDetail) *DescribeGameSessionDetailsOutput {
11525	s.GameSessionDetails = v
11526	return s
11527}
11528
11529// SetNextToken sets the NextToken field's value.
11530func (s *DescribeGameSessionDetailsOutput) SetNextToken(v string) *DescribeGameSessionDetailsOutput {
11531	s.NextToken = &v
11532	return s
11533}
11534
11535// Represents the input for a request action.
11536type DescribeGameSessionPlacementInput struct {
11537	_ struct{} `type:"structure"`
11538
11539	// Unique identifier for a game session placement to retrieve.
11540	//
11541	// PlacementId is a required field
11542	PlacementId *string `min:"1" type:"string" required:"true"`
11543}
11544
11545// String returns the string representation
11546func (s DescribeGameSessionPlacementInput) String() string {
11547	return awsutil.Prettify(s)
11548}
11549
11550// GoString returns the string representation
11551func (s DescribeGameSessionPlacementInput) GoString() string {
11552	return s.String()
11553}
11554
11555// Validate inspects the fields of the type to determine if they are valid.
11556func (s *DescribeGameSessionPlacementInput) Validate() error {
11557	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionPlacementInput"}
11558	if s.PlacementId == nil {
11559		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
11560	}
11561	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
11562		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
11563	}
11564
11565	if invalidParams.Len() > 0 {
11566		return invalidParams
11567	}
11568	return nil
11569}
11570
11571// SetPlacementId sets the PlacementId field's value.
11572func (s *DescribeGameSessionPlacementInput) SetPlacementId(v string) *DescribeGameSessionPlacementInput {
11573	s.PlacementId = &v
11574	return s
11575}
11576
11577// Represents the returned data in response to a request action.
11578type DescribeGameSessionPlacementOutput struct {
11579	_ struct{} `type:"structure"`
11580
11581	// Object that describes the requested game session placement.
11582	GameSessionPlacement *GameSessionPlacement `type:"structure"`
11583}
11584
11585// String returns the string representation
11586func (s DescribeGameSessionPlacementOutput) String() string {
11587	return awsutil.Prettify(s)
11588}
11589
11590// GoString returns the string representation
11591func (s DescribeGameSessionPlacementOutput) GoString() string {
11592	return s.String()
11593}
11594
11595// SetGameSessionPlacement sets the GameSessionPlacement field's value.
11596func (s *DescribeGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *DescribeGameSessionPlacementOutput {
11597	s.GameSessionPlacement = v
11598	return s
11599}
11600
11601// Represents the input for a request action.
11602type DescribeGameSessionQueuesInput struct {
11603	_ struct{} `type:"structure"`
11604
11605	// Maximum number of results to return. Use this parameter with NextToken to
11606	// get results as a set of sequential pages.
11607	Limit *int64 `min:"1" type:"integer"`
11608
11609	// List of queue names to retrieve information for. To request settings for
11610	// all queues, leave this parameter empty.
11611	Names []*string `type:"list"`
11612
11613	// Token that indicates the start of the next sequential page of results. Use
11614	// the token that is returned with a previous call to this action. To start
11615	// at the beginning of the result set, do not specify a value.
11616	NextToken *string `min:"1" type:"string"`
11617}
11618
11619// String returns the string representation
11620func (s DescribeGameSessionQueuesInput) String() string {
11621	return awsutil.Prettify(s)
11622}
11623
11624// GoString returns the string representation
11625func (s DescribeGameSessionQueuesInput) GoString() string {
11626	return s.String()
11627}
11628
11629// Validate inspects the fields of the type to determine if they are valid.
11630func (s *DescribeGameSessionQueuesInput) Validate() error {
11631	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionQueuesInput"}
11632	if s.Limit != nil && *s.Limit < 1 {
11633		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11634	}
11635	if s.NextToken != nil && len(*s.NextToken) < 1 {
11636		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11637	}
11638
11639	if invalidParams.Len() > 0 {
11640		return invalidParams
11641	}
11642	return nil
11643}
11644
11645// SetLimit sets the Limit field's value.
11646func (s *DescribeGameSessionQueuesInput) SetLimit(v int64) *DescribeGameSessionQueuesInput {
11647	s.Limit = &v
11648	return s
11649}
11650
11651// SetNames sets the Names field's value.
11652func (s *DescribeGameSessionQueuesInput) SetNames(v []*string) *DescribeGameSessionQueuesInput {
11653	s.Names = v
11654	return s
11655}
11656
11657// SetNextToken sets the NextToken field's value.
11658func (s *DescribeGameSessionQueuesInput) SetNextToken(v string) *DescribeGameSessionQueuesInput {
11659	s.NextToken = &v
11660	return s
11661}
11662
11663// Represents the returned data in response to a request action.
11664type DescribeGameSessionQueuesOutput struct {
11665	_ struct{} `type:"structure"`
11666
11667	// Collection of objects that describes the requested game session queues.
11668	GameSessionQueues []*GameSessionQueue `type:"list"`
11669
11670	// Token that indicates where to resume retrieving results on the next call
11671	// to this action. If no token is returned, these results represent the end
11672	// of the list.
11673	NextToken *string `min:"1" type:"string"`
11674}
11675
11676// String returns the string representation
11677func (s DescribeGameSessionQueuesOutput) String() string {
11678	return awsutil.Prettify(s)
11679}
11680
11681// GoString returns the string representation
11682func (s DescribeGameSessionQueuesOutput) GoString() string {
11683	return s.String()
11684}
11685
11686// SetGameSessionQueues sets the GameSessionQueues field's value.
11687func (s *DescribeGameSessionQueuesOutput) SetGameSessionQueues(v []*GameSessionQueue) *DescribeGameSessionQueuesOutput {
11688	s.GameSessionQueues = v
11689	return s
11690}
11691
11692// SetNextToken sets the NextToken field's value.
11693func (s *DescribeGameSessionQueuesOutput) SetNextToken(v string) *DescribeGameSessionQueuesOutput {
11694	s.NextToken = &v
11695	return s
11696}
11697
11698// Represents the input for a request action.
11699type DescribeGameSessionsInput struct {
11700	_ struct{} `type:"structure"`
11701
11702	// Unique identifier for an alias associated with the fleet to retrieve all
11703	// game sessions for.
11704	AliasId *string `type:"string"`
11705
11706	// Unique identifier for a fleet to retrieve all game sessions for.
11707	FleetId *string `type:"string"`
11708
11709	// Unique identifier for the game session to retrieve. You can use either a
11710	// GameSessionId or GameSessionArn value.
11711	GameSessionId *string `min:"1" type:"string"`
11712
11713	// Maximum number of results to return. Use this parameter with NextToken to
11714	// get results as a set of sequential pages.
11715	Limit *int64 `min:"1" type:"integer"`
11716
11717	// Token that indicates the start of the next sequential page of results. Use
11718	// the token that is returned with a previous call to this action. To start
11719	// at the beginning of the result set, do not specify a value.
11720	NextToken *string `min:"1" type:"string"`
11721
11722	// Game session status to filter results on. Possible game session statuses
11723	// include ACTIVE, TERMINATED, ACTIVATING, and TERMINATING (the last two are
11724	// transitory).
11725	StatusFilter *string `min:"1" type:"string"`
11726}
11727
11728// String returns the string representation
11729func (s DescribeGameSessionsInput) String() string {
11730	return awsutil.Prettify(s)
11731}
11732
11733// GoString returns the string representation
11734func (s DescribeGameSessionsInput) GoString() string {
11735	return s.String()
11736}
11737
11738// Validate inspects the fields of the type to determine if they are valid.
11739func (s *DescribeGameSessionsInput) Validate() error {
11740	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionsInput"}
11741	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
11742		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
11743	}
11744	if s.Limit != nil && *s.Limit < 1 {
11745		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11746	}
11747	if s.NextToken != nil && len(*s.NextToken) < 1 {
11748		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11749	}
11750	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
11751		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
11752	}
11753
11754	if invalidParams.Len() > 0 {
11755		return invalidParams
11756	}
11757	return nil
11758}
11759
11760// SetAliasId sets the AliasId field's value.
11761func (s *DescribeGameSessionsInput) SetAliasId(v string) *DescribeGameSessionsInput {
11762	s.AliasId = &v
11763	return s
11764}
11765
11766// SetFleetId sets the FleetId field's value.
11767func (s *DescribeGameSessionsInput) SetFleetId(v string) *DescribeGameSessionsInput {
11768	s.FleetId = &v
11769	return s
11770}
11771
11772// SetGameSessionId sets the GameSessionId field's value.
11773func (s *DescribeGameSessionsInput) SetGameSessionId(v string) *DescribeGameSessionsInput {
11774	s.GameSessionId = &v
11775	return s
11776}
11777
11778// SetLimit sets the Limit field's value.
11779func (s *DescribeGameSessionsInput) SetLimit(v int64) *DescribeGameSessionsInput {
11780	s.Limit = &v
11781	return s
11782}
11783
11784// SetNextToken sets the NextToken field's value.
11785func (s *DescribeGameSessionsInput) SetNextToken(v string) *DescribeGameSessionsInput {
11786	s.NextToken = &v
11787	return s
11788}
11789
11790// SetStatusFilter sets the StatusFilter field's value.
11791func (s *DescribeGameSessionsInput) SetStatusFilter(v string) *DescribeGameSessionsInput {
11792	s.StatusFilter = &v
11793	return s
11794}
11795
11796// Represents the returned data in response to a request action.
11797type DescribeGameSessionsOutput struct {
11798	_ struct{} `type:"structure"`
11799
11800	// Collection of objects containing game session properties for each session
11801	// matching the request.
11802	GameSessions []*GameSession `type:"list"`
11803
11804	// Token that indicates where to resume retrieving results on the next call
11805	// to this action. If no token is returned, these results represent the end
11806	// of the list.
11807	NextToken *string `min:"1" type:"string"`
11808}
11809
11810// String returns the string representation
11811func (s DescribeGameSessionsOutput) String() string {
11812	return awsutil.Prettify(s)
11813}
11814
11815// GoString returns the string representation
11816func (s DescribeGameSessionsOutput) GoString() string {
11817	return s.String()
11818}
11819
11820// SetGameSessions sets the GameSessions field's value.
11821func (s *DescribeGameSessionsOutput) SetGameSessions(v []*GameSession) *DescribeGameSessionsOutput {
11822	s.GameSessions = v
11823	return s
11824}
11825
11826// SetNextToken sets the NextToken field's value.
11827func (s *DescribeGameSessionsOutput) SetNextToken(v string) *DescribeGameSessionsOutput {
11828	s.NextToken = &v
11829	return s
11830}
11831
11832// Represents the input for a request action.
11833type DescribeInstancesInput struct {
11834	_ struct{} `type:"structure"`
11835
11836	// Unique identifier for a fleet to retrieve instance information for.
11837	//
11838	// FleetId is a required field
11839	FleetId *string `type:"string" required:"true"`
11840
11841	// Unique identifier for an instance to retrieve. Specify an instance ID or
11842	// leave blank to retrieve all instances in the fleet.
11843	InstanceId *string `type:"string"`
11844
11845	// Maximum number of results to return. Use this parameter with NextToken to
11846	// get results as a set of sequential pages.
11847	Limit *int64 `min:"1" type:"integer"`
11848
11849	// Token that indicates the start of the next sequential page of results. Use
11850	// the token that is returned with a previous call to this action. To start
11851	// at the beginning of the result set, do not specify a value.
11852	NextToken *string `min:"1" type:"string"`
11853}
11854
11855// String returns the string representation
11856func (s DescribeInstancesInput) String() string {
11857	return awsutil.Prettify(s)
11858}
11859
11860// GoString returns the string representation
11861func (s DescribeInstancesInput) GoString() string {
11862	return s.String()
11863}
11864
11865// Validate inspects the fields of the type to determine if they are valid.
11866func (s *DescribeInstancesInput) Validate() error {
11867	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesInput"}
11868	if s.FleetId == nil {
11869		invalidParams.Add(request.NewErrParamRequired("FleetId"))
11870	}
11871	if s.Limit != nil && *s.Limit < 1 {
11872		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11873	}
11874	if s.NextToken != nil && len(*s.NextToken) < 1 {
11875		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11876	}
11877
11878	if invalidParams.Len() > 0 {
11879		return invalidParams
11880	}
11881	return nil
11882}
11883
11884// SetFleetId sets the FleetId field's value.
11885func (s *DescribeInstancesInput) SetFleetId(v string) *DescribeInstancesInput {
11886	s.FleetId = &v
11887	return s
11888}
11889
11890// SetInstanceId sets the InstanceId field's value.
11891func (s *DescribeInstancesInput) SetInstanceId(v string) *DescribeInstancesInput {
11892	s.InstanceId = &v
11893	return s
11894}
11895
11896// SetLimit sets the Limit field's value.
11897func (s *DescribeInstancesInput) SetLimit(v int64) *DescribeInstancesInput {
11898	s.Limit = &v
11899	return s
11900}
11901
11902// SetNextToken sets the NextToken field's value.
11903func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
11904	s.NextToken = &v
11905	return s
11906}
11907
11908// Represents the returned data in response to a request action.
11909type DescribeInstancesOutput struct {
11910	_ struct{} `type:"structure"`
11911
11912	// Collection of objects containing properties for each instance returned.
11913	Instances []*Instance `type:"list"`
11914
11915	// Token that indicates where to resume retrieving results on the next call
11916	// to this action. If no token is returned, these results represent the end
11917	// of the list.
11918	NextToken *string `min:"1" type:"string"`
11919}
11920
11921// String returns the string representation
11922func (s DescribeInstancesOutput) String() string {
11923	return awsutil.Prettify(s)
11924}
11925
11926// GoString returns the string representation
11927func (s DescribeInstancesOutput) GoString() string {
11928	return s.String()
11929}
11930
11931// SetInstances sets the Instances field's value.
11932func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
11933	s.Instances = v
11934	return s
11935}
11936
11937// SetNextToken sets the NextToken field's value.
11938func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
11939	s.NextToken = &v
11940	return s
11941}
11942
11943// Represents the input for a request action.
11944type DescribeMatchmakingConfigurationsInput struct {
11945	_ struct{} `type:"structure"`
11946
11947	// Maximum number of results to return. Use this parameter with NextToken to
11948	// get results as a set of sequential pages. This parameter is limited to 10.
11949	Limit *int64 `min:"1" type:"integer"`
11950
11951	// Unique identifier for a matchmaking configuration(s) to retrieve. To request
11952	// all existing configurations, leave this parameter empty.
11953	Names []*string `type:"list"`
11954
11955	// Token that indicates the start of the next sequential page of results. Use
11956	// the token that is returned with a previous call to this action. To start
11957	// at the beginning of the result set, do not specify a value.
11958	NextToken *string `min:"1" type:"string"`
11959
11960	// Unique identifier for a matchmaking rule set. Use this parameter to retrieve
11961	// all matchmaking configurations that use this rule set.
11962	RuleSetName *string `min:"1" type:"string"`
11963}
11964
11965// String returns the string representation
11966func (s DescribeMatchmakingConfigurationsInput) String() string {
11967	return awsutil.Prettify(s)
11968}
11969
11970// GoString returns the string representation
11971func (s DescribeMatchmakingConfigurationsInput) GoString() string {
11972	return s.String()
11973}
11974
11975// Validate inspects the fields of the type to determine if they are valid.
11976func (s *DescribeMatchmakingConfigurationsInput) Validate() error {
11977	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingConfigurationsInput"}
11978	if s.Limit != nil && *s.Limit < 1 {
11979		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
11980	}
11981	if s.NextToken != nil && len(*s.NextToken) < 1 {
11982		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
11983	}
11984	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
11985		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
11986	}
11987
11988	if invalidParams.Len() > 0 {
11989		return invalidParams
11990	}
11991	return nil
11992}
11993
11994// SetLimit sets the Limit field's value.
11995func (s *DescribeMatchmakingConfigurationsInput) SetLimit(v int64) *DescribeMatchmakingConfigurationsInput {
11996	s.Limit = &v
11997	return s
11998}
11999
12000// SetNames sets the Names field's value.
12001func (s *DescribeMatchmakingConfigurationsInput) SetNames(v []*string) *DescribeMatchmakingConfigurationsInput {
12002	s.Names = v
12003	return s
12004}
12005
12006// SetNextToken sets the NextToken field's value.
12007func (s *DescribeMatchmakingConfigurationsInput) SetNextToken(v string) *DescribeMatchmakingConfigurationsInput {
12008	s.NextToken = &v
12009	return s
12010}
12011
12012// SetRuleSetName sets the RuleSetName field's value.
12013func (s *DescribeMatchmakingConfigurationsInput) SetRuleSetName(v string) *DescribeMatchmakingConfigurationsInput {
12014	s.RuleSetName = &v
12015	return s
12016}
12017
12018// Represents the returned data in response to a request action.
12019type DescribeMatchmakingConfigurationsOutput struct {
12020	_ struct{} `type:"structure"`
12021
12022	// Collection of requested matchmaking configuration objects.
12023	Configurations []*MatchmakingConfiguration `type:"list"`
12024
12025	// Token that indicates where to resume retrieving results on the next call
12026	// to this action. If no token is returned, these results represent the end
12027	// of the list.
12028	NextToken *string `min:"1" type:"string"`
12029}
12030
12031// String returns the string representation
12032func (s DescribeMatchmakingConfigurationsOutput) String() string {
12033	return awsutil.Prettify(s)
12034}
12035
12036// GoString returns the string representation
12037func (s DescribeMatchmakingConfigurationsOutput) GoString() string {
12038	return s.String()
12039}
12040
12041// SetConfigurations sets the Configurations field's value.
12042func (s *DescribeMatchmakingConfigurationsOutput) SetConfigurations(v []*MatchmakingConfiguration) *DescribeMatchmakingConfigurationsOutput {
12043	s.Configurations = v
12044	return s
12045}
12046
12047// SetNextToken sets the NextToken field's value.
12048func (s *DescribeMatchmakingConfigurationsOutput) SetNextToken(v string) *DescribeMatchmakingConfigurationsOutput {
12049	s.NextToken = &v
12050	return s
12051}
12052
12053// Represents the input for a request action.
12054type DescribeMatchmakingInput struct {
12055	_ struct{} `type:"structure"`
12056
12057	// Unique identifier for a matchmaking ticket. You can include up to 10 ID values.
12058	//
12059	// TicketIds is a required field
12060	TicketIds []*string `type:"list" required:"true"`
12061}
12062
12063// String returns the string representation
12064func (s DescribeMatchmakingInput) String() string {
12065	return awsutil.Prettify(s)
12066}
12067
12068// GoString returns the string representation
12069func (s DescribeMatchmakingInput) GoString() string {
12070	return s.String()
12071}
12072
12073// Validate inspects the fields of the type to determine if they are valid.
12074func (s *DescribeMatchmakingInput) Validate() error {
12075	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingInput"}
12076	if s.TicketIds == nil {
12077		invalidParams.Add(request.NewErrParamRequired("TicketIds"))
12078	}
12079
12080	if invalidParams.Len() > 0 {
12081		return invalidParams
12082	}
12083	return nil
12084}
12085
12086// SetTicketIds sets the TicketIds field's value.
12087func (s *DescribeMatchmakingInput) SetTicketIds(v []*string) *DescribeMatchmakingInput {
12088	s.TicketIds = v
12089	return s
12090}
12091
12092// Represents the returned data in response to a request action.
12093type DescribeMatchmakingOutput struct {
12094	_ struct{} `type:"structure"`
12095
12096	// Collection of existing matchmaking ticket objects matching the request.
12097	TicketList []*MatchmakingTicket `type:"list"`
12098}
12099
12100// String returns the string representation
12101func (s DescribeMatchmakingOutput) String() string {
12102	return awsutil.Prettify(s)
12103}
12104
12105// GoString returns the string representation
12106func (s DescribeMatchmakingOutput) GoString() string {
12107	return s.String()
12108}
12109
12110// SetTicketList sets the TicketList field's value.
12111func (s *DescribeMatchmakingOutput) SetTicketList(v []*MatchmakingTicket) *DescribeMatchmakingOutput {
12112	s.TicketList = v
12113	return s
12114}
12115
12116// Represents the input for a request action.
12117type DescribeMatchmakingRuleSetsInput struct {
12118	_ struct{} `type:"structure"`
12119
12120	// Maximum number of results to return. Use this parameter with NextToken to
12121	// get results as a set of sequential pages.
12122	Limit *int64 `min:"1" type:"integer"`
12123
12124	// Unique identifier for a matchmaking rule set. This name is used to identify
12125	// the rule set associated with a matchmaking configuration.
12126	Names []*string `min:"1" type:"list"`
12127
12128	// Token that indicates the start of the next sequential page of results. Use
12129	// the token that is returned with a previous call to this action. To start
12130	// at the beginning of the result set, do not specify a value.
12131	NextToken *string `min:"1" type:"string"`
12132}
12133
12134// String returns the string representation
12135func (s DescribeMatchmakingRuleSetsInput) String() string {
12136	return awsutil.Prettify(s)
12137}
12138
12139// GoString returns the string representation
12140func (s DescribeMatchmakingRuleSetsInput) GoString() string {
12141	return s.String()
12142}
12143
12144// Validate inspects the fields of the type to determine if they are valid.
12145func (s *DescribeMatchmakingRuleSetsInput) Validate() error {
12146	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingRuleSetsInput"}
12147	if s.Limit != nil && *s.Limit < 1 {
12148		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12149	}
12150	if s.Names != nil && len(s.Names) < 1 {
12151		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
12152	}
12153	if s.NextToken != nil && len(*s.NextToken) < 1 {
12154		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12155	}
12156
12157	if invalidParams.Len() > 0 {
12158		return invalidParams
12159	}
12160	return nil
12161}
12162
12163// SetLimit sets the Limit field's value.
12164func (s *DescribeMatchmakingRuleSetsInput) SetLimit(v int64) *DescribeMatchmakingRuleSetsInput {
12165	s.Limit = &v
12166	return s
12167}
12168
12169// SetNames sets the Names field's value.
12170func (s *DescribeMatchmakingRuleSetsInput) SetNames(v []*string) *DescribeMatchmakingRuleSetsInput {
12171	s.Names = v
12172	return s
12173}
12174
12175// SetNextToken sets the NextToken field's value.
12176func (s *DescribeMatchmakingRuleSetsInput) SetNextToken(v string) *DescribeMatchmakingRuleSetsInput {
12177	s.NextToken = &v
12178	return s
12179}
12180
12181// Represents the returned data in response to a request action.
12182type DescribeMatchmakingRuleSetsOutput struct {
12183	_ struct{} `type:"structure"`
12184
12185	// Token that indicates where to resume retrieving results on the next call
12186	// to this action. If no token is returned, these results represent the end
12187	// of the list.
12188	NextToken *string `min:"1" type:"string"`
12189
12190	// Collection of requested matchmaking rule set objects.
12191	//
12192	// RuleSets is a required field
12193	RuleSets []*MatchmakingRuleSet `type:"list" required:"true"`
12194}
12195
12196// String returns the string representation
12197func (s DescribeMatchmakingRuleSetsOutput) String() string {
12198	return awsutil.Prettify(s)
12199}
12200
12201// GoString returns the string representation
12202func (s DescribeMatchmakingRuleSetsOutput) GoString() string {
12203	return s.String()
12204}
12205
12206// SetNextToken sets the NextToken field's value.
12207func (s *DescribeMatchmakingRuleSetsOutput) SetNextToken(v string) *DescribeMatchmakingRuleSetsOutput {
12208	s.NextToken = &v
12209	return s
12210}
12211
12212// SetRuleSets sets the RuleSets field's value.
12213func (s *DescribeMatchmakingRuleSetsOutput) SetRuleSets(v []*MatchmakingRuleSet) *DescribeMatchmakingRuleSetsOutput {
12214	s.RuleSets = v
12215	return s
12216}
12217
12218// Represents the input for a request action.
12219type DescribePlayerSessionsInput struct {
12220	_ struct{} `type:"structure"`
12221
12222	// Unique identifier for the game session to retrieve player sessions for.
12223	GameSessionId *string `min:"1" type:"string"`
12224
12225	// Maximum number of results to return. Use this parameter with NextToken to
12226	// get results as a set of sequential pages. If a player session ID is specified,
12227	// this parameter is ignored.
12228	Limit *int64 `min:"1" type:"integer"`
12229
12230	// Token that indicates the start of the next sequential page of results. Use
12231	// the token that is returned with a previous call to this action. To start
12232	// at the beginning of the result set, do not specify a value. If a player session
12233	// ID is specified, this parameter is ignored.
12234	NextToken *string `min:"1" type:"string"`
12235
12236	// Unique identifier for a player to retrieve player sessions for.
12237	PlayerId *string `min:"1" type:"string"`
12238
12239	// Unique identifier for a player session to retrieve.
12240	PlayerSessionId *string `type:"string"`
12241
12242	// Player session status to filter results on.
12243	//
12244	// Possible player session statuses include the following:
12245	//
12246	//    * RESERVED -- The player session request has been received, but the player
12247	//    has not yet connected to the server process and/or been validated.
12248	//
12249	//    * ACTIVE -- The player has been validated by the server process and is
12250	//    currently connected.
12251	//
12252	//    * COMPLETED -- The player connection has been dropped.
12253	//
12254	//    * TIMEDOUT -- A player session request was received, but the player did
12255	//    not connect and/or was not validated within the timeout limit (60 seconds).
12256	PlayerSessionStatusFilter *string `min:"1" type:"string"`
12257}
12258
12259// String returns the string representation
12260func (s DescribePlayerSessionsInput) String() string {
12261	return awsutil.Prettify(s)
12262}
12263
12264// GoString returns the string representation
12265func (s DescribePlayerSessionsInput) GoString() string {
12266	return s.String()
12267}
12268
12269// Validate inspects the fields of the type to determine if they are valid.
12270func (s *DescribePlayerSessionsInput) Validate() error {
12271	invalidParams := request.ErrInvalidParams{Context: "DescribePlayerSessionsInput"}
12272	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
12273		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
12274	}
12275	if s.Limit != nil && *s.Limit < 1 {
12276		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12277	}
12278	if s.NextToken != nil && len(*s.NextToken) < 1 {
12279		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12280	}
12281	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
12282		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
12283	}
12284	if s.PlayerSessionStatusFilter != nil && len(*s.PlayerSessionStatusFilter) < 1 {
12285		invalidParams.Add(request.NewErrParamMinLen("PlayerSessionStatusFilter", 1))
12286	}
12287
12288	if invalidParams.Len() > 0 {
12289		return invalidParams
12290	}
12291	return nil
12292}
12293
12294// SetGameSessionId sets the GameSessionId field's value.
12295func (s *DescribePlayerSessionsInput) SetGameSessionId(v string) *DescribePlayerSessionsInput {
12296	s.GameSessionId = &v
12297	return s
12298}
12299
12300// SetLimit sets the Limit field's value.
12301func (s *DescribePlayerSessionsInput) SetLimit(v int64) *DescribePlayerSessionsInput {
12302	s.Limit = &v
12303	return s
12304}
12305
12306// SetNextToken sets the NextToken field's value.
12307func (s *DescribePlayerSessionsInput) SetNextToken(v string) *DescribePlayerSessionsInput {
12308	s.NextToken = &v
12309	return s
12310}
12311
12312// SetPlayerId sets the PlayerId field's value.
12313func (s *DescribePlayerSessionsInput) SetPlayerId(v string) *DescribePlayerSessionsInput {
12314	s.PlayerId = &v
12315	return s
12316}
12317
12318// SetPlayerSessionId sets the PlayerSessionId field's value.
12319func (s *DescribePlayerSessionsInput) SetPlayerSessionId(v string) *DescribePlayerSessionsInput {
12320	s.PlayerSessionId = &v
12321	return s
12322}
12323
12324// SetPlayerSessionStatusFilter sets the PlayerSessionStatusFilter field's value.
12325func (s *DescribePlayerSessionsInput) SetPlayerSessionStatusFilter(v string) *DescribePlayerSessionsInput {
12326	s.PlayerSessionStatusFilter = &v
12327	return s
12328}
12329
12330// Represents the returned data in response to a request action.
12331type DescribePlayerSessionsOutput struct {
12332	_ struct{} `type:"structure"`
12333
12334	// Token that indicates where to resume retrieving results on the next call
12335	// to this action. If no token is returned, these results represent the end
12336	// of the list.
12337	NextToken *string `min:"1" type:"string"`
12338
12339	// Collection of objects containing properties for each player session that
12340	// matches the request.
12341	PlayerSessions []*PlayerSession `type:"list"`
12342}
12343
12344// String returns the string representation
12345func (s DescribePlayerSessionsOutput) String() string {
12346	return awsutil.Prettify(s)
12347}
12348
12349// GoString returns the string representation
12350func (s DescribePlayerSessionsOutput) GoString() string {
12351	return s.String()
12352}
12353
12354// SetNextToken sets the NextToken field's value.
12355func (s *DescribePlayerSessionsOutput) SetNextToken(v string) *DescribePlayerSessionsOutput {
12356	s.NextToken = &v
12357	return s
12358}
12359
12360// SetPlayerSessions sets the PlayerSessions field's value.
12361func (s *DescribePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *DescribePlayerSessionsOutput {
12362	s.PlayerSessions = v
12363	return s
12364}
12365
12366// Represents the input for a request action.
12367type DescribeRuntimeConfigurationInput struct {
12368	_ struct{} `type:"structure"`
12369
12370	// Unique identifier for a fleet to get the run-time configuration for.
12371	//
12372	// FleetId is a required field
12373	FleetId *string `type:"string" required:"true"`
12374}
12375
12376// String returns the string representation
12377func (s DescribeRuntimeConfigurationInput) String() string {
12378	return awsutil.Prettify(s)
12379}
12380
12381// GoString returns the string representation
12382func (s DescribeRuntimeConfigurationInput) GoString() string {
12383	return s.String()
12384}
12385
12386// Validate inspects the fields of the type to determine if they are valid.
12387func (s *DescribeRuntimeConfigurationInput) Validate() error {
12388	invalidParams := request.ErrInvalidParams{Context: "DescribeRuntimeConfigurationInput"}
12389	if s.FleetId == nil {
12390		invalidParams.Add(request.NewErrParamRequired("FleetId"))
12391	}
12392
12393	if invalidParams.Len() > 0 {
12394		return invalidParams
12395	}
12396	return nil
12397}
12398
12399// SetFleetId sets the FleetId field's value.
12400func (s *DescribeRuntimeConfigurationInput) SetFleetId(v string) *DescribeRuntimeConfigurationInput {
12401	s.FleetId = &v
12402	return s
12403}
12404
12405// Represents the returned data in response to a request action.
12406type DescribeRuntimeConfigurationOutput struct {
12407	_ struct{} `type:"structure"`
12408
12409	// Instructions describing how server processes should be launched and maintained
12410	// on each instance in the fleet.
12411	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
12412}
12413
12414// String returns the string representation
12415func (s DescribeRuntimeConfigurationOutput) String() string {
12416	return awsutil.Prettify(s)
12417}
12418
12419// GoString returns the string representation
12420func (s DescribeRuntimeConfigurationOutput) GoString() string {
12421	return s.String()
12422}
12423
12424// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
12425func (s *DescribeRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *DescribeRuntimeConfigurationOutput {
12426	s.RuntimeConfiguration = v
12427	return s
12428}
12429
12430// Represents the input for a request action.
12431type DescribeScalingPoliciesInput struct {
12432	_ struct{} `type:"structure"`
12433
12434	// Unique identifier for a fleet to retrieve scaling policies for.
12435	//
12436	// FleetId is a required field
12437	FleetId *string `type:"string" required:"true"`
12438
12439	// Maximum number of results to return. Use this parameter with NextToken to
12440	// get results as a set of sequential pages.
12441	Limit *int64 `min:"1" type:"integer"`
12442
12443	// Token that indicates the start of the next sequential page of results. Use
12444	// the token that is returned with a previous call to this action. To start
12445	// at the beginning of the result set, do not specify a value.
12446	NextToken *string `min:"1" type:"string"`
12447
12448	// Scaling policy status to filter results on. A scaling policy is only in force
12449	// when in an ACTIVE status.
12450	//
12451	//    * ACTIVE -- The scaling policy is currently in force.
12452	//
12453	//    * UPDATEREQUESTED -- A request to update the scaling policy has been received.
12454	//
12455	//    * UPDATING -- A change is being made to the scaling policy.
12456	//
12457	//    * DELETEREQUESTED -- A request to delete the scaling policy has been received.
12458	//
12459	//    * DELETING -- The scaling policy is being deleted.
12460	//
12461	//    * DELETED -- The scaling policy has been deleted.
12462	//
12463	//    * ERROR -- An error occurred in creating the policy. It should be removed
12464	//    and recreated.
12465	StatusFilter *string `type:"string" enum:"ScalingStatusType"`
12466}
12467
12468// String returns the string representation
12469func (s DescribeScalingPoliciesInput) String() string {
12470	return awsutil.Prettify(s)
12471}
12472
12473// GoString returns the string representation
12474func (s DescribeScalingPoliciesInput) GoString() string {
12475	return s.String()
12476}
12477
12478// Validate inspects the fields of the type to determine if they are valid.
12479func (s *DescribeScalingPoliciesInput) Validate() error {
12480	invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPoliciesInput"}
12481	if s.FleetId == nil {
12482		invalidParams.Add(request.NewErrParamRequired("FleetId"))
12483	}
12484	if s.Limit != nil && *s.Limit < 1 {
12485		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12486	}
12487	if s.NextToken != nil && len(*s.NextToken) < 1 {
12488		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12489	}
12490
12491	if invalidParams.Len() > 0 {
12492		return invalidParams
12493	}
12494	return nil
12495}
12496
12497// SetFleetId sets the FleetId field's value.
12498func (s *DescribeScalingPoliciesInput) SetFleetId(v string) *DescribeScalingPoliciesInput {
12499	s.FleetId = &v
12500	return s
12501}
12502
12503// SetLimit sets the Limit field's value.
12504func (s *DescribeScalingPoliciesInput) SetLimit(v int64) *DescribeScalingPoliciesInput {
12505	s.Limit = &v
12506	return s
12507}
12508
12509// SetNextToken sets the NextToken field's value.
12510func (s *DescribeScalingPoliciesInput) SetNextToken(v string) *DescribeScalingPoliciesInput {
12511	s.NextToken = &v
12512	return s
12513}
12514
12515// SetStatusFilter sets the StatusFilter field's value.
12516func (s *DescribeScalingPoliciesInput) SetStatusFilter(v string) *DescribeScalingPoliciesInput {
12517	s.StatusFilter = &v
12518	return s
12519}
12520
12521// Represents the returned data in response to a request action.
12522type DescribeScalingPoliciesOutput struct {
12523	_ struct{} `type:"structure"`
12524
12525	// Token that indicates where to resume retrieving results on the next call
12526	// to this action. If no token is returned, these results represent the end
12527	// of the list.
12528	NextToken *string `min:"1" type:"string"`
12529
12530	// Collection of objects containing the scaling policies matching the request.
12531	ScalingPolicies []*ScalingPolicy `type:"list"`
12532}
12533
12534// String returns the string representation
12535func (s DescribeScalingPoliciesOutput) String() string {
12536	return awsutil.Prettify(s)
12537}
12538
12539// GoString returns the string representation
12540func (s DescribeScalingPoliciesOutput) GoString() string {
12541	return s.String()
12542}
12543
12544// SetNextToken sets the NextToken field's value.
12545func (s *DescribeScalingPoliciesOutput) SetNextToken(v string) *DescribeScalingPoliciesOutput {
12546	s.NextToken = &v
12547	return s
12548}
12549
12550// SetScalingPolicies sets the ScalingPolicies field's value.
12551func (s *DescribeScalingPoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *DescribeScalingPoliciesOutput {
12552	s.ScalingPolicies = v
12553	return s
12554}
12555
12556type DescribeVpcPeeringAuthorizationsInput struct {
12557	_ struct{} `type:"structure"`
12558}
12559
12560// String returns the string representation
12561func (s DescribeVpcPeeringAuthorizationsInput) String() string {
12562	return awsutil.Prettify(s)
12563}
12564
12565// GoString returns the string representation
12566func (s DescribeVpcPeeringAuthorizationsInput) GoString() string {
12567	return s.String()
12568}
12569
12570type DescribeVpcPeeringAuthorizationsOutput struct {
12571	_ struct{} `type:"structure"`
12572
12573	// Collection of objects that describe all valid VPC peering operations for
12574	// the current AWS account.
12575	VpcPeeringAuthorizations []*VpcPeeringAuthorization `type:"list"`
12576}
12577
12578// String returns the string representation
12579func (s DescribeVpcPeeringAuthorizationsOutput) String() string {
12580	return awsutil.Prettify(s)
12581}
12582
12583// GoString returns the string representation
12584func (s DescribeVpcPeeringAuthorizationsOutput) GoString() string {
12585	return s.String()
12586}
12587
12588// SetVpcPeeringAuthorizations sets the VpcPeeringAuthorizations field's value.
12589func (s *DescribeVpcPeeringAuthorizationsOutput) SetVpcPeeringAuthorizations(v []*VpcPeeringAuthorization) *DescribeVpcPeeringAuthorizationsOutput {
12590	s.VpcPeeringAuthorizations = v
12591	return s
12592}
12593
12594// Represents the input for a request action.
12595type DescribeVpcPeeringConnectionsInput struct {
12596	_ struct{} `type:"structure"`
12597
12598	// Unique identifier for a fleet.
12599	FleetId *string `type:"string"`
12600}
12601
12602// String returns the string representation
12603func (s DescribeVpcPeeringConnectionsInput) String() string {
12604	return awsutil.Prettify(s)
12605}
12606
12607// GoString returns the string representation
12608func (s DescribeVpcPeeringConnectionsInput) GoString() string {
12609	return s.String()
12610}
12611
12612// SetFleetId sets the FleetId field's value.
12613func (s *DescribeVpcPeeringConnectionsInput) SetFleetId(v string) *DescribeVpcPeeringConnectionsInput {
12614	s.FleetId = &v
12615	return s
12616}
12617
12618// Represents the returned data in response to a request action.
12619type DescribeVpcPeeringConnectionsOutput struct {
12620	_ struct{} `type:"structure"`
12621
12622	// Collection of VPC peering connection records that match the request.
12623	VpcPeeringConnections []*VpcPeeringConnection `type:"list"`
12624}
12625
12626// String returns the string representation
12627func (s DescribeVpcPeeringConnectionsOutput) String() string {
12628	return awsutil.Prettify(s)
12629}
12630
12631// GoString returns the string representation
12632func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
12633	return s.String()
12634}
12635
12636// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
12637func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
12638	s.VpcPeeringConnections = v
12639	return s
12640}
12641
12642// Player information for use when creating player sessions using a game session
12643// placement request with StartGameSessionPlacement.
12644type DesiredPlayerSession struct {
12645	_ struct{} `type:"structure"`
12646
12647	// Developer-defined information related to a player. Amazon GameLift does not
12648	// use this data, so it can be formatted as needed for use in the game.
12649	PlayerData *string `min:"1" type:"string"`
12650
12651	// Unique identifier for a player to associate with the player session.
12652	PlayerId *string `min:"1" type:"string"`
12653}
12654
12655// String returns the string representation
12656func (s DesiredPlayerSession) String() string {
12657	return awsutil.Prettify(s)
12658}
12659
12660// GoString returns the string representation
12661func (s DesiredPlayerSession) GoString() string {
12662	return s.String()
12663}
12664
12665// Validate inspects the fields of the type to determine if they are valid.
12666func (s *DesiredPlayerSession) Validate() error {
12667	invalidParams := request.ErrInvalidParams{Context: "DesiredPlayerSession"}
12668	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
12669		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
12670	}
12671	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
12672		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
12673	}
12674
12675	if invalidParams.Len() > 0 {
12676		return invalidParams
12677	}
12678	return nil
12679}
12680
12681// SetPlayerData sets the PlayerData field's value.
12682func (s *DesiredPlayerSession) SetPlayerData(v string) *DesiredPlayerSession {
12683	s.PlayerData = &v
12684	return s
12685}
12686
12687// SetPlayerId sets the PlayerId field's value.
12688func (s *DesiredPlayerSession) SetPlayerId(v string) *DesiredPlayerSession {
12689	s.PlayerId = &v
12690	return s
12691}
12692
12693// Current status of fleet capacity. The number of active instances should match
12694// or be in the process of matching the number of desired instances. Pending
12695// and terminating counts are non-zero only if fleet capacity is adjusting to
12696// an UpdateFleetCapacity request, or if access to resources is temporarily
12697// affected.
12698//
12699// Fleet-related operations include:
12700//
12701//    * CreateFleet
12702//
12703//    * ListFleets
12704//
12705//    * Describe fleets:
12706//
12707// DescribeFleetAttributes
12708//
12709// DescribeFleetPortSettings
12710//
12711// DescribeFleetUtilization
12712//
12713// DescribeRuntimeConfiguration
12714//
12715// DescribeFleetEvents
12716//
12717//    * Update fleets:
12718//
12719// UpdateFleetAttributes
12720//
12721// UpdateFleetCapacity
12722//
12723// UpdateFleetPortSettings
12724//
12725// UpdateRuntimeConfiguration
12726//
12727//    * Manage fleet capacity:
12728//
12729// DescribeFleetCapacity
12730//
12731// UpdateFleetCapacity
12732//
12733// PutScalingPolicy (automatic scaling)
12734//
12735// DescribeScalingPolicies (automatic scaling)
12736//
12737// DeleteScalingPolicy (automatic scaling)
12738//
12739// DescribeEC2InstanceLimits
12740//
12741//    * DeleteFleet
12742type EC2InstanceCounts struct {
12743	_ struct{} `type:"structure"`
12744
12745	// Actual number of active instances in the fleet.
12746	ACTIVE *int64 `type:"integer"`
12747
12748	// Ideal number of active instances in the fleet.
12749	DESIRED *int64 `type:"integer"`
12750
12751	// Number of active instances in the fleet that are not currently hosting a
12752	// game session.
12753	IDLE *int64 `type:"integer"`
12754
12755	// Maximum value allowed for the fleet's instance count.
12756	MAXIMUM *int64 `type:"integer"`
12757
12758	// Minimum value allowed for the fleet's instance count.
12759	MINIMUM *int64 `type:"integer"`
12760
12761	// Number of instances in the fleet that are starting but not yet active.
12762	PENDING *int64 `type:"integer"`
12763
12764	// Number of instances in the fleet that are no longer active but haven't yet
12765	// been terminated.
12766	TERMINATING *int64 `type:"integer"`
12767}
12768
12769// String returns the string representation
12770func (s EC2InstanceCounts) String() string {
12771	return awsutil.Prettify(s)
12772}
12773
12774// GoString returns the string representation
12775func (s EC2InstanceCounts) GoString() string {
12776	return s.String()
12777}
12778
12779// SetACTIVE sets the ACTIVE field's value.
12780func (s *EC2InstanceCounts) SetACTIVE(v int64) *EC2InstanceCounts {
12781	s.ACTIVE = &v
12782	return s
12783}
12784
12785// SetDESIRED sets the DESIRED field's value.
12786func (s *EC2InstanceCounts) SetDESIRED(v int64) *EC2InstanceCounts {
12787	s.DESIRED = &v
12788	return s
12789}
12790
12791// SetIDLE sets the IDLE field's value.
12792func (s *EC2InstanceCounts) SetIDLE(v int64) *EC2InstanceCounts {
12793	s.IDLE = &v
12794	return s
12795}
12796
12797// SetMAXIMUM sets the MAXIMUM field's value.
12798func (s *EC2InstanceCounts) SetMAXIMUM(v int64) *EC2InstanceCounts {
12799	s.MAXIMUM = &v
12800	return s
12801}
12802
12803// SetMINIMUM sets the MINIMUM field's value.
12804func (s *EC2InstanceCounts) SetMINIMUM(v int64) *EC2InstanceCounts {
12805	s.MINIMUM = &v
12806	return s
12807}
12808
12809// SetPENDING sets the PENDING field's value.
12810func (s *EC2InstanceCounts) SetPENDING(v int64) *EC2InstanceCounts {
12811	s.PENDING = &v
12812	return s
12813}
12814
12815// SetTERMINATING sets the TERMINATING field's value.
12816func (s *EC2InstanceCounts) SetTERMINATING(v int64) *EC2InstanceCounts {
12817	s.TERMINATING = &v
12818	return s
12819}
12820
12821// Maximum number of instances allowed based on the Amazon Elastic Compute Cloud
12822// (Amazon EC2) instance type. Instance limits can be retrieved by calling DescribeEC2InstanceLimits.
12823type EC2InstanceLimit struct {
12824	_ struct{} `type:"structure"`
12825
12826	// Number of instances of the specified type that are currently in use by this
12827	// AWS account.
12828	CurrentInstances *int64 `type:"integer"`
12829
12830	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
12831	// instance type determines the computing resources of each instance in the
12832	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
12833	// supports the following EC2 instance types. See Amazon EC2 Instance Types
12834	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
12835	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
12836
12837	// Number of instances allowed.
12838	InstanceLimit *int64 `type:"integer"`
12839}
12840
12841// String returns the string representation
12842func (s EC2InstanceLimit) String() string {
12843	return awsutil.Prettify(s)
12844}
12845
12846// GoString returns the string representation
12847func (s EC2InstanceLimit) GoString() string {
12848	return s.String()
12849}
12850
12851// SetCurrentInstances sets the CurrentInstances field's value.
12852func (s *EC2InstanceLimit) SetCurrentInstances(v int64) *EC2InstanceLimit {
12853	s.CurrentInstances = &v
12854	return s
12855}
12856
12857// SetEC2InstanceType sets the EC2InstanceType field's value.
12858func (s *EC2InstanceLimit) SetEC2InstanceType(v string) *EC2InstanceLimit {
12859	s.EC2InstanceType = &v
12860	return s
12861}
12862
12863// SetInstanceLimit sets the InstanceLimit field's value.
12864func (s *EC2InstanceLimit) SetInstanceLimit(v int64) *EC2InstanceLimit {
12865	s.InstanceLimit = &v
12866	return s
12867}
12868
12869// Log entry describing an event that involves Amazon GameLift resources (such
12870// as a fleet). In addition to tracking activity, event codes and messages can
12871// provide additional information for troubleshooting and debugging problems.
12872type Event struct {
12873	_ struct{} `type:"structure"`
12874
12875	// Type of event being logged. The following events are currently in use:
12876	//
12877	// Fleet creation events:
12878	//
12879	//    * FLEET_CREATED -- A fleet record was successfully created with a status
12880	//    of NEW. Event messaging includes the fleet ID.
12881	//
12882	//    * FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING.
12883	//    The compressed build has started downloading to a fleet instance for installation.
12884	//
12885	//    *  FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the
12886	//    fleet instance.
12887	//
12888	//    * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully
12889	//    downloaded to an instance, and the build files are now being extracted
12890	//    from the uploaded build and saved to an instance. Failure at this stage
12891	//    prevents a fleet from moving to ACTIVE status. Logs for this stage display
12892	//    a list of the files that are extracted and saved on the instance. Access
12893	//    the logs by using the URL in PreSignedLogUrl.
12894	//
12895	//    * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were
12896	//    successfully extracted, and the Amazon GameLift is now running the build's
12897	//    install script (if one is included). Failure in this stage prevents a
12898	//    fleet from moving to ACTIVE status. Logs for this stage list the installation
12899	//    steps and whether or not the install completed successfully. Access the
12900	//    logs by using the URL in PreSignedLogUrl.
12901	//
12902	//    * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful,
12903	//    and the Amazon GameLift is now verifying that the game server launch paths,
12904	//    which are specified in the fleet's run-time configuration, exist. If any
12905	//    listed launch path exists, Amazon GameLift tries to launch a game server
12906	//    process and waits for the process to report ready. Failures in this stage
12907	//    prevent a fleet from moving to ACTIVE status. Logs for this stage list
12908	//    the launch paths in the run-time configuration and indicate whether each
12909	//    is found. Access the logs by using the URL in PreSignedLogUrl.
12910	//
12911	//    * FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.
12912	//
12913	//    *  FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the run-time
12914	//    configuration failed because the executable specified in a launch path
12915	//    does not exist on the instance.
12916	//
12917	//    * FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.
12918	//
12919	//    * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the run-time
12920	//    configuration failed because the executable specified in a launch path
12921	//    failed to run on the fleet instance.
12922	//
12923	//    * FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.
12924	//
12925	//
12926	//    *  FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete
12927	//    one of the steps in the fleet activation process. This event code indicates
12928	//    that the game build was successfully downloaded to a fleet instance, built,
12929	//    and validated, but was not able to start a server process. A possible
12930	//    reason for failure is that the game server is not reporting "process ready"
12931	//    to the Amazon GameLift service.
12932	//
12933	//    * FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to
12934	//    ACTIVE. The fleet is now ready to host game sessions.
12935	//
12936	// VPC peering events:
12937	//
12938	//    * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established
12939	//    between the VPC for an Amazon GameLift fleet and a VPC in your AWS account.
12940	//
12941	//    * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed.
12942	//    Event details and status information (see DescribeVpcPeeringConnections)
12943	//    provide additional detail. A common reason for peering failure is that
12944	//    the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve
12945	//    this, change the CIDR block for the VPC in your AWS account. For more
12946	//    information on VPC peering failures, see http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html
12947	//    (http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html)
12948	//
12949	//    * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully
12950	//    deleted.
12951	//
12952	// Spot instance events:
12953	//
12954	//    *  INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with
12955	//    a two-minute notification.
12956	//
12957	// Other fleet events:
12958	//
12959	//    * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings
12960	//    (desired instances, minimum/maximum scaling limits). Event messaging includes
12961	//    the new capacity settings.
12962	//
12963	//    * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made
12964	//    to the fleet's game session protection policy setting. Event messaging
12965	//    includes both the old and new policy setting.
12966	//
12967	//    * FLEET_DELETED -- A request to delete a fleet was initiated.
12968	//
12969	//    *  GENERIC_EVENT -- An unspecified event has occurred.
12970	EventCode *string `type:"string" enum:"EventCode"`
12971
12972	// Unique identifier for a fleet event.
12973	EventId *string `min:"1" type:"string"`
12974
12975	// Time stamp indicating when this event occurred. Format is a number expressed
12976	// in Unix time as milliseconds (for example "1469498468.057").
12977	EventTime *time.Time `type:"timestamp" timestampFormat:"unix"`
12978
12979	// Additional information related to the event.
12980	Message *string `min:"1" type:"string"`
12981
12982	// Location of stored logs with additional detail that is related to the event.
12983	// This is useful for debugging issues. The URL is valid for 15 minutes. You
12984	// can also access fleet creation logs through the Amazon GameLift console.
12985	PreSignedLogUrl *string `min:"1" type:"string"`
12986
12987	// Unique identifier for an event resource, such as a fleet ID.
12988	ResourceId *string `min:"1" type:"string"`
12989}
12990
12991// String returns the string representation
12992func (s Event) String() string {
12993	return awsutil.Prettify(s)
12994}
12995
12996// GoString returns the string representation
12997func (s Event) GoString() string {
12998	return s.String()
12999}
13000
13001// SetEventCode sets the EventCode field's value.
13002func (s *Event) SetEventCode(v string) *Event {
13003	s.EventCode = &v
13004	return s
13005}
13006
13007// SetEventId sets the EventId field's value.
13008func (s *Event) SetEventId(v string) *Event {
13009	s.EventId = &v
13010	return s
13011}
13012
13013// SetEventTime sets the EventTime field's value.
13014func (s *Event) SetEventTime(v time.Time) *Event {
13015	s.EventTime = &v
13016	return s
13017}
13018
13019// SetMessage sets the Message field's value.
13020func (s *Event) SetMessage(v string) *Event {
13021	s.Message = &v
13022	return s
13023}
13024
13025// SetPreSignedLogUrl sets the PreSignedLogUrl field's value.
13026func (s *Event) SetPreSignedLogUrl(v string) *Event {
13027	s.PreSignedLogUrl = &v
13028	return s
13029}
13030
13031// SetResourceId sets the ResourceId field's value.
13032func (s *Event) SetResourceId(v string) *Event {
13033	s.ResourceId = &v
13034	return s
13035}
13036
13037// General properties describing a fleet.
13038//
13039// Fleet-related operations include:
13040//
13041//    * CreateFleet
13042//
13043//    * ListFleets
13044//
13045//    * Describe fleets:
13046//
13047// DescribeFleetAttributes
13048//
13049// DescribeFleetPortSettings
13050//
13051// DescribeFleetUtilization
13052//
13053// DescribeRuntimeConfiguration
13054//
13055// DescribeFleetEvents
13056//
13057//    * Update fleets:
13058//
13059// UpdateFleetAttributes
13060//
13061// UpdateFleetCapacity
13062//
13063// UpdateFleetPortSettings
13064//
13065// UpdateRuntimeConfiguration
13066//
13067//    * Manage fleet capacity:
13068//
13069// DescribeFleetCapacity
13070//
13071// UpdateFleetCapacity
13072//
13073// PutScalingPolicy (automatic scaling)
13074//
13075// DescribeScalingPolicies (automatic scaling)
13076//
13077// DeleteScalingPolicy (automatic scaling)
13078//
13079// DescribeEC2InstanceLimits
13080//
13081//    * DeleteFleet
13082type FleetAttributes struct {
13083	_ struct{} `type:"structure"`
13084
13085	// Unique identifier for a build.
13086	BuildId *string `type:"string"`
13087
13088	// Time stamp indicating when this data object was created. Format is a number
13089	// expressed in Unix time as milliseconds (for example "1469498468.057").
13090	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
13091
13092	// Human-readable description of the fleet.
13093	Description *string `min:"1" type:"string"`
13094
13095	// Identifier for a fleet that is unique across all regions.
13096	FleetArn *string `min:"1" type:"string"`
13097
13098	// Unique identifier for a fleet.
13099	FleetId *string `type:"string"`
13100
13101	// Indicates whether the fleet uses on-demand or spot instances. A spot instance
13102	// in use may be interrupted with a two-minute notification.
13103	FleetType *string `type:"string" enum:"FleetType"`
13104
13105	// EC2 instance type indicating the computing resources of each instance in
13106	// the fleet, including CPU, memory, storage, and networking capacity. See Amazon
13107	// EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/) for detailed
13108	// descriptions.
13109	InstanceType *string `type:"string" enum:"EC2InstanceType"`
13110
13111	// Location of default log files. When a server process is shut down, Amazon
13112	// GameLift captures and stores any log files in this location. These logs are
13113	// in addition to game session logs; see more on game session logs in the Amazon
13114	// GameLift Developer Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code).
13115	// If no default log path for a fleet is specified, Amazon GameLift automatically
13116	// uploads logs that are stored on each instance at C:\game\logs (for Windows)
13117	// or /local/game/logs (for Linux). Use the Amazon GameLift console to access
13118	// stored logs.
13119	LogPaths []*string `type:"list"`
13120
13121	// Names of metric groups that this fleet is included in. In Amazon CloudWatch,
13122	// you can view metrics for an individual fleet or aggregated metrics for fleets
13123	// that are in a fleet metric group. A fleet can be included in only one metric
13124	// group at a time.
13125	MetricGroups []*string `type:"list"`
13126
13127	// Descriptive label that is associated with a fleet. Fleet names do not need
13128	// to be unique.
13129	Name *string `min:"1" type:"string"`
13130
13131	// Type of game session protection to set for all new instances started in the
13132	// fleet.
13133	//
13134	//    * NoProtection -- The game session can be terminated during a scale-down
13135	//    event.
13136	//
13137	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
13138	//    be terminated during a scale-down event.
13139	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
13140
13141	// Operating system of the fleet's computing resources. A fleet's operating
13142	// system depends on the OS specified for the build that is deployed on this
13143	// fleet.
13144	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
13145
13146	// Fleet policy to limit the number of game sessions an individual player can
13147	// create over a span of time.
13148	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
13149
13150	// Game server launch parameters specified for fleets created before 2016-08-04
13151	// (or AWS SDK v. 0.12.16). Server launch parameters for fleets created after
13152	// this date are specified in the fleet's RuntimeConfiguration.
13153	ServerLaunchParameters *string `min:"1" type:"string"`
13154
13155	// Path to a game server executable in the fleet's build, specified for fleets
13156	// created before 2016-08-04 (or AWS SDK v. 0.12.16). Server launch paths for
13157	// fleets created after this date are specified in the fleet's RuntimeConfiguration.
13158	ServerLaunchPath *string `min:"1" type:"string"`
13159
13160	// Current status of the fleet.
13161	//
13162	// Possible fleet statuses include the following:
13163	//
13164	//    * NEW -- A new fleet has been defined and desired instances is set to
13165	//    1.
13166	//
13167	//    * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- Amazon GameLift is setting
13168	//    up the new fleet, creating new instances with the game build and starting
13169	//    server processes.
13170	//
13171	//    * ACTIVE -- Hosts can now accept game sessions.
13172	//
13173	//    * ERROR -- An error occurred when downloading, validating, building, or
13174	//    activating the fleet.
13175	//
13176	//    * DELETING -- Hosts are responding to a delete fleet request.
13177	//
13178	//    * TERMINATED -- The fleet no longer exists.
13179	Status *string `type:"string" enum:"FleetStatus"`
13180
13181	// Time stamp indicating when this data object was terminated. Format is a number
13182	// expressed in Unix time as milliseconds (for example "1469498468.057").
13183	TerminationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
13184}
13185
13186// String returns the string representation
13187func (s FleetAttributes) String() string {
13188	return awsutil.Prettify(s)
13189}
13190
13191// GoString returns the string representation
13192func (s FleetAttributes) GoString() string {
13193	return s.String()
13194}
13195
13196// SetBuildId sets the BuildId field's value.
13197func (s *FleetAttributes) SetBuildId(v string) *FleetAttributes {
13198	s.BuildId = &v
13199	return s
13200}
13201
13202// SetCreationTime sets the CreationTime field's value.
13203func (s *FleetAttributes) SetCreationTime(v time.Time) *FleetAttributes {
13204	s.CreationTime = &v
13205	return s
13206}
13207
13208// SetDescription sets the Description field's value.
13209func (s *FleetAttributes) SetDescription(v string) *FleetAttributes {
13210	s.Description = &v
13211	return s
13212}
13213
13214// SetFleetArn sets the FleetArn field's value.
13215func (s *FleetAttributes) SetFleetArn(v string) *FleetAttributes {
13216	s.FleetArn = &v
13217	return s
13218}
13219
13220// SetFleetId sets the FleetId field's value.
13221func (s *FleetAttributes) SetFleetId(v string) *FleetAttributes {
13222	s.FleetId = &v
13223	return s
13224}
13225
13226// SetFleetType sets the FleetType field's value.
13227func (s *FleetAttributes) SetFleetType(v string) *FleetAttributes {
13228	s.FleetType = &v
13229	return s
13230}
13231
13232// SetInstanceType sets the InstanceType field's value.
13233func (s *FleetAttributes) SetInstanceType(v string) *FleetAttributes {
13234	s.InstanceType = &v
13235	return s
13236}
13237
13238// SetLogPaths sets the LogPaths field's value.
13239func (s *FleetAttributes) SetLogPaths(v []*string) *FleetAttributes {
13240	s.LogPaths = v
13241	return s
13242}
13243
13244// SetMetricGroups sets the MetricGroups field's value.
13245func (s *FleetAttributes) SetMetricGroups(v []*string) *FleetAttributes {
13246	s.MetricGroups = v
13247	return s
13248}
13249
13250// SetName sets the Name field's value.
13251func (s *FleetAttributes) SetName(v string) *FleetAttributes {
13252	s.Name = &v
13253	return s
13254}
13255
13256// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
13257func (s *FleetAttributes) SetNewGameSessionProtectionPolicy(v string) *FleetAttributes {
13258	s.NewGameSessionProtectionPolicy = &v
13259	return s
13260}
13261
13262// SetOperatingSystem sets the OperatingSystem field's value.
13263func (s *FleetAttributes) SetOperatingSystem(v string) *FleetAttributes {
13264	s.OperatingSystem = &v
13265	return s
13266}
13267
13268// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
13269func (s *FleetAttributes) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *FleetAttributes {
13270	s.ResourceCreationLimitPolicy = v
13271	return s
13272}
13273
13274// SetServerLaunchParameters sets the ServerLaunchParameters field's value.
13275func (s *FleetAttributes) SetServerLaunchParameters(v string) *FleetAttributes {
13276	s.ServerLaunchParameters = &v
13277	return s
13278}
13279
13280// SetServerLaunchPath sets the ServerLaunchPath field's value.
13281func (s *FleetAttributes) SetServerLaunchPath(v string) *FleetAttributes {
13282	s.ServerLaunchPath = &v
13283	return s
13284}
13285
13286// SetStatus sets the Status field's value.
13287func (s *FleetAttributes) SetStatus(v string) *FleetAttributes {
13288	s.Status = &v
13289	return s
13290}
13291
13292// SetTerminationTime sets the TerminationTime field's value.
13293func (s *FleetAttributes) SetTerminationTime(v time.Time) *FleetAttributes {
13294	s.TerminationTime = &v
13295	return s
13296}
13297
13298// Information about the fleet's capacity. Fleet capacity is measured in EC2
13299// instances. By default, new fleets have a capacity of one instance, but can
13300// be updated as needed. The maximum number of instances for a fleet is determined
13301// by the fleet's instance type.
13302//
13303// Fleet-related operations include:
13304//
13305//    * CreateFleet
13306//
13307//    * ListFleets
13308//
13309//    * Describe fleets:
13310//
13311// DescribeFleetAttributes
13312//
13313// DescribeFleetPortSettings
13314//
13315// DescribeFleetUtilization
13316//
13317// DescribeRuntimeConfiguration
13318//
13319// DescribeFleetEvents
13320//
13321//    * Update fleets:
13322//
13323// UpdateFleetAttributes
13324//
13325// UpdateFleetCapacity
13326//
13327// UpdateFleetPortSettings
13328//
13329// UpdateRuntimeConfiguration
13330//
13331//    * Manage fleet capacity:
13332//
13333// DescribeFleetCapacity
13334//
13335// UpdateFleetCapacity
13336//
13337// PutScalingPolicy (automatic scaling)
13338//
13339// DescribeScalingPolicies (automatic scaling)
13340//
13341// DeleteScalingPolicy (automatic scaling)
13342//
13343// DescribeEC2InstanceLimits
13344//
13345//    * DeleteFleet
13346type FleetCapacity struct {
13347	_ struct{} `type:"structure"`
13348
13349	// Unique identifier for a fleet.
13350	FleetId *string `type:"string"`
13351
13352	// Current status of fleet capacity.
13353	InstanceCounts *EC2InstanceCounts `type:"structure"`
13354
13355	// Name of an EC2 instance type that is supported in Amazon GameLift. A fleet
13356	// instance type determines the computing resources of each instance in the
13357	// fleet, including CPU, memory, storage, and networking capacity. Amazon GameLift
13358	// supports the following EC2 instance types. See Amazon EC2 Instance Types
13359	// (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions.
13360	InstanceType *string `type:"string" enum:"EC2InstanceType"`
13361}
13362
13363// String returns the string representation
13364func (s FleetCapacity) String() string {
13365	return awsutil.Prettify(s)
13366}
13367
13368// GoString returns the string representation
13369func (s FleetCapacity) GoString() string {
13370	return s.String()
13371}
13372
13373// SetFleetId sets the FleetId field's value.
13374func (s *FleetCapacity) SetFleetId(v string) *FleetCapacity {
13375	s.FleetId = &v
13376	return s
13377}
13378
13379// SetInstanceCounts sets the InstanceCounts field's value.
13380func (s *FleetCapacity) SetInstanceCounts(v *EC2InstanceCounts) *FleetCapacity {
13381	s.InstanceCounts = v
13382	return s
13383}
13384
13385// SetInstanceType sets the InstanceType field's value.
13386func (s *FleetCapacity) SetInstanceType(v string) *FleetCapacity {
13387	s.InstanceType = &v
13388	return s
13389}
13390
13391// Current status of fleet utilization, including the number of game and player
13392// sessions being hosted.
13393//
13394// Fleet-related operations include:
13395//
13396//    * CreateFleet
13397//
13398//    * ListFleets
13399//
13400//    * Describe fleets:
13401//
13402// DescribeFleetAttributes
13403//
13404// DescribeFleetPortSettings
13405//
13406// DescribeFleetUtilization
13407//
13408// DescribeRuntimeConfiguration
13409//
13410// DescribeFleetEvents
13411//
13412//    * Update fleets:
13413//
13414// UpdateFleetAttributes
13415//
13416// UpdateFleetCapacity
13417//
13418// UpdateFleetPortSettings
13419//
13420// UpdateRuntimeConfiguration
13421//
13422//    * Manage fleet capacity:
13423//
13424// DescribeFleetCapacity
13425//
13426// UpdateFleetCapacity
13427//
13428// PutScalingPolicy (automatic scaling)
13429//
13430// DescribeScalingPolicies (automatic scaling)
13431//
13432// DeleteScalingPolicy (automatic scaling)
13433//
13434// DescribeEC2InstanceLimits
13435//
13436//    * DeleteFleet
13437type FleetUtilization struct {
13438	_ struct{} `type:"structure"`
13439
13440	// Number of active game sessions currently being hosted on all instances in
13441	// the fleet.
13442	ActiveGameSessionCount *int64 `type:"integer"`
13443
13444	// Number of server processes in an ACTIVE status currently running across all
13445	// instances in the fleet
13446	ActiveServerProcessCount *int64 `type:"integer"`
13447
13448	// Number of active player sessions currently being hosted on all instances
13449	// in the fleet.
13450	CurrentPlayerSessionCount *int64 `type:"integer"`
13451
13452	// Unique identifier for a fleet.
13453	FleetId *string `type:"string"`
13454
13455	// Maximum players allowed across all game sessions currently being hosted on
13456	// all instances in the fleet.
13457	MaximumPlayerSessionCount *int64 `type:"integer"`
13458}
13459
13460// String returns the string representation
13461func (s FleetUtilization) String() string {
13462	return awsutil.Prettify(s)
13463}
13464
13465// GoString returns the string representation
13466func (s FleetUtilization) GoString() string {
13467	return s.String()
13468}
13469
13470// SetActiveGameSessionCount sets the ActiveGameSessionCount field's value.
13471func (s *FleetUtilization) SetActiveGameSessionCount(v int64) *FleetUtilization {
13472	s.ActiveGameSessionCount = &v
13473	return s
13474}
13475
13476// SetActiveServerProcessCount sets the ActiveServerProcessCount field's value.
13477func (s *FleetUtilization) SetActiveServerProcessCount(v int64) *FleetUtilization {
13478	s.ActiveServerProcessCount = &v
13479	return s
13480}
13481
13482// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
13483func (s *FleetUtilization) SetCurrentPlayerSessionCount(v int64) *FleetUtilization {
13484	s.CurrentPlayerSessionCount = &v
13485	return s
13486}
13487
13488// SetFleetId sets the FleetId field's value.
13489func (s *FleetUtilization) SetFleetId(v string) *FleetUtilization {
13490	s.FleetId = &v
13491	return s
13492}
13493
13494// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
13495func (s *FleetUtilization) SetMaximumPlayerSessionCount(v int64) *FleetUtilization {
13496	s.MaximumPlayerSessionCount = &v
13497	return s
13498}
13499
13500// Set of key-value pairs that contain information about a game session. When
13501// included in a game session request, these properties communicate details
13502// to be used when setting up the new game session, such as to specify a game
13503// mode, level, or map. Game properties are passed to the game server process
13504// when initiating a new game session; the server process uses the properties
13505// as appropriate. For more information, see the  Amazon GameLift Developer
13506// Guide (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create).
13507type GameProperty struct {
13508	_ struct{} `type:"structure"`
13509
13510	// Game property identifier.
13511	//
13512	// Key is a required field
13513	Key *string `type:"string" required:"true"`
13514
13515	// Game property value.
13516	//
13517	// Value is a required field
13518	Value *string `type:"string" required:"true"`
13519}
13520
13521// String returns the string representation
13522func (s GameProperty) String() string {
13523	return awsutil.Prettify(s)
13524}
13525
13526// GoString returns the string representation
13527func (s GameProperty) GoString() string {
13528	return s.String()
13529}
13530
13531// Validate inspects the fields of the type to determine if they are valid.
13532func (s *GameProperty) Validate() error {
13533	invalidParams := request.ErrInvalidParams{Context: "GameProperty"}
13534	if s.Key == nil {
13535		invalidParams.Add(request.NewErrParamRequired("Key"))
13536	}
13537	if s.Value == nil {
13538		invalidParams.Add(request.NewErrParamRequired("Value"))
13539	}
13540
13541	if invalidParams.Len() > 0 {
13542		return invalidParams
13543	}
13544	return nil
13545}
13546
13547// SetKey sets the Key field's value.
13548func (s *GameProperty) SetKey(v string) *GameProperty {
13549	s.Key = &v
13550	return s
13551}
13552
13553// SetValue sets the Value field's value.
13554func (s *GameProperty) SetValue(v string) *GameProperty {
13555	s.Value = &v
13556	return s
13557}
13558
13559// Properties describing a game session.
13560//
13561// A game session in ACTIVE status can host players. When a game session ends,
13562// its status is set to TERMINATED.
13563//
13564// Once the session ends, the game session object is retained for 30 days. This
13565// means you can reuse idempotency token values after this time. Game session
13566// logs are retained for 14 days.
13567//
13568// Game-session-related operations include:
13569//
13570//    * CreateGameSession
13571//
13572//    * DescribeGameSessions
13573//
13574//    * DescribeGameSessionDetails
13575//
13576//    * SearchGameSessions
13577//
13578//    * UpdateGameSession
13579//
13580//    * GetGameSessionLogUrl
13581//
13582//    * Game session placements
13583//
13584// StartGameSessionPlacement
13585//
13586// DescribeGameSessionPlacement
13587//
13588// StopGameSessionPlacement
13589type GameSession struct {
13590	_ struct{} `type:"structure"`
13591
13592	// Time stamp indicating when this data object was created. Format is a number
13593	// expressed in Unix time as milliseconds (for example "1469498468.057").
13594	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
13595
13596	// Unique identifier for a player. This ID is used to enforce a resource protection
13597	// policy (if one exists), that limits the number of game sessions a player
13598	// can create.
13599	CreatorId *string `min:"1" type:"string"`
13600
13601	// Number of players currently in the game session.
13602	CurrentPlayerSessionCount *int64 `type:"integer"`
13603
13604	// Unique identifier for a fleet that the game session is running on.
13605	FleetId *string `type:"string"`
13606
13607	// Set of custom properties for a game session, formatted as key:value pairs.
13608	// These properties are passed to a game server process in the GameSession object
13609	// 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)).
13610	// You can search for active game sessions based on this custom data with SearchGameSessions.
13611	GameProperties []*GameProperty `type:"list"`
13612
13613	// Set of custom game session properties, formatted as a single string value.
13614	// This data is passed to a game server process in the GameSession object with
13615	// 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)).
13616	GameSessionData *string `min:"1" type:"string"`
13617
13618	// Unique identifier for the game session. A game session ARN has the following
13619	// format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
13620	// or idempotency token>.
13621	GameSessionId *string `min:"1" type:"string"`
13622
13623	// IP address of the game session. To connect to a Amazon GameLift game server,
13624	// an app needs both the IP address and port number.
13625	IpAddress *string `type:"string"`
13626
13627	// Information about the matchmaking process that was used to create the game
13628	// session. It is in JSON syntax, formated as a string. In addition the matchmaking
13629	// configuration used, it contains data on all players assigned to the match,
13630	// including player attributes and team assignments. For more details on matchmaker
13631	// data, see Match Data (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data).
13632	// Matchmaker data is useful when requesting match backfills, and is updated
13633	// whenever new players are added during a successful backfill (see StartMatchBackfill).
13634	MatchmakerData *string `min:"1" type:"string"`
13635
13636	// Maximum number of players that can be connected simultaneously to the game
13637	// session.
13638	MaximumPlayerSessionCount *int64 `type:"integer"`
13639
13640	// Descriptive label that is associated with a game session. Session names do
13641	// not need to be unique.
13642	Name *string `min:"1" type:"string"`
13643
13644	// Indicates whether or not the game session is accepting new players.
13645	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
13646
13647	// Port number for the game session. To connect to a Amazon GameLift game server,
13648	// an app needs both the IP address and port number.
13649	Port *int64 `min:"1" type:"integer"`
13650
13651	// Current status of the game session. A game session must have an ACTIVE status
13652	// to have player sessions.
13653	Status *string `type:"string" enum:"GameSessionStatus"`
13654
13655	// Provides additional information about game session status. INTERRUPTED indicates
13656	// that the game session was hosted on a spot instance that was reclaimed, causing
13657	// the active game session to be terminated.
13658	StatusReason *string `type:"string" enum:"GameSessionStatusReason"`
13659
13660	// Time stamp indicating when this data object was terminated. Format is a number
13661	// expressed in Unix time as milliseconds (for example "1469498468.057").
13662	TerminationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
13663}
13664
13665// String returns the string representation
13666func (s GameSession) String() string {
13667	return awsutil.Prettify(s)
13668}
13669
13670// GoString returns the string representation
13671func (s GameSession) GoString() string {
13672	return s.String()
13673}
13674
13675// SetCreationTime sets the CreationTime field's value.
13676func (s *GameSession) SetCreationTime(v time.Time) *GameSession {
13677	s.CreationTime = &v
13678	return s
13679}
13680
13681// SetCreatorId sets the CreatorId field's value.
13682func (s *GameSession) SetCreatorId(v string) *GameSession {
13683	s.CreatorId = &v
13684	return s
13685}
13686
13687// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
13688func (s *GameSession) SetCurrentPlayerSessionCount(v int64) *GameSession {
13689	s.CurrentPlayerSessionCount = &v
13690	return s
13691}
13692
13693// SetFleetId sets the FleetId field's value.
13694func (s *GameSession) SetFleetId(v string) *GameSession {
13695	s.FleetId = &v
13696	return s
13697}
13698
13699// SetGameProperties sets the GameProperties field's value.
13700func (s *GameSession) SetGameProperties(v []*GameProperty) *GameSession {
13701	s.GameProperties = v
13702	return s
13703}
13704
13705// SetGameSessionData sets the GameSessionData field's value.
13706func (s *GameSession) SetGameSessionData(v string) *GameSession {
13707	s.GameSessionData = &v
13708	return s
13709}
13710
13711// SetGameSessionId sets the GameSessionId field's value.
13712func (s *GameSession) SetGameSessionId(v string) *GameSession {
13713	s.GameSessionId = &v
13714	return s
13715}
13716
13717// SetIpAddress sets the IpAddress field's value.
13718func (s *GameSession) SetIpAddress(v string) *GameSession {
13719	s.IpAddress = &v
13720	return s
13721}
13722
13723// SetMatchmakerData sets the MatchmakerData field's value.
13724func (s *GameSession) SetMatchmakerData(v string) *GameSession {
13725	s.MatchmakerData = &v
13726	return s
13727}
13728
13729// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
13730func (s *GameSession) SetMaximumPlayerSessionCount(v int64) *GameSession {
13731	s.MaximumPlayerSessionCount = &v
13732	return s
13733}
13734
13735// SetName sets the Name field's value.
13736func (s *GameSession) SetName(v string) *GameSession {
13737	s.Name = &v
13738	return s
13739}
13740
13741// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
13742func (s *GameSession) SetPlayerSessionCreationPolicy(v string) *GameSession {
13743	s.PlayerSessionCreationPolicy = &v
13744	return s
13745}
13746
13747// SetPort sets the Port field's value.
13748func (s *GameSession) SetPort(v int64) *GameSession {
13749	s.Port = &v
13750	return s
13751}
13752
13753// SetStatus sets the Status field's value.
13754func (s *GameSession) SetStatus(v string) *GameSession {
13755	s.Status = &v
13756	return s
13757}
13758
13759// SetStatusReason sets the StatusReason field's value.
13760func (s *GameSession) SetStatusReason(v string) *GameSession {
13761	s.StatusReason = &v
13762	return s
13763}
13764
13765// SetTerminationTime sets the TerminationTime field's value.
13766func (s *GameSession) SetTerminationTime(v time.Time) *GameSession {
13767	s.TerminationTime = &v
13768	return s
13769}
13770
13771// Connection information for the new game session that is created with matchmaking.
13772// (with StartMatchmaking). Once a match is set, the FlexMatch engine places
13773// the match and creates a new game session for it. This information, including
13774// the game session endpoint and player sessions for each player in the original
13775// matchmaking request, is added to the MatchmakingTicket, which can be retrieved
13776// by calling DescribeMatchmaking.
13777type GameSessionConnectionInfo struct {
13778	_ struct{} `type:"structure"`
13779
13780	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
13781	// that is assigned to a game session and uniquely identifies it.
13782	GameSessionArn *string `min:"1" type:"string"`
13783
13784	// IP address of the game session. To connect to a Amazon GameLift game server,
13785	// an app needs both the IP address and port number.
13786	IpAddress *string `type:"string"`
13787
13788	// Collection of player session IDs, one for each player ID that was included
13789	// in the original matchmaking request.
13790	MatchedPlayerSessions []*MatchedPlayerSession `type:"list"`
13791
13792	// Port number for the game session. To connect to a Amazon GameLift game server,
13793	// an app needs both the IP address and port number.
13794	Port *int64 `min:"1" type:"integer"`
13795}
13796
13797// String returns the string representation
13798func (s GameSessionConnectionInfo) String() string {
13799	return awsutil.Prettify(s)
13800}
13801
13802// GoString returns the string representation
13803func (s GameSessionConnectionInfo) GoString() string {
13804	return s.String()
13805}
13806
13807// SetGameSessionArn sets the GameSessionArn field's value.
13808func (s *GameSessionConnectionInfo) SetGameSessionArn(v string) *GameSessionConnectionInfo {
13809	s.GameSessionArn = &v
13810	return s
13811}
13812
13813// SetIpAddress sets the IpAddress field's value.
13814func (s *GameSessionConnectionInfo) SetIpAddress(v string) *GameSessionConnectionInfo {
13815	s.IpAddress = &v
13816	return s
13817}
13818
13819// SetMatchedPlayerSessions sets the MatchedPlayerSessions field's value.
13820func (s *GameSessionConnectionInfo) SetMatchedPlayerSessions(v []*MatchedPlayerSession) *GameSessionConnectionInfo {
13821	s.MatchedPlayerSessions = v
13822	return s
13823}
13824
13825// SetPort sets the Port field's value.
13826func (s *GameSessionConnectionInfo) SetPort(v int64) *GameSessionConnectionInfo {
13827	s.Port = &v
13828	return s
13829}
13830
13831// A game session's properties plus the protection policy currently in force.
13832type GameSessionDetail struct {
13833	_ struct{} `type:"structure"`
13834
13835	// Object that describes a game session.
13836	GameSession *GameSession `type:"structure"`
13837
13838	// Current status of protection for the game session.
13839	//
13840	//    * NoProtection -- The game session can be terminated during a scale-down
13841	//    event.
13842	//
13843	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
13844	//    be terminated during a scale-down event.
13845	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
13846}
13847
13848// String returns the string representation
13849func (s GameSessionDetail) String() string {
13850	return awsutil.Prettify(s)
13851}
13852
13853// GoString returns the string representation
13854func (s GameSessionDetail) GoString() string {
13855	return s.String()
13856}
13857
13858// SetGameSession sets the GameSession field's value.
13859func (s *GameSessionDetail) SetGameSession(v *GameSession) *GameSessionDetail {
13860	s.GameSession = v
13861	return s
13862}
13863
13864// SetProtectionPolicy sets the ProtectionPolicy field's value.
13865func (s *GameSessionDetail) SetProtectionPolicy(v string) *GameSessionDetail {
13866	s.ProtectionPolicy = &v
13867	return s
13868}
13869
13870// Object that describes a StartGameSessionPlacement request. This object includes
13871// the full details of the original request plus the current status and start/end
13872// time stamps.
13873//
13874// Game session placement-related operations include:
13875//
13876//    * StartGameSessionPlacement
13877//
13878//    * DescribeGameSessionPlacement
13879//
13880//    * StopGameSessionPlacement
13881type GameSessionPlacement struct {
13882	_ struct{} `type:"structure"`
13883
13884	// Time stamp indicating when this request was completed, canceled, or timed
13885	// out.
13886	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
13887
13888	// Set of custom properties for a game session, formatted as key:value pairs.
13889	// These properties are passed to a game server process in the GameSession object
13890	// 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)).
13891	GameProperties []*GameProperty `type:"list"`
13892
13893	// Identifier for the game session created by this placement request. This value
13894	// is set once the new game session is placed (placement status is FULFILLED).
13895	// This identifier is unique across all regions. You can use this value as a
13896	// GameSessionId value as needed.
13897	GameSessionArn *string `min:"1" type:"string"`
13898
13899	// Set of custom game session properties, formatted as a single string value.
13900	// This data is passed to a game server process in the GameSession object with
13901	// 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)).
13902	GameSessionData *string `min:"1" type:"string"`
13903
13904	// Unique identifier for the game session. This value is set once the new game
13905	// session is placed (placement status is FULFILLED).
13906	GameSessionId *string `min:"1" type:"string"`
13907
13908	// Descriptive label that is associated with a game session. Session names do
13909	// not need to be unique.
13910	GameSessionName *string `min:"1" type:"string"`
13911
13912	// Descriptive label that is associated with game session queue. Queue names
13913	// must be unique within each region.
13914	GameSessionQueueName *string `min:"1" type:"string"`
13915
13916	// Name of the region where the game session created by this placement request
13917	// is running. This value is set once the new game session is placed (placement
13918	// status is FULFILLED).
13919	GameSessionRegion *string `min:"1" type:"string"`
13920
13921	// IP address of the game session. To connect to a Amazon GameLift game server,
13922	// an app needs both the IP address and port number. This value is set once
13923	// the new game session is placed (placement status is FULFILLED).
13924	IpAddress *string `type:"string"`
13925
13926	// Information on the matchmaking process for this game. Data is in JSON syntax,
13927	// formated as a string. It identifies the matchmaking configuration used to
13928	// create the match, and contains data on all players assigned to the match,
13929	// including player attributes and team assignments. For more details on matchmaker
13930	// data, see Match Data (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data).
13931	MatchmakerData *string `min:"1" type:"string"`
13932
13933	// Maximum number of players that can be connected simultaneously to the game
13934	// session.
13935	MaximumPlayerSessionCount *int64 `type:"integer"`
13936
13937	// Collection of information on player sessions created in response to the game
13938	// session placement request. These player sessions are created only once a
13939	// new game session is successfully placed (placement status is FULFILLED).
13940	// This information includes the player ID (as provided in the placement request)
13941	// and the corresponding player session ID. Retrieve full player sessions by
13942	// calling DescribePlayerSessions with the player session ID.
13943	PlacedPlayerSessions []*PlacedPlayerSession `type:"list"`
13944
13945	// Unique identifier for a game session placement.
13946	PlacementId *string `min:"1" type:"string"`
13947
13948	// Set of values, expressed in milliseconds, indicating the amount of latency
13949	// that a player experiences when connected to AWS regions.
13950	PlayerLatencies []*PlayerLatency `type:"list"`
13951
13952	// Port number for the game session. To connect to a Amazon GameLift game server,
13953	// an app needs both the IP address and port number. This value is set once
13954	// the new game session is placed (placement status is FULFILLED).
13955	Port *int64 `min:"1" type:"integer"`
13956
13957	// Time stamp indicating when this request was placed in the queue. Format is
13958	// a number expressed in Unix time as milliseconds (for example "1469498468.057").
13959	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
13960
13961	// Current status of the game session placement request.
13962	//
13963	//    * PENDING -- The placement request is currently in the queue waiting to
13964	//    be processed.
13965	//
13966	//    * FULFILLED -- A new game session and player sessions (if requested) have
13967	//    been successfully created. Values for GameSessionArn and GameSessionRegion
13968	//    are available.
13969	//
13970	//    * CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
13971	//
13972	//    * TIMED_OUT -- A new game session was not successfully created before
13973	//    the time limit expired. You can resubmit the placement request as needed.
13974	Status *string `type:"string" enum:"GameSessionPlacementState"`
13975}
13976
13977// String returns the string representation
13978func (s GameSessionPlacement) String() string {
13979	return awsutil.Prettify(s)
13980}
13981
13982// GoString returns the string representation
13983func (s GameSessionPlacement) GoString() string {
13984	return s.String()
13985}
13986
13987// SetEndTime sets the EndTime field's value.
13988func (s *GameSessionPlacement) SetEndTime(v time.Time) *GameSessionPlacement {
13989	s.EndTime = &v
13990	return s
13991}
13992
13993// SetGameProperties sets the GameProperties field's value.
13994func (s *GameSessionPlacement) SetGameProperties(v []*GameProperty) *GameSessionPlacement {
13995	s.GameProperties = v
13996	return s
13997}
13998
13999// SetGameSessionArn sets the GameSessionArn field's value.
14000func (s *GameSessionPlacement) SetGameSessionArn(v string) *GameSessionPlacement {
14001	s.GameSessionArn = &v
14002	return s
14003}
14004
14005// SetGameSessionData sets the GameSessionData field's value.
14006func (s *GameSessionPlacement) SetGameSessionData(v string) *GameSessionPlacement {
14007	s.GameSessionData = &v
14008	return s
14009}
14010
14011// SetGameSessionId sets the GameSessionId field's value.
14012func (s *GameSessionPlacement) SetGameSessionId(v string) *GameSessionPlacement {
14013	s.GameSessionId = &v
14014	return s
14015}
14016
14017// SetGameSessionName sets the GameSessionName field's value.
14018func (s *GameSessionPlacement) SetGameSessionName(v string) *GameSessionPlacement {
14019	s.GameSessionName = &v
14020	return s
14021}
14022
14023// SetGameSessionQueueName sets the GameSessionQueueName field's value.
14024func (s *GameSessionPlacement) SetGameSessionQueueName(v string) *GameSessionPlacement {
14025	s.GameSessionQueueName = &v
14026	return s
14027}
14028
14029// SetGameSessionRegion sets the GameSessionRegion field's value.
14030func (s *GameSessionPlacement) SetGameSessionRegion(v string) *GameSessionPlacement {
14031	s.GameSessionRegion = &v
14032	return s
14033}
14034
14035// SetIpAddress sets the IpAddress field's value.
14036func (s *GameSessionPlacement) SetIpAddress(v string) *GameSessionPlacement {
14037	s.IpAddress = &v
14038	return s
14039}
14040
14041// SetMatchmakerData sets the MatchmakerData field's value.
14042func (s *GameSessionPlacement) SetMatchmakerData(v string) *GameSessionPlacement {
14043	s.MatchmakerData = &v
14044	return s
14045}
14046
14047// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
14048func (s *GameSessionPlacement) SetMaximumPlayerSessionCount(v int64) *GameSessionPlacement {
14049	s.MaximumPlayerSessionCount = &v
14050	return s
14051}
14052
14053// SetPlacedPlayerSessions sets the PlacedPlayerSessions field's value.
14054func (s *GameSessionPlacement) SetPlacedPlayerSessions(v []*PlacedPlayerSession) *GameSessionPlacement {
14055	s.PlacedPlayerSessions = v
14056	return s
14057}
14058
14059// SetPlacementId sets the PlacementId field's value.
14060func (s *GameSessionPlacement) SetPlacementId(v string) *GameSessionPlacement {
14061	s.PlacementId = &v
14062	return s
14063}
14064
14065// SetPlayerLatencies sets the PlayerLatencies field's value.
14066func (s *GameSessionPlacement) SetPlayerLatencies(v []*PlayerLatency) *GameSessionPlacement {
14067	s.PlayerLatencies = v
14068	return s
14069}
14070
14071// SetPort sets the Port field's value.
14072func (s *GameSessionPlacement) SetPort(v int64) *GameSessionPlacement {
14073	s.Port = &v
14074	return s
14075}
14076
14077// SetStartTime sets the StartTime field's value.
14078func (s *GameSessionPlacement) SetStartTime(v time.Time) *GameSessionPlacement {
14079	s.StartTime = &v
14080	return s
14081}
14082
14083// SetStatus sets the Status field's value.
14084func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement {
14085	s.Status = &v
14086	return s
14087}
14088
14089// Configuration of a queue that is used to process game session placement requests.
14090// The queue configuration identifies several game features:
14091//
14092//    * The destinations where a new game session can potentially be hosted.
14093//    Amazon GameLift tries these destinations in an order based on either the
14094//    queue's default order or player latency information, if provided in a
14095//    placement request. With latency information, Amazon GameLift can place
14096//    game sessions where the majority of players are reporting the lowest possible
14097//    latency.
14098//
14099//    * The length of time that placement requests can wait in the queue before
14100//    timing out.
14101//
14102//    * A set of optional latency policies that protect individual players from
14103//    high latencies, preventing game sessions from being placed where any individual
14104//    player is reporting latency higher than a policy's maximum.
14105//
14106// Queue-related operations include:
14107//
14108//    * CreateGameSessionQueue
14109//
14110//    * DescribeGameSessionQueues
14111//
14112//    * UpdateGameSessionQueue
14113//
14114//    * DeleteGameSessionQueue
14115type GameSessionQueue struct {
14116	_ struct{} `type:"structure"`
14117
14118	// List of fleets that can be used to fulfill game session placement requests
14119	// in the queue. Fleets are identified by either a fleet ARN or a fleet alias
14120	// ARN. Destinations are listed in default preference order.
14121	Destinations []*GameSessionQueueDestination `type:"list"`
14122
14123	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
14124	// that is assigned to a game session queue and uniquely identifies it. Format
14125	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
14126	GameSessionQueueArn *string `min:"1" type:"string"`
14127
14128	// Descriptive label that is associated with game session queue. Queue names
14129	// must be unique within each region.
14130	Name *string `min:"1" type:"string"`
14131
14132	// Collection of latency policies to apply when processing game sessions placement
14133	// requests with player latency information. Multiple policies are evaluated
14134	// in order of the maximum latency value, starting with the lowest latency values.
14135	// With just one policy, it is enforced at the start of the game session placement
14136	// for the duration period. With multiple policies, each policy is enforced
14137	// consecutively for its duration period. For example, a queue might enforce
14138	// a 60-second policy followed by a 120-second policy, and then no policy for
14139	// the remainder of the placement.
14140	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
14141
14142	// Maximum time, in seconds, that a new game session placement request remains
14143	// in the queue. When a request exceeds this time, the game session placement
14144	// changes to a TIMED_OUT status.
14145	TimeoutInSeconds *int64 `type:"integer"`
14146}
14147
14148// String returns the string representation
14149func (s GameSessionQueue) String() string {
14150	return awsutil.Prettify(s)
14151}
14152
14153// GoString returns the string representation
14154func (s GameSessionQueue) GoString() string {
14155	return s.String()
14156}
14157
14158// SetDestinations sets the Destinations field's value.
14159func (s *GameSessionQueue) SetDestinations(v []*GameSessionQueueDestination) *GameSessionQueue {
14160	s.Destinations = v
14161	return s
14162}
14163
14164// SetGameSessionQueueArn sets the GameSessionQueueArn field's value.
14165func (s *GameSessionQueue) SetGameSessionQueueArn(v string) *GameSessionQueue {
14166	s.GameSessionQueueArn = &v
14167	return s
14168}
14169
14170// SetName sets the Name field's value.
14171func (s *GameSessionQueue) SetName(v string) *GameSessionQueue {
14172	s.Name = &v
14173	return s
14174}
14175
14176// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
14177func (s *GameSessionQueue) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *GameSessionQueue {
14178	s.PlayerLatencyPolicies = v
14179	return s
14180}
14181
14182// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
14183func (s *GameSessionQueue) SetTimeoutInSeconds(v int64) *GameSessionQueue {
14184	s.TimeoutInSeconds = &v
14185	return s
14186}
14187
14188// Fleet designated in a game session queue. Requests for new game sessions
14189// in the queue are fulfilled by starting a new game session on any destination
14190// configured for a queue.
14191//
14192// Queue-related operations include:
14193//
14194//    * CreateGameSessionQueue
14195//
14196//    * DescribeGameSessionQueues
14197//
14198//    * UpdateGameSessionQueue
14199//
14200//    * DeleteGameSessionQueue
14201type GameSessionQueueDestination struct {
14202	_ struct{} `type:"structure"`
14203
14204	// Amazon Resource Name (ARN) assigned to fleet or fleet alias. ARNs, which
14205	// include a fleet ID or alias ID and a region name, provide a unique identifier
14206	// across all regions.
14207	DestinationArn *string `min:"1" type:"string"`
14208}
14209
14210// String returns the string representation
14211func (s GameSessionQueueDestination) String() string {
14212	return awsutil.Prettify(s)
14213}
14214
14215// GoString returns the string representation
14216func (s GameSessionQueueDestination) GoString() string {
14217	return s.String()
14218}
14219
14220// Validate inspects the fields of the type to determine if they are valid.
14221func (s *GameSessionQueueDestination) Validate() error {
14222	invalidParams := request.ErrInvalidParams{Context: "GameSessionQueueDestination"}
14223	if s.DestinationArn != nil && len(*s.DestinationArn) < 1 {
14224		invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1))
14225	}
14226
14227	if invalidParams.Len() > 0 {
14228		return invalidParams
14229	}
14230	return nil
14231}
14232
14233// SetDestinationArn sets the DestinationArn field's value.
14234func (s *GameSessionQueueDestination) SetDestinationArn(v string) *GameSessionQueueDestination {
14235	s.DestinationArn = &v
14236	return s
14237}
14238
14239// Represents the input for a request action.
14240type GetGameSessionLogUrlInput struct {
14241	_ struct{} `type:"structure"`
14242
14243	// Unique identifier for the game session to get logs for.
14244	//
14245	// GameSessionId is a required field
14246	GameSessionId *string `min:"1" type:"string" required:"true"`
14247}
14248
14249// String returns the string representation
14250func (s GetGameSessionLogUrlInput) String() string {
14251	return awsutil.Prettify(s)
14252}
14253
14254// GoString returns the string representation
14255func (s GetGameSessionLogUrlInput) GoString() string {
14256	return s.String()
14257}
14258
14259// Validate inspects the fields of the type to determine if they are valid.
14260func (s *GetGameSessionLogUrlInput) Validate() error {
14261	invalidParams := request.ErrInvalidParams{Context: "GetGameSessionLogUrlInput"}
14262	if s.GameSessionId == nil {
14263		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
14264	}
14265	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
14266		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
14267	}
14268
14269	if invalidParams.Len() > 0 {
14270		return invalidParams
14271	}
14272	return nil
14273}
14274
14275// SetGameSessionId sets the GameSessionId field's value.
14276func (s *GetGameSessionLogUrlInput) SetGameSessionId(v string) *GetGameSessionLogUrlInput {
14277	s.GameSessionId = &v
14278	return s
14279}
14280
14281// Represents the returned data in response to a request action.
14282type GetGameSessionLogUrlOutput struct {
14283	_ struct{} `type:"structure"`
14284
14285	// Location of the requested game session logs, available for download.
14286	PreSignedUrl *string `min:"1" type:"string"`
14287}
14288
14289// String returns the string representation
14290func (s GetGameSessionLogUrlOutput) String() string {
14291	return awsutil.Prettify(s)
14292}
14293
14294// GoString returns the string representation
14295func (s GetGameSessionLogUrlOutput) GoString() string {
14296	return s.String()
14297}
14298
14299// SetPreSignedUrl sets the PreSignedUrl field's value.
14300func (s *GetGameSessionLogUrlOutput) SetPreSignedUrl(v string) *GetGameSessionLogUrlOutput {
14301	s.PreSignedUrl = &v
14302	return s
14303}
14304
14305// Represents the input for a request action.
14306type GetInstanceAccessInput struct {
14307	_ struct{} `type:"structure"`
14308
14309	// Unique identifier for a fleet that contains the instance you want access
14310	// to. The fleet can be in any of the following statuses: ACTIVATING, ACTIVE,
14311	// or ERROR. Fleets with an ERROR status may be accessible for a short time
14312	// before they are deleted.
14313	//
14314	// FleetId is a required field
14315	FleetId *string `type:"string" required:"true"`
14316
14317	// Unique identifier for an instance you want to get access to. You can access
14318	// an instance in any status.
14319	//
14320	// InstanceId is a required field
14321	InstanceId *string `type:"string" required:"true"`
14322}
14323
14324// String returns the string representation
14325func (s GetInstanceAccessInput) String() string {
14326	return awsutil.Prettify(s)
14327}
14328
14329// GoString returns the string representation
14330func (s GetInstanceAccessInput) GoString() string {
14331	return s.String()
14332}
14333
14334// Validate inspects the fields of the type to determine if they are valid.
14335func (s *GetInstanceAccessInput) Validate() error {
14336	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessInput"}
14337	if s.FleetId == nil {
14338		invalidParams.Add(request.NewErrParamRequired("FleetId"))
14339	}
14340	if s.InstanceId == nil {
14341		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
14342	}
14343
14344	if invalidParams.Len() > 0 {
14345		return invalidParams
14346	}
14347	return nil
14348}
14349
14350// SetFleetId sets the FleetId field's value.
14351func (s *GetInstanceAccessInput) SetFleetId(v string) *GetInstanceAccessInput {
14352	s.FleetId = &v
14353	return s
14354}
14355
14356// SetInstanceId sets the InstanceId field's value.
14357func (s *GetInstanceAccessInput) SetInstanceId(v string) *GetInstanceAccessInput {
14358	s.InstanceId = &v
14359	return s
14360}
14361
14362// Represents the returned data in response to a request action.
14363type GetInstanceAccessOutput struct {
14364	_ struct{} `type:"structure"`
14365
14366	// Object that contains connection information for a fleet instance, including
14367	// IP address and access credentials.
14368	InstanceAccess *InstanceAccess `type:"structure"`
14369}
14370
14371// String returns the string representation
14372func (s GetInstanceAccessOutput) String() string {
14373	return awsutil.Prettify(s)
14374}
14375
14376// GoString returns the string representation
14377func (s GetInstanceAccessOutput) GoString() string {
14378	return s.String()
14379}
14380
14381// SetInstanceAccess sets the InstanceAccess field's value.
14382func (s *GetInstanceAccessOutput) SetInstanceAccess(v *InstanceAccess) *GetInstanceAccessOutput {
14383	s.InstanceAccess = v
14384	return s
14385}
14386
14387// Properties that describe an instance of a virtual computing resource that
14388// hosts one or more game servers. A fleet may contain zero or more instances.
14389type Instance struct {
14390	_ struct{} `type:"structure"`
14391
14392	// Time stamp indicating when this data object was created. Format is a number
14393	// expressed in Unix time as milliseconds (for example "1469498468.057").
14394	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
14395
14396	// Unique identifier for a fleet that the instance is in.
14397	FleetId *string `type:"string"`
14398
14399	// Unique identifier for an instance.
14400	InstanceId *string `type:"string"`
14401
14402	// IP address assigned to the instance.
14403	IpAddress *string `type:"string"`
14404
14405	// Operating system that is running on this instance.
14406	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
14407
14408	// Current status of the instance. Possible statuses include the following:
14409	//
14410	//    * PENDING -- The instance is in the process of being created and launching
14411	//    server processes as defined in the fleet's run-time configuration.
14412	//
14413	//    * ACTIVE -- The instance has been successfully created and at least one
14414	//    server process has successfully launched and reported back to Amazon GameLift
14415	//    that it is ready to host a game session. The instance is now considered
14416	//    ready to host game sessions.
14417	//
14418	//    * TERMINATING -- The instance is in the process of shutting down. This
14419	//    may happen to reduce capacity during a scaling down event or to recycle
14420	//    resources in the event of a problem.
14421	Status *string `type:"string" enum:"InstanceStatus"`
14422
14423	// EC2 instance type that defines the computing resources of this instance.
14424	Type *string `type:"string" enum:"EC2InstanceType"`
14425}
14426
14427// String returns the string representation
14428func (s Instance) String() string {
14429	return awsutil.Prettify(s)
14430}
14431
14432// GoString returns the string representation
14433func (s Instance) GoString() string {
14434	return s.String()
14435}
14436
14437// SetCreationTime sets the CreationTime field's value.
14438func (s *Instance) SetCreationTime(v time.Time) *Instance {
14439	s.CreationTime = &v
14440	return s
14441}
14442
14443// SetFleetId sets the FleetId field's value.
14444func (s *Instance) SetFleetId(v string) *Instance {
14445	s.FleetId = &v
14446	return s
14447}
14448
14449// SetInstanceId sets the InstanceId field's value.
14450func (s *Instance) SetInstanceId(v string) *Instance {
14451	s.InstanceId = &v
14452	return s
14453}
14454
14455// SetIpAddress sets the IpAddress field's value.
14456func (s *Instance) SetIpAddress(v string) *Instance {
14457	s.IpAddress = &v
14458	return s
14459}
14460
14461// SetOperatingSystem sets the OperatingSystem field's value.
14462func (s *Instance) SetOperatingSystem(v string) *Instance {
14463	s.OperatingSystem = &v
14464	return s
14465}
14466
14467// SetStatus sets the Status field's value.
14468func (s *Instance) SetStatus(v string) *Instance {
14469	s.Status = &v
14470	return s
14471}
14472
14473// SetType sets the Type field's value.
14474func (s *Instance) SetType(v string) *Instance {
14475	s.Type = &v
14476	return s
14477}
14478
14479// Information required to remotely connect to a fleet instance. Access is requested
14480// by calling GetInstanceAccess.
14481type InstanceAccess struct {
14482	_ struct{} `type:"structure"`
14483
14484	// Credentials required to access the instance.
14485	Credentials *InstanceCredentials `type:"structure"`
14486
14487	// Unique identifier for a fleet containing the instance being accessed.
14488	FleetId *string `type:"string"`
14489
14490	// Unique identifier for an instance being accessed.
14491	InstanceId *string `type:"string"`
14492
14493	// IP address assigned to the instance.
14494	IpAddress *string `type:"string"`
14495
14496	// Operating system that is running on the instance.
14497	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
14498}
14499
14500// String returns the string representation
14501func (s InstanceAccess) String() string {
14502	return awsutil.Prettify(s)
14503}
14504
14505// GoString returns the string representation
14506func (s InstanceAccess) GoString() string {
14507	return s.String()
14508}
14509
14510// SetCredentials sets the Credentials field's value.
14511func (s *InstanceAccess) SetCredentials(v *InstanceCredentials) *InstanceAccess {
14512	s.Credentials = v
14513	return s
14514}
14515
14516// SetFleetId sets the FleetId field's value.
14517func (s *InstanceAccess) SetFleetId(v string) *InstanceAccess {
14518	s.FleetId = &v
14519	return s
14520}
14521
14522// SetInstanceId sets the InstanceId field's value.
14523func (s *InstanceAccess) SetInstanceId(v string) *InstanceAccess {
14524	s.InstanceId = &v
14525	return s
14526}
14527
14528// SetIpAddress sets the IpAddress field's value.
14529func (s *InstanceAccess) SetIpAddress(v string) *InstanceAccess {
14530	s.IpAddress = &v
14531	return s
14532}
14533
14534// SetOperatingSystem sets the OperatingSystem field's value.
14535func (s *InstanceAccess) SetOperatingSystem(v string) *InstanceAccess {
14536	s.OperatingSystem = &v
14537	return s
14538}
14539
14540// Set of credentials required to remotely access a fleet instance. Access credentials
14541// are requested by calling GetInstanceAccess and returned in an InstanceAccess
14542// object.
14543type InstanceCredentials struct {
14544	_ struct{} `type:"structure"`
14545
14546	// Secret string. For Windows instances, the secret is a password for use with
14547	// Windows Remote Desktop. For Linux instances, it is a private key (which must
14548	// be saved as a .pem file) for use with SSH.
14549	Secret *string `min:"1" type:"string"`
14550
14551	// User login string.
14552	UserName *string `min:"1" type:"string"`
14553}
14554
14555// String returns the string representation
14556func (s InstanceCredentials) String() string {
14557	return awsutil.Prettify(s)
14558}
14559
14560// GoString returns the string representation
14561func (s InstanceCredentials) GoString() string {
14562	return s.String()
14563}
14564
14565// SetSecret sets the Secret field's value.
14566func (s *InstanceCredentials) SetSecret(v string) *InstanceCredentials {
14567	s.Secret = &v
14568	return s
14569}
14570
14571// SetUserName sets the UserName field's value.
14572func (s *InstanceCredentials) SetUserName(v string) *InstanceCredentials {
14573	s.UserName = &v
14574	return s
14575}
14576
14577// A range of IP addresses and port settings that allow inbound traffic to connect
14578// to server processes on Amazon GameLift. Each game session hosted on a fleet
14579// is assigned a unique combination of IP address and port number, which must
14580// fall into the fleet's allowed ranges. This combination is included in the
14581// GameSession object.
14582type IpPermission struct {
14583	_ struct{} `type:"structure"`
14584
14585	// Starting value for a range of allowed port numbers.
14586	//
14587	// FromPort is a required field
14588	FromPort *int64 `min:"1" type:"integer" required:"true"`
14589
14590	// Range of allowed IP addresses. This value must be expressed in CIDR notation.
14591	// Example: "000.000.000.000/[subnet mask]" or optionally the shortened version
14592	// "0.0.0.0/[subnet mask]".
14593	//
14594	// IpRange is a required field
14595	IpRange *string `type:"string" required:"true"`
14596
14597	// Network communication protocol used by the fleet.
14598	//
14599	// Protocol is a required field
14600	Protocol *string `type:"string" required:"true" enum:"IpProtocol"`
14601
14602	// Ending value for a range of allowed port numbers. Port numbers are end-inclusive.
14603	// This value must be higher than FromPort.
14604	//
14605	// ToPort is a required field
14606	ToPort *int64 `min:"1" type:"integer" required:"true"`
14607}
14608
14609// String returns the string representation
14610func (s IpPermission) String() string {
14611	return awsutil.Prettify(s)
14612}
14613
14614// GoString returns the string representation
14615func (s IpPermission) GoString() string {
14616	return s.String()
14617}
14618
14619// Validate inspects the fields of the type to determine if they are valid.
14620func (s *IpPermission) Validate() error {
14621	invalidParams := request.ErrInvalidParams{Context: "IpPermission"}
14622	if s.FromPort == nil {
14623		invalidParams.Add(request.NewErrParamRequired("FromPort"))
14624	}
14625	if s.FromPort != nil && *s.FromPort < 1 {
14626		invalidParams.Add(request.NewErrParamMinValue("FromPort", 1))
14627	}
14628	if s.IpRange == nil {
14629		invalidParams.Add(request.NewErrParamRequired("IpRange"))
14630	}
14631	if s.Protocol == nil {
14632		invalidParams.Add(request.NewErrParamRequired("Protocol"))
14633	}
14634	if s.ToPort == nil {
14635		invalidParams.Add(request.NewErrParamRequired("ToPort"))
14636	}
14637	if s.ToPort != nil && *s.ToPort < 1 {
14638		invalidParams.Add(request.NewErrParamMinValue("ToPort", 1))
14639	}
14640
14641	if invalidParams.Len() > 0 {
14642		return invalidParams
14643	}
14644	return nil
14645}
14646
14647// SetFromPort sets the FromPort field's value.
14648func (s *IpPermission) SetFromPort(v int64) *IpPermission {
14649	s.FromPort = &v
14650	return s
14651}
14652
14653// SetIpRange sets the IpRange field's value.
14654func (s *IpPermission) SetIpRange(v string) *IpPermission {
14655	s.IpRange = &v
14656	return s
14657}
14658
14659// SetProtocol sets the Protocol field's value.
14660func (s *IpPermission) SetProtocol(v string) *IpPermission {
14661	s.Protocol = &v
14662	return s
14663}
14664
14665// SetToPort sets the ToPort field's value.
14666func (s *IpPermission) SetToPort(v int64) *IpPermission {
14667	s.ToPort = &v
14668	return s
14669}
14670
14671// Represents the input for a request action.
14672type ListAliasesInput struct {
14673	_ struct{} `type:"structure"`
14674
14675	// Maximum number of results to return. Use this parameter with NextToken to
14676	// get results as a set of sequential pages.
14677	Limit *int64 `min:"1" type:"integer"`
14678
14679	// Descriptive label that is associated with an alias. Alias names do not need
14680	// to be unique.
14681	Name *string `min:"1" type:"string"`
14682
14683	// Token that indicates the start of the next sequential page of results. Use
14684	// the token that is returned with a previous call to this action. To start
14685	// at the beginning of the result set, do not specify a value.
14686	NextToken *string `min:"1" type:"string"`
14687
14688	// Type of routing to filter results on. Use this parameter to retrieve only
14689	// aliases of a certain type. To retrieve all aliases, leave this parameter
14690	// empty.
14691	//
14692	// Possible routing types include the following:
14693	//
14694	//    * SIMPLE -- The alias resolves to one specific fleet. Use this type when
14695	//    routing to active fleets.
14696	//
14697	//    * TERMINAL -- The alias does not resolve to a fleet but instead can be
14698	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
14699	//    with the RoutingStrategy message embedded.
14700	RoutingStrategyType *string `type:"string" enum:"RoutingStrategyType"`
14701}
14702
14703// String returns the string representation
14704func (s ListAliasesInput) String() string {
14705	return awsutil.Prettify(s)
14706}
14707
14708// GoString returns the string representation
14709func (s ListAliasesInput) GoString() string {
14710	return s.String()
14711}
14712
14713// Validate inspects the fields of the type to determine if they are valid.
14714func (s *ListAliasesInput) Validate() error {
14715	invalidParams := request.ErrInvalidParams{Context: "ListAliasesInput"}
14716	if s.Limit != nil && *s.Limit < 1 {
14717		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
14718	}
14719	if s.Name != nil && len(*s.Name) < 1 {
14720		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14721	}
14722	if s.NextToken != nil && len(*s.NextToken) < 1 {
14723		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14724	}
14725
14726	if invalidParams.Len() > 0 {
14727		return invalidParams
14728	}
14729	return nil
14730}
14731
14732// SetLimit sets the Limit field's value.
14733func (s *ListAliasesInput) SetLimit(v int64) *ListAliasesInput {
14734	s.Limit = &v
14735	return s
14736}
14737
14738// SetName sets the Name field's value.
14739func (s *ListAliasesInput) SetName(v string) *ListAliasesInput {
14740	s.Name = &v
14741	return s
14742}
14743
14744// SetNextToken sets the NextToken field's value.
14745func (s *ListAliasesInput) SetNextToken(v string) *ListAliasesInput {
14746	s.NextToken = &v
14747	return s
14748}
14749
14750// SetRoutingStrategyType sets the RoutingStrategyType field's value.
14751func (s *ListAliasesInput) SetRoutingStrategyType(v string) *ListAliasesInput {
14752	s.RoutingStrategyType = &v
14753	return s
14754}
14755
14756// Represents the returned data in response to a request action.
14757type ListAliasesOutput struct {
14758	_ struct{} `type:"structure"`
14759
14760	// Collection of alias records that match the list request.
14761	Aliases []*Alias `type:"list"`
14762
14763	// Token that indicates where to resume retrieving results on the next call
14764	// to this action. If no token is returned, these results represent the end
14765	// of the list.
14766	NextToken *string `min:"1" type:"string"`
14767}
14768
14769// String returns the string representation
14770func (s ListAliasesOutput) String() string {
14771	return awsutil.Prettify(s)
14772}
14773
14774// GoString returns the string representation
14775func (s ListAliasesOutput) GoString() string {
14776	return s.String()
14777}
14778
14779// SetAliases sets the Aliases field's value.
14780func (s *ListAliasesOutput) SetAliases(v []*Alias) *ListAliasesOutput {
14781	s.Aliases = v
14782	return s
14783}
14784
14785// SetNextToken sets the NextToken field's value.
14786func (s *ListAliasesOutput) SetNextToken(v string) *ListAliasesOutput {
14787	s.NextToken = &v
14788	return s
14789}
14790
14791// Represents the input for a request action.
14792type ListBuildsInput struct {
14793	_ struct{} `type:"structure"`
14794
14795	// Maximum number of results to return. Use this parameter with NextToken to
14796	// get results as a set of sequential pages.
14797	Limit *int64 `min:"1" type:"integer"`
14798
14799	// Token that indicates the start of the next sequential page of results. Use
14800	// the token that is returned with a previous call to this action. To start
14801	// at the beginning of the result set, do not specify a value.
14802	NextToken *string `min:"1" type:"string"`
14803
14804	// Build status to filter results by. To retrieve all builds, leave this parameter
14805	// empty.
14806	//
14807	// Possible build statuses include the following:
14808	//
14809	//    * INITIALIZED -- A new build has been defined, but no files have been
14810	//    uploaded. You cannot create fleets for builds that are in this status.
14811	//    When a build is successfully created, the build status is set to this
14812	//    value.
14813	//
14814	//    * READY -- The game build has been successfully uploaded. You can now
14815	//    create new fleets for this build.
14816	//
14817	//    * FAILED -- The game build upload failed. You cannot create new fleets
14818	//    for this build.
14819	Status *string `type:"string" enum:"BuildStatus"`
14820}
14821
14822// String returns the string representation
14823func (s ListBuildsInput) String() string {
14824	return awsutil.Prettify(s)
14825}
14826
14827// GoString returns the string representation
14828func (s ListBuildsInput) GoString() string {
14829	return s.String()
14830}
14831
14832// Validate inspects the fields of the type to determine if they are valid.
14833func (s *ListBuildsInput) Validate() error {
14834	invalidParams := request.ErrInvalidParams{Context: "ListBuildsInput"}
14835	if s.Limit != nil && *s.Limit < 1 {
14836		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
14837	}
14838	if s.NextToken != nil && len(*s.NextToken) < 1 {
14839		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14840	}
14841
14842	if invalidParams.Len() > 0 {
14843		return invalidParams
14844	}
14845	return nil
14846}
14847
14848// SetLimit sets the Limit field's value.
14849func (s *ListBuildsInput) SetLimit(v int64) *ListBuildsInput {
14850	s.Limit = &v
14851	return s
14852}
14853
14854// SetNextToken sets the NextToken field's value.
14855func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput {
14856	s.NextToken = &v
14857	return s
14858}
14859
14860// SetStatus sets the Status field's value.
14861func (s *ListBuildsInput) SetStatus(v string) *ListBuildsInput {
14862	s.Status = &v
14863	return s
14864}
14865
14866// Represents the returned data in response to a request action.
14867type ListBuildsOutput struct {
14868	_ struct{} `type:"structure"`
14869
14870	// Collection of build records that match the request.
14871	Builds []*Build `type:"list"`
14872
14873	// Token that indicates where to resume retrieving results on the next call
14874	// to this action. If no token is returned, these results represent the end
14875	// of the list.
14876	NextToken *string `min:"1" type:"string"`
14877}
14878
14879// String returns the string representation
14880func (s ListBuildsOutput) String() string {
14881	return awsutil.Prettify(s)
14882}
14883
14884// GoString returns the string representation
14885func (s ListBuildsOutput) GoString() string {
14886	return s.String()
14887}
14888
14889// SetBuilds sets the Builds field's value.
14890func (s *ListBuildsOutput) SetBuilds(v []*Build) *ListBuildsOutput {
14891	s.Builds = v
14892	return s
14893}
14894
14895// SetNextToken sets the NextToken field's value.
14896func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput {
14897	s.NextToken = &v
14898	return s
14899}
14900
14901// Represents the input for a request action.
14902type ListFleetsInput struct {
14903	_ struct{} `type:"structure"`
14904
14905	// Unique identifier for a build to return fleets for. Use this parameter to
14906	// return only fleets using the specified build. To retrieve all fleets, leave
14907	// this parameter empty.
14908	BuildId *string `type:"string"`
14909
14910	// Maximum number of results to return. Use this parameter with NextToken to
14911	// get results as a set of sequential pages.
14912	Limit *int64 `min:"1" type:"integer"`
14913
14914	// Token that indicates the start of the next sequential page of results. Use
14915	// the token that is returned with a previous call to this action. To start
14916	// at the beginning of the result set, do not specify a value.
14917	NextToken *string `min:"1" type:"string"`
14918}
14919
14920// String returns the string representation
14921func (s ListFleetsInput) String() string {
14922	return awsutil.Prettify(s)
14923}
14924
14925// GoString returns the string representation
14926func (s ListFleetsInput) GoString() string {
14927	return s.String()
14928}
14929
14930// Validate inspects the fields of the type to determine if they are valid.
14931func (s *ListFleetsInput) Validate() error {
14932	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
14933	if s.Limit != nil && *s.Limit < 1 {
14934		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
14935	}
14936	if s.NextToken != nil && len(*s.NextToken) < 1 {
14937		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
14938	}
14939
14940	if invalidParams.Len() > 0 {
14941		return invalidParams
14942	}
14943	return nil
14944}
14945
14946// SetBuildId sets the BuildId field's value.
14947func (s *ListFleetsInput) SetBuildId(v string) *ListFleetsInput {
14948	s.BuildId = &v
14949	return s
14950}
14951
14952// SetLimit sets the Limit field's value.
14953func (s *ListFleetsInput) SetLimit(v int64) *ListFleetsInput {
14954	s.Limit = &v
14955	return s
14956}
14957
14958// SetNextToken sets the NextToken field's value.
14959func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
14960	s.NextToken = &v
14961	return s
14962}
14963
14964// Represents the returned data in response to a request action.
14965type ListFleetsOutput struct {
14966	_ struct{} `type:"structure"`
14967
14968	// Set of fleet IDs matching the list request. You can retrieve additional information
14969	// about all returned fleets by passing this result set to a call to DescribeFleetAttributes,
14970	// DescribeFleetCapacity, or DescribeFleetUtilization.
14971	FleetIds []*string `min:"1" type:"list"`
14972
14973	// Token that indicates where to resume retrieving results on the next call
14974	// to this action. If no token is returned, these results represent the end
14975	// of the list.
14976	NextToken *string `min:"1" type:"string"`
14977}
14978
14979// String returns the string representation
14980func (s ListFleetsOutput) String() string {
14981	return awsutil.Prettify(s)
14982}
14983
14984// GoString returns the string representation
14985func (s ListFleetsOutput) GoString() string {
14986	return s.String()
14987}
14988
14989// SetFleetIds sets the FleetIds field's value.
14990func (s *ListFleetsOutput) SetFleetIds(v []*string) *ListFleetsOutput {
14991	s.FleetIds = v
14992	return s
14993}
14994
14995// SetNextToken sets the NextToken field's value.
14996func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
14997	s.NextToken = &v
14998	return s
14999}
15000
15001// Represents a new player session that is created as a result of a successful
15002// FlexMatch match. A successful match automatically creates new player sessions
15003// for every player ID in the original matchmaking request.
15004//
15005// When players connect to the match's game session, they must include both
15006// player ID and player session ID in order to claim their assigned player slot.
15007type MatchedPlayerSession struct {
15008	_ struct{} `type:"structure"`
15009
15010	// Unique identifier for a player
15011	PlayerId *string `min:"1" type:"string"`
15012
15013	// Unique identifier for a player session
15014	PlayerSessionId *string `type:"string"`
15015}
15016
15017// String returns the string representation
15018func (s MatchedPlayerSession) String() string {
15019	return awsutil.Prettify(s)
15020}
15021
15022// GoString returns the string representation
15023func (s MatchedPlayerSession) GoString() string {
15024	return s.String()
15025}
15026
15027// SetPlayerId sets the PlayerId field's value.
15028func (s *MatchedPlayerSession) SetPlayerId(v string) *MatchedPlayerSession {
15029	s.PlayerId = &v
15030	return s
15031}
15032
15033// SetPlayerSessionId sets the PlayerSessionId field's value.
15034func (s *MatchedPlayerSession) SetPlayerSessionId(v string) *MatchedPlayerSession {
15035	s.PlayerSessionId = &v
15036	return s
15037}
15038
15039// Guidelines for use with FlexMatch to match players into games. All matchmaking
15040// requests must specify a matchmaking configuration.
15041type MatchmakingConfiguration struct {
15042	_ struct{} `type:"structure"`
15043
15044	// Flag that determines whether or not a match that was created with this configuration
15045	// must be accepted by the matched players. To require acceptance, set to TRUE.
15046	AcceptanceRequired *bool `type:"boolean"`
15047
15048	// Length of time (in seconds) to wait for players to accept a proposed match.
15049	// If any player rejects the match or fails to accept before the timeout, the
15050	// ticket continues to look for an acceptable match.
15051	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
15052
15053	// Number of player slots in a match to keep open for future players. For example,
15054	// if the configuration's rule set specifies a match for a single 12-person
15055	// team, and the additional player count is set to 2, only 10 players are selected
15056	// for the match.
15057	AdditionalPlayerCount *int64 `type:"integer"`
15058
15059	// Time stamp indicating when this data object was created. Format is a number
15060	// expressed in Unix time as milliseconds (for example "1469498468.057").
15061	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
15062
15063	// Information to attached to all events related to the matchmaking configuration.
15064	CustomEventData *string `type:"string"`
15065
15066	// Descriptive label that is associated with matchmaking configuration.
15067	Description *string `min:"1" type:"string"`
15068
15069	// Set of custom properties for a game session, formatted as key:value pairs.
15070	// These properties are passed to a game server process in the GameSession object
15071	// 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)).
15072	// This information is added to the new GameSession object that is created for
15073	// a successful match.
15074	GameProperties []*GameProperty `type:"list"`
15075
15076	// Set of custom game session properties, formatted as a single string value.
15077	// This data is passed to a game server process in the GameSession object with
15078	// 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)).
15079	// This information is added to the new GameSession object that is created for
15080	// a successful match.
15081	GameSessionData *string `min:"1" type:"string"`
15082
15083	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
15084	// that is assigned to a game session queue and uniquely identifies it. Format
15085	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
15086	// These queues are used when placing game sessions for matches that are created
15087	// with this matchmaking configuration. Queues can be located in any region.
15088	GameSessionQueueArns []*string `type:"list"`
15089
15090	// Unique identifier for a matchmaking configuration. This name is used to identify
15091	// the configuration associated with a matchmaking request or ticket.
15092	Name *string `min:"1" type:"string"`
15093
15094	// SNS topic ARN that is set up to receive matchmaking notifications.
15095	NotificationTarget *string `type:"string"`
15096
15097	// Maximum duration, in seconds, that a matchmaking ticket can remain in process
15098	// before timing out. Requests that time out can be resubmitted as needed.
15099	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
15100
15101	// Unique identifier for a matchmaking rule set to use with this configuration.
15102	// A matchmaking configuration can only use rule sets that are defined in the
15103	// same region.
15104	RuleSetName *string `min:"1" type:"string"`
15105}
15106
15107// String returns the string representation
15108func (s MatchmakingConfiguration) String() string {
15109	return awsutil.Prettify(s)
15110}
15111
15112// GoString returns the string representation
15113func (s MatchmakingConfiguration) GoString() string {
15114	return s.String()
15115}
15116
15117// SetAcceptanceRequired sets the AcceptanceRequired field's value.
15118func (s *MatchmakingConfiguration) SetAcceptanceRequired(v bool) *MatchmakingConfiguration {
15119	s.AcceptanceRequired = &v
15120	return s
15121}
15122
15123// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
15124func (s *MatchmakingConfiguration) SetAcceptanceTimeoutSeconds(v int64) *MatchmakingConfiguration {
15125	s.AcceptanceTimeoutSeconds = &v
15126	return s
15127}
15128
15129// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
15130func (s *MatchmakingConfiguration) SetAdditionalPlayerCount(v int64) *MatchmakingConfiguration {
15131	s.AdditionalPlayerCount = &v
15132	return s
15133}
15134
15135// SetCreationTime sets the CreationTime field's value.
15136func (s *MatchmakingConfiguration) SetCreationTime(v time.Time) *MatchmakingConfiguration {
15137	s.CreationTime = &v
15138	return s
15139}
15140
15141// SetCustomEventData sets the CustomEventData field's value.
15142func (s *MatchmakingConfiguration) SetCustomEventData(v string) *MatchmakingConfiguration {
15143	s.CustomEventData = &v
15144	return s
15145}
15146
15147// SetDescription sets the Description field's value.
15148func (s *MatchmakingConfiguration) SetDescription(v string) *MatchmakingConfiguration {
15149	s.Description = &v
15150	return s
15151}
15152
15153// SetGameProperties sets the GameProperties field's value.
15154func (s *MatchmakingConfiguration) SetGameProperties(v []*GameProperty) *MatchmakingConfiguration {
15155	s.GameProperties = v
15156	return s
15157}
15158
15159// SetGameSessionData sets the GameSessionData field's value.
15160func (s *MatchmakingConfiguration) SetGameSessionData(v string) *MatchmakingConfiguration {
15161	s.GameSessionData = &v
15162	return s
15163}
15164
15165// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
15166func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration {
15167	s.GameSessionQueueArns = v
15168	return s
15169}
15170
15171// SetName sets the Name field's value.
15172func (s *MatchmakingConfiguration) SetName(v string) *MatchmakingConfiguration {
15173	s.Name = &v
15174	return s
15175}
15176
15177// SetNotificationTarget sets the NotificationTarget field's value.
15178func (s *MatchmakingConfiguration) SetNotificationTarget(v string) *MatchmakingConfiguration {
15179	s.NotificationTarget = &v
15180	return s
15181}
15182
15183// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
15184func (s *MatchmakingConfiguration) SetRequestTimeoutSeconds(v int64) *MatchmakingConfiguration {
15185	s.RequestTimeoutSeconds = &v
15186	return s
15187}
15188
15189// SetRuleSetName sets the RuleSetName field's value.
15190func (s *MatchmakingConfiguration) SetRuleSetName(v string) *MatchmakingConfiguration {
15191	s.RuleSetName = &v
15192	return s
15193}
15194
15195// Set of rule statements, used with FlexMatch, that determine how to build
15196// a certain kind of player match. Each rule set describes a type of group to
15197// be created and defines the parameters for acceptable player matches. Rule
15198// sets are used in MatchmakingConfiguration objects.
15199//
15200// A rule set may define the following elements for a match. For detailed information
15201// and examples showing how to construct a rule set, see Build a FlexMatch Rule
15202// Set (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-rulesets.html).
15203//
15204//    * Teams -- Required. A rule set must define one or multiple teams for
15205//    the match and set minimum and maximum team sizes. For example, a rule
15206//    set might describe a 4x4 match that requires all eight slots to be filled.
15207//
15208//
15209//    * Player attributes -- Optional. These attributes specify a set of player
15210//    characteristics to evaluate when looking for a match. Matchmaking requests
15211//    that use a rule set with player attributes must provide the corresponding
15212//    attribute values. For example, an attribute might specify a player's skill
15213//    or level.
15214//
15215//    * Rules -- Optional. Rules define how to evaluate potential players for
15216//    a match based on player attributes. A rule might specify minimum requirements
15217//    for individual players, teams, or entire matches. For example, a rule
15218//    might require each player to meet a certain skill level, each team to
15219//    have at least one player in a certain role, or the match to have a minimum
15220//    average skill level. or may describe an entire group--such as all teams
15221//    must be evenly matched or have at least one player in a certain role.
15222//
15223//
15224//    * Expansions -- Optional. Expansions allow you to relax the rules after
15225//    a period of time when no acceptable matches are found. This feature lets
15226//    you balance getting players into games in a reasonable amount of time
15227//    instead of making them wait indefinitely for the best possible match.
15228//    For example, you might use an expansion to increase the maximum skill
15229//    variance between players after 30 seconds.
15230type MatchmakingRuleSet struct {
15231	_ struct{} `type:"structure"`
15232
15233	// Time stamp indicating when this data object was created. Format is a number
15234	// expressed in Unix time as milliseconds (for example "1469498468.057").
15235	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
15236
15237	// Collection of matchmaking rules, formatted as a JSON string. (Note that comments14
15238	// are not allowed in JSON, but most elements support a description field.)
15239	//
15240	// RuleSetBody is a required field
15241	RuleSetBody *string `min:"1" type:"string" required:"true"`
15242
15243	// Unique identifier for a matchmaking rule set
15244	RuleSetName *string `min:"1" type:"string"`
15245}
15246
15247// String returns the string representation
15248func (s MatchmakingRuleSet) String() string {
15249	return awsutil.Prettify(s)
15250}
15251
15252// GoString returns the string representation
15253func (s MatchmakingRuleSet) GoString() string {
15254	return s.String()
15255}
15256
15257// SetCreationTime sets the CreationTime field's value.
15258func (s *MatchmakingRuleSet) SetCreationTime(v time.Time) *MatchmakingRuleSet {
15259	s.CreationTime = &v
15260	return s
15261}
15262
15263// SetRuleSetBody sets the RuleSetBody field's value.
15264func (s *MatchmakingRuleSet) SetRuleSetBody(v string) *MatchmakingRuleSet {
15265	s.RuleSetBody = &v
15266	return s
15267}
15268
15269// SetRuleSetName sets the RuleSetName field's value.
15270func (s *MatchmakingRuleSet) SetRuleSetName(v string) *MatchmakingRuleSet {
15271	s.RuleSetName = &v
15272	return s
15273}
15274
15275// Ticket generated to track the progress of a matchmaking request. Each ticket
15276// is uniquely identified by a ticket ID, supplied by the requester, when creating
15277// a matchmaking request with StartMatchmaking. Tickets can be retrieved by
15278// calling DescribeMatchmaking with the ticket ID.
15279type MatchmakingTicket struct {
15280	_ struct{} `type:"structure"`
15281
15282	// Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking
15283	// configurations determine how players are grouped into a match and how a new
15284	// game session is created for the match.
15285	ConfigurationName *string `min:"1" type:"string"`
15286
15287	// Time stamp indicating when this matchmaking request stopped being processed
15288	// due to success, failure, or cancellation. Format is a number expressed in
15289	// Unix time as milliseconds (for example "1469498468.057").
15290	EndTime *time.Time `type:"timestamp" timestampFormat:"unix"`
15291
15292	// Average amount of time (in seconds) that players are currently waiting for
15293	// a match. If there is not enough recent data, this property may be empty.
15294	EstimatedWaitTime *int64 `type:"integer"`
15295
15296	// Identifier and connection information of the game session created for the
15297	// match. This information is added to the ticket only after the matchmaking
15298	// request has been successfully completed.
15299	GameSessionConnectionInfo *GameSessionConnectionInfo `type:"structure"`
15300
15301	// A set of Player objects, each representing a player to find matches for.
15302	// Players are identified by a unique player ID and may include latency data
15303	// for use during matchmaking. If the ticket is in status COMPLETED, the Player
15304	// objects include the team the players were assigned to in the resulting match.
15305	Players []*Player `type:"list"`
15306
15307	// Time stamp indicating when this matchmaking request was received. Format
15308	// is a number expressed in Unix time as milliseconds (for example "1469498468.057").
15309	StartTime *time.Time `type:"timestamp" timestampFormat:"unix"`
15310
15311	// Current status of the matchmaking request.
15312	//
15313	//    * QUEUED -- The matchmaking request has been received and is currently
15314	//    waiting to be processed.
15315	//
15316	//    * SEARCHING -- The matchmaking request is currently being processed.
15317	//
15318	//    * REQUIRES_ACCEPTANCE -- A match has been proposed and the players must
15319	//    accept the match (see AcceptMatch). This status is used only with requests
15320	//    that use a matchmaking configuration with a player acceptance requirement.
15321	//
15322	//    * PLACING -- The FlexMatch engine has matched players and is in the process
15323	//    of placing a new game session for the match.
15324	//
15325	//    * COMPLETED -- Players have been matched and a game session is ready to
15326	//    host the players. A ticket in this state contains the necessary connection
15327	//    information for players.
15328	//
15329	//    * FAILED -- The matchmaking request was not completed. Tickets with players
15330	//    who fail to accept a proposed match are placed in FAILED status.
15331	//
15332	//    * CANCELLED -- The matchmaking request was canceled with a call to StopMatchmaking.
15333	//
15334	//    * TIMED_OUT -- The matchmaking request was not successful within the duration
15335	//    specified in the matchmaking configuration.
15336	//
15337	// Matchmaking requests that fail to successfully complete (statuses FAILED,
15338	// CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket
15339	// IDs.
15340	Status *string `type:"string" enum:"MatchmakingConfigurationStatus"`
15341
15342	// Additional information about the current status.
15343	StatusMessage *string `type:"string"`
15344
15345	// Code to explain the current status. For example, a status reason may indicate
15346	// when a ticket has returned to SEARCHING status after a proposed match fails
15347	// to receive player acceptances.
15348	StatusReason *string `type:"string"`
15349
15350	// Unique identifier for a matchmaking ticket.
15351	TicketId *string `min:"1" type:"string"`
15352}
15353
15354// String returns the string representation
15355func (s MatchmakingTicket) String() string {
15356	return awsutil.Prettify(s)
15357}
15358
15359// GoString returns the string representation
15360func (s MatchmakingTicket) GoString() string {
15361	return s.String()
15362}
15363
15364// SetConfigurationName sets the ConfigurationName field's value.
15365func (s *MatchmakingTicket) SetConfigurationName(v string) *MatchmakingTicket {
15366	s.ConfigurationName = &v
15367	return s
15368}
15369
15370// SetEndTime sets the EndTime field's value.
15371func (s *MatchmakingTicket) SetEndTime(v time.Time) *MatchmakingTicket {
15372	s.EndTime = &v
15373	return s
15374}
15375
15376// SetEstimatedWaitTime sets the EstimatedWaitTime field's value.
15377func (s *MatchmakingTicket) SetEstimatedWaitTime(v int64) *MatchmakingTicket {
15378	s.EstimatedWaitTime = &v
15379	return s
15380}
15381
15382// SetGameSessionConnectionInfo sets the GameSessionConnectionInfo field's value.
15383func (s *MatchmakingTicket) SetGameSessionConnectionInfo(v *GameSessionConnectionInfo) *MatchmakingTicket {
15384	s.GameSessionConnectionInfo = v
15385	return s
15386}
15387
15388// SetPlayers sets the Players field's value.
15389func (s *MatchmakingTicket) SetPlayers(v []*Player) *MatchmakingTicket {
15390	s.Players = v
15391	return s
15392}
15393
15394// SetStartTime sets the StartTime field's value.
15395func (s *MatchmakingTicket) SetStartTime(v time.Time) *MatchmakingTicket {
15396	s.StartTime = &v
15397	return s
15398}
15399
15400// SetStatus sets the Status field's value.
15401func (s *MatchmakingTicket) SetStatus(v string) *MatchmakingTicket {
15402	s.Status = &v
15403	return s
15404}
15405
15406// SetStatusMessage sets the StatusMessage field's value.
15407func (s *MatchmakingTicket) SetStatusMessage(v string) *MatchmakingTicket {
15408	s.StatusMessage = &v
15409	return s
15410}
15411
15412// SetStatusReason sets the StatusReason field's value.
15413func (s *MatchmakingTicket) SetStatusReason(v string) *MatchmakingTicket {
15414	s.StatusReason = &v
15415	return s
15416}
15417
15418// SetTicketId sets the TicketId field's value.
15419func (s *MatchmakingTicket) SetTicketId(v string) *MatchmakingTicket {
15420	s.TicketId = &v
15421	return s
15422}
15423
15424// Information about a player session that was created as part of a StartGameSessionPlacement
15425// request. This object contains only the player ID and player session ID. To
15426// retrieve full details on a player session, call DescribePlayerSessions with
15427// the player session ID.
15428//
15429// Player-session-related operations include:
15430//
15431//    * CreatePlayerSession
15432//
15433//    * CreatePlayerSessions
15434//
15435//    * DescribePlayerSessions
15436//
15437//    * Game session placements
15438//
15439// StartGameSessionPlacement
15440//
15441// DescribeGameSessionPlacement
15442//
15443// StopGameSessionPlacement
15444type PlacedPlayerSession struct {
15445	_ struct{} `type:"structure"`
15446
15447	// Unique identifier for a player that is associated with this player session.
15448	PlayerId *string `min:"1" type:"string"`
15449
15450	// Unique identifier for a player session.
15451	PlayerSessionId *string `type:"string"`
15452}
15453
15454// String returns the string representation
15455func (s PlacedPlayerSession) String() string {
15456	return awsutil.Prettify(s)
15457}
15458
15459// GoString returns the string representation
15460func (s PlacedPlayerSession) GoString() string {
15461	return s.String()
15462}
15463
15464// SetPlayerId sets the PlayerId field's value.
15465func (s *PlacedPlayerSession) SetPlayerId(v string) *PlacedPlayerSession {
15466	s.PlayerId = &v
15467	return s
15468}
15469
15470// SetPlayerSessionId sets the PlayerSessionId field's value.
15471func (s *PlacedPlayerSession) SetPlayerSessionId(v string) *PlacedPlayerSession {
15472	s.PlayerSessionId = &v
15473	return s
15474}
15475
15476// Represents a player in matchmaking. When starting a matchmaking request,
15477// a player has a player ID, attributes, and may have latency data. Team information
15478// is added after a match has been successfully completed.
15479type Player struct {
15480	_ struct{} `type:"structure"`
15481
15482	// Set of values, expressed in milliseconds, indicating the amount of latency
15483	// that a player experiences when connected to AWS regions. If this property
15484	// is present, FlexMatch considers placing the match only in regions for which
15485	// latency is reported.
15486	//
15487	// If a matchmaker has a rule that evaluates player latency, players must report
15488	// latency in order to be matched. If no latency is reported in this scenario,
15489	// FlexMatch assumes that no regions are available to the player and the ticket
15490	// is not matchable.
15491	LatencyInMs map[string]*int64 `type:"map"`
15492
15493	// Collection of key:value pairs containing player information for use in matchmaking.
15494	// Player attribute keys must match the playerAttributes used in a matchmaking
15495	// rule set. Example: "PlayerAttributes": {"skill": {"N": "23"}, "gameMode":
15496	// {"S": "deathmatch"}}.
15497	PlayerAttributes map[string]*AttributeValue `type:"map"`
15498
15499	// Unique identifier for a player
15500	PlayerId *string `min:"1" type:"string"`
15501
15502	// Name of the team that the player is assigned to in a match. Team names are
15503	// defined in a matchmaking rule set.
15504	Team *string `min:"1" type:"string"`
15505}
15506
15507// String returns the string representation
15508func (s Player) String() string {
15509	return awsutil.Prettify(s)
15510}
15511
15512// GoString returns the string representation
15513func (s Player) GoString() string {
15514	return s.String()
15515}
15516
15517// Validate inspects the fields of the type to determine if they are valid.
15518func (s *Player) Validate() error {
15519	invalidParams := request.ErrInvalidParams{Context: "Player"}
15520	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
15521		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
15522	}
15523	if s.Team != nil && len(*s.Team) < 1 {
15524		invalidParams.Add(request.NewErrParamMinLen("Team", 1))
15525	}
15526	if s.PlayerAttributes != nil {
15527		for i, v := range s.PlayerAttributes {
15528			if v == nil {
15529				continue
15530			}
15531			if err := v.Validate(); err != nil {
15532				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerAttributes", i), err.(request.ErrInvalidParams))
15533			}
15534		}
15535	}
15536
15537	if invalidParams.Len() > 0 {
15538		return invalidParams
15539	}
15540	return nil
15541}
15542
15543// SetLatencyInMs sets the LatencyInMs field's value.
15544func (s *Player) SetLatencyInMs(v map[string]*int64) *Player {
15545	s.LatencyInMs = v
15546	return s
15547}
15548
15549// SetPlayerAttributes sets the PlayerAttributes field's value.
15550func (s *Player) SetPlayerAttributes(v map[string]*AttributeValue) *Player {
15551	s.PlayerAttributes = v
15552	return s
15553}
15554
15555// SetPlayerId sets the PlayerId field's value.
15556func (s *Player) SetPlayerId(v string) *Player {
15557	s.PlayerId = &v
15558	return s
15559}
15560
15561// SetTeam sets the Team field's value.
15562func (s *Player) SetTeam(v string) *Player {
15563	s.Team = &v
15564	return s
15565}
15566
15567// Regional latency information for a player, used when requesting a new game
15568// session with StartGameSessionPlacement. This value indicates the amount of
15569// time lag that exists when the player is connected to a fleet in the specified
15570// region. The relative difference between a player's latency values for multiple
15571// regions are used to determine which fleets are best suited to place a new
15572// game session for the player.
15573type PlayerLatency struct {
15574	_ struct{} `type:"structure"`
15575
15576	// Amount of time that represents the time lag experienced by the player when
15577	// connected to the specified region.
15578	LatencyInMilliseconds *float64 `type:"float"`
15579
15580	// Unique identifier for a player associated with the latency data.
15581	PlayerId *string `min:"1" type:"string"`
15582
15583	// Name of the region that is associated with the latency value.
15584	RegionIdentifier *string `min:"1" type:"string"`
15585}
15586
15587// String returns the string representation
15588func (s PlayerLatency) String() string {
15589	return awsutil.Prettify(s)
15590}
15591
15592// GoString returns the string representation
15593func (s PlayerLatency) GoString() string {
15594	return s.String()
15595}
15596
15597// Validate inspects the fields of the type to determine if they are valid.
15598func (s *PlayerLatency) Validate() error {
15599	invalidParams := request.ErrInvalidParams{Context: "PlayerLatency"}
15600	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
15601		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
15602	}
15603	if s.RegionIdentifier != nil && len(*s.RegionIdentifier) < 1 {
15604		invalidParams.Add(request.NewErrParamMinLen("RegionIdentifier", 1))
15605	}
15606
15607	if invalidParams.Len() > 0 {
15608		return invalidParams
15609	}
15610	return nil
15611}
15612
15613// SetLatencyInMilliseconds sets the LatencyInMilliseconds field's value.
15614func (s *PlayerLatency) SetLatencyInMilliseconds(v float64) *PlayerLatency {
15615	s.LatencyInMilliseconds = &v
15616	return s
15617}
15618
15619// SetPlayerId sets the PlayerId field's value.
15620func (s *PlayerLatency) SetPlayerId(v string) *PlayerLatency {
15621	s.PlayerId = &v
15622	return s
15623}
15624
15625// SetRegionIdentifier sets the RegionIdentifier field's value.
15626func (s *PlayerLatency) SetRegionIdentifier(v string) *PlayerLatency {
15627	s.RegionIdentifier = &v
15628	return s
15629}
15630
15631// Queue setting that determines the highest latency allowed for individual
15632// players when placing a game session. When a latency policy is in force, a
15633// game session cannot be placed at any destination in a region where a player
15634// is reporting latency higher than the cap. Latency policies are only enforced
15635// when the placement request contains player latency information.
15636//
15637// Queue-related operations include:
15638//
15639//    * CreateGameSessionQueue
15640//
15641//    * DescribeGameSessionQueues
15642//
15643//    * UpdateGameSessionQueue
15644//
15645//    * DeleteGameSessionQueue
15646type PlayerLatencyPolicy struct {
15647	_ struct{} `type:"structure"`
15648
15649	// The maximum latency value that is allowed for any player, in milliseconds.
15650	// All policies must have a value set for this property.
15651	MaximumIndividualPlayerLatencyMilliseconds *int64 `type:"integer"`
15652
15653	// The length of time, in seconds, that the policy is enforced while placing
15654	// a new game session. A null value for this property means that the policy
15655	// is enforced until the queue times out.
15656	PolicyDurationSeconds *int64 `type:"integer"`
15657}
15658
15659// String returns the string representation
15660func (s PlayerLatencyPolicy) String() string {
15661	return awsutil.Prettify(s)
15662}
15663
15664// GoString returns the string representation
15665func (s PlayerLatencyPolicy) GoString() string {
15666	return s.String()
15667}
15668
15669// SetMaximumIndividualPlayerLatencyMilliseconds sets the MaximumIndividualPlayerLatencyMilliseconds field's value.
15670func (s *PlayerLatencyPolicy) SetMaximumIndividualPlayerLatencyMilliseconds(v int64) *PlayerLatencyPolicy {
15671	s.MaximumIndividualPlayerLatencyMilliseconds = &v
15672	return s
15673}
15674
15675// SetPolicyDurationSeconds sets the PolicyDurationSeconds field's value.
15676func (s *PlayerLatencyPolicy) SetPolicyDurationSeconds(v int64) *PlayerLatencyPolicy {
15677	s.PolicyDurationSeconds = &v
15678	return s
15679}
15680
15681// Properties describing a player session. Player session objects are created
15682// either by creating a player session for a specific game session, or as part
15683// of a game session placement. A player session represents either a player
15684// reservation for a game session (status RESERVED) or actual player activity
15685// in a game session (status ACTIVE). A player session object (including player
15686// data) is automatically passed to a game session when the player connects
15687// to the game session and is validated.
15688//
15689// When a player disconnects, the player session status changes to COMPLETED.
15690// Once the session ends, the player session object is retained for 30 days
15691// and then removed.
15692//
15693// Player-session-related operations include:
15694//
15695//    * CreatePlayerSession
15696//
15697//    * CreatePlayerSessions
15698//
15699//    * DescribePlayerSessions
15700//
15701//    * Game session placements
15702//
15703// StartGameSessionPlacement
15704//
15705// DescribeGameSessionPlacement
15706//
15707// StopGameSessionPlacement
15708type PlayerSession struct {
15709	_ struct{} `type:"structure"`
15710
15711	// Time stamp indicating when this data object was created. Format is a number
15712	// expressed in Unix time as milliseconds (for example "1469498468.057").
15713	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
15714
15715	// Unique identifier for a fleet that the player's game session is running on.
15716	FleetId *string `type:"string"`
15717
15718	// Unique identifier for the game session that the player session is connected
15719	// to.
15720	GameSessionId *string `min:"1" type:"string"`
15721
15722	// IP address of the game session. To connect to a Amazon GameLift game server,
15723	// an app needs both the IP address and port number.
15724	IpAddress *string `type:"string"`
15725
15726	// Developer-defined information related to a player. Amazon GameLift does not
15727	// use this data, so it can be formatted as needed for use in the game.
15728	PlayerData *string `min:"1" type:"string"`
15729
15730	// Unique identifier for a player that is associated with this player session.
15731	PlayerId *string `min:"1" type:"string"`
15732
15733	// Unique identifier for a player session.
15734	PlayerSessionId *string `type:"string"`
15735
15736	// Port number for the game session. To connect to a Amazon GameLift server
15737	// process, an app needs both the IP address and port number.
15738	Port *int64 `min:"1" type:"integer"`
15739
15740	// Current status of the player session.
15741	//
15742	// Possible player session statuses include the following:
15743	//
15744	//    * RESERVED -- The player session request has been received, but the player
15745	//    has not yet connected to the server process and/or been validated.
15746	//
15747	//    * ACTIVE -- The player has been validated by the server process and is
15748	//    currently connected.
15749	//
15750	//    * COMPLETED -- The player connection has been dropped.
15751	//
15752	//    * TIMEDOUT -- A player session request was received, but the player did
15753	//    not connect and/or was not validated within the timeout limit (60 seconds).
15754	Status *string `type:"string" enum:"PlayerSessionStatus"`
15755
15756	// Time stamp indicating when this data object was terminated. Format is a number
15757	// expressed in Unix time as milliseconds (for example "1469498468.057").
15758	TerminationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
15759}
15760
15761// String returns the string representation
15762func (s PlayerSession) String() string {
15763	return awsutil.Prettify(s)
15764}
15765
15766// GoString returns the string representation
15767func (s PlayerSession) GoString() string {
15768	return s.String()
15769}
15770
15771// SetCreationTime sets the CreationTime field's value.
15772func (s *PlayerSession) SetCreationTime(v time.Time) *PlayerSession {
15773	s.CreationTime = &v
15774	return s
15775}
15776
15777// SetFleetId sets the FleetId field's value.
15778func (s *PlayerSession) SetFleetId(v string) *PlayerSession {
15779	s.FleetId = &v
15780	return s
15781}
15782
15783// SetGameSessionId sets the GameSessionId field's value.
15784func (s *PlayerSession) SetGameSessionId(v string) *PlayerSession {
15785	s.GameSessionId = &v
15786	return s
15787}
15788
15789// SetIpAddress sets the IpAddress field's value.
15790func (s *PlayerSession) SetIpAddress(v string) *PlayerSession {
15791	s.IpAddress = &v
15792	return s
15793}
15794
15795// SetPlayerData sets the PlayerData field's value.
15796func (s *PlayerSession) SetPlayerData(v string) *PlayerSession {
15797	s.PlayerData = &v
15798	return s
15799}
15800
15801// SetPlayerId sets the PlayerId field's value.
15802func (s *PlayerSession) SetPlayerId(v string) *PlayerSession {
15803	s.PlayerId = &v
15804	return s
15805}
15806
15807// SetPlayerSessionId sets the PlayerSessionId field's value.
15808func (s *PlayerSession) SetPlayerSessionId(v string) *PlayerSession {
15809	s.PlayerSessionId = &v
15810	return s
15811}
15812
15813// SetPort sets the Port field's value.
15814func (s *PlayerSession) SetPort(v int64) *PlayerSession {
15815	s.Port = &v
15816	return s
15817}
15818
15819// SetStatus sets the Status field's value.
15820func (s *PlayerSession) SetStatus(v string) *PlayerSession {
15821	s.Status = &v
15822	return s
15823}
15824
15825// SetTerminationTime sets the TerminationTime field's value.
15826func (s *PlayerSession) SetTerminationTime(v time.Time) *PlayerSession {
15827	s.TerminationTime = &v
15828	return s
15829}
15830
15831// Represents the input for a request action.
15832type PutScalingPolicyInput struct {
15833	_ struct{} `type:"structure"`
15834
15835	// Comparison operator to use when measuring the metric against the threshold
15836	// value.
15837	//
15838	// ComparisonOperator is a required field
15839	ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperatorType"`
15840
15841	// Length of time (in minutes) the metric must be at or beyond the threshold
15842	// before a scaling event is triggered.
15843	//
15844	// EvaluationPeriods is a required field
15845	EvaluationPeriods *int64 `min:"1" type:"integer" required:"true"`
15846
15847	// Unique identifier for a fleet to apply this policy to.
15848	//
15849	// FleetId is a required field
15850	FleetId *string `type:"string" required:"true"`
15851
15852	// Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.
15853	//
15854	//    * ActivatingGameSessions -- number of game sessions in the process of
15855	//    being created (game session status = ACTIVATING).
15856	//
15857	//    * ActiveGameSessions -- number of game sessions currently running (game
15858	//    session status = ACTIVE).
15859	//
15860	//    * CurrentPlayerSessions -- number of active or reserved player sessions
15861	//    (player session status = ACTIVE or RESERVED).
15862	//
15863	//    * AvailablePlayerSessions -- number of player session slots currently
15864	//    available in active game sessions across the fleet, calculated by subtracting
15865	//    a game session's current player session count from its maximum player
15866	//    session count. This number includes game sessions that are not currently
15867	//    accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
15868	//
15869	//    * ActiveInstances -- number of instances currently running a game session.
15870	//
15871	//    * IdleInstances -- number of instances not currently running a game session.
15872	//
15873	// MetricName is a required field
15874	MetricName *string `type:"string" required:"true" enum:"MetricName"`
15875
15876	// Descriptive label that is associated with a scaling policy. Policy names
15877	// do not need to be unique. A fleet can have only one scaling policy with the
15878	// same name.
15879	//
15880	// Name is a required field
15881	Name *string `min:"1" type:"string" required:"true"`
15882
15883	// Amount of adjustment to make, based on the scaling adjustment type.
15884	//
15885	// ScalingAdjustment is a required field
15886	ScalingAdjustment *int64 `type:"integer" required:"true"`
15887
15888	// Type of adjustment to make to a fleet's instance count (see FleetCapacity):
15889	//
15890	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
15891	//    the current instance count. Positive values scale up while negative values
15892	//    scale down.
15893	//
15894	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
15895	//
15896	//    * PercentChangeInCapacity -- increase or reduce the current instance count
15897	//    by the scaling adjustment, read as a percentage. Positive values scale
15898	//    up while negative values scale down; for example, a value of "-10" scales
15899	//    the fleet down by 10%.
15900	//
15901	// ScalingAdjustmentType is a required field
15902	ScalingAdjustmentType *string `type:"string" required:"true" enum:"ScalingAdjustmentType"`
15903
15904	// Metric value used to trigger a scaling event.
15905	//
15906	// Threshold is a required field
15907	Threshold *float64 `type:"double" required:"true"`
15908}
15909
15910// String returns the string representation
15911func (s PutScalingPolicyInput) String() string {
15912	return awsutil.Prettify(s)
15913}
15914
15915// GoString returns the string representation
15916func (s PutScalingPolicyInput) GoString() string {
15917	return s.String()
15918}
15919
15920// Validate inspects the fields of the type to determine if they are valid.
15921func (s *PutScalingPolicyInput) Validate() error {
15922	invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"}
15923	if s.ComparisonOperator == nil {
15924		invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
15925	}
15926	if s.EvaluationPeriods == nil {
15927		invalidParams.Add(request.NewErrParamRequired("EvaluationPeriods"))
15928	}
15929	if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 {
15930		invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1))
15931	}
15932	if s.FleetId == nil {
15933		invalidParams.Add(request.NewErrParamRequired("FleetId"))
15934	}
15935	if s.MetricName == nil {
15936		invalidParams.Add(request.NewErrParamRequired("MetricName"))
15937	}
15938	if s.Name == nil {
15939		invalidParams.Add(request.NewErrParamRequired("Name"))
15940	}
15941	if s.Name != nil && len(*s.Name) < 1 {
15942		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
15943	}
15944	if s.ScalingAdjustment == nil {
15945		invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment"))
15946	}
15947	if s.ScalingAdjustmentType == nil {
15948		invalidParams.Add(request.NewErrParamRequired("ScalingAdjustmentType"))
15949	}
15950	if s.Threshold == nil {
15951		invalidParams.Add(request.NewErrParamRequired("Threshold"))
15952	}
15953
15954	if invalidParams.Len() > 0 {
15955		return invalidParams
15956	}
15957	return nil
15958}
15959
15960// SetComparisonOperator sets the ComparisonOperator field's value.
15961func (s *PutScalingPolicyInput) SetComparisonOperator(v string) *PutScalingPolicyInput {
15962	s.ComparisonOperator = &v
15963	return s
15964}
15965
15966// SetEvaluationPeriods sets the EvaluationPeriods field's value.
15967func (s *PutScalingPolicyInput) SetEvaluationPeriods(v int64) *PutScalingPolicyInput {
15968	s.EvaluationPeriods = &v
15969	return s
15970}
15971
15972// SetFleetId sets the FleetId field's value.
15973func (s *PutScalingPolicyInput) SetFleetId(v string) *PutScalingPolicyInput {
15974	s.FleetId = &v
15975	return s
15976}
15977
15978// SetMetricName sets the MetricName field's value.
15979func (s *PutScalingPolicyInput) SetMetricName(v string) *PutScalingPolicyInput {
15980	s.MetricName = &v
15981	return s
15982}
15983
15984// SetName sets the Name field's value.
15985func (s *PutScalingPolicyInput) SetName(v string) *PutScalingPolicyInput {
15986	s.Name = &v
15987	return s
15988}
15989
15990// SetScalingAdjustment sets the ScalingAdjustment field's value.
15991func (s *PutScalingPolicyInput) SetScalingAdjustment(v int64) *PutScalingPolicyInput {
15992	s.ScalingAdjustment = &v
15993	return s
15994}
15995
15996// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
15997func (s *PutScalingPolicyInput) SetScalingAdjustmentType(v string) *PutScalingPolicyInput {
15998	s.ScalingAdjustmentType = &v
15999	return s
16000}
16001
16002// SetThreshold sets the Threshold field's value.
16003func (s *PutScalingPolicyInput) SetThreshold(v float64) *PutScalingPolicyInput {
16004	s.Threshold = &v
16005	return s
16006}
16007
16008// Represents the returned data in response to a request action.
16009type PutScalingPolicyOutput struct {
16010	_ struct{} `type:"structure"`
16011
16012	// Descriptive label that is associated with a scaling policy. Policy names
16013	// do not need to be unique.
16014	Name *string `min:"1" type:"string"`
16015}
16016
16017// String returns the string representation
16018func (s PutScalingPolicyOutput) String() string {
16019	return awsutil.Prettify(s)
16020}
16021
16022// GoString returns the string representation
16023func (s PutScalingPolicyOutput) GoString() string {
16024	return s.String()
16025}
16026
16027// SetName sets the Name field's value.
16028func (s *PutScalingPolicyOutput) SetName(v string) *PutScalingPolicyOutput {
16029	s.Name = &v
16030	return s
16031}
16032
16033// Represents the input for a request action.
16034type RequestUploadCredentialsInput struct {
16035	_ struct{} `type:"structure"`
16036
16037	// Unique identifier for a build to get credentials for.
16038	//
16039	// BuildId is a required field
16040	BuildId *string `type:"string" required:"true"`
16041}
16042
16043// String returns the string representation
16044func (s RequestUploadCredentialsInput) String() string {
16045	return awsutil.Prettify(s)
16046}
16047
16048// GoString returns the string representation
16049func (s RequestUploadCredentialsInput) GoString() string {
16050	return s.String()
16051}
16052
16053// Validate inspects the fields of the type to determine if they are valid.
16054func (s *RequestUploadCredentialsInput) Validate() error {
16055	invalidParams := request.ErrInvalidParams{Context: "RequestUploadCredentialsInput"}
16056	if s.BuildId == nil {
16057		invalidParams.Add(request.NewErrParamRequired("BuildId"))
16058	}
16059
16060	if invalidParams.Len() > 0 {
16061		return invalidParams
16062	}
16063	return nil
16064}
16065
16066// SetBuildId sets the BuildId field's value.
16067func (s *RequestUploadCredentialsInput) SetBuildId(v string) *RequestUploadCredentialsInput {
16068	s.BuildId = &v
16069	return s
16070}
16071
16072// Represents the returned data in response to a request action.
16073type RequestUploadCredentialsOutput struct {
16074	_ struct{} `type:"structure"`
16075
16076	// Amazon S3 path and key, identifying where the game build files are stored.
16077	StorageLocation *S3Location `type:"structure"`
16078
16079	// AWS credentials required when uploading a game build to the storage location.
16080	// These credentials have a limited lifespan and are valid only for the build
16081	// they were issued for.
16082	UploadCredentials *AwsCredentials `type:"structure"`
16083}
16084
16085// String returns the string representation
16086func (s RequestUploadCredentialsOutput) String() string {
16087	return awsutil.Prettify(s)
16088}
16089
16090// GoString returns the string representation
16091func (s RequestUploadCredentialsOutput) GoString() string {
16092	return s.String()
16093}
16094
16095// SetStorageLocation sets the StorageLocation field's value.
16096func (s *RequestUploadCredentialsOutput) SetStorageLocation(v *S3Location) *RequestUploadCredentialsOutput {
16097	s.StorageLocation = v
16098	return s
16099}
16100
16101// SetUploadCredentials sets the UploadCredentials field's value.
16102func (s *RequestUploadCredentialsOutput) SetUploadCredentials(v *AwsCredentials) *RequestUploadCredentialsOutput {
16103	s.UploadCredentials = v
16104	return s
16105}
16106
16107// Represents the input for a request action.
16108type ResolveAliasInput struct {
16109	_ struct{} `type:"structure"`
16110
16111	// Unique identifier for the alias you want to resolve.
16112	//
16113	// AliasId is a required field
16114	AliasId *string `type:"string" required:"true"`
16115}
16116
16117// String returns the string representation
16118func (s ResolveAliasInput) String() string {
16119	return awsutil.Prettify(s)
16120}
16121
16122// GoString returns the string representation
16123func (s ResolveAliasInput) GoString() string {
16124	return s.String()
16125}
16126
16127// Validate inspects the fields of the type to determine if they are valid.
16128func (s *ResolveAliasInput) Validate() error {
16129	invalidParams := request.ErrInvalidParams{Context: "ResolveAliasInput"}
16130	if s.AliasId == nil {
16131		invalidParams.Add(request.NewErrParamRequired("AliasId"))
16132	}
16133
16134	if invalidParams.Len() > 0 {
16135		return invalidParams
16136	}
16137	return nil
16138}
16139
16140// SetAliasId sets the AliasId field's value.
16141func (s *ResolveAliasInput) SetAliasId(v string) *ResolveAliasInput {
16142	s.AliasId = &v
16143	return s
16144}
16145
16146// Represents the returned data in response to a request action.
16147type ResolveAliasOutput struct {
16148	_ struct{} `type:"structure"`
16149
16150	// Fleet identifier that is associated with the requested alias.
16151	FleetId *string `type:"string"`
16152}
16153
16154// String returns the string representation
16155func (s ResolveAliasOutput) String() string {
16156	return awsutil.Prettify(s)
16157}
16158
16159// GoString returns the string representation
16160func (s ResolveAliasOutput) GoString() string {
16161	return s.String()
16162}
16163
16164// SetFleetId sets the FleetId field's value.
16165func (s *ResolveAliasOutput) SetFleetId(v string) *ResolveAliasOutput {
16166	s.FleetId = &v
16167	return s
16168}
16169
16170// Policy that limits the number of game sessions a player can create on the
16171// same fleet. This optional policy gives game owners control over how players
16172// can consume available game server resources. A resource creation policy makes
16173// the following statement: "An individual player can create a maximum number
16174// of new game sessions within a specified time period".
16175//
16176// The policy is evaluated when a player tries to create a new game session.
16177// For example, with a policy of 10 new game sessions and a time period of 60
16178// minutes, on receiving a CreateGameSession request, Amazon GameLift checks
16179// that the player (identified by CreatorId) has created fewer than 10 game
16180// sessions in the past 60 minutes.
16181type ResourceCreationLimitPolicy struct {
16182	_ struct{} `type:"structure"`
16183
16184	// Maximum number of game sessions that an individual can create during the
16185	// policy period.
16186	NewGameSessionsPerCreator *int64 `type:"integer"`
16187
16188	// Time span used in evaluating the resource creation limit policy.
16189	PolicyPeriodInMinutes *int64 `type:"integer"`
16190}
16191
16192// String returns the string representation
16193func (s ResourceCreationLimitPolicy) String() string {
16194	return awsutil.Prettify(s)
16195}
16196
16197// GoString returns the string representation
16198func (s ResourceCreationLimitPolicy) GoString() string {
16199	return s.String()
16200}
16201
16202// SetNewGameSessionsPerCreator sets the NewGameSessionsPerCreator field's value.
16203func (s *ResourceCreationLimitPolicy) SetNewGameSessionsPerCreator(v int64) *ResourceCreationLimitPolicy {
16204	s.NewGameSessionsPerCreator = &v
16205	return s
16206}
16207
16208// SetPolicyPeriodInMinutes sets the PolicyPeriodInMinutes field's value.
16209func (s *ResourceCreationLimitPolicy) SetPolicyPeriodInMinutes(v int64) *ResourceCreationLimitPolicy {
16210	s.PolicyPeriodInMinutes = &v
16211	return s
16212}
16213
16214// Routing configuration for a fleet alias.
16215//
16216// Fleet-related operations include:
16217//
16218//    * CreateFleet
16219//
16220//    * ListFleets
16221//
16222//    * Describe fleets:
16223//
16224// DescribeFleetAttributes
16225//
16226// DescribeFleetPortSettings
16227//
16228// DescribeFleetUtilization
16229//
16230// DescribeRuntimeConfiguration
16231//
16232// DescribeFleetEvents
16233//
16234//    * Update fleets:
16235//
16236// UpdateFleetAttributes
16237//
16238// UpdateFleetCapacity
16239//
16240// UpdateFleetPortSettings
16241//
16242// UpdateRuntimeConfiguration
16243//
16244//    * Manage fleet capacity:
16245//
16246// DescribeFleetCapacity
16247//
16248// UpdateFleetCapacity
16249//
16250// PutScalingPolicy (automatic scaling)
16251//
16252// DescribeScalingPolicies (automatic scaling)
16253//
16254// DeleteScalingPolicy (automatic scaling)
16255//
16256// DescribeEC2InstanceLimits
16257//
16258//    * DeleteFleet
16259type RoutingStrategy struct {
16260	_ struct{} `type:"structure"`
16261
16262	// Unique identifier for a fleet that the alias points to.
16263	FleetId *string `type:"string"`
16264
16265	// Message text to be used with a terminal routing strategy.
16266	Message *string `type:"string"`
16267
16268	// Type of routing strategy.
16269	//
16270	// Possible routing types include the following:
16271	//
16272	//    * SIMPLE -- The alias resolves to one specific fleet. Use this type when
16273	//    routing to active fleets.
16274	//
16275	//    * TERMINAL -- The alias does not resolve to a fleet but instead can be
16276	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
16277	//    with the RoutingStrategy message embedded.
16278	Type *string `type:"string" enum:"RoutingStrategyType"`
16279}
16280
16281// String returns the string representation
16282func (s RoutingStrategy) String() string {
16283	return awsutil.Prettify(s)
16284}
16285
16286// GoString returns the string representation
16287func (s RoutingStrategy) GoString() string {
16288	return s.String()
16289}
16290
16291// SetFleetId sets the FleetId field's value.
16292func (s *RoutingStrategy) SetFleetId(v string) *RoutingStrategy {
16293	s.FleetId = &v
16294	return s
16295}
16296
16297// SetMessage sets the Message field's value.
16298func (s *RoutingStrategy) SetMessage(v string) *RoutingStrategy {
16299	s.Message = &v
16300	return s
16301}
16302
16303// SetType sets the Type field's value.
16304func (s *RoutingStrategy) SetType(v string) *RoutingStrategy {
16305	s.Type = &v
16306	return s
16307}
16308
16309// A collection of server process configurations that describe what processes
16310// to run on each instance in a fleet. All fleets must have a run-time configuration.
16311// Each instance in the fleet launches the server processes specified in the
16312// run-time configuration and launches new ones as existing processes end. Each
16313// instance regularly checks for an updated run-time configuration and follows
16314// the new instructions.
16315//
16316// The run-time configuration enables the instances in a fleet to run multiple
16317// processes simultaneously. Potential scenarios are as follows: (1) Run multiple
16318// processes of a single game server executable to maximize usage of your hosting
16319// resources. (2) Run one or more processes of different build executables,
16320// such as your game server executable and a related program, or two or more
16321// different versions of a game server. (3) Run multiple processes of a single
16322// game server but with different launch parameters, for example to run one
16323// process on each instance in debug mode.
16324//
16325// A Amazon GameLift instance is limited to 50 processes running simultaneously.
16326// A run-time configuration must specify fewer than this limit. To calculate
16327// the total number of processes specified in a run-time configuration, add
16328// the values of the ConcurrentExecutions parameter for each ServerProcess object
16329// in the run-time configuration.
16330//
16331// Fleet-related operations include:
16332//
16333//    * CreateFleet
16334//
16335//    * ListFleets
16336//
16337//    * Describe fleets:
16338//
16339// DescribeFleetAttributes
16340//
16341// DescribeFleetPortSettings
16342//
16343// DescribeFleetUtilization
16344//
16345// DescribeRuntimeConfiguration
16346//
16347// DescribeFleetEvents
16348//
16349//    * Update fleets:
16350//
16351// UpdateFleetAttributes
16352//
16353// UpdateFleetCapacity
16354//
16355// UpdateFleetPortSettings
16356//
16357// UpdateRuntimeConfiguration
16358//
16359//    * Manage fleet capacity:
16360//
16361// DescribeFleetCapacity
16362//
16363// UpdateFleetCapacity
16364//
16365// PutScalingPolicy (automatic scaling)
16366//
16367// DescribeScalingPolicies (automatic scaling)
16368//
16369// DeleteScalingPolicy (automatic scaling)
16370//
16371// DescribeEC2InstanceLimits
16372//
16373//    * DeleteFleet
16374type RuntimeConfiguration struct {
16375	_ struct{} `type:"structure"`
16376
16377	// Maximum amount of time (in seconds) that a game session can remain in status
16378	// ACTIVATING. If the game session is not active before the timeout, activation
16379	// is terminated and the game session status is changed to TERMINATED.
16380	GameSessionActivationTimeoutSeconds *int64 `min:"1" type:"integer"`
16381
16382	// Maximum number of game sessions with status ACTIVATING to allow on an instance
16383	// simultaneously. This setting limits the amount of instance resources that
16384	// can be used for new game activations at any one time.
16385	MaxConcurrentGameSessionActivations *int64 `min:"1" type:"integer"`
16386
16387	// Collection of server process configurations that describe which server processes
16388	// to run on each instance in a fleet.
16389	ServerProcesses []*ServerProcess `min:"1" type:"list"`
16390}
16391
16392// String returns the string representation
16393func (s RuntimeConfiguration) String() string {
16394	return awsutil.Prettify(s)
16395}
16396
16397// GoString returns the string representation
16398func (s RuntimeConfiguration) GoString() string {
16399	return s.String()
16400}
16401
16402// Validate inspects the fields of the type to determine if they are valid.
16403func (s *RuntimeConfiguration) Validate() error {
16404	invalidParams := request.ErrInvalidParams{Context: "RuntimeConfiguration"}
16405	if s.GameSessionActivationTimeoutSeconds != nil && *s.GameSessionActivationTimeoutSeconds < 1 {
16406		invalidParams.Add(request.NewErrParamMinValue("GameSessionActivationTimeoutSeconds", 1))
16407	}
16408	if s.MaxConcurrentGameSessionActivations != nil && *s.MaxConcurrentGameSessionActivations < 1 {
16409		invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentGameSessionActivations", 1))
16410	}
16411	if s.ServerProcesses != nil && len(s.ServerProcesses) < 1 {
16412		invalidParams.Add(request.NewErrParamMinLen("ServerProcesses", 1))
16413	}
16414	if s.ServerProcesses != nil {
16415		for i, v := range s.ServerProcesses {
16416			if v == nil {
16417				continue
16418			}
16419			if err := v.Validate(); err != nil {
16420				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerProcesses", i), err.(request.ErrInvalidParams))
16421			}
16422		}
16423	}
16424
16425	if invalidParams.Len() > 0 {
16426		return invalidParams
16427	}
16428	return nil
16429}
16430
16431// SetGameSessionActivationTimeoutSeconds sets the GameSessionActivationTimeoutSeconds field's value.
16432func (s *RuntimeConfiguration) SetGameSessionActivationTimeoutSeconds(v int64) *RuntimeConfiguration {
16433	s.GameSessionActivationTimeoutSeconds = &v
16434	return s
16435}
16436
16437// SetMaxConcurrentGameSessionActivations sets the MaxConcurrentGameSessionActivations field's value.
16438func (s *RuntimeConfiguration) SetMaxConcurrentGameSessionActivations(v int64) *RuntimeConfiguration {
16439	s.MaxConcurrentGameSessionActivations = &v
16440	return s
16441}
16442
16443// SetServerProcesses sets the ServerProcesses field's value.
16444func (s *RuntimeConfiguration) SetServerProcesses(v []*ServerProcess) *RuntimeConfiguration {
16445	s.ServerProcesses = v
16446	return s
16447}
16448
16449// Location in Amazon Simple Storage Service (Amazon S3) where build files can
16450// be stored for access by Amazon GameLift. This location is specified in a
16451// CreateBuild request. For more details, see the Create a Build with Files
16452// in Amazon S3 (http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build).
16453type S3Location struct {
16454	_ struct{} `type:"structure"`
16455
16456	// Amazon S3 bucket identifier. This is the name of your S3 bucket.
16457	Bucket *string `min:"1" type:"string"`
16458
16459	// Name of the zip file containing your build files.
16460	Key *string `min:"1" type:"string"`
16461
16462	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
16463	// for the access role that allows Amazon GameLift to access your S3 bucket.
16464	RoleArn *string `min:"1" type:"string"`
16465}
16466
16467// String returns the string representation
16468func (s S3Location) String() string {
16469	return awsutil.Prettify(s)
16470}
16471
16472// GoString returns the string representation
16473func (s S3Location) GoString() string {
16474	return s.String()
16475}
16476
16477// Validate inspects the fields of the type to determine if they are valid.
16478func (s *S3Location) Validate() error {
16479	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
16480	if s.Bucket != nil && len(*s.Bucket) < 1 {
16481		invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
16482	}
16483	if s.Key != nil && len(*s.Key) < 1 {
16484		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16485	}
16486	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
16487		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
16488	}
16489
16490	if invalidParams.Len() > 0 {
16491		return invalidParams
16492	}
16493	return nil
16494}
16495
16496// SetBucket sets the Bucket field's value.
16497func (s *S3Location) SetBucket(v string) *S3Location {
16498	s.Bucket = &v
16499	return s
16500}
16501
16502// SetKey sets the Key field's value.
16503func (s *S3Location) SetKey(v string) *S3Location {
16504	s.Key = &v
16505	return s
16506}
16507
16508// SetRoleArn sets the RoleArn field's value.
16509func (s *S3Location) SetRoleArn(v string) *S3Location {
16510	s.RoleArn = &v
16511	return s
16512}
16513
16514// Rule that controls how a fleet is scaled. Scaling policies are uniquely identified
16515// by the combination of name and fleet ID.
16516//
16517// Fleet-related operations include:
16518//
16519//    * CreateFleet
16520//
16521//    * ListFleets
16522//
16523//    * Describe fleets:
16524//
16525// DescribeFleetAttributes
16526//
16527// DescribeFleetPortSettings
16528//
16529// DescribeFleetUtilization
16530//
16531// DescribeRuntimeConfiguration
16532//
16533// DescribeFleetEvents
16534//
16535//    * Update fleets:
16536//
16537// UpdateFleetAttributes
16538//
16539// UpdateFleetCapacity
16540//
16541// UpdateFleetPortSettings
16542//
16543// UpdateRuntimeConfiguration
16544//
16545//    * Manage fleet capacity:
16546//
16547// DescribeFleetCapacity
16548//
16549// UpdateFleetCapacity
16550//
16551// PutScalingPolicy (automatic scaling)
16552//
16553// DescribeScalingPolicies (automatic scaling)
16554//
16555// DeleteScalingPolicy (automatic scaling)
16556//
16557// DescribeEC2InstanceLimits
16558//
16559//    * DeleteFleet
16560type ScalingPolicy struct {
16561	_ struct{} `type:"structure"`
16562
16563	// Comparison operator to use when measuring a metric against the threshold
16564	// value.
16565	ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"`
16566
16567	// Length of time (in minutes) the metric must be at or beyond the threshold
16568	// before a scaling event is triggered.
16569	EvaluationPeriods *int64 `min:"1" type:"integer"`
16570
16571	// Unique identifier for a fleet that is associated with this scaling policy.
16572	FleetId *string `type:"string"`
16573
16574	// Name of the Amazon GameLift-defined metric that is used to trigger an adjustment.
16575	//
16576	//    * ActivatingGameSessions -- number of game sessions in the process of
16577	//    being created (game session status = ACTIVATING).
16578	//
16579	//    * ActiveGameSessions -- number of game sessions currently running (game
16580	//    session status = ACTIVE).
16581	//
16582	//    * CurrentPlayerSessions -- number of active or reserved player sessions
16583	//    (player session status = ACTIVE or RESERVED).
16584	//
16585	//    * AvailablePlayerSessions -- number of player session slots currently
16586	//    available in active game sessions across the fleet, calculated by subtracting
16587	//    a game session's current player session count from its maximum player
16588	//    session count. This number does include game sessions that are not currently
16589	//    accepting players (game session PlayerSessionCreationPolicy = DENY_ALL).
16590	//
16591	//    * ActiveInstances -- number of instances currently running a game session.
16592	//
16593	//    * IdleInstances -- number of instances not currently running a game session.
16594	MetricName *string `type:"string" enum:"MetricName"`
16595
16596	// Descriptive label that is associated with a scaling policy. Policy names
16597	// do not need to be unique.
16598	Name *string `min:"1" type:"string"`
16599
16600	// Amount of adjustment to make, based on the scaling adjustment type.
16601	ScalingAdjustment *int64 `type:"integer"`
16602
16603	// Type of adjustment to make to a fleet's instance count (see FleetCapacity):
16604	//
16605	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
16606	//    the current instance count. Positive values scale up while negative values
16607	//    scale down.
16608	//
16609	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
16610	//
16611	//    * PercentChangeInCapacity -- increase or reduce the current instance count
16612	//    by the scaling adjustment, read as a percentage. Positive values scale
16613	//    up while negative values scale down.
16614	ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"`
16615
16616	// Current status of the scaling policy. The scaling policy is only in force
16617	// when in an ACTIVE status.
16618	//
16619	//    * ACTIVE -- The scaling policy is currently in force.
16620	//
16621	//    * UPDATE_REQUESTED -- A request to update the scaling policy has been
16622	//    received.
16623	//
16624	//    * UPDATING -- A change is being made to the scaling policy.
16625	//
16626	//    * DELETE_REQUESTED -- A request to delete the scaling policy has been
16627	//    received.
16628	//
16629	//    * DELETING -- The scaling policy is being deleted.
16630	//
16631	//    * DELETED -- The scaling policy has been deleted.
16632	//
16633	//    * ERROR -- An error occurred in creating the policy. It should be removed
16634	//    and recreated.
16635	Status *string `type:"string" enum:"ScalingStatusType"`
16636
16637	// Metric value used to trigger a scaling event.
16638	Threshold *float64 `type:"double"`
16639}
16640
16641// String returns the string representation
16642func (s ScalingPolicy) String() string {
16643	return awsutil.Prettify(s)
16644}
16645
16646// GoString returns the string representation
16647func (s ScalingPolicy) GoString() string {
16648	return s.String()
16649}
16650
16651// SetComparisonOperator sets the ComparisonOperator field's value.
16652func (s *ScalingPolicy) SetComparisonOperator(v string) *ScalingPolicy {
16653	s.ComparisonOperator = &v
16654	return s
16655}
16656
16657// SetEvaluationPeriods sets the EvaluationPeriods field's value.
16658func (s *ScalingPolicy) SetEvaluationPeriods(v int64) *ScalingPolicy {
16659	s.EvaluationPeriods = &v
16660	return s
16661}
16662
16663// SetFleetId sets the FleetId field's value.
16664func (s *ScalingPolicy) SetFleetId(v string) *ScalingPolicy {
16665	s.FleetId = &v
16666	return s
16667}
16668
16669// SetMetricName sets the MetricName field's value.
16670func (s *ScalingPolicy) SetMetricName(v string) *ScalingPolicy {
16671	s.MetricName = &v
16672	return s
16673}
16674
16675// SetName sets the Name field's value.
16676func (s *ScalingPolicy) SetName(v string) *ScalingPolicy {
16677	s.Name = &v
16678	return s
16679}
16680
16681// SetScalingAdjustment sets the ScalingAdjustment field's value.
16682func (s *ScalingPolicy) SetScalingAdjustment(v int64) *ScalingPolicy {
16683	s.ScalingAdjustment = &v
16684	return s
16685}
16686
16687// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
16688func (s *ScalingPolicy) SetScalingAdjustmentType(v string) *ScalingPolicy {
16689	s.ScalingAdjustmentType = &v
16690	return s
16691}
16692
16693// SetStatus sets the Status field's value.
16694func (s *ScalingPolicy) SetStatus(v string) *ScalingPolicy {
16695	s.Status = &v
16696	return s
16697}
16698
16699// SetThreshold sets the Threshold field's value.
16700func (s *ScalingPolicy) SetThreshold(v float64) *ScalingPolicy {
16701	s.Threshold = &v
16702	return s
16703}
16704
16705// Represents the input for a request action.
16706type SearchGameSessionsInput struct {
16707	_ struct{} `type:"structure"`
16708
16709	// Unique identifier for an alias associated with the fleet to search for active
16710	// game sessions. Each request must reference either a fleet ID or alias ID,
16711	// but not both.
16712	AliasId *string `type:"string"`
16713
16714	// String containing the search criteria for the session search. If no filter
16715	// expression is included, the request returns results for all game sessions
16716	// in the fleet that are in ACTIVE status.
16717	//
16718	// A filter expression can contain one or multiple conditions. Each condition
16719	// consists of the following:
16720	//
16721	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
16722	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
16723	//    playerSessionCount, hasAvailablePlayerSessions.
16724	//
16725	//    * Comparator -- Valid comparators are: =, <>, <, >, <=, >=.
16726	//
16727	//    * Value -- Value to be searched for. Values may be numbers, boolean values
16728	//    (true/false) or strings depending on the operand. String values are case
16729	//    sensitive and must be enclosed in single quotes. Special characters must
16730	//    be escaped. Boolean and string values can only be used with the comparators
16731	//    = and <>. For example, the following filter expression searches on gameSessionName:
16732	//    "FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'".
16733	//
16734	// To chain multiple conditions in a single expression, use the logical keywords
16735	// AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT
16736	// z, NOT (x OR y).
16737	//
16738	// Session search evaluates conditions from left to right using the following
16739	// precedence rules:
16740	//
16741	// =, <>, <, >, <=, >=
16742	//
16743	// Parentheses
16744	//
16745	// NOT
16746	//
16747	// AND
16748	//
16749	// OR
16750	//
16751	// For example, this filter expression retrieves game sessions hosting at least
16752	// ten players that have an open player slot: "maximumSessions>=10 AND hasAvailablePlayerSessions=true".
16753	FilterExpression *string `min:"1" type:"string"`
16754
16755	// Unique identifier for a fleet to search for active game sessions. Each request
16756	// must reference either a fleet ID or alias ID, but not both.
16757	FleetId *string `type:"string"`
16758
16759	// Maximum number of results to return. Use this parameter with NextToken to
16760	// get results as a set of sequential pages. The maximum number of results returned
16761	// is 20, even if this value is not set or is set higher than 20.
16762	Limit *int64 `min:"1" type:"integer"`
16763
16764	// Token that indicates the start of the next sequential page of results. Use
16765	// the token that is returned with a previous call to this action. To start
16766	// at the beginning of the result set, do not specify a value.
16767	NextToken *string `min:"1" type:"string"`
16768
16769	// Instructions on how to sort the search results. If no sort expression is
16770	// included, the request returns results in random order. A sort expression
16771	// consists of the following elements:
16772	//
16773	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
16774	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
16775	//    playerSessionCount, hasAvailablePlayerSessions.
16776	//
16777	//    * Order -- Valid sort orders are ASC (ascending) and DESC (descending).
16778	//
16779	// For example, this sort expression returns the oldest active sessions first:
16780	// "SortExpression": "creationTimeMillis ASC". Results with a null value for
16781	// the sort operand are returned at the end of the list.
16782	SortExpression *string `min:"1" type:"string"`
16783}
16784
16785// String returns the string representation
16786func (s SearchGameSessionsInput) String() string {
16787	return awsutil.Prettify(s)
16788}
16789
16790// GoString returns the string representation
16791func (s SearchGameSessionsInput) GoString() string {
16792	return s.String()
16793}
16794
16795// Validate inspects the fields of the type to determine if they are valid.
16796func (s *SearchGameSessionsInput) Validate() error {
16797	invalidParams := request.ErrInvalidParams{Context: "SearchGameSessionsInput"}
16798	if s.FilterExpression != nil && len(*s.FilterExpression) < 1 {
16799		invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1))
16800	}
16801	if s.Limit != nil && *s.Limit < 1 {
16802		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
16803	}
16804	if s.NextToken != nil && len(*s.NextToken) < 1 {
16805		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
16806	}
16807	if s.SortExpression != nil && len(*s.SortExpression) < 1 {
16808		invalidParams.Add(request.NewErrParamMinLen("SortExpression", 1))
16809	}
16810
16811	if invalidParams.Len() > 0 {
16812		return invalidParams
16813	}
16814	return nil
16815}
16816
16817// SetAliasId sets the AliasId field's value.
16818func (s *SearchGameSessionsInput) SetAliasId(v string) *SearchGameSessionsInput {
16819	s.AliasId = &v
16820	return s
16821}
16822
16823// SetFilterExpression sets the FilterExpression field's value.
16824func (s *SearchGameSessionsInput) SetFilterExpression(v string) *SearchGameSessionsInput {
16825	s.FilterExpression = &v
16826	return s
16827}
16828
16829// SetFleetId sets the FleetId field's value.
16830func (s *SearchGameSessionsInput) SetFleetId(v string) *SearchGameSessionsInput {
16831	s.FleetId = &v
16832	return s
16833}
16834
16835// SetLimit sets the Limit field's value.
16836func (s *SearchGameSessionsInput) SetLimit(v int64) *SearchGameSessionsInput {
16837	s.Limit = &v
16838	return s
16839}
16840
16841// SetNextToken sets the NextToken field's value.
16842func (s *SearchGameSessionsInput) SetNextToken(v string) *SearchGameSessionsInput {
16843	s.NextToken = &v
16844	return s
16845}
16846
16847// SetSortExpression sets the SortExpression field's value.
16848func (s *SearchGameSessionsInput) SetSortExpression(v string) *SearchGameSessionsInput {
16849	s.SortExpression = &v
16850	return s
16851}
16852
16853// Represents the returned data in response to a request action.
16854type SearchGameSessionsOutput struct {
16855	_ struct{} `type:"structure"`
16856
16857	// Collection of objects containing game session properties for each session
16858	// matching the request.
16859	GameSessions []*GameSession `type:"list"`
16860
16861	// Token that indicates where to resume retrieving results on the next call
16862	// to this action. If no token is returned, these results represent the end
16863	// of the list.
16864	NextToken *string `min:"1" type:"string"`
16865}
16866
16867// String returns the string representation
16868func (s SearchGameSessionsOutput) String() string {
16869	return awsutil.Prettify(s)
16870}
16871
16872// GoString returns the string representation
16873func (s SearchGameSessionsOutput) GoString() string {
16874	return s.String()
16875}
16876
16877// SetGameSessions sets the GameSessions field's value.
16878func (s *SearchGameSessionsOutput) SetGameSessions(v []*GameSession) *SearchGameSessionsOutput {
16879	s.GameSessions = v
16880	return s
16881}
16882
16883// SetNextToken sets the NextToken field's value.
16884func (s *SearchGameSessionsOutput) SetNextToken(v string) *SearchGameSessionsOutput {
16885	s.NextToken = &v
16886	return s
16887}
16888
16889// A set of instructions for launching server processes on each instance in
16890// a fleet. Each instruction set identifies the location of the server executable,
16891// optional launch parameters, and the number of server processes with this
16892// configuration to maintain concurrently on the instance. Server process configurations
16893// make up a fleet's RuntimeConfiguration.
16894type ServerProcess struct {
16895	_ struct{} `type:"structure"`
16896
16897	// Number of server processes using this configuration to run concurrently on
16898	// an instance.
16899	//
16900	// ConcurrentExecutions is a required field
16901	ConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"`
16902
16903	// Location of the server executable in a game build. All game builds are installed
16904	// on instances at the root : for Windows instances C:\game, and for Linux instances
16905	// /local/game. A Windows game build with an executable file located at MyGame\latest\server.exe
16906	// must have a launch path of "C:\game\MyGame\latest\server.exe". A Linux game
16907	// build with an executable file located at MyGame/latest/server.exe must have
16908	// a launch path of "/local/game/MyGame/latest/server.exe".
16909	//
16910	// LaunchPath is a required field
16911	LaunchPath *string `min:"1" type:"string" required:"true"`
16912
16913	// Optional list of parameters to pass to the server executable on launch.
16914	Parameters *string `min:"1" type:"string"`
16915}
16916
16917// String returns the string representation
16918func (s ServerProcess) String() string {
16919	return awsutil.Prettify(s)
16920}
16921
16922// GoString returns the string representation
16923func (s ServerProcess) GoString() string {
16924	return s.String()
16925}
16926
16927// Validate inspects the fields of the type to determine if they are valid.
16928func (s *ServerProcess) Validate() error {
16929	invalidParams := request.ErrInvalidParams{Context: "ServerProcess"}
16930	if s.ConcurrentExecutions == nil {
16931		invalidParams.Add(request.NewErrParamRequired("ConcurrentExecutions"))
16932	}
16933	if s.ConcurrentExecutions != nil && *s.ConcurrentExecutions < 1 {
16934		invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutions", 1))
16935	}
16936	if s.LaunchPath == nil {
16937		invalidParams.Add(request.NewErrParamRequired("LaunchPath"))
16938	}
16939	if s.LaunchPath != nil && len(*s.LaunchPath) < 1 {
16940		invalidParams.Add(request.NewErrParamMinLen("LaunchPath", 1))
16941	}
16942	if s.Parameters != nil && len(*s.Parameters) < 1 {
16943		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
16944	}
16945
16946	if invalidParams.Len() > 0 {
16947		return invalidParams
16948	}
16949	return nil
16950}
16951
16952// SetConcurrentExecutions sets the ConcurrentExecutions field's value.
16953func (s *ServerProcess) SetConcurrentExecutions(v int64) *ServerProcess {
16954	s.ConcurrentExecutions = &v
16955	return s
16956}
16957
16958// SetLaunchPath sets the LaunchPath field's value.
16959func (s *ServerProcess) SetLaunchPath(v string) *ServerProcess {
16960	s.LaunchPath = &v
16961	return s
16962}
16963
16964// SetParameters sets the Parameters field's value.
16965func (s *ServerProcess) SetParameters(v string) *ServerProcess {
16966	s.Parameters = &v
16967	return s
16968}
16969
16970// Represents the input for a request action.
16971type StartGameSessionPlacementInput struct {
16972	_ struct{} `type:"structure"`
16973
16974	// Set of information on each player to create a player session for.
16975	DesiredPlayerSessions []*DesiredPlayerSession `type:"list"`
16976
16977	// Set of custom properties for a game session, formatted as key:value pairs.
16978	// These properties are passed to a game server process in the GameSession object
16979	// 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)).
16980	GameProperties []*GameProperty `type:"list"`
16981
16982	// Set of custom game session properties, formatted as a single string value.
16983	// This data is passed to a game server process in the GameSession object with
16984	// 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)).
16985	GameSessionData *string `min:"1" type:"string"`
16986
16987	// Descriptive label that is associated with a game session. Session names do
16988	// not need to be unique.
16989	GameSessionName *string `min:"1" type:"string"`
16990
16991	// Name of the queue to use to place the new game session.
16992	//
16993	// GameSessionQueueName is a required field
16994	GameSessionQueueName *string `min:"1" type:"string" required:"true"`
16995
16996	// Maximum number of players that can be connected simultaneously to the game
16997	// session.
16998	//
16999	// MaximumPlayerSessionCount is a required field
17000	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
17001
17002	// Unique identifier to assign to the new game session placement. This value
17003	// is developer-defined. The value must be unique across all regions and cannot
17004	// be reused unless you are resubmitting a canceled or timed-out placement request.
17005	//
17006	// PlacementId is a required field
17007	PlacementId *string `min:"1" type:"string" required:"true"`
17008
17009	// Set of values, expressed in milliseconds, indicating the amount of latency
17010	// that a player experiences when connected to AWS regions. This information
17011	// is used to try to place the new game session where it can offer the best
17012	// possible gameplay experience for the players.
17013	PlayerLatencies []*PlayerLatency `type:"list"`
17014}
17015
17016// String returns the string representation
17017func (s StartGameSessionPlacementInput) String() string {
17018	return awsutil.Prettify(s)
17019}
17020
17021// GoString returns the string representation
17022func (s StartGameSessionPlacementInput) GoString() string {
17023	return s.String()
17024}
17025
17026// Validate inspects the fields of the type to determine if they are valid.
17027func (s *StartGameSessionPlacementInput) Validate() error {
17028	invalidParams := request.ErrInvalidParams{Context: "StartGameSessionPlacementInput"}
17029	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
17030		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
17031	}
17032	if s.GameSessionName != nil && len(*s.GameSessionName) < 1 {
17033		invalidParams.Add(request.NewErrParamMinLen("GameSessionName", 1))
17034	}
17035	if s.GameSessionQueueName == nil {
17036		invalidParams.Add(request.NewErrParamRequired("GameSessionQueueName"))
17037	}
17038	if s.GameSessionQueueName != nil && len(*s.GameSessionQueueName) < 1 {
17039		invalidParams.Add(request.NewErrParamMinLen("GameSessionQueueName", 1))
17040	}
17041	if s.MaximumPlayerSessionCount == nil {
17042		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
17043	}
17044	if s.PlacementId == nil {
17045		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
17046	}
17047	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
17048		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
17049	}
17050	if s.DesiredPlayerSessions != nil {
17051		for i, v := range s.DesiredPlayerSessions {
17052			if v == nil {
17053				continue
17054			}
17055			if err := v.Validate(); err != nil {
17056				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DesiredPlayerSessions", i), err.(request.ErrInvalidParams))
17057			}
17058		}
17059	}
17060	if s.GameProperties != nil {
17061		for i, v := range s.GameProperties {
17062			if v == nil {
17063				continue
17064			}
17065			if err := v.Validate(); err != nil {
17066				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
17067			}
17068		}
17069	}
17070	if s.PlayerLatencies != nil {
17071		for i, v := range s.PlayerLatencies {
17072			if v == nil {
17073				continue
17074			}
17075			if err := v.Validate(); err != nil {
17076				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerLatencies", i), err.(request.ErrInvalidParams))
17077			}
17078		}
17079	}
17080
17081	if invalidParams.Len() > 0 {
17082		return invalidParams
17083	}
17084	return nil
17085}
17086
17087// SetDesiredPlayerSessions sets the DesiredPlayerSessions field's value.
17088func (s *StartGameSessionPlacementInput) SetDesiredPlayerSessions(v []*DesiredPlayerSession) *StartGameSessionPlacementInput {
17089	s.DesiredPlayerSessions = v
17090	return s
17091}
17092
17093// SetGameProperties sets the GameProperties field's value.
17094func (s *StartGameSessionPlacementInput) SetGameProperties(v []*GameProperty) *StartGameSessionPlacementInput {
17095	s.GameProperties = v
17096	return s
17097}
17098
17099// SetGameSessionData sets the GameSessionData field's value.
17100func (s *StartGameSessionPlacementInput) SetGameSessionData(v string) *StartGameSessionPlacementInput {
17101	s.GameSessionData = &v
17102	return s
17103}
17104
17105// SetGameSessionName sets the GameSessionName field's value.
17106func (s *StartGameSessionPlacementInput) SetGameSessionName(v string) *StartGameSessionPlacementInput {
17107	s.GameSessionName = &v
17108	return s
17109}
17110
17111// SetGameSessionQueueName sets the GameSessionQueueName field's value.
17112func (s *StartGameSessionPlacementInput) SetGameSessionQueueName(v string) *StartGameSessionPlacementInput {
17113	s.GameSessionQueueName = &v
17114	return s
17115}
17116
17117// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
17118func (s *StartGameSessionPlacementInput) SetMaximumPlayerSessionCount(v int64) *StartGameSessionPlacementInput {
17119	s.MaximumPlayerSessionCount = &v
17120	return s
17121}
17122
17123// SetPlacementId sets the PlacementId field's value.
17124func (s *StartGameSessionPlacementInput) SetPlacementId(v string) *StartGameSessionPlacementInput {
17125	s.PlacementId = &v
17126	return s
17127}
17128
17129// SetPlayerLatencies sets the PlayerLatencies field's value.
17130func (s *StartGameSessionPlacementInput) SetPlayerLatencies(v []*PlayerLatency) *StartGameSessionPlacementInput {
17131	s.PlayerLatencies = v
17132	return s
17133}
17134
17135// Represents the returned data in response to a request action.
17136type StartGameSessionPlacementOutput struct {
17137	_ struct{} `type:"structure"`
17138
17139	// Object that describes the newly created game session placement. This object
17140	// includes all the information provided in the request, as well as start/end
17141	// time stamps and placement status.
17142	GameSessionPlacement *GameSessionPlacement `type:"structure"`
17143}
17144
17145// String returns the string representation
17146func (s StartGameSessionPlacementOutput) String() string {
17147	return awsutil.Prettify(s)
17148}
17149
17150// GoString returns the string representation
17151func (s StartGameSessionPlacementOutput) GoString() string {
17152	return s.String()
17153}
17154
17155// SetGameSessionPlacement sets the GameSessionPlacement field's value.
17156func (s *StartGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StartGameSessionPlacementOutput {
17157	s.GameSessionPlacement = v
17158	return s
17159}
17160
17161// Represents the input for a request action.
17162type StartMatchBackfillInput struct {
17163	_ struct{} `type:"structure"`
17164
17165	// Name of the matchmaker to use for this request. The name of the matchmaker
17166	// that was used with the original game session is listed in the GameSession
17167	// object, MatchmakerData property. This property contains a matchmaking configuration
17168	// ARN value, which includes the matchmaker name. (In the ARN value "arn:aws:gamelift:us-west-2:111122223333:matchmakingconfiguration/MM-4v4",
17169	// the matchmaking configuration name is "MM-4v4".) Use only the name for this
17170	// parameter.
17171	//
17172	// ConfigurationName is a required field
17173	ConfigurationName *string `min:"1" type:"string" required:"true"`
17174
17175	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
17176	// that is assigned to a game session and uniquely identifies it.
17177	//
17178	// GameSessionArn is a required field
17179	GameSessionArn *string `min:"1" type:"string" required:"true"`
17180
17181	// Match information on all players that are currently assigned to the game
17182	// session. This information is used by the matchmaker to find new players and
17183	// add them to the existing game.
17184	//
17185	//    * PlayerID, PlayerAttributes, Team -\\- This information is maintained
17186	//    in the GameSession object, MatchmakerData property, for all players who
17187	//    are currently assigned to the game session. The matchmaker data is in
17188	//    JSON syntax, formatted as a string. For more details, see  Match Data
17189	//    (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-server.html#match-server-data).
17190	//
17191	//
17192	//    * LatencyInMs -\\- If the matchmaker uses player latency, include a latency
17193	//    value, in milliseconds, for the region that the game session is currently
17194	//    in. Do not include latency values for any other region.
17195	//
17196	// Players is a required field
17197	Players []*Player `type:"list" required:"true"`
17198
17199	// Unique identifier for a matchmaking ticket. If no ticket ID is specified
17200	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
17201	// to track the match backfill ticket status and retrieve match results.
17202	TicketId *string `min:"1" type:"string"`
17203}
17204
17205// String returns the string representation
17206func (s StartMatchBackfillInput) String() string {
17207	return awsutil.Prettify(s)
17208}
17209
17210// GoString returns the string representation
17211func (s StartMatchBackfillInput) GoString() string {
17212	return s.String()
17213}
17214
17215// Validate inspects the fields of the type to determine if they are valid.
17216func (s *StartMatchBackfillInput) Validate() error {
17217	invalidParams := request.ErrInvalidParams{Context: "StartMatchBackfillInput"}
17218	if s.ConfigurationName == nil {
17219		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
17220	}
17221	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
17222		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
17223	}
17224	if s.GameSessionArn == nil {
17225		invalidParams.Add(request.NewErrParamRequired("GameSessionArn"))
17226	}
17227	if s.GameSessionArn != nil && len(*s.GameSessionArn) < 1 {
17228		invalidParams.Add(request.NewErrParamMinLen("GameSessionArn", 1))
17229	}
17230	if s.Players == nil {
17231		invalidParams.Add(request.NewErrParamRequired("Players"))
17232	}
17233	if s.TicketId != nil && len(*s.TicketId) < 1 {
17234		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
17235	}
17236	if s.Players != nil {
17237		for i, v := range s.Players {
17238			if v == nil {
17239				continue
17240			}
17241			if err := v.Validate(); err != nil {
17242				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
17243			}
17244		}
17245	}
17246
17247	if invalidParams.Len() > 0 {
17248		return invalidParams
17249	}
17250	return nil
17251}
17252
17253// SetConfigurationName sets the ConfigurationName field's value.
17254func (s *StartMatchBackfillInput) SetConfigurationName(v string) *StartMatchBackfillInput {
17255	s.ConfigurationName = &v
17256	return s
17257}
17258
17259// SetGameSessionArn sets the GameSessionArn field's value.
17260func (s *StartMatchBackfillInput) SetGameSessionArn(v string) *StartMatchBackfillInput {
17261	s.GameSessionArn = &v
17262	return s
17263}
17264
17265// SetPlayers sets the Players field's value.
17266func (s *StartMatchBackfillInput) SetPlayers(v []*Player) *StartMatchBackfillInput {
17267	s.Players = v
17268	return s
17269}
17270
17271// SetTicketId sets the TicketId field's value.
17272func (s *StartMatchBackfillInput) SetTicketId(v string) *StartMatchBackfillInput {
17273	s.TicketId = &v
17274	return s
17275}
17276
17277// Represents the returned data in response to a request action.
17278type StartMatchBackfillOutput struct {
17279	_ struct{} `type:"structure"`
17280
17281	// Ticket representing the backfill matchmaking request. This object includes
17282	// the information in the request, ticket status, and match results as generated
17283	// during the matchmaking process.
17284	MatchmakingTicket *MatchmakingTicket `type:"structure"`
17285}
17286
17287// String returns the string representation
17288func (s StartMatchBackfillOutput) String() string {
17289	return awsutil.Prettify(s)
17290}
17291
17292// GoString returns the string representation
17293func (s StartMatchBackfillOutput) GoString() string {
17294	return s.String()
17295}
17296
17297// SetMatchmakingTicket sets the MatchmakingTicket field's value.
17298func (s *StartMatchBackfillOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchBackfillOutput {
17299	s.MatchmakingTicket = v
17300	return s
17301}
17302
17303// Represents the input for a request action.
17304type StartMatchmakingInput struct {
17305	_ struct{} `type:"structure"`
17306
17307	// Name of the matchmaking configuration to use for this request. Matchmaking
17308	// configurations must exist in the same region as this request.
17309	//
17310	// ConfigurationName is a required field
17311	ConfigurationName *string `min:"1" type:"string" required:"true"`
17312
17313	// Information on each player to be matched. This information must include a
17314	// player ID, and may contain player attributes and latency data to be used
17315	// in the matchmaking process. After a successful match, Player objects contain
17316	// the name of the team the player is assigned to.
17317	//
17318	// Players is a required field
17319	Players []*Player `type:"list" required:"true"`
17320
17321	// Unique identifier for a matchmaking ticket. If no ticket ID is specified
17322	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
17323	// to track the matchmaking ticket status and retrieve match results.
17324	TicketId *string `min:"1" type:"string"`
17325}
17326
17327// String returns the string representation
17328func (s StartMatchmakingInput) String() string {
17329	return awsutil.Prettify(s)
17330}
17331
17332// GoString returns the string representation
17333func (s StartMatchmakingInput) GoString() string {
17334	return s.String()
17335}
17336
17337// Validate inspects the fields of the type to determine if they are valid.
17338func (s *StartMatchmakingInput) Validate() error {
17339	invalidParams := request.ErrInvalidParams{Context: "StartMatchmakingInput"}
17340	if s.ConfigurationName == nil {
17341		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
17342	}
17343	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
17344		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
17345	}
17346	if s.Players == nil {
17347		invalidParams.Add(request.NewErrParamRequired("Players"))
17348	}
17349	if s.TicketId != nil && len(*s.TicketId) < 1 {
17350		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
17351	}
17352	if s.Players != nil {
17353		for i, v := range s.Players {
17354			if v == nil {
17355				continue
17356			}
17357			if err := v.Validate(); err != nil {
17358				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
17359			}
17360		}
17361	}
17362
17363	if invalidParams.Len() > 0 {
17364		return invalidParams
17365	}
17366	return nil
17367}
17368
17369// SetConfigurationName sets the ConfigurationName field's value.
17370func (s *StartMatchmakingInput) SetConfigurationName(v string) *StartMatchmakingInput {
17371	s.ConfigurationName = &v
17372	return s
17373}
17374
17375// SetPlayers sets the Players field's value.
17376func (s *StartMatchmakingInput) SetPlayers(v []*Player) *StartMatchmakingInput {
17377	s.Players = v
17378	return s
17379}
17380
17381// SetTicketId sets the TicketId field's value.
17382func (s *StartMatchmakingInput) SetTicketId(v string) *StartMatchmakingInput {
17383	s.TicketId = &v
17384	return s
17385}
17386
17387// Represents the returned data in response to a request action.
17388type StartMatchmakingOutput struct {
17389	_ struct{} `type:"structure"`
17390
17391	// Ticket representing the matchmaking request. This object include the information
17392	// included in the request, ticket status, and match results as generated during
17393	// the matchmaking process.
17394	MatchmakingTicket *MatchmakingTicket `type:"structure"`
17395}
17396
17397// String returns the string representation
17398func (s StartMatchmakingOutput) String() string {
17399	return awsutil.Prettify(s)
17400}
17401
17402// GoString returns the string representation
17403func (s StartMatchmakingOutput) GoString() string {
17404	return s.String()
17405}
17406
17407// SetMatchmakingTicket sets the MatchmakingTicket field's value.
17408func (s *StartMatchmakingOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchmakingOutput {
17409	s.MatchmakingTicket = v
17410	return s
17411}
17412
17413// Represents the input for a request action.
17414type StopGameSessionPlacementInput struct {
17415	_ struct{} `type:"structure"`
17416
17417	// Unique identifier for a game session placement to cancel.
17418	//
17419	// PlacementId is a required field
17420	PlacementId *string `min:"1" type:"string" required:"true"`
17421}
17422
17423// String returns the string representation
17424func (s StopGameSessionPlacementInput) String() string {
17425	return awsutil.Prettify(s)
17426}
17427
17428// GoString returns the string representation
17429func (s StopGameSessionPlacementInput) GoString() string {
17430	return s.String()
17431}
17432
17433// Validate inspects the fields of the type to determine if they are valid.
17434func (s *StopGameSessionPlacementInput) Validate() error {
17435	invalidParams := request.ErrInvalidParams{Context: "StopGameSessionPlacementInput"}
17436	if s.PlacementId == nil {
17437		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
17438	}
17439	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
17440		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
17441	}
17442
17443	if invalidParams.Len() > 0 {
17444		return invalidParams
17445	}
17446	return nil
17447}
17448
17449// SetPlacementId sets the PlacementId field's value.
17450func (s *StopGameSessionPlacementInput) SetPlacementId(v string) *StopGameSessionPlacementInput {
17451	s.PlacementId = &v
17452	return s
17453}
17454
17455// Represents the returned data in response to a request action.
17456type StopGameSessionPlacementOutput struct {
17457	_ struct{} `type:"structure"`
17458
17459	// Object that describes the canceled game session placement, with CANCELLED
17460	// status and an end time stamp.
17461	GameSessionPlacement *GameSessionPlacement `type:"structure"`
17462}
17463
17464// String returns the string representation
17465func (s StopGameSessionPlacementOutput) String() string {
17466	return awsutil.Prettify(s)
17467}
17468
17469// GoString returns the string representation
17470func (s StopGameSessionPlacementOutput) GoString() string {
17471	return s.String()
17472}
17473
17474// SetGameSessionPlacement sets the GameSessionPlacement field's value.
17475func (s *StopGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StopGameSessionPlacementOutput {
17476	s.GameSessionPlacement = v
17477	return s
17478}
17479
17480// Represents the input for a request action.
17481type StopMatchmakingInput struct {
17482	_ struct{} `type:"structure"`
17483
17484	// Unique identifier for a matchmaking ticket.
17485	//
17486	// TicketId is a required field
17487	TicketId *string `min:"1" type:"string" required:"true"`
17488}
17489
17490// String returns the string representation
17491func (s StopMatchmakingInput) String() string {
17492	return awsutil.Prettify(s)
17493}
17494
17495// GoString returns the string representation
17496func (s StopMatchmakingInput) GoString() string {
17497	return s.String()
17498}
17499
17500// Validate inspects the fields of the type to determine if they are valid.
17501func (s *StopMatchmakingInput) Validate() error {
17502	invalidParams := request.ErrInvalidParams{Context: "StopMatchmakingInput"}
17503	if s.TicketId == nil {
17504		invalidParams.Add(request.NewErrParamRequired("TicketId"))
17505	}
17506	if s.TicketId != nil && len(*s.TicketId) < 1 {
17507		invalidParams.Add(request.NewErrParamMinLen("TicketId", 1))
17508	}
17509
17510	if invalidParams.Len() > 0 {
17511		return invalidParams
17512	}
17513	return nil
17514}
17515
17516// SetTicketId sets the TicketId field's value.
17517func (s *StopMatchmakingInput) SetTicketId(v string) *StopMatchmakingInput {
17518	s.TicketId = &v
17519	return s
17520}
17521
17522type StopMatchmakingOutput struct {
17523	_ struct{} `type:"structure"`
17524}
17525
17526// String returns the string representation
17527func (s StopMatchmakingOutput) String() string {
17528	return awsutil.Prettify(s)
17529}
17530
17531// GoString returns the string representation
17532func (s StopMatchmakingOutput) GoString() string {
17533	return s.String()
17534}
17535
17536// Represents the input for a request action.
17537type UpdateAliasInput struct {
17538	_ struct{} `type:"structure"`
17539
17540	// Unique identifier for a fleet alias. Specify the alias you want to update.
17541	//
17542	// AliasId is a required field
17543	AliasId *string `type:"string" required:"true"`
17544
17545	// Human-readable description of an alias.
17546	Description *string `min:"1" type:"string"`
17547
17548	// Descriptive label that is associated with an alias. Alias names do not need
17549	// to be unique.
17550	Name *string `min:"1" type:"string"`
17551
17552	// Object that specifies the fleet and routing type to use for the alias.
17553	RoutingStrategy *RoutingStrategy `type:"structure"`
17554}
17555
17556// String returns the string representation
17557func (s UpdateAliasInput) String() string {
17558	return awsutil.Prettify(s)
17559}
17560
17561// GoString returns the string representation
17562func (s UpdateAliasInput) GoString() string {
17563	return s.String()
17564}
17565
17566// Validate inspects the fields of the type to determine if they are valid.
17567func (s *UpdateAliasInput) Validate() error {
17568	invalidParams := request.ErrInvalidParams{Context: "UpdateAliasInput"}
17569	if s.AliasId == nil {
17570		invalidParams.Add(request.NewErrParamRequired("AliasId"))
17571	}
17572	if s.Description != nil && len(*s.Description) < 1 {
17573		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
17574	}
17575	if s.Name != nil && len(*s.Name) < 1 {
17576		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
17577	}
17578
17579	if invalidParams.Len() > 0 {
17580		return invalidParams
17581	}
17582	return nil
17583}
17584
17585// SetAliasId sets the AliasId field's value.
17586func (s *UpdateAliasInput) SetAliasId(v string) *UpdateAliasInput {
17587	s.AliasId = &v
17588	return s
17589}
17590
17591// SetDescription sets the Description field's value.
17592func (s *UpdateAliasInput) SetDescription(v string) *UpdateAliasInput {
17593	s.Description = &v
17594	return s
17595}
17596
17597// SetName sets the Name field's value.
17598func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput {
17599	s.Name = &v
17600	return s
17601}
17602
17603// SetRoutingStrategy sets the RoutingStrategy field's value.
17604func (s *UpdateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *UpdateAliasInput {
17605	s.RoutingStrategy = v
17606	return s
17607}
17608
17609// Represents the returned data in response to a request action.
17610type UpdateAliasOutput struct {
17611	_ struct{} `type:"structure"`
17612
17613	// Object that contains the updated alias configuration.
17614	Alias *Alias `type:"structure"`
17615}
17616
17617// String returns the string representation
17618func (s UpdateAliasOutput) String() string {
17619	return awsutil.Prettify(s)
17620}
17621
17622// GoString returns the string representation
17623func (s UpdateAliasOutput) GoString() string {
17624	return s.String()
17625}
17626
17627// SetAlias sets the Alias field's value.
17628func (s *UpdateAliasOutput) SetAlias(v *Alias) *UpdateAliasOutput {
17629	s.Alias = v
17630	return s
17631}
17632
17633// Represents the input for a request action.
17634type UpdateBuildInput struct {
17635	_ struct{} `type:"structure"`
17636
17637	// Unique identifier for a build to update.
17638	//
17639	// BuildId is a required field
17640	BuildId *string `type:"string" required:"true"`
17641
17642	// Descriptive label that is associated with a build. Build names do not need
17643	// to be unique.
17644	Name *string `min:"1" type:"string"`
17645
17646	// Version that is associated with this build. Version strings do not need to
17647	// be unique.
17648	Version *string `min:"1" type:"string"`
17649}
17650
17651// String returns the string representation
17652func (s UpdateBuildInput) String() string {
17653	return awsutil.Prettify(s)
17654}
17655
17656// GoString returns the string representation
17657func (s UpdateBuildInput) GoString() string {
17658	return s.String()
17659}
17660
17661// Validate inspects the fields of the type to determine if they are valid.
17662func (s *UpdateBuildInput) Validate() error {
17663	invalidParams := request.ErrInvalidParams{Context: "UpdateBuildInput"}
17664	if s.BuildId == nil {
17665		invalidParams.Add(request.NewErrParamRequired("BuildId"))
17666	}
17667	if s.Name != nil && len(*s.Name) < 1 {
17668		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
17669	}
17670	if s.Version != nil && len(*s.Version) < 1 {
17671		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
17672	}
17673
17674	if invalidParams.Len() > 0 {
17675		return invalidParams
17676	}
17677	return nil
17678}
17679
17680// SetBuildId sets the BuildId field's value.
17681func (s *UpdateBuildInput) SetBuildId(v string) *UpdateBuildInput {
17682	s.BuildId = &v
17683	return s
17684}
17685
17686// SetName sets the Name field's value.
17687func (s *UpdateBuildInput) SetName(v string) *UpdateBuildInput {
17688	s.Name = &v
17689	return s
17690}
17691
17692// SetVersion sets the Version field's value.
17693func (s *UpdateBuildInput) SetVersion(v string) *UpdateBuildInput {
17694	s.Version = &v
17695	return s
17696}
17697
17698// Represents the returned data in response to a request action.
17699type UpdateBuildOutput struct {
17700	_ struct{} `type:"structure"`
17701
17702	// Object that contains the updated build record.
17703	Build *Build `type:"structure"`
17704}
17705
17706// String returns the string representation
17707func (s UpdateBuildOutput) String() string {
17708	return awsutil.Prettify(s)
17709}
17710
17711// GoString returns the string representation
17712func (s UpdateBuildOutput) GoString() string {
17713	return s.String()
17714}
17715
17716// SetBuild sets the Build field's value.
17717func (s *UpdateBuildOutput) SetBuild(v *Build) *UpdateBuildOutput {
17718	s.Build = v
17719	return s
17720}
17721
17722// Represents the input for a request action.
17723type UpdateFleetAttributesInput struct {
17724	_ struct{} `type:"structure"`
17725
17726	// Human-readable description of a fleet.
17727	Description *string `min:"1" type:"string"`
17728
17729	// Unique identifier for a fleet to update attribute metadata for.
17730	//
17731	// FleetId is a required field
17732	FleetId *string `type:"string" required:"true"`
17733
17734	// Names of metric groups to include this fleet in. Amazon CloudWatch uses a
17735	// fleet metric group is to aggregate metrics from multiple fleets. Use an existing
17736	// metric group name to add this fleet to the group. Or use a new name to create
17737	// a new metric group. A fleet can only be included in one metric group at a
17738	// time.
17739	MetricGroups []*string `type:"list"`
17740
17741	// Descriptive label that is associated with a fleet. Fleet names do not need
17742	// to be unique.
17743	Name *string `min:"1" type:"string"`
17744
17745	// Game session protection policy to apply to all new instances created in this
17746	// fleet. Instances that already exist are not affected. You can set protection
17747	// for individual instances using UpdateGameSession.
17748	//
17749	//    * NoProtection -- The game session can be terminated during a scale-down
17750	//    event.
17751	//
17752	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
17753	//    be terminated during a scale-down event.
17754	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
17755
17756	// Policy that limits the number of game sessions an individual player can create
17757	// over a span of time.
17758	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
17759}
17760
17761// String returns the string representation
17762func (s UpdateFleetAttributesInput) String() string {
17763	return awsutil.Prettify(s)
17764}
17765
17766// GoString returns the string representation
17767func (s UpdateFleetAttributesInput) GoString() string {
17768	return s.String()
17769}
17770
17771// Validate inspects the fields of the type to determine if they are valid.
17772func (s *UpdateFleetAttributesInput) Validate() error {
17773	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetAttributesInput"}
17774	if s.Description != nil && len(*s.Description) < 1 {
17775		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
17776	}
17777	if s.FleetId == nil {
17778		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17779	}
17780	if s.Name != nil && len(*s.Name) < 1 {
17781		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
17782	}
17783
17784	if invalidParams.Len() > 0 {
17785		return invalidParams
17786	}
17787	return nil
17788}
17789
17790// SetDescription sets the Description field's value.
17791func (s *UpdateFleetAttributesInput) SetDescription(v string) *UpdateFleetAttributesInput {
17792	s.Description = &v
17793	return s
17794}
17795
17796// SetFleetId sets the FleetId field's value.
17797func (s *UpdateFleetAttributesInput) SetFleetId(v string) *UpdateFleetAttributesInput {
17798	s.FleetId = &v
17799	return s
17800}
17801
17802// SetMetricGroups sets the MetricGroups field's value.
17803func (s *UpdateFleetAttributesInput) SetMetricGroups(v []*string) *UpdateFleetAttributesInput {
17804	s.MetricGroups = v
17805	return s
17806}
17807
17808// SetName sets the Name field's value.
17809func (s *UpdateFleetAttributesInput) SetName(v string) *UpdateFleetAttributesInput {
17810	s.Name = &v
17811	return s
17812}
17813
17814// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
17815func (s *UpdateFleetAttributesInput) SetNewGameSessionProtectionPolicy(v string) *UpdateFleetAttributesInput {
17816	s.NewGameSessionProtectionPolicy = &v
17817	return s
17818}
17819
17820// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
17821func (s *UpdateFleetAttributesInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *UpdateFleetAttributesInput {
17822	s.ResourceCreationLimitPolicy = v
17823	return s
17824}
17825
17826// Represents the returned data in response to a request action.
17827type UpdateFleetAttributesOutput struct {
17828	_ struct{} `type:"structure"`
17829
17830	// Unique identifier for a fleet that was updated.
17831	FleetId *string `type:"string"`
17832}
17833
17834// String returns the string representation
17835func (s UpdateFleetAttributesOutput) String() string {
17836	return awsutil.Prettify(s)
17837}
17838
17839// GoString returns the string representation
17840func (s UpdateFleetAttributesOutput) GoString() string {
17841	return s.String()
17842}
17843
17844// SetFleetId sets the FleetId field's value.
17845func (s *UpdateFleetAttributesOutput) SetFleetId(v string) *UpdateFleetAttributesOutput {
17846	s.FleetId = &v
17847	return s
17848}
17849
17850// Represents the input for a request action.
17851type UpdateFleetCapacityInput struct {
17852	_ struct{} `type:"structure"`
17853
17854	// Number of EC2 instances you want this fleet to host.
17855	DesiredInstances *int64 `type:"integer"`
17856
17857	// Unique identifier for a fleet to update capacity for.
17858	//
17859	// FleetId is a required field
17860	FleetId *string `type:"string" required:"true"`
17861
17862	// Maximum value allowed for the fleet's instance count. Default if not set
17863	// is 1.
17864	MaxSize *int64 `type:"integer"`
17865
17866	// Minimum value allowed for the fleet's instance count. Default if not set
17867	// is 0.
17868	MinSize *int64 `type:"integer"`
17869}
17870
17871// String returns the string representation
17872func (s UpdateFleetCapacityInput) String() string {
17873	return awsutil.Prettify(s)
17874}
17875
17876// GoString returns the string representation
17877func (s UpdateFleetCapacityInput) GoString() string {
17878	return s.String()
17879}
17880
17881// Validate inspects the fields of the type to determine if they are valid.
17882func (s *UpdateFleetCapacityInput) Validate() error {
17883	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetCapacityInput"}
17884	if s.FleetId == nil {
17885		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17886	}
17887
17888	if invalidParams.Len() > 0 {
17889		return invalidParams
17890	}
17891	return nil
17892}
17893
17894// SetDesiredInstances sets the DesiredInstances field's value.
17895func (s *UpdateFleetCapacityInput) SetDesiredInstances(v int64) *UpdateFleetCapacityInput {
17896	s.DesiredInstances = &v
17897	return s
17898}
17899
17900// SetFleetId sets the FleetId field's value.
17901func (s *UpdateFleetCapacityInput) SetFleetId(v string) *UpdateFleetCapacityInput {
17902	s.FleetId = &v
17903	return s
17904}
17905
17906// SetMaxSize sets the MaxSize field's value.
17907func (s *UpdateFleetCapacityInput) SetMaxSize(v int64) *UpdateFleetCapacityInput {
17908	s.MaxSize = &v
17909	return s
17910}
17911
17912// SetMinSize sets the MinSize field's value.
17913func (s *UpdateFleetCapacityInput) SetMinSize(v int64) *UpdateFleetCapacityInput {
17914	s.MinSize = &v
17915	return s
17916}
17917
17918// Represents the returned data in response to a request action.
17919type UpdateFleetCapacityOutput struct {
17920	_ struct{} `type:"structure"`
17921
17922	// Unique identifier for a fleet that was updated.
17923	FleetId *string `type:"string"`
17924}
17925
17926// String returns the string representation
17927func (s UpdateFleetCapacityOutput) String() string {
17928	return awsutil.Prettify(s)
17929}
17930
17931// GoString returns the string representation
17932func (s UpdateFleetCapacityOutput) GoString() string {
17933	return s.String()
17934}
17935
17936// SetFleetId sets the FleetId field's value.
17937func (s *UpdateFleetCapacityOutput) SetFleetId(v string) *UpdateFleetCapacityOutput {
17938	s.FleetId = &v
17939	return s
17940}
17941
17942// Represents the input for a request action.
17943type UpdateFleetPortSettingsInput struct {
17944	_ struct{} `type:"structure"`
17945
17946	// Unique identifier for a fleet to update port settings for.
17947	//
17948	// FleetId is a required field
17949	FleetId *string `type:"string" required:"true"`
17950
17951	// Collection of port settings to be added to the fleet record.
17952	InboundPermissionAuthorizations []*IpPermission `type:"list"`
17953
17954	// Collection of port settings to be removed from the fleet record.
17955	InboundPermissionRevocations []*IpPermission `type:"list"`
17956}
17957
17958// String returns the string representation
17959func (s UpdateFleetPortSettingsInput) String() string {
17960	return awsutil.Prettify(s)
17961}
17962
17963// GoString returns the string representation
17964func (s UpdateFleetPortSettingsInput) GoString() string {
17965	return s.String()
17966}
17967
17968// Validate inspects the fields of the type to determine if they are valid.
17969func (s *UpdateFleetPortSettingsInput) Validate() error {
17970	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetPortSettingsInput"}
17971	if s.FleetId == nil {
17972		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17973	}
17974	if s.InboundPermissionAuthorizations != nil {
17975		for i, v := range s.InboundPermissionAuthorizations {
17976			if v == nil {
17977				continue
17978			}
17979			if err := v.Validate(); err != nil {
17980				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionAuthorizations", i), err.(request.ErrInvalidParams))
17981			}
17982		}
17983	}
17984	if s.InboundPermissionRevocations != nil {
17985		for i, v := range s.InboundPermissionRevocations {
17986			if v == nil {
17987				continue
17988			}
17989			if err := v.Validate(); err != nil {
17990				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionRevocations", i), err.(request.ErrInvalidParams))
17991			}
17992		}
17993	}
17994
17995	if invalidParams.Len() > 0 {
17996		return invalidParams
17997	}
17998	return nil
17999}
18000
18001// SetFleetId sets the FleetId field's value.
18002func (s *UpdateFleetPortSettingsInput) SetFleetId(v string) *UpdateFleetPortSettingsInput {
18003	s.FleetId = &v
18004	return s
18005}
18006
18007// SetInboundPermissionAuthorizations sets the InboundPermissionAuthorizations field's value.
18008func (s *UpdateFleetPortSettingsInput) SetInboundPermissionAuthorizations(v []*IpPermission) *UpdateFleetPortSettingsInput {
18009	s.InboundPermissionAuthorizations = v
18010	return s
18011}
18012
18013// SetInboundPermissionRevocations sets the InboundPermissionRevocations field's value.
18014func (s *UpdateFleetPortSettingsInput) SetInboundPermissionRevocations(v []*IpPermission) *UpdateFleetPortSettingsInput {
18015	s.InboundPermissionRevocations = v
18016	return s
18017}
18018
18019// Represents the returned data in response to a request action.
18020type UpdateFleetPortSettingsOutput struct {
18021	_ struct{} `type:"structure"`
18022
18023	// Unique identifier for a fleet that was updated.
18024	FleetId *string `type:"string"`
18025}
18026
18027// String returns the string representation
18028func (s UpdateFleetPortSettingsOutput) String() string {
18029	return awsutil.Prettify(s)
18030}
18031
18032// GoString returns the string representation
18033func (s UpdateFleetPortSettingsOutput) GoString() string {
18034	return s.String()
18035}
18036
18037// SetFleetId sets the FleetId field's value.
18038func (s *UpdateFleetPortSettingsOutput) SetFleetId(v string) *UpdateFleetPortSettingsOutput {
18039	s.FleetId = &v
18040	return s
18041}
18042
18043// Represents the input for a request action.
18044type UpdateGameSessionInput struct {
18045	_ struct{} `type:"structure"`
18046
18047	// Unique identifier for the game session to update.
18048	//
18049	// GameSessionId is a required field
18050	GameSessionId *string `min:"1" type:"string" required:"true"`
18051
18052	// Maximum number of players that can be connected simultaneously to the game
18053	// session.
18054	MaximumPlayerSessionCount *int64 `type:"integer"`
18055
18056	// Descriptive label that is associated with a game session. Session names do
18057	// not need to be unique.
18058	Name *string `min:"1" type:"string"`
18059
18060	// Policy determining whether or not the game session accepts new players.
18061	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
18062
18063	// Game session protection policy to apply to this game session only.
18064	//
18065	//    * NoProtection -- The game session can be terminated during a scale-down
18066	//    event.
18067	//
18068	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
18069	//    be terminated during a scale-down event.
18070	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
18071}
18072
18073// String returns the string representation
18074func (s UpdateGameSessionInput) String() string {
18075	return awsutil.Prettify(s)
18076}
18077
18078// GoString returns the string representation
18079func (s UpdateGameSessionInput) GoString() string {
18080	return s.String()
18081}
18082
18083// Validate inspects the fields of the type to determine if they are valid.
18084func (s *UpdateGameSessionInput) Validate() error {
18085	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionInput"}
18086	if s.GameSessionId == nil {
18087		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
18088	}
18089	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
18090		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
18091	}
18092	if s.Name != nil && len(*s.Name) < 1 {
18093		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18094	}
18095
18096	if invalidParams.Len() > 0 {
18097		return invalidParams
18098	}
18099	return nil
18100}
18101
18102// SetGameSessionId sets the GameSessionId field's value.
18103func (s *UpdateGameSessionInput) SetGameSessionId(v string) *UpdateGameSessionInput {
18104	s.GameSessionId = &v
18105	return s
18106}
18107
18108// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
18109func (s *UpdateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *UpdateGameSessionInput {
18110	s.MaximumPlayerSessionCount = &v
18111	return s
18112}
18113
18114// SetName sets the Name field's value.
18115func (s *UpdateGameSessionInput) SetName(v string) *UpdateGameSessionInput {
18116	s.Name = &v
18117	return s
18118}
18119
18120// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
18121func (s *UpdateGameSessionInput) SetPlayerSessionCreationPolicy(v string) *UpdateGameSessionInput {
18122	s.PlayerSessionCreationPolicy = &v
18123	return s
18124}
18125
18126// SetProtectionPolicy sets the ProtectionPolicy field's value.
18127func (s *UpdateGameSessionInput) SetProtectionPolicy(v string) *UpdateGameSessionInput {
18128	s.ProtectionPolicy = &v
18129	return s
18130}
18131
18132// Represents the returned data in response to a request action.
18133type UpdateGameSessionOutput struct {
18134	_ struct{} `type:"structure"`
18135
18136	// Object that contains the updated game session metadata.
18137	GameSession *GameSession `type:"structure"`
18138}
18139
18140// String returns the string representation
18141func (s UpdateGameSessionOutput) String() string {
18142	return awsutil.Prettify(s)
18143}
18144
18145// GoString returns the string representation
18146func (s UpdateGameSessionOutput) GoString() string {
18147	return s.String()
18148}
18149
18150// SetGameSession sets the GameSession field's value.
18151func (s *UpdateGameSessionOutput) SetGameSession(v *GameSession) *UpdateGameSessionOutput {
18152	s.GameSession = v
18153	return s
18154}
18155
18156// Represents the input for a request action.
18157type UpdateGameSessionQueueInput struct {
18158	_ struct{} `type:"structure"`
18159
18160	// List of fleets that can be used to fulfill game session placement requests
18161	// in the queue. Fleets are identified by either a fleet ARN or a fleet alias
18162	// ARN. Destinations are listed in default preference order. When updating this
18163	// list, provide a complete list of destinations.
18164	Destinations []*GameSessionQueueDestination `type:"list"`
18165
18166	// Descriptive label that is associated with game session queue. Queue names
18167	// must be unique within each region.
18168	//
18169	// Name is a required field
18170	Name *string `min:"1" type:"string" required:"true"`
18171
18172	// Collection of latency policies to apply when processing game sessions placement
18173	// requests with player latency information. Multiple policies are evaluated
18174	// in order of the maximum latency value, starting with the lowest latency values.
18175	// With just one policy, it is enforced at the start of the game session placement
18176	// for the duration period. With multiple policies, each policy is enforced
18177	// consecutively for its duration period. For example, a queue might enforce
18178	// a 60-second policy followed by a 120-second policy, and then no policy for
18179	// the remainder of the placement. When updating policies, provide a complete
18180	// collection of policies.
18181	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
18182
18183	// Maximum time, in seconds, that a new game session placement request remains
18184	// in the queue. When a request exceeds this time, the game session placement
18185	// changes to a TIMED_OUT status.
18186	TimeoutInSeconds *int64 `type:"integer"`
18187}
18188
18189// String returns the string representation
18190func (s UpdateGameSessionQueueInput) String() string {
18191	return awsutil.Prettify(s)
18192}
18193
18194// GoString returns the string representation
18195func (s UpdateGameSessionQueueInput) GoString() string {
18196	return s.String()
18197}
18198
18199// Validate inspects the fields of the type to determine if they are valid.
18200func (s *UpdateGameSessionQueueInput) Validate() error {
18201	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionQueueInput"}
18202	if s.Name == nil {
18203		invalidParams.Add(request.NewErrParamRequired("Name"))
18204	}
18205	if s.Name != nil && len(*s.Name) < 1 {
18206		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18207	}
18208	if s.Destinations != nil {
18209		for i, v := range s.Destinations {
18210			if v == nil {
18211				continue
18212			}
18213			if err := v.Validate(); err != nil {
18214				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
18215			}
18216		}
18217	}
18218
18219	if invalidParams.Len() > 0 {
18220		return invalidParams
18221	}
18222	return nil
18223}
18224
18225// SetDestinations sets the Destinations field's value.
18226func (s *UpdateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *UpdateGameSessionQueueInput {
18227	s.Destinations = v
18228	return s
18229}
18230
18231// SetName sets the Name field's value.
18232func (s *UpdateGameSessionQueueInput) SetName(v string) *UpdateGameSessionQueueInput {
18233	s.Name = &v
18234	return s
18235}
18236
18237// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
18238func (s *UpdateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *UpdateGameSessionQueueInput {
18239	s.PlayerLatencyPolicies = v
18240	return s
18241}
18242
18243// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
18244func (s *UpdateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *UpdateGameSessionQueueInput {
18245	s.TimeoutInSeconds = &v
18246	return s
18247}
18248
18249// Represents the returned data in response to a request action.
18250type UpdateGameSessionQueueOutput struct {
18251	_ struct{} `type:"structure"`
18252
18253	// Object that describes the newly updated game session queue.
18254	GameSessionQueue *GameSessionQueue `type:"structure"`
18255}
18256
18257// String returns the string representation
18258func (s UpdateGameSessionQueueOutput) String() string {
18259	return awsutil.Prettify(s)
18260}
18261
18262// GoString returns the string representation
18263func (s UpdateGameSessionQueueOutput) GoString() string {
18264	return s.String()
18265}
18266
18267// SetGameSessionQueue sets the GameSessionQueue field's value.
18268func (s *UpdateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *UpdateGameSessionQueueOutput {
18269	s.GameSessionQueue = v
18270	return s
18271}
18272
18273// Represents the input for a request action.
18274type UpdateMatchmakingConfigurationInput struct {
18275	_ struct{} `type:"structure"`
18276
18277	// Flag that determines whether or not a match that was created with this configuration
18278	// must be accepted by the matched players. To require acceptance, set to TRUE.
18279	AcceptanceRequired *bool `type:"boolean"`
18280
18281	// Length of time (in seconds) to wait for players to accept a proposed match.
18282	// If any player rejects the match or fails to accept before the timeout, the
18283	// ticket continues to look for an acceptable match.
18284	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
18285
18286	// Number of player slots in a match to keep open for future players. For example,
18287	// if the configuration's rule set specifies a match for a single 12-person
18288	// team, and the additional player count is set to 2, only 10 players are selected
18289	// for the match.
18290	AdditionalPlayerCount *int64 `type:"integer"`
18291
18292	// Information to attached to all events related to the matchmaking configuration.
18293	CustomEventData *string `type:"string"`
18294
18295	// Descriptive label that is associated with matchmaking configuration.
18296	Description *string `min:"1" type:"string"`
18297
18298	// Set of custom properties for a game session, formatted as key:value pairs.
18299	// These properties are passed to a game server process in the GameSession object
18300	// 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)).
18301	// This information is added to the new GameSession object that is created for
18302	// a successful match.
18303	GameProperties []*GameProperty `type:"list"`
18304
18305	// Set of custom game session properties, formatted as a single string value.
18306	// This data is passed to a game server process in the GameSession object with
18307	// 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)).
18308	// This information is added to the new GameSession object that is created for
18309	// a successful match.
18310	GameSessionData *string `min:"1" type:"string"`
18311
18312	// Amazon Resource Name (ARN (http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
18313	// that is assigned to a game session queue and uniquely identifies it. Format
18314	// is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
18315	// These queues are used when placing game sessions for matches that are created
18316	// with this matchmaking configuration. Queues can be located in any region.
18317	GameSessionQueueArns []*string `type:"list"`
18318
18319	// Unique identifier for a matchmaking configuration to update.
18320	//
18321	// Name is a required field
18322	Name *string `min:"1" type:"string" required:"true"`
18323
18324	// SNS topic ARN that is set up to receive matchmaking notifications. See  Setting
18325	// up Notifications for Matchmaking (http://docs.aws.amazon.com/gamelift/latest/developerguide/match-notification.html)
18326	// for more information.
18327	NotificationTarget *string `type:"string"`
18328
18329	// Maximum duration, in seconds, that a matchmaking ticket can remain in process
18330	// before timing out. Requests that time out can be resubmitted as needed.
18331	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
18332
18333	// Unique identifier for a matchmaking rule set to use with this configuration.
18334	// A matchmaking configuration can only use rule sets that are defined in the
18335	// same region.
18336	RuleSetName *string `min:"1" type:"string"`
18337}
18338
18339// String returns the string representation
18340func (s UpdateMatchmakingConfigurationInput) String() string {
18341	return awsutil.Prettify(s)
18342}
18343
18344// GoString returns the string representation
18345func (s UpdateMatchmakingConfigurationInput) GoString() string {
18346	return s.String()
18347}
18348
18349// Validate inspects the fields of the type to determine if they are valid.
18350func (s *UpdateMatchmakingConfigurationInput) Validate() error {
18351	invalidParams := request.ErrInvalidParams{Context: "UpdateMatchmakingConfigurationInput"}
18352	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
18353		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
18354	}
18355	if s.Description != nil && len(*s.Description) < 1 {
18356		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
18357	}
18358	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
18359		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
18360	}
18361	if s.Name == nil {
18362		invalidParams.Add(request.NewErrParamRequired("Name"))
18363	}
18364	if s.Name != nil && len(*s.Name) < 1 {
18365		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
18366	}
18367	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
18368		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
18369	}
18370	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
18371		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
18372	}
18373	if s.GameProperties != nil {
18374		for i, v := range s.GameProperties {
18375			if v == nil {
18376				continue
18377			}
18378			if err := v.Validate(); err != nil {
18379				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
18380			}
18381		}
18382	}
18383
18384	if invalidParams.Len() > 0 {
18385		return invalidParams
18386	}
18387	return nil
18388}
18389
18390// SetAcceptanceRequired sets the AcceptanceRequired field's value.
18391func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *UpdateMatchmakingConfigurationInput {
18392	s.AcceptanceRequired = &v
18393	return s
18394}
18395
18396// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
18397func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
18398	s.AcceptanceTimeoutSeconds = &v
18399	return s
18400}
18401
18402// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
18403func (s *UpdateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *UpdateMatchmakingConfigurationInput {
18404	s.AdditionalPlayerCount = &v
18405	return s
18406}
18407
18408// SetCustomEventData sets the CustomEventData field's value.
18409func (s *UpdateMatchmakingConfigurationInput) SetCustomEventData(v string) *UpdateMatchmakingConfigurationInput {
18410	s.CustomEventData = &v
18411	return s
18412}
18413
18414// SetDescription sets the Description field's value.
18415func (s *UpdateMatchmakingConfigurationInput) SetDescription(v string) *UpdateMatchmakingConfigurationInput {
18416	s.Description = &v
18417	return s
18418}
18419
18420// SetGameProperties sets the GameProperties field's value.
18421func (s *UpdateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *UpdateMatchmakingConfigurationInput {
18422	s.GameProperties = v
18423	return s
18424}
18425
18426// SetGameSessionData sets the GameSessionData field's value.
18427func (s *UpdateMatchmakingConfigurationInput) SetGameSessionData(v string) *UpdateMatchmakingConfigurationInput {
18428	s.GameSessionData = &v
18429	return s
18430}
18431
18432// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
18433func (s *UpdateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *UpdateMatchmakingConfigurationInput {
18434	s.GameSessionQueueArns = v
18435	return s
18436}
18437
18438// SetName sets the Name field's value.
18439func (s *UpdateMatchmakingConfigurationInput) SetName(v string) *UpdateMatchmakingConfigurationInput {
18440	s.Name = &v
18441	return s
18442}
18443
18444// SetNotificationTarget sets the NotificationTarget field's value.
18445func (s *UpdateMatchmakingConfigurationInput) SetNotificationTarget(v string) *UpdateMatchmakingConfigurationInput {
18446	s.NotificationTarget = &v
18447	return s
18448}
18449
18450// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
18451func (s *UpdateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
18452	s.RequestTimeoutSeconds = &v
18453	return s
18454}
18455
18456// SetRuleSetName sets the RuleSetName field's value.
18457func (s *UpdateMatchmakingConfigurationInput) SetRuleSetName(v string) *UpdateMatchmakingConfigurationInput {
18458	s.RuleSetName = &v
18459	return s
18460}
18461
18462// Represents the returned data in response to a request action.
18463type UpdateMatchmakingConfigurationOutput struct {
18464	_ struct{} `type:"structure"`
18465
18466	// Object that describes the updated matchmaking configuration.
18467	Configuration *MatchmakingConfiguration `type:"structure"`
18468}
18469
18470// String returns the string representation
18471func (s UpdateMatchmakingConfigurationOutput) String() string {
18472	return awsutil.Prettify(s)
18473}
18474
18475// GoString returns the string representation
18476func (s UpdateMatchmakingConfigurationOutput) GoString() string {
18477	return s.String()
18478}
18479
18480// SetConfiguration sets the Configuration field's value.
18481func (s *UpdateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *UpdateMatchmakingConfigurationOutput {
18482	s.Configuration = v
18483	return s
18484}
18485
18486// Represents the input for a request action.
18487type UpdateRuntimeConfigurationInput struct {
18488	_ struct{} `type:"structure"`
18489
18490	// Unique identifier for a fleet to update run-time configuration for.
18491	//
18492	// FleetId is a required field
18493	FleetId *string `type:"string" required:"true"`
18494
18495	// Instructions for launching server processes on each instance in the fleet.
18496	// The run-time configuration for a fleet has a collection of server process
18497	// configurations, one for each type of server process to run on an instance.
18498	// A server process configuration specifies the location of the server executable,
18499	// launch parameters, and the number of concurrent processes with that configuration
18500	// to maintain on each instance.
18501	//
18502	// RuntimeConfiguration is a required field
18503	RuntimeConfiguration *RuntimeConfiguration `type:"structure" required:"true"`
18504}
18505
18506// String returns the string representation
18507func (s UpdateRuntimeConfigurationInput) String() string {
18508	return awsutil.Prettify(s)
18509}
18510
18511// GoString returns the string representation
18512func (s UpdateRuntimeConfigurationInput) GoString() string {
18513	return s.String()
18514}
18515
18516// Validate inspects the fields of the type to determine if they are valid.
18517func (s *UpdateRuntimeConfigurationInput) Validate() error {
18518	invalidParams := request.ErrInvalidParams{Context: "UpdateRuntimeConfigurationInput"}
18519	if s.FleetId == nil {
18520		invalidParams.Add(request.NewErrParamRequired("FleetId"))
18521	}
18522	if s.RuntimeConfiguration == nil {
18523		invalidParams.Add(request.NewErrParamRequired("RuntimeConfiguration"))
18524	}
18525	if s.RuntimeConfiguration != nil {
18526		if err := s.RuntimeConfiguration.Validate(); err != nil {
18527			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
18528		}
18529	}
18530
18531	if invalidParams.Len() > 0 {
18532		return invalidParams
18533	}
18534	return nil
18535}
18536
18537// SetFleetId sets the FleetId field's value.
18538func (s *UpdateRuntimeConfigurationInput) SetFleetId(v string) *UpdateRuntimeConfigurationInput {
18539	s.FleetId = &v
18540	return s
18541}
18542
18543// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
18544func (s *UpdateRuntimeConfigurationInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationInput {
18545	s.RuntimeConfiguration = v
18546	return s
18547}
18548
18549// Represents the returned data in response to a request action.
18550type UpdateRuntimeConfigurationOutput struct {
18551	_ struct{} `type:"structure"`
18552
18553	// The run-time configuration currently in force. If the update was successful,
18554	// this object matches the one in the request.
18555	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
18556}
18557
18558// String returns the string representation
18559func (s UpdateRuntimeConfigurationOutput) String() string {
18560	return awsutil.Prettify(s)
18561}
18562
18563// GoString returns the string representation
18564func (s UpdateRuntimeConfigurationOutput) GoString() string {
18565	return s.String()
18566}
18567
18568// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
18569func (s *UpdateRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationOutput {
18570	s.RuntimeConfiguration = v
18571	return s
18572}
18573
18574// Represents the input for a request action.
18575type ValidateMatchmakingRuleSetInput struct {
18576	_ struct{} `type:"structure"`
18577
18578	// Collection of matchmaking rules to validate, formatted as a JSON string.
18579	//
18580	// RuleSetBody is a required field
18581	RuleSetBody *string `min:"1" type:"string" required:"true"`
18582}
18583
18584// String returns the string representation
18585func (s ValidateMatchmakingRuleSetInput) String() string {
18586	return awsutil.Prettify(s)
18587}
18588
18589// GoString returns the string representation
18590func (s ValidateMatchmakingRuleSetInput) GoString() string {
18591	return s.String()
18592}
18593
18594// Validate inspects the fields of the type to determine if they are valid.
18595func (s *ValidateMatchmakingRuleSetInput) Validate() error {
18596	invalidParams := request.ErrInvalidParams{Context: "ValidateMatchmakingRuleSetInput"}
18597	if s.RuleSetBody == nil {
18598		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
18599	}
18600	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
18601		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
18602	}
18603
18604	if invalidParams.Len() > 0 {
18605		return invalidParams
18606	}
18607	return nil
18608}
18609
18610// SetRuleSetBody sets the RuleSetBody field's value.
18611func (s *ValidateMatchmakingRuleSetInput) SetRuleSetBody(v string) *ValidateMatchmakingRuleSetInput {
18612	s.RuleSetBody = &v
18613	return s
18614}
18615
18616// Represents the returned data in response to a request action.
18617type ValidateMatchmakingRuleSetOutput struct {
18618	_ struct{} `type:"structure"`
18619
18620	// Response indicating whether or not the rule set is valid.
18621	Valid *bool `type:"boolean"`
18622}
18623
18624// String returns the string representation
18625func (s ValidateMatchmakingRuleSetOutput) String() string {
18626	return awsutil.Prettify(s)
18627}
18628
18629// GoString returns the string representation
18630func (s ValidateMatchmakingRuleSetOutput) GoString() string {
18631	return s.String()
18632}
18633
18634// SetValid sets the Valid field's value.
18635func (s *ValidateMatchmakingRuleSetOutput) SetValid(v bool) *ValidateMatchmakingRuleSetOutput {
18636	s.Valid = &v
18637	return s
18638}
18639
18640// Represents an authorization for a VPC peering connection between the VPC
18641// for an Amazon GameLift fleet and another VPC on an account you have access
18642// to. This authorization must exist and be valid for the peering connection
18643// to be established. Authorizations are valid for 24 hours after they are issued.
18644//
18645// VPC peering connection operations include:
18646//
18647//    * CreateVpcPeeringAuthorization
18648//
18649//    * DescribeVpcPeeringAuthorizations
18650//
18651//    * DeleteVpcPeeringAuthorization
18652//
18653//    * CreateVpcPeeringConnection
18654//
18655//    * DescribeVpcPeeringConnections
18656//
18657//    * DeleteVpcPeeringConnection
18658type VpcPeeringAuthorization struct {
18659	_ struct{} `type:"structure"`
18660
18661	// Time stamp indicating when this authorization was issued. Format is a number
18662	// expressed in Unix time as milliseconds (for example "1469498468.057").
18663	CreationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
18664
18665	// Time stamp indicating when this authorization expires (24 hours after issuance).
18666	// Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
18667	ExpirationTime *time.Time `type:"timestamp" timestampFormat:"unix"`
18668
18669	// Unique identifier for the AWS account that you use to manage your Amazon
18670	// GameLift fleet. You can find your Account ID in the AWS Management Console
18671	// under account settings.
18672	GameLiftAwsAccountId *string `min:"1" type:"string"`
18673
18674	PeerVpcAwsAccountId *string `min:"1" type:"string"`
18675
18676	// Unique identifier for a VPC with resources to be accessed by your Amazon
18677	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
18678	// To get VPC information, including IDs, use the Virtual Private Cloud service
18679	// tools, including the VPC Dashboard in the AWS Management Console.
18680	PeerVpcId *string `min:"1" type:"string"`
18681}
18682
18683// String returns the string representation
18684func (s VpcPeeringAuthorization) String() string {
18685	return awsutil.Prettify(s)
18686}
18687
18688// GoString returns the string representation
18689func (s VpcPeeringAuthorization) GoString() string {
18690	return s.String()
18691}
18692
18693// SetCreationTime sets the CreationTime field's value.
18694func (s *VpcPeeringAuthorization) SetCreationTime(v time.Time) *VpcPeeringAuthorization {
18695	s.CreationTime = &v
18696	return s
18697}
18698
18699// SetExpirationTime sets the ExpirationTime field's value.
18700func (s *VpcPeeringAuthorization) SetExpirationTime(v time.Time) *VpcPeeringAuthorization {
18701	s.ExpirationTime = &v
18702	return s
18703}
18704
18705// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
18706func (s *VpcPeeringAuthorization) SetGameLiftAwsAccountId(v string) *VpcPeeringAuthorization {
18707	s.GameLiftAwsAccountId = &v
18708	return s
18709}
18710
18711// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
18712func (s *VpcPeeringAuthorization) SetPeerVpcAwsAccountId(v string) *VpcPeeringAuthorization {
18713	s.PeerVpcAwsAccountId = &v
18714	return s
18715}
18716
18717// SetPeerVpcId sets the PeerVpcId field's value.
18718func (s *VpcPeeringAuthorization) SetPeerVpcId(v string) *VpcPeeringAuthorization {
18719	s.PeerVpcId = &v
18720	return s
18721}
18722
18723// Represents a peering connection between a VPC on one of your AWS accounts
18724// and the VPC for your Amazon GameLift fleets. This record may be for an active
18725// peering connection or a pending connection that has not yet been established.
18726//
18727// VPC peering connection operations include:
18728//
18729//    * CreateVpcPeeringAuthorization
18730//
18731//    * DescribeVpcPeeringAuthorizations
18732//
18733//    * DeleteVpcPeeringAuthorization
18734//
18735//    * CreateVpcPeeringConnection
18736//
18737//    * DescribeVpcPeeringConnections
18738//
18739//    * DeleteVpcPeeringConnection
18740type VpcPeeringConnection struct {
18741	_ struct{} `type:"structure"`
18742
18743	// Unique identifier for a fleet. This ID determines the ID of the Amazon GameLift
18744	// VPC for your fleet.
18745	FleetId *string `type:"string"`
18746
18747	// Unique identifier for the VPC that contains the Amazon GameLift fleet for
18748	// this connection. This VPC is managed by Amazon GameLift and does not appear
18749	// in your AWS account.
18750	GameLiftVpcId *string `min:"1" type:"string"`
18751
18752	// CIDR block of IPv4 addresses assigned to the VPC peering connection for the
18753	// GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with
18754	// it; these blocks cannot overlap or the peering connection cannot be created.
18755	IpV4CidrBlock *string `min:"1" type:"string"`
18756
18757	// Unique identifier for a VPC with resources to be accessed by your Amazon
18758	// GameLift fleet. The VPC must be in the same region where your fleet is deployed.
18759	// To get VPC information, including IDs, use the Virtual Private Cloud service
18760	// tools, including the VPC Dashboard in the AWS Management Console.
18761	PeerVpcId *string `min:"1" type:"string"`
18762
18763	// Object that contains status information about the connection. Status indicates
18764	// if a connection is pending, successful, or failed.
18765	Status *VpcPeeringConnectionStatus `type:"structure"`
18766
18767	// Unique identifier that is automatically assigned to the connection record.
18768	// This ID is referenced in VPC peering connection events, and is used when
18769	// deleting a connection with DeleteVpcPeeringConnection.
18770	VpcPeeringConnectionId *string `min:"1" type:"string"`
18771}
18772
18773// String returns the string representation
18774func (s VpcPeeringConnection) String() string {
18775	return awsutil.Prettify(s)
18776}
18777
18778// GoString returns the string representation
18779func (s VpcPeeringConnection) GoString() string {
18780	return s.String()
18781}
18782
18783// SetFleetId sets the FleetId field's value.
18784func (s *VpcPeeringConnection) SetFleetId(v string) *VpcPeeringConnection {
18785	s.FleetId = &v
18786	return s
18787}
18788
18789// SetGameLiftVpcId sets the GameLiftVpcId field's value.
18790func (s *VpcPeeringConnection) SetGameLiftVpcId(v string) *VpcPeeringConnection {
18791	s.GameLiftVpcId = &v
18792	return s
18793}
18794
18795// SetIpV4CidrBlock sets the IpV4CidrBlock field's value.
18796func (s *VpcPeeringConnection) SetIpV4CidrBlock(v string) *VpcPeeringConnection {
18797	s.IpV4CidrBlock = &v
18798	return s
18799}
18800
18801// SetPeerVpcId sets the PeerVpcId field's value.
18802func (s *VpcPeeringConnection) SetPeerVpcId(v string) *VpcPeeringConnection {
18803	s.PeerVpcId = &v
18804	return s
18805}
18806
18807// SetStatus sets the Status field's value.
18808func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStatus) *VpcPeeringConnection {
18809	s.Status = v
18810	return s
18811}
18812
18813// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
18814func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
18815	s.VpcPeeringConnectionId = &v
18816	return s
18817}
18818
18819// Represents status information for a VPC peering connection. Status is associated
18820// with a VpcPeeringConnection object. Status codes and messages are provided
18821// from EC2 (see VpcPeeringConnectionStateReason (http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html)).
18822// Connection status information is also communicated as a fleet Event.
18823type VpcPeeringConnectionStatus struct {
18824	_ struct{} `type:"structure"`
18825
18826	// Code indicating the status of a VPC peering connection.
18827	Code *string `min:"1" type:"string"`
18828
18829	// Additional messaging associated with the connection status.
18830	Message *string `min:"1" type:"string"`
18831}
18832
18833// String returns the string representation
18834func (s VpcPeeringConnectionStatus) String() string {
18835	return awsutil.Prettify(s)
18836}
18837
18838// GoString returns the string representation
18839func (s VpcPeeringConnectionStatus) GoString() string {
18840	return s.String()
18841}
18842
18843// SetCode sets the Code field's value.
18844func (s *VpcPeeringConnectionStatus) SetCode(v string) *VpcPeeringConnectionStatus {
18845	s.Code = &v
18846	return s
18847}
18848
18849// SetMessage sets the Message field's value.
18850func (s *VpcPeeringConnectionStatus) SetMessage(v string) *VpcPeeringConnectionStatus {
18851	s.Message = &v
18852	return s
18853}
18854
18855const (
18856	// AcceptanceTypeAccept is a AcceptanceType enum value
18857	AcceptanceTypeAccept = "ACCEPT"
18858
18859	// AcceptanceTypeReject is a AcceptanceType enum value
18860	AcceptanceTypeReject = "REJECT"
18861)
18862
18863const (
18864	// BuildStatusInitialized is a BuildStatus enum value
18865	BuildStatusInitialized = "INITIALIZED"
18866
18867	// BuildStatusReady is a BuildStatus enum value
18868	BuildStatusReady = "READY"
18869
18870	// BuildStatusFailed is a BuildStatus enum value
18871	BuildStatusFailed = "FAILED"
18872)
18873
18874const (
18875	// ComparisonOperatorTypeGreaterThanOrEqualToThreshold is a ComparisonOperatorType enum value
18876	ComparisonOperatorTypeGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
18877
18878	// ComparisonOperatorTypeGreaterThanThreshold is a ComparisonOperatorType enum value
18879	ComparisonOperatorTypeGreaterThanThreshold = "GreaterThanThreshold"
18880
18881	// ComparisonOperatorTypeLessThanThreshold is a ComparisonOperatorType enum value
18882	ComparisonOperatorTypeLessThanThreshold = "LessThanThreshold"
18883
18884	// ComparisonOperatorTypeLessThanOrEqualToThreshold is a ComparisonOperatorType enum value
18885	ComparisonOperatorTypeLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
18886)
18887
18888const (
18889	// EC2InstanceTypeT2Micro is a EC2InstanceType enum value
18890	EC2InstanceTypeT2Micro = "t2.micro"
18891
18892	// EC2InstanceTypeT2Small is a EC2InstanceType enum value
18893	EC2InstanceTypeT2Small = "t2.small"
18894
18895	// EC2InstanceTypeT2Medium is a EC2InstanceType enum value
18896	EC2InstanceTypeT2Medium = "t2.medium"
18897
18898	// EC2InstanceTypeT2Large is a EC2InstanceType enum value
18899	EC2InstanceTypeT2Large = "t2.large"
18900
18901	// EC2InstanceTypeC3Large is a EC2InstanceType enum value
18902	EC2InstanceTypeC3Large = "c3.large"
18903
18904	// EC2InstanceTypeC3Xlarge is a EC2InstanceType enum value
18905	EC2InstanceTypeC3Xlarge = "c3.xlarge"
18906
18907	// EC2InstanceTypeC32xlarge is a EC2InstanceType enum value
18908	EC2InstanceTypeC32xlarge = "c3.2xlarge"
18909
18910	// EC2InstanceTypeC34xlarge is a EC2InstanceType enum value
18911	EC2InstanceTypeC34xlarge = "c3.4xlarge"
18912
18913	// EC2InstanceTypeC38xlarge is a EC2InstanceType enum value
18914	EC2InstanceTypeC38xlarge = "c3.8xlarge"
18915
18916	// EC2InstanceTypeC4Large is a EC2InstanceType enum value
18917	EC2InstanceTypeC4Large = "c4.large"
18918
18919	// EC2InstanceTypeC4Xlarge is a EC2InstanceType enum value
18920	EC2InstanceTypeC4Xlarge = "c4.xlarge"
18921
18922	// EC2InstanceTypeC42xlarge is a EC2InstanceType enum value
18923	EC2InstanceTypeC42xlarge = "c4.2xlarge"
18924
18925	// EC2InstanceTypeC44xlarge is a EC2InstanceType enum value
18926	EC2InstanceTypeC44xlarge = "c4.4xlarge"
18927
18928	// EC2InstanceTypeC48xlarge is a EC2InstanceType enum value
18929	EC2InstanceTypeC48xlarge = "c4.8xlarge"
18930
18931	// EC2InstanceTypeR3Large is a EC2InstanceType enum value
18932	EC2InstanceTypeR3Large = "r3.large"
18933
18934	// EC2InstanceTypeR3Xlarge is a EC2InstanceType enum value
18935	EC2InstanceTypeR3Xlarge = "r3.xlarge"
18936
18937	// EC2InstanceTypeR32xlarge is a EC2InstanceType enum value
18938	EC2InstanceTypeR32xlarge = "r3.2xlarge"
18939
18940	// EC2InstanceTypeR34xlarge is a EC2InstanceType enum value
18941	EC2InstanceTypeR34xlarge = "r3.4xlarge"
18942
18943	// EC2InstanceTypeR38xlarge is a EC2InstanceType enum value
18944	EC2InstanceTypeR38xlarge = "r3.8xlarge"
18945
18946	// EC2InstanceTypeR4Large is a EC2InstanceType enum value
18947	EC2InstanceTypeR4Large = "r4.large"
18948
18949	// EC2InstanceTypeR4Xlarge is a EC2InstanceType enum value
18950	EC2InstanceTypeR4Xlarge = "r4.xlarge"
18951
18952	// EC2InstanceTypeR42xlarge is a EC2InstanceType enum value
18953	EC2InstanceTypeR42xlarge = "r4.2xlarge"
18954
18955	// EC2InstanceTypeR44xlarge is a EC2InstanceType enum value
18956	EC2InstanceTypeR44xlarge = "r4.4xlarge"
18957
18958	// EC2InstanceTypeR48xlarge is a EC2InstanceType enum value
18959	EC2InstanceTypeR48xlarge = "r4.8xlarge"
18960
18961	// EC2InstanceTypeR416xlarge is a EC2InstanceType enum value
18962	EC2InstanceTypeR416xlarge = "r4.16xlarge"
18963
18964	// EC2InstanceTypeM3Medium is a EC2InstanceType enum value
18965	EC2InstanceTypeM3Medium = "m3.medium"
18966
18967	// EC2InstanceTypeM3Large is a EC2InstanceType enum value
18968	EC2InstanceTypeM3Large = "m3.large"
18969
18970	// EC2InstanceTypeM3Xlarge is a EC2InstanceType enum value
18971	EC2InstanceTypeM3Xlarge = "m3.xlarge"
18972
18973	// EC2InstanceTypeM32xlarge is a EC2InstanceType enum value
18974	EC2InstanceTypeM32xlarge = "m3.2xlarge"
18975
18976	// EC2InstanceTypeM4Large is a EC2InstanceType enum value
18977	EC2InstanceTypeM4Large = "m4.large"
18978
18979	// EC2InstanceTypeM4Xlarge is a EC2InstanceType enum value
18980	EC2InstanceTypeM4Xlarge = "m4.xlarge"
18981
18982	// EC2InstanceTypeM42xlarge is a EC2InstanceType enum value
18983	EC2InstanceTypeM42xlarge = "m4.2xlarge"
18984
18985	// EC2InstanceTypeM44xlarge is a EC2InstanceType enum value
18986	EC2InstanceTypeM44xlarge = "m4.4xlarge"
18987
18988	// EC2InstanceTypeM410xlarge is a EC2InstanceType enum value
18989	EC2InstanceTypeM410xlarge = "m4.10xlarge"
18990)
18991
18992const (
18993	// EventCodeGenericEvent is a EventCode enum value
18994	EventCodeGenericEvent = "GENERIC_EVENT"
18995
18996	// EventCodeFleetCreated is a EventCode enum value
18997	EventCodeFleetCreated = "FLEET_CREATED"
18998
18999	// EventCodeFleetDeleted is a EventCode enum value
19000	EventCodeFleetDeleted = "FLEET_DELETED"
19001
19002	// EventCodeFleetScalingEvent is a EventCode enum value
19003	EventCodeFleetScalingEvent = "FLEET_SCALING_EVENT"
19004
19005	// EventCodeFleetStateDownloading is a EventCode enum value
19006	EventCodeFleetStateDownloading = "FLEET_STATE_DOWNLOADING"
19007
19008	// EventCodeFleetStateValidating is a EventCode enum value
19009	EventCodeFleetStateValidating = "FLEET_STATE_VALIDATING"
19010
19011	// EventCodeFleetStateBuilding is a EventCode enum value
19012	EventCodeFleetStateBuilding = "FLEET_STATE_BUILDING"
19013
19014	// EventCodeFleetStateActivating is a EventCode enum value
19015	EventCodeFleetStateActivating = "FLEET_STATE_ACTIVATING"
19016
19017	// EventCodeFleetStateActive is a EventCode enum value
19018	EventCodeFleetStateActive = "FLEET_STATE_ACTIVE"
19019
19020	// EventCodeFleetStateError is a EventCode enum value
19021	EventCodeFleetStateError = "FLEET_STATE_ERROR"
19022
19023	// EventCodeFleetInitializationFailed is a EventCode enum value
19024	EventCodeFleetInitializationFailed = "FLEET_INITIALIZATION_FAILED"
19025
19026	// EventCodeFleetBinaryDownloadFailed is a EventCode enum value
19027	EventCodeFleetBinaryDownloadFailed = "FLEET_BINARY_DOWNLOAD_FAILED"
19028
19029	// EventCodeFleetValidationLaunchPathNotFound is a EventCode enum value
19030	EventCodeFleetValidationLaunchPathNotFound = "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND"
19031
19032	// EventCodeFleetValidationExecutableRuntimeFailure is a EventCode enum value
19033	EventCodeFleetValidationExecutableRuntimeFailure = "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE"
19034
19035	// EventCodeFleetValidationTimedOut is a EventCode enum value
19036	EventCodeFleetValidationTimedOut = "FLEET_VALIDATION_TIMED_OUT"
19037
19038	// EventCodeFleetActivationFailed is a EventCode enum value
19039	EventCodeFleetActivationFailed = "FLEET_ACTIVATION_FAILED"
19040
19041	// EventCodeFleetActivationFailedNoInstances is a EventCode enum value
19042	EventCodeFleetActivationFailedNoInstances = "FLEET_ACTIVATION_FAILED_NO_INSTANCES"
19043
19044	// EventCodeFleetNewGameSessionProtectionPolicyUpdated is a EventCode enum value
19045	EventCodeFleetNewGameSessionProtectionPolicyUpdated = "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED"
19046
19047	// EventCodeServerProcessInvalidPath is a EventCode enum value
19048	EventCodeServerProcessInvalidPath = "SERVER_PROCESS_INVALID_PATH"
19049
19050	// EventCodeServerProcessSdkInitializationTimeout is a EventCode enum value
19051	EventCodeServerProcessSdkInitializationTimeout = "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT"
19052
19053	// EventCodeServerProcessProcessReadyTimeout is a EventCode enum value
19054	EventCodeServerProcessProcessReadyTimeout = "SERVER_PROCESS_PROCESS_READY_TIMEOUT"
19055
19056	// EventCodeServerProcessCrashed is a EventCode enum value
19057	EventCodeServerProcessCrashed = "SERVER_PROCESS_CRASHED"
19058
19059	// EventCodeServerProcessTerminatedUnhealthy is a EventCode enum value
19060	EventCodeServerProcessTerminatedUnhealthy = "SERVER_PROCESS_TERMINATED_UNHEALTHY"
19061
19062	// EventCodeServerProcessForceTerminated is a EventCode enum value
19063	EventCodeServerProcessForceTerminated = "SERVER_PROCESS_FORCE_TERMINATED"
19064
19065	// EventCodeServerProcessProcessExitTimeout is a EventCode enum value
19066	EventCodeServerProcessProcessExitTimeout = "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT"
19067
19068	// EventCodeGameSessionActivationTimeout is a EventCode enum value
19069	EventCodeGameSessionActivationTimeout = "GAME_SESSION_ACTIVATION_TIMEOUT"
19070
19071	// EventCodeFleetCreationExtractingBuild is a EventCode enum value
19072	EventCodeFleetCreationExtractingBuild = "FLEET_CREATION_EXTRACTING_BUILD"
19073
19074	// EventCodeFleetCreationRunningInstaller is a EventCode enum value
19075	EventCodeFleetCreationRunningInstaller = "FLEET_CREATION_RUNNING_INSTALLER"
19076
19077	// EventCodeFleetCreationValidatingRuntimeConfig is a EventCode enum value
19078	EventCodeFleetCreationValidatingRuntimeConfig = "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG"
19079
19080	// EventCodeFleetVpcPeeringSucceeded is a EventCode enum value
19081	EventCodeFleetVpcPeeringSucceeded = "FLEET_VPC_PEERING_SUCCEEDED"
19082
19083	// EventCodeFleetVpcPeeringFailed is a EventCode enum value
19084	EventCodeFleetVpcPeeringFailed = "FLEET_VPC_PEERING_FAILED"
19085
19086	// EventCodeFleetVpcPeeringDeleted is a EventCode enum value
19087	EventCodeFleetVpcPeeringDeleted = "FLEET_VPC_PEERING_DELETED"
19088
19089	// EventCodeInstanceInterrupted is a EventCode enum value
19090	EventCodeInstanceInterrupted = "INSTANCE_INTERRUPTED"
19091)
19092
19093const (
19094	// FleetStatusNew is a FleetStatus enum value
19095	FleetStatusNew = "NEW"
19096
19097	// FleetStatusDownloading is a FleetStatus enum value
19098	FleetStatusDownloading = "DOWNLOADING"
19099
19100	// FleetStatusValidating is a FleetStatus enum value
19101	FleetStatusValidating = "VALIDATING"
19102
19103	// FleetStatusBuilding is a FleetStatus enum value
19104	FleetStatusBuilding = "BUILDING"
19105
19106	// FleetStatusActivating is a FleetStatus enum value
19107	FleetStatusActivating = "ACTIVATING"
19108
19109	// FleetStatusActive is a FleetStatus enum value
19110	FleetStatusActive = "ACTIVE"
19111
19112	// FleetStatusDeleting is a FleetStatus enum value
19113	FleetStatusDeleting = "DELETING"
19114
19115	// FleetStatusError is a FleetStatus enum value
19116	FleetStatusError = "ERROR"
19117
19118	// FleetStatusTerminated is a FleetStatus enum value
19119	FleetStatusTerminated = "TERMINATED"
19120)
19121
19122const (
19123	// FleetTypeOnDemand is a FleetType enum value
19124	FleetTypeOnDemand = "ON_DEMAND"
19125
19126	// FleetTypeSpot is a FleetType enum value
19127	FleetTypeSpot = "SPOT"
19128)
19129
19130const (
19131	// GameSessionPlacementStatePending is a GameSessionPlacementState enum value
19132	GameSessionPlacementStatePending = "PENDING"
19133
19134	// GameSessionPlacementStateFulfilled is a GameSessionPlacementState enum value
19135	GameSessionPlacementStateFulfilled = "FULFILLED"
19136
19137	// GameSessionPlacementStateCancelled is a GameSessionPlacementState enum value
19138	GameSessionPlacementStateCancelled = "CANCELLED"
19139
19140	// GameSessionPlacementStateTimedOut is a GameSessionPlacementState enum value
19141	GameSessionPlacementStateTimedOut = "TIMED_OUT"
19142)
19143
19144const (
19145	// GameSessionStatusActive is a GameSessionStatus enum value
19146	GameSessionStatusActive = "ACTIVE"
19147
19148	// GameSessionStatusActivating is a GameSessionStatus enum value
19149	GameSessionStatusActivating = "ACTIVATING"
19150
19151	// GameSessionStatusTerminated is a GameSessionStatus enum value
19152	GameSessionStatusTerminated = "TERMINATED"
19153
19154	// GameSessionStatusTerminating is a GameSessionStatus enum value
19155	GameSessionStatusTerminating = "TERMINATING"
19156
19157	// GameSessionStatusError is a GameSessionStatus enum value
19158	GameSessionStatusError = "ERROR"
19159)
19160
19161const (
19162	// GameSessionStatusReasonInterrupted is a GameSessionStatusReason enum value
19163	GameSessionStatusReasonInterrupted = "INTERRUPTED"
19164)
19165
19166const (
19167	// InstanceStatusPending is a InstanceStatus enum value
19168	InstanceStatusPending = "PENDING"
19169
19170	// InstanceStatusActive is a InstanceStatus enum value
19171	InstanceStatusActive = "ACTIVE"
19172
19173	// InstanceStatusTerminating is a InstanceStatus enum value
19174	InstanceStatusTerminating = "TERMINATING"
19175)
19176
19177const (
19178	// IpProtocolTcp is a IpProtocol enum value
19179	IpProtocolTcp = "TCP"
19180
19181	// IpProtocolUdp is a IpProtocol enum value
19182	IpProtocolUdp = "UDP"
19183)
19184
19185const (
19186	// MatchmakingConfigurationStatusCancelled is a MatchmakingConfigurationStatus enum value
19187	MatchmakingConfigurationStatusCancelled = "CANCELLED"
19188
19189	// MatchmakingConfigurationStatusCompleted is a MatchmakingConfigurationStatus enum value
19190	MatchmakingConfigurationStatusCompleted = "COMPLETED"
19191
19192	// MatchmakingConfigurationStatusFailed is a MatchmakingConfigurationStatus enum value
19193	MatchmakingConfigurationStatusFailed = "FAILED"
19194
19195	// MatchmakingConfigurationStatusPlacing is a MatchmakingConfigurationStatus enum value
19196	MatchmakingConfigurationStatusPlacing = "PLACING"
19197
19198	// MatchmakingConfigurationStatusQueued is a MatchmakingConfigurationStatus enum value
19199	MatchmakingConfigurationStatusQueued = "QUEUED"
19200
19201	// MatchmakingConfigurationStatusRequiresAcceptance is a MatchmakingConfigurationStatus enum value
19202	MatchmakingConfigurationStatusRequiresAcceptance = "REQUIRES_ACCEPTANCE"
19203
19204	// MatchmakingConfigurationStatusSearching is a MatchmakingConfigurationStatus enum value
19205	MatchmakingConfigurationStatusSearching = "SEARCHING"
19206
19207	// MatchmakingConfigurationStatusTimedOut is a MatchmakingConfigurationStatus enum value
19208	MatchmakingConfigurationStatusTimedOut = "TIMED_OUT"
19209)
19210
19211const (
19212	// MetricNameActivatingGameSessions is a MetricName enum value
19213	MetricNameActivatingGameSessions = "ActivatingGameSessions"
19214
19215	// MetricNameActiveGameSessions is a MetricName enum value
19216	MetricNameActiveGameSessions = "ActiveGameSessions"
19217
19218	// MetricNameActiveInstances is a MetricName enum value
19219	MetricNameActiveInstances = "ActiveInstances"
19220
19221	// MetricNameAvailableGameSessions is a MetricName enum value
19222	MetricNameAvailableGameSessions = "AvailableGameSessions"
19223
19224	// MetricNameAvailablePlayerSessions is a MetricName enum value
19225	MetricNameAvailablePlayerSessions = "AvailablePlayerSessions"
19226
19227	// MetricNameCurrentPlayerSessions is a MetricName enum value
19228	MetricNameCurrentPlayerSessions = "CurrentPlayerSessions"
19229
19230	// MetricNameIdleInstances is a MetricName enum value
19231	MetricNameIdleInstances = "IdleInstances"
19232
19233	// MetricNamePercentAvailableGameSessions is a MetricName enum value
19234	MetricNamePercentAvailableGameSessions = "PercentAvailableGameSessions"
19235
19236	// MetricNamePercentIdleInstances is a MetricName enum value
19237	MetricNamePercentIdleInstances = "PercentIdleInstances"
19238
19239	// MetricNameQueueDepth is a MetricName enum value
19240	MetricNameQueueDepth = "QueueDepth"
19241
19242	// MetricNameWaitTime is a MetricName enum value
19243	MetricNameWaitTime = "WaitTime"
19244)
19245
19246const (
19247	// OperatingSystemWindows2012 is a OperatingSystem enum value
19248	OperatingSystemWindows2012 = "WINDOWS_2012"
19249
19250	// OperatingSystemAmazonLinux is a OperatingSystem enum value
19251	OperatingSystemAmazonLinux = "AMAZON_LINUX"
19252)
19253
19254const (
19255	// PlayerSessionCreationPolicyAcceptAll is a PlayerSessionCreationPolicy enum value
19256	PlayerSessionCreationPolicyAcceptAll = "ACCEPT_ALL"
19257
19258	// PlayerSessionCreationPolicyDenyAll is a PlayerSessionCreationPolicy enum value
19259	PlayerSessionCreationPolicyDenyAll = "DENY_ALL"
19260)
19261
19262const (
19263	// PlayerSessionStatusReserved is a PlayerSessionStatus enum value
19264	PlayerSessionStatusReserved = "RESERVED"
19265
19266	// PlayerSessionStatusActive is a PlayerSessionStatus enum value
19267	PlayerSessionStatusActive = "ACTIVE"
19268
19269	// PlayerSessionStatusCompleted is a PlayerSessionStatus enum value
19270	PlayerSessionStatusCompleted = "COMPLETED"
19271
19272	// PlayerSessionStatusTimedout is a PlayerSessionStatus enum value
19273	PlayerSessionStatusTimedout = "TIMEDOUT"
19274)
19275
19276const (
19277	// ProtectionPolicyNoProtection is a ProtectionPolicy enum value
19278	ProtectionPolicyNoProtection = "NoProtection"
19279
19280	// ProtectionPolicyFullProtection is a ProtectionPolicy enum value
19281	ProtectionPolicyFullProtection = "FullProtection"
19282)
19283
19284const (
19285	// RoutingStrategyTypeSimple is a RoutingStrategyType enum value
19286	RoutingStrategyTypeSimple = "SIMPLE"
19287
19288	// RoutingStrategyTypeTerminal is a RoutingStrategyType enum value
19289	RoutingStrategyTypeTerminal = "TERMINAL"
19290)
19291
19292const (
19293	// ScalingAdjustmentTypeChangeInCapacity is a ScalingAdjustmentType enum value
19294	ScalingAdjustmentTypeChangeInCapacity = "ChangeInCapacity"
19295
19296	// ScalingAdjustmentTypeExactCapacity is a ScalingAdjustmentType enum value
19297	ScalingAdjustmentTypeExactCapacity = "ExactCapacity"
19298
19299	// ScalingAdjustmentTypePercentChangeInCapacity is a ScalingAdjustmentType enum value
19300	ScalingAdjustmentTypePercentChangeInCapacity = "PercentChangeInCapacity"
19301)
19302
19303const (
19304	// ScalingStatusTypeActive is a ScalingStatusType enum value
19305	ScalingStatusTypeActive = "ACTIVE"
19306
19307	// ScalingStatusTypeUpdateRequested is a ScalingStatusType enum value
19308	ScalingStatusTypeUpdateRequested = "UPDATE_REQUESTED"
19309
19310	// ScalingStatusTypeUpdating is a ScalingStatusType enum value
19311	ScalingStatusTypeUpdating = "UPDATING"
19312
19313	// ScalingStatusTypeDeleteRequested is a ScalingStatusType enum value
19314	ScalingStatusTypeDeleteRequested = "DELETE_REQUESTED"
19315
19316	// ScalingStatusTypeDeleting is a ScalingStatusType enum value
19317	ScalingStatusTypeDeleting = "DELETING"
19318
19319	// ScalingStatusTypeDeleted is a ScalingStatusType enum value
19320	ScalingStatusTypeDeleted = "DELETED"
19321
19322	// ScalingStatusTypeError is a ScalingStatusType enum value
19323	ScalingStatusTypeError = "ERROR"
19324)
19325