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// successfully.
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	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptMatch API operation for Amazon GameLift.
60//
61// Registers a player's acceptance or rejection of a proposed FlexMatch match.
62// A matchmaking configuration may require player acceptance; if so, then matches
63// built with that configuration cannot be completed unless all players accept
64// the proposed match within a specified time limit.
65//
66// When FlexMatch builds a match, all the matchmaking tickets involved in the
67// proposed match are placed into status REQUIRES_ACCEPTANCE. This is a trigger
68// for your game to get acceptance from all players in the ticket. Acceptances
69// are only valid for tickets when they are in this status; all other acceptances
70// result in an error.
71//
72// To register acceptance, specify the ticket ID, a response, and one or more
73// players. Once all players have registered acceptance, the matchmaking tickets
74// advance to status PLACING, where a new game session is created for the match.
75//
76// If any player rejects the match, or if acceptances are not received before
77// a specified timeout, the proposed match is dropped. The matchmaking tickets
78// are then handled in one of two ways: For tickets where one or more players
79// rejected the match, the ticket status is returned to SEARCHING to find a
80// new match. For tickets where one or more players failed to respond, the ticket
81// status is set to CANCELLED, and processing is terminated. A new matchmaking
82// request for these players can be submitted as needed.
83//
84// Learn more
85//
86//  Add FlexMatch to a game client (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html)
87//
88//  FlexMatch events (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html)
89//  (reference)
90//
91// Related actions
92//
93// StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
94// StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
95//
96// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
97// with awserr.Error's Code and Message methods to get detailed information about
98// the error.
99//
100// See the AWS API reference guide for Amazon GameLift's
101// API operation AcceptMatch for usage and error information.
102//
103// Returned Error Types:
104//   * InvalidRequestException
105//   One or more parameter values in the request are invalid. Correct the invalid
106//   parameter values before retrying.
107//
108//   * NotFoundException
109//   A service resource associated with the request could not be found. Clients
110//   should not retry such requests.
111//
112//   * InternalServiceException
113//   The service encountered an unrecoverable internal failure while processing
114//   the request. Clients can retry such requests immediately or after a waiting
115//   period.
116//
117//   * UnsupportedRegionException
118//   The requested operation is not supported in the Region specified.
119//
120// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/AcceptMatch
121func (c *GameLift) AcceptMatch(input *AcceptMatchInput) (*AcceptMatchOutput, error) {
122	req, out := c.AcceptMatchRequest(input)
123	return out, req.Send()
124}
125
126// AcceptMatchWithContext is the same as AcceptMatch with the addition of
127// the ability to pass a context and additional request options.
128//
129// See AcceptMatch for details on how to use this API operation.
130//
131// The context must be non-nil and will be used for request cancellation. If
132// the context is nil a panic will occur. In the future the SDK may create
133// sub-contexts for http.Requests. See https://golang.org/pkg/context/
134// for more information on using Contexts.
135func (c *GameLift) AcceptMatchWithContext(ctx aws.Context, input *AcceptMatchInput, opts ...request.Option) (*AcceptMatchOutput, error) {
136	req, out := c.AcceptMatchRequest(input)
137	req.SetContext(ctx)
138	req.ApplyOptions(opts...)
139	return out, req.Send()
140}
141
142const opClaimGameServer = "ClaimGameServer"
143
144// ClaimGameServerRequest generates a "aws/request.Request" representing the
145// client's request for the ClaimGameServer operation. The "output" return
146// value will be populated with the request's response once the request completes
147// successfully.
148//
149// Use "Send" method on the returned Request to send the API call to the service.
150// the "output" return value is not valid until after Send returns without error.
151//
152// See ClaimGameServer for more information on using the ClaimGameServer
153// API call, and error handling.
154//
155// This method is useful when you want to inject custom logic or configuration
156// into the SDK's request lifecycle. Such as custom headers, or retry logic.
157//
158//
159//    // Example sending a request using the ClaimGameServerRequest method.
160//    req, resp := client.ClaimGameServerRequest(params)
161//
162//    err := req.Send()
163//    if err == nil { // resp is now filled
164//        fmt.Println(resp)
165//    }
166//
167// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ClaimGameServer
168func (c *GameLift) ClaimGameServerRequest(input *ClaimGameServerInput) (req *request.Request, output *ClaimGameServerOutput) {
169	op := &request.Operation{
170		Name:       opClaimGameServer,
171		HTTPMethod: "POST",
172		HTTPPath:   "/",
173	}
174
175	if input == nil {
176		input = &ClaimGameServerInput{}
177	}
178
179	output = &ClaimGameServerOutput{}
180	req = c.newRequest(op, input, output)
181	return
182}
183
184// ClaimGameServer API operation for Amazon GameLift.
185//
186// This operation is used with the GameLift FleetIQ solution and game server
187// groups.
188//
189// Locates an available game server and temporarily reserves it to host gameplay
190// and players. This operation is called from a game client or client service
191// (such as a matchmaker) to request hosting resources for a new game session.
192// In response, GameLift FleetIQ locates an available game server, places it
193// in CLAIMED status for 60 seconds, and returns connection information that
194// players can use to connect to the game server.
195//
196// To claim a game server, identify a game server group. You can also specify
197// a game server ID, although this approach bypasses GameLift FleetIQ placement
198// optimization. Optionally, include game data to pass to the game server at
199// the start of a game session, such as a game map or player information.
200//
201// When a game server is successfully claimed, connection information is returned.
202// A claimed game server's utilization status remains AVAILABLE while the claim
203// status is set to CLAIMED for up to 60 seconds. This time period gives the
204// game server time to update its status to UTILIZED (using UpdateGameServer)
205// once players join. If the game server's status is not updated within 60 seconds,
206// the game server reverts to unclaimed status and is available to be claimed
207// by another request. The claim time period is a fixed value and is not configurable.
208//
209// If you try to claim a specific game server, this request will fail in the
210// following cases:
211//
212//    * If the game server utilization status is UTILIZED.
213//
214//    * If the game server claim status is CLAIMED.
215//
216// When claiming a specific game server, this request will succeed even if the
217// game server is running on an instance in DRAINING status. To avoid this,
218// first check the instance status by calling DescribeGameServerInstances.
219//
220// Learn more
221//
222// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
223//
224// Related actions
225//
226// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
227// | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
228//
229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
230// with awserr.Error's Code and Message methods to get detailed information about
231// the error.
232//
233// See the AWS API reference guide for Amazon GameLift's
234// API operation ClaimGameServer for usage and error information.
235//
236// Returned Error Types:
237//   * InvalidRequestException
238//   One or more parameter values in the request are invalid. Correct the invalid
239//   parameter values before retrying.
240//
241//   * NotFoundException
242//   A service resource associated with the request could not be found. Clients
243//   should not retry such requests.
244//
245//   * ConflictException
246//   The requested operation would cause a conflict with the current state of
247//   a service resource associated with the request. Resolve the conflict before
248//   retrying this request.
249//
250//   * OutOfCapacityException
251//   The specified game server group has no available game servers to fulfill
252//   a ClaimGameServer request. Clients can retry such requests immediately or
253//   after a waiting period.
254//
255//   * UnauthorizedException
256//   The client failed authentication. Clients should not retry such requests.
257//
258//   * InternalServiceException
259//   The service encountered an unrecoverable internal failure while processing
260//   the request. Clients can retry such requests immediately or after a waiting
261//   period.
262//
263// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ClaimGameServer
264func (c *GameLift) ClaimGameServer(input *ClaimGameServerInput) (*ClaimGameServerOutput, error) {
265	req, out := c.ClaimGameServerRequest(input)
266	return out, req.Send()
267}
268
269// ClaimGameServerWithContext is the same as ClaimGameServer with the addition of
270// the ability to pass a context and additional request options.
271//
272// See ClaimGameServer for details on how to use this API operation.
273//
274// The context must be non-nil and will be used for request cancellation. If
275// the context is nil a panic will occur. In the future the SDK may create
276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
277// for more information on using Contexts.
278func (c *GameLift) ClaimGameServerWithContext(ctx aws.Context, input *ClaimGameServerInput, opts ...request.Option) (*ClaimGameServerOutput, error) {
279	req, out := c.ClaimGameServerRequest(input)
280	req.SetContext(ctx)
281	req.ApplyOptions(opts...)
282	return out, req.Send()
283}
284
285const opCreateAlias = "CreateAlias"
286
287// CreateAliasRequest generates a "aws/request.Request" representing the
288// client's request for the CreateAlias operation. The "output" return
289// value will be populated with the request's response once the request completes
290// successfully.
291//
292// Use "Send" method on the returned Request to send the API call to the service.
293// the "output" return value is not valid until after Send returns without error.
294//
295// See CreateAlias for more information on using the CreateAlias
296// API call, and error handling.
297//
298// This method is useful when you want to inject custom logic or configuration
299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
300//
301//
302//    // Example sending a request using the CreateAliasRequest method.
303//    req, resp := client.CreateAliasRequest(params)
304//
305//    err := req.Send()
306//    if err == nil { // resp is now filled
307//        fmt.Println(resp)
308//    }
309//
310// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAlias
311func (c *GameLift) CreateAliasRequest(input *CreateAliasInput) (req *request.Request, output *CreateAliasOutput) {
312	op := &request.Operation{
313		Name:       opCreateAlias,
314		HTTPMethod: "POST",
315		HTTPPath:   "/",
316	}
317
318	if input == nil {
319		input = &CreateAliasInput{}
320	}
321
322	output = &CreateAliasOutput{}
323	req = c.newRequest(op, input, output)
324	return
325}
326
327// CreateAlias API operation for Amazon GameLift.
328//
329// Creates an alias for a fleet. In most situations, you can use an alias ID
330// in place of a fleet ID. An alias provides a level of abstraction for a fleet
331// that is useful when redirecting player traffic from one fleet to another,
332// such as when updating your game build.
333//
334// Amazon GameLift supports two types of routing strategies for aliases: simple
335// and terminal. A simple alias points to an active fleet. A terminal alias
336// is used to display messaging or link to a URL instead of routing players
337// to an active fleet. For example, you might use a terminal alias when a game
338// version is no longer supported and you want to direct players to an upgrade
339// site.
340//
341// To create a fleet alias, specify an alias name, routing strategy, and optional
342// description. Each simple alias can point to only one fleet, but a fleet can
343// have multiple aliases. If successful, a new alias record is returned, including
344// an alias ID and an ARN. You can reassign an alias to another fleet by calling
345// UpdateAlias.
346//
347// Related actions
348//
349// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
350// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
351//
352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
353// with awserr.Error's Code and Message methods to get detailed information about
354// the error.
355//
356// See the AWS API reference guide for Amazon GameLift's
357// API operation CreateAlias for usage and error information.
358//
359// Returned Error Types:
360//   * UnauthorizedException
361//   The client failed authentication. Clients should not retry such requests.
362//
363//   * InvalidRequestException
364//   One or more parameter values in the request are invalid. Correct the invalid
365//   parameter values before retrying.
366//
367//   * ConflictException
368//   The requested operation would cause a conflict with the current state of
369//   a service resource associated with the request. Resolve the conflict before
370//   retrying this request.
371//
372//   * InternalServiceException
373//   The service encountered an unrecoverable internal failure while processing
374//   the request. Clients can retry such requests immediately or after a waiting
375//   period.
376//
377//   * LimitExceededException
378//   The requested operation would cause the resource to exceed the allowed service
379//   limit. Resolve the issue before retrying.
380//
381//   * TaggingFailedException
382//   The requested tagging operation did not succeed. This may be due to invalid
383//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
384//   before retrying.
385//
386// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateAlias
387func (c *GameLift) CreateAlias(input *CreateAliasInput) (*CreateAliasOutput, error) {
388	req, out := c.CreateAliasRequest(input)
389	return out, req.Send()
390}
391
392// CreateAliasWithContext is the same as CreateAlias with the addition of
393// the ability to pass a context and additional request options.
394//
395// See CreateAlias for details on how to use this API operation.
396//
397// The context must be non-nil and will be used for request cancellation. If
398// the context is nil a panic will occur. In the future the SDK may create
399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
400// for more information on using Contexts.
401func (c *GameLift) CreateAliasWithContext(ctx aws.Context, input *CreateAliasInput, opts ...request.Option) (*CreateAliasOutput, error) {
402	req, out := c.CreateAliasRequest(input)
403	req.SetContext(ctx)
404	req.ApplyOptions(opts...)
405	return out, req.Send()
406}
407
408const opCreateBuild = "CreateBuild"
409
410// CreateBuildRequest generates a "aws/request.Request" representing the
411// client's request for the CreateBuild operation. The "output" return
412// value will be populated with the request's response once the request completes
413// successfully.
414//
415// Use "Send" method on the returned Request to send the API call to the service.
416// the "output" return value is not valid until after Send returns without error.
417//
418// See CreateBuild for more information on using the CreateBuild
419// API call, and error handling.
420//
421// This method is useful when you want to inject custom logic or configuration
422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
423//
424//
425//    // Example sending a request using the CreateBuildRequest method.
426//    req, resp := client.CreateBuildRequest(params)
427//
428//    err := req.Send()
429//    if err == nil { // resp is now filled
430//        fmt.Println(resp)
431//    }
432//
433// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuild
434func (c *GameLift) CreateBuildRequest(input *CreateBuildInput) (req *request.Request, output *CreateBuildOutput) {
435	op := &request.Operation{
436		Name:       opCreateBuild,
437		HTTPMethod: "POST",
438		HTTPPath:   "/",
439	}
440
441	if input == nil {
442		input = &CreateBuildInput{}
443	}
444
445	output = &CreateBuildOutput{}
446	req = c.newRequest(op, input, output)
447	return
448}
449
450// CreateBuild API operation for Amazon GameLift.
451//
452// Creates a new Amazon GameLift build resource for your game server binary
453// files. Game server binaries must be combined into a zip file for use with
454// Amazon GameLift.
455//
456// When setting up a new game build for GameLift, we recommend using the AWS
457// CLI command upload-build (https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html)
458// . This helper command combines two tasks: (1) it uploads your build files
459// from a file directory to a GameLift Amazon S3 location, and (2) it creates
460// a new build resource.
461//
462// The CreateBuild operation can used in the following scenarios:
463//
464//    * To create a new game build with build files that are in an Amazon S3
465//    location under an AWS account that you control. To use this option, you
466//    must first give Amazon GameLift access to the Amazon S3 bucket. With permissions
467//    in place, call CreateBuild and specify a build name, operating system,
468//    and the Amazon S3 storage location of your game build.
469//
470//    * To directly upload your build files to a GameLift Amazon S3 location.
471//    To use this option, first call CreateBuild and specify a build name and
472//    operating system. This operation creates a new build resource and also
473//    returns an Amazon S3 location with temporary access credentials. Use the
474//    credentials to manually upload your build files to the specified Amazon
475//    S3 location. For more information, see Uploading Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html)
476//    in the Amazon S3 Developer Guide. Build files can be uploaded to the GameLift
477//    Amazon S3 location once only; that can't be updated.
478//
479// If successful, this operation creates a new build resource with a unique
480// build ID and places it in INITIALIZED status. A build must be in READY status
481// before you can create fleets with it.
482//
483// Learn more
484//
485// Uploading Your Game (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
486//
487//  Create a Build with Files in Amazon S3 (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build)
488//
489// Related actions
490//
491// CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
492// APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
493//
494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
495// with awserr.Error's Code and Message methods to get detailed information about
496// the error.
497//
498// See the AWS API reference guide for Amazon GameLift's
499// API operation CreateBuild for usage and error information.
500//
501// Returned Error Types:
502//   * UnauthorizedException
503//   The client failed authentication. Clients should not retry such requests.
504//
505//   * InvalidRequestException
506//   One or more parameter values in the request are invalid. Correct the invalid
507//   parameter values before retrying.
508//
509//   * ConflictException
510//   The requested operation would cause a conflict with the current state of
511//   a service resource associated with the request. Resolve the conflict before
512//   retrying this request.
513//
514//   * TaggingFailedException
515//   The requested tagging operation did not succeed. This may be due to invalid
516//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
517//   before retrying.
518//
519//   * InternalServiceException
520//   The service encountered an unrecoverable internal failure while processing
521//   the request. Clients can retry such requests immediately or after a waiting
522//   period.
523//
524// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateBuild
525func (c *GameLift) CreateBuild(input *CreateBuildInput) (*CreateBuildOutput, error) {
526	req, out := c.CreateBuildRequest(input)
527	return out, req.Send()
528}
529
530// CreateBuildWithContext is the same as CreateBuild with the addition of
531// the ability to pass a context and additional request options.
532//
533// See CreateBuild for details on how to use this API operation.
534//
535// The context must be non-nil and will be used for request cancellation. If
536// the context is nil a panic will occur. In the future the SDK may create
537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
538// for more information on using Contexts.
539func (c *GameLift) CreateBuildWithContext(ctx aws.Context, input *CreateBuildInput, opts ...request.Option) (*CreateBuildOutput, error) {
540	req, out := c.CreateBuildRequest(input)
541	req.SetContext(ctx)
542	req.ApplyOptions(opts...)
543	return out, req.Send()
544}
545
546const opCreateFleet = "CreateFleet"
547
548// CreateFleetRequest generates a "aws/request.Request" representing the
549// client's request for the CreateFleet operation. The "output" return
550// value will be populated with the request's response once the request completes
551// successfully.
552//
553// Use "Send" method on the returned Request to send the API call to the service.
554// the "output" return value is not valid until after Send returns without error.
555//
556// See CreateFleet for more information on using the CreateFleet
557// API call, and error handling.
558//
559// This method is useful when you want to inject custom logic or configuration
560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
561//
562//
563//    // Example sending a request using the CreateFleetRequest method.
564//    req, resp := client.CreateFleetRequest(params)
565//
566//    err := req.Send()
567//    if err == nil { // resp is now filled
568//        fmt.Println(resp)
569//    }
570//
571// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet
572func (c *GameLift) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
573	op := &request.Operation{
574		Name:       opCreateFleet,
575		HTTPMethod: "POST",
576		HTTPPath:   "/",
577	}
578
579	if input == nil {
580		input = &CreateFleetInput{}
581	}
582
583	output = &CreateFleetOutput{}
584	req = c.newRequest(op, input, output)
585	return
586}
587
588// CreateFleet API operation for Amazon GameLift.
589//
590// Creates a fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances to
591// host your custom game server or Realtime Servers. Use this operation to configure
592// the computing resources for your fleet and provide instructions for running
593// game servers on each instance.
594//
595// Most GameLift fleets can deploy instances to multiple locations, including
596// the home Region (where the fleet is created) and an optional set of remote
597// locations. Fleets that are created in the following AWS Regions support multiple
598// locations: us-east-1 (N. Virginia), us-west-2 (Oregon), eu-central-1 (Frankfurt),
599// eu-west-1 (Ireland), ap-southeast-2 (Sydney), ap-northeast-1 (Tokyo), and
600// ap-northeast-2 (Seoul). Fleets that are created in other GameLift Regions
601// can deploy instances in the fleet's home Region only. All fleet instances
602// use the same configuration regardless of location; however, you can adjust
603// capacity settings and turn auto-scaling on/off for each location.
604//
605// To create a fleet, choose the hardware for your instances, specify a game
606// server build or Realtime script to deploy, and provide a runtime configuration
607// to direct GameLift how to start and run game servers on each instance in
608// the fleet. Set permissions for inbound traffic to your game servers, and
609// enable optional features as needed. When creating a multi-location fleet,
610// provide a list of additional remote locations.
611//
612// If successful, this operation creates a new Fleet resource and places it
613// in NEW status, which prompts GameLift to initiate the fleet creation workflow
614// (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creation-workflow.html).
615// You can track fleet creation by checking fleet status using DescribeFleetAttributes
616// and DescribeFleetLocationAttributes/, or by monitoring fleet creation events
617// using DescribeFleetEvents. As soon as the fleet status changes to ACTIVE,
618// you can enable automatic scaling for the fleet with PutScalingPolicy and
619// set capacity for the home Region with UpdateFleetCapacity. When the status
620// of each remote location reaches ACTIVE, you can set capacity by location
621// using UpdateFleetCapacity.
622//
623// Learn more
624//
625// Setting up fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
626//
627// Debug fleet creation issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation)
628//
629// Multi-location fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
630//
631// Related actions
632//
633// CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
634// | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
635// | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
636//
637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
638// with awserr.Error's Code and Message methods to get detailed information about
639// the error.
640//
641// See the AWS API reference guide for Amazon GameLift's
642// API operation CreateFleet for usage and error information.
643//
644// Returned Error Types:
645//   * InternalServiceException
646//   The service encountered an unrecoverable internal failure while processing
647//   the request. Clients can retry such requests immediately or after a waiting
648//   period.
649//
650//   * NotFoundException
651//   A service resource associated with the request could not be found. Clients
652//   should not retry such requests.
653//
654//   * ConflictException
655//   The requested operation would cause a conflict with the current state of
656//   a service resource associated with the request. Resolve the conflict before
657//   retrying this request.
658//
659//   * LimitExceededException
660//   The requested operation would cause the resource to exceed the allowed service
661//   limit. Resolve the issue before retrying.
662//
663//   * InvalidRequestException
664//   One or more parameter values in the request are invalid. Correct the invalid
665//   parameter values before retrying.
666//
667//   * UnauthorizedException
668//   The client failed authentication. Clients should not retry such requests.
669//
670//   * TaggingFailedException
671//   The requested tagging operation did not succeed. This may be due to invalid
672//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
673//   before retrying.
674//
675//   * UnsupportedRegionException
676//   The requested operation is not supported in the Region specified.
677//
678// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet
679func (c *GameLift) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
680	req, out := c.CreateFleetRequest(input)
681	return out, req.Send()
682}
683
684// CreateFleetWithContext is the same as CreateFleet with the addition of
685// the ability to pass a context and additional request options.
686//
687// See CreateFleet for details on how to use this API operation.
688//
689// The context must be non-nil and will be used for request cancellation. If
690// the context is nil a panic will occur. In the future the SDK may create
691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
692// for more information on using Contexts.
693func (c *GameLift) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
694	req, out := c.CreateFleetRequest(input)
695	req.SetContext(ctx)
696	req.ApplyOptions(opts...)
697	return out, req.Send()
698}
699
700const opCreateFleetLocations = "CreateFleetLocations"
701
702// CreateFleetLocationsRequest generates a "aws/request.Request" representing the
703// client's request for the CreateFleetLocations operation. The "output" return
704// value will be populated with the request's response once the request completes
705// successfully.
706//
707// Use "Send" method on the returned Request to send the API call to the service.
708// the "output" return value is not valid until after Send returns without error.
709//
710// See CreateFleetLocations for more information on using the CreateFleetLocations
711// API call, and error handling.
712//
713// This method is useful when you want to inject custom logic or configuration
714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
715//
716//
717//    // Example sending a request using the CreateFleetLocationsRequest method.
718//    req, resp := client.CreateFleetLocationsRequest(params)
719//
720//    err := req.Send()
721//    if err == nil { // resp is now filled
722//        fmt.Println(resp)
723//    }
724//
725// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetLocations
726func (c *GameLift) CreateFleetLocationsRequest(input *CreateFleetLocationsInput) (req *request.Request, output *CreateFleetLocationsOutput) {
727	op := &request.Operation{
728		Name:       opCreateFleetLocations,
729		HTTPMethod: "POST",
730		HTTPPath:   "/",
731	}
732
733	if input == nil {
734		input = &CreateFleetLocationsInput{}
735	}
736
737	output = &CreateFleetLocationsOutput{}
738	req = c.newRequest(op, input, output)
739	return
740}
741
742// CreateFleetLocations API operation for Amazon GameLift.
743//
744// Adds remote locations to a fleet and begins populating the new locations
745// with EC2 instances. The new instances conform to the fleet's instance type,
746// auto-scaling, and other configuration settings.
747//
748// This operation cannot be used with fleets that don't support remote locations.
749// Fleets can have multiple locations only if they reside in AWS Regions that
750// support this feature (see CreateFleet for the complete list) and were created
751// after the feature was released in March 2021.
752//
753// To add fleet locations, specify the fleet to be updated and provide a list
754// of one or more locations.
755//
756// If successful, this operation returns the list of added locations with their
757// status set to NEW. GameLift initiates the process of starting an instance
758// in each added location. You can track the status of each new location by
759// monitoring location creation events using DescribeFleetEvents. Alternatively,
760// you can poll location status by calling DescribeFleetLocationAttributes.
761// After a location status becomes ACTIVE, you can adjust the location's capacity
762// as needed with UpdateFleetCapacity.
763//
764// Learn more
765//
766// Setting up fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
767//
768// Multi-location fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
769//
770// Related actions
771//
772// CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
773// | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
774// | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
775// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
776//
777// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
778// with awserr.Error's Code and Message methods to get detailed information about
779// the error.
780//
781// See the AWS API reference guide for Amazon GameLift's
782// API operation CreateFleetLocations for usage and error information.
783//
784// Returned Error Types:
785//   * InternalServiceException
786//   The service encountered an unrecoverable internal failure while processing
787//   the request. Clients can retry such requests immediately or after a waiting
788//   period.
789//
790//   * InvalidRequestException
791//   One or more parameter values in the request are invalid. Correct the invalid
792//   parameter values before retrying.
793//
794//   * UnauthorizedException
795//   The client failed authentication. Clients should not retry such requests.
796//
797//   * NotFoundException
798//   A service resource associated with the request could not be found. Clients
799//   should not retry such requests.
800//
801//   * InvalidFleetStatusException
802//   The requested operation would cause a conflict with the current state of
803//   a resource associated with the request and/or the fleet. Resolve the conflict
804//   before retrying.
805//
806//   * UnsupportedRegionException
807//   The requested operation is not supported in the Region specified.
808//
809// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetLocations
810func (c *GameLift) CreateFleetLocations(input *CreateFleetLocationsInput) (*CreateFleetLocationsOutput, error) {
811	req, out := c.CreateFleetLocationsRequest(input)
812	return out, req.Send()
813}
814
815// CreateFleetLocationsWithContext is the same as CreateFleetLocations with the addition of
816// the ability to pass a context and additional request options.
817//
818// See CreateFleetLocations for details on how to use this API operation.
819//
820// The context must be non-nil and will be used for request cancellation. If
821// the context is nil a panic will occur. In the future the SDK may create
822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
823// for more information on using Contexts.
824func (c *GameLift) CreateFleetLocationsWithContext(ctx aws.Context, input *CreateFleetLocationsInput, opts ...request.Option) (*CreateFleetLocationsOutput, error) {
825	req, out := c.CreateFleetLocationsRequest(input)
826	req.SetContext(ctx)
827	req.ApplyOptions(opts...)
828	return out, req.Send()
829}
830
831const opCreateGameServerGroup = "CreateGameServerGroup"
832
833// CreateGameServerGroupRequest generates a "aws/request.Request" representing the
834// client's request for the CreateGameServerGroup operation. The "output" return
835// value will be populated with the request's response once the request completes
836// successfully.
837//
838// Use "Send" method on the returned Request to send the API call to the service.
839// the "output" return value is not valid until after Send returns without error.
840//
841// See CreateGameServerGroup for more information on using the CreateGameServerGroup
842// API call, and error handling.
843//
844// This method is useful when you want to inject custom logic or configuration
845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
846//
847//
848//    // Example sending a request using the CreateGameServerGroupRequest method.
849//    req, resp := client.CreateGameServerGroupRequest(params)
850//
851//    err := req.Send()
852//    if err == nil { // resp is now filled
853//        fmt.Println(resp)
854//    }
855//
856// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameServerGroup
857func (c *GameLift) CreateGameServerGroupRequest(input *CreateGameServerGroupInput) (req *request.Request, output *CreateGameServerGroupOutput) {
858	op := &request.Operation{
859		Name:       opCreateGameServerGroup,
860		HTTPMethod: "POST",
861		HTTPPath:   "/",
862	}
863
864	if input == nil {
865		input = &CreateGameServerGroupInput{}
866	}
867
868	output = &CreateGameServerGroupOutput{}
869	req = c.newRequest(op, input, output)
870	return
871}
872
873// CreateGameServerGroup API operation for Amazon GameLift.
874//
875// This operation is used with the GameLift FleetIQ solution and game server
876// groups.
877//
878// Creates a GameLift FleetIQ game server group for managing game hosting on
879// a collection of Amazon EC2 instances for game hosting. This operation creates
880// the game server group, creates an Auto Scaling group in your AWS account,
881// and establishes a link between the two groups. You can view the status of
882// your game server groups in the GameLift console. Game server group metrics
883// and events are emitted to Amazon CloudWatch.
884//
885// Before creating a new game server group, you must have the following:
886//
887//    * An Amazon EC2 launch template that specifies how to launch Amazon EC2
888//    instances with your game server build. For more information, see Launching
889//    an Instance from a Launch Template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
890//    in the Amazon EC2 User Guide.
891//
892//    * An IAM role that extends limited access to your AWS account to allow
893//    GameLift FleetIQ to create and interact with the Auto Scaling group. For
894//    more information, see Create IAM roles for cross-service interaction (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-iam-permissions-roles.html)
895//    in the GameLift FleetIQ Developer Guide.
896//
897// To create a new game server group, specify a unique group name, IAM role
898// and Amazon EC2 launch template, and provide a list of instance types that
899// can be used in the group. You must also set initial maximum and minimum limits
900// on the group's instance count. You can optionally set an Auto Scaling policy
901// with target tracking based on a GameLift FleetIQ metric.
902//
903// Once the game server group and corresponding Auto Scaling group are created,
904// you have full access to change the Auto Scaling group's configuration as
905// needed. Several properties that are set when creating a game server group,
906// including maximum/minimum size and auto-scaling policy settings, must be
907// updated directly in the Auto Scaling group. Keep in mind that some Auto Scaling
908// group properties are periodically updated by GameLift FleetIQ as part of
909// its balancing activities to optimize for availability and cost.
910//
911// Learn more
912//
913// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
914//
915// Related actions
916//
917// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
918// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
919// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
920//
921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
922// with awserr.Error's Code and Message methods to get detailed information about
923// the error.
924//
925// See the AWS API reference guide for Amazon GameLift's
926// API operation CreateGameServerGroup for usage and error information.
927//
928// Returned Error Types:
929//   * InvalidRequestException
930//   One or more parameter values in the request are invalid. Correct the invalid
931//   parameter values before retrying.
932//
933//   * ConflictException
934//   The requested operation would cause a conflict with the current state of
935//   a service resource associated with the request. Resolve the conflict before
936//   retrying this request.
937//
938//   * UnauthorizedException
939//   The client failed authentication. Clients should not retry such requests.
940//
941//   * InternalServiceException
942//   The service encountered an unrecoverable internal failure while processing
943//   the request. Clients can retry such requests immediately or after a waiting
944//   period.
945//
946//   * LimitExceededException
947//   The requested operation would cause the resource to exceed the allowed service
948//   limit. Resolve the issue before retrying.
949//
950// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameServerGroup
951func (c *GameLift) CreateGameServerGroup(input *CreateGameServerGroupInput) (*CreateGameServerGroupOutput, error) {
952	req, out := c.CreateGameServerGroupRequest(input)
953	return out, req.Send()
954}
955
956// CreateGameServerGroupWithContext is the same as CreateGameServerGroup with the addition of
957// the ability to pass a context and additional request options.
958//
959// See CreateGameServerGroup for details on how to use this API operation.
960//
961// The context must be non-nil and will be used for request cancellation. If
962// the context is nil a panic will occur. In the future the SDK may create
963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
964// for more information on using Contexts.
965func (c *GameLift) CreateGameServerGroupWithContext(ctx aws.Context, input *CreateGameServerGroupInput, opts ...request.Option) (*CreateGameServerGroupOutput, error) {
966	req, out := c.CreateGameServerGroupRequest(input)
967	req.SetContext(ctx)
968	req.ApplyOptions(opts...)
969	return out, req.Send()
970}
971
972const opCreateGameSession = "CreateGameSession"
973
974// CreateGameSessionRequest generates a "aws/request.Request" representing the
975// client's request for the CreateGameSession operation. The "output" return
976// value will be populated with the request's response once the request completes
977// successfully.
978//
979// Use "Send" method on the returned Request to send the API call to the service.
980// the "output" return value is not valid until after Send returns without error.
981//
982// See CreateGameSession for more information on using the CreateGameSession
983// API call, and error handling.
984//
985// This method is useful when you want to inject custom logic or configuration
986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
987//
988//
989//    // Example sending a request using the CreateGameSessionRequest method.
990//    req, resp := client.CreateGameSessionRequest(params)
991//
992//    err := req.Send()
993//    if err == nil { // resp is now filled
994//        fmt.Println(resp)
995//    }
996//
997// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
998func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req *request.Request, output *CreateGameSessionOutput) {
999	op := &request.Operation{
1000		Name:       opCreateGameSession,
1001		HTTPMethod: "POST",
1002		HTTPPath:   "/",
1003	}
1004
1005	if input == nil {
1006		input = &CreateGameSessionInput{}
1007	}
1008
1009	output = &CreateGameSessionOutput{}
1010	req = c.newRequest(op, input, output)
1011	return
1012}
1013
1014// CreateGameSession API operation for Amazon GameLift.
1015//
1016// Creates a multiplayer game session for players in a specific fleet location.
1017// This operation prompts an available server process to start a game session
1018// and retrieves connection information for the new game session. As an alternative,
1019// consider using the GameLift game session placement feature with
1020//
1021// with StartGameSessionPlacement, which uses FleetIQ algorithms and queues
1022// to optimize the placement process.
1023//
1024// When creating a game session, you specify exactly where you want to place
1025// it and provide a set of game session configuration settings. The fleet must
1026// be in ACTIVE status before a game session can be created in it.
1027//
1028// This operation can be used in the following ways:
1029//
1030//    * To create a game session on an instance in a fleet's home Region, provide
1031//    a fleet or alias ID along with your game session configuration.
1032//
1033//    * To create a game session on an instance in a fleet's remote location,
1034//    provide a fleet or alias ID and a location name, along with your game
1035//    session configuration.
1036//
1037// If successful, a workflow is initiated to start a new game session. A GameSession
1038// object is returned containing the game session configuration and status.
1039// When the status is ACTIVE, game session connection information is provided
1040// and player sessions can be created for the game session. By default, newly
1041// created game sessions are open to new players. You can restrict new player
1042// access by using UpdateGameSession to change the game session's player session
1043// creation policy.
1044//
1045// Game session logs are retained for all active game sessions for 14 days.
1046// To access the logs, call GetGameSessionLogUrl to download the log files.
1047//
1048// Available in GameLift Local.
1049//
1050// Learn more
1051//
1052// Start a game session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)
1053//
1054// Related actions
1055//
1056// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
1057// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
1058// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
1059// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1060//
1061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1062// with awserr.Error's Code and Message methods to get detailed information about
1063// the error.
1064//
1065// See the AWS API reference guide for Amazon GameLift's
1066// API operation CreateGameSession for usage and error information.
1067//
1068// Returned Error Types:
1069//   * ConflictException
1070//   The requested operation would cause a conflict with the current state of
1071//   a service resource associated with the request. Resolve the conflict before
1072//   retrying this request.
1073//
1074//   * InternalServiceException
1075//   The service encountered an unrecoverable internal failure while processing
1076//   the request. Clients can retry such requests immediately or after a waiting
1077//   period.
1078//
1079//   * UnauthorizedException
1080//   The client failed authentication. Clients should not retry such requests.
1081//
1082//   * InvalidFleetStatusException
1083//   The requested operation would cause a conflict with the current state of
1084//   a resource associated with the request and/or the fleet. Resolve the conflict
1085//   before retrying.
1086//
1087//   * TerminalRoutingStrategyException
1088//   The service is unable to resolve the routing for a particular alias because
1089//   it has a terminal RoutingStrategy associated with it. The message returned
1090//   in this exception is the message defined in the routing strategy itself.
1091//   Such requests should only be retried if the routing strategy for the specified
1092//   alias is modified.
1093//
1094//   * InvalidRequestException
1095//   One or more parameter values in the request are invalid. Correct the invalid
1096//   parameter values before retrying.
1097//
1098//   * NotFoundException
1099//   A service resource associated with the request could not be found. Clients
1100//   should not retry such requests.
1101//
1102//   * FleetCapacityExceededException
1103//   The specified fleet has no available instances to fulfill a CreateGameSession
1104//   request. Clients can retry such requests immediately or after a waiting period.
1105//
1106//   * LimitExceededException
1107//   The requested operation would cause the resource to exceed the allowed service
1108//   limit. Resolve the issue before retrying.
1109//
1110//   * IdempotentParameterMismatchException
1111//   A game session with this custom ID string already exists in this fleet. Resolve
1112//   this conflict before retrying this request.
1113//
1114//   * UnsupportedRegionException
1115//   The requested operation is not supported in the Region specified.
1116//
1117// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
1118func (c *GameLift) CreateGameSession(input *CreateGameSessionInput) (*CreateGameSessionOutput, error) {
1119	req, out := c.CreateGameSessionRequest(input)
1120	return out, req.Send()
1121}
1122
1123// CreateGameSessionWithContext is the same as CreateGameSession with the addition of
1124// the ability to pass a context and additional request options.
1125//
1126// See CreateGameSession for details on how to use this API operation.
1127//
1128// The context must be non-nil and will be used for request cancellation. If
1129// the context is nil a panic will occur. In the future the SDK may create
1130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1131// for more information on using Contexts.
1132func (c *GameLift) CreateGameSessionWithContext(ctx aws.Context, input *CreateGameSessionInput, opts ...request.Option) (*CreateGameSessionOutput, error) {
1133	req, out := c.CreateGameSessionRequest(input)
1134	req.SetContext(ctx)
1135	req.ApplyOptions(opts...)
1136	return out, req.Send()
1137}
1138
1139const opCreateGameSessionQueue = "CreateGameSessionQueue"
1140
1141// CreateGameSessionQueueRequest generates a "aws/request.Request" representing the
1142// client's request for the CreateGameSessionQueue operation. The "output" return
1143// value will be populated with the request's response once the request completes
1144// successfully.
1145//
1146// Use "Send" method on the returned Request to send the API call to the service.
1147// the "output" return value is not valid until after Send returns without error.
1148//
1149// See CreateGameSessionQueue for more information on using the CreateGameSessionQueue
1150// API call, and error handling.
1151//
1152// This method is useful when you want to inject custom logic or configuration
1153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1154//
1155//
1156//    // Example sending a request using the CreateGameSessionQueueRequest method.
1157//    req, resp := client.CreateGameSessionQueueRequest(params)
1158//
1159//    err := req.Send()
1160//    if err == nil { // resp is now filled
1161//        fmt.Println(resp)
1162//    }
1163//
1164// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
1165func (c *GameLift) CreateGameSessionQueueRequest(input *CreateGameSessionQueueInput) (req *request.Request, output *CreateGameSessionQueueOutput) {
1166	op := &request.Operation{
1167		Name:       opCreateGameSessionQueue,
1168		HTTPMethod: "POST",
1169		HTTPPath:   "/",
1170	}
1171
1172	if input == nil {
1173		input = &CreateGameSessionQueueInput{}
1174	}
1175
1176	output = &CreateGameSessionQueueOutput{}
1177	req = c.newRequest(op, input, output)
1178	return
1179}
1180
1181// CreateGameSessionQueue API operation for Amazon GameLift.
1182//
1183// Creates a placement queue that processes requests for new game sessions.
1184// A queue uses FleetIQ algorithms to determine the best placement locations
1185// and find an available game server there, then prompts the game server process
1186// to start a new game session.
1187//
1188// A game session queue is configured with a set of destinations (GameLift fleets
1189// or aliases), which determine the locations where the queue can place new
1190// game sessions. These destinations can span multiple fleet types (Spot and
1191// On-Demand), instance types, and AWS Regions. If the queue includes multi-location
1192// fleets, the queue is able to place game sessions in all of a fleet's remote
1193// locations. You can opt to filter out individual locations if needed.
1194//
1195// The queue configuration also determines how FleetIQ selects the best available
1196// placement for a new game session. Before searching for an available game
1197// server, FleetIQ first prioritizes the queue's destinations and locations,
1198// with the best placement locations on top. You can set up the queue to use
1199// the FleetIQ default prioritization or provide an alternate set of priorities.
1200//
1201// To create a new queue, provide a name, timeout value, and a list of destinations.
1202// Optionally, specify a sort configuration and/or a filter, and define a set
1203// of latency cap policies. You can also include the ARN for an Amazon Simple
1204// Notification Service (SNS) topic to receive notifications of game session
1205// placement activity. Notifications using SNS or CloudWatch events is the preferred
1206// way to track placement activity.
1207//
1208// If successful, a new GameSessionQueue object is returned with an assigned
1209// queue ARN. New game session requests, which are submitted to the queue with
1210// StartGameSessionPlacement or StartMatchmaking, reference a queue's name or
1211// ARN.
1212//
1213// Learn more
1214//
1215//  Design a game session queue (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-design.html)
1216//
1217//  Create a game session queue (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-creating.html)
1218//
1219// Related actions
1220//
1221// CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
1222// | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1223//
1224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1225// with awserr.Error's Code and Message methods to get detailed information about
1226// the error.
1227//
1228// See the AWS API reference guide for Amazon GameLift's
1229// API operation CreateGameSessionQueue for usage and error information.
1230//
1231// Returned Error Types:
1232//   * InternalServiceException
1233//   The service encountered an unrecoverable internal failure while processing
1234//   the request. Clients can retry such requests immediately or after a waiting
1235//   period.
1236//
1237//   * InvalidRequestException
1238//   One or more parameter values in the request are invalid. Correct the invalid
1239//   parameter values before retrying.
1240//
1241//   * UnauthorizedException
1242//   The client failed authentication. Clients should not retry such requests.
1243//
1244//   * LimitExceededException
1245//   The requested operation would cause the resource to exceed the allowed service
1246//   limit. Resolve the issue before retrying.
1247//
1248//   * NotFoundException
1249//   A service resource associated with the request could not be found. Clients
1250//   should not retry such requests.
1251//
1252//   * TaggingFailedException
1253//   The requested tagging operation did not succeed. This may be due to invalid
1254//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
1255//   before retrying.
1256//
1257// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
1258func (c *GameLift) CreateGameSessionQueue(input *CreateGameSessionQueueInput) (*CreateGameSessionQueueOutput, error) {
1259	req, out := c.CreateGameSessionQueueRequest(input)
1260	return out, req.Send()
1261}
1262
1263// CreateGameSessionQueueWithContext is the same as CreateGameSessionQueue with the addition of
1264// the ability to pass a context and additional request options.
1265//
1266// See CreateGameSessionQueue for details on how to use this API operation.
1267//
1268// The context must be non-nil and will be used for request cancellation. If
1269// the context is nil a panic will occur. In the future the SDK may create
1270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1271// for more information on using Contexts.
1272func (c *GameLift) CreateGameSessionQueueWithContext(ctx aws.Context, input *CreateGameSessionQueueInput, opts ...request.Option) (*CreateGameSessionQueueOutput, error) {
1273	req, out := c.CreateGameSessionQueueRequest(input)
1274	req.SetContext(ctx)
1275	req.ApplyOptions(opts...)
1276	return out, req.Send()
1277}
1278
1279const opCreateMatchmakingConfiguration = "CreateMatchmakingConfiguration"
1280
1281// CreateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
1282// client's request for the CreateMatchmakingConfiguration operation. The "output" return
1283// value will be populated with the request's response once the request completes
1284// successfully.
1285//
1286// Use "Send" method on the returned Request to send the API call to the service.
1287// the "output" return value is not valid until after Send returns without error.
1288//
1289// See CreateMatchmakingConfiguration for more information on using the CreateMatchmakingConfiguration
1290// API call, and error handling.
1291//
1292// This method is useful when you want to inject custom logic or configuration
1293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1294//
1295//
1296//    // Example sending a request using the CreateMatchmakingConfigurationRequest method.
1297//    req, resp := client.CreateMatchmakingConfigurationRequest(params)
1298//
1299//    err := req.Send()
1300//    if err == nil { // resp is now filled
1301//        fmt.Println(resp)
1302//    }
1303//
1304// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
1305func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakingConfigurationInput) (req *request.Request, output *CreateMatchmakingConfigurationOutput) {
1306	op := &request.Operation{
1307		Name:       opCreateMatchmakingConfiguration,
1308		HTTPMethod: "POST",
1309		HTTPPath:   "/",
1310	}
1311
1312	if input == nil {
1313		input = &CreateMatchmakingConfigurationInput{}
1314	}
1315
1316	output = &CreateMatchmakingConfigurationOutput{}
1317	req = c.newRequest(op, input, output)
1318	return
1319}
1320
1321// CreateMatchmakingConfiguration API operation for Amazon GameLift.
1322//
1323// Defines a new matchmaking configuration for use with FlexMatch. Whether your
1324// are using FlexMatch with GameLift hosting or as a standalone matchmaking
1325// service, the matchmaking configuration sets out rules for matching players
1326// and forming teams. If you're also using GameLift hosting, it defines how
1327// to start game sessions for each match. Your matchmaking system can use multiple
1328// configurations to handle different game scenarios. All matchmaking requests
1329// (StartMatchmaking or StartMatchBackfill) identify the matchmaking configuration
1330// to use and provide player attributes consistent with that configuration.
1331//
1332// To create a matchmaking configuration, you must provide the following: configuration
1333// name and FlexMatch mode (with or without GameLift hosting); a rule set that
1334// specifies how to evaluate players and find acceptable matches; whether player
1335// acceptance is required; and the maximum time allowed for a matchmaking attempt.
1336// When using FlexMatch with GameLift hosting, you also need to identify the
1337// game session queue to use when starting a game session for the match.
1338//
1339// In addition, you must set up an Amazon Simple Notification Service (SNS)
1340// topic to receive matchmaking notifications. Provide the topic ARN in the
1341// matchmaking configuration. An alternative method, continuously polling ticket
1342// status with DescribeMatchmaking, is only suitable for games in development
1343// with low matchmaking usage.
1344//
1345// Learn more
1346//
1347//  Design a FlexMatch matchmaker (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html)
1348//
1349//  Set up FlexMatch event notification (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
1350//
1351// Related actions
1352//
1353// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
1354// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
1355// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
1356// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1357//
1358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1359// with awserr.Error's Code and Message methods to get detailed information about
1360// the error.
1361//
1362// See the AWS API reference guide for Amazon GameLift's
1363// API operation CreateMatchmakingConfiguration for usage and error information.
1364//
1365// Returned Error Types:
1366//   * InvalidRequestException
1367//   One or more parameter values in the request are invalid. Correct the invalid
1368//   parameter values before retrying.
1369//
1370//   * LimitExceededException
1371//   The requested operation would cause the resource to exceed the allowed service
1372//   limit. Resolve the issue before retrying.
1373//
1374//   * NotFoundException
1375//   A service resource associated with the request could not be found. Clients
1376//   should not retry such requests.
1377//
1378//   * InternalServiceException
1379//   The service encountered an unrecoverable internal failure while processing
1380//   the request. Clients can retry such requests immediately or after a waiting
1381//   period.
1382//
1383//   * UnsupportedRegionException
1384//   The requested operation is not supported in the Region specified.
1385//
1386//   * TaggingFailedException
1387//   The requested tagging operation did not succeed. This may be due to invalid
1388//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
1389//   before retrying.
1390//
1391// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
1392func (c *GameLift) CreateMatchmakingConfiguration(input *CreateMatchmakingConfigurationInput) (*CreateMatchmakingConfigurationOutput, error) {
1393	req, out := c.CreateMatchmakingConfigurationRequest(input)
1394	return out, req.Send()
1395}
1396
1397// CreateMatchmakingConfigurationWithContext is the same as CreateMatchmakingConfiguration with the addition of
1398// the ability to pass a context and additional request options.
1399//
1400// See CreateMatchmakingConfiguration for details on how to use this API operation.
1401//
1402// The context must be non-nil and will be used for request cancellation. If
1403// the context is nil a panic will occur. In the future the SDK may create
1404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1405// for more information on using Contexts.
1406func (c *GameLift) CreateMatchmakingConfigurationWithContext(ctx aws.Context, input *CreateMatchmakingConfigurationInput, opts ...request.Option) (*CreateMatchmakingConfigurationOutput, error) {
1407	req, out := c.CreateMatchmakingConfigurationRequest(input)
1408	req.SetContext(ctx)
1409	req.ApplyOptions(opts...)
1410	return out, req.Send()
1411}
1412
1413const opCreateMatchmakingRuleSet = "CreateMatchmakingRuleSet"
1414
1415// CreateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
1416// client's request for the CreateMatchmakingRuleSet operation. The "output" return
1417// value will be populated with the request's response once the request completes
1418// successfully.
1419//
1420// Use "Send" method on the returned Request to send the API call to the service.
1421// the "output" return value is not valid until after Send returns without error.
1422//
1423// See CreateMatchmakingRuleSet for more information on using the CreateMatchmakingRuleSet
1424// API call, and error handling.
1425//
1426// This method is useful when you want to inject custom logic or configuration
1427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1428//
1429//
1430//    // Example sending a request using the CreateMatchmakingRuleSetRequest method.
1431//    req, resp := client.CreateMatchmakingRuleSetRequest(params)
1432//
1433//    err := req.Send()
1434//    if err == nil { // resp is now filled
1435//        fmt.Println(resp)
1436//    }
1437//
1438// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
1439func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleSetInput) (req *request.Request, output *CreateMatchmakingRuleSetOutput) {
1440	op := &request.Operation{
1441		Name:       opCreateMatchmakingRuleSet,
1442		HTTPMethod: "POST",
1443		HTTPPath:   "/",
1444	}
1445
1446	if input == nil {
1447		input = &CreateMatchmakingRuleSetInput{}
1448	}
1449
1450	output = &CreateMatchmakingRuleSetOutput{}
1451	req = c.newRequest(op, input, output)
1452	return
1453}
1454
1455// CreateMatchmakingRuleSet API operation for Amazon GameLift.
1456//
1457// Creates a new rule set for FlexMatch matchmaking. A rule set describes the
1458// type of match to create, such as the number and size of teams. It also sets
1459// the parameters for acceptable player matches, such as minimum skill level
1460// or character type. A rule set is used by a MatchmakingConfiguration.
1461//
1462// To create a matchmaking rule set, provide unique rule set name and the rule
1463// set body in JSON format. Rule sets must be defined in the same Region as
1464// the matchmaking configuration they are used with.
1465//
1466// Since matchmaking rule sets cannot be edited, it is a good idea to check
1467// the rule set syntax using ValidateMatchmakingRuleSet before creating a new
1468// rule set.
1469//
1470// Learn more
1471//
1472//    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
1473//
1474//    * Design a matchmaker (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html)
1475//
1476//    * Matchmaking with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-intro.html)
1477//
1478// Related actions
1479//
1480// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
1481// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
1482// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
1483// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1484//
1485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1486// with awserr.Error's Code and Message methods to get detailed information about
1487// the error.
1488//
1489// See the AWS API reference guide for Amazon GameLift's
1490// API operation CreateMatchmakingRuleSet for usage and error information.
1491//
1492// Returned Error Types:
1493//   * InvalidRequestException
1494//   One or more parameter values in the request are invalid. Correct the invalid
1495//   parameter values before retrying.
1496//
1497//   * InternalServiceException
1498//   The service encountered an unrecoverable internal failure while processing
1499//   the request. Clients can retry such requests immediately or after a waiting
1500//   period.
1501//
1502//   * UnsupportedRegionException
1503//   The requested operation is not supported in the Region specified.
1504//
1505//   * TaggingFailedException
1506//   The requested tagging operation did not succeed. This may be due to invalid
1507//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
1508//   before retrying.
1509//
1510// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
1511func (c *GameLift) CreateMatchmakingRuleSet(input *CreateMatchmakingRuleSetInput) (*CreateMatchmakingRuleSetOutput, error) {
1512	req, out := c.CreateMatchmakingRuleSetRequest(input)
1513	return out, req.Send()
1514}
1515
1516// CreateMatchmakingRuleSetWithContext is the same as CreateMatchmakingRuleSet with the addition of
1517// the ability to pass a context and additional request options.
1518//
1519// See CreateMatchmakingRuleSet for details on how to use this API operation.
1520//
1521// The context must be non-nil and will be used for request cancellation. If
1522// the context is nil a panic will occur. In the future the SDK may create
1523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1524// for more information on using Contexts.
1525func (c *GameLift) CreateMatchmakingRuleSetWithContext(ctx aws.Context, input *CreateMatchmakingRuleSetInput, opts ...request.Option) (*CreateMatchmakingRuleSetOutput, error) {
1526	req, out := c.CreateMatchmakingRuleSetRequest(input)
1527	req.SetContext(ctx)
1528	req.ApplyOptions(opts...)
1529	return out, req.Send()
1530}
1531
1532const opCreatePlayerSession = "CreatePlayerSession"
1533
1534// CreatePlayerSessionRequest generates a "aws/request.Request" representing the
1535// client's request for the CreatePlayerSession operation. The "output" return
1536// value will be populated with the request's response once the request completes
1537// successfully.
1538//
1539// Use "Send" method on the returned Request to send the API call to the service.
1540// the "output" return value is not valid until after Send returns without error.
1541//
1542// See CreatePlayerSession for more information on using the CreatePlayerSession
1543// API call, and error handling.
1544//
1545// This method is useful when you want to inject custom logic or configuration
1546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1547//
1548//
1549//    // Example sending a request using the CreatePlayerSessionRequest method.
1550//    req, resp := client.CreatePlayerSessionRequest(params)
1551//
1552//    err := req.Send()
1553//    if err == nil { // resp is now filled
1554//        fmt.Println(resp)
1555//    }
1556//
1557// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
1558func (c *GameLift) CreatePlayerSessionRequest(input *CreatePlayerSessionInput) (req *request.Request, output *CreatePlayerSessionOutput) {
1559	op := &request.Operation{
1560		Name:       opCreatePlayerSession,
1561		HTTPMethod: "POST",
1562		HTTPPath:   "/",
1563	}
1564
1565	if input == nil {
1566		input = &CreatePlayerSessionInput{}
1567	}
1568
1569	output = &CreatePlayerSessionOutput{}
1570	req = c.newRequest(op, input, output)
1571	return
1572}
1573
1574// CreatePlayerSession API operation for Amazon GameLift.
1575//
1576// Reserves an open player slot in a game session for a player. New player sessions
1577// can be created in any game session with an open slot that is in ACTIVE status
1578// and has a player creation policy of ACCEPT_ALL. You can add a group of players
1579// to a game session with CreatePlayerSessions.
1580//
1581// To create a player session, specify a game session ID, player ID, and optionally
1582// a set of player data.
1583//
1584// If successful, a slot is reserved in the game session for the player and
1585// a new PlayerSession object is returned with a player session ID. The player
1586// references the player session ID when sending a connection request to the
1587// game session, and the game server can use it to validate the player reservation
1588// with the GameLift service. Player sessions cannot be updated.
1589//
1590// Available in Amazon GameLift Local.
1591//
1592// Related actions
1593//
1594// CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
1595// | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1596//
1597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1598// with awserr.Error's Code and Message methods to get detailed information about
1599// the error.
1600//
1601// See the AWS API reference guide for Amazon GameLift's
1602// API operation CreatePlayerSession for usage and error information.
1603//
1604// Returned Error Types:
1605//   * InternalServiceException
1606//   The service encountered an unrecoverable internal failure while processing
1607//   the request. Clients can retry such requests immediately or after a waiting
1608//   period.
1609//
1610//   * UnauthorizedException
1611//   The client failed authentication. Clients should not retry such requests.
1612//
1613//   * InvalidGameSessionStatusException
1614//   The requested operation would cause a conflict with the current state of
1615//   a resource associated with the request and/or the game instance. Resolve
1616//   the conflict before retrying.
1617//
1618//   * GameSessionFullException
1619//   The game instance is currently full and cannot allow the requested player(s)
1620//   to join. Clients can retry such requests immediately or after a waiting period.
1621//
1622//   * TerminalRoutingStrategyException
1623//   The service is unable to resolve the routing for a particular alias because
1624//   it has a terminal RoutingStrategy associated with it. The message returned
1625//   in this exception is the message defined in the routing strategy itself.
1626//   Such requests should only be retried if the routing strategy for the specified
1627//   alias is modified.
1628//
1629//   * InvalidRequestException
1630//   One or more parameter values in the request are invalid. Correct the invalid
1631//   parameter values before retrying.
1632//
1633//   * NotFoundException
1634//   A service resource associated with the request could not be found. Clients
1635//   should not retry such requests.
1636//
1637// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
1638func (c *GameLift) CreatePlayerSession(input *CreatePlayerSessionInput) (*CreatePlayerSessionOutput, error) {
1639	req, out := c.CreatePlayerSessionRequest(input)
1640	return out, req.Send()
1641}
1642
1643// CreatePlayerSessionWithContext is the same as CreatePlayerSession with the addition of
1644// the ability to pass a context and additional request options.
1645//
1646// See CreatePlayerSession for details on how to use this API operation.
1647//
1648// The context must be non-nil and will be used for request cancellation. If
1649// the context is nil a panic will occur. In the future the SDK may create
1650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1651// for more information on using Contexts.
1652func (c *GameLift) CreatePlayerSessionWithContext(ctx aws.Context, input *CreatePlayerSessionInput, opts ...request.Option) (*CreatePlayerSessionOutput, error) {
1653	req, out := c.CreatePlayerSessionRequest(input)
1654	req.SetContext(ctx)
1655	req.ApplyOptions(opts...)
1656	return out, req.Send()
1657}
1658
1659const opCreatePlayerSessions = "CreatePlayerSessions"
1660
1661// CreatePlayerSessionsRequest generates a "aws/request.Request" representing the
1662// client's request for the CreatePlayerSessions operation. The "output" return
1663// value will be populated with the request's response once the request completes
1664// successfully.
1665//
1666// Use "Send" method on the returned Request to send the API call to the service.
1667// the "output" return value is not valid until after Send returns without error.
1668//
1669// See CreatePlayerSessions for more information on using the CreatePlayerSessions
1670// API call, and error handling.
1671//
1672// This method is useful when you want to inject custom logic or configuration
1673// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1674//
1675//
1676//    // Example sending a request using the CreatePlayerSessionsRequest method.
1677//    req, resp := client.CreatePlayerSessionsRequest(params)
1678//
1679//    err := req.Send()
1680//    if err == nil { // resp is now filled
1681//        fmt.Println(resp)
1682//    }
1683//
1684// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
1685func (c *GameLift) CreatePlayerSessionsRequest(input *CreatePlayerSessionsInput) (req *request.Request, output *CreatePlayerSessionsOutput) {
1686	op := &request.Operation{
1687		Name:       opCreatePlayerSessions,
1688		HTTPMethod: "POST",
1689		HTTPPath:   "/",
1690	}
1691
1692	if input == nil {
1693		input = &CreatePlayerSessionsInput{}
1694	}
1695
1696	output = &CreatePlayerSessionsOutput{}
1697	req = c.newRequest(op, input, output)
1698	return
1699}
1700
1701// CreatePlayerSessions API operation for Amazon GameLift.
1702//
1703// Reserves open slots in a game session for a group of players. New player
1704// sessions can be created in any game session with an open slot that is in
1705// ACTIVE status and has a player creation policy of ACCEPT_ALL. To add a single
1706// player to a game session, use CreatePlayerSession.
1707//
1708// To create player sessions, specify a game session ID and a list of player
1709// IDs. Optionally, provide a set of player data for each player ID.
1710//
1711// If successful, a slot is reserved in the game session for each player, and
1712// new PlayerSession objects are returned with player session IDs. Each player
1713// references their player session ID when sending a connection request to the
1714// game session, and the game server can use it to validate the player reservation
1715// with the GameLift service. Player sessions cannot be updated.
1716//
1717// Available in Amazon GameLift Local.
1718//
1719// Related actions
1720//
1721// CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
1722// | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1723//
1724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1725// with awserr.Error's Code and Message methods to get detailed information about
1726// the error.
1727//
1728// See the AWS API reference guide for Amazon GameLift's
1729// API operation CreatePlayerSessions for usage and error information.
1730//
1731// Returned Error Types:
1732//   * InternalServiceException
1733//   The service encountered an unrecoverable internal failure while processing
1734//   the request. Clients can retry such requests immediately or after a waiting
1735//   period.
1736//
1737//   * UnauthorizedException
1738//   The client failed authentication. Clients should not retry such requests.
1739//
1740//   * InvalidGameSessionStatusException
1741//   The requested operation would cause a conflict with the current state of
1742//   a resource associated with the request and/or the game instance. Resolve
1743//   the conflict before retrying.
1744//
1745//   * GameSessionFullException
1746//   The game instance is currently full and cannot allow the requested player(s)
1747//   to join. Clients can retry such requests immediately or after a waiting period.
1748//
1749//   * TerminalRoutingStrategyException
1750//   The service is unable to resolve the routing for a particular alias because
1751//   it has a terminal RoutingStrategy associated with it. The message returned
1752//   in this exception is the message defined in the routing strategy itself.
1753//   Such requests should only be retried if the routing strategy for the specified
1754//   alias is modified.
1755//
1756//   * InvalidRequestException
1757//   One or more parameter values in the request are invalid. Correct the invalid
1758//   parameter values before retrying.
1759//
1760//   * NotFoundException
1761//   A service resource associated with the request could not be found. Clients
1762//   should not retry such requests.
1763//
1764// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
1765func (c *GameLift) CreatePlayerSessions(input *CreatePlayerSessionsInput) (*CreatePlayerSessionsOutput, error) {
1766	req, out := c.CreatePlayerSessionsRequest(input)
1767	return out, req.Send()
1768}
1769
1770// CreatePlayerSessionsWithContext is the same as CreatePlayerSessions with the addition of
1771// the ability to pass a context and additional request options.
1772//
1773// See CreatePlayerSessions for details on how to use this API operation.
1774//
1775// The context must be non-nil and will be used for request cancellation. If
1776// the context is nil a panic will occur. In the future the SDK may create
1777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1778// for more information on using Contexts.
1779func (c *GameLift) CreatePlayerSessionsWithContext(ctx aws.Context, input *CreatePlayerSessionsInput, opts ...request.Option) (*CreatePlayerSessionsOutput, error) {
1780	req, out := c.CreatePlayerSessionsRequest(input)
1781	req.SetContext(ctx)
1782	req.ApplyOptions(opts...)
1783	return out, req.Send()
1784}
1785
1786const opCreateScript = "CreateScript"
1787
1788// CreateScriptRequest generates a "aws/request.Request" representing the
1789// client's request for the CreateScript operation. The "output" return
1790// value will be populated with the request's response once the request completes
1791// successfully.
1792//
1793// Use "Send" method on the returned Request to send the API call to the service.
1794// the "output" return value is not valid until after Send returns without error.
1795//
1796// See CreateScript for more information on using the CreateScript
1797// API call, and error handling.
1798//
1799// This method is useful when you want to inject custom logic or configuration
1800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1801//
1802//
1803//    // Example sending a request using the CreateScriptRequest method.
1804//    req, resp := client.CreateScriptRequest(params)
1805//
1806//    err := req.Send()
1807//    if err == nil { // resp is now filled
1808//        fmt.Println(resp)
1809//    }
1810//
1811// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateScript
1812func (c *GameLift) CreateScriptRequest(input *CreateScriptInput) (req *request.Request, output *CreateScriptOutput) {
1813	op := &request.Operation{
1814		Name:       opCreateScript,
1815		HTTPMethod: "POST",
1816		HTTPPath:   "/",
1817	}
1818
1819	if input == nil {
1820		input = &CreateScriptInput{}
1821	}
1822
1823	output = &CreateScriptOutput{}
1824	req = c.newRequest(op, input, output)
1825	return
1826}
1827
1828// CreateScript API operation for Amazon GameLift.
1829//
1830// Creates a new script record for your Realtime Servers script. Realtime scripts
1831// are JavaScript that provide configuration settings and optional custom game
1832// logic for your game. The script is deployed when you create a Realtime Servers
1833// fleet to host your game sessions. Script logic is executed during an active
1834// game session.
1835//
1836// To create a new script record, specify a script name and provide the script
1837// file(s). The script files and all dependencies must be zipped into a single
1838// file. You can pull the zip file from either of these locations:
1839//
1840//    * A locally available directory. Use the ZipFile parameter for this option.
1841//
1842//    * An Amazon Simple Storage Service (Amazon S3) bucket under your AWS account.
1843//    Use the StorageLocation parameter for this option. You'll need to have
1844//    an Identity Access Management (IAM) role that allows the Amazon GameLift
1845//    service to access your S3 bucket.
1846//
1847// If the call is successful, a new script record is created with a unique script
1848// ID. If the script file is provided as a local file, the file is uploaded
1849// to an Amazon GameLift-owned S3 bucket and the script record's storage location
1850// reflects this location. If the script file is provided as an S3 bucket, Amazon
1851// GameLift accesses the file at this storage location as needed for deployment.
1852//
1853// Learn more
1854//
1855// Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
1856//
1857// Set Up a Role for Amazon GameLift Access (https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html)
1858//
1859// Related actions
1860//
1861// CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
1862// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1863//
1864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1865// with awserr.Error's Code and Message methods to get detailed information about
1866// the error.
1867//
1868// See the AWS API reference guide for Amazon GameLift's
1869// API operation CreateScript for usage and error information.
1870//
1871// Returned Error Types:
1872//   * UnauthorizedException
1873//   The client failed authentication. Clients should not retry such requests.
1874//
1875//   * InvalidRequestException
1876//   One or more parameter values in the request are invalid. Correct the invalid
1877//   parameter values before retrying.
1878//
1879//   * ConflictException
1880//   The requested operation would cause a conflict with the current state of
1881//   a service resource associated with the request. Resolve the conflict before
1882//   retrying this request.
1883//
1884//   * TaggingFailedException
1885//   The requested tagging operation did not succeed. This may be due to invalid
1886//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
1887//   before retrying.
1888//
1889//   * 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// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateScript
1895func (c *GameLift) CreateScript(input *CreateScriptInput) (*CreateScriptOutput, error) {
1896	req, out := c.CreateScriptRequest(input)
1897	return out, req.Send()
1898}
1899
1900// CreateScriptWithContext is the same as CreateScript with the addition of
1901// the ability to pass a context and additional request options.
1902//
1903// See CreateScript for details on how to use this API operation.
1904//
1905// The context must be non-nil and will be used for request cancellation. If
1906// the context is nil a panic will occur. In the future the SDK may create
1907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1908// for more information on using Contexts.
1909func (c *GameLift) CreateScriptWithContext(ctx aws.Context, input *CreateScriptInput, opts ...request.Option) (*CreateScriptOutput, error) {
1910	req, out := c.CreateScriptRequest(input)
1911	req.SetContext(ctx)
1912	req.ApplyOptions(opts...)
1913	return out, req.Send()
1914}
1915
1916const opCreateVpcPeeringAuthorization = "CreateVpcPeeringAuthorization"
1917
1918// CreateVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
1919// client's request for the CreateVpcPeeringAuthorization operation. The "output" return
1920// value will be populated with the request's response once the request completes
1921// successfully.
1922//
1923// Use "Send" method on the returned Request to send the API call to the service.
1924// the "output" return value is not valid until after Send returns without error.
1925//
1926// See CreateVpcPeeringAuthorization for more information on using the CreateVpcPeeringAuthorization
1927// API call, and error handling.
1928//
1929// This method is useful when you want to inject custom logic or configuration
1930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1931//
1932//
1933//    // Example sending a request using the CreateVpcPeeringAuthorizationRequest method.
1934//    req, resp := client.CreateVpcPeeringAuthorizationRequest(params)
1935//
1936//    err := req.Send()
1937//    if err == nil { // resp is now filled
1938//        fmt.Println(resp)
1939//    }
1940//
1941// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
1942func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringAuthorizationInput) (req *request.Request, output *CreateVpcPeeringAuthorizationOutput) {
1943	op := &request.Operation{
1944		Name:       opCreateVpcPeeringAuthorization,
1945		HTTPMethod: "POST",
1946		HTTPPath:   "/",
1947	}
1948
1949	if input == nil {
1950		input = &CreateVpcPeeringAuthorizationInput{}
1951	}
1952
1953	output = &CreateVpcPeeringAuthorizationOutput{}
1954	req = c.newRequest(op, input, output)
1955	return
1956}
1957
1958// CreateVpcPeeringAuthorization API operation for Amazon GameLift.
1959//
1960// Requests authorization to create or delete a peer connection between the
1961// VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your
1962// AWS account. VPC peering enables the game servers on your fleet to communicate
1963// directly with other AWS resources. Once you've received authorization, call
1964// CreateVpcPeeringConnection to establish the peering connection. For more
1965// information, see VPC Peering with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
1966//
1967// You can peer with VPCs that are owned by any AWS account you have access
1968// to, including the account that you use to manage your Amazon GameLift fleets.
1969// You cannot peer with VPCs that are in different Regions.
1970//
1971// To request authorization to create a connection, call this operation from
1972// the AWS account with the VPC that you want to peer to your Amazon GameLift
1973// fleet. For example, to enable your game servers to retrieve data from a DynamoDB
1974// table, use the account that manages that DynamoDB resource. Identify the
1975// following values: (1) The ID of the VPC that you want to peer with, and (2)
1976// the ID of the AWS account that you use to manage Amazon GameLift. If successful,
1977// VPC peering is authorized for the specified VPC.
1978//
1979// To request authorization to delete a connection, call this operation from
1980// the AWS account with the VPC that is peered with your Amazon GameLift fleet.
1981// Identify the following values: (1) VPC ID that you want to delete the peering
1982// connection for, and (2) ID of the AWS account that you use to manage Amazon
1983// GameLift.
1984//
1985// The authorization remains valid for 24 hours unless it is canceled by a call
1986// to DeleteVpcPeeringAuthorization. You must create or delete the peering connection
1987// while the authorization is valid.
1988//
1989// Related actions
1990//
1991// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
1992// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
1993// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
1994//
1995// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1996// with awserr.Error's Code and Message methods to get detailed information about
1997// the error.
1998//
1999// See the AWS API reference guide for Amazon GameLift's
2000// API operation CreateVpcPeeringAuthorization for usage and error information.
2001//
2002// Returned Error Types:
2003//   * UnauthorizedException
2004//   The client failed authentication. Clients should not retry such requests.
2005//
2006//   * InvalidRequestException
2007//   One or more parameter values in the request are invalid. Correct the invalid
2008//   parameter values before retrying.
2009//
2010//   * NotFoundException
2011//   A service resource associated with the request could not be found. Clients
2012//   should not retry such requests.
2013//
2014//   * InternalServiceException
2015//   The service encountered an unrecoverable internal failure while processing
2016//   the request. Clients can retry such requests immediately or after a waiting
2017//   period.
2018//
2019// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
2020func (c *GameLift) CreateVpcPeeringAuthorization(input *CreateVpcPeeringAuthorizationInput) (*CreateVpcPeeringAuthorizationOutput, error) {
2021	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
2022	return out, req.Send()
2023}
2024
2025// CreateVpcPeeringAuthorizationWithContext is the same as CreateVpcPeeringAuthorization with the addition of
2026// the ability to pass a context and additional request options.
2027//
2028// See CreateVpcPeeringAuthorization for details on how to use this API operation.
2029//
2030// The context must be non-nil and will be used for request cancellation. If
2031// the context is nil a panic will occur. In the future the SDK may create
2032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2033// for more information on using Contexts.
2034func (c *GameLift) CreateVpcPeeringAuthorizationWithContext(ctx aws.Context, input *CreateVpcPeeringAuthorizationInput, opts ...request.Option) (*CreateVpcPeeringAuthorizationOutput, error) {
2035	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
2036	req.SetContext(ctx)
2037	req.ApplyOptions(opts...)
2038	return out, req.Send()
2039}
2040
2041const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
2042
2043// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
2044// client's request for the CreateVpcPeeringConnection operation. The "output" return
2045// value will be populated with the request's response once the request completes
2046// successfully.
2047//
2048// Use "Send" method on the returned Request to send the API call to the service.
2049// the "output" return value is not valid until after Send returns without error.
2050//
2051// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
2052// API call, and error handling.
2053//
2054// This method is useful when you want to inject custom logic or configuration
2055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2056//
2057//
2058//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
2059//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
2060//
2061//    err := req.Send()
2062//    if err == nil { // resp is now filled
2063//        fmt.Println(resp)
2064//    }
2065//
2066// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
2067func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
2068	op := &request.Operation{
2069		Name:       opCreateVpcPeeringConnection,
2070		HTTPMethod: "POST",
2071		HTTPPath:   "/",
2072	}
2073
2074	if input == nil {
2075		input = &CreateVpcPeeringConnectionInput{}
2076	}
2077
2078	output = &CreateVpcPeeringConnectionOutput{}
2079	req = c.newRequest(op, input, output)
2080	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2081	return
2082}
2083
2084// CreateVpcPeeringConnection API operation for Amazon GameLift.
2085//
2086// Establishes a VPC peering connection between a virtual private cloud (VPC)
2087// in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering
2088// enables the game servers on your fleet to communicate directly with other
2089// AWS resources. You can peer with VPCs in any AWS account that you have access
2090// to, including the account that you use to manage your Amazon GameLift fleets.
2091// You cannot peer with VPCs that are in different Regions. For more information,
2092// see VPC Peering with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
2093//
2094// Before calling this operation to establish the peering connection, you first
2095// need to call CreateVpcPeeringAuthorization and identify the VPC you want
2096// to peer with. Once the authorization for the specified VPC is issued, you
2097// have 24 hours to establish the connection. These two operations handle all
2098// tasks necessary to peer the two VPCs, including acceptance, updating routing
2099// tables, etc.
2100//
2101// To establish the connection, call this operation from the AWS account that
2102// is used to manage the Amazon GameLift fleets. Identify the following values:
2103// (1) The ID of the fleet you want to be enable a VPC peering connection for;
2104// (2) The AWS account with the VPC that you want to peer with; and (3) The
2105// ID of the VPC you want to peer with. This operation is asynchronous. If successful,
2106// a VpcPeeringConnection request is created. You can use continuous polling
2107// to track the request's status using DescribeVpcPeeringConnections, or by
2108// monitoring fleet events for success or failure using DescribeFleetEvents.
2109//
2110// Related actions
2111//
2112// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
2113// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
2114// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2115//
2116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2117// with awserr.Error's Code and Message methods to get detailed information about
2118// the error.
2119//
2120// See the AWS API reference guide for Amazon GameLift's
2121// API operation CreateVpcPeeringConnection for usage and error information.
2122//
2123// Returned Error Types:
2124//   * UnauthorizedException
2125//   The client failed authentication. Clients should not retry such requests.
2126//
2127//   * InvalidRequestException
2128//   One or more parameter values in the request are invalid. Correct the invalid
2129//   parameter values before retrying.
2130//
2131//   * NotFoundException
2132//   A service resource associated with the request could not be found. Clients
2133//   should not retry such requests.
2134//
2135//   * InternalServiceException
2136//   The service encountered an unrecoverable internal failure while processing
2137//   the request. Clients can retry such requests immediately or after a waiting
2138//   period.
2139//
2140// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
2141func (c *GameLift) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
2142	req, out := c.CreateVpcPeeringConnectionRequest(input)
2143	return out, req.Send()
2144}
2145
2146// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
2147// the ability to pass a context and additional request options.
2148//
2149// See CreateVpcPeeringConnection for details on how to use this API operation.
2150//
2151// The context must be non-nil and will be used for request cancellation. If
2152// the context is nil a panic will occur. In the future the SDK may create
2153// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2154// for more information on using Contexts.
2155func (c *GameLift) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
2156	req, out := c.CreateVpcPeeringConnectionRequest(input)
2157	req.SetContext(ctx)
2158	req.ApplyOptions(opts...)
2159	return out, req.Send()
2160}
2161
2162const opDeleteAlias = "DeleteAlias"
2163
2164// DeleteAliasRequest generates a "aws/request.Request" representing the
2165// client's request for the DeleteAlias operation. The "output" return
2166// value will be populated with the request's response once the request completes
2167// successfully.
2168//
2169// Use "Send" method on the returned Request to send the API call to the service.
2170// the "output" return value is not valid until after Send returns without error.
2171//
2172// See DeleteAlias for more information on using the DeleteAlias
2173// API call, and error handling.
2174//
2175// This method is useful when you want to inject custom logic or configuration
2176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2177//
2178//
2179//    // Example sending a request using the DeleteAliasRequest method.
2180//    req, resp := client.DeleteAliasRequest(params)
2181//
2182//    err := req.Send()
2183//    if err == nil { // resp is now filled
2184//        fmt.Println(resp)
2185//    }
2186//
2187// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
2188func (c *GameLift) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) {
2189	op := &request.Operation{
2190		Name:       opDeleteAlias,
2191		HTTPMethod: "POST",
2192		HTTPPath:   "/",
2193	}
2194
2195	if input == nil {
2196		input = &DeleteAliasInput{}
2197	}
2198
2199	output = &DeleteAliasOutput{}
2200	req = c.newRequest(op, input, output)
2201	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2202	return
2203}
2204
2205// DeleteAlias API operation for Amazon GameLift.
2206//
2207// Deletes an alias. This operation removes all record of the alias. Game clients
2208// attempting to access a server process using the deleted alias receive an
2209// error. To delete an alias, specify the alias ID to be deleted.
2210//
2211// Related actions
2212//
2213// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
2214// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2215//
2216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2217// with awserr.Error's Code and Message methods to get detailed information about
2218// the error.
2219//
2220// See the AWS API reference guide for Amazon GameLift's
2221// API operation DeleteAlias for usage and error information.
2222//
2223// Returned Error Types:
2224//   * UnauthorizedException
2225//   The client failed authentication. Clients should not retry such requests.
2226//
2227//   * NotFoundException
2228//   A service resource associated with the request could not be found. Clients
2229//   should not retry such requests.
2230//
2231//   * InvalidRequestException
2232//   One or more parameter values in the request are invalid. Correct the invalid
2233//   parameter values before retrying.
2234//
2235//   * TaggingFailedException
2236//   The requested tagging operation did not succeed. This may be due to invalid
2237//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
2238//   before retrying.
2239//
2240//   * InternalServiceException
2241//   The service encountered an unrecoverable internal failure while processing
2242//   the request. Clients can retry such requests immediately or after a waiting
2243//   period.
2244//
2245// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
2246func (c *GameLift) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
2247	req, out := c.DeleteAliasRequest(input)
2248	return out, req.Send()
2249}
2250
2251// DeleteAliasWithContext is the same as DeleteAlias with the addition of
2252// the ability to pass a context and additional request options.
2253//
2254// See DeleteAlias for details on how to use this API operation.
2255//
2256// The context must be non-nil and will be used for request cancellation. If
2257// the context is nil a panic will occur. In the future the SDK may create
2258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2259// for more information on using Contexts.
2260func (c *GameLift) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput, opts ...request.Option) (*DeleteAliasOutput, error) {
2261	req, out := c.DeleteAliasRequest(input)
2262	req.SetContext(ctx)
2263	req.ApplyOptions(opts...)
2264	return out, req.Send()
2265}
2266
2267const opDeleteBuild = "DeleteBuild"
2268
2269// DeleteBuildRequest generates a "aws/request.Request" representing the
2270// client's request for the DeleteBuild operation. The "output" return
2271// value will be populated with the request's response once the request completes
2272// successfully.
2273//
2274// Use "Send" method on the returned Request to send the API call to the service.
2275// the "output" return value is not valid until after Send returns without error.
2276//
2277// See DeleteBuild for more information on using the DeleteBuild
2278// API call, and error handling.
2279//
2280// This method is useful when you want to inject custom logic or configuration
2281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2282//
2283//
2284//    // Example sending a request using the DeleteBuildRequest method.
2285//    req, resp := client.DeleteBuildRequest(params)
2286//
2287//    err := req.Send()
2288//    if err == nil { // resp is now filled
2289//        fmt.Println(resp)
2290//    }
2291//
2292// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
2293func (c *GameLift) DeleteBuildRequest(input *DeleteBuildInput) (req *request.Request, output *DeleteBuildOutput) {
2294	op := &request.Operation{
2295		Name:       opDeleteBuild,
2296		HTTPMethod: "POST",
2297		HTTPPath:   "/",
2298	}
2299
2300	if input == nil {
2301		input = &DeleteBuildInput{}
2302	}
2303
2304	output = &DeleteBuildOutput{}
2305	req = c.newRequest(op, input, output)
2306	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2307	return
2308}
2309
2310// DeleteBuild API operation for Amazon GameLift.
2311//
2312// Deletes a build. This operation permanently deletes the build resource and
2313// any uploaded build files. Deleting a build does not affect the status of
2314// any active fleets using the build, but you can no longer create new fleets
2315// with the deleted build.
2316//
2317// To delete a build, specify the build ID.
2318//
2319// Learn more
2320//
2321//  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
2322//
2323// Related actions
2324//
2325// CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
2326// APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2327//
2328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2329// with awserr.Error's Code and Message methods to get detailed information about
2330// the error.
2331//
2332// See the AWS API reference guide for Amazon GameLift's
2333// API operation DeleteBuild for usage and error information.
2334//
2335// Returned Error Types:
2336//   * UnauthorizedException
2337//   The client failed authentication. Clients should not retry such requests.
2338//
2339//   * NotFoundException
2340//   A service resource associated with the request could not be found. Clients
2341//   should not retry such requests.
2342//
2343//   * InternalServiceException
2344//   The service encountered an unrecoverable internal failure while processing
2345//   the request. Clients can retry such requests immediately or after a waiting
2346//   period.
2347//
2348//   * TaggingFailedException
2349//   The requested tagging operation did not succeed. This may be due to invalid
2350//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
2351//   before retrying.
2352//
2353//   * InvalidRequestException
2354//   One or more parameter values in the request are invalid. Correct the invalid
2355//   parameter values before retrying.
2356//
2357// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
2358func (c *GameLift) DeleteBuild(input *DeleteBuildInput) (*DeleteBuildOutput, error) {
2359	req, out := c.DeleteBuildRequest(input)
2360	return out, req.Send()
2361}
2362
2363// DeleteBuildWithContext is the same as DeleteBuild with the addition of
2364// the ability to pass a context and additional request options.
2365//
2366// See DeleteBuild for details on how to use this API operation.
2367//
2368// The context must be non-nil and will be used for request cancellation. If
2369// the context is nil a panic will occur. In the future the SDK may create
2370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2371// for more information on using Contexts.
2372func (c *GameLift) DeleteBuildWithContext(ctx aws.Context, input *DeleteBuildInput, opts ...request.Option) (*DeleteBuildOutput, error) {
2373	req, out := c.DeleteBuildRequest(input)
2374	req.SetContext(ctx)
2375	req.ApplyOptions(opts...)
2376	return out, req.Send()
2377}
2378
2379const opDeleteFleet = "DeleteFleet"
2380
2381// DeleteFleetRequest generates a "aws/request.Request" representing the
2382// client's request for the DeleteFleet operation. The "output" return
2383// value will be populated with the request's response once the request completes
2384// successfully.
2385//
2386// Use "Send" method on the returned Request to send the API call to the service.
2387// the "output" return value is not valid until after Send returns without error.
2388//
2389// See DeleteFleet for more information on using the DeleteFleet
2390// API call, and error handling.
2391//
2392// This method is useful when you want to inject custom logic or configuration
2393// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2394//
2395//
2396//    // Example sending a request using the DeleteFleetRequest method.
2397//    req, resp := client.DeleteFleetRequest(params)
2398//
2399//    err := req.Send()
2400//    if err == nil { // resp is now filled
2401//        fmt.Println(resp)
2402//    }
2403//
2404// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
2405func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
2406	op := &request.Operation{
2407		Name:       opDeleteFleet,
2408		HTTPMethod: "POST",
2409		HTTPPath:   "/",
2410	}
2411
2412	if input == nil {
2413		input = &DeleteFleetInput{}
2414	}
2415
2416	output = &DeleteFleetOutput{}
2417	req = c.newRequest(op, input, output)
2418	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2419	return
2420}
2421
2422// DeleteFleet API operation for Amazon GameLift.
2423//
2424// Deletes all resources and information related a fleet. Any current fleet
2425// instances, including those in remote locations, are shut down. You don't
2426// need to call DeleteFleetLocations separately.
2427//
2428// If the fleet being deleted has a VPC peering connection, you first need to
2429// get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization.
2430// You do not need to explicitly delete the VPC peering connection--this is
2431// done as part of the delete fleet process.
2432//
2433// To delete a fleet, specify the fleet ID to be terminated. During the deletion
2434// process the fleet status is changed to DELETING. When completed, the status
2435// switches to TERMINATED and the fleet event FLEET_DELETED is sent.
2436//
2437// Learn more
2438//
2439// Setting up GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
2440//
2441// Related actions
2442//
2443// CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
2444// | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
2445// | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
2446// task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2447//
2448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2449// with awserr.Error's Code and Message methods to get detailed information about
2450// the error.
2451//
2452// See the AWS API reference guide for Amazon GameLift's
2453// API operation DeleteFleet for usage and error information.
2454//
2455// Returned Error Types:
2456//   * NotFoundException
2457//   A service resource associated with the request could not be found. Clients
2458//   should not retry such requests.
2459//
2460//   * InternalServiceException
2461//   The service encountered an unrecoverable internal failure while processing
2462//   the request. Clients can retry such requests immediately or after a waiting
2463//   period.
2464//
2465//   * InvalidFleetStatusException
2466//   The requested operation would cause a conflict with the current state of
2467//   a resource associated with the request and/or the fleet. Resolve the conflict
2468//   before retrying.
2469//
2470//   * UnauthorizedException
2471//   The client failed authentication. Clients should not retry such requests.
2472//
2473//   * InvalidRequestException
2474//   One or more parameter values in the request are invalid. Correct the invalid
2475//   parameter values before retrying.
2476//
2477//   * TaggingFailedException
2478//   The requested tagging operation did not succeed. This may be due to invalid
2479//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
2480//   before retrying.
2481//
2482// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
2483func (c *GameLift) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
2484	req, out := c.DeleteFleetRequest(input)
2485	return out, req.Send()
2486}
2487
2488// DeleteFleetWithContext is the same as DeleteFleet with the addition of
2489// the ability to pass a context and additional request options.
2490//
2491// See DeleteFleet for details on how to use this API operation.
2492//
2493// The context must be non-nil and will be used for request cancellation. If
2494// the context is nil a panic will occur. In the future the SDK may create
2495// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2496// for more information on using Contexts.
2497func (c *GameLift) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
2498	req, out := c.DeleteFleetRequest(input)
2499	req.SetContext(ctx)
2500	req.ApplyOptions(opts...)
2501	return out, req.Send()
2502}
2503
2504const opDeleteFleetLocations = "DeleteFleetLocations"
2505
2506// DeleteFleetLocationsRequest generates a "aws/request.Request" representing the
2507// client's request for the DeleteFleetLocations operation. The "output" return
2508// value will be populated with the request's response once the request completes
2509// successfully.
2510//
2511// Use "Send" method on the returned Request to send the API call to the service.
2512// the "output" return value is not valid until after Send returns without error.
2513//
2514// See DeleteFleetLocations for more information on using the DeleteFleetLocations
2515// API call, and error handling.
2516//
2517// This method is useful when you want to inject custom logic or configuration
2518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2519//
2520//
2521//    // Example sending a request using the DeleteFleetLocationsRequest method.
2522//    req, resp := client.DeleteFleetLocationsRequest(params)
2523//
2524//    err := req.Send()
2525//    if err == nil { // resp is now filled
2526//        fmt.Println(resp)
2527//    }
2528//
2529// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleetLocations
2530func (c *GameLift) DeleteFleetLocationsRequest(input *DeleteFleetLocationsInput) (req *request.Request, output *DeleteFleetLocationsOutput) {
2531	op := &request.Operation{
2532		Name:       opDeleteFleetLocations,
2533		HTTPMethod: "POST",
2534		HTTPPath:   "/",
2535	}
2536
2537	if input == nil {
2538		input = &DeleteFleetLocationsInput{}
2539	}
2540
2541	output = &DeleteFleetLocationsOutput{}
2542	req = c.newRequest(op, input, output)
2543	return
2544}
2545
2546// DeleteFleetLocations API operation for Amazon GameLift.
2547//
2548// Removes locations from a multi-location fleet. When deleting a location,
2549// all game server process and all instances that are still active in the location
2550// are shut down.
2551//
2552// To delete fleet locations, identify the fleet ID and provide a list of the
2553// locations to be deleted.
2554//
2555// If successful, GameLift sets the location status to DELETING, and begins
2556// to shut down existing server processes and terminate instances in each location
2557// being deleted. When completed, the location status changes to TERMINATED.
2558//
2559// Learn more
2560//
2561// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
2562//
2563// Related actions
2564//
2565// CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
2566// | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
2567// | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
2568// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2569//
2570// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2571// with awserr.Error's Code and Message methods to get detailed information about
2572// the error.
2573//
2574// See the AWS API reference guide for Amazon GameLift's
2575// API operation DeleteFleetLocations for usage and error information.
2576//
2577// Returned Error Types:
2578//   * InternalServiceException
2579//   The service encountered an unrecoverable internal failure while processing
2580//   the request. Clients can retry such requests immediately or after a waiting
2581//   period.
2582//
2583//   * InvalidRequestException
2584//   One or more parameter values in the request are invalid. Correct the invalid
2585//   parameter values before retrying.
2586//
2587//   * UnauthorizedException
2588//   The client failed authentication. Clients should not retry such requests.
2589//
2590//   * NotFoundException
2591//   A service resource associated with the request could not be found. Clients
2592//   should not retry such requests.
2593//
2594//   * UnsupportedRegionException
2595//   The requested operation is not supported in the Region specified.
2596//
2597// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleetLocations
2598func (c *GameLift) DeleteFleetLocations(input *DeleteFleetLocationsInput) (*DeleteFleetLocationsOutput, error) {
2599	req, out := c.DeleteFleetLocationsRequest(input)
2600	return out, req.Send()
2601}
2602
2603// DeleteFleetLocationsWithContext is the same as DeleteFleetLocations with the addition of
2604// the ability to pass a context and additional request options.
2605//
2606// See DeleteFleetLocations for details on how to use this API operation.
2607//
2608// The context must be non-nil and will be used for request cancellation. If
2609// the context is nil a panic will occur. In the future the SDK may create
2610// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2611// for more information on using Contexts.
2612func (c *GameLift) DeleteFleetLocationsWithContext(ctx aws.Context, input *DeleteFleetLocationsInput, opts ...request.Option) (*DeleteFleetLocationsOutput, error) {
2613	req, out := c.DeleteFleetLocationsRequest(input)
2614	req.SetContext(ctx)
2615	req.ApplyOptions(opts...)
2616	return out, req.Send()
2617}
2618
2619const opDeleteGameServerGroup = "DeleteGameServerGroup"
2620
2621// DeleteGameServerGroupRequest generates a "aws/request.Request" representing the
2622// client's request for the DeleteGameServerGroup operation. The "output" return
2623// value will be populated with the request's response once the request completes
2624// successfully.
2625//
2626// Use "Send" method on the returned Request to send the API call to the service.
2627// the "output" return value is not valid until after Send returns without error.
2628//
2629// See DeleteGameServerGroup for more information on using the DeleteGameServerGroup
2630// API call, and error handling.
2631//
2632// This method is useful when you want to inject custom logic or configuration
2633// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2634//
2635//
2636//    // Example sending a request using the DeleteGameServerGroupRequest method.
2637//    req, resp := client.DeleteGameServerGroupRequest(params)
2638//
2639//    err := req.Send()
2640//    if err == nil { // resp is now filled
2641//        fmt.Println(resp)
2642//    }
2643//
2644// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameServerGroup
2645func (c *GameLift) DeleteGameServerGroupRequest(input *DeleteGameServerGroupInput) (req *request.Request, output *DeleteGameServerGroupOutput) {
2646	op := &request.Operation{
2647		Name:       opDeleteGameServerGroup,
2648		HTTPMethod: "POST",
2649		HTTPPath:   "/",
2650	}
2651
2652	if input == nil {
2653		input = &DeleteGameServerGroupInput{}
2654	}
2655
2656	output = &DeleteGameServerGroupOutput{}
2657	req = c.newRequest(op, input, output)
2658	return
2659}
2660
2661// DeleteGameServerGroup API operation for Amazon GameLift.
2662//
2663// This operation is used with the GameLift FleetIQ solution and game server
2664// groups.
2665//
2666// Terminates a game server group and permanently deletes the game server group
2667// record. You have several options for how these resources are impacted when
2668// deleting the game server group. Depending on the type of delete operation
2669// selected, this operation might affect these resources:
2670//
2671//    * The game server group
2672//
2673//    * The corresponding Auto Scaling group
2674//
2675//    * All game servers that are currently running in the group
2676//
2677// To delete a game server group, identify the game server group to delete and
2678// specify the type of delete operation to initiate. Game server groups can
2679// only be deleted if they are in ACTIVE or ERROR status.
2680//
2681// If the delete request is successful, a series of operations are kicked off.
2682// The game server group status is changed to DELETE_SCHEDULED, which prevents
2683// new game servers from being registered and stops automatic scaling activity.
2684// Once all game servers in the game server group are deregistered, GameLift
2685// FleetIQ can begin deleting resources. If any of the delete operations fail,
2686// the game server group is placed in ERROR status.
2687//
2688// GameLift FleetIQ emits delete events to Amazon CloudWatch.
2689//
2690// Learn more
2691//
2692// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
2693//
2694// Related actions
2695//
2696// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
2697// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
2698// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
2699//
2700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2701// with awserr.Error's Code and Message methods to get detailed information about
2702// the error.
2703//
2704// See the AWS API reference guide for Amazon GameLift's
2705// API operation DeleteGameServerGroup for usage and error information.
2706//
2707// Returned Error Types:
2708//   * InvalidRequestException
2709//   One or more parameter values in the request are invalid. Correct the invalid
2710//   parameter values before retrying.
2711//
2712//   * NotFoundException
2713//   A service resource associated with the request could not be found. Clients
2714//   should not retry such requests.
2715//
2716//   * UnauthorizedException
2717//   The client failed authentication. Clients should not retry such requests.
2718//
2719//   * InternalServiceException
2720//   The service encountered an unrecoverable internal failure while processing
2721//   the request. Clients can retry such requests immediately or after a waiting
2722//   period.
2723//
2724// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameServerGroup
2725func (c *GameLift) DeleteGameServerGroup(input *DeleteGameServerGroupInput) (*DeleteGameServerGroupOutput, error) {
2726	req, out := c.DeleteGameServerGroupRequest(input)
2727	return out, req.Send()
2728}
2729
2730// DeleteGameServerGroupWithContext is the same as DeleteGameServerGroup with the addition of
2731// the ability to pass a context and additional request options.
2732//
2733// See DeleteGameServerGroup for details on how to use this API operation.
2734//
2735// The context must be non-nil and will be used for request cancellation. If
2736// the context is nil a panic will occur. In the future the SDK may create
2737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2738// for more information on using Contexts.
2739func (c *GameLift) DeleteGameServerGroupWithContext(ctx aws.Context, input *DeleteGameServerGroupInput, opts ...request.Option) (*DeleteGameServerGroupOutput, error) {
2740	req, out := c.DeleteGameServerGroupRequest(input)
2741	req.SetContext(ctx)
2742	req.ApplyOptions(opts...)
2743	return out, req.Send()
2744}
2745
2746const opDeleteGameSessionQueue = "DeleteGameSessionQueue"
2747
2748// DeleteGameSessionQueueRequest generates a "aws/request.Request" representing the
2749// client's request for the DeleteGameSessionQueue operation. The "output" return
2750// value will be populated with the request's response once the request completes
2751// successfully.
2752//
2753// Use "Send" method on the returned Request to send the API call to the service.
2754// the "output" return value is not valid until after Send returns without error.
2755//
2756// See DeleteGameSessionQueue for more information on using the DeleteGameSessionQueue
2757// API call, and error handling.
2758//
2759// This method is useful when you want to inject custom logic or configuration
2760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2761//
2762//
2763//    // Example sending a request using the DeleteGameSessionQueueRequest method.
2764//    req, resp := client.DeleteGameSessionQueueRequest(params)
2765//
2766//    err := req.Send()
2767//    if err == nil { // resp is now filled
2768//        fmt.Println(resp)
2769//    }
2770//
2771// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
2772func (c *GameLift) DeleteGameSessionQueueRequest(input *DeleteGameSessionQueueInput) (req *request.Request, output *DeleteGameSessionQueueOutput) {
2773	op := &request.Operation{
2774		Name:       opDeleteGameSessionQueue,
2775		HTTPMethod: "POST",
2776		HTTPPath:   "/",
2777	}
2778
2779	if input == nil {
2780		input = &DeleteGameSessionQueueInput{}
2781	}
2782
2783	output = &DeleteGameSessionQueueOutput{}
2784	req = c.newRequest(op, input, output)
2785	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2786	return
2787}
2788
2789// DeleteGameSessionQueue API operation for Amazon GameLift.
2790//
2791// Deletes a game session queue. Once a queue is successfully deleted, unfulfilled
2792// StartGameSessionPlacement requests that reference the queue will fail. To
2793// delete a queue, specify the queue name.
2794//
2795// Learn more
2796//
2797//  Using Multi-Region Queues (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html)
2798//
2799// Related actions
2800//
2801// CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
2802// | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2803//
2804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2805// with awserr.Error's Code and Message methods to get detailed information about
2806// the error.
2807//
2808// See the AWS API reference guide for Amazon GameLift's
2809// API operation DeleteGameSessionQueue for usage and error information.
2810//
2811// Returned Error Types:
2812//   * InternalServiceException
2813//   The service encountered an unrecoverable internal failure while processing
2814//   the request. Clients can retry such requests immediately or after a waiting
2815//   period.
2816//
2817//   * InvalidRequestException
2818//   One or more parameter values in the request are invalid. Correct the invalid
2819//   parameter values before retrying.
2820//
2821//   * NotFoundException
2822//   A service resource associated with the request could not be found. Clients
2823//   should not retry such requests.
2824//
2825//   * UnauthorizedException
2826//   The client failed authentication. Clients should not retry such requests.
2827//
2828//   * TaggingFailedException
2829//   The requested tagging operation did not succeed. This may be due to invalid
2830//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
2831//   before retrying.
2832//
2833// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
2834func (c *GameLift) DeleteGameSessionQueue(input *DeleteGameSessionQueueInput) (*DeleteGameSessionQueueOutput, error) {
2835	req, out := c.DeleteGameSessionQueueRequest(input)
2836	return out, req.Send()
2837}
2838
2839// DeleteGameSessionQueueWithContext is the same as DeleteGameSessionQueue with the addition of
2840// the ability to pass a context and additional request options.
2841//
2842// See DeleteGameSessionQueue for details on how to use this API operation.
2843//
2844// The context must be non-nil and will be used for request cancellation. If
2845// the context is nil a panic will occur. In the future the SDK may create
2846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2847// for more information on using Contexts.
2848func (c *GameLift) DeleteGameSessionQueueWithContext(ctx aws.Context, input *DeleteGameSessionQueueInput, opts ...request.Option) (*DeleteGameSessionQueueOutput, error) {
2849	req, out := c.DeleteGameSessionQueueRequest(input)
2850	req.SetContext(ctx)
2851	req.ApplyOptions(opts...)
2852	return out, req.Send()
2853}
2854
2855const opDeleteMatchmakingConfiguration = "DeleteMatchmakingConfiguration"
2856
2857// DeleteMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
2858// client's request for the DeleteMatchmakingConfiguration operation. The "output" return
2859// value will be populated with the request's response once the request completes
2860// successfully.
2861//
2862// Use "Send" method on the returned Request to send the API call to the service.
2863// the "output" return value is not valid until after Send returns without error.
2864//
2865// See DeleteMatchmakingConfiguration for more information on using the DeleteMatchmakingConfiguration
2866// API call, and error handling.
2867//
2868// This method is useful when you want to inject custom logic or configuration
2869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2870//
2871//
2872//    // Example sending a request using the DeleteMatchmakingConfigurationRequest method.
2873//    req, resp := client.DeleteMatchmakingConfigurationRequest(params)
2874//
2875//    err := req.Send()
2876//    if err == nil { // resp is now filled
2877//        fmt.Println(resp)
2878//    }
2879//
2880// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
2881func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakingConfigurationInput) (req *request.Request, output *DeleteMatchmakingConfigurationOutput) {
2882	op := &request.Operation{
2883		Name:       opDeleteMatchmakingConfiguration,
2884		HTTPMethod: "POST",
2885		HTTPPath:   "/",
2886	}
2887
2888	if input == nil {
2889		input = &DeleteMatchmakingConfigurationInput{}
2890	}
2891
2892	output = &DeleteMatchmakingConfigurationOutput{}
2893	req = c.newRequest(op, input, output)
2894	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2895	return
2896}
2897
2898// DeleteMatchmakingConfiguration API operation for Amazon GameLift.
2899//
2900// Permanently removes a FlexMatch matchmaking configuration. To delete, specify
2901// the configuration name. A matchmaking configuration cannot be deleted if
2902// it is being used in any active matchmaking tickets.
2903//
2904// Related actions
2905//
2906// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
2907// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
2908// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
2909// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
2910//
2911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2912// with awserr.Error's Code and Message methods to get detailed information about
2913// the error.
2914//
2915// See the AWS API reference guide for Amazon GameLift's
2916// API operation DeleteMatchmakingConfiguration for usage and error information.
2917//
2918// Returned Error Types:
2919//   * InvalidRequestException
2920//   One or more parameter values in the request are invalid. Correct the invalid
2921//   parameter values before retrying.
2922//
2923//   * NotFoundException
2924//   A service resource associated with the request could not be found. Clients
2925//   should not retry such requests.
2926//
2927//   * InternalServiceException
2928//   The service encountered an unrecoverable internal failure while processing
2929//   the request. Clients can retry such requests immediately or after a waiting
2930//   period.
2931//
2932//   * UnsupportedRegionException
2933//   The requested operation is not supported in the Region specified.
2934//
2935//   * TaggingFailedException
2936//   The requested tagging operation did not succeed. This may be due to invalid
2937//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
2938//   before retrying.
2939//
2940// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
2941func (c *GameLift) DeleteMatchmakingConfiguration(input *DeleteMatchmakingConfigurationInput) (*DeleteMatchmakingConfigurationOutput, error) {
2942	req, out := c.DeleteMatchmakingConfigurationRequest(input)
2943	return out, req.Send()
2944}
2945
2946// DeleteMatchmakingConfigurationWithContext is the same as DeleteMatchmakingConfiguration with the addition of
2947// the ability to pass a context and additional request options.
2948//
2949// See DeleteMatchmakingConfiguration for details on how to use this API operation.
2950//
2951// The context must be non-nil and will be used for request cancellation. If
2952// the context is nil a panic will occur. In the future the SDK may create
2953// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2954// for more information on using Contexts.
2955func (c *GameLift) DeleteMatchmakingConfigurationWithContext(ctx aws.Context, input *DeleteMatchmakingConfigurationInput, opts ...request.Option) (*DeleteMatchmakingConfigurationOutput, error) {
2956	req, out := c.DeleteMatchmakingConfigurationRequest(input)
2957	req.SetContext(ctx)
2958	req.ApplyOptions(opts...)
2959	return out, req.Send()
2960}
2961
2962const opDeleteMatchmakingRuleSet = "DeleteMatchmakingRuleSet"
2963
2964// DeleteMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
2965// client's request for the DeleteMatchmakingRuleSet operation. The "output" return
2966// value will be populated with the request's response once the request completes
2967// successfully.
2968//
2969// Use "Send" method on the returned Request to send the API call to the service.
2970// the "output" return value is not valid until after Send returns without error.
2971//
2972// See DeleteMatchmakingRuleSet for more information on using the DeleteMatchmakingRuleSet
2973// API call, and error handling.
2974//
2975// This method is useful when you want to inject custom logic or configuration
2976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2977//
2978//
2979//    // Example sending a request using the DeleteMatchmakingRuleSetRequest method.
2980//    req, resp := client.DeleteMatchmakingRuleSetRequest(params)
2981//
2982//    err := req.Send()
2983//    if err == nil { // resp is now filled
2984//        fmt.Println(resp)
2985//    }
2986//
2987// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingRuleSet
2988func (c *GameLift) DeleteMatchmakingRuleSetRequest(input *DeleteMatchmakingRuleSetInput) (req *request.Request, output *DeleteMatchmakingRuleSetOutput) {
2989	op := &request.Operation{
2990		Name:       opDeleteMatchmakingRuleSet,
2991		HTTPMethod: "POST",
2992		HTTPPath:   "/",
2993	}
2994
2995	if input == nil {
2996		input = &DeleteMatchmakingRuleSetInput{}
2997	}
2998
2999	output = &DeleteMatchmakingRuleSetOutput{}
3000	req = c.newRequest(op, input, output)
3001	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3002	return
3003}
3004
3005// DeleteMatchmakingRuleSet API operation for Amazon GameLift.
3006//
3007// Deletes an existing matchmaking rule set. To delete the rule set, provide
3008// the rule set name. Rule sets cannot be deleted if they are currently being
3009// used by a matchmaking configuration.
3010//
3011// Learn more
3012//
3013//    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
3014//
3015// Related actions
3016//
3017// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
3018// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
3019// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
3020// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3021//
3022// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3023// with awserr.Error's Code and Message methods to get detailed information about
3024// the error.
3025//
3026// See the AWS API reference guide for Amazon GameLift's
3027// API operation DeleteMatchmakingRuleSet for usage and error information.
3028//
3029// Returned Error Types:
3030//   * InvalidRequestException
3031//   One or more parameter values in the request are invalid. Correct the invalid
3032//   parameter values before retrying.
3033//
3034//   * InternalServiceException
3035//   The service encountered an unrecoverable internal failure while processing
3036//   the request. Clients can retry such requests immediately or after a waiting
3037//   period.
3038//
3039//   * UnsupportedRegionException
3040//   The requested operation is not supported in the Region specified.
3041//
3042//   * NotFoundException
3043//   A service resource associated with the request could not be found. Clients
3044//   should not retry such requests.
3045//
3046//   * TaggingFailedException
3047//   The requested tagging operation did not succeed. This may be due to invalid
3048//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
3049//   before retrying.
3050//
3051// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingRuleSet
3052func (c *GameLift) DeleteMatchmakingRuleSet(input *DeleteMatchmakingRuleSetInput) (*DeleteMatchmakingRuleSetOutput, error) {
3053	req, out := c.DeleteMatchmakingRuleSetRequest(input)
3054	return out, req.Send()
3055}
3056
3057// DeleteMatchmakingRuleSetWithContext is the same as DeleteMatchmakingRuleSet with the addition of
3058// the ability to pass a context and additional request options.
3059//
3060// See DeleteMatchmakingRuleSet for details on how to use this API operation.
3061//
3062// The context must be non-nil and will be used for request cancellation. If
3063// the context is nil a panic will occur. In the future the SDK may create
3064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3065// for more information on using Contexts.
3066func (c *GameLift) DeleteMatchmakingRuleSetWithContext(ctx aws.Context, input *DeleteMatchmakingRuleSetInput, opts ...request.Option) (*DeleteMatchmakingRuleSetOutput, error) {
3067	req, out := c.DeleteMatchmakingRuleSetRequest(input)
3068	req.SetContext(ctx)
3069	req.ApplyOptions(opts...)
3070	return out, req.Send()
3071}
3072
3073const opDeleteScalingPolicy = "DeleteScalingPolicy"
3074
3075// DeleteScalingPolicyRequest generates a "aws/request.Request" representing the
3076// client's request for the DeleteScalingPolicy operation. The "output" return
3077// value will be populated with the request's response once the request completes
3078// successfully.
3079//
3080// Use "Send" method on the returned Request to send the API call to the service.
3081// the "output" return value is not valid until after Send returns without error.
3082//
3083// See DeleteScalingPolicy for more information on using the DeleteScalingPolicy
3084// API call, and error handling.
3085//
3086// This method is useful when you want to inject custom logic or configuration
3087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3088//
3089//
3090//    // Example sending a request using the DeleteScalingPolicyRequest method.
3091//    req, resp := client.DeleteScalingPolicyRequest(params)
3092//
3093//    err := req.Send()
3094//    if err == nil { // resp is now filled
3095//        fmt.Println(resp)
3096//    }
3097//
3098// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
3099func (c *GameLift) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) (req *request.Request, output *DeleteScalingPolicyOutput) {
3100	op := &request.Operation{
3101		Name:       opDeleteScalingPolicy,
3102		HTTPMethod: "POST",
3103		HTTPPath:   "/",
3104	}
3105
3106	if input == nil {
3107		input = &DeleteScalingPolicyInput{}
3108	}
3109
3110	output = &DeleteScalingPolicyOutput{}
3111	req = c.newRequest(op, input, output)
3112	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3113	return
3114}
3115
3116// DeleteScalingPolicy API operation for Amazon GameLift.
3117//
3118// Deletes a fleet scaling policy. Once deleted, the policy is no longer in
3119// force and GameLift removes all record of it. To delete a scaling policy,
3120// specify both the scaling policy name and the fleet ID it is associated with.
3121//
3122// To temporarily suspend scaling policies, call StopFleetActions. This operation
3123// suspends all policies for the fleet.
3124//
3125// Related actions
3126//
3127// DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
3128// PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
3129// | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3130//
3131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3132// with awserr.Error's Code and Message methods to get detailed information about
3133// the error.
3134//
3135// See the AWS API reference guide for Amazon GameLift's
3136// API operation DeleteScalingPolicy for usage and error information.
3137//
3138// Returned Error Types:
3139//   * InternalServiceException
3140//   The service encountered an unrecoverable internal failure while processing
3141//   the request. Clients can retry such requests immediately or after a waiting
3142//   period.
3143//
3144//   * InvalidRequestException
3145//   One or more parameter values in the request are invalid. Correct the invalid
3146//   parameter values before retrying.
3147//
3148//   * UnauthorizedException
3149//   The client failed authentication. Clients should not retry such requests.
3150//
3151//   * NotFoundException
3152//   A service resource associated with the request could not be found. Clients
3153//   should not retry such requests.
3154//
3155// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
3156func (c *GameLift) DeleteScalingPolicy(input *DeleteScalingPolicyInput) (*DeleteScalingPolicyOutput, error) {
3157	req, out := c.DeleteScalingPolicyRequest(input)
3158	return out, req.Send()
3159}
3160
3161// DeleteScalingPolicyWithContext is the same as DeleteScalingPolicy with the addition of
3162// the ability to pass a context and additional request options.
3163//
3164// See DeleteScalingPolicy for details on how to use this API operation.
3165//
3166// The context must be non-nil and will be used for request cancellation. If
3167// the context is nil a panic will occur. In the future the SDK may create
3168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3169// for more information on using Contexts.
3170func (c *GameLift) DeleteScalingPolicyWithContext(ctx aws.Context, input *DeleteScalingPolicyInput, opts ...request.Option) (*DeleteScalingPolicyOutput, error) {
3171	req, out := c.DeleteScalingPolicyRequest(input)
3172	req.SetContext(ctx)
3173	req.ApplyOptions(opts...)
3174	return out, req.Send()
3175}
3176
3177const opDeleteScript = "DeleteScript"
3178
3179// DeleteScriptRequest generates a "aws/request.Request" representing the
3180// client's request for the DeleteScript operation. The "output" return
3181// value will be populated with the request's response once the request completes
3182// successfully.
3183//
3184// Use "Send" method on the returned Request to send the API call to the service.
3185// the "output" return value is not valid until after Send returns without error.
3186//
3187// See DeleteScript for more information on using the DeleteScript
3188// API call, and error handling.
3189//
3190// This method is useful when you want to inject custom logic or configuration
3191// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3192//
3193//
3194//    // Example sending a request using the DeleteScriptRequest method.
3195//    req, resp := client.DeleteScriptRequest(params)
3196//
3197//    err := req.Send()
3198//    if err == nil { // resp is now filled
3199//        fmt.Println(resp)
3200//    }
3201//
3202// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScript
3203func (c *GameLift) DeleteScriptRequest(input *DeleteScriptInput) (req *request.Request, output *DeleteScriptOutput) {
3204	op := &request.Operation{
3205		Name:       opDeleteScript,
3206		HTTPMethod: "POST",
3207		HTTPPath:   "/",
3208	}
3209
3210	if input == nil {
3211		input = &DeleteScriptInput{}
3212	}
3213
3214	output = &DeleteScriptOutput{}
3215	req = c.newRequest(op, input, output)
3216	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3217	return
3218}
3219
3220// DeleteScript API operation for Amazon GameLift.
3221//
3222// Deletes a Realtime script. This operation permanently deletes the script
3223// record. If script files were uploaded, they are also deleted (files stored
3224// in an S3 bucket are not deleted).
3225//
3226// To delete a script, specify the script ID. Before deleting a script, be sure
3227// to terminate all fleets that are deployed with the script being deleted.
3228// Fleet instances periodically check for script updates, and if the script
3229// record no longer exists, the instance will go into an error state and be
3230// unable to host game sessions.
3231//
3232// Learn more
3233//
3234// Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
3235//
3236// Related actions
3237//
3238// CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
3239// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3240//
3241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3242// with awserr.Error's Code and Message methods to get detailed information about
3243// the error.
3244//
3245// See the AWS API reference guide for Amazon GameLift's
3246// API operation DeleteScript for usage and error information.
3247//
3248// Returned Error Types:
3249//   * InvalidRequestException
3250//   One or more parameter values in the request are invalid. Correct the invalid
3251//   parameter values before retrying.
3252//
3253//   * UnauthorizedException
3254//   The client failed authentication. Clients should not retry such requests.
3255//
3256//   * NotFoundException
3257//   A service resource associated with the request could not be found. Clients
3258//   should not retry such requests.
3259//
3260//   * TaggingFailedException
3261//   The requested tagging operation did not succeed. This may be due to invalid
3262//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
3263//   before retrying.
3264//
3265//   * InternalServiceException
3266//   The service encountered an unrecoverable internal failure while processing
3267//   the request. Clients can retry such requests immediately or after a waiting
3268//   period.
3269//
3270// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScript
3271func (c *GameLift) DeleteScript(input *DeleteScriptInput) (*DeleteScriptOutput, error) {
3272	req, out := c.DeleteScriptRequest(input)
3273	return out, req.Send()
3274}
3275
3276// DeleteScriptWithContext is the same as DeleteScript with the addition of
3277// the ability to pass a context and additional request options.
3278//
3279// See DeleteScript for details on how to use this API operation.
3280//
3281// The context must be non-nil and will be used for request cancellation. If
3282// the context is nil a panic will occur. In the future the SDK may create
3283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3284// for more information on using Contexts.
3285func (c *GameLift) DeleteScriptWithContext(ctx aws.Context, input *DeleteScriptInput, opts ...request.Option) (*DeleteScriptOutput, error) {
3286	req, out := c.DeleteScriptRequest(input)
3287	req.SetContext(ctx)
3288	req.ApplyOptions(opts...)
3289	return out, req.Send()
3290}
3291
3292const opDeleteVpcPeeringAuthorization = "DeleteVpcPeeringAuthorization"
3293
3294// DeleteVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
3295// client's request for the DeleteVpcPeeringAuthorization operation. The "output" return
3296// value will be populated with the request's response once the request completes
3297// successfully.
3298//
3299// Use "Send" method on the returned Request to send the API call to the service.
3300// the "output" return value is not valid until after Send returns without error.
3301//
3302// See DeleteVpcPeeringAuthorization for more information on using the DeleteVpcPeeringAuthorization
3303// API call, and error handling.
3304//
3305// This method is useful when you want to inject custom logic or configuration
3306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3307//
3308//
3309//    // Example sending a request using the DeleteVpcPeeringAuthorizationRequest method.
3310//    req, resp := client.DeleteVpcPeeringAuthorizationRequest(params)
3311//
3312//    err := req.Send()
3313//    if err == nil { // resp is now filled
3314//        fmt.Println(resp)
3315//    }
3316//
3317// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
3318func (c *GameLift) DeleteVpcPeeringAuthorizationRequest(input *DeleteVpcPeeringAuthorizationInput) (req *request.Request, output *DeleteVpcPeeringAuthorizationOutput) {
3319	op := &request.Operation{
3320		Name:       opDeleteVpcPeeringAuthorization,
3321		HTTPMethod: "POST",
3322		HTTPPath:   "/",
3323	}
3324
3325	if input == nil {
3326		input = &DeleteVpcPeeringAuthorizationInput{}
3327	}
3328
3329	output = &DeleteVpcPeeringAuthorizationOutput{}
3330	req = c.newRequest(op, input, output)
3331	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3332	return
3333}
3334
3335// DeleteVpcPeeringAuthorization API operation for Amazon GameLift.
3336//
3337// Cancels a pending VPC peering authorization for the specified VPC. If you
3338// need to delete an existing VPC peering connection, call DeleteVpcPeeringConnection.
3339//
3340// Related actions
3341//
3342// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
3343// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
3344// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3345//
3346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3347// with awserr.Error's Code and Message methods to get detailed information about
3348// the error.
3349//
3350// See the AWS API reference guide for Amazon GameLift's
3351// API operation DeleteVpcPeeringAuthorization for usage and error information.
3352//
3353// Returned Error Types:
3354//   * UnauthorizedException
3355//   The client failed authentication. Clients should not retry such requests.
3356//
3357//   * InvalidRequestException
3358//   One or more parameter values in the request are invalid. Correct the invalid
3359//   parameter values before retrying.
3360//
3361//   * NotFoundException
3362//   A service resource associated with the request could not be found. Clients
3363//   should not retry such requests.
3364//
3365//   * InternalServiceException
3366//   The service encountered an unrecoverable internal failure while processing
3367//   the request. Clients can retry such requests immediately or after a waiting
3368//   period.
3369//
3370// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
3371func (c *GameLift) DeleteVpcPeeringAuthorization(input *DeleteVpcPeeringAuthorizationInput) (*DeleteVpcPeeringAuthorizationOutput, error) {
3372	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
3373	return out, req.Send()
3374}
3375
3376// DeleteVpcPeeringAuthorizationWithContext is the same as DeleteVpcPeeringAuthorization with the addition of
3377// the ability to pass a context and additional request options.
3378//
3379// See DeleteVpcPeeringAuthorization for details on how to use this API operation.
3380//
3381// The context must be non-nil and will be used for request cancellation. If
3382// the context is nil a panic will occur. In the future the SDK may create
3383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3384// for more information on using Contexts.
3385func (c *GameLift) DeleteVpcPeeringAuthorizationWithContext(ctx aws.Context, input *DeleteVpcPeeringAuthorizationInput, opts ...request.Option) (*DeleteVpcPeeringAuthorizationOutput, error) {
3386	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
3387	req.SetContext(ctx)
3388	req.ApplyOptions(opts...)
3389	return out, req.Send()
3390}
3391
3392const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
3393
3394// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
3395// client's request for the DeleteVpcPeeringConnection operation. The "output" return
3396// value will be populated with the request's response once the request completes
3397// successfully.
3398//
3399// Use "Send" method on the returned Request to send the API call to the service.
3400// the "output" return value is not valid until after Send returns without error.
3401//
3402// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
3403// API call, and error handling.
3404//
3405// This method is useful when you want to inject custom logic or configuration
3406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3407//
3408//
3409//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
3410//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
3411//
3412//    err := req.Send()
3413//    if err == nil { // resp is now filled
3414//        fmt.Println(resp)
3415//    }
3416//
3417// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
3418func (c *GameLift) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
3419	op := &request.Operation{
3420		Name:       opDeleteVpcPeeringConnection,
3421		HTTPMethod: "POST",
3422		HTTPPath:   "/",
3423	}
3424
3425	if input == nil {
3426		input = &DeleteVpcPeeringConnectionInput{}
3427	}
3428
3429	output = &DeleteVpcPeeringConnectionOutput{}
3430	req = c.newRequest(op, input, output)
3431	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3432	return
3433}
3434
3435// DeleteVpcPeeringConnection API operation for Amazon GameLift.
3436//
3437// Removes a VPC peering connection. To delete the connection, you must have
3438// a valid authorization for the VPC peering connection that you want to delete.
3439// You can check for an authorization by calling DescribeVpcPeeringAuthorizations
3440// or request a new one using CreateVpcPeeringAuthorization.
3441//
3442// Once a valid authorization exists, call this operation from the AWS account
3443// that is used to manage the Amazon GameLift fleets. Identify the connection
3444// to delete by the connection ID and fleet ID. If successful, the connection
3445// is removed.
3446//
3447// Related actions
3448//
3449// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
3450// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
3451// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3452//
3453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3454// with awserr.Error's Code and Message methods to get detailed information about
3455// the error.
3456//
3457// See the AWS API reference guide for Amazon GameLift's
3458// API operation DeleteVpcPeeringConnection for usage and error information.
3459//
3460// Returned Error Types:
3461//   * UnauthorizedException
3462//   The client failed authentication. Clients should not retry such requests.
3463//
3464//   * InvalidRequestException
3465//   One or more parameter values in the request are invalid. Correct the invalid
3466//   parameter values before retrying.
3467//
3468//   * NotFoundException
3469//   A service resource associated with the request could not be found. Clients
3470//   should not retry such requests.
3471//
3472//   * InternalServiceException
3473//   The service encountered an unrecoverable internal failure while processing
3474//   the request. Clients can retry such requests immediately or after a waiting
3475//   period.
3476//
3477// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
3478func (c *GameLift) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
3479	req, out := c.DeleteVpcPeeringConnectionRequest(input)
3480	return out, req.Send()
3481}
3482
3483// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
3484// the ability to pass a context and additional request options.
3485//
3486// See DeleteVpcPeeringConnection for details on how to use this API operation.
3487//
3488// The context must be non-nil and will be used for request cancellation. If
3489// the context is nil a panic will occur. In the future the SDK may create
3490// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3491// for more information on using Contexts.
3492func (c *GameLift) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
3493	req, out := c.DeleteVpcPeeringConnectionRequest(input)
3494	req.SetContext(ctx)
3495	req.ApplyOptions(opts...)
3496	return out, req.Send()
3497}
3498
3499const opDeregisterGameServer = "DeregisterGameServer"
3500
3501// DeregisterGameServerRequest generates a "aws/request.Request" representing the
3502// client's request for the DeregisterGameServer operation. The "output" return
3503// value will be populated with the request's response once the request completes
3504// successfully.
3505//
3506// Use "Send" method on the returned Request to send the API call to the service.
3507// the "output" return value is not valid until after Send returns without error.
3508//
3509// See DeregisterGameServer for more information on using the DeregisterGameServer
3510// API call, and error handling.
3511//
3512// This method is useful when you want to inject custom logic or configuration
3513// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3514//
3515//
3516//    // Example sending a request using the DeregisterGameServerRequest method.
3517//    req, resp := client.DeregisterGameServerRequest(params)
3518//
3519//    err := req.Send()
3520//    if err == nil { // resp is now filled
3521//        fmt.Println(resp)
3522//    }
3523//
3524// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeregisterGameServer
3525func (c *GameLift) DeregisterGameServerRequest(input *DeregisterGameServerInput) (req *request.Request, output *DeregisterGameServerOutput) {
3526	op := &request.Operation{
3527		Name:       opDeregisterGameServer,
3528		HTTPMethod: "POST",
3529		HTTPPath:   "/",
3530	}
3531
3532	if input == nil {
3533		input = &DeregisterGameServerInput{}
3534	}
3535
3536	output = &DeregisterGameServerOutput{}
3537	req = c.newRequest(op, input, output)
3538	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3539	return
3540}
3541
3542// DeregisterGameServer API operation for Amazon GameLift.
3543//
3544// This operation is used with the GameLift FleetIQ solution and game server
3545// groups.
3546//
3547// Removes the game server from a game server group. As a result of this operation,
3548// the deregistered game server can no longer be claimed and will not be returned
3549// in a list of active game servers.
3550//
3551// To deregister a game server, specify the game server group and game server
3552// ID. If successful, this operation emits a CloudWatch event with termination
3553// timestamp and reason.
3554//
3555// Learn more
3556//
3557// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
3558//
3559// Related actions
3560//
3561// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
3562// | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
3563//
3564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3565// with awserr.Error's Code and Message methods to get detailed information about
3566// the error.
3567//
3568// See the AWS API reference guide for Amazon GameLift's
3569// API operation DeregisterGameServer for usage and error information.
3570//
3571// Returned Error Types:
3572//   * InvalidRequestException
3573//   One or more parameter values in the request are invalid. Correct the invalid
3574//   parameter values before retrying.
3575//
3576//   * NotFoundException
3577//   A service resource associated with the request could not be found. Clients
3578//   should not retry such requests.
3579//
3580//   * UnauthorizedException
3581//   The client failed authentication. Clients should not retry such requests.
3582//
3583//   * InternalServiceException
3584//   The service encountered an unrecoverable internal failure while processing
3585//   the request. Clients can retry such requests immediately or after a waiting
3586//   period.
3587//
3588// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeregisterGameServer
3589func (c *GameLift) DeregisterGameServer(input *DeregisterGameServerInput) (*DeregisterGameServerOutput, error) {
3590	req, out := c.DeregisterGameServerRequest(input)
3591	return out, req.Send()
3592}
3593
3594// DeregisterGameServerWithContext is the same as DeregisterGameServer with the addition of
3595// the ability to pass a context and additional request options.
3596//
3597// See DeregisterGameServer for details on how to use this API operation.
3598//
3599// The context must be non-nil and will be used for request cancellation. If
3600// the context is nil a panic will occur. In the future the SDK may create
3601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3602// for more information on using Contexts.
3603func (c *GameLift) DeregisterGameServerWithContext(ctx aws.Context, input *DeregisterGameServerInput, opts ...request.Option) (*DeregisterGameServerOutput, error) {
3604	req, out := c.DeregisterGameServerRequest(input)
3605	req.SetContext(ctx)
3606	req.ApplyOptions(opts...)
3607	return out, req.Send()
3608}
3609
3610const opDescribeAlias = "DescribeAlias"
3611
3612// DescribeAliasRequest generates a "aws/request.Request" representing the
3613// client's request for the DescribeAlias operation. The "output" return
3614// value will be populated with the request's response once the request completes
3615// successfully.
3616//
3617// Use "Send" method on the returned Request to send the API call to the service.
3618// the "output" return value is not valid until after Send returns without error.
3619//
3620// See DescribeAlias for more information on using the DescribeAlias
3621// API call, and error handling.
3622//
3623// This method is useful when you want to inject custom logic or configuration
3624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3625//
3626//
3627//    // Example sending a request using the DescribeAliasRequest method.
3628//    req, resp := client.DescribeAliasRequest(params)
3629//
3630//    err := req.Send()
3631//    if err == nil { // resp is now filled
3632//        fmt.Println(resp)
3633//    }
3634//
3635// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
3636func (c *GameLift) DescribeAliasRequest(input *DescribeAliasInput) (req *request.Request, output *DescribeAliasOutput) {
3637	op := &request.Operation{
3638		Name:       opDescribeAlias,
3639		HTTPMethod: "POST",
3640		HTTPPath:   "/",
3641	}
3642
3643	if input == nil {
3644		input = &DescribeAliasInput{}
3645	}
3646
3647	output = &DescribeAliasOutput{}
3648	req = c.newRequest(op, input, output)
3649	return
3650}
3651
3652// DescribeAlias API operation for Amazon GameLift.
3653//
3654// Retrieves properties for an alias. This operation returns all alias metadata
3655// and settings. To get an alias's target fleet ID only, use ResolveAlias.
3656//
3657// To get alias properties, specify the alias ID. If successful, the requested
3658// alias record is returned.
3659//
3660// Related actions
3661//
3662// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
3663// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3664//
3665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3666// with awserr.Error's Code and Message methods to get detailed information about
3667// the error.
3668//
3669// See the AWS API reference guide for Amazon GameLift's
3670// API operation DescribeAlias for usage and error information.
3671//
3672// Returned Error Types:
3673//   * UnauthorizedException
3674//   The client failed authentication. Clients should not retry such requests.
3675//
3676//   * InvalidRequestException
3677//   One or more parameter values in the request are invalid. Correct the invalid
3678//   parameter values before retrying.
3679//
3680//   * NotFoundException
3681//   A service resource associated with the request could not be found. Clients
3682//   should not retry such requests.
3683//
3684//   * InternalServiceException
3685//   The service encountered an unrecoverable internal failure while processing
3686//   the request. Clients can retry such requests immediately or after a waiting
3687//   period.
3688//
3689// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
3690func (c *GameLift) DescribeAlias(input *DescribeAliasInput) (*DescribeAliasOutput, error) {
3691	req, out := c.DescribeAliasRequest(input)
3692	return out, req.Send()
3693}
3694
3695// DescribeAliasWithContext is the same as DescribeAlias with the addition of
3696// the ability to pass a context and additional request options.
3697//
3698// See DescribeAlias for details on how to use this API operation.
3699//
3700// The context must be non-nil and will be used for request cancellation. If
3701// the context is nil a panic will occur. In the future the SDK may create
3702// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3703// for more information on using Contexts.
3704func (c *GameLift) DescribeAliasWithContext(ctx aws.Context, input *DescribeAliasInput, opts ...request.Option) (*DescribeAliasOutput, error) {
3705	req, out := c.DescribeAliasRequest(input)
3706	req.SetContext(ctx)
3707	req.ApplyOptions(opts...)
3708	return out, req.Send()
3709}
3710
3711const opDescribeBuild = "DescribeBuild"
3712
3713// DescribeBuildRequest generates a "aws/request.Request" representing the
3714// client's request for the DescribeBuild operation. The "output" return
3715// value will be populated with the request's response once the request completes
3716// successfully.
3717//
3718// Use "Send" method on the returned Request to send the API call to the service.
3719// the "output" return value is not valid until after Send returns without error.
3720//
3721// See DescribeBuild for more information on using the DescribeBuild
3722// API call, and error handling.
3723//
3724// This method is useful when you want to inject custom logic or configuration
3725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3726//
3727//
3728//    // Example sending a request using the DescribeBuildRequest method.
3729//    req, resp := client.DescribeBuildRequest(params)
3730//
3731//    err := req.Send()
3732//    if err == nil { // resp is now filled
3733//        fmt.Println(resp)
3734//    }
3735//
3736// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
3737func (c *GameLift) DescribeBuildRequest(input *DescribeBuildInput) (req *request.Request, output *DescribeBuildOutput) {
3738	op := &request.Operation{
3739		Name:       opDescribeBuild,
3740		HTTPMethod: "POST",
3741		HTTPPath:   "/",
3742	}
3743
3744	if input == nil {
3745		input = &DescribeBuildInput{}
3746	}
3747
3748	output = &DescribeBuildOutput{}
3749	req = c.newRequest(op, input, output)
3750	return
3751}
3752
3753// DescribeBuild API operation for Amazon GameLift.
3754//
3755// Retrieves properties for a custom game build. To request a build resource,
3756// specify a build ID. If successful, an object containing the build properties
3757// is returned.
3758//
3759// Learn more
3760//
3761//  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
3762//
3763// Related actions
3764//
3765// CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
3766// APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3767//
3768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3769// with awserr.Error's Code and Message methods to get detailed information about
3770// the error.
3771//
3772// See the AWS API reference guide for Amazon GameLift's
3773// API operation DescribeBuild for usage and error information.
3774//
3775// Returned Error Types:
3776//   * UnauthorizedException
3777//   The client failed authentication. Clients should not retry such requests.
3778//
3779//   * InvalidRequestException
3780//   One or more parameter values in the request are invalid. Correct the invalid
3781//   parameter values before retrying.
3782//
3783//   * NotFoundException
3784//   A service resource associated with the request could not be found. Clients
3785//   should not retry such requests.
3786//
3787//   * InternalServiceException
3788//   The service encountered an unrecoverable internal failure while processing
3789//   the request. Clients can retry such requests immediately or after a waiting
3790//   period.
3791//
3792// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
3793func (c *GameLift) DescribeBuild(input *DescribeBuildInput) (*DescribeBuildOutput, error) {
3794	req, out := c.DescribeBuildRequest(input)
3795	return out, req.Send()
3796}
3797
3798// DescribeBuildWithContext is the same as DescribeBuild with the addition of
3799// the ability to pass a context and additional request options.
3800//
3801// See DescribeBuild for details on how to use this API operation.
3802//
3803// The context must be non-nil and will be used for request cancellation. If
3804// the context is nil a panic will occur. In the future the SDK may create
3805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3806// for more information on using Contexts.
3807func (c *GameLift) DescribeBuildWithContext(ctx aws.Context, input *DescribeBuildInput, opts ...request.Option) (*DescribeBuildOutput, error) {
3808	req, out := c.DescribeBuildRequest(input)
3809	req.SetContext(ctx)
3810	req.ApplyOptions(opts...)
3811	return out, req.Send()
3812}
3813
3814const opDescribeEC2InstanceLimits = "DescribeEC2InstanceLimits"
3815
3816// DescribeEC2InstanceLimitsRequest generates a "aws/request.Request" representing the
3817// client's request for the DescribeEC2InstanceLimits operation. The "output" return
3818// value will be populated with the request's response once the request completes
3819// successfully.
3820//
3821// Use "Send" method on the returned Request to send the API call to the service.
3822// the "output" return value is not valid until after Send returns without error.
3823//
3824// See DescribeEC2InstanceLimits for more information on using the DescribeEC2InstanceLimits
3825// API call, and error handling.
3826//
3827// This method is useful when you want to inject custom logic or configuration
3828// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3829//
3830//
3831//    // Example sending a request using the DescribeEC2InstanceLimitsRequest method.
3832//    req, resp := client.DescribeEC2InstanceLimitsRequest(params)
3833//
3834//    err := req.Send()
3835//    if err == nil { // resp is now filled
3836//        fmt.Println(resp)
3837//    }
3838//
3839// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
3840func (c *GameLift) DescribeEC2InstanceLimitsRequest(input *DescribeEC2InstanceLimitsInput) (req *request.Request, output *DescribeEC2InstanceLimitsOutput) {
3841	op := &request.Operation{
3842		Name:       opDescribeEC2InstanceLimits,
3843		HTTPMethod: "POST",
3844		HTTPPath:   "/",
3845	}
3846
3847	if input == nil {
3848		input = &DescribeEC2InstanceLimitsInput{}
3849	}
3850
3851	output = &DescribeEC2InstanceLimitsOutput{}
3852	req = c.newRequest(op, input, output)
3853	return
3854}
3855
3856// DescribeEC2InstanceLimits API operation for Amazon GameLift.
3857//
3858// The GameLift service limits and current utilization for an AWS Region or
3859// location. Instance limits control the number of instances, per instance type,
3860// per location, that your AWS account can use. Learn more at Amazon EC2 Instance
3861// Types (http://aws.amazon.com/ec2/instance-types/). The information returned
3862// includes the maximum number of instances allowed and your account's current
3863// usage across all fleets. This information can affect your ability to scale
3864// your GameLift fleets. You can request a limit increase for your account by
3865// using the Service limits page in the GameLift console.
3866//
3867// Instance limits differ based on whether the instances are deployed in a fleet's
3868// home Region or in a remote location. For remote locations, limits also differ
3869// based on the combination of home Region and remote location. All requests
3870// must specify an AWS Region (either explicitly or as your default settings).
3871// To get the limit for a remote location, you must also specify the location.
3872// For example, the following requests all return different results:
3873//
3874//    * Request specifies the Region ap-northeast-1 with no location. The result
3875//    is limits and usage data on all instance types that are deployed in us-east-2,
3876//    by all of the fleets that reside in ap-northeast-1.
3877//
3878//    * Request specifies the Region us-east-1 with location ca-central-1. The
3879//    result is limits and usage data on all instance types that are deployed
3880//    in ca-central-1, by all of the fleets that reside in us-east-2. These
3881//    limits do not affect fleets in any other Regions that deploy instances
3882//    to ca-central-1.
3883//
3884//    * Request specifies the Region eu-west-1 with location ca-central-1. The
3885//    result is limits and usage data on all instance types that are deployed
3886//    in ca-central-1, by all of the fleets that reside in eu-west-1.
3887//
3888// This operation can be used in the following ways:
3889//
3890//    * To get limit and usage data for all instance types that are deployed
3891//    in an AWS Region by fleets that reside in the same Region: Specify the
3892//    Region only. Optionally, specify a single instance type to retrieve information
3893//    for.
3894//
3895//    * To get limit and usage data for all instance types that are deployed
3896//    to a remote location by fleets that reside in different AWS Region: Provide
3897//    both the AWS Region and the remote location. Optionally, specify a single
3898//    instance type to retrieve information for.
3899//
3900// If successful, an EC2InstanceLimits object is returned with limits and usage
3901// data for each requested instance type.
3902//
3903// Learn more
3904//
3905// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
3906//
3907// Related actions
3908//
3909// CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
3910// | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
3911// | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
3912//
3913// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3914// with awserr.Error's Code and Message methods to get detailed information about
3915// the error.
3916//
3917// See the AWS API reference guide for Amazon GameLift's
3918// API operation DescribeEC2InstanceLimits for usage and error information.
3919//
3920// Returned Error Types:
3921//   * InvalidRequestException
3922//   One or more parameter values in the request are invalid. Correct the invalid
3923//   parameter values before retrying.
3924//
3925//   * 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//   * UnauthorizedException
3931//   The client failed authentication. Clients should not retry such requests.
3932//
3933//   * UnsupportedRegionException
3934//   The requested operation is not supported in the Region specified.
3935//
3936// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
3937func (c *GameLift) DescribeEC2InstanceLimits(input *DescribeEC2InstanceLimitsInput) (*DescribeEC2InstanceLimitsOutput, error) {
3938	req, out := c.DescribeEC2InstanceLimitsRequest(input)
3939	return out, req.Send()
3940}
3941
3942// DescribeEC2InstanceLimitsWithContext is the same as DescribeEC2InstanceLimits with the addition of
3943// the ability to pass a context and additional request options.
3944//
3945// See DescribeEC2InstanceLimits for details on how to use this API operation.
3946//
3947// The context must be non-nil and will be used for request cancellation. If
3948// the context is nil a panic will occur. In the future the SDK may create
3949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3950// for more information on using Contexts.
3951func (c *GameLift) DescribeEC2InstanceLimitsWithContext(ctx aws.Context, input *DescribeEC2InstanceLimitsInput, opts ...request.Option) (*DescribeEC2InstanceLimitsOutput, error) {
3952	req, out := c.DescribeEC2InstanceLimitsRequest(input)
3953	req.SetContext(ctx)
3954	req.ApplyOptions(opts...)
3955	return out, req.Send()
3956}
3957
3958const opDescribeFleetAttributes = "DescribeFleetAttributes"
3959
3960// DescribeFleetAttributesRequest generates a "aws/request.Request" representing the
3961// client's request for the DescribeFleetAttributes operation. The "output" return
3962// value will be populated with the request's response once the request completes
3963// successfully.
3964//
3965// Use "Send" method on the returned Request to send the API call to the service.
3966// the "output" return value is not valid until after Send returns without error.
3967//
3968// See DescribeFleetAttributes for more information on using the DescribeFleetAttributes
3969// API call, and error handling.
3970//
3971// This method is useful when you want to inject custom logic or configuration
3972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3973//
3974//
3975//    // Example sending a request using the DescribeFleetAttributesRequest method.
3976//    req, resp := client.DescribeFleetAttributesRequest(params)
3977//
3978//    err := req.Send()
3979//    if err == nil { // resp is now filled
3980//        fmt.Println(resp)
3981//    }
3982//
3983// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
3984func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributesInput) (req *request.Request, output *DescribeFleetAttributesOutput) {
3985	op := &request.Operation{
3986		Name:       opDescribeFleetAttributes,
3987		HTTPMethod: "POST",
3988		HTTPPath:   "/",
3989		Paginator: &request.Paginator{
3990			InputTokens:     []string{"NextToken"},
3991			OutputTokens:    []string{"NextToken"},
3992			LimitToken:      "Limit",
3993			TruncationToken: "",
3994		},
3995	}
3996
3997	if input == nil {
3998		input = &DescribeFleetAttributesInput{}
3999	}
4000
4001	output = &DescribeFleetAttributesOutput{}
4002	req = c.newRequest(op, input, output)
4003	return
4004}
4005
4006// DescribeFleetAttributes API operation for Amazon GameLift.
4007//
4008// Retrieves core fleet-wide properties, including the computing hardware and
4009// deployment configuration for all instances in the fleet.
4010//
4011// This operation can be used in the following ways:
4012//
4013//    * To get attributes for one or more specific fleets, provide a list of
4014//    fleet IDs or fleet ARNs.
4015//
4016//    * To get attributes for all fleets, do not provide a fleet identifier.
4017//
4018// When requesting attributes for multiple fleets, use the pagination parameters
4019// to retrieve results as a set of sequential pages.
4020//
4021// If successful, a FleetAttributes object is returned for each fleet requested,
4022// unless the fleet identifier is not found.
4023//
4024// Some API operations limit the number of fleet IDs that allowed in one request.
4025// If a request exceeds this limit, the request fails and the error message
4026// contains the maximum allowed number.
4027//
4028// Learn more
4029//
4030// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
4031//
4032// Related actions
4033//
4034// ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
4035// | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
4036// | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
4037// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
4038//
4039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4040// with awserr.Error's Code and Message methods to get detailed information about
4041// the error.
4042//
4043// See the AWS API reference guide for Amazon GameLift's
4044// API operation DescribeFleetAttributes for usage and error information.
4045//
4046// Returned Error Types:
4047//   * InternalServiceException
4048//   The service encountered an unrecoverable internal failure while processing
4049//   the request. Clients can retry such requests immediately or after a waiting
4050//   period.
4051//
4052//   * NotFoundException
4053//   A service resource associated with the request could not be found. Clients
4054//   should not retry such requests.
4055//
4056//   * InvalidRequestException
4057//   One or more parameter values in the request are invalid. Correct the invalid
4058//   parameter values before retrying.
4059//
4060//   * UnauthorizedException
4061//   The client failed authentication. Clients should not retry such requests.
4062//
4063// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
4064func (c *GameLift) DescribeFleetAttributes(input *DescribeFleetAttributesInput) (*DescribeFleetAttributesOutput, error) {
4065	req, out := c.DescribeFleetAttributesRequest(input)
4066	return out, req.Send()
4067}
4068
4069// DescribeFleetAttributesWithContext is the same as DescribeFleetAttributes with the addition of
4070// the ability to pass a context and additional request options.
4071//
4072// See DescribeFleetAttributes for details on how to use this API operation.
4073//
4074// The context must be non-nil and will be used for request cancellation. If
4075// the context is nil a panic will occur. In the future the SDK may create
4076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4077// for more information on using Contexts.
4078func (c *GameLift) DescribeFleetAttributesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, opts ...request.Option) (*DescribeFleetAttributesOutput, error) {
4079	req, out := c.DescribeFleetAttributesRequest(input)
4080	req.SetContext(ctx)
4081	req.ApplyOptions(opts...)
4082	return out, req.Send()
4083}
4084
4085// DescribeFleetAttributesPages iterates over the pages of a DescribeFleetAttributes operation,
4086// calling the "fn" function with the response data for each page. To stop
4087// iterating, return false from the fn function.
4088//
4089// See DescribeFleetAttributes method for more information on how to use this operation.
4090//
4091// Note: This operation can generate multiple requests to a service.
4092//
4093//    // Example iterating over at most 3 pages of a DescribeFleetAttributes operation.
4094//    pageNum := 0
4095//    err := client.DescribeFleetAttributesPages(params,
4096//        func(page *gamelift.DescribeFleetAttributesOutput, lastPage bool) bool {
4097//            pageNum++
4098//            fmt.Println(page)
4099//            return pageNum <= 3
4100//        })
4101//
4102func (c *GameLift) DescribeFleetAttributesPages(input *DescribeFleetAttributesInput, fn func(*DescribeFleetAttributesOutput, bool) bool) error {
4103	return c.DescribeFleetAttributesPagesWithContext(aws.BackgroundContext(), input, fn)
4104}
4105
4106// DescribeFleetAttributesPagesWithContext same as DescribeFleetAttributesPages except
4107// it takes a Context and allows setting request options on the pages.
4108//
4109// The context must be non-nil and will be used for request cancellation. If
4110// the context is nil a panic will occur. In the future the SDK may create
4111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4112// for more information on using Contexts.
4113func (c *GameLift) DescribeFleetAttributesPagesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, fn func(*DescribeFleetAttributesOutput, bool) bool, opts ...request.Option) error {
4114	p := request.Pagination{
4115		NewRequest: func() (*request.Request, error) {
4116			var inCpy *DescribeFleetAttributesInput
4117			if input != nil {
4118				tmp := *input
4119				inCpy = &tmp
4120			}
4121			req, _ := c.DescribeFleetAttributesRequest(inCpy)
4122			req.SetContext(ctx)
4123			req.ApplyOptions(opts...)
4124			return req, nil
4125		},
4126	}
4127
4128	for p.Next() {
4129		if !fn(p.Page().(*DescribeFleetAttributesOutput), !p.HasNextPage()) {
4130			break
4131		}
4132	}
4133
4134	return p.Err()
4135}
4136
4137const opDescribeFleetCapacity = "DescribeFleetCapacity"
4138
4139// DescribeFleetCapacityRequest generates a "aws/request.Request" representing the
4140// client's request for the DescribeFleetCapacity operation. The "output" return
4141// value will be populated with the request's response once the request completes
4142// successfully.
4143//
4144// Use "Send" method on the returned Request to send the API call to the service.
4145// the "output" return value is not valid until after Send returns without error.
4146//
4147// See DescribeFleetCapacity for more information on using the DescribeFleetCapacity
4148// API call, and error handling.
4149//
4150// This method is useful when you want to inject custom logic or configuration
4151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4152//
4153//
4154//    // Example sending a request using the DescribeFleetCapacityRequest method.
4155//    req, resp := client.DescribeFleetCapacityRequest(params)
4156//
4157//    err := req.Send()
4158//    if err == nil { // resp is now filled
4159//        fmt.Println(resp)
4160//    }
4161//
4162// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
4163func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInput) (req *request.Request, output *DescribeFleetCapacityOutput) {
4164	op := &request.Operation{
4165		Name:       opDescribeFleetCapacity,
4166		HTTPMethod: "POST",
4167		HTTPPath:   "/",
4168		Paginator: &request.Paginator{
4169			InputTokens:     []string{"NextToken"},
4170			OutputTokens:    []string{"NextToken"},
4171			LimitToken:      "Limit",
4172			TruncationToken: "",
4173		},
4174	}
4175
4176	if input == nil {
4177		input = &DescribeFleetCapacityInput{}
4178	}
4179
4180	output = &DescribeFleetCapacityOutput{}
4181	req = c.newRequest(op, input, output)
4182	return
4183}
4184
4185// DescribeFleetCapacity API operation for Amazon GameLift.
4186//
4187// Retrieves the resource capacity settings for one or more fleets. The data
4188// returned includes the current fleet capacity (number of EC2 instances), and
4189// settings that can control how capacity scaling. For fleets with remote locations,
4190// this operation retrieves data for the fleet's home Region only. See DescribeFleetLocationCapacity
4191// to get capacity settings for a fleet's remote locations.
4192//
4193// This operation can be used in the following ways:
4194//
4195//    * To get capacity data for one or more specific fleets, provide a list
4196//    of fleet IDs or fleet ARNs.
4197//
4198//    * To get capacity data for all fleets, do not provide a fleet identifier.
4199//
4200// When requesting multiple fleets, use the pagination parameters to retrieve
4201// results as a set of sequential pages.
4202//
4203// If successful, a FleetCapacity object is returned for each requested fleet
4204// ID. Each FleetCapacity object includes a Location property, which is set
4205// to the fleet's home Region. When a list of fleet IDs is provided, attribute
4206// objects are returned only for fleets that currently exist.
4207//
4208// Some API operations may limit the number of fleet IDs that are allowed in
4209// one request. If a request exceeds this limit, the request fails and the error
4210// message includes the maximum allowed.
4211//
4212// Learn more
4213//
4214// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
4215//
4216// GameLift metrics for fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
4217//
4218// Related actions
4219//
4220// ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
4221// | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
4222// | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
4223// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
4224//
4225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4226// with awserr.Error's Code and Message methods to get detailed information about
4227// the error.
4228//
4229// See the AWS API reference guide for Amazon GameLift's
4230// API operation DescribeFleetCapacity for usage and error information.
4231//
4232// Returned Error Types:
4233//   * InternalServiceException
4234//   The service encountered an unrecoverable internal failure while processing
4235//   the request. Clients can retry such requests immediately or after a waiting
4236//   period.
4237//
4238//   * NotFoundException
4239//   A service resource associated with the request could not be found. Clients
4240//   should not retry such requests.
4241//
4242//   * InvalidRequestException
4243//   One or more parameter values in the request are invalid. Correct the invalid
4244//   parameter values before retrying.
4245//
4246//   * UnauthorizedException
4247//   The client failed authentication. Clients should not retry such requests.
4248//
4249// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
4250func (c *GameLift) DescribeFleetCapacity(input *DescribeFleetCapacityInput) (*DescribeFleetCapacityOutput, error) {
4251	req, out := c.DescribeFleetCapacityRequest(input)
4252	return out, req.Send()
4253}
4254
4255// DescribeFleetCapacityWithContext is the same as DescribeFleetCapacity with the addition of
4256// the ability to pass a context and additional request options.
4257//
4258// See DescribeFleetCapacity for details on how to use this API operation.
4259//
4260// The context must be non-nil and will be used for request cancellation. If
4261// the context is nil a panic will occur. In the future the SDK may create
4262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4263// for more information on using Contexts.
4264func (c *GameLift) DescribeFleetCapacityWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, opts ...request.Option) (*DescribeFleetCapacityOutput, error) {
4265	req, out := c.DescribeFleetCapacityRequest(input)
4266	req.SetContext(ctx)
4267	req.ApplyOptions(opts...)
4268	return out, req.Send()
4269}
4270
4271// DescribeFleetCapacityPages iterates over the pages of a DescribeFleetCapacity operation,
4272// calling the "fn" function with the response data for each page. To stop
4273// iterating, return false from the fn function.
4274//
4275// See DescribeFleetCapacity method for more information on how to use this operation.
4276//
4277// Note: This operation can generate multiple requests to a service.
4278//
4279//    // Example iterating over at most 3 pages of a DescribeFleetCapacity operation.
4280//    pageNum := 0
4281//    err := client.DescribeFleetCapacityPages(params,
4282//        func(page *gamelift.DescribeFleetCapacityOutput, lastPage bool) bool {
4283//            pageNum++
4284//            fmt.Println(page)
4285//            return pageNum <= 3
4286//        })
4287//
4288func (c *GameLift) DescribeFleetCapacityPages(input *DescribeFleetCapacityInput, fn func(*DescribeFleetCapacityOutput, bool) bool) error {
4289	return c.DescribeFleetCapacityPagesWithContext(aws.BackgroundContext(), input, fn)
4290}
4291
4292// DescribeFleetCapacityPagesWithContext same as DescribeFleetCapacityPages except
4293// it takes a Context and allows setting request options on the pages.
4294//
4295// The context must be non-nil and will be used for request cancellation. If
4296// the context is nil a panic will occur. In the future the SDK may create
4297// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4298// for more information on using Contexts.
4299func (c *GameLift) DescribeFleetCapacityPagesWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, fn func(*DescribeFleetCapacityOutput, bool) bool, opts ...request.Option) error {
4300	p := request.Pagination{
4301		NewRequest: func() (*request.Request, error) {
4302			var inCpy *DescribeFleetCapacityInput
4303			if input != nil {
4304				tmp := *input
4305				inCpy = &tmp
4306			}
4307			req, _ := c.DescribeFleetCapacityRequest(inCpy)
4308			req.SetContext(ctx)
4309			req.ApplyOptions(opts...)
4310			return req, nil
4311		},
4312	}
4313
4314	for p.Next() {
4315		if !fn(p.Page().(*DescribeFleetCapacityOutput), !p.HasNextPage()) {
4316			break
4317		}
4318	}
4319
4320	return p.Err()
4321}
4322
4323const opDescribeFleetEvents = "DescribeFleetEvents"
4324
4325// DescribeFleetEventsRequest generates a "aws/request.Request" representing the
4326// client's request for the DescribeFleetEvents operation. The "output" return
4327// value will be populated with the request's response once the request completes
4328// successfully.
4329//
4330// Use "Send" method on the returned Request to send the API call to the service.
4331// the "output" return value is not valid until after Send returns without error.
4332//
4333// See DescribeFleetEvents for more information on using the DescribeFleetEvents
4334// API call, and error handling.
4335//
4336// This method is useful when you want to inject custom logic or configuration
4337// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4338//
4339//
4340//    // Example sending a request using the DescribeFleetEventsRequest method.
4341//    req, resp := client.DescribeFleetEventsRequest(params)
4342//
4343//    err := req.Send()
4344//    if err == nil { // resp is now filled
4345//        fmt.Println(resp)
4346//    }
4347//
4348// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
4349func (c *GameLift) DescribeFleetEventsRequest(input *DescribeFleetEventsInput) (req *request.Request, output *DescribeFleetEventsOutput) {
4350	op := &request.Operation{
4351		Name:       opDescribeFleetEvents,
4352		HTTPMethod: "POST",
4353		HTTPPath:   "/",
4354		Paginator: &request.Paginator{
4355			InputTokens:     []string{"NextToken"},
4356			OutputTokens:    []string{"NextToken"},
4357			LimitToken:      "Limit",
4358			TruncationToken: "",
4359		},
4360	}
4361
4362	if input == nil {
4363		input = &DescribeFleetEventsInput{}
4364	}
4365
4366	output = &DescribeFleetEventsOutput{}
4367	req = c.newRequest(op, input, output)
4368	return
4369}
4370
4371// DescribeFleetEvents API operation for Amazon GameLift.
4372//
4373// Retrieves entries from a fleet's event log. Fleet events are initiated by
4374// changes in status, such as during fleet creation and termination, changes
4375// in capacity, etc. If a fleet has multiple locations, events are also initiated
4376// by changes to status and capacity in remote locations.
4377//
4378// You can specify a time range to limit the result set. Use the pagination
4379// parameters to retrieve results as a set of sequential pages.
4380//
4381// If successful, a collection of event log entries matching the request are
4382// returned.
4383//
4384// Learn more
4385//
4386// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
4387//
4388// Related actions
4389//
4390// ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
4391// | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
4392// | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
4393// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
4394//
4395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4396// with awserr.Error's Code and Message methods to get detailed information about
4397// the error.
4398//
4399// See the AWS API reference guide for Amazon GameLift's
4400// API operation DescribeFleetEvents for usage and error information.
4401//
4402// Returned Error Types:
4403//   * NotFoundException
4404//   A service resource associated with the request could not be found. Clients
4405//   should not retry such requests.
4406//
4407//   * InternalServiceException
4408//   The service encountered an unrecoverable internal failure while processing
4409//   the request. Clients can retry such requests immediately or after a waiting
4410//   period.
4411//
4412//   * UnauthorizedException
4413//   The client failed authentication. Clients should not retry such requests.
4414//
4415//   * InvalidRequestException
4416//   One or more parameter values in the request are invalid. Correct the invalid
4417//   parameter values before retrying.
4418//
4419// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
4420func (c *GameLift) DescribeFleetEvents(input *DescribeFleetEventsInput) (*DescribeFleetEventsOutput, error) {
4421	req, out := c.DescribeFleetEventsRequest(input)
4422	return out, req.Send()
4423}
4424
4425// DescribeFleetEventsWithContext is the same as DescribeFleetEvents with the addition of
4426// the ability to pass a context and additional request options.
4427//
4428// See DescribeFleetEvents for details on how to use this API operation.
4429//
4430// The context must be non-nil and will be used for request cancellation. If
4431// the context is nil a panic will occur. In the future the SDK may create
4432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4433// for more information on using Contexts.
4434func (c *GameLift) DescribeFleetEventsWithContext(ctx aws.Context, input *DescribeFleetEventsInput, opts ...request.Option) (*DescribeFleetEventsOutput, error) {
4435	req, out := c.DescribeFleetEventsRequest(input)
4436	req.SetContext(ctx)
4437	req.ApplyOptions(opts...)
4438	return out, req.Send()
4439}
4440
4441// DescribeFleetEventsPages iterates over the pages of a DescribeFleetEvents operation,
4442// calling the "fn" function with the response data for each page. To stop
4443// iterating, return false from the fn function.
4444//
4445// See DescribeFleetEvents method for more information on how to use this operation.
4446//
4447// Note: This operation can generate multiple requests to a service.
4448//
4449//    // Example iterating over at most 3 pages of a DescribeFleetEvents operation.
4450//    pageNum := 0
4451//    err := client.DescribeFleetEventsPages(params,
4452//        func(page *gamelift.DescribeFleetEventsOutput, lastPage bool) bool {
4453//            pageNum++
4454//            fmt.Println(page)
4455//            return pageNum <= 3
4456//        })
4457//
4458func (c *GameLift) DescribeFleetEventsPages(input *DescribeFleetEventsInput, fn func(*DescribeFleetEventsOutput, bool) bool) error {
4459	return c.DescribeFleetEventsPagesWithContext(aws.BackgroundContext(), input, fn)
4460}
4461
4462// DescribeFleetEventsPagesWithContext same as DescribeFleetEventsPages except
4463// it takes a Context and allows setting request options on the pages.
4464//
4465// The context must be non-nil and will be used for request cancellation. If
4466// the context is nil a panic will occur. In the future the SDK may create
4467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4468// for more information on using Contexts.
4469func (c *GameLift) DescribeFleetEventsPagesWithContext(ctx aws.Context, input *DescribeFleetEventsInput, fn func(*DescribeFleetEventsOutput, bool) bool, opts ...request.Option) error {
4470	p := request.Pagination{
4471		NewRequest: func() (*request.Request, error) {
4472			var inCpy *DescribeFleetEventsInput
4473			if input != nil {
4474				tmp := *input
4475				inCpy = &tmp
4476			}
4477			req, _ := c.DescribeFleetEventsRequest(inCpy)
4478			req.SetContext(ctx)
4479			req.ApplyOptions(opts...)
4480			return req, nil
4481		},
4482	}
4483
4484	for p.Next() {
4485		if !fn(p.Page().(*DescribeFleetEventsOutput), !p.HasNextPage()) {
4486			break
4487		}
4488	}
4489
4490	return p.Err()
4491}
4492
4493const opDescribeFleetLocationAttributes = "DescribeFleetLocationAttributes"
4494
4495// DescribeFleetLocationAttributesRequest generates a "aws/request.Request" representing the
4496// client's request for the DescribeFleetLocationAttributes operation. The "output" return
4497// value will be populated with the request's response once the request completes
4498// successfully.
4499//
4500// Use "Send" method on the returned Request to send the API call to the service.
4501// the "output" return value is not valid until after Send returns without error.
4502//
4503// See DescribeFleetLocationAttributes for more information on using the DescribeFleetLocationAttributes
4504// API call, and error handling.
4505//
4506// This method is useful when you want to inject custom logic or configuration
4507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4508//
4509//
4510//    // Example sending a request using the DescribeFleetLocationAttributesRequest method.
4511//    req, resp := client.DescribeFleetLocationAttributesRequest(params)
4512//
4513//    err := req.Send()
4514//    if err == nil { // resp is now filled
4515//        fmt.Println(resp)
4516//    }
4517//
4518// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationAttributes
4519func (c *GameLift) DescribeFleetLocationAttributesRequest(input *DescribeFleetLocationAttributesInput) (req *request.Request, output *DescribeFleetLocationAttributesOutput) {
4520	op := &request.Operation{
4521		Name:       opDescribeFleetLocationAttributes,
4522		HTTPMethod: "POST",
4523		HTTPPath:   "/",
4524		Paginator: &request.Paginator{
4525			InputTokens:     []string{"NextToken"},
4526			OutputTokens:    []string{"NextToken"},
4527			LimitToken:      "Limit",
4528			TruncationToken: "",
4529		},
4530	}
4531
4532	if input == nil {
4533		input = &DescribeFleetLocationAttributesInput{}
4534	}
4535
4536	output = &DescribeFleetLocationAttributesOutput{}
4537	req = c.newRequest(op, input, output)
4538	return
4539}
4540
4541// DescribeFleetLocationAttributes API operation for Amazon GameLift.
4542//
4543// Retrieves information on a fleet's remote locations, including life-cycle
4544// status and any suspended fleet activity.
4545//
4546// This operation can be used in the following ways:
4547//
4548//    * To get data for specific locations, provide a fleet identifier and a
4549//    list of locations. Location data is returned in the order that it is requested.
4550//
4551//    * To get data for all locations, provide a fleet identifier only. Location
4552//    data is returned in no particular order.
4553//
4554// When requesting attributes for multiple locations, use the pagination parameters
4555// to retrieve results as a set of sequential pages.
4556//
4557// If successful, a LocationAttributes object is returned for each requested
4558// location. If the fleet does not have a requested location, no information
4559// is returned. This operation does not return the home Region. To get information
4560// on a fleet's home Region, call DescribeFleetAttributes.
4561//
4562// Learn more
4563//
4564// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
4565//
4566// Related actions
4567//
4568// CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
4569// | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
4570// | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
4571// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
4572//
4573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4574// with awserr.Error's Code and Message methods to get detailed information about
4575// the error.
4576//
4577// See the AWS API reference guide for Amazon GameLift's
4578// API operation DescribeFleetLocationAttributes for usage and error information.
4579//
4580// Returned Error Types:
4581//   * InternalServiceException
4582//   The service encountered an unrecoverable internal failure while processing
4583//   the request. Clients can retry such requests immediately or after a waiting
4584//   period.
4585//
4586//   * InvalidRequestException
4587//   One or more parameter values in the request are invalid. Correct the invalid
4588//   parameter values before retrying.
4589//
4590//   * UnauthorizedException
4591//   The client failed authentication. Clients should not retry such requests.
4592//
4593//   * NotFoundException
4594//   A service resource associated with the request could not be found. Clients
4595//   should not retry such requests.
4596//
4597//   * UnsupportedRegionException
4598//   The requested operation is not supported in the Region specified.
4599//
4600// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationAttributes
4601func (c *GameLift) DescribeFleetLocationAttributes(input *DescribeFleetLocationAttributesInput) (*DescribeFleetLocationAttributesOutput, error) {
4602	req, out := c.DescribeFleetLocationAttributesRequest(input)
4603	return out, req.Send()
4604}
4605
4606// DescribeFleetLocationAttributesWithContext is the same as DescribeFleetLocationAttributes with the addition of
4607// the ability to pass a context and additional request options.
4608//
4609// See DescribeFleetLocationAttributes for details on how to use this API operation.
4610//
4611// The context must be non-nil and will be used for request cancellation. If
4612// the context is nil a panic will occur. In the future the SDK may create
4613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4614// for more information on using Contexts.
4615func (c *GameLift) DescribeFleetLocationAttributesWithContext(ctx aws.Context, input *DescribeFleetLocationAttributesInput, opts ...request.Option) (*DescribeFleetLocationAttributesOutput, error) {
4616	req, out := c.DescribeFleetLocationAttributesRequest(input)
4617	req.SetContext(ctx)
4618	req.ApplyOptions(opts...)
4619	return out, req.Send()
4620}
4621
4622// DescribeFleetLocationAttributesPages iterates over the pages of a DescribeFleetLocationAttributes operation,
4623// calling the "fn" function with the response data for each page. To stop
4624// iterating, return false from the fn function.
4625//
4626// See DescribeFleetLocationAttributes method for more information on how to use this operation.
4627//
4628// Note: This operation can generate multiple requests to a service.
4629//
4630//    // Example iterating over at most 3 pages of a DescribeFleetLocationAttributes operation.
4631//    pageNum := 0
4632//    err := client.DescribeFleetLocationAttributesPages(params,
4633//        func(page *gamelift.DescribeFleetLocationAttributesOutput, lastPage bool) bool {
4634//            pageNum++
4635//            fmt.Println(page)
4636//            return pageNum <= 3
4637//        })
4638//
4639func (c *GameLift) DescribeFleetLocationAttributesPages(input *DescribeFleetLocationAttributesInput, fn func(*DescribeFleetLocationAttributesOutput, bool) bool) error {
4640	return c.DescribeFleetLocationAttributesPagesWithContext(aws.BackgroundContext(), input, fn)
4641}
4642
4643// DescribeFleetLocationAttributesPagesWithContext same as DescribeFleetLocationAttributesPages except
4644// it takes a Context and allows setting request options on the pages.
4645//
4646// The context must be non-nil and will be used for request cancellation. If
4647// the context is nil a panic will occur. In the future the SDK may create
4648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4649// for more information on using Contexts.
4650func (c *GameLift) DescribeFleetLocationAttributesPagesWithContext(ctx aws.Context, input *DescribeFleetLocationAttributesInput, fn func(*DescribeFleetLocationAttributesOutput, bool) bool, opts ...request.Option) error {
4651	p := request.Pagination{
4652		NewRequest: func() (*request.Request, error) {
4653			var inCpy *DescribeFleetLocationAttributesInput
4654			if input != nil {
4655				tmp := *input
4656				inCpy = &tmp
4657			}
4658			req, _ := c.DescribeFleetLocationAttributesRequest(inCpy)
4659			req.SetContext(ctx)
4660			req.ApplyOptions(opts...)
4661			return req, nil
4662		},
4663	}
4664
4665	for p.Next() {
4666		if !fn(p.Page().(*DescribeFleetLocationAttributesOutput), !p.HasNextPage()) {
4667			break
4668		}
4669	}
4670
4671	return p.Err()
4672}
4673
4674const opDescribeFleetLocationCapacity = "DescribeFleetLocationCapacity"
4675
4676// DescribeFleetLocationCapacityRequest generates a "aws/request.Request" representing the
4677// client's request for the DescribeFleetLocationCapacity operation. The "output" return
4678// value will be populated with the request's response once the request completes
4679// successfully.
4680//
4681// Use "Send" method on the returned Request to send the API call to the service.
4682// the "output" return value is not valid until after Send returns without error.
4683//
4684// See DescribeFleetLocationCapacity for more information on using the DescribeFleetLocationCapacity
4685// API call, and error handling.
4686//
4687// This method is useful when you want to inject custom logic or configuration
4688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4689//
4690//
4691//    // Example sending a request using the DescribeFleetLocationCapacityRequest method.
4692//    req, resp := client.DescribeFleetLocationCapacityRequest(params)
4693//
4694//    err := req.Send()
4695//    if err == nil { // resp is now filled
4696//        fmt.Println(resp)
4697//    }
4698//
4699// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationCapacity
4700func (c *GameLift) DescribeFleetLocationCapacityRequest(input *DescribeFleetLocationCapacityInput) (req *request.Request, output *DescribeFleetLocationCapacityOutput) {
4701	op := &request.Operation{
4702		Name:       opDescribeFleetLocationCapacity,
4703		HTTPMethod: "POST",
4704		HTTPPath:   "/",
4705	}
4706
4707	if input == nil {
4708		input = &DescribeFleetLocationCapacityInput{}
4709	}
4710
4711	output = &DescribeFleetLocationCapacityOutput{}
4712	req = c.newRequest(op, input, output)
4713	return
4714}
4715
4716// DescribeFleetLocationCapacity API operation for Amazon GameLift.
4717//
4718// Retrieves the resource capacity settings for a fleet location. The data returned
4719// includes the current capacity (number of EC2 instances) and some scaling
4720// settings for the requested fleet location. Use this operation to retrieve
4721// capacity information for a fleet's remote location or home Region (you can
4722// also retrieve home Region capacity by calling DescribeFleetCapacity).
4723//
4724// To retrieve capacity data, identify a fleet and location.
4725//
4726// If successful, a FleetCapacity object is returned for the requested fleet
4727// location.
4728//
4729// Learn more
4730//
4731// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
4732//
4733// GameLift metrics for fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
4734//
4735// Related actions
4736//
4737// CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
4738// | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
4739// | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
4740// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
4741//
4742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4743// with awserr.Error's Code and Message methods to get detailed information about
4744// the error.
4745//
4746// See the AWS API reference guide for Amazon GameLift's
4747// API operation DescribeFleetLocationCapacity for usage and error information.
4748//
4749// Returned Error Types:
4750//   * InternalServiceException
4751//   The service encountered an unrecoverable internal failure while processing
4752//   the request. Clients can retry such requests immediately or after a waiting
4753//   period.
4754//
4755//   * InvalidRequestException
4756//   One or more parameter values in the request are invalid. Correct the invalid
4757//   parameter values before retrying.
4758//
4759//   * UnauthorizedException
4760//   The client failed authentication. Clients should not retry such requests.
4761//
4762//   * NotFoundException
4763//   A service resource associated with the request could not be found. Clients
4764//   should not retry such requests.
4765//
4766//   * UnsupportedRegionException
4767//   The requested operation is not supported in the Region specified.
4768//
4769// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationCapacity
4770func (c *GameLift) DescribeFleetLocationCapacity(input *DescribeFleetLocationCapacityInput) (*DescribeFleetLocationCapacityOutput, error) {
4771	req, out := c.DescribeFleetLocationCapacityRequest(input)
4772	return out, req.Send()
4773}
4774
4775// DescribeFleetLocationCapacityWithContext is the same as DescribeFleetLocationCapacity with the addition of
4776// the ability to pass a context and additional request options.
4777//
4778// See DescribeFleetLocationCapacity for details on how to use this API operation.
4779//
4780// The context must be non-nil and will be used for request cancellation. If
4781// the context is nil a panic will occur. In the future the SDK may create
4782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4783// for more information on using Contexts.
4784func (c *GameLift) DescribeFleetLocationCapacityWithContext(ctx aws.Context, input *DescribeFleetLocationCapacityInput, opts ...request.Option) (*DescribeFleetLocationCapacityOutput, error) {
4785	req, out := c.DescribeFleetLocationCapacityRequest(input)
4786	req.SetContext(ctx)
4787	req.ApplyOptions(opts...)
4788	return out, req.Send()
4789}
4790
4791const opDescribeFleetLocationUtilization = "DescribeFleetLocationUtilization"
4792
4793// DescribeFleetLocationUtilizationRequest generates a "aws/request.Request" representing the
4794// client's request for the DescribeFleetLocationUtilization operation. The "output" return
4795// value will be populated with the request's response once the request completes
4796// successfully.
4797//
4798// Use "Send" method on the returned Request to send the API call to the service.
4799// the "output" return value is not valid until after Send returns without error.
4800//
4801// See DescribeFleetLocationUtilization for more information on using the DescribeFleetLocationUtilization
4802// API call, and error handling.
4803//
4804// This method is useful when you want to inject custom logic or configuration
4805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4806//
4807//
4808//    // Example sending a request using the DescribeFleetLocationUtilizationRequest method.
4809//    req, resp := client.DescribeFleetLocationUtilizationRequest(params)
4810//
4811//    err := req.Send()
4812//    if err == nil { // resp is now filled
4813//        fmt.Println(resp)
4814//    }
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationUtilization
4817func (c *GameLift) DescribeFleetLocationUtilizationRequest(input *DescribeFleetLocationUtilizationInput) (req *request.Request, output *DescribeFleetLocationUtilizationOutput) {
4818	op := &request.Operation{
4819		Name:       opDescribeFleetLocationUtilization,
4820		HTTPMethod: "POST",
4821		HTTPPath:   "/",
4822	}
4823
4824	if input == nil {
4825		input = &DescribeFleetLocationUtilizationInput{}
4826	}
4827
4828	output = &DescribeFleetLocationUtilizationOutput{}
4829	req = c.newRequest(op, input, output)
4830	return
4831}
4832
4833// DescribeFleetLocationUtilization API operation for Amazon GameLift.
4834//
4835// Retrieves current usage data for a fleet location. Utilization data provides
4836// a snapshot of current game hosting activity at the requested location. Use
4837// this operation to retrieve utilization information for a fleet's remote location
4838// or home Region (you can also retrieve home Region utilization by calling
4839// DescribeFleetUtilization).
4840//
4841// To retrieve utilization data, identify a fleet and location.
4842//
4843// If successful, a FleetUtilization object is returned for the requested fleet
4844// location.
4845//
4846// Learn more
4847//
4848// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
4849//
4850// GameLift metrics for fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
4851//
4852// Related actions
4853//
4854// CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
4855// | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
4856// | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
4857// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
4858//
4859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4860// with awserr.Error's Code and Message methods to get detailed information about
4861// the error.
4862//
4863// See the AWS API reference guide for Amazon GameLift's
4864// API operation DescribeFleetLocationUtilization for usage and error information.
4865//
4866// Returned Error Types:
4867//   * InternalServiceException
4868//   The service encountered an unrecoverable internal failure while processing
4869//   the request. Clients can retry such requests immediately or after a waiting
4870//   period.
4871//
4872//   * InvalidRequestException
4873//   One or more parameter values in the request are invalid. Correct the invalid
4874//   parameter values before retrying.
4875//
4876//   * UnauthorizedException
4877//   The client failed authentication. Clients should not retry such requests.
4878//
4879//   * NotFoundException
4880//   A service resource associated with the request could not be found. Clients
4881//   should not retry such requests.
4882//
4883//   * UnsupportedRegionException
4884//   The requested operation is not supported in the Region specified.
4885//
4886// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationUtilization
4887func (c *GameLift) DescribeFleetLocationUtilization(input *DescribeFleetLocationUtilizationInput) (*DescribeFleetLocationUtilizationOutput, error) {
4888	req, out := c.DescribeFleetLocationUtilizationRequest(input)
4889	return out, req.Send()
4890}
4891
4892// DescribeFleetLocationUtilizationWithContext is the same as DescribeFleetLocationUtilization with the addition of
4893// the ability to pass a context and additional request options.
4894//
4895// See DescribeFleetLocationUtilization for details on how to use this API operation.
4896//
4897// The context must be non-nil and will be used for request cancellation. If
4898// the context is nil a panic will occur. In the future the SDK may create
4899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4900// for more information on using Contexts.
4901func (c *GameLift) DescribeFleetLocationUtilizationWithContext(ctx aws.Context, input *DescribeFleetLocationUtilizationInput, opts ...request.Option) (*DescribeFleetLocationUtilizationOutput, error) {
4902	req, out := c.DescribeFleetLocationUtilizationRequest(input)
4903	req.SetContext(ctx)
4904	req.ApplyOptions(opts...)
4905	return out, req.Send()
4906}
4907
4908const opDescribeFleetPortSettings = "DescribeFleetPortSettings"
4909
4910// DescribeFleetPortSettingsRequest generates a "aws/request.Request" representing the
4911// client's request for the DescribeFleetPortSettings operation. The "output" return
4912// value will be populated with the request's response once the request completes
4913// successfully.
4914//
4915// Use "Send" method on the returned Request to send the API call to the service.
4916// the "output" return value is not valid until after Send returns without error.
4917//
4918// See DescribeFleetPortSettings for more information on using the DescribeFleetPortSettings
4919// API call, and error handling.
4920//
4921// This method is useful when you want to inject custom logic or configuration
4922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4923//
4924//
4925//    // Example sending a request using the DescribeFleetPortSettingsRequest method.
4926//    req, resp := client.DescribeFleetPortSettingsRequest(params)
4927//
4928//    err := req.Send()
4929//    if err == nil { // resp is now filled
4930//        fmt.Println(resp)
4931//    }
4932//
4933// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
4934func (c *GameLift) DescribeFleetPortSettingsRequest(input *DescribeFleetPortSettingsInput) (req *request.Request, output *DescribeFleetPortSettingsOutput) {
4935	op := &request.Operation{
4936		Name:       opDescribeFleetPortSettings,
4937		HTTPMethod: "POST",
4938		HTTPPath:   "/",
4939	}
4940
4941	if input == nil {
4942		input = &DescribeFleetPortSettingsInput{}
4943	}
4944
4945	output = &DescribeFleetPortSettingsOutput{}
4946	req = c.newRequest(op, input, output)
4947	return
4948}
4949
4950// DescribeFleetPortSettings API operation for Amazon GameLift.
4951//
4952// Retrieves a fleet's inbound connection permissions. Connection permissions
4953// specify the range of IP addresses and port settings that incoming traffic
4954// can use to access server processes in the fleet. Game sessions that are running
4955// on instances in the fleet must use connections that fall in this range.
4956//
4957// This operation can be used in the following ways:
4958//
4959//    * To retrieve the inbound connection permissions for a fleet, identify
4960//    the fleet's unique identifier.
4961//
4962//    * To check the status of recent updates to a fleet remote location, specify
4963//    the fleet ID and a location. Port setting updates can take time to propagate
4964//    across all locations.
4965//
4966// If successful, a set of IpPermission objects is returned for the requested
4967// fleet ID. When a location is specified, a pending status is included. If
4968// the requested fleet has been deleted, the result set is empty.
4969//
4970// Learn more
4971//
4972// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
4973//
4974// Related actions
4975//
4976// ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
4977// | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
4978// | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
4979// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
4980//
4981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4982// with awserr.Error's Code and Message methods to get detailed information about
4983// the error.
4984//
4985// See the AWS API reference guide for Amazon GameLift's
4986// API operation DescribeFleetPortSettings for usage and error information.
4987//
4988// Returned Error Types:
4989//   * InternalServiceException
4990//   The service encountered an unrecoverable internal failure while processing
4991//   the request. Clients can retry such requests immediately or after a waiting
4992//   period.
4993//
4994//   * NotFoundException
4995//   A service resource associated with the request could not be found. Clients
4996//   should not retry such requests.
4997//
4998//   * InvalidRequestException
4999//   One or more parameter values in the request are invalid. Correct the invalid
5000//   parameter values before retrying.
5001//
5002//   * UnauthorizedException
5003//   The client failed authentication. Clients should not retry such requests.
5004//
5005// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
5006func (c *GameLift) DescribeFleetPortSettings(input *DescribeFleetPortSettingsInput) (*DescribeFleetPortSettingsOutput, error) {
5007	req, out := c.DescribeFleetPortSettingsRequest(input)
5008	return out, req.Send()
5009}
5010
5011// DescribeFleetPortSettingsWithContext is the same as DescribeFleetPortSettings with the addition of
5012// the ability to pass a context and additional request options.
5013//
5014// See DescribeFleetPortSettings for details on how to use this API operation.
5015//
5016// The context must be non-nil and will be used for request cancellation. If
5017// the context is nil a panic will occur. In the future the SDK may create
5018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5019// for more information on using Contexts.
5020func (c *GameLift) DescribeFleetPortSettingsWithContext(ctx aws.Context, input *DescribeFleetPortSettingsInput, opts ...request.Option) (*DescribeFleetPortSettingsOutput, error) {
5021	req, out := c.DescribeFleetPortSettingsRequest(input)
5022	req.SetContext(ctx)
5023	req.ApplyOptions(opts...)
5024	return out, req.Send()
5025}
5026
5027const opDescribeFleetUtilization = "DescribeFleetUtilization"
5028
5029// DescribeFleetUtilizationRequest generates a "aws/request.Request" representing the
5030// client's request for the DescribeFleetUtilization operation. The "output" return
5031// value will be populated with the request's response once the request completes
5032// successfully.
5033//
5034// Use "Send" method on the returned Request to send the API call to the service.
5035// the "output" return value is not valid until after Send returns without error.
5036//
5037// See DescribeFleetUtilization for more information on using the DescribeFleetUtilization
5038// API call, and error handling.
5039//
5040// This method is useful when you want to inject custom logic or configuration
5041// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5042//
5043//
5044//    // Example sending a request using the DescribeFleetUtilizationRequest method.
5045//    req, resp := client.DescribeFleetUtilizationRequest(params)
5046//
5047//    err := req.Send()
5048//    if err == nil { // resp is now filled
5049//        fmt.Println(resp)
5050//    }
5051//
5052// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
5053func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizationInput) (req *request.Request, output *DescribeFleetUtilizationOutput) {
5054	op := &request.Operation{
5055		Name:       opDescribeFleetUtilization,
5056		HTTPMethod: "POST",
5057		HTTPPath:   "/",
5058		Paginator: &request.Paginator{
5059			InputTokens:     []string{"NextToken"},
5060			OutputTokens:    []string{"NextToken"},
5061			LimitToken:      "Limit",
5062			TruncationToken: "",
5063		},
5064	}
5065
5066	if input == nil {
5067		input = &DescribeFleetUtilizationInput{}
5068	}
5069
5070	output = &DescribeFleetUtilizationOutput{}
5071	req = c.newRequest(op, input, output)
5072	return
5073}
5074
5075// DescribeFleetUtilization API operation for Amazon GameLift.
5076//
5077// Retrieves utilization statistics for one or more fleets. Utilization data
5078// provides a snapshot of how the fleet's hosting resources are currently being
5079// used. For fleets with remote locations, this operation retrieves data for
5080// the fleet's home Region only. See DescribeFleetLocationUtilization to get
5081// utilization statistics for a fleet's remote locations.
5082//
5083// This operation can be used in the following ways:
5084//
5085//    * To get utilization data for one or more specific fleets, provide a list
5086//    of fleet IDs or fleet ARNs.
5087//
5088//    * To get utilization data for all fleets, do not provide a fleet identifier.
5089//
5090// When requesting multiple fleets, use the pagination parameters to retrieve
5091// results as a set of sequential pages.
5092//
5093// If successful, a FleetUtilization object is returned for each requested fleet
5094// ID, unless the fleet identifier is not found. Each fleet utilization object
5095// includes a Location property, which is set to the fleet's home Region.
5096//
5097// Some API operations may limit the number of fleet IDs allowed in one request.
5098// If a request exceeds this limit, the request fails and the error message
5099// includes the maximum allowed.
5100//
5101// Learn more
5102//
5103// Setting up GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
5104//
5105// GameLift Metrics for Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
5106//
5107// Related actions
5108//
5109// ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
5110// | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
5111// | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
5112// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
5113//
5114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5115// with awserr.Error's Code and Message methods to get detailed information about
5116// the error.
5117//
5118// See the AWS API reference guide for Amazon GameLift's
5119// API operation DescribeFleetUtilization for usage and error information.
5120//
5121// Returned Error Types:
5122//   * InternalServiceException
5123//   The service encountered an unrecoverable internal failure while processing
5124//   the request. Clients can retry such requests immediately or after a waiting
5125//   period.
5126//
5127//   * NotFoundException
5128//   A service resource associated with the request could not be found. Clients
5129//   should not retry such requests.
5130//
5131//   * InvalidRequestException
5132//   One or more parameter values in the request are invalid. Correct the invalid
5133//   parameter values before retrying.
5134//
5135//   * UnauthorizedException
5136//   The client failed authentication. Clients should not retry such requests.
5137//
5138// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
5139func (c *GameLift) DescribeFleetUtilization(input *DescribeFleetUtilizationInput) (*DescribeFleetUtilizationOutput, error) {
5140	req, out := c.DescribeFleetUtilizationRequest(input)
5141	return out, req.Send()
5142}
5143
5144// DescribeFleetUtilizationWithContext is the same as DescribeFleetUtilization with the addition of
5145// the ability to pass a context and additional request options.
5146//
5147// See DescribeFleetUtilization for details on how to use this API operation.
5148//
5149// The context must be non-nil and will be used for request cancellation. If
5150// the context is nil a panic will occur. In the future the SDK may create
5151// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5152// for more information on using Contexts.
5153func (c *GameLift) DescribeFleetUtilizationWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, opts ...request.Option) (*DescribeFleetUtilizationOutput, error) {
5154	req, out := c.DescribeFleetUtilizationRequest(input)
5155	req.SetContext(ctx)
5156	req.ApplyOptions(opts...)
5157	return out, req.Send()
5158}
5159
5160// DescribeFleetUtilizationPages iterates over the pages of a DescribeFleetUtilization operation,
5161// calling the "fn" function with the response data for each page. To stop
5162// iterating, return false from the fn function.
5163//
5164// See DescribeFleetUtilization method for more information on how to use this operation.
5165//
5166// Note: This operation can generate multiple requests to a service.
5167//
5168//    // Example iterating over at most 3 pages of a DescribeFleetUtilization operation.
5169//    pageNum := 0
5170//    err := client.DescribeFleetUtilizationPages(params,
5171//        func(page *gamelift.DescribeFleetUtilizationOutput, lastPage bool) bool {
5172//            pageNum++
5173//            fmt.Println(page)
5174//            return pageNum <= 3
5175//        })
5176//
5177func (c *GameLift) DescribeFleetUtilizationPages(input *DescribeFleetUtilizationInput, fn func(*DescribeFleetUtilizationOutput, bool) bool) error {
5178	return c.DescribeFleetUtilizationPagesWithContext(aws.BackgroundContext(), input, fn)
5179}
5180
5181// DescribeFleetUtilizationPagesWithContext same as DescribeFleetUtilizationPages except
5182// it takes a Context and allows setting request options on the pages.
5183//
5184// The context must be non-nil and will be used for request cancellation. If
5185// the context is nil a panic will occur. In the future the SDK may create
5186// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5187// for more information on using Contexts.
5188func (c *GameLift) DescribeFleetUtilizationPagesWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, fn func(*DescribeFleetUtilizationOutput, bool) bool, opts ...request.Option) error {
5189	p := request.Pagination{
5190		NewRequest: func() (*request.Request, error) {
5191			var inCpy *DescribeFleetUtilizationInput
5192			if input != nil {
5193				tmp := *input
5194				inCpy = &tmp
5195			}
5196			req, _ := c.DescribeFleetUtilizationRequest(inCpy)
5197			req.SetContext(ctx)
5198			req.ApplyOptions(opts...)
5199			return req, nil
5200		},
5201	}
5202
5203	for p.Next() {
5204		if !fn(p.Page().(*DescribeFleetUtilizationOutput), !p.HasNextPage()) {
5205			break
5206		}
5207	}
5208
5209	return p.Err()
5210}
5211
5212const opDescribeGameServer = "DescribeGameServer"
5213
5214// DescribeGameServerRequest generates a "aws/request.Request" representing the
5215// client's request for the DescribeGameServer operation. The "output" return
5216// value will be populated with the request's response once the request completes
5217// successfully.
5218//
5219// Use "Send" method on the returned Request to send the API call to the service.
5220// the "output" return value is not valid until after Send returns without error.
5221//
5222// See DescribeGameServer for more information on using the DescribeGameServer
5223// API call, and error handling.
5224//
5225// This method is useful when you want to inject custom logic or configuration
5226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5227//
5228//
5229//    // Example sending a request using the DescribeGameServerRequest method.
5230//    req, resp := client.DescribeGameServerRequest(params)
5231//
5232//    err := req.Send()
5233//    if err == nil { // resp is now filled
5234//        fmt.Println(resp)
5235//    }
5236//
5237// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServer
5238func (c *GameLift) DescribeGameServerRequest(input *DescribeGameServerInput) (req *request.Request, output *DescribeGameServerOutput) {
5239	op := &request.Operation{
5240		Name:       opDescribeGameServer,
5241		HTTPMethod: "POST",
5242		HTTPPath:   "/",
5243	}
5244
5245	if input == nil {
5246		input = &DescribeGameServerInput{}
5247	}
5248
5249	output = &DescribeGameServerOutput{}
5250	req = c.newRequest(op, input, output)
5251	return
5252}
5253
5254// DescribeGameServer API operation for Amazon GameLift.
5255//
5256// This operation is used with the GameLift FleetIQ solution and game server
5257// groups.
5258//
5259// Retrieves information for a registered game server. Information includes
5260// game server status, health check info, and the instance that the game server
5261// is running on.
5262//
5263// To retrieve game server information, specify the game server ID. If successful,
5264// the requested game server object is returned.
5265//
5266// Learn more
5267//
5268// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
5269//
5270// Related actions
5271//
5272// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
5273// | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
5274//
5275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5276// with awserr.Error's Code and Message methods to get detailed information about
5277// the error.
5278//
5279// See the AWS API reference guide for Amazon GameLift's
5280// API operation DescribeGameServer for usage and error information.
5281//
5282// Returned Error Types:
5283//   * InvalidRequestException
5284//   One or more parameter values in the request are invalid. Correct the invalid
5285//   parameter values before retrying.
5286//
5287//   * NotFoundException
5288//   A service resource associated with the request could not be found. Clients
5289//   should not retry such requests.
5290//
5291//   * UnauthorizedException
5292//   The client failed authentication. Clients should not retry such requests.
5293//
5294//   * InternalServiceException
5295//   The service encountered an unrecoverable internal failure while processing
5296//   the request. Clients can retry such requests immediately or after a waiting
5297//   period.
5298//
5299// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServer
5300func (c *GameLift) DescribeGameServer(input *DescribeGameServerInput) (*DescribeGameServerOutput, error) {
5301	req, out := c.DescribeGameServerRequest(input)
5302	return out, req.Send()
5303}
5304
5305// DescribeGameServerWithContext is the same as DescribeGameServer with the addition of
5306// the ability to pass a context and additional request options.
5307//
5308// See DescribeGameServer for details on how to use this API operation.
5309//
5310// The context must be non-nil and will be used for request cancellation. If
5311// the context is nil a panic will occur. In the future the SDK may create
5312// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5313// for more information on using Contexts.
5314func (c *GameLift) DescribeGameServerWithContext(ctx aws.Context, input *DescribeGameServerInput, opts ...request.Option) (*DescribeGameServerOutput, error) {
5315	req, out := c.DescribeGameServerRequest(input)
5316	req.SetContext(ctx)
5317	req.ApplyOptions(opts...)
5318	return out, req.Send()
5319}
5320
5321const opDescribeGameServerGroup = "DescribeGameServerGroup"
5322
5323// DescribeGameServerGroupRequest generates a "aws/request.Request" representing the
5324// client's request for the DescribeGameServerGroup operation. The "output" return
5325// value will be populated with the request's response once the request completes
5326// successfully.
5327//
5328// Use "Send" method on the returned Request to send the API call to the service.
5329// the "output" return value is not valid until after Send returns without error.
5330//
5331// See DescribeGameServerGroup for more information on using the DescribeGameServerGroup
5332// API call, and error handling.
5333//
5334// This method is useful when you want to inject custom logic or configuration
5335// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5336//
5337//
5338//    // Example sending a request using the DescribeGameServerGroupRequest method.
5339//    req, resp := client.DescribeGameServerGroupRequest(params)
5340//
5341//    err := req.Send()
5342//    if err == nil { // resp is now filled
5343//        fmt.Println(resp)
5344//    }
5345//
5346// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerGroup
5347func (c *GameLift) DescribeGameServerGroupRequest(input *DescribeGameServerGroupInput) (req *request.Request, output *DescribeGameServerGroupOutput) {
5348	op := &request.Operation{
5349		Name:       opDescribeGameServerGroup,
5350		HTTPMethod: "POST",
5351		HTTPPath:   "/",
5352	}
5353
5354	if input == nil {
5355		input = &DescribeGameServerGroupInput{}
5356	}
5357
5358	output = &DescribeGameServerGroupOutput{}
5359	req = c.newRequest(op, input, output)
5360	return
5361}
5362
5363// DescribeGameServerGroup API operation for Amazon GameLift.
5364//
5365// This operation is used with the GameLift FleetIQ solution and game server
5366// groups.
5367//
5368// Retrieves information on a game server group. This operation returns only
5369// properties related to GameLift FleetIQ. To view or update properties for
5370// the corresponding Auto Scaling group, such as launch template, auto scaling
5371// policies, and maximum/minimum group size, access the Auto Scaling group directly.
5372//
5373// To get attributes for a game server group, provide a group name or ARN value.
5374// If successful, a GameServerGroup object is returned.
5375//
5376// Learn more
5377//
5378// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
5379//
5380// Related actions
5381//
5382// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
5383// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
5384// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
5385//
5386// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5387// with awserr.Error's Code and Message methods to get detailed information about
5388// the error.
5389//
5390// See the AWS API reference guide for Amazon GameLift's
5391// API operation DescribeGameServerGroup for usage and error information.
5392//
5393// Returned Error Types:
5394//   * InvalidRequestException
5395//   One or more parameter values in the request are invalid. Correct the invalid
5396//   parameter values before retrying.
5397//
5398//   * NotFoundException
5399//   A service resource associated with the request could not be found. Clients
5400//   should not retry such requests.
5401//
5402//   * UnauthorizedException
5403//   The client failed authentication. Clients should not retry such requests.
5404//
5405//   * InternalServiceException
5406//   The service encountered an unrecoverable internal failure while processing
5407//   the request. Clients can retry such requests immediately or after a waiting
5408//   period.
5409//
5410// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerGroup
5411func (c *GameLift) DescribeGameServerGroup(input *DescribeGameServerGroupInput) (*DescribeGameServerGroupOutput, error) {
5412	req, out := c.DescribeGameServerGroupRequest(input)
5413	return out, req.Send()
5414}
5415
5416// DescribeGameServerGroupWithContext is the same as DescribeGameServerGroup with the addition of
5417// the ability to pass a context and additional request options.
5418//
5419// See DescribeGameServerGroup for details on how to use this API operation.
5420//
5421// The context must be non-nil and will be used for request cancellation. If
5422// the context is nil a panic will occur. In the future the SDK may create
5423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5424// for more information on using Contexts.
5425func (c *GameLift) DescribeGameServerGroupWithContext(ctx aws.Context, input *DescribeGameServerGroupInput, opts ...request.Option) (*DescribeGameServerGroupOutput, error) {
5426	req, out := c.DescribeGameServerGroupRequest(input)
5427	req.SetContext(ctx)
5428	req.ApplyOptions(opts...)
5429	return out, req.Send()
5430}
5431
5432const opDescribeGameServerInstances = "DescribeGameServerInstances"
5433
5434// DescribeGameServerInstancesRequest generates a "aws/request.Request" representing the
5435// client's request for the DescribeGameServerInstances operation. The "output" return
5436// value will be populated with the request's response once the request completes
5437// successfully.
5438//
5439// Use "Send" method on the returned Request to send the API call to the service.
5440// the "output" return value is not valid until after Send returns without error.
5441//
5442// See DescribeGameServerInstances for more information on using the DescribeGameServerInstances
5443// API call, and error handling.
5444//
5445// This method is useful when you want to inject custom logic or configuration
5446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5447//
5448//
5449//    // Example sending a request using the DescribeGameServerInstancesRequest method.
5450//    req, resp := client.DescribeGameServerInstancesRequest(params)
5451//
5452//    err := req.Send()
5453//    if err == nil { // resp is now filled
5454//        fmt.Println(resp)
5455//    }
5456//
5457// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerInstances
5458func (c *GameLift) DescribeGameServerInstancesRequest(input *DescribeGameServerInstancesInput) (req *request.Request, output *DescribeGameServerInstancesOutput) {
5459	op := &request.Operation{
5460		Name:       opDescribeGameServerInstances,
5461		HTTPMethod: "POST",
5462		HTTPPath:   "/",
5463		Paginator: &request.Paginator{
5464			InputTokens:     []string{"NextToken"},
5465			OutputTokens:    []string{"NextToken"},
5466			LimitToken:      "Limit",
5467			TruncationToken: "",
5468		},
5469	}
5470
5471	if input == nil {
5472		input = &DescribeGameServerInstancesInput{}
5473	}
5474
5475	output = &DescribeGameServerInstancesOutput{}
5476	req = c.newRequest(op, input, output)
5477	return
5478}
5479
5480// DescribeGameServerInstances API operation for Amazon GameLift.
5481//
5482// This operation is used with the GameLift FleetIQ solution and game server
5483// groups.
5484//
5485// Retrieves status information about the Amazon EC2 instances associated with
5486// a GameLift FleetIQ game server group. Use this operation to detect when instances
5487// are active or not available to host new game servers. If you are looking
5488// for instance configuration information, call DescribeGameServerGroup or access
5489// the corresponding Auto Scaling group properties.
5490//
5491// To request status for all instances in the game server group, provide a game
5492// server group ID only. To request status for specific instances, provide the
5493// game server group ID and one or more instance IDs. Use the pagination parameters
5494// to retrieve results in sequential segments. If successful, a collection of
5495// GameServerInstance objects is returned.
5496//
5497// This operation is not designed to be called with every game server claim
5498// request; this practice can cause you to exceed your API limit, which results
5499// in errors. Instead, as a best practice, cache the results and refresh your
5500// cache no more than once every 10 seconds.
5501//
5502// Learn more
5503//
5504// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
5505//
5506// Related actions
5507//
5508// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
5509// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
5510// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
5511//
5512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5513// with awserr.Error's Code and Message methods to get detailed information about
5514// the error.
5515//
5516// See the AWS API reference guide for Amazon GameLift's
5517// API operation DescribeGameServerInstances for usage and error information.
5518//
5519// Returned Error Types:
5520//   * InvalidRequestException
5521//   One or more parameter values in the request are invalid. Correct the invalid
5522//   parameter values before retrying.
5523//
5524//   * NotFoundException
5525//   A service resource associated with the request could not be found. Clients
5526//   should not retry such requests.
5527//
5528//   * UnauthorizedException
5529//   The client failed authentication. Clients should not retry such requests.
5530//
5531//   * InternalServiceException
5532//   The service encountered an unrecoverable internal failure while processing
5533//   the request. Clients can retry such requests immediately or after a waiting
5534//   period.
5535//
5536// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerInstances
5537func (c *GameLift) DescribeGameServerInstances(input *DescribeGameServerInstancesInput) (*DescribeGameServerInstancesOutput, error) {
5538	req, out := c.DescribeGameServerInstancesRequest(input)
5539	return out, req.Send()
5540}
5541
5542// DescribeGameServerInstancesWithContext is the same as DescribeGameServerInstances with the addition of
5543// the ability to pass a context and additional request options.
5544//
5545// See DescribeGameServerInstances for details on how to use this API operation.
5546//
5547// The context must be non-nil and will be used for request cancellation. If
5548// the context is nil a panic will occur. In the future the SDK may create
5549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5550// for more information on using Contexts.
5551func (c *GameLift) DescribeGameServerInstancesWithContext(ctx aws.Context, input *DescribeGameServerInstancesInput, opts ...request.Option) (*DescribeGameServerInstancesOutput, error) {
5552	req, out := c.DescribeGameServerInstancesRequest(input)
5553	req.SetContext(ctx)
5554	req.ApplyOptions(opts...)
5555	return out, req.Send()
5556}
5557
5558// DescribeGameServerInstancesPages iterates over the pages of a DescribeGameServerInstances operation,
5559// calling the "fn" function with the response data for each page. To stop
5560// iterating, return false from the fn function.
5561//
5562// See DescribeGameServerInstances method for more information on how to use this operation.
5563//
5564// Note: This operation can generate multiple requests to a service.
5565//
5566//    // Example iterating over at most 3 pages of a DescribeGameServerInstances operation.
5567//    pageNum := 0
5568//    err := client.DescribeGameServerInstancesPages(params,
5569//        func(page *gamelift.DescribeGameServerInstancesOutput, lastPage bool) bool {
5570//            pageNum++
5571//            fmt.Println(page)
5572//            return pageNum <= 3
5573//        })
5574//
5575func (c *GameLift) DescribeGameServerInstancesPages(input *DescribeGameServerInstancesInput, fn func(*DescribeGameServerInstancesOutput, bool) bool) error {
5576	return c.DescribeGameServerInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
5577}
5578
5579// DescribeGameServerInstancesPagesWithContext same as DescribeGameServerInstancesPages except
5580// it takes a Context and allows setting request options on the pages.
5581//
5582// The context must be non-nil and will be used for request cancellation. If
5583// the context is nil a panic will occur. In the future the SDK may create
5584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5585// for more information on using Contexts.
5586func (c *GameLift) DescribeGameServerInstancesPagesWithContext(ctx aws.Context, input *DescribeGameServerInstancesInput, fn func(*DescribeGameServerInstancesOutput, bool) bool, opts ...request.Option) error {
5587	p := request.Pagination{
5588		NewRequest: func() (*request.Request, error) {
5589			var inCpy *DescribeGameServerInstancesInput
5590			if input != nil {
5591				tmp := *input
5592				inCpy = &tmp
5593			}
5594			req, _ := c.DescribeGameServerInstancesRequest(inCpy)
5595			req.SetContext(ctx)
5596			req.ApplyOptions(opts...)
5597			return req, nil
5598		},
5599	}
5600
5601	for p.Next() {
5602		if !fn(p.Page().(*DescribeGameServerInstancesOutput), !p.HasNextPage()) {
5603			break
5604		}
5605	}
5606
5607	return p.Err()
5608}
5609
5610const opDescribeGameSessionDetails = "DescribeGameSessionDetails"
5611
5612// DescribeGameSessionDetailsRequest generates a "aws/request.Request" representing the
5613// client's request for the DescribeGameSessionDetails operation. The "output" return
5614// value will be populated with the request's response once the request completes
5615// successfully.
5616//
5617// Use "Send" method on the returned Request to send the API call to the service.
5618// the "output" return value is not valid until after Send returns without error.
5619//
5620// See DescribeGameSessionDetails for more information on using the DescribeGameSessionDetails
5621// API call, and error handling.
5622//
5623// This method is useful when you want to inject custom logic or configuration
5624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5625//
5626//
5627//    // Example sending a request using the DescribeGameSessionDetailsRequest method.
5628//    req, resp := client.DescribeGameSessionDetailsRequest(params)
5629//
5630//    err := req.Send()
5631//    if err == nil { // resp is now filled
5632//        fmt.Println(resp)
5633//    }
5634//
5635// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
5636func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionDetailsInput) (req *request.Request, output *DescribeGameSessionDetailsOutput) {
5637	op := &request.Operation{
5638		Name:       opDescribeGameSessionDetails,
5639		HTTPMethod: "POST",
5640		HTTPPath:   "/",
5641		Paginator: &request.Paginator{
5642			InputTokens:     []string{"NextToken"},
5643			OutputTokens:    []string{"NextToken"},
5644			LimitToken:      "Limit",
5645			TruncationToken: "",
5646		},
5647	}
5648
5649	if input == nil {
5650		input = &DescribeGameSessionDetailsInput{}
5651	}
5652
5653	output = &DescribeGameSessionDetailsOutput{}
5654	req = c.newRequest(op, input, output)
5655	return
5656}
5657
5658// DescribeGameSessionDetails API operation for Amazon GameLift.
5659//
5660// Retrieves additional game session properties, including the game session
5661// protection policy in force, a set of one or more game sessions in a specific
5662// fleet location. You can optionally filter the results by current game session
5663// status. Alternatively, use SearchGameSessions to request a set of active
5664// game sessions that are filtered by certain criteria. To retrieve all game
5665// session properties, use DescribeGameSessions.
5666//
5667// This operation can be used in the following ways:
5668//
5669//    * To retrieve details for all game sessions that are currently running
5670//    on all locations in a fleet, provide a fleet or alias ID, with an optional
5671//    status filter. This approach returns details from the fleet's home Region
5672//    and all remote locations.
5673//
5674//    * To retrieve details for all game sessions that are currently running
5675//    on a specific fleet location, provide a fleet or alias ID and a location
5676//    name, with optional status filter. The location can be the fleet's home
5677//    Region or any remote location.
5678//
5679//    * To retrieve details for a specific game session, provide the game session
5680//    ID. This approach looks for the game session ID in all fleets that reside
5681//    in the AWS Region defined in the request.
5682//
5683// Use the pagination parameters to retrieve results as a set of sequential
5684// pages.
5685//
5686// If successful, a GameSessionDetail object is returned for each game session
5687// that matches the request.
5688//
5689// Learn more
5690//
5691// Find a game session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-find)
5692//
5693// Related actions
5694//
5695// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
5696// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
5697// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
5698// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
5699//
5700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5701// with awserr.Error's Code and Message methods to get detailed information about
5702// the error.
5703//
5704// See the AWS API reference guide for Amazon GameLift's
5705// API operation DescribeGameSessionDetails for usage and error information.
5706//
5707// Returned Error Types:
5708//   * InternalServiceException
5709//   The service encountered an unrecoverable internal failure while processing
5710//   the request. Clients can retry such requests immediately or after a waiting
5711//   period.
5712//
5713//   * NotFoundException
5714//   A service resource associated with the request could not be found. Clients
5715//   should not retry such requests.
5716//
5717//   * InvalidRequestException
5718//   One or more parameter values in the request are invalid. Correct the invalid
5719//   parameter values before retrying.
5720//
5721//   * UnauthorizedException
5722//   The client failed authentication. Clients should not retry such requests.
5723//
5724//   * TerminalRoutingStrategyException
5725//   The service is unable to resolve the routing for a particular alias because
5726//   it has a terminal RoutingStrategy associated with it. The message returned
5727//   in this exception is the message defined in the routing strategy itself.
5728//   Such requests should only be retried if the routing strategy for the specified
5729//   alias is modified.
5730//
5731//   * UnsupportedRegionException
5732//   The requested operation is not supported in the Region specified.
5733//
5734// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
5735func (c *GameLift) DescribeGameSessionDetails(input *DescribeGameSessionDetailsInput) (*DescribeGameSessionDetailsOutput, error) {
5736	req, out := c.DescribeGameSessionDetailsRequest(input)
5737	return out, req.Send()
5738}
5739
5740// DescribeGameSessionDetailsWithContext is the same as DescribeGameSessionDetails with the addition of
5741// the ability to pass a context and additional request options.
5742//
5743// See DescribeGameSessionDetails for details on how to use this API operation.
5744//
5745// The context must be non-nil and will be used for request cancellation. If
5746// the context is nil a panic will occur. In the future the SDK may create
5747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5748// for more information on using Contexts.
5749func (c *GameLift) DescribeGameSessionDetailsWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, opts ...request.Option) (*DescribeGameSessionDetailsOutput, error) {
5750	req, out := c.DescribeGameSessionDetailsRequest(input)
5751	req.SetContext(ctx)
5752	req.ApplyOptions(opts...)
5753	return out, req.Send()
5754}
5755
5756// DescribeGameSessionDetailsPages iterates over the pages of a DescribeGameSessionDetails operation,
5757// calling the "fn" function with the response data for each page. To stop
5758// iterating, return false from the fn function.
5759//
5760// See DescribeGameSessionDetails method for more information on how to use this operation.
5761//
5762// Note: This operation can generate multiple requests to a service.
5763//
5764//    // Example iterating over at most 3 pages of a DescribeGameSessionDetails operation.
5765//    pageNum := 0
5766//    err := client.DescribeGameSessionDetailsPages(params,
5767//        func(page *gamelift.DescribeGameSessionDetailsOutput, lastPage bool) bool {
5768//            pageNum++
5769//            fmt.Println(page)
5770//            return pageNum <= 3
5771//        })
5772//
5773func (c *GameLift) DescribeGameSessionDetailsPages(input *DescribeGameSessionDetailsInput, fn func(*DescribeGameSessionDetailsOutput, bool) bool) error {
5774	return c.DescribeGameSessionDetailsPagesWithContext(aws.BackgroundContext(), input, fn)
5775}
5776
5777// DescribeGameSessionDetailsPagesWithContext same as DescribeGameSessionDetailsPages except
5778// it takes a Context and allows setting request options on the pages.
5779//
5780// The context must be non-nil and will be used for request cancellation. If
5781// the context is nil a panic will occur. In the future the SDK may create
5782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5783// for more information on using Contexts.
5784func (c *GameLift) DescribeGameSessionDetailsPagesWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, fn func(*DescribeGameSessionDetailsOutput, bool) bool, opts ...request.Option) error {
5785	p := request.Pagination{
5786		NewRequest: func() (*request.Request, error) {
5787			var inCpy *DescribeGameSessionDetailsInput
5788			if input != nil {
5789				tmp := *input
5790				inCpy = &tmp
5791			}
5792			req, _ := c.DescribeGameSessionDetailsRequest(inCpy)
5793			req.SetContext(ctx)
5794			req.ApplyOptions(opts...)
5795			return req, nil
5796		},
5797	}
5798
5799	for p.Next() {
5800		if !fn(p.Page().(*DescribeGameSessionDetailsOutput), !p.HasNextPage()) {
5801			break
5802		}
5803	}
5804
5805	return p.Err()
5806}
5807
5808const opDescribeGameSessionPlacement = "DescribeGameSessionPlacement"
5809
5810// DescribeGameSessionPlacementRequest generates a "aws/request.Request" representing the
5811// client's request for the DescribeGameSessionPlacement operation. The "output" return
5812// value will be populated with the request's response once the request completes
5813// successfully.
5814//
5815// Use "Send" method on the returned Request to send the API call to the service.
5816// the "output" return value is not valid until after Send returns without error.
5817//
5818// See DescribeGameSessionPlacement for more information on using the DescribeGameSessionPlacement
5819// API call, and error handling.
5820//
5821// This method is useful when you want to inject custom logic or configuration
5822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5823//
5824//
5825//    // Example sending a request using the DescribeGameSessionPlacementRequest method.
5826//    req, resp := client.DescribeGameSessionPlacementRequest(params)
5827//
5828//    err := req.Send()
5829//    if err == nil { // resp is now filled
5830//        fmt.Println(resp)
5831//    }
5832//
5833// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
5834func (c *GameLift) DescribeGameSessionPlacementRequest(input *DescribeGameSessionPlacementInput) (req *request.Request, output *DescribeGameSessionPlacementOutput) {
5835	op := &request.Operation{
5836		Name:       opDescribeGameSessionPlacement,
5837		HTTPMethod: "POST",
5838		HTTPPath:   "/",
5839	}
5840
5841	if input == nil {
5842		input = &DescribeGameSessionPlacementInput{}
5843	}
5844
5845	output = &DescribeGameSessionPlacementOutput{}
5846	req = c.newRequest(op, input, output)
5847	return
5848}
5849
5850// DescribeGameSessionPlacement API operation for Amazon GameLift.
5851//
5852// Retrieves information, including current status, about a game session placement
5853// request.
5854//
5855// To get game session placement details, specify the placement ID.
5856//
5857// If successful, a GameSessionPlacement object is returned.
5858//
5859// Related actions
5860//
5861// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
5862// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
5863// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
5864// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
5865//
5866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5867// with awserr.Error's Code and Message methods to get detailed information about
5868// the error.
5869//
5870// See the AWS API reference guide for Amazon GameLift's
5871// API operation DescribeGameSessionPlacement for usage and error information.
5872//
5873// Returned Error Types:
5874//   * InternalServiceException
5875//   The service encountered an unrecoverable internal failure while processing
5876//   the request. Clients can retry such requests immediately or after a waiting
5877//   period.
5878//
5879//   * InvalidRequestException
5880//   One or more parameter values in the request are invalid. Correct the invalid
5881//   parameter values before retrying.
5882//
5883//   * NotFoundException
5884//   A service resource associated with the request could not be found. Clients
5885//   should not retry such requests.
5886//
5887//   * UnauthorizedException
5888//   The client failed authentication. Clients should not retry such requests.
5889//
5890// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
5891func (c *GameLift) DescribeGameSessionPlacement(input *DescribeGameSessionPlacementInput) (*DescribeGameSessionPlacementOutput, error) {
5892	req, out := c.DescribeGameSessionPlacementRequest(input)
5893	return out, req.Send()
5894}
5895
5896// DescribeGameSessionPlacementWithContext is the same as DescribeGameSessionPlacement with the addition of
5897// the ability to pass a context and additional request options.
5898//
5899// See DescribeGameSessionPlacement for details on how to use this API operation.
5900//
5901// The context must be non-nil and will be used for request cancellation. If
5902// the context is nil a panic will occur. In the future the SDK may create
5903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5904// for more information on using Contexts.
5905func (c *GameLift) DescribeGameSessionPlacementWithContext(ctx aws.Context, input *DescribeGameSessionPlacementInput, opts ...request.Option) (*DescribeGameSessionPlacementOutput, error) {
5906	req, out := c.DescribeGameSessionPlacementRequest(input)
5907	req.SetContext(ctx)
5908	req.ApplyOptions(opts...)
5909	return out, req.Send()
5910}
5911
5912const opDescribeGameSessionQueues = "DescribeGameSessionQueues"
5913
5914// DescribeGameSessionQueuesRequest generates a "aws/request.Request" representing the
5915// client's request for the DescribeGameSessionQueues operation. The "output" return
5916// value will be populated with the request's response once the request completes
5917// successfully.
5918//
5919// Use "Send" method on the returned Request to send the API call to the service.
5920// the "output" return value is not valid until after Send returns without error.
5921//
5922// See DescribeGameSessionQueues for more information on using the DescribeGameSessionQueues
5923// API call, and error handling.
5924//
5925// This method is useful when you want to inject custom logic or configuration
5926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5927//
5928//
5929//    // Example sending a request using the DescribeGameSessionQueuesRequest method.
5930//    req, resp := client.DescribeGameSessionQueuesRequest(params)
5931//
5932//    err := req.Send()
5933//    if err == nil { // resp is now filled
5934//        fmt.Println(resp)
5935//    }
5936//
5937// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
5938func (c *GameLift) DescribeGameSessionQueuesRequest(input *DescribeGameSessionQueuesInput) (req *request.Request, output *DescribeGameSessionQueuesOutput) {
5939	op := &request.Operation{
5940		Name:       opDescribeGameSessionQueues,
5941		HTTPMethod: "POST",
5942		HTTPPath:   "/",
5943		Paginator: &request.Paginator{
5944			InputTokens:     []string{"NextToken"},
5945			OutputTokens:    []string{"NextToken"},
5946			LimitToken:      "Limit",
5947			TruncationToken: "",
5948		},
5949	}
5950
5951	if input == nil {
5952		input = &DescribeGameSessionQueuesInput{}
5953	}
5954
5955	output = &DescribeGameSessionQueuesOutput{}
5956	req = c.newRequest(op, input, output)
5957	return
5958}
5959
5960// DescribeGameSessionQueues API operation for Amazon GameLift.
5961//
5962// Retrieves the properties for one or more game session queues. When requesting
5963// multiple queues, use the pagination parameters to retrieve results as a set
5964// of sequential pages. If successful, a GameSessionQueue object is returned
5965// for each requested queue. When specifying a list of queues, objects are returned
5966// only for queues that currently exist in the Region.
5967//
5968// Learn more
5969//
5970//  View Your Queues (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-console.html)
5971//
5972// Related actions
5973//
5974// CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
5975// | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
5976//
5977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5978// with awserr.Error's Code and Message methods to get detailed information about
5979// the error.
5980//
5981// See the AWS API reference guide for Amazon GameLift's
5982// API operation DescribeGameSessionQueues for usage and error information.
5983//
5984// Returned Error Types:
5985//   * InternalServiceException
5986//   The service encountered an unrecoverable internal failure while processing
5987//   the request. Clients can retry such requests immediately or after a waiting
5988//   period.
5989//
5990//   * InvalidRequestException
5991//   One or more parameter values in the request are invalid. Correct the invalid
5992//   parameter values before retrying.
5993//
5994//   * NotFoundException
5995//   A service resource associated with the request could not be found. Clients
5996//   should not retry such requests.
5997//
5998//   * UnauthorizedException
5999//   The client failed authentication. Clients should not retry such requests.
6000//
6001// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
6002func (c *GameLift) DescribeGameSessionQueues(input *DescribeGameSessionQueuesInput) (*DescribeGameSessionQueuesOutput, error) {
6003	req, out := c.DescribeGameSessionQueuesRequest(input)
6004	return out, req.Send()
6005}
6006
6007// DescribeGameSessionQueuesWithContext is the same as DescribeGameSessionQueues with the addition of
6008// the ability to pass a context and additional request options.
6009//
6010// See DescribeGameSessionQueues for details on how to use this API operation.
6011//
6012// The context must be non-nil and will be used for request cancellation. If
6013// the context is nil a panic will occur. In the future the SDK may create
6014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6015// for more information on using Contexts.
6016func (c *GameLift) DescribeGameSessionQueuesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, opts ...request.Option) (*DescribeGameSessionQueuesOutput, error) {
6017	req, out := c.DescribeGameSessionQueuesRequest(input)
6018	req.SetContext(ctx)
6019	req.ApplyOptions(opts...)
6020	return out, req.Send()
6021}
6022
6023// DescribeGameSessionQueuesPages iterates over the pages of a DescribeGameSessionQueues operation,
6024// calling the "fn" function with the response data for each page. To stop
6025// iterating, return false from the fn function.
6026//
6027// See DescribeGameSessionQueues method for more information on how to use this operation.
6028//
6029// Note: This operation can generate multiple requests to a service.
6030//
6031//    // Example iterating over at most 3 pages of a DescribeGameSessionQueues operation.
6032//    pageNum := 0
6033//    err := client.DescribeGameSessionQueuesPages(params,
6034//        func(page *gamelift.DescribeGameSessionQueuesOutput, lastPage bool) bool {
6035//            pageNum++
6036//            fmt.Println(page)
6037//            return pageNum <= 3
6038//        })
6039//
6040func (c *GameLift) DescribeGameSessionQueuesPages(input *DescribeGameSessionQueuesInput, fn func(*DescribeGameSessionQueuesOutput, bool) bool) error {
6041	return c.DescribeGameSessionQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
6042}
6043
6044// DescribeGameSessionQueuesPagesWithContext same as DescribeGameSessionQueuesPages except
6045// it takes a Context and allows setting request options on the pages.
6046//
6047// The context must be non-nil and will be used for request cancellation. If
6048// the context is nil a panic will occur. In the future the SDK may create
6049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6050// for more information on using Contexts.
6051func (c *GameLift) DescribeGameSessionQueuesPagesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, fn func(*DescribeGameSessionQueuesOutput, bool) bool, opts ...request.Option) error {
6052	p := request.Pagination{
6053		NewRequest: func() (*request.Request, error) {
6054			var inCpy *DescribeGameSessionQueuesInput
6055			if input != nil {
6056				tmp := *input
6057				inCpy = &tmp
6058			}
6059			req, _ := c.DescribeGameSessionQueuesRequest(inCpy)
6060			req.SetContext(ctx)
6061			req.ApplyOptions(opts...)
6062			return req, nil
6063		},
6064	}
6065
6066	for p.Next() {
6067		if !fn(p.Page().(*DescribeGameSessionQueuesOutput), !p.HasNextPage()) {
6068			break
6069		}
6070	}
6071
6072	return p.Err()
6073}
6074
6075const opDescribeGameSessions = "DescribeGameSessions"
6076
6077// DescribeGameSessionsRequest generates a "aws/request.Request" representing the
6078// client's request for the DescribeGameSessions operation. The "output" return
6079// value will be populated with the request's response once the request completes
6080// successfully.
6081//
6082// Use "Send" method on the returned Request to send the API call to the service.
6083// the "output" return value is not valid until after Send returns without error.
6084//
6085// See DescribeGameSessions for more information on using the DescribeGameSessions
6086// API call, and error handling.
6087//
6088// This method is useful when you want to inject custom logic or configuration
6089// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6090//
6091//
6092//    // Example sending a request using the DescribeGameSessionsRequest method.
6093//    req, resp := client.DescribeGameSessionsRequest(params)
6094//
6095//    err := req.Send()
6096//    if err == nil { // resp is now filled
6097//        fmt.Println(resp)
6098//    }
6099//
6100// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
6101func (c *GameLift) DescribeGameSessionsRequest(input *DescribeGameSessionsInput) (req *request.Request, output *DescribeGameSessionsOutput) {
6102	op := &request.Operation{
6103		Name:       opDescribeGameSessions,
6104		HTTPMethod: "POST",
6105		HTTPPath:   "/",
6106		Paginator: &request.Paginator{
6107			InputTokens:     []string{"NextToken"},
6108			OutputTokens:    []string{"NextToken"},
6109			LimitToken:      "Limit",
6110			TruncationToken: "",
6111		},
6112	}
6113
6114	if input == nil {
6115		input = &DescribeGameSessionsInput{}
6116	}
6117
6118	output = &DescribeGameSessionsOutput{}
6119	req = c.newRequest(op, input, output)
6120	return
6121}
6122
6123// DescribeGameSessions API operation for Amazon GameLift.
6124//
6125// Retrieves a set of one or more game sessions in a specific fleet location.
6126// You can optionally filter the results by current game session status. Alternatively,
6127// use SearchGameSessions to request a set of active game sessions that are
6128// filtered by certain criteria. To retrieve the protection policy for game
6129// sessions, use DescribeGameSessionDetails.
6130//
6131// This operation can be used in the following ways:
6132//
6133//    * To retrieve all game sessions that are currently running on all locations
6134//    in a fleet, provide a fleet or alias ID, with an optional status filter.
6135//    This approach returns all game sessions in the fleet's home Region and
6136//    all remote locations.
6137//
6138//    * To retrieve all game sessions that are currently running on a specific
6139//    fleet location, provide a fleet or alias ID and a location name, with
6140//    optional status filter. The location can be the fleet's home Region or
6141//    any remote location.
6142//
6143//    * To retrieve a specific game session, provide the game session ID. This
6144//    approach looks for the game session ID in all fleets that reside in the
6145//    AWS Region defined in the request.
6146//
6147// Use the pagination parameters to retrieve results as a set of sequential
6148// pages.
6149//
6150// If successful, a GameSession object is returned for each game session that
6151// matches the request.
6152//
6153// Available in GameLift Local.
6154//
6155// Learn more
6156//
6157// Find a game session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-find)
6158//
6159// Related actions
6160//
6161// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
6162// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
6163// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
6164// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
6165//
6166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6167// with awserr.Error's Code and Message methods to get detailed information about
6168// the error.
6169//
6170// See the AWS API reference guide for Amazon GameLift's
6171// API operation DescribeGameSessions for usage and error information.
6172//
6173// Returned Error Types:
6174//   * InternalServiceException
6175//   The service encountered an unrecoverable internal failure while processing
6176//   the request. Clients can retry such requests immediately or after a waiting
6177//   period.
6178//
6179//   * NotFoundException
6180//   A service resource associated with the request could not be found. Clients
6181//   should not retry such requests.
6182//
6183//   * InvalidRequestException
6184//   One or more parameter values in the request are invalid. Correct the invalid
6185//   parameter values before retrying.
6186//
6187//   * UnauthorizedException
6188//   The client failed authentication. Clients should not retry such requests.
6189//
6190//   * TerminalRoutingStrategyException
6191//   The service is unable to resolve the routing for a particular alias because
6192//   it has a terminal RoutingStrategy associated with it. The message returned
6193//   in this exception is the message defined in the routing strategy itself.
6194//   Such requests should only be retried if the routing strategy for the specified
6195//   alias is modified.
6196//
6197//   * UnsupportedRegionException
6198//   The requested operation is not supported in the Region specified.
6199//
6200// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
6201func (c *GameLift) DescribeGameSessions(input *DescribeGameSessionsInput) (*DescribeGameSessionsOutput, error) {
6202	req, out := c.DescribeGameSessionsRequest(input)
6203	return out, req.Send()
6204}
6205
6206// DescribeGameSessionsWithContext is the same as DescribeGameSessions with the addition of
6207// the ability to pass a context and additional request options.
6208//
6209// See DescribeGameSessions for details on how to use this API operation.
6210//
6211// The context must be non-nil and will be used for request cancellation. If
6212// the context is nil a panic will occur. In the future the SDK may create
6213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6214// for more information on using Contexts.
6215func (c *GameLift) DescribeGameSessionsWithContext(ctx aws.Context, input *DescribeGameSessionsInput, opts ...request.Option) (*DescribeGameSessionsOutput, error) {
6216	req, out := c.DescribeGameSessionsRequest(input)
6217	req.SetContext(ctx)
6218	req.ApplyOptions(opts...)
6219	return out, req.Send()
6220}
6221
6222// DescribeGameSessionsPages iterates over the pages of a DescribeGameSessions operation,
6223// calling the "fn" function with the response data for each page. To stop
6224// iterating, return false from the fn function.
6225//
6226// See DescribeGameSessions method for more information on how to use this operation.
6227//
6228// Note: This operation can generate multiple requests to a service.
6229//
6230//    // Example iterating over at most 3 pages of a DescribeGameSessions operation.
6231//    pageNum := 0
6232//    err := client.DescribeGameSessionsPages(params,
6233//        func(page *gamelift.DescribeGameSessionsOutput, lastPage bool) bool {
6234//            pageNum++
6235//            fmt.Println(page)
6236//            return pageNum <= 3
6237//        })
6238//
6239func (c *GameLift) DescribeGameSessionsPages(input *DescribeGameSessionsInput, fn func(*DescribeGameSessionsOutput, bool) bool) error {
6240	return c.DescribeGameSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
6241}
6242
6243// DescribeGameSessionsPagesWithContext same as DescribeGameSessionsPages except
6244// it takes a Context and allows setting request options on the pages.
6245//
6246// The context must be non-nil and will be used for request cancellation. If
6247// the context is nil a panic will occur. In the future the SDK may create
6248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6249// for more information on using Contexts.
6250func (c *GameLift) DescribeGameSessionsPagesWithContext(ctx aws.Context, input *DescribeGameSessionsInput, fn func(*DescribeGameSessionsOutput, bool) bool, opts ...request.Option) error {
6251	p := request.Pagination{
6252		NewRequest: func() (*request.Request, error) {
6253			var inCpy *DescribeGameSessionsInput
6254			if input != nil {
6255				tmp := *input
6256				inCpy = &tmp
6257			}
6258			req, _ := c.DescribeGameSessionsRequest(inCpy)
6259			req.SetContext(ctx)
6260			req.ApplyOptions(opts...)
6261			return req, nil
6262		},
6263	}
6264
6265	for p.Next() {
6266		if !fn(p.Page().(*DescribeGameSessionsOutput), !p.HasNextPage()) {
6267			break
6268		}
6269	}
6270
6271	return p.Err()
6272}
6273
6274const opDescribeInstances = "DescribeInstances"
6275
6276// DescribeInstancesRequest generates a "aws/request.Request" representing the
6277// client's request for the DescribeInstances operation. The "output" return
6278// value will be populated with the request's response once the request completes
6279// successfully.
6280//
6281// Use "Send" method on the returned Request to send the API call to the service.
6282// the "output" return value is not valid until after Send returns without error.
6283//
6284// See DescribeInstances for more information on using the DescribeInstances
6285// API call, and error handling.
6286//
6287// This method is useful when you want to inject custom logic or configuration
6288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6289//
6290//
6291//    // Example sending a request using the DescribeInstancesRequest method.
6292//    req, resp := client.DescribeInstancesRequest(params)
6293//
6294//    err := req.Send()
6295//    if err == nil { // resp is now filled
6296//        fmt.Println(resp)
6297//    }
6298//
6299// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
6300func (c *GameLift) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
6301	op := &request.Operation{
6302		Name:       opDescribeInstances,
6303		HTTPMethod: "POST",
6304		HTTPPath:   "/",
6305		Paginator: &request.Paginator{
6306			InputTokens:     []string{"NextToken"},
6307			OutputTokens:    []string{"NextToken"},
6308			LimitToken:      "Limit",
6309			TruncationToken: "",
6310		},
6311	}
6312
6313	if input == nil {
6314		input = &DescribeInstancesInput{}
6315	}
6316
6317	output = &DescribeInstancesOutput{}
6318	req = c.newRequest(op, input, output)
6319	return
6320}
6321
6322// DescribeInstances API operation for Amazon GameLift.
6323//
6324// Retrieves information about a fleet's instances, including instance IDs,
6325// connection data, and status.
6326//
6327// This operation can be used in the following ways:
6328//
6329//    * To get information on all instances that are deployed to a fleet's home
6330//    Region, provide the fleet ID.
6331//
6332//    * To get information on all instances that are deployed to a fleet's remote
6333//    location, provide the fleet ID and location name.
6334//
6335//    * To get information on a specific instance in a fleet, provide the fleet
6336//    ID and instance ID.
6337//
6338// Use the pagination parameters to retrieve results as a set of sequential
6339// pages.
6340//
6341// If successful, an Instance object is returned for each requested instance.
6342// Instances are not returned in any particular order.
6343//
6344// Learn more
6345//
6346// Remotely Access Fleet Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html)
6347//
6348// Debug Fleet Issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html)
6349//
6350// Related actions
6351//
6352// DescribeInstances | GetInstanceAccess | DescribeEC2InstanceLimits | All APIs
6353// by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
6354//
6355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6356// with awserr.Error's Code and Message methods to get detailed information about
6357// the error.
6358//
6359// See the AWS API reference guide for Amazon GameLift's
6360// API operation DescribeInstances for usage and error information.
6361//
6362// Returned Error Types:
6363//   * UnauthorizedException
6364//   The client failed authentication. Clients should not retry such requests.
6365//
6366//   * InvalidRequestException
6367//   One or more parameter values in the request are invalid. Correct the invalid
6368//   parameter values before retrying.
6369//
6370//   * NotFoundException
6371//   A service resource associated with the request could not be found. Clients
6372//   should not retry such requests.
6373//
6374//   * InternalServiceException
6375//   The service encountered an unrecoverable internal failure while processing
6376//   the request. Clients can retry such requests immediately or after a waiting
6377//   period.
6378//
6379//   * UnsupportedRegionException
6380//   The requested operation is not supported in the Region specified.
6381//
6382// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
6383func (c *GameLift) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
6384	req, out := c.DescribeInstancesRequest(input)
6385	return out, req.Send()
6386}
6387
6388// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
6389// the ability to pass a context and additional request options.
6390//
6391// See DescribeInstances for details on how to use this API operation.
6392//
6393// The context must be non-nil and will be used for request cancellation. If
6394// the context is nil a panic will occur. In the future the SDK may create
6395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6396// for more information on using Contexts.
6397func (c *GameLift) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
6398	req, out := c.DescribeInstancesRequest(input)
6399	req.SetContext(ctx)
6400	req.ApplyOptions(opts...)
6401	return out, req.Send()
6402}
6403
6404// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
6405// calling the "fn" function with the response data for each page. To stop
6406// iterating, return false from the fn function.
6407//
6408// See DescribeInstances method for more information on how to use this operation.
6409//
6410// Note: This operation can generate multiple requests to a service.
6411//
6412//    // Example iterating over at most 3 pages of a DescribeInstances operation.
6413//    pageNum := 0
6414//    err := client.DescribeInstancesPages(params,
6415//        func(page *gamelift.DescribeInstancesOutput, lastPage bool) bool {
6416//            pageNum++
6417//            fmt.Println(page)
6418//            return pageNum <= 3
6419//        })
6420//
6421func (c *GameLift) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
6422	return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
6423}
6424
6425// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
6426// it takes a Context and allows setting request options on the pages.
6427//
6428// The context must be non-nil and will be used for request cancellation. If
6429// the context is nil a panic will occur. In the future the SDK may create
6430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6431// for more information on using Contexts.
6432func (c *GameLift) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
6433	p := request.Pagination{
6434		NewRequest: func() (*request.Request, error) {
6435			var inCpy *DescribeInstancesInput
6436			if input != nil {
6437				tmp := *input
6438				inCpy = &tmp
6439			}
6440			req, _ := c.DescribeInstancesRequest(inCpy)
6441			req.SetContext(ctx)
6442			req.ApplyOptions(opts...)
6443			return req, nil
6444		},
6445	}
6446
6447	for p.Next() {
6448		if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) {
6449			break
6450		}
6451	}
6452
6453	return p.Err()
6454}
6455
6456const opDescribeMatchmaking = "DescribeMatchmaking"
6457
6458// DescribeMatchmakingRequest generates a "aws/request.Request" representing the
6459// client's request for the DescribeMatchmaking operation. The "output" return
6460// value will be populated with the request's response once the request completes
6461// successfully.
6462//
6463// Use "Send" method on the returned Request to send the API call to the service.
6464// the "output" return value is not valid until after Send returns without error.
6465//
6466// See DescribeMatchmaking for more information on using the DescribeMatchmaking
6467// API call, and error handling.
6468//
6469// This method is useful when you want to inject custom logic or configuration
6470// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6471//
6472//
6473//    // Example sending a request using the DescribeMatchmakingRequest method.
6474//    req, resp := client.DescribeMatchmakingRequest(params)
6475//
6476//    err := req.Send()
6477//    if err == nil { // resp is now filled
6478//        fmt.Println(resp)
6479//    }
6480//
6481// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
6482func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) (req *request.Request, output *DescribeMatchmakingOutput) {
6483	op := &request.Operation{
6484		Name:       opDescribeMatchmaking,
6485		HTTPMethod: "POST",
6486		HTTPPath:   "/",
6487	}
6488
6489	if input == nil {
6490		input = &DescribeMatchmakingInput{}
6491	}
6492
6493	output = &DescribeMatchmakingOutput{}
6494	req = c.newRequest(op, input, output)
6495	return
6496}
6497
6498// DescribeMatchmaking API operation for Amazon GameLift.
6499//
6500// Retrieves one or more matchmaking tickets. Use this operation to retrieve
6501// ticket information, including--after a successful match is made--connection
6502// information for the resulting new game session.
6503//
6504// To request matchmaking tickets, provide a list of up to 10 ticket IDs. If
6505// the request is successful, a ticket object is returned for each requested
6506// ID that currently exists.
6507//
6508// This operation is not designed to be continually called to track matchmaking
6509// ticket status. This practice can cause you to exceed your API limit, which
6510// results in errors. Instead, as a best practice, set up an Amazon Simple Notification
6511// Service (SNS) to receive notifications, and provide the topic ARN in the
6512// matchmaking configuration. Continuously poling ticket status with DescribeMatchmaking
6513// should only be used for games in development with low matchmaking usage.
6514//
6515// Learn more
6516//
6517//  Add FlexMatch to a game client (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html)
6518//
6519//  Set Up FlexMatch event notification (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
6520//
6521// Related actions
6522//
6523// StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
6524// StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
6525//
6526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6527// with awserr.Error's Code and Message methods to get detailed information about
6528// the error.
6529//
6530// See the AWS API reference guide for Amazon GameLift's
6531// API operation DescribeMatchmaking for usage and error information.
6532//
6533// Returned Error Types:
6534//   * InvalidRequestException
6535//   One or more parameter values in the request are invalid. Correct the invalid
6536//   parameter values before retrying.
6537//
6538//   * InternalServiceException
6539//   The service encountered an unrecoverable internal failure while processing
6540//   the request. Clients can retry such requests immediately or after a waiting
6541//   period.
6542//
6543//   * UnsupportedRegionException
6544//   The requested operation is not supported in the Region specified.
6545//
6546// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
6547func (c *GameLift) DescribeMatchmaking(input *DescribeMatchmakingInput) (*DescribeMatchmakingOutput, error) {
6548	req, out := c.DescribeMatchmakingRequest(input)
6549	return out, req.Send()
6550}
6551
6552// DescribeMatchmakingWithContext is the same as DescribeMatchmaking with the addition of
6553// the ability to pass a context and additional request options.
6554//
6555// See DescribeMatchmaking for details on how to use this API operation.
6556//
6557// The context must be non-nil and will be used for request cancellation. If
6558// the context is nil a panic will occur. In the future the SDK may create
6559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6560// for more information on using Contexts.
6561func (c *GameLift) DescribeMatchmakingWithContext(ctx aws.Context, input *DescribeMatchmakingInput, opts ...request.Option) (*DescribeMatchmakingOutput, error) {
6562	req, out := c.DescribeMatchmakingRequest(input)
6563	req.SetContext(ctx)
6564	req.ApplyOptions(opts...)
6565	return out, req.Send()
6566}
6567
6568const opDescribeMatchmakingConfigurations = "DescribeMatchmakingConfigurations"
6569
6570// DescribeMatchmakingConfigurationsRequest generates a "aws/request.Request" representing the
6571// client's request for the DescribeMatchmakingConfigurations operation. The "output" return
6572// value will be populated with the request's response once the request completes
6573// successfully.
6574//
6575// Use "Send" method on the returned Request to send the API call to the service.
6576// the "output" return value is not valid until after Send returns without error.
6577//
6578// See DescribeMatchmakingConfigurations for more information on using the DescribeMatchmakingConfigurations
6579// API call, and error handling.
6580//
6581// This method is useful when you want to inject custom logic or configuration
6582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6583//
6584//
6585//    // Example sending a request using the DescribeMatchmakingConfigurationsRequest method.
6586//    req, resp := client.DescribeMatchmakingConfigurationsRequest(params)
6587//
6588//    err := req.Send()
6589//    if err == nil { // resp is now filled
6590//        fmt.Println(resp)
6591//    }
6592//
6593// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
6594func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatchmakingConfigurationsInput) (req *request.Request, output *DescribeMatchmakingConfigurationsOutput) {
6595	op := &request.Operation{
6596		Name:       opDescribeMatchmakingConfigurations,
6597		HTTPMethod: "POST",
6598		HTTPPath:   "/",
6599		Paginator: &request.Paginator{
6600			InputTokens:     []string{"NextToken"},
6601			OutputTokens:    []string{"NextToken"},
6602			LimitToken:      "Limit",
6603			TruncationToken: "",
6604		},
6605	}
6606
6607	if input == nil {
6608		input = &DescribeMatchmakingConfigurationsInput{}
6609	}
6610
6611	output = &DescribeMatchmakingConfigurationsOutput{}
6612	req = c.newRequest(op, input, output)
6613	return
6614}
6615
6616// DescribeMatchmakingConfigurations API operation for Amazon GameLift.
6617//
6618// Retrieves the details of FlexMatch matchmaking configurations.
6619//
6620// This operation offers the following options: (1) retrieve all matchmaking
6621// configurations, (2) retrieve configurations for a specified list, or (3)
6622// retrieve all configurations that use a specified rule set name. When requesting
6623// multiple items, use the pagination parameters to retrieve results as a set
6624// of sequential pages.
6625//
6626// If successful, a configuration is returned for each requested name. When
6627// specifying a list of names, only configurations that currently exist are
6628// returned.
6629//
6630// Learn more
6631//
6632//  Setting up FlexMatch matchmakers (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/matchmaker-build.html)
6633//
6634// Related actions
6635//
6636// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
6637// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
6638// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
6639// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
6640//
6641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6642// with awserr.Error's Code and Message methods to get detailed information about
6643// the error.
6644//
6645// See the AWS API reference guide for Amazon GameLift's
6646// API operation DescribeMatchmakingConfigurations for usage and error information.
6647//
6648// Returned Error Types:
6649//   * InvalidRequestException
6650//   One or more parameter values in the request are invalid. Correct the invalid
6651//   parameter values before retrying.
6652//
6653//   * InternalServiceException
6654//   The service encountered an unrecoverable internal failure while processing
6655//   the request. Clients can retry such requests immediately or after a waiting
6656//   period.
6657//
6658//   * UnsupportedRegionException
6659//   The requested operation is not supported in the Region specified.
6660//
6661// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
6662func (c *GameLift) DescribeMatchmakingConfigurations(input *DescribeMatchmakingConfigurationsInput) (*DescribeMatchmakingConfigurationsOutput, error) {
6663	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
6664	return out, req.Send()
6665}
6666
6667// DescribeMatchmakingConfigurationsWithContext is the same as DescribeMatchmakingConfigurations with the addition of
6668// the ability to pass a context and additional request options.
6669//
6670// See DescribeMatchmakingConfigurations for details on how to use this API operation.
6671//
6672// The context must be non-nil and will be used for request cancellation. If
6673// the context is nil a panic will occur. In the future the SDK may create
6674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6675// for more information on using Contexts.
6676func (c *GameLift) DescribeMatchmakingConfigurationsWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, opts ...request.Option) (*DescribeMatchmakingConfigurationsOutput, error) {
6677	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
6678	req.SetContext(ctx)
6679	req.ApplyOptions(opts...)
6680	return out, req.Send()
6681}
6682
6683// DescribeMatchmakingConfigurationsPages iterates over the pages of a DescribeMatchmakingConfigurations operation,
6684// calling the "fn" function with the response data for each page. To stop
6685// iterating, return false from the fn function.
6686//
6687// See DescribeMatchmakingConfigurations method for more information on how to use this operation.
6688//
6689// Note: This operation can generate multiple requests to a service.
6690//
6691//    // Example iterating over at most 3 pages of a DescribeMatchmakingConfigurations operation.
6692//    pageNum := 0
6693//    err := client.DescribeMatchmakingConfigurationsPages(params,
6694//        func(page *gamelift.DescribeMatchmakingConfigurationsOutput, lastPage bool) bool {
6695//            pageNum++
6696//            fmt.Println(page)
6697//            return pageNum <= 3
6698//        })
6699//
6700func (c *GameLift) DescribeMatchmakingConfigurationsPages(input *DescribeMatchmakingConfigurationsInput, fn func(*DescribeMatchmakingConfigurationsOutput, bool) bool) error {
6701	return c.DescribeMatchmakingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
6702}
6703
6704// DescribeMatchmakingConfigurationsPagesWithContext same as DescribeMatchmakingConfigurationsPages except
6705// it takes a Context and allows setting request options on the pages.
6706//
6707// The context must be non-nil and will be used for request cancellation. If
6708// the context is nil a panic will occur. In the future the SDK may create
6709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6710// for more information on using Contexts.
6711func (c *GameLift) DescribeMatchmakingConfigurationsPagesWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, fn func(*DescribeMatchmakingConfigurationsOutput, bool) bool, opts ...request.Option) error {
6712	p := request.Pagination{
6713		NewRequest: func() (*request.Request, error) {
6714			var inCpy *DescribeMatchmakingConfigurationsInput
6715			if input != nil {
6716				tmp := *input
6717				inCpy = &tmp
6718			}
6719			req, _ := c.DescribeMatchmakingConfigurationsRequest(inCpy)
6720			req.SetContext(ctx)
6721			req.ApplyOptions(opts...)
6722			return req, nil
6723		},
6724	}
6725
6726	for p.Next() {
6727		if !fn(p.Page().(*DescribeMatchmakingConfigurationsOutput), !p.HasNextPage()) {
6728			break
6729		}
6730	}
6731
6732	return p.Err()
6733}
6734
6735const opDescribeMatchmakingRuleSets = "DescribeMatchmakingRuleSets"
6736
6737// DescribeMatchmakingRuleSetsRequest generates a "aws/request.Request" representing the
6738// client's request for the DescribeMatchmakingRuleSets operation. The "output" return
6739// value will be populated with the request's response once the request completes
6740// successfully.
6741//
6742// Use "Send" method on the returned Request to send the API call to the service.
6743// the "output" return value is not valid until after Send returns without error.
6744//
6745// See DescribeMatchmakingRuleSets for more information on using the DescribeMatchmakingRuleSets
6746// API call, and error handling.
6747//
6748// This method is useful when you want to inject custom logic or configuration
6749// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6750//
6751//
6752//    // Example sending a request using the DescribeMatchmakingRuleSetsRequest method.
6753//    req, resp := client.DescribeMatchmakingRuleSetsRequest(params)
6754//
6755//    err := req.Send()
6756//    if err == nil { // resp is now filled
6757//        fmt.Println(resp)
6758//    }
6759//
6760// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
6761func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmakingRuleSetsInput) (req *request.Request, output *DescribeMatchmakingRuleSetsOutput) {
6762	op := &request.Operation{
6763		Name:       opDescribeMatchmakingRuleSets,
6764		HTTPMethod: "POST",
6765		HTTPPath:   "/",
6766		Paginator: &request.Paginator{
6767			InputTokens:     []string{"NextToken"},
6768			OutputTokens:    []string{"NextToken"},
6769			LimitToken:      "Limit",
6770			TruncationToken: "",
6771		},
6772	}
6773
6774	if input == nil {
6775		input = &DescribeMatchmakingRuleSetsInput{}
6776	}
6777
6778	output = &DescribeMatchmakingRuleSetsOutput{}
6779	req = c.newRequest(op, input, output)
6780	return
6781}
6782
6783// DescribeMatchmakingRuleSets API operation for Amazon GameLift.
6784//
6785// Retrieves the details for FlexMatch matchmaking rule sets. You can request
6786// all existing rule sets for the Region, or provide a list of one or more rule
6787// set names. When requesting multiple items, use the pagination parameters
6788// to retrieve results as a set of sequential pages. If successful, a rule set
6789// is returned for each requested name.
6790//
6791// Learn more
6792//
6793//    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
6794//
6795// Related actions
6796//
6797// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
6798// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
6799// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
6800// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
6801//
6802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6803// with awserr.Error's Code and Message methods to get detailed information about
6804// the error.
6805//
6806// See the AWS API reference guide for Amazon GameLift's
6807// API operation DescribeMatchmakingRuleSets for usage and error information.
6808//
6809// Returned Error Types:
6810//   * InvalidRequestException
6811//   One or more parameter values in the request are invalid. Correct the invalid
6812//   parameter values before retrying.
6813//
6814//   * InternalServiceException
6815//   The service encountered an unrecoverable internal failure while processing
6816//   the request. Clients can retry such requests immediately or after a waiting
6817//   period.
6818//
6819//   * NotFoundException
6820//   A service resource associated with the request could not be found. Clients
6821//   should not retry such requests.
6822//
6823//   * UnsupportedRegionException
6824//   The requested operation is not supported in the Region specified.
6825//
6826// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
6827func (c *GameLift) DescribeMatchmakingRuleSets(input *DescribeMatchmakingRuleSetsInput) (*DescribeMatchmakingRuleSetsOutput, error) {
6828	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
6829	return out, req.Send()
6830}
6831
6832// DescribeMatchmakingRuleSetsWithContext is the same as DescribeMatchmakingRuleSets with the addition of
6833// the ability to pass a context and additional request options.
6834//
6835// See DescribeMatchmakingRuleSets for details on how to use this API operation.
6836//
6837// The context must be non-nil and will be used for request cancellation. If
6838// the context is nil a panic will occur. In the future the SDK may create
6839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6840// for more information on using Contexts.
6841func (c *GameLift) DescribeMatchmakingRuleSetsWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, opts ...request.Option) (*DescribeMatchmakingRuleSetsOutput, error) {
6842	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
6843	req.SetContext(ctx)
6844	req.ApplyOptions(opts...)
6845	return out, req.Send()
6846}
6847
6848// DescribeMatchmakingRuleSetsPages iterates over the pages of a DescribeMatchmakingRuleSets operation,
6849// calling the "fn" function with the response data for each page. To stop
6850// iterating, return false from the fn function.
6851//
6852// See DescribeMatchmakingRuleSets method for more information on how to use this operation.
6853//
6854// Note: This operation can generate multiple requests to a service.
6855//
6856//    // Example iterating over at most 3 pages of a DescribeMatchmakingRuleSets operation.
6857//    pageNum := 0
6858//    err := client.DescribeMatchmakingRuleSetsPages(params,
6859//        func(page *gamelift.DescribeMatchmakingRuleSetsOutput, lastPage bool) bool {
6860//            pageNum++
6861//            fmt.Println(page)
6862//            return pageNum <= 3
6863//        })
6864//
6865func (c *GameLift) DescribeMatchmakingRuleSetsPages(input *DescribeMatchmakingRuleSetsInput, fn func(*DescribeMatchmakingRuleSetsOutput, bool) bool) error {
6866	return c.DescribeMatchmakingRuleSetsPagesWithContext(aws.BackgroundContext(), input, fn)
6867}
6868
6869// DescribeMatchmakingRuleSetsPagesWithContext same as DescribeMatchmakingRuleSetsPages except
6870// it takes a Context and allows setting request options on the pages.
6871//
6872// The context must be non-nil and will be used for request cancellation. If
6873// the context is nil a panic will occur. In the future the SDK may create
6874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6875// for more information on using Contexts.
6876func (c *GameLift) DescribeMatchmakingRuleSetsPagesWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, fn func(*DescribeMatchmakingRuleSetsOutput, bool) bool, opts ...request.Option) error {
6877	p := request.Pagination{
6878		NewRequest: func() (*request.Request, error) {
6879			var inCpy *DescribeMatchmakingRuleSetsInput
6880			if input != nil {
6881				tmp := *input
6882				inCpy = &tmp
6883			}
6884			req, _ := c.DescribeMatchmakingRuleSetsRequest(inCpy)
6885			req.SetContext(ctx)
6886			req.ApplyOptions(opts...)
6887			return req, nil
6888		},
6889	}
6890
6891	for p.Next() {
6892		if !fn(p.Page().(*DescribeMatchmakingRuleSetsOutput), !p.HasNextPage()) {
6893			break
6894		}
6895	}
6896
6897	return p.Err()
6898}
6899
6900const opDescribePlayerSessions = "DescribePlayerSessions"
6901
6902// DescribePlayerSessionsRequest generates a "aws/request.Request" representing the
6903// client's request for the DescribePlayerSessions operation. The "output" return
6904// value will be populated with the request's response once the request completes
6905// successfully.
6906//
6907// Use "Send" method on the returned Request to send the API call to the service.
6908// the "output" return value is not valid until after Send returns without error.
6909//
6910// See DescribePlayerSessions for more information on using the DescribePlayerSessions
6911// API call, and error handling.
6912//
6913// This method is useful when you want to inject custom logic or configuration
6914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6915//
6916//
6917//    // Example sending a request using the DescribePlayerSessionsRequest method.
6918//    req, resp := client.DescribePlayerSessionsRequest(params)
6919//
6920//    err := req.Send()
6921//    if err == nil { // resp is now filled
6922//        fmt.Println(resp)
6923//    }
6924//
6925// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
6926func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsInput) (req *request.Request, output *DescribePlayerSessionsOutput) {
6927	op := &request.Operation{
6928		Name:       opDescribePlayerSessions,
6929		HTTPMethod: "POST",
6930		HTTPPath:   "/",
6931		Paginator: &request.Paginator{
6932			InputTokens:     []string{"NextToken"},
6933			OutputTokens:    []string{"NextToken"},
6934			LimitToken:      "Limit",
6935			TruncationToken: "",
6936		},
6937	}
6938
6939	if input == nil {
6940		input = &DescribePlayerSessionsInput{}
6941	}
6942
6943	output = &DescribePlayerSessionsOutput{}
6944	req = c.newRequest(op, input, output)
6945	return
6946}
6947
6948// DescribePlayerSessions API operation for Amazon GameLift.
6949//
6950// Retrieves properties for one or more player sessions.
6951//
6952// This action can be used in the following ways:
6953//
6954//    * To retrieve a specific player session, provide the player session ID
6955//    only.
6956//
6957//    * To retrieve all player sessions in a game session, provide the game
6958//    session ID only.
6959//
6960//    * To retrieve all player sessions for a specific player, provide a player
6961//    ID only.
6962//
6963// To request player sessions, specify either a player session ID, game session
6964// ID, or player ID. You can filter this request by player session status. Use
6965// the pagination parameters to retrieve results as a set of sequential pages.
6966//
6967// If successful, a PlayerSession object is returned for each session that matches
6968// the request.
6969//
6970// Available in Amazon GameLift Local.
6971//
6972// Related actions
6973//
6974// CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
6975// | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
6976//
6977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6978// with awserr.Error's Code and Message methods to get detailed information about
6979// the error.
6980//
6981// See the AWS API reference guide for Amazon GameLift's
6982// API operation DescribePlayerSessions for usage and error information.
6983//
6984// Returned Error Types:
6985//   * InternalServiceException
6986//   The service encountered an unrecoverable internal failure while processing
6987//   the request. Clients can retry such requests immediately or after a waiting
6988//   period.
6989//
6990//   * NotFoundException
6991//   A service resource associated with the request could not be found. Clients
6992//   should not retry such requests.
6993//
6994//   * InvalidRequestException
6995//   One or more parameter values in the request are invalid. Correct the invalid
6996//   parameter values before retrying.
6997//
6998//   * UnauthorizedException
6999//   The client failed authentication. Clients should not retry such requests.
7000//
7001// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
7002func (c *GameLift) DescribePlayerSessions(input *DescribePlayerSessionsInput) (*DescribePlayerSessionsOutput, error) {
7003	req, out := c.DescribePlayerSessionsRequest(input)
7004	return out, req.Send()
7005}
7006
7007// DescribePlayerSessionsWithContext is the same as DescribePlayerSessions with the addition of
7008// the ability to pass a context and additional request options.
7009//
7010// See DescribePlayerSessions for details on how to use this API operation.
7011//
7012// The context must be non-nil and will be used for request cancellation. If
7013// the context is nil a panic will occur. In the future the SDK may create
7014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7015// for more information on using Contexts.
7016func (c *GameLift) DescribePlayerSessionsWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, opts ...request.Option) (*DescribePlayerSessionsOutput, error) {
7017	req, out := c.DescribePlayerSessionsRequest(input)
7018	req.SetContext(ctx)
7019	req.ApplyOptions(opts...)
7020	return out, req.Send()
7021}
7022
7023// DescribePlayerSessionsPages iterates over the pages of a DescribePlayerSessions operation,
7024// calling the "fn" function with the response data for each page. To stop
7025// iterating, return false from the fn function.
7026//
7027// See DescribePlayerSessions method for more information on how to use this operation.
7028//
7029// Note: This operation can generate multiple requests to a service.
7030//
7031//    // Example iterating over at most 3 pages of a DescribePlayerSessions operation.
7032//    pageNum := 0
7033//    err := client.DescribePlayerSessionsPages(params,
7034//        func(page *gamelift.DescribePlayerSessionsOutput, lastPage bool) bool {
7035//            pageNum++
7036//            fmt.Println(page)
7037//            return pageNum <= 3
7038//        })
7039//
7040func (c *GameLift) DescribePlayerSessionsPages(input *DescribePlayerSessionsInput, fn func(*DescribePlayerSessionsOutput, bool) bool) error {
7041	return c.DescribePlayerSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
7042}
7043
7044// DescribePlayerSessionsPagesWithContext same as DescribePlayerSessionsPages except
7045// it takes a Context and allows setting request options on the pages.
7046//
7047// The context must be non-nil and will be used for request cancellation. If
7048// the context is nil a panic will occur. In the future the SDK may create
7049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7050// for more information on using Contexts.
7051func (c *GameLift) DescribePlayerSessionsPagesWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, fn func(*DescribePlayerSessionsOutput, bool) bool, opts ...request.Option) error {
7052	p := request.Pagination{
7053		NewRequest: func() (*request.Request, error) {
7054			var inCpy *DescribePlayerSessionsInput
7055			if input != nil {
7056				tmp := *input
7057				inCpy = &tmp
7058			}
7059			req, _ := c.DescribePlayerSessionsRequest(inCpy)
7060			req.SetContext(ctx)
7061			req.ApplyOptions(opts...)
7062			return req, nil
7063		},
7064	}
7065
7066	for p.Next() {
7067		if !fn(p.Page().(*DescribePlayerSessionsOutput), !p.HasNextPage()) {
7068			break
7069		}
7070	}
7071
7072	return p.Err()
7073}
7074
7075const opDescribeRuntimeConfiguration = "DescribeRuntimeConfiguration"
7076
7077// DescribeRuntimeConfigurationRequest generates a "aws/request.Request" representing the
7078// client's request for the DescribeRuntimeConfiguration operation. The "output" return
7079// value will be populated with the request's response once the request completes
7080// successfully.
7081//
7082// Use "Send" method on the returned Request to send the API call to the service.
7083// the "output" return value is not valid until after Send returns without error.
7084//
7085// See DescribeRuntimeConfiguration for more information on using the DescribeRuntimeConfiguration
7086// API call, and error handling.
7087//
7088// This method is useful when you want to inject custom logic or configuration
7089// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7090//
7091//
7092//    // Example sending a request using the DescribeRuntimeConfigurationRequest method.
7093//    req, resp := client.DescribeRuntimeConfigurationRequest(params)
7094//
7095//    err := req.Send()
7096//    if err == nil { // resp is now filled
7097//        fmt.Println(resp)
7098//    }
7099//
7100// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
7101func (c *GameLift) DescribeRuntimeConfigurationRequest(input *DescribeRuntimeConfigurationInput) (req *request.Request, output *DescribeRuntimeConfigurationOutput) {
7102	op := &request.Operation{
7103		Name:       opDescribeRuntimeConfiguration,
7104		HTTPMethod: "POST",
7105		HTTPPath:   "/",
7106	}
7107
7108	if input == nil {
7109		input = &DescribeRuntimeConfigurationInput{}
7110	}
7111
7112	output = &DescribeRuntimeConfigurationOutput{}
7113	req = c.newRequest(op, input, output)
7114	return
7115}
7116
7117// DescribeRuntimeConfiguration API operation for Amazon GameLift.
7118//
7119// Retrieves a fleet's runtime configuration settings. The runtime configuration
7120// tells GameLift which server processes to run (and how) on each instance in
7121// the fleet.
7122//
7123// To get the runtime configuration that is currently in forces for a fleet,
7124// provide the fleet ID.
7125//
7126// If successful, a RuntimeConfiguration object is returned for the requested
7127// fleet. If the requested fleet has been deleted, the result set is empty.
7128//
7129// Learn more
7130//
7131// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
7132//
7133// Running multiple processes on a fleet (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html)
7134//
7135// Related actions
7136//
7137// ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
7138// | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
7139// | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
7140// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7141//
7142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7143// with awserr.Error's Code and Message methods to get detailed information about
7144// the error.
7145//
7146// See the AWS API reference guide for Amazon GameLift's
7147// API operation DescribeRuntimeConfiguration for usage and error information.
7148//
7149// Returned Error Types:
7150//   * UnauthorizedException
7151//   The client failed authentication. Clients should not retry such requests.
7152//
7153//   * NotFoundException
7154//   A service resource associated with the request could not be found. Clients
7155//   should not retry such requests.
7156//
7157//   * InternalServiceException
7158//   The service encountered an unrecoverable internal failure while processing
7159//   the request. Clients can retry such requests immediately or after a waiting
7160//   period.
7161//
7162//   * InvalidRequestException
7163//   One or more parameter values in the request are invalid. Correct the invalid
7164//   parameter values before retrying.
7165//
7166// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
7167func (c *GameLift) DescribeRuntimeConfiguration(input *DescribeRuntimeConfigurationInput) (*DescribeRuntimeConfigurationOutput, error) {
7168	req, out := c.DescribeRuntimeConfigurationRequest(input)
7169	return out, req.Send()
7170}
7171
7172// DescribeRuntimeConfigurationWithContext is the same as DescribeRuntimeConfiguration with the addition of
7173// the ability to pass a context and additional request options.
7174//
7175// See DescribeRuntimeConfiguration for details on how to use this API operation.
7176//
7177// The context must be non-nil and will be used for request cancellation. If
7178// the context is nil a panic will occur. In the future the SDK may create
7179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7180// for more information on using Contexts.
7181func (c *GameLift) DescribeRuntimeConfigurationWithContext(ctx aws.Context, input *DescribeRuntimeConfigurationInput, opts ...request.Option) (*DescribeRuntimeConfigurationOutput, error) {
7182	req, out := c.DescribeRuntimeConfigurationRequest(input)
7183	req.SetContext(ctx)
7184	req.ApplyOptions(opts...)
7185	return out, req.Send()
7186}
7187
7188const opDescribeScalingPolicies = "DescribeScalingPolicies"
7189
7190// DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the
7191// client's request for the DescribeScalingPolicies operation. The "output" return
7192// value will be populated with the request's response once the request completes
7193// successfully.
7194//
7195// Use "Send" method on the returned Request to send the API call to the service.
7196// the "output" return value is not valid until after Send returns without error.
7197//
7198// See DescribeScalingPolicies for more information on using the DescribeScalingPolicies
7199// API call, and error handling.
7200//
7201// This method is useful when you want to inject custom logic or configuration
7202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7203//
7204//
7205//    // Example sending a request using the DescribeScalingPoliciesRequest method.
7206//    req, resp := client.DescribeScalingPoliciesRequest(params)
7207//
7208//    err := req.Send()
7209//    if err == nil { // resp is now filled
7210//        fmt.Println(resp)
7211//    }
7212//
7213// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
7214func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPoliciesInput) (req *request.Request, output *DescribeScalingPoliciesOutput) {
7215	op := &request.Operation{
7216		Name:       opDescribeScalingPolicies,
7217		HTTPMethod: "POST",
7218		HTTPPath:   "/",
7219		Paginator: &request.Paginator{
7220			InputTokens:     []string{"NextToken"},
7221			OutputTokens:    []string{"NextToken"},
7222			LimitToken:      "Limit",
7223			TruncationToken: "",
7224		},
7225	}
7226
7227	if input == nil {
7228		input = &DescribeScalingPoliciesInput{}
7229	}
7230
7231	output = &DescribeScalingPoliciesOutput{}
7232	req = c.newRequest(op, input, output)
7233	return
7234}
7235
7236// DescribeScalingPolicies API operation for Amazon GameLift.
7237//
7238// Retrieves all scaling policies applied to a fleet.
7239//
7240// To get a fleet's scaling policies, specify the fleet ID. You can filter this
7241// request by policy status, such as to retrieve only active scaling policies.
7242// Use the pagination parameters to retrieve results as a set of sequential
7243// pages. If successful, set of ScalingPolicy objects is returned for the fleet.
7244//
7245// A fleet may have all of its scaling policies suspended (StopFleetActions).
7246// This operation does not affect the status of the scaling policies, which
7247// remains ACTIVE. To see whether a fleet's scaling policies are in force or
7248// suspended, call DescribeFleetAttributes and check the stopped actions.
7249//
7250// Related actions
7251//
7252// DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
7253// PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
7254// | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7255//
7256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7257// with awserr.Error's Code and Message methods to get detailed information about
7258// the error.
7259//
7260// See the AWS API reference guide for Amazon GameLift's
7261// API operation DescribeScalingPolicies for usage and error information.
7262//
7263// Returned Error Types:
7264//   * InternalServiceException
7265//   The service encountered an unrecoverable internal failure while processing
7266//   the request. Clients can retry such requests immediately or after a waiting
7267//   period.
7268//
7269//   * InvalidRequestException
7270//   One or more parameter values in the request are invalid. Correct the invalid
7271//   parameter values before retrying.
7272//
7273//   * UnauthorizedException
7274//   The client failed authentication. Clients should not retry such requests.
7275//
7276//   * NotFoundException
7277//   A service resource associated with the request could not be found. Clients
7278//   should not retry such requests.
7279//
7280//   * UnsupportedRegionException
7281//   The requested operation is not supported in the Region specified.
7282//
7283// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
7284func (c *GameLift) DescribeScalingPolicies(input *DescribeScalingPoliciesInput) (*DescribeScalingPoliciesOutput, error) {
7285	req, out := c.DescribeScalingPoliciesRequest(input)
7286	return out, req.Send()
7287}
7288
7289// DescribeScalingPoliciesWithContext is the same as DescribeScalingPolicies with the addition of
7290// the ability to pass a context and additional request options.
7291//
7292// See DescribeScalingPolicies for details on how to use this API operation.
7293//
7294// The context must be non-nil and will be used for request cancellation. If
7295// the context is nil a panic will occur. In the future the SDK may create
7296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7297// for more information on using Contexts.
7298func (c *GameLift) DescribeScalingPoliciesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, opts ...request.Option) (*DescribeScalingPoliciesOutput, error) {
7299	req, out := c.DescribeScalingPoliciesRequest(input)
7300	req.SetContext(ctx)
7301	req.ApplyOptions(opts...)
7302	return out, req.Send()
7303}
7304
7305// DescribeScalingPoliciesPages iterates over the pages of a DescribeScalingPolicies operation,
7306// calling the "fn" function with the response data for each page. To stop
7307// iterating, return false from the fn function.
7308//
7309// See DescribeScalingPolicies method for more information on how to use this operation.
7310//
7311// Note: This operation can generate multiple requests to a service.
7312//
7313//    // Example iterating over at most 3 pages of a DescribeScalingPolicies operation.
7314//    pageNum := 0
7315//    err := client.DescribeScalingPoliciesPages(params,
7316//        func(page *gamelift.DescribeScalingPoliciesOutput, lastPage bool) bool {
7317//            pageNum++
7318//            fmt.Println(page)
7319//            return pageNum <= 3
7320//        })
7321//
7322func (c *GameLift) DescribeScalingPoliciesPages(input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool) error {
7323	return c.DescribeScalingPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
7324}
7325
7326// DescribeScalingPoliciesPagesWithContext same as DescribeScalingPoliciesPages except
7327// it takes a Context and allows setting request options on the pages.
7328//
7329// The context must be non-nil and will be used for request cancellation. If
7330// the context is nil a panic will occur. In the future the SDK may create
7331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7332// for more information on using Contexts.
7333func (c *GameLift) DescribeScalingPoliciesPagesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool, opts ...request.Option) error {
7334	p := request.Pagination{
7335		NewRequest: func() (*request.Request, error) {
7336			var inCpy *DescribeScalingPoliciesInput
7337			if input != nil {
7338				tmp := *input
7339				inCpy = &tmp
7340			}
7341			req, _ := c.DescribeScalingPoliciesRequest(inCpy)
7342			req.SetContext(ctx)
7343			req.ApplyOptions(opts...)
7344			return req, nil
7345		},
7346	}
7347
7348	for p.Next() {
7349		if !fn(p.Page().(*DescribeScalingPoliciesOutput), !p.HasNextPage()) {
7350			break
7351		}
7352	}
7353
7354	return p.Err()
7355}
7356
7357const opDescribeScript = "DescribeScript"
7358
7359// DescribeScriptRequest generates a "aws/request.Request" representing the
7360// client's request for the DescribeScript operation. The "output" return
7361// value will be populated with the request's response once the request completes
7362// successfully.
7363//
7364// Use "Send" method on the returned Request to send the API call to the service.
7365// the "output" return value is not valid until after Send returns without error.
7366//
7367// See DescribeScript for more information on using the DescribeScript
7368// API call, and error handling.
7369//
7370// This method is useful when you want to inject custom logic or configuration
7371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7372//
7373//
7374//    // Example sending a request using the DescribeScriptRequest method.
7375//    req, resp := client.DescribeScriptRequest(params)
7376//
7377//    err := req.Send()
7378//    if err == nil { // resp is now filled
7379//        fmt.Println(resp)
7380//    }
7381//
7382// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScript
7383func (c *GameLift) DescribeScriptRequest(input *DescribeScriptInput) (req *request.Request, output *DescribeScriptOutput) {
7384	op := &request.Operation{
7385		Name:       opDescribeScript,
7386		HTTPMethod: "POST",
7387		HTTPPath:   "/",
7388	}
7389
7390	if input == nil {
7391		input = &DescribeScriptInput{}
7392	}
7393
7394	output = &DescribeScriptOutput{}
7395	req = c.newRequest(op, input, output)
7396	return
7397}
7398
7399// DescribeScript API operation for Amazon GameLift.
7400//
7401// Retrieves properties for a Realtime script.
7402//
7403// To request a script record, specify the script ID. If successful, an object
7404// containing the script properties is returned.
7405//
7406// Learn more
7407//
7408// Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
7409//
7410// Related actions
7411//
7412// CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
7413// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7414//
7415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7416// with awserr.Error's Code and Message methods to get detailed information about
7417// the error.
7418//
7419// See the AWS API reference guide for Amazon GameLift's
7420// API operation DescribeScript for usage and error information.
7421//
7422// Returned Error Types:
7423//   * UnauthorizedException
7424//   The client failed authentication. Clients should not retry such requests.
7425//
7426//   * InvalidRequestException
7427//   One or more parameter values in the request are invalid. Correct the invalid
7428//   parameter values before retrying.
7429//
7430//   * InternalServiceException
7431//   The service encountered an unrecoverable internal failure while processing
7432//   the request. Clients can retry such requests immediately or after a waiting
7433//   period.
7434//
7435//   * NotFoundException
7436//   A service resource associated with the request could not be found. Clients
7437//   should not retry such requests.
7438//
7439// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScript
7440func (c *GameLift) DescribeScript(input *DescribeScriptInput) (*DescribeScriptOutput, error) {
7441	req, out := c.DescribeScriptRequest(input)
7442	return out, req.Send()
7443}
7444
7445// DescribeScriptWithContext is the same as DescribeScript with the addition of
7446// the ability to pass a context and additional request options.
7447//
7448// See DescribeScript for details on how to use this API operation.
7449//
7450// The context must be non-nil and will be used for request cancellation. If
7451// the context is nil a panic will occur. In the future the SDK may create
7452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7453// for more information on using Contexts.
7454func (c *GameLift) DescribeScriptWithContext(ctx aws.Context, input *DescribeScriptInput, opts ...request.Option) (*DescribeScriptOutput, error) {
7455	req, out := c.DescribeScriptRequest(input)
7456	req.SetContext(ctx)
7457	req.ApplyOptions(opts...)
7458	return out, req.Send()
7459}
7460
7461const opDescribeVpcPeeringAuthorizations = "DescribeVpcPeeringAuthorizations"
7462
7463// DescribeVpcPeeringAuthorizationsRequest generates a "aws/request.Request" representing the
7464// client's request for the DescribeVpcPeeringAuthorizations operation. The "output" return
7465// value will be populated with the request's response once the request completes
7466// successfully.
7467//
7468// Use "Send" method on the returned Request to send the API call to the service.
7469// the "output" return value is not valid until after Send returns without error.
7470//
7471// See DescribeVpcPeeringAuthorizations for more information on using the DescribeVpcPeeringAuthorizations
7472// API call, and error handling.
7473//
7474// This method is useful when you want to inject custom logic or configuration
7475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7476//
7477//
7478//    // Example sending a request using the DescribeVpcPeeringAuthorizationsRequest method.
7479//    req, resp := client.DescribeVpcPeeringAuthorizationsRequest(params)
7480//
7481//    err := req.Send()
7482//    if err == nil { // resp is now filled
7483//        fmt.Println(resp)
7484//    }
7485//
7486// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
7487func (c *GameLift) DescribeVpcPeeringAuthorizationsRequest(input *DescribeVpcPeeringAuthorizationsInput) (req *request.Request, output *DescribeVpcPeeringAuthorizationsOutput) {
7488	op := &request.Operation{
7489		Name:       opDescribeVpcPeeringAuthorizations,
7490		HTTPMethod: "POST",
7491		HTTPPath:   "/",
7492	}
7493
7494	if input == nil {
7495		input = &DescribeVpcPeeringAuthorizationsInput{}
7496	}
7497
7498	output = &DescribeVpcPeeringAuthorizationsOutput{}
7499	req = c.newRequest(op, input, output)
7500	return
7501}
7502
7503// DescribeVpcPeeringAuthorizations API operation for Amazon GameLift.
7504//
7505// Retrieves valid VPC peering authorizations that are pending for the AWS account.
7506// This operation returns all VPC peering authorizations and requests for peering.
7507// This includes those initiated and received by this account.
7508//
7509// Related actions
7510//
7511// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
7512// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
7513// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7514//
7515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7516// with awserr.Error's Code and Message methods to get detailed information about
7517// the error.
7518//
7519// See the AWS API reference guide for Amazon GameLift's
7520// API operation DescribeVpcPeeringAuthorizations for usage and error information.
7521//
7522// Returned Error Types:
7523//   * UnauthorizedException
7524//   The client failed authentication. Clients should not retry such requests.
7525//
7526//   * InvalidRequestException
7527//   One or more parameter values in the request are invalid. Correct the invalid
7528//   parameter values before retrying.
7529//
7530//   * InternalServiceException
7531//   The service encountered an unrecoverable internal failure while processing
7532//   the request. Clients can retry such requests immediately or after a waiting
7533//   period.
7534//
7535// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
7536func (c *GameLift) DescribeVpcPeeringAuthorizations(input *DescribeVpcPeeringAuthorizationsInput) (*DescribeVpcPeeringAuthorizationsOutput, error) {
7537	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
7538	return out, req.Send()
7539}
7540
7541// DescribeVpcPeeringAuthorizationsWithContext is the same as DescribeVpcPeeringAuthorizations with the addition of
7542// the ability to pass a context and additional request options.
7543//
7544// See DescribeVpcPeeringAuthorizations for details on how to use this API operation.
7545//
7546// The context must be non-nil and will be used for request cancellation. If
7547// the context is nil a panic will occur. In the future the SDK may create
7548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7549// for more information on using Contexts.
7550func (c *GameLift) DescribeVpcPeeringAuthorizationsWithContext(ctx aws.Context, input *DescribeVpcPeeringAuthorizationsInput, opts ...request.Option) (*DescribeVpcPeeringAuthorizationsOutput, error) {
7551	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
7552	req.SetContext(ctx)
7553	req.ApplyOptions(opts...)
7554	return out, req.Send()
7555}
7556
7557const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
7558
7559// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
7560// client's request for the DescribeVpcPeeringConnections operation. The "output" return
7561// value will be populated with the request's response once the request completes
7562// successfully.
7563//
7564// Use "Send" method on the returned Request to send the API call to the service.
7565// the "output" return value is not valid until after Send returns without error.
7566//
7567// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
7568// API call, and error handling.
7569//
7570// This method is useful when you want to inject custom logic or configuration
7571// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7572//
7573//
7574//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
7575//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
7576//
7577//    err := req.Send()
7578//    if err == nil { // resp is now filled
7579//        fmt.Println(resp)
7580//    }
7581//
7582// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
7583func (c *GameLift) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
7584	op := &request.Operation{
7585		Name:       opDescribeVpcPeeringConnections,
7586		HTTPMethod: "POST",
7587		HTTPPath:   "/",
7588	}
7589
7590	if input == nil {
7591		input = &DescribeVpcPeeringConnectionsInput{}
7592	}
7593
7594	output = &DescribeVpcPeeringConnectionsOutput{}
7595	req = c.newRequest(op, input, output)
7596	return
7597}
7598
7599// DescribeVpcPeeringConnections API operation for Amazon GameLift.
7600//
7601// Retrieves information on VPC peering connections. Use this operation to get
7602// peering information for all fleets or for one specific fleet ID.
7603//
7604// To retrieve connection information, call this operation from the AWS account
7605// that is used to manage the Amazon GameLift fleets. Specify a fleet ID or
7606// leave the parameter empty to retrieve all connection records. If successful,
7607// the retrieved information includes both active and pending connections. Active
7608// connections identify the IpV4 CIDR block that the VPC uses to connect.
7609//
7610// Related actions
7611//
7612// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
7613// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
7614// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7615//
7616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7617// with awserr.Error's Code and Message methods to get detailed information about
7618// the error.
7619//
7620// See the AWS API reference guide for Amazon GameLift's
7621// API operation DescribeVpcPeeringConnections for usage and error information.
7622//
7623// Returned Error Types:
7624//   * UnauthorizedException
7625//   The client failed authentication. Clients should not retry such requests.
7626//
7627//   * InvalidRequestException
7628//   One or more parameter values in the request are invalid. Correct the invalid
7629//   parameter values before retrying.
7630//
7631//   * NotFoundException
7632//   A service resource associated with the request could not be found. Clients
7633//   should not retry such requests.
7634//
7635//   * InternalServiceException
7636//   The service encountered an unrecoverable internal failure while processing
7637//   the request. Clients can retry such requests immediately or after a waiting
7638//   period.
7639//
7640// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
7641func (c *GameLift) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
7642	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
7643	return out, req.Send()
7644}
7645
7646// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
7647// the ability to pass a context and additional request options.
7648//
7649// See DescribeVpcPeeringConnections for details on how to use this API operation.
7650//
7651// The context must be non-nil and will be used for request cancellation. If
7652// the context is nil a panic will occur. In the future the SDK may create
7653// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7654// for more information on using Contexts.
7655func (c *GameLift) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
7656	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
7657	req.SetContext(ctx)
7658	req.ApplyOptions(opts...)
7659	return out, req.Send()
7660}
7661
7662const opGetGameSessionLogUrl = "GetGameSessionLogUrl"
7663
7664// GetGameSessionLogUrlRequest generates a "aws/request.Request" representing the
7665// client's request for the GetGameSessionLogUrl operation. The "output" return
7666// value will be populated with the request's response once the request completes
7667// successfully.
7668//
7669// Use "Send" method on the returned Request to send the API call to the service.
7670// the "output" return value is not valid until after Send returns without error.
7671//
7672// See GetGameSessionLogUrl for more information on using the GetGameSessionLogUrl
7673// API call, and error handling.
7674//
7675// This method is useful when you want to inject custom logic or configuration
7676// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7677//
7678//
7679//    // Example sending a request using the GetGameSessionLogUrlRequest method.
7680//    req, resp := client.GetGameSessionLogUrlRequest(params)
7681//
7682//    err := req.Send()
7683//    if err == nil { // resp is now filled
7684//        fmt.Println(resp)
7685//    }
7686//
7687// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
7688func (c *GameLift) GetGameSessionLogUrlRequest(input *GetGameSessionLogUrlInput) (req *request.Request, output *GetGameSessionLogUrlOutput) {
7689	op := &request.Operation{
7690		Name:       opGetGameSessionLogUrl,
7691		HTTPMethod: "POST",
7692		HTTPPath:   "/",
7693	}
7694
7695	if input == nil {
7696		input = &GetGameSessionLogUrlInput{}
7697	}
7698
7699	output = &GetGameSessionLogUrlOutput{}
7700	req = c.newRequest(op, input, output)
7701	return
7702}
7703
7704// GetGameSessionLogUrl API operation for Amazon GameLift.
7705//
7706// Retrieves the location of stored game session logs for a specified game session.
7707// When a game session is terminated, GameLift automatically stores the logs
7708// in Amazon S3 and retains them for 14 days. Use this URL to download the logs.
7709//
7710// See the AWS Service Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift)
7711// page for maximum log file sizes. Log files that exceed this limit are not
7712// saved.
7713//
7714// Related actions
7715//
7716// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
7717// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
7718// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
7719// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7720//
7721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7722// with awserr.Error's Code and Message methods to get detailed information about
7723// the error.
7724//
7725// See the AWS API reference guide for Amazon GameLift's
7726// API operation GetGameSessionLogUrl for usage and error information.
7727//
7728// Returned Error Types:
7729//   * InternalServiceException
7730//   The service encountered an unrecoverable internal failure while processing
7731//   the request. Clients can retry such requests immediately or after a waiting
7732//   period.
7733//
7734//   * NotFoundException
7735//   A service resource associated with the request could not be found. Clients
7736//   should not retry such requests.
7737//
7738//   * UnauthorizedException
7739//   The client failed authentication. Clients should not retry such requests.
7740//
7741//   * InvalidRequestException
7742//   One or more parameter values in the request are invalid. Correct the invalid
7743//   parameter values before retrying.
7744//
7745// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
7746func (c *GameLift) GetGameSessionLogUrl(input *GetGameSessionLogUrlInput) (*GetGameSessionLogUrlOutput, error) {
7747	req, out := c.GetGameSessionLogUrlRequest(input)
7748	return out, req.Send()
7749}
7750
7751// GetGameSessionLogUrlWithContext is the same as GetGameSessionLogUrl with the addition of
7752// the ability to pass a context and additional request options.
7753//
7754// See GetGameSessionLogUrl for details on how to use this API operation.
7755//
7756// The context must be non-nil and will be used for request cancellation. If
7757// the context is nil a panic will occur. In the future the SDK may create
7758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7759// for more information on using Contexts.
7760func (c *GameLift) GetGameSessionLogUrlWithContext(ctx aws.Context, input *GetGameSessionLogUrlInput, opts ...request.Option) (*GetGameSessionLogUrlOutput, error) {
7761	req, out := c.GetGameSessionLogUrlRequest(input)
7762	req.SetContext(ctx)
7763	req.ApplyOptions(opts...)
7764	return out, req.Send()
7765}
7766
7767const opGetInstanceAccess = "GetInstanceAccess"
7768
7769// GetInstanceAccessRequest generates a "aws/request.Request" representing the
7770// client's request for the GetInstanceAccess operation. The "output" return
7771// value will be populated with the request's response once the request completes
7772// successfully.
7773//
7774// Use "Send" method on the returned Request to send the API call to the service.
7775// the "output" return value is not valid until after Send returns without error.
7776//
7777// See GetInstanceAccess for more information on using the GetInstanceAccess
7778// API call, and error handling.
7779//
7780// This method is useful when you want to inject custom logic or configuration
7781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7782//
7783//
7784//    // Example sending a request using the GetInstanceAccessRequest method.
7785//    req, resp := client.GetInstanceAccessRequest(params)
7786//
7787//    err := req.Send()
7788//    if err == nil { // resp is now filled
7789//        fmt.Println(resp)
7790//    }
7791//
7792// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
7793func (c *GameLift) GetInstanceAccessRequest(input *GetInstanceAccessInput) (req *request.Request, output *GetInstanceAccessOutput) {
7794	op := &request.Operation{
7795		Name:       opGetInstanceAccess,
7796		HTTPMethod: "POST",
7797		HTTPPath:   "/",
7798	}
7799
7800	if input == nil {
7801		input = &GetInstanceAccessInput{}
7802	}
7803
7804	output = &GetInstanceAccessOutput{}
7805	req = c.newRequest(op, input, output)
7806	return
7807}
7808
7809// GetInstanceAccess API operation for Amazon GameLift.
7810//
7811// Requests remote access to a fleet instance. Remote access is useful for debugging,
7812// gathering benchmarking data, or observing activity in real time.
7813//
7814// To remotely access an instance, you need credentials that match the operating
7815// system of the instance. For a Windows instance, GameLift returns a user name
7816// and password as strings for use with a Windows Remote Desktop client. For
7817// a Linux instance, GameLift returns a user name and RSA private key, also
7818// as strings, for use with an SSH client. The private key must be saved in
7819// the proper format to a .pem file before using. If you're making this request
7820// using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess
7821// request, as shown in one of the examples for this operation.
7822//
7823// To request access to a specific instance, specify the IDs of both the instance
7824// and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling
7825// DescribeInstances. If successful, an InstanceAccess object is returned that
7826// contains the instance's IP address and a set of credentials.
7827//
7828// Learn more
7829//
7830// Remotely Access Fleet Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html)
7831//
7832// Debug Fleet Issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html)
7833//
7834// Related actions
7835//
7836// DescribeInstances | GetInstanceAccess | DescribeEC2InstanceLimits | All APIs
7837// by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7838//
7839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7840// with awserr.Error's Code and Message methods to get detailed information about
7841// the error.
7842//
7843// See the AWS API reference guide for Amazon GameLift's
7844// API operation GetInstanceAccess for usage and error information.
7845//
7846// Returned Error Types:
7847//   * UnauthorizedException
7848//   The client failed authentication. Clients should not retry such requests.
7849//
7850//   * InvalidRequestException
7851//   One or more parameter values in the request are invalid. Correct the invalid
7852//   parameter values before retrying.
7853//
7854//   * NotFoundException
7855//   A service resource associated with the request could not be found. Clients
7856//   should not retry such requests.
7857//
7858//   * InternalServiceException
7859//   The service encountered an unrecoverable internal failure while processing
7860//   the request. Clients can retry such requests immediately or after a waiting
7861//   period.
7862//
7863// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
7864func (c *GameLift) GetInstanceAccess(input *GetInstanceAccessInput) (*GetInstanceAccessOutput, error) {
7865	req, out := c.GetInstanceAccessRequest(input)
7866	return out, req.Send()
7867}
7868
7869// GetInstanceAccessWithContext is the same as GetInstanceAccess with the addition of
7870// the ability to pass a context and additional request options.
7871//
7872// See GetInstanceAccess for details on how to use this API operation.
7873//
7874// The context must be non-nil and will be used for request cancellation. If
7875// the context is nil a panic will occur. In the future the SDK may create
7876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7877// for more information on using Contexts.
7878func (c *GameLift) GetInstanceAccessWithContext(ctx aws.Context, input *GetInstanceAccessInput, opts ...request.Option) (*GetInstanceAccessOutput, error) {
7879	req, out := c.GetInstanceAccessRequest(input)
7880	req.SetContext(ctx)
7881	req.ApplyOptions(opts...)
7882	return out, req.Send()
7883}
7884
7885const opListAliases = "ListAliases"
7886
7887// ListAliasesRequest generates a "aws/request.Request" representing the
7888// client's request for the ListAliases operation. The "output" return
7889// value will be populated with the request's response once the request completes
7890// successfully.
7891//
7892// Use "Send" method on the returned Request to send the API call to the service.
7893// the "output" return value is not valid until after Send returns without error.
7894//
7895// See ListAliases for more information on using the ListAliases
7896// API call, and error handling.
7897//
7898// This method is useful when you want to inject custom logic or configuration
7899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7900//
7901//
7902//    // Example sending a request using the ListAliasesRequest method.
7903//    req, resp := client.ListAliasesRequest(params)
7904//
7905//    err := req.Send()
7906//    if err == nil { // resp is now filled
7907//        fmt.Println(resp)
7908//    }
7909//
7910// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
7911func (c *GameLift) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) {
7912	op := &request.Operation{
7913		Name:       opListAliases,
7914		HTTPMethod: "POST",
7915		HTTPPath:   "/",
7916		Paginator: &request.Paginator{
7917			InputTokens:     []string{"NextToken"},
7918			OutputTokens:    []string{"NextToken"},
7919			LimitToken:      "Limit",
7920			TruncationToken: "",
7921		},
7922	}
7923
7924	if input == nil {
7925		input = &ListAliasesInput{}
7926	}
7927
7928	output = &ListAliasesOutput{}
7929	req = c.newRequest(op, input, output)
7930	return
7931}
7932
7933// ListAliases API operation for Amazon GameLift.
7934//
7935// Retrieves all aliases for this AWS account. You can filter the result set
7936// by alias name and/or routing strategy type. Use the pagination parameters
7937// to retrieve results in sequential pages.
7938//
7939// Returned aliases are not listed in any particular order.
7940//
7941// Related actions
7942//
7943// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
7944// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
7945//
7946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7947// with awserr.Error's Code and Message methods to get detailed information about
7948// the error.
7949//
7950// See the AWS API reference guide for Amazon GameLift's
7951// API operation ListAliases for usage and error information.
7952//
7953// Returned Error Types:
7954//   * UnauthorizedException
7955//   The client failed authentication. Clients should not retry such requests.
7956//
7957//   * InvalidRequestException
7958//   One or more parameter values in the request are invalid. Correct the invalid
7959//   parameter values before retrying.
7960//
7961//   * InternalServiceException
7962//   The service encountered an unrecoverable internal failure while processing
7963//   the request. Clients can retry such requests immediately or after a waiting
7964//   period.
7965//
7966// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
7967func (c *GameLift) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) {
7968	req, out := c.ListAliasesRequest(input)
7969	return out, req.Send()
7970}
7971
7972// ListAliasesWithContext is the same as ListAliases with the addition of
7973// the ability to pass a context and additional request options.
7974//
7975// See ListAliases for details on how to use this API operation.
7976//
7977// The context must be non-nil and will be used for request cancellation. If
7978// the context is nil a panic will occur. In the future the SDK may create
7979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7980// for more information on using Contexts.
7981func (c *GameLift) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInput, opts ...request.Option) (*ListAliasesOutput, error) {
7982	req, out := c.ListAliasesRequest(input)
7983	req.SetContext(ctx)
7984	req.ApplyOptions(opts...)
7985	return out, req.Send()
7986}
7987
7988// ListAliasesPages iterates over the pages of a ListAliases operation,
7989// calling the "fn" function with the response data for each page. To stop
7990// iterating, return false from the fn function.
7991//
7992// See ListAliases method for more information on how to use this operation.
7993//
7994// Note: This operation can generate multiple requests to a service.
7995//
7996//    // Example iterating over at most 3 pages of a ListAliases operation.
7997//    pageNum := 0
7998//    err := client.ListAliasesPages(params,
7999//        func(page *gamelift.ListAliasesOutput, lastPage bool) bool {
8000//            pageNum++
8001//            fmt.Println(page)
8002//            return pageNum <= 3
8003//        })
8004//
8005func (c *GameLift) ListAliasesPages(input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool) error {
8006	return c.ListAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
8007}
8008
8009// ListAliasesPagesWithContext same as ListAliasesPages except
8010// it takes a Context and allows setting request options on the pages.
8011//
8012// The context must be non-nil and will be used for request cancellation. If
8013// the context is nil a panic will occur. In the future the SDK may create
8014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8015// for more information on using Contexts.
8016func (c *GameLift) ListAliasesPagesWithContext(ctx aws.Context, input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool, opts ...request.Option) error {
8017	p := request.Pagination{
8018		NewRequest: func() (*request.Request, error) {
8019			var inCpy *ListAliasesInput
8020			if input != nil {
8021				tmp := *input
8022				inCpy = &tmp
8023			}
8024			req, _ := c.ListAliasesRequest(inCpy)
8025			req.SetContext(ctx)
8026			req.ApplyOptions(opts...)
8027			return req, nil
8028		},
8029	}
8030
8031	for p.Next() {
8032		if !fn(p.Page().(*ListAliasesOutput), !p.HasNextPage()) {
8033			break
8034		}
8035	}
8036
8037	return p.Err()
8038}
8039
8040const opListBuilds = "ListBuilds"
8041
8042// ListBuildsRequest generates a "aws/request.Request" representing the
8043// client's request for the ListBuilds operation. The "output" return
8044// value will be populated with the request's response once the request completes
8045// successfully.
8046//
8047// Use "Send" method on the returned Request to send the API call to the service.
8048// the "output" return value is not valid until after Send returns without error.
8049//
8050// See ListBuilds for more information on using the ListBuilds
8051// API call, and error handling.
8052//
8053// This method is useful when you want to inject custom logic or configuration
8054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8055//
8056//
8057//    // Example sending a request using the ListBuildsRequest method.
8058//    req, resp := client.ListBuildsRequest(params)
8059//
8060//    err := req.Send()
8061//    if err == nil { // resp is now filled
8062//        fmt.Println(resp)
8063//    }
8064//
8065// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
8066func (c *GameLift) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) {
8067	op := &request.Operation{
8068		Name:       opListBuilds,
8069		HTTPMethod: "POST",
8070		HTTPPath:   "/",
8071		Paginator: &request.Paginator{
8072			InputTokens:     []string{"NextToken"},
8073			OutputTokens:    []string{"NextToken"},
8074			LimitToken:      "Limit",
8075			TruncationToken: "",
8076		},
8077	}
8078
8079	if input == nil {
8080		input = &ListBuildsInput{}
8081	}
8082
8083	output = &ListBuildsOutput{}
8084	req = c.newRequest(op, input, output)
8085	return
8086}
8087
8088// ListBuilds API operation for Amazon GameLift.
8089//
8090// Retrieves build resources for all builds associated with the AWS account
8091// in use. You can limit results to builds that are in a specific status by
8092// using the Status parameter. Use the pagination parameters to retrieve results
8093// in a set of sequential pages.
8094//
8095// Build resources are not listed in any particular order.
8096//
8097// Learn more
8098//
8099//  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
8100//
8101// Related actions
8102//
8103// CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
8104// APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
8105//
8106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8107// with awserr.Error's Code and Message methods to get detailed information about
8108// the error.
8109//
8110// See the AWS API reference guide for Amazon GameLift's
8111// API operation ListBuilds for usage and error information.
8112//
8113// Returned Error Types:
8114//   * UnauthorizedException
8115//   The client failed authentication. Clients should not retry such requests.
8116//
8117//   * InvalidRequestException
8118//   One or more parameter values in the request are invalid. Correct the invalid
8119//   parameter values before retrying.
8120//
8121//   * InternalServiceException
8122//   The service encountered an unrecoverable internal failure while processing
8123//   the request. Clients can retry such requests immediately or after a waiting
8124//   period.
8125//
8126// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
8127func (c *GameLift) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) {
8128	req, out := c.ListBuildsRequest(input)
8129	return out, req.Send()
8130}
8131
8132// ListBuildsWithContext is the same as ListBuilds with the addition of
8133// the ability to pass a context and additional request options.
8134//
8135// See ListBuilds for details on how to use this API operation.
8136//
8137// The context must be non-nil and will be used for request cancellation. If
8138// the context is nil a panic will occur. In the future the SDK may create
8139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8140// for more information on using Contexts.
8141func (c *GameLift) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) {
8142	req, out := c.ListBuildsRequest(input)
8143	req.SetContext(ctx)
8144	req.ApplyOptions(opts...)
8145	return out, req.Send()
8146}
8147
8148// ListBuildsPages iterates over the pages of a ListBuilds operation,
8149// calling the "fn" function with the response data for each page. To stop
8150// iterating, return false from the fn function.
8151//
8152// See ListBuilds method for more information on how to use this operation.
8153//
8154// Note: This operation can generate multiple requests to a service.
8155//
8156//    // Example iterating over at most 3 pages of a ListBuilds operation.
8157//    pageNum := 0
8158//    err := client.ListBuildsPages(params,
8159//        func(page *gamelift.ListBuildsOutput, lastPage bool) bool {
8160//            pageNum++
8161//            fmt.Println(page)
8162//            return pageNum <= 3
8163//        })
8164//
8165func (c *GameLift) ListBuildsPages(input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool) error {
8166	return c.ListBuildsPagesWithContext(aws.BackgroundContext(), input, fn)
8167}
8168
8169// ListBuildsPagesWithContext same as ListBuildsPages except
8170// it takes a Context and allows setting request options on the pages.
8171//
8172// The context must be non-nil and will be used for request cancellation. If
8173// the context is nil a panic will occur. In the future the SDK may create
8174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8175// for more information on using Contexts.
8176func (c *GameLift) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error {
8177	p := request.Pagination{
8178		NewRequest: func() (*request.Request, error) {
8179			var inCpy *ListBuildsInput
8180			if input != nil {
8181				tmp := *input
8182				inCpy = &tmp
8183			}
8184			req, _ := c.ListBuildsRequest(inCpy)
8185			req.SetContext(ctx)
8186			req.ApplyOptions(opts...)
8187			return req, nil
8188		},
8189	}
8190
8191	for p.Next() {
8192		if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) {
8193			break
8194		}
8195	}
8196
8197	return p.Err()
8198}
8199
8200const opListFleets = "ListFleets"
8201
8202// ListFleetsRequest generates a "aws/request.Request" representing the
8203// client's request for the ListFleets operation. The "output" return
8204// value will be populated with the request's response once the request completes
8205// successfully.
8206//
8207// Use "Send" method on the returned Request to send the API call to the service.
8208// the "output" return value is not valid until after Send returns without error.
8209//
8210// See ListFleets for more information on using the ListFleets
8211// API call, and error handling.
8212//
8213// This method is useful when you want to inject custom logic or configuration
8214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8215//
8216//
8217//    // Example sending a request using the ListFleetsRequest method.
8218//    req, resp := client.ListFleetsRequest(params)
8219//
8220//    err := req.Send()
8221//    if err == nil { // resp is now filled
8222//        fmt.Println(resp)
8223//    }
8224//
8225// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
8226func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
8227	op := &request.Operation{
8228		Name:       opListFleets,
8229		HTTPMethod: "POST",
8230		HTTPPath:   "/",
8231		Paginator: &request.Paginator{
8232			InputTokens:     []string{"NextToken"},
8233			OutputTokens:    []string{"NextToken"},
8234			LimitToken:      "Limit",
8235			TruncationToken: "",
8236		},
8237	}
8238
8239	if input == nil {
8240		input = &ListFleetsInput{}
8241	}
8242
8243	output = &ListFleetsOutput{}
8244	req = c.newRequest(op, input, output)
8245	return
8246}
8247
8248// ListFleets API operation for Amazon GameLift.
8249//
8250// Retrieves a collection of fleet resources in an AWS Region. You can call
8251// this operation to get fleets in a previously selected default Region (see
8252// https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html
8253// (https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html)or
8254// specify a Region in your request. You can filter the result set to find only
8255// those fleets that are deployed with a specific build or script. For fleets
8256// that have multiple locations, this operation retrieves fleets based on their
8257// home Region only.
8258//
8259// This operation can be used in the following ways:
8260//
8261//    * To get a list of all fleets in a Region, don't provide a build or script
8262//    identifier.
8263//
8264//    * To get a list of all fleets where a specific custom game build is deployed,
8265//    provide the build ID.
8266//
8267//    * To get a list of all Realtime Servers fleets with a specific configuration
8268//    script, provide the script ID.
8269//
8270// Use the pagination parameters to retrieve results as a set of sequential
8271// pages.
8272//
8273// If successful, a list of fleet IDs that match the request parameters is returned.
8274// A NextToken value is also returned if there are more result pages to retrieve.
8275//
8276// Fleet resources are not listed in a particular order.
8277//
8278// Learn more
8279//
8280// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
8281//
8282// Related actions
8283//
8284// CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
8285// | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
8286// | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
8287//
8288// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8289// with awserr.Error's Code and Message methods to get detailed information about
8290// the error.
8291//
8292// See the AWS API reference guide for Amazon GameLift's
8293// API operation ListFleets for usage and error information.
8294//
8295// Returned Error Types:
8296//   * InternalServiceException
8297//   The service encountered an unrecoverable internal failure while processing
8298//   the request. Clients can retry such requests immediately or after a waiting
8299//   period.
8300//
8301//   * NotFoundException
8302//   A service resource associated with the request could not be found. Clients
8303//   should not retry such requests.
8304//
8305//   * InvalidRequestException
8306//   One or more parameter values in the request are invalid. Correct the invalid
8307//   parameter values before retrying.
8308//
8309//   * UnauthorizedException
8310//   The client failed authentication. Clients should not retry such requests.
8311//
8312// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
8313func (c *GameLift) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
8314	req, out := c.ListFleetsRequest(input)
8315	return out, req.Send()
8316}
8317
8318// ListFleetsWithContext is the same as ListFleets with the addition of
8319// the ability to pass a context and additional request options.
8320//
8321// See ListFleets for details on how to use this API operation.
8322//
8323// The context must be non-nil and will be used for request cancellation. If
8324// the context is nil a panic will occur. In the future the SDK may create
8325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8326// for more information on using Contexts.
8327func (c *GameLift) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
8328	req, out := c.ListFleetsRequest(input)
8329	req.SetContext(ctx)
8330	req.ApplyOptions(opts...)
8331	return out, req.Send()
8332}
8333
8334// ListFleetsPages iterates over the pages of a ListFleets operation,
8335// calling the "fn" function with the response data for each page. To stop
8336// iterating, return false from the fn function.
8337//
8338// See ListFleets method for more information on how to use this operation.
8339//
8340// Note: This operation can generate multiple requests to a service.
8341//
8342//    // Example iterating over at most 3 pages of a ListFleets operation.
8343//    pageNum := 0
8344//    err := client.ListFleetsPages(params,
8345//        func(page *gamelift.ListFleetsOutput, lastPage bool) bool {
8346//            pageNum++
8347//            fmt.Println(page)
8348//            return pageNum <= 3
8349//        })
8350//
8351func (c *GameLift) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error {
8352	return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
8353}
8354
8355// ListFleetsPagesWithContext same as ListFleetsPages except
8356// it takes a Context and allows setting request options on the pages.
8357//
8358// The context must be non-nil and will be used for request cancellation. If
8359// the context is nil a panic will occur. In the future the SDK may create
8360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8361// for more information on using Contexts.
8362func (c *GameLift) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error {
8363	p := request.Pagination{
8364		NewRequest: func() (*request.Request, error) {
8365			var inCpy *ListFleetsInput
8366			if input != nil {
8367				tmp := *input
8368				inCpy = &tmp
8369			}
8370			req, _ := c.ListFleetsRequest(inCpy)
8371			req.SetContext(ctx)
8372			req.ApplyOptions(opts...)
8373			return req, nil
8374		},
8375	}
8376
8377	for p.Next() {
8378		if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) {
8379			break
8380		}
8381	}
8382
8383	return p.Err()
8384}
8385
8386const opListGameServerGroups = "ListGameServerGroups"
8387
8388// ListGameServerGroupsRequest generates a "aws/request.Request" representing the
8389// client's request for the ListGameServerGroups operation. The "output" return
8390// value will be populated with the request's response once the request completes
8391// successfully.
8392//
8393// Use "Send" method on the returned Request to send the API call to the service.
8394// the "output" return value is not valid until after Send returns without error.
8395//
8396// See ListGameServerGroups for more information on using the ListGameServerGroups
8397// API call, and error handling.
8398//
8399// This method is useful when you want to inject custom logic or configuration
8400// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8401//
8402//
8403//    // Example sending a request using the ListGameServerGroupsRequest method.
8404//    req, resp := client.ListGameServerGroupsRequest(params)
8405//
8406//    err := req.Send()
8407//    if err == nil { // resp is now filled
8408//        fmt.Println(resp)
8409//    }
8410//
8411// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServerGroups
8412func (c *GameLift) ListGameServerGroupsRequest(input *ListGameServerGroupsInput) (req *request.Request, output *ListGameServerGroupsOutput) {
8413	op := &request.Operation{
8414		Name:       opListGameServerGroups,
8415		HTTPMethod: "POST",
8416		HTTPPath:   "/",
8417		Paginator: &request.Paginator{
8418			InputTokens:     []string{"NextToken"},
8419			OutputTokens:    []string{"NextToken"},
8420			LimitToken:      "Limit",
8421			TruncationToken: "",
8422		},
8423	}
8424
8425	if input == nil {
8426		input = &ListGameServerGroupsInput{}
8427	}
8428
8429	output = &ListGameServerGroupsOutput{}
8430	req = c.newRequest(op, input, output)
8431	return
8432}
8433
8434// ListGameServerGroups API operation for Amazon GameLift.
8435//
8436// This operation is used with the GameLift FleetIQ solution and game server
8437// groups.
8438//
8439// Retrieves information on all game servers groups that exist in the current
8440// AWS account for the selected Region. Use the pagination parameters to retrieve
8441// results in a set of sequential segments.
8442//
8443// Learn more
8444//
8445// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
8446//
8447// Related actions
8448//
8449// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
8450// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
8451// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
8452//
8453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8454// with awserr.Error's Code and Message methods to get detailed information about
8455// the error.
8456//
8457// See the AWS API reference guide for Amazon GameLift's
8458// API operation ListGameServerGroups for usage and error information.
8459//
8460// Returned Error Types:
8461//   * InvalidRequestException
8462//   One or more parameter values in the request are invalid. Correct the invalid
8463//   parameter values before retrying.
8464//
8465//   * UnauthorizedException
8466//   The client failed authentication. Clients should not retry such requests.
8467//
8468//   * InternalServiceException
8469//   The service encountered an unrecoverable internal failure while processing
8470//   the request. Clients can retry such requests immediately or after a waiting
8471//   period.
8472//
8473// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServerGroups
8474func (c *GameLift) ListGameServerGroups(input *ListGameServerGroupsInput) (*ListGameServerGroupsOutput, error) {
8475	req, out := c.ListGameServerGroupsRequest(input)
8476	return out, req.Send()
8477}
8478
8479// ListGameServerGroupsWithContext is the same as ListGameServerGroups with the addition of
8480// the ability to pass a context and additional request options.
8481//
8482// See ListGameServerGroups for details on how to use this API operation.
8483//
8484// The context must be non-nil and will be used for request cancellation. If
8485// the context is nil a panic will occur. In the future the SDK may create
8486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8487// for more information on using Contexts.
8488func (c *GameLift) ListGameServerGroupsWithContext(ctx aws.Context, input *ListGameServerGroupsInput, opts ...request.Option) (*ListGameServerGroupsOutput, error) {
8489	req, out := c.ListGameServerGroupsRequest(input)
8490	req.SetContext(ctx)
8491	req.ApplyOptions(opts...)
8492	return out, req.Send()
8493}
8494
8495// ListGameServerGroupsPages iterates over the pages of a ListGameServerGroups operation,
8496// calling the "fn" function with the response data for each page. To stop
8497// iterating, return false from the fn function.
8498//
8499// See ListGameServerGroups method for more information on how to use this operation.
8500//
8501// Note: This operation can generate multiple requests to a service.
8502//
8503//    // Example iterating over at most 3 pages of a ListGameServerGroups operation.
8504//    pageNum := 0
8505//    err := client.ListGameServerGroupsPages(params,
8506//        func(page *gamelift.ListGameServerGroupsOutput, lastPage bool) bool {
8507//            pageNum++
8508//            fmt.Println(page)
8509//            return pageNum <= 3
8510//        })
8511//
8512func (c *GameLift) ListGameServerGroupsPages(input *ListGameServerGroupsInput, fn func(*ListGameServerGroupsOutput, bool) bool) error {
8513	return c.ListGameServerGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
8514}
8515
8516// ListGameServerGroupsPagesWithContext same as ListGameServerGroupsPages except
8517// it takes a Context and allows setting request options on the pages.
8518//
8519// The context must be non-nil and will be used for request cancellation. If
8520// the context is nil a panic will occur. In the future the SDK may create
8521// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8522// for more information on using Contexts.
8523func (c *GameLift) ListGameServerGroupsPagesWithContext(ctx aws.Context, input *ListGameServerGroupsInput, fn func(*ListGameServerGroupsOutput, bool) bool, opts ...request.Option) error {
8524	p := request.Pagination{
8525		NewRequest: func() (*request.Request, error) {
8526			var inCpy *ListGameServerGroupsInput
8527			if input != nil {
8528				tmp := *input
8529				inCpy = &tmp
8530			}
8531			req, _ := c.ListGameServerGroupsRequest(inCpy)
8532			req.SetContext(ctx)
8533			req.ApplyOptions(opts...)
8534			return req, nil
8535		},
8536	}
8537
8538	for p.Next() {
8539		if !fn(p.Page().(*ListGameServerGroupsOutput), !p.HasNextPage()) {
8540			break
8541		}
8542	}
8543
8544	return p.Err()
8545}
8546
8547const opListGameServers = "ListGameServers"
8548
8549// ListGameServersRequest generates a "aws/request.Request" representing the
8550// client's request for the ListGameServers operation. The "output" return
8551// value will be populated with the request's response once the request completes
8552// successfully.
8553//
8554// Use "Send" method on the returned Request to send the API call to the service.
8555// the "output" return value is not valid until after Send returns without error.
8556//
8557// See ListGameServers for more information on using the ListGameServers
8558// API call, and error handling.
8559//
8560// This method is useful when you want to inject custom logic or configuration
8561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8562//
8563//
8564//    // Example sending a request using the ListGameServersRequest method.
8565//    req, resp := client.ListGameServersRequest(params)
8566//
8567//    err := req.Send()
8568//    if err == nil { // resp is now filled
8569//        fmt.Println(resp)
8570//    }
8571//
8572// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServers
8573func (c *GameLift) ListGameServersRequest(input *ListGameServersInput) (req *request.Request, output *ListGameServersOutput) {
8574	op := &request.Operation{
8575		Name:       opListGameServers,
8576		HTTPMethod: "POST",
8577		HTTPPath:   "/",
8578		Paginator: &request.Paginator{
8579			InputTokens:     []string{"NextToken"},
8580			OutputTokens:    []string{"NextToken"},
8581			LimitToken:      "Limit",
8582			TruncationToken: "",
8583		},
8584	}
8585
8586	if input == nil {
8587		input = &ListGameServersInput{}
8588	}
8589
8590	output = &ListGameServersOutput{}
8591	req = c.newRequest(op, input, output)
8592	return
8593}
8594
8595// ListGameServers API operation for Amazon GameLift.
8596//
8597// This operation is used with the GameLift FleetIQ solution and game server
8598// groups.
8599//
8600// Retrieves information on all game servers that are currently active in a
8601// specified game server group. You can opt to sort the list by game server
8602// age. Use the pagination parameters to retrieve results in a set of sequential
8603// segments.
8604//
8605// Learn more
8606//
8607// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
8608//
8609// Related actions
8610//
8611// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
8612// | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
8613//
8614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8615// with awserr.Error's Code and Message methods to get detailed information about
8616// the error.
8617//
8618// See the AWS API reference guide for Amazon GameLift's
8619// API operation ListGameServers for usage and error information.
8620//
8621// Returned Error Types:
8622//   * InvalidRequestException
8623//   One or more parameter values in the request are invalid. Correct the invalid
8624//   parameter values before retrying.
8625//
8626//   * UnauthorizedException
8627//   The client failed authentication. Clients should not retry such requests.
8628//
8629//   * InternalServiceException
8630//   The service encountered an unrecoverable internal failure while processing
8631//   the request. Clients can retry such requests immediately or after a waiting
8632//   period.
8633//
8634// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServers
8635func (c *GameLift) ListGameServers(input *ListGameServersInput) (*ListGameServersOutput, error) {
8636	req, out := c.ListGameServersRequest(input)
8637	return out, req.Send()
8638}
8639
8640// ListGameServersWithContext is the same as ListGameServers with the addition of
8641// the ability to pass a context and additional request options.
8642//
8643// See ListGameServers for details on how to use this API operation.
8644//
8645// The context must be non-nil and will be used for request cancellation. If
8646// the context is nil a panic will occur. In the future the SDK may create
8647// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8648// for more information on using Contexts.
8649func (c *GameLift) ListGameServersWithContext(ctx aws.Context, input *ListGameServersInput, opts ...request.Option) (*ListGameServersOutput, error) {
8650	req, out := c.ListGameServersRequest(input)
8651	req.SetContext(ctx)
8652	req.ApplyOptions(opts...)
8653	return out, req.Send()
8654}
8655
8656// ListGameServersPages iterates over the pages of a ListGameServers operation,
8657// calling the "fn" function with the response data for each page. To stop
8658// iterating, return false from the fn function.
8659//
8660// See ListGameServers method for more information on how to use this operation.
8661//
8662// Note: This operation can generate multiple requests to a service.
8663//
8664//    // Example iterating over at most 3 pages of a ListGameServers operation.
8665//    pageNum := 0
8666//    err := client.ListGameServersPages(params,
8667//        func(page *gamelift.ListGameServersOutput, lastPage bool) bool {
8668//            pageNum++
8669//            fmt.Println(page)
8670//            return pageNum <= 3
8671//        })
8672//
8673func (c *GameLift) ListGameServersPages(input *ListGameServersInput, fn func(*ListGameServersOutput, bool) bool) error {
8674	return c.ListGameServersPagesWithContext(aws.BackgroundContext(), input, fn)
8675}
8676
8677// ListGameServersPagesWithContext same as ListGameServersPages except
8678// it takes a Context and allows setting request options on the pages.
8679//
8680// The context must be non-nil and will be used for request cancellation. If
8681// the context is nil a panic will occur. In the future the SDK may create
8682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8683// for more information on using Contexts.
8684func (c *GameLift) ListGameServersPagesWithContext(ctx aws.Context, input *ListGameServersInput, fn func(*ListGameServersOutput, bool) bool, opts ...request.Option) error {
8685	p := request.Pagination{
8686		NewRequest: func() (*request.Request, error) {
8687			var inCpy *ListGameServersInput
8688			if input != nil {
8689				tmp := *input
8690				inCpy = &tmp
8691			}
8692			req, _ := c.ListGameServersRequest(inCpy)
8693			req.SetContext(ctx)
8694			req.ApplyOptions(opts...)
8695			return req, nil
8696		},
8697	}
8698
8699	for p.Next() {
8700		if !fn(p.Page().(*ListGameServersOutput), !p.HasNextPage()) {
8701			break
8702		}
8703	}
8704
8705	return p.Err()
8706}
8707
8708const opListScripts = "ListScripts"
8709
8710// ListScriptsRequest generates a "aws/request.Request" representing the
8711// client's request for the ListScripts operation. The "output" return
8712// value will be populated with the request's response once the request completes
8713// successfully.
8714//
8715// Use "Send" method on the returned Request to send the API call to the service.
8716// the "output" return value is not valid until after Send returns without error.
8717//
8718// See ListScripts for more information on using the ListScripts
8719// API call, and error handling.
8720//
8721// This method is useful when you want to inject custom logic or configuration
8722// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8723//
8724//
8725//    // Example sending a request using the ListScriptsRequest method.
8726//    req, resp := client.ListScriptsRequest(params)
8727//
8728//    err := req.Send()
8729//    if err == nil { // resp is now filled
8730//        fmt.Println(resp)
8731//    }
8732//
8733// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListScripts
8734func (c *GameLift) ListScriptsRequest(input *ListScriptsInput) (req *request.Request, output *ListScriptsOutput) {
8735	op := &request.Operation{
8736		Name:       opListScripts,
8737		HTTPMethod: "POST",
8738		HTTPPath:   "/",
8739		Paginator: &request.Paginator{
8740			InputTokens:     []string{"NextToken"},
8741			OutputTokens:    []string{"NextToken"},
8742			LimitToken:      "Limit",
8743			TruncationToken: "",
8744		},
8745	}
8746
8747	if input == nil {
8748		input = &ListScriptsInput{}
8749	}
8750
8751	output = &ListScriptsOutput{}
8752	req = c.newRequest(op, input, output)
8753	return
8754}
8755
8756// ListScripts API operation for Amazon GameLift.
8757//
8758// Retrieves script records for all Realtime scripts that are associated with
8759// the AWS account in use.
8760//
8761// Learn more
8762//
8763// Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
8764//
8765// Related actions
8766//
8767// CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
8768// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
8769//
8770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8771// with awserr.Error's Code and Message methods to get detailed information about
8772// the error.
8773//
8774// See the AWS API reference guide for Amazon GameLift's
8775// API operation ListScripts for usage and error information.
8776//
8777// Returned Error Types:
8778//   * UnauthorizedException
8779//   The client failed authentication. Clients should not retry such requests.
8780//
8781//   * InvalidRequestException
8782//   One or more parameter values in the request are invalid. Correct the invalid
8783//   parameter values before retrying.
8784//
8785//   * InternalServiceException
8786//   The service encountered an unrecoverable internal failure while processing
8787//   the request. Clients can retry such requests immediately or after a waiting
8788//   period.
8789//
8790// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListScripts
8791func (c *GameLift) ListScripts(input *ListScriptsInput) (*ListScriptsOutput, error) {
8792	req, out := c.ListScriptsRequest(input)
8793	return out, req.Send()
8794}
8795
8796// ListScriptsWithContext is the same as ListScripts with the addition of
8797// the ability to pass a context and additional request options.
8798//
8799// See ListScripts for details on how to use this API operation.
8800//
8801// The context must be non-nil and will be used for request cancellation. If
8802// the context is nil a panic will occur. In the future the SDK may create
8803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8804// for more information on using Contexts.
8805func (c *GameLift) ListScriptsWithContext(ctx aws.Context, input *ListScriptsInput, opts ...request.Option) (*ListScriptsOutput, error) {
8806	req, out := c.ListScriptsRequest(input)
8807	req.SetContext(ctx)
8808	req.ApplyOptions(opts...)
8809	return out, req.Send()
8810}
8811
8812// ListScriptsPages iterates over the pages of a ListScripts operation,
8813// calling the "fn" function with the response data for each page. To stop
8814// iterating, return false from the fn function.
8815//
8816// See ListScripts method for more information on how to use this operation.
8817//
8818// Note: This operation can generate multiple requests to a service.
8819//
8820//    // Example iterating over at most 3 pages of a ListScripts operation.
8821//    pageNum := 0
8822//    err := client.ListScriptsPages(params,
8823//        func(page *gamelift.ListScriptsOutput, lastPage bool) bool {
8824//            pageNum++
8825//            fmt.Println(page)
8826//            return pageNum <= 3
8827//        })
8828//
8829func (c *GameLift) ListScriptsPages(input *ListScriptsInput, fn func(*ListScriptsOutput, bool) bool) error {
8830	return c.ListScriptsPagesWithContext(aws.BackgroundContext(), input, fn)
8831}
8832
8833// ListScriptsPagesWithContext same as ListScriptsPages except
8834// it takes a Context and allows setting request options on the pages.
8835//
8836// The context must be non-nil and will be used for request cancellation. If
8837// the context is nil a panic will occur. In the future the SDK may create
8838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8839// for more information on using Contexts.
8840func (c *GameLift) ListScriptsPagesWithContext(ctx aws.Context, input *ListScriptsInput, fn func(*ListScriptsOutput, bool) bool, opts ...request.Option) error {
8841	p := request.Pagination{
8842		NewRequest: func() (*request.Request, error) {
8843			var inCpy *ListScriptsInput
8844			if input != nil {
8845				tmp := *input
8846				inCpy = &tmp
8847			}
8848			req, _ := c.ListScriptsRequest(inCpy)
8849			req.SetContext(ctx)
8850			req.ApplyOptions(opts...)
8851			return req, nil
8852		},
8853	}
8854
8855	for p.Next() {
8856		if !fn(p.Page().(*ListScriptsOutput), !p.HasNextPage()) {
8857			break
8858		}
8859	}
8860
8861	return p.Err()
8862}
8863
8864const opListTagsForResource = "ListTagsForResource"
8865
8866// ListTagsForResourceRequest generates a "aws/request.Request" representing the
8867// client's request for the ListTagsForResource operation. The "output" return
8868// value will be populated with the request's response once the request completes
8869// successfully.
8870//
8871// Use "Send" method on the returned Request to send the API call to the service.
8872// the "output" return value is not valid until after Send returns without error.
8873//
8874// See ListTagsForResource for more information on using the ListTagsForResource
8875// API call, and error handling.
8876//
8877// This method is useful when you want to inject custom logic or configuration
8878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8879//
8880//
8881//    // Example sending a request using the ListTagsForResourceRequest method.
8882//    req, resp := client.ListTagsForResourceRequest(params)
8883//
8884//    err := req.Send()
8885//    if err == nil { // resp is now filled
8886//        fmt.Println(resp)
8887//    }
8888//
8889// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListTagsForResource
8890func (c *GameLift) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
8891	op := &request.Operation{
8892		Name:       opListTagsForResource,
8893		HTTPMethod: "POST",
8894		HTTPPath:   "/",
8895	}
8896
8897	if input == nil {
8898		input = &ListTagsForResourceInput{}
8899	}
8900
8901	output = &ListTagsForResourceOutput{}
8902	req = c.newRequest(op, input, output)
8903	return
8904}
8905
8906// ListTagsForResource API operation for Amazon GameLift.
8907//
8908// Retrieves all tags that are assigned to a GameLift resource. Resource tags
8909// are used to organize AWS resources for a range of purposes. This operation
8910// handles the permissions necessary to manage tags for the following GameLift
8911// resource types:
8912//
8913//    * Build
8914//
8915//    * Script
8916//
8917//    * Fleet
8918//
8919//    * Alias
8920//
8921//    * GameSessionQueue
8922//
8923//    * MatchmakingConfiguration
8924//
8925//    * MatchmakingRuleSet
8926//
8927// To list tags for a resource, specify the unique ARN value for the resource.
8928//
8929// Learn more
8930//
8931// Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
8932// in the AWS General Reference
8933//
8934//  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
8935//
8936// Related actions
8937//
8938// TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
8939//
8940// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8941// with awserr.Error's Code and Message methods to get detailed information about
8942// the error.
8943//
8944// See the AWS API reference guide for Amazon GameLift's
8945// API operation ListTagsForResource for usage and error information.
8946//
8947// Returned Error Types:
8948//   * NotFoundException
8949//   A service resource associated with the request could not be found. Clients
8950//   should not retry such requests.
8951//
8952//   * InvalidRequestException
8953//   One or more parameter values in the request are invalid. Correct the invalid
8954//   parameter values before retrying.
8955//
8956//   * TaggingFailedException
8957//   The requested tagging operation did not succeed. This may be due to invalid
8958//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
8959//   before retrying.
8960//
8961//   * InternalServiceException
8962//   The service encountered an unrecoverable internal failure while processing
8963//   the request. Clients can retry such requests immediately or after a waiting
8964//   period.
8965//
8966// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListTagsForResource
8967func (c *GameLift) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
8968	req, out := c.ListTagsForResourceRequest(input)
8969	return out, req.Send()
8970}
8971
8972// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
8973// the ability to pass a context and additional request options.
8974//
8975// See ListTagsForResource for details on how to use this API operation.
8976//
8977// The context must be non-nil and will be used for request cancellation. If
8978// the context is nil a panic will occur. In the future the SDK may create
8979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8980// for more information on using Contexts.
8981func (c *GameLift) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
8982	req, out := c.ListTagsForResourceRequest(input)
8983	req.SetContext(ctx)
8984	req.ApplyOptions(opts...)
8985	return out, req.Send()
8986}
8987
8988const opPutScalingPolicy = "PutScalingPolicy"
8989
8990// PutScalingPolicyRequest generates a "aws/request.Request" representing the
8991// client's request for the PutScalingPolicy operation. The "output" return
8992// value will be populated with the request's response once the request completes
8993// successfully.
8994//
8995// Use "Send" method on the returned Request to send the API call to the service.
8996// the "output" return value is not valid until after Send returns without error.
8997//
8998// See PutScalingPolicy for more information on using the PutScalingPolicy
8999// API call, and error handling.
9000//
9001// This method is useful when you want to inject custom logic or configuration
9002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9003//
9004//
9005//    // Example sending a request using the PutScalingPolicyRequest method.
9006//    req, resp := client.PutScalingPolicyRequest(params)
9007//
9008//    err := req.Send()
9009//    if err == nil { // resp is now filled
9010//        fmt.Println(resp)
9011//    }
9012//
9013// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
9014func (c *GameLift) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) {
9015	op := &request.Operation{
9016		Name:       opPutScalingPolicy,
9017		HTTPMethod: "POST",
9018		HTTPPath:   "/",
9019	}
9020
9021	if input == nil {
9022		input = &PutScalingPolicyInput{}
9023	}
9024
9025	output = &PutScalingPolicyOutput{}
9026	req = c.newRequest(op, input, output)
9027	return
9028}
9029
9030// PutScalingPolicy API operation for Amazon GameLift.
9031//
9032// Creates or updates a scaling policy for a fleet. Scaling policies are used
9033// to automatically scale a fleet's hosting capacity to meet player demand.
9034// An active scaling policy instructs Amazon GameLift to track a fleet metric
9035// and automatically change the fleet's capacity when a certain threshold is
9036// reached. There are two types of scaling policies: target-based and rule-based.
9037// Use a target-based policy to quickly and efficiently manage fleet scaling;
9038// this option is the most commonly used. Use rule-based policies when you need
9039// to exert fine-grained control over auto-scaling.
9040//
9041// Fleets can have multiple scaling policies of each type in force at the same
9042// time; you can have one target-based policy, one or multiple rule-based scaling
9043// policies, or both. We recommend caution, however, because multiple auto-scaling
9044// policies can have unintended consequences.
9045//
9046// You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions
9047// with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions
9048// with the same fleet action. To stop just one scaling policy--or to permanently
9049// remove it, you must delete the policy with DeleteScalingPolicy.
9050//
9051// Learn more about how to work with auto-scaling in Set Up Fleet Automatic
9052// Scaling (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html).
9053//
9054// Target-based policy
9055//
9056// A target-based policy tracks a single metric: PercentAvailableGameSessions.
9057// This metric tells us how much of a fleet's hosting capacity is ready to host
9058// game sessions but is not currently in use. This is the fleet's buffer; it
9059// measures the additional player demand that the fleet could handle at current
9060// capacity. With a target-based policy, you set your ideal buffer size and
9061// leave it to Amazon GameLift to take whatever action is needed to maintain
9062// that target.
9063//
9064// For example, you might choose to maintain a 10% buffer for a fleet that has
9065// the capacity to host 100 simultaneous game sessions. This policy tells Amazon
9066// GameLift to take action whenever the fleet's available capacity falls below
9067// or rises above 10 game sessions. Amazon GameLift will start new instances
9068// or stop unused instances in order to return to the 10% buffer.
9069//
9070// To create or update a target-based policy, specify a fleet ID and name, and
9071// set the policy type to "TargetBased". Specify the metric to track (PercentAvailableGameSessions)
9072// and reference a TargetConfiguration object with your desired buffer value.
9073// Exclude all other parameters. On a successful request, the policy name is
9074// returned. The scaling policy is automatically in force as soon as it's successfully
9075// created. If the fleet's auto-scaling actions are temporarily suspended, the
9076// new policy will be in force once the fleet actions are restarted.
9077//
9078// Rule-based policy
9079//
9080// A rule-based policy tracks specified fleet metric, sets a threshold value,
9081// and specifies the type of action to initiate when triggered. With a rule-based
9082// policy, you can select from several available fleet metrics. Each policy
9083// specifies whether to scale up or scale down (and by how much), so you need
9084// one policy for each type of action.
9085//
9086// For example, a policy may make the following statement: "If the percentage
9087// of idle instances is greater than 20% for more than 15 minutes, then reduce
9088// the fleet capacity by 10%."
9089//
9090// A policy's rule statement has the following structure:
9091//
9092// If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods]
9093// minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].
9094//
9095// To implement the example, the rule statement would look like this:
9096//
9097// If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes,
9098// then [PercentChangeInCapacity] to/by [10].
9099//
9100// To create or update a scaling policy, specify a unique combination of name
9101// and fleet ID, and set the policy type to "RuleBased". Specify the parameter
9102// values for a policy rule statement. On a successful request, the policy name
9103// is returned. Scaling policies are automatically in force as soon as they're
9104// successfully created. If the fleet's auto-scaling actions are temporarily
9105// suspended, the new policy will be in force once the fleet actions are restarted.
9106//
9107// Related actions
9108//
9109// DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
9110// PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
9111// | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
9112//
9113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9114// with awserr.Error's Code and Message methods to get detailed information about
9115// the error.
9116//
9117// See the AWS API reference guide for Amazon GameLift's
9118// API operation PutScalingPolicy for usage and error information.
9119//
9120// Returned Error Types:
9121//   * InternalServiceException
9122//   The service encountered an unrecoverable internal failure while processing
9123//   the request. Clients can retry such requests immediately or after a waiting
9124//   period.
9125//
9126//   * InvalidRequestException
9127//   One or more parameter values in the request are invalid. Correct the invalid
9128//   parameter values before retrying.
9129//
9130//   * UnauthorizedException
9131//   The client failed authentication. Clients should not retry such requests.
9132//
9133//   * NotFoundException
9134//   A service resource associated with the request could not be found. Clients
9135//   should not retry such requests.
9136//
9137// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
9138func (c *GameLift) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) {
9139	req, out := c.PutScalingPolicyRequest(input)
9140	return out, req.Send()
9141}
9142
9143// PutScalingPolicyWithContext is the same as PutScalingPolicy with the addition of
9144// the ability to pass a context and additional request options.
9145//
9146// See PutScalingPolicy for details on how to use this API operation.
9147//
9148// The context must be non-nil and will be used for request cancellation. If
9149// the context is nil a panic will occur. In the future the SDK may create
9150// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9151// for more information on using Contexts.
9152func (c *GameLift) PutScalingPolicyWithContext(ctx aws.Context, input *PutScalingPolicyInput, opts ...request.Option) (*PutScalingPolicyOutput, error) {
9153	req, out := c.PutScalingPolicyRequest(input)
9154	req.SetContext(ctx)
9155	req.ApplyOptions(opts...)
9156	return out, req.Send()
9157}
9158
9159const opRegisterGameServer = "RegisterGameServer"
9160
9161// RegisterGameServerRequest generates a "aws/request.Request" representing the
9162// client's request for the RegisterGameServer operation. The "output" return
9163// value will be populated with the request's response once the request completes
9164// successfully.
9165//
9166// Use "Send" method on the returned Request to send the API call to the service.
9167// the "output" return value is not valid until after Send returns without error.
9168//
9169// See RegisterGameServer for more information on using the RegisterGameServer
9170// API call, and error handling.
9171//
9172// This method is useful when you want to inject custom logic or configuration
9173// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9174//
9175//
9176//    // Example sending a request using the RegisterGameServerRequest method.
9177//    req, resp := client.RegisterGameServerRequest(params)
9178//
9179//    err := req.Send()
9180//    if err == nil { // resp is now filled
9181//        fmt.Println(resp)
9182//    }
9183//
9184// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServer
9185func (c *GameLift) RegisterGameServerRequest(input *RegisterGameServerInput) (req *request.Request, output *RegisterGameServerOutput) {
9186	op := &request.Operation{
9187		Name:       opRegisterGameServer,
9188		HTTPMethod: "POST",
9189		HTTPPath:   "/",
9190	}
9191
9192	if input == nil {
9193		input = &RegisterGameServerInput{}
9194	}
9195
9196	output = &RegisterGameServerOutput{}
9197	req = c.newRequest(op, input, output)
9198	return
9199}
9200
9201// RegisterGameServer API operation for Amazon GameLift.
9202//
9203// This operation is used with the GameLift FleetIQ solution and game server
9204// groups.
9205//
9206// Creates a new game server resource and notifies GameLift FleetIQ that the
9207// game server is ready to host gameplay and players. This operation is called
9208// by a game server process that is running on an instance in a game server
9209// group. Registering game servers enables GameLift FleetIQ to track available
9210// game servers and enables game clients and services to claim a game server
9211// for a new game session.
9212//
9213// To register a game server, identify the game server group and instance where
9214// the game server is running, and provide a unique identifier for the game
9215// server. You can also include connection and game server data. When a game
9216// client or service requests a game server by calling ClaimGameServer, this
9217// information is returned in the response.
9218//
9219// Once a game server is successfully registered, it is put in status AVAILABLE.
9220// A request to register a game server may fail if the instance it is running
9221// on is in the process of shutting down as part of instance balancing or scale-down
9222// activity.
9223//
9224// Learn more
9225//
9226// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
9227//
9228// Related actions
9229//
9230// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
9231// | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
9232//
9233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9234// with awserr.Error's Code and Message methods to get detailed information about
9235// the error.
9236//
9237// See the AWS API reference guide for Amazon GameLift's
9238// API operation RegisterGameServer for usage and error information.
9239//
9240// Returned Error Types:
9241//   * InvalidRequestException
9242//   One or more parameter values in the request are invalid. Correct the invalid
9243//   parameter values before retrying.
9244//
9245//   * ConflictException
9246//   The requested operation would cause a conflict with the current state of
9247//   a service resource associated with the request. Resolve the conflict before
9248//   retrying this request.
9249//
9250//   * UnauthorizedException
9251//   The client failed authentication. Clients should not retry such requests.
9252//
9253//   * InternalServiceException
9254//   The service encountered an unrecoverable internal failure while processing
9255//   the request. Clients can retry such requests immediately or after a waiting
9256//   period.
9257//
9258//   * LimitExceededException
9259//   The requested operation would cause the resource to exceed the allowed service
9260//   limit. Resolve the issue before retrying.
9261//
9262// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServer
9263func (c *GameLift) RegisterGameServer(input *RegisterGameServerInput) (*RegisterGameServerOutput, error) {
9264	req, out := c.RegisterGameServerRequest(input)
9265	return out, req.Send()
9266}
9267
9268// RegisterGameServerWithContext is the same as RegisterGameServer with the addition of
9269// the ability to pass a context and additional request options.
9270//
9271// See RegisterGameServer for details on how to use this API operation.
9272//
9273// The context must be non-nil and will be used for request cancellation. If
9274// the context is nil a panic will occur. In the future the SDK may create
9275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9276// for more information on using Contexts.
9277func (c *GameLift) RegisterGameServerWithContext(ctx aws.Context, input *RegisterGameServerInput, opts ...request.Option) (*RegisterGameServerOutput, error) {
9278	req, out := c.RegisterGameServerRequest(input)
9279	req.SetContext(ctx)
9280	req.ApplyOptions(opts...)
9281	return out, req.Send()
9282}
9283
9284const opRequestUploadCredentials = "RequestUploadCredentials"
9285
9286// RequestUploadCredentialsRequest generates a "aws/request.Request" representing the
9287// client's request for the RequestUploadCredentials operation. The "output" return
9288// value will be populated with the request's response once the request completes
9289// successfully.
9290//
9291// Use "Send" method on the returned Request to send the API call to the service.
9292// the "output" return value is not valid until after Send returns without error.
9293//
9294// See RequestUploadCredentials for more information on using the RequestUploadCredentials
9295// API call, and error handling.
9296//
9297// This method is useful when you want to inject custom logic or configuration
9298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9299//
9300//
9301//    // Example sending a request using the RequestUploadCredentialsRequest method.
9302//    req, resp := client.RequestUploadCredentialsRequest(params)
9303//
9304//    err := req.Send()
9305//    if err == nil { // resp is now filled
9306//        fmt.Println(resp)
9307//    }
9308//
9309// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
9310func (c *GameLift) RequestUploadCredentialsRequest(input *RequestUploadCredentialsInput) (req *request.Request, output *RequestUploadCredentialsOutput) {
9311	op := &request.Operation{
9312		Name:       opRequestUploadCredentials,
9313		HTTPMethod: "POST",
9314		HTTPPath:   "/",
9315	}
9316
9317	if input == nil {
9318		input = &RequestUploadCredentialsInput{}
9319	}
9320
9321	output = &RequestUploadCredentialsOutput{}
9322	req = c.newRequest(op, input, output)
9323	return
9324}
9325
9326// RequestUploadCredentials API operation for Amazon GameLift.
9327//
9328// Retrieves a fresh set of credentials for use when uploading a new set of
9329// game build files to Amazon GameLift's Amazon S3. This is done as part of
9330// the build creation process; see CreateBuild.
9331//
9332// To request new credentials, specify the build ID as returned with an initial
9333// CreateBuild request. If successful, a new set of credentials are returned,
9334// along with the S3 storage location associated with the build ID.
9335//
9336// Learn more
9337//
9338//  Create a Build with Files in S3 (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build)
9339//
9340// Related actions
9341//
9342// CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
9343// APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
9344//
9345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9346// with awserr.Error's Code and Message methods to get detailed information about
9347// the error.
9348//
9349// See the AWS API reference guide for Amazon GameLift's
9350// API operation RequestUploadCredentials for usage and error information.
9351//
9352// Returned Error Types:
9353//   * UnauthorizedException
9354//   The client failed authentication. Clients should not retry such requests.
9355//
9356//   * InvalidRequestException
9357//   One or more parameter values in the request are invalid. Correct the invalid
9358//   parameter values before retrying.
9359//
9360//   * NotFoundException
9361//   A service resource associated with the request could not be found. Clients
9362//   should not retry such requests.
9363//
9364//   * InternalServiceException
9365//   The service encountered an unrecoverable internal failure while processing
9366//   the request. Clients can retry such requests immediately or after a waiting
9367//   period.
9368//
9369// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
9370func (c *GameLift) RequestUploadCredentials(input *RequestUploadCredentialsInput) (*RequestUploadCredentialsOutput, error) {
9371	req, out := c.RequestUploadCredentialsRequest(input)
9372	return out, req.Send()
9373}
9374
9375// RequestUploadCredentialsWithContext is the same as RequestUploadCredentials with the addition of
9376// the ability to pass a context and additional request options.
9377//
9378// See RequestUploadCredentials for details on how to use this API operation.
9379//
9380// The context must be non-nil and will be used for request cancellation. If
9381// the context is nil a panic will occur. In the future the SDK may create
9382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9383// for more information on using Contexts.
9384func (c *GameLift) RequestUploadCredentialsWithContext(ctx aws.Context, input *RequestUploadCredentialsInput, opts ...request.Option) (*RequestUploadCredentialsOutput, error) {
9385	req, out := c.RequestUploadCredentialsRequest(input)
9386	req.SetContext(ctx)
9387	req.ApplyOptions(opts...)
9388	return out, req.Send()
9389}
9390
9391const opResolveAlias = "ResolveAlias"
9392
9393// ResolveAliasRequest generates a "aws/request.Request" representing the
9394// client's request for the ResolveAlias operation. The "output" return
9395// value will be populated with the request's response once the request completes
9396// successfully.
9397//
9398// Use "Send" method on the returned Request to send the API call to the service.
9399// the "output" return value is not valid until after Send returns without error.
9400//
9401// See ResolveAlias for more information on using the ResolveAlias
9402// API call, and error handling.
9403//
9404// This method is useful when you want to inject custom logic or configuration
9405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9406//
9407//
9408//    // Example sending a request using the ResolveAliasRequest method.
9409//    req, resp := client.ResolveAliasRequest(params)
9410//
9411//    err := req.Send()
9412//    if err == nil { // resp is now filled
9413//        fmt.Println(resp)
9414//    }
9415//
9416// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
9417func (c *GameLift) ResolveAliasRequest(input *ResolveAliasInput) (req *request.Request, output *ResolveAliasOutput) {
9418	op := &request.Operation{
9419		Name:       opResolveAlias,
9420		HTTPMethod: "POST",
9421		HTTPPath:   "/",
9422	}
9423
9424	if input == nil {
9425		input = &ResolveAliasInput{}
9426	}
9427
9428	output = &ResolveAliasOutput{}
9429	req = c.newRequest(op, input, output)
9430	return
9431}
9432
9433// ResolveAlias API operation for Amazon GameLift.
9434//
9435// Retrieves the fleet ID that an alias is currently pointing to.
9436//
9437// Related actions
9438//
9439// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
9440// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
9441//
9442// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9443// with awserr.Error's Code and Message methods to get detailed information about
9444// the error.
9445//
9446// See the AWS API reference guide for Amazon GameLift's
9447// API operation ResolveAlias for usage and error information.
9448//
9449// Returned Error Types:
9450//   * UnauthorizedException
9451//   The client failed authentication. Clients should not retry such requests.
9452//
9453//   * InvalidRequestException
9454//   One or more parameter values in the request are invalid. Correct the invalid
9455//   parameter values before retrying.
9456//
9457//   * NotFoundException
9458//   A service resource associated with the request could not be found. Clients
9459//   should not retry such requests.
9460//
9461//   * TerminalRoutingStrategyException
9462//   The service is unable to resolve the routing for a particular alias because
9463//   it has a terminal RoutingStrategy associated with it. The message returned
9464//   in this exception is the message defined in the routing strategy itself.
9465//   Such requests should only be retried if the routing strategy for the specified
9466//   alias is modified.
9467//
9468//   * InternalServiceException
9469//   The service encountered an unrecoverable internal failure while processing
9470//   the request. Clients can retry such requests immediately or after a waiting
9471//   period.
9472//
9473// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
9474func (c *GameLift) ResolveAlias(input *ResolveAliasInput) (*ResolveAliasOutput, error) {
9475	req, out := c.ResolveAliasRequest(input)
9476	return out, req.Send()
9477}
9478
9479// ResolveAliasWithContext is the same as ResolveAlias with the addition of
9480// the ability to pass a context and additional request options.
9481//
9482// See ResolveAlias for details on how to use this API operation.
9483//
9484// The context must be non-nil and will be used for request cancellation. If
9485// the context is nil a panic will occur. In the future the SDK may create
9486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9487// for more information on using Contexts.
9488func (c *GameLift) ResolveAliasWithContext(ctx aws.Context, input *ResolveAliasInput, opts ...request.Option) (*ResolveAliasOutput, error) {
9489	req, out := c.ResolveAliasRequest(input)
9490	req.SetContext(ctx)
9491	req.ApplyOptions(opts...)
9492	return out, req.Send()
9493}
9494
9495const opResumeGameServerGroup = "ResumeGameServerGroup"
9496
9497// ResumeGameServerGroupRequest generates a "aws/request.Request" representing the
9498// client's request for the ResumeGameServerGroup operation. The "output" return
9499// value will be populated with the request's response once the request completes
9500// successfully.
9501//
9502// Use "Send" method on the returned Request to send the API call to the service.
9503// the "output" return value is not valid until after Send returns without error.
9504//
9505// See ResumeGameServerGroup for more information on using the ResumeGameServerGroup
9506// API call, and error handling.
9507//
9508// This method is useful when you want to inject custom logic or configuration
9509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9510//
9511//
9512//    // Example sending a request using the ResumeGameServerGroupRequest method.
9513//    req, resp := client.ResumeGameServerGroupRequest(params)
9514//
9515//    err := req.Send()
9516//    if err == nil { // resp is now filled
9517//        fmt.Println(resp)
9518//    }
9519//
9520// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResumeGameServerGroup
9521func (c *GameLift) ResumeGameServerGroupRequest(input *ResumeGameServerGroupInput) (req *request.Request, output *ResumeGameServerGroupOutput) {
9522	op := &request.Operation{
9523		Name:       opResumeGameServerGroup,
9524		HTTPMethod: "POST",
9525		HTTPPath:   "/",
9526	}
9527
9528	if input == nil {
9529		input = &ResumeGameServerGroupInput{}
9530	}
9531
9532	output = &ResumeGameServerGroupOutput{}
9533	req = c.newRequest(op, input, output)
9534	return
9535}
9536
9537// ResumeGameServerGroup API operation for Amazon GameLift.
9538//
9539// This operation is used with the GameLift FleetIQ solution and game server
9540// groups.
9541//
9542// Reinstates activity on a game server group after it has been suspended. A
9543// game server group might be suspended by theSuspendGameServerGroup operation,
9544// or it might be suspended involuntarily due to a configuration problem. In
9545// the second case, you can manually resume activity on the group once the configuration
9546// problem has been resolved. Refer to the game server group status and status
9547// reason for more information on why group activity is suspended.
9548//
9549// To resume activity, specify a game server group ARN and the type of activity
9550// to be resumed. If successful, a GameServerGroup object is returned showing
9551// that the resumed activity is no longer listed in SuspendedActions.
9552//
9553// Learn more
9554//
9555// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
9556//
9557// Related actions
9558//
9559// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
9560// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
9561// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
9562//
9563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9564// with awserr.Error's Code and Message methods to get detailed information about
9565// the error.
9566//
9567// See the AWS API reference guide for Amazon GameLift's
9568// API operation ResumeGameServerGroup for usage and error information.
9569//
9570// Returned Error Types:
9571//   * InvalidRequestException
9572//   One or more parameter values in the request are invalid. Correct the invalid
9573//   parameter values before retrying.
9574//
9575//   * NotFoundException
9576//   A service resource associated with the request could not be found. Clients
9577//   should not retry such requests.
9578//
9579//   * UnauthorizedException
9580//   The client failed authentication. Clients should not retry such requests.
9581//
9582//   * InternalServiceException
9583//   The service encountered an unrecoverable internal failure while processing
9584//   the request. Clients can retry such requests immediately or after a waiting
9585//   period.
9586//
9587// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResumeGameServerGroup
9588func (c *GameLift) ResumeGameServerGroup(input *ResumeGameServerGroupInput) (*ResumeGameServerGroupOutput, error) {
9589	req, out := c.ResumeGameServerGroupRequest(input)
9590	return out, req.Send()
9591}
9592
9593// ResumeGameServerGroupWithContext is the same as ResumeGameServerGroup with the addition of
9594// the ability to pass a context and additional request options.
9595//
9596// See ResumeGameServerGroup for details on how to use this API operation.
9597//
9598// The context must be non-nil and will be used for request cancellation. If
9599// the context is nil a panic will occur. In the future the SDK may create
9600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9601// for more information on using Contexts.
9602func (c *GameLift) ResumeGameServerGroupWithContext(ctx aws.Context, input *ResumeGameServerGroupInput, opts ...request.Option) (*ResumeGameServerGroupOutput, error) {
9603	req, out := c.ResumeGameServerGroupRequest(input)
9604	req.SetContext(ctx)
9605	req.ApplyOptions(opts...)
9606	return out, req.Send()
9607}
9608
9609const opSearchGameSessions = "SearchGameSessions"
9610
9611// SearchGameSessionsRequest generates a "aws/request.Request" representing the
9612// client's request for the SearchGameSessions operation. The "output" return
9613// value will be populated with the request's response once the request completes
9614// successfully.
9615//
9616// Use "Send" method on the returned Request to send the API call to the service.
9617// the "output" return value is not valid until after Send returns without error.
9618//
9619// See SearchGameSessions for more information on using the SearchGameSessions
9620// API call, and error handling.
9621//
9622// This method is useful when you want to inject custom logic or configuration
9623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9624//
9625//
9626//    // Example sending a request using the SearchGameSessionsRequest method.
9627//    req, resp := client.SearchGameSessionsRequest(params)
9628//
9629//    err := req.Send()
9630//    if err == nil { // resp is now filled
9631//        fmt.Println(resp)
9632//    }
9633//
9634// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
9635func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (req *request.Request, output *SearchGameSessionsOutput) {
9636	op := &request.Operation{
9637		Name:       opSearchGameSessions,
9638		HTTPMethod: "POST",
9639		HTTPPath:   "/",
9640		Paginator: &request.Paginator{
9641			InputTokens:     []string{"NextToken"},
9642			OutputTokens:    []string{"NextToken"},
9643			LimitToken:      "Limit",
9644			TruncationToken: "",
9645		},
9646	}
9647
9648	if input == nil {
9649		input = &SearchGameSessionsInput{}
9650	}
9651
9652	output = &SearchGameSessionsOutput{}
9653	req = c.newRequest(op, input, output)
9654	return
9655}
9656
9657// SearchGameSessions API operation for Amazon GameLift.
9658//
9659// Retrieves all active game sessions that match a set of search criteria and
9660// sorts them into a specified order.
9661//
9662// When searching for game sessions, you specify exactly where you want to search
9663// and provide a search filter expression, a sort expression, or both. A search
9664// request can search only one fleet, but it can search all of a fleet's locations.
9665//
9666// This operation can be used in the following ways:
9667//
9668//    * To search all game sessions that are currently running on all locations
9669//    in a fleet, provide a fleet or alias ID. This approach returns game sessions
9670//    in the fleet's home Region and all remote locations that fit the search
9671//    criteria.
9672//
9673//    * To search all game sessions that are currently running on a specific
9674//    fleet location, provide a fleet or alias ID and a location name. For location,
9675//    you can specify a fleet's home Region or any remote location.
9676//
9677// Use the pagination parameters to retrieve results as a set of sequential
9678// pages.
9679//
9680// If successful, a GameSession object is returned for each game session that
9681// matches the request. Search finds game sessions that are in ACTIVE status
9682// only. To retrieve information on game sessions in other statuses, use DescribeGameSessions.
9683//
9684// You can search or sort by the following game session attributes:
9685//
9686//    * gameSessionId -- A unique identifier for the game session. You can use
9687//    either a GameSessionId or GameSessionArn value.
9688//
9689//    * gameSessionName -- Name assigned to a game session. This value is set
9690//    when requesting a new game session with CreateGameSession or updating
9691//    with UpdateGameSession. Game session names do not need to be unique to
9692//    a game session.
9693//
9694//    * gameSessionProperties -- Custom data defined in a game session's GameProperty
9695//    parameter. GameProperty values are stored as key:value pairs; the filter
9696//    expression must indicate the key and a string to search the data values
9697//    for. For example, to search for game sessions with custom data containing
9698//    the key:value pair "gameMode:brawl", specify the following: gameSessionProperties.gameMode
9699//    = "brawl". All custom data values are searched as strings.
9700//
9701//    * maximumSessions -- Maximum number of player sessions allowed for a game
9702//    session. This value is set when requesting a new game session with CreateGameSession
9703//    or updating with UpdateGameSession.
9704//
9705//    * creationTimeMillis -- Value indicating when a game session was created.
9706//    It is expressed in Unix time as milliseconds.
9707//
9708//    * playerSessionCount -- Number of players currently connected to a game
9709//    session. This value changes rapidly as players join the session or drop
9710//    out.
9711//
9712//    * hasAvailablePlayerSessions -- Boolean value indicating whether a game
9713//    session has reached its maximum number of players. It is highly recommended
9714//    that all search requests include this filter attribute to optimize search
9715//    performance and return only sessions that players can join.
9716//
9717// Returned values for playerSessionCount and hasAvailablePlayerSessions change
9718// quickly as players join sessions and others drop out. Results should be considered
9719// a snapshot in time. Be sure to refresh search results often, and handle sessions
9720// that fill up before a player can join.
9721//
9722// Related actions
9723//
9724// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
9725// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
9726// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
9727// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
9728//
9729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9730// with awserr.Error's Code and Message methods to get detailed information about
9731// the error.
9732//
9733// See the AWS API reference guide for Amazon GameLift's
9734// API operation SearchGameSessions for usage and error information.
9735//
9736// Returned Error Types:
9737//   * InternalServiceException
9738//   The service encountered an unrecoverable internal failure while processing
9739//   the request. Clients can retry such requests immediately or after a waiting
9740//   period.
9741//
9742//   * NotFoundException
9743//   A service resource associated with the request could not be found. Clients
9744//   should not retry such requests.
9745//
9746//   * InvalidRequestException
9747//   One or more parameter values in the request are invalid. Correct the invalid
9748//   parameter values before retrying.
9749//
9750//   * UnauthorizedException
9751//   The client failed authentication. Clients should not retry such requests.
9752//
9753//   * TerminalRoutingStrategyException
9754//   The service is unable to resolve the routing for a particular alias because
9755//   it has a terminal RoutingStrategy associated with it. The message returned
9756//   in this exception is the message defined in the routing strategy itself.
9757//   Such requests should only be retried if the routing strategy for the specified
9758//   alias is modified.
9759//
9760//   * UnsupportedRegionException
9761//   The requested operation is not supported in the Region specified.
9762//
9763// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
9764func (c *GameLift) SearchGameSessions(input *SearchGameSessionsInput) (*SearchGameSessionsOutput, error) {
9765	req, out := c.SearchGameSessionsRequest(input)
9766	return out, req.Send()
9767}
9768
9769// SearchGameSessionsWithContext is the same as SearchGameSessions with the addition of
9770// the ability to pass a context and additional request options.
9771//
9772// See SearchGameSessions for details on how to use this API operation.
9773//
9774// The context must be non-nil and will be used for request cancellation. If
9775// the context is nil a panic will occur. In the future the SDK may create
9776// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9777// for more information on using Contexts.
9778func (c *GameLift) SearchGameSessionsWithContext(ctx aws.Context, input *SearchGameSessionsInput, opts ...request.Option) (*SearchGameSessionsOutput, error) {
9779	req, out := c.SearchGameSessionsRequest(input)
9780	req.SetContext(ctx)
9781	req.ApplyOptions(opts...)
9782	return out, req.Send()
9783}
9784
9785// SearchGameSessionsPages iterates over the pages of a SearchGameSessions operation,
9786// calling the "fn" function with the response data for each page. To stop
9787// iterating, return false from the fn function.
9788//
9789// See SearchGameSessions method for more information on how to use this operation.
9790//
9791// Note: This operation can generate multiple requests to a service.
9792//
9793//    // Example iterating over at most 3 pages of a SearchGameSessions operation.
9794//    pageNum := 0
9795//    err := client.SearchGameSessionsPages(params,
9796//        func(page *gamelift.SearchGameSessionsOutput, lastPage bool) bool {
9797//            pageNum++
9798//            fmt.Println(page)
9799//            return pageNum <= 3
9800//        })
9801//
9802func (c *GameLift) SearchGameSessionsPages(input *SearchGameSessionsInput, fn func(*SearchGameSessionsOutput, bool) bool) error {
9803	return c.SearchGameSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
9804}
9805
9806// SearchGameSessionsPagesWithContext same as SearchGameSessionsPages except
9807// it takes a Context and allows setting request options on the pages.
9808//
9809// The context must be non-nil and will be used for request cancellation. If
9810// the context is nil a panic will occur. In the future the SDK may create
9811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9812// for more information on using Contexts.
9813func (c *GameLift) SearchGameSessionsPagesWithContext(ctx aws.Context, input *SearchGameSessionsInput, fn func(*SearchGameSessionsOutput, bool) bool, opts ...request.Option) error {
9814	p := request.Pagination{
9815		NewRequest: func() (*request.Request, error) {
9816			var inCpy *SearchGameSessionsInput
9817			if input != nil {
9818				tmp := *input
9819				inCpy = &tmp
9820			}
9821			req, _ := c.SearchGameSessionsRequest(inCpy)
9822			req.SetContext(ctx)
9823			req.ApplyOptions(opts...)
9824			return req, nil
9825		},
9826	}
9827
9828	for p.Next() {
9829		if !fn(p.Page().(*SearchGameSessionsOutput), !p.HasNextPage()) {
9830			break
9831		}
9832	}
9833
9834	return p.Err()
9835}
9836
9837const opStartFleetActions = "StartFleetActions"
9838
9839// StartFleetActionsRequest generates a "aws/request.Request" representing the
9840// client's request for the StartFleetActions operation. The "output" return
9841// value will be populated with the request's response once the request completes
9842// successfully.
9843//
9844// Use "Send" method on the returned Request to send the API call to the service.
9845// the "output" return value is not valid until after Send returns without error.
9846//
9847// See StartFleetActions for more information on using the StartFleetActions
9848// API call, and error handling.
9849//
9850// This method is useful when you want to inject custom logic or configuration
9851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9852//
9853//
9854//    // Example sending a request using the StartFleetActionsRequest method.
9855//    req, resp := client.StartFleetActionsRequest(params)
9856//
9857//    err := req.Send()
9858//    if err == nil { // resp is now filled
9859//        fmt.Println(resp)
9860//    }
9861//
9862// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartFleetActions
9863func (c *GameLift) StartFleetActionsRequest(input *StartFleetActionsInput) (req *request.Request, output *StartFleetActionsOutput) {
9864	op := &request.Operation{
9865		Name:       opStartFleetActions,
9866		HTTPMethod: "POST",
9867		HTTPPath:   "/",
9868	}
9869
9870	if input == nil {
9871		input = &StartFleetActionsInput{}
9872	}
9873
9874	output = &StartFleetActionsOutput{}
9875	req = c.newRequest(op, input, output)
9876	return
9877}
9878
9879// StartFleetActions API operation for Amazon GameLift.
9880//
9881// Resumes certain types of activity on fleet instances that were suspended
9882// with StopFleetActions. For multi-location fleets, fleet actions are managed
9883// separately for each location. Currently, this operation is used to restart
9884// a fleet's auto-scaling activity.
9885//
9886// This operation can be used in the following ways:
9887//
9888//    * To restart actions on instances in the fleet's home Region, provide
9889//    a fleet ID and the type of actions to resume.
9890//
9891//    * To restart actions on instances in one of the fleet's remote locations,
9892//    provide a fleet ID, a location name, and the type of actions to resume.
9893//
9894// If successful, GameLift once again initiates scaling events as triggered
9895// by the fleet's scaling policies. If actions on the fleet location were never
9896// stopped, this operation will have no effect. You can view a fleet's stopped
9897// actions using DescribeFleetAttributes or DescribeFleetLocationAttributes.
9898//
9899// Learn more
9900//
9901// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
9902//
9903// Related actions
9904//
9905// CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
9906// | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
9907// | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
9908//
9909// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9910// with awserr.Error's Code and Message methods to get detailed information about
9911// the error.
9912//
9913// See the AWS API reference guide for Amazon GameLift's
9914// API operation StartFleetActions for usage and error information.
9915//
9916// Returned Error Types:
9917//   * InternalServiceException
9918//   The service encountered an unrecoverable internal failure while processing
9919//   the request. Clients can retry such requests immediately or after a waiting
9920//   period.
9921//
9922//   * InvalidRequestException
9923//   One or more parameter values in the request are invalid. Correct the invalid
9924//   parameter values before retrying.
9925//
9926//   * UnauthorizedException
9927//   The client failed authentication. Clients should not retry such requests.
9928//
9929//   * NotFoundException
9930//   A service resource associated with the request could not be found. Clients
9931//   should not retry such requests.
9932//
9933//   * UnsupportedRegionException
9934//   The requested operation is not supported in the Region specified.
9935//
9936// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartFleetActions
9937func (c *GameLift) StartFleetActions(input *StartFleetActionsInput) (*StartFleetActionsOutput, error) {
9938	req, out := c.StartFleetActionsRequest(input)
9939	return out, req.Send()
9940}
9941
9942// StartFleetActionsWithContext is the same as StartFleetActions with the addition of
9943// the ability to pass a context and additional request options.
9944//
9945// See StartFleetActions for details on how to use this API operation.
9946//
9947// The context must be non-nil and will be used for request cancellation. If
9948// the context is nil a panic will occur. In the future the SDK may create
9949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9950// for more information on using Contexts.
9951func (c *GameLift) StartFleetActionsWithContext(ctx aws.Context, input *StartFleetActionsInput, opts ...request.Option) (*StartFleetActionsOutput, error) {
9952	req, out := c.StartFleetActionsRequest(input)
9953	req.SetContext(ctx)
9954	req.ApplyOptions(opts...)
9955	return out, req.Send()
9956}
9957
9958const opStartGameSessionPlacement = "StartGameSessionPlacement"
9959
9960// StartGameSessionPlacementRequest generates a "aws/request.Request" representing the
9961// client's request for the StartGameSessionPlacement operation. The "output" return
9962// value will be populated with the request's response once the request completes
9963// successfully.
9964//
9965// Use "Send" method on the returned Request to send the API call to the service.
9966// the "output" return value is not valid until after Send returns without error.
9967//
9968// See StartGameSessionPlacement for more information on using the StartGameSessionPlacement
9969// API call, and error handling.
9970//
9971// This method is useful when you want to inject custom logic or configuration
9972// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9973//
9974//
9975//    // Example sending a request using the StartGameSessionPlacementRequest method.
9976//    req, resp := client.StartGameSessionPlacementRequest(params)
9977//
9978//    err := req.Send()
9979//    if err == nil { // resp is now filled
9980//        fmt.Println(resp)
9981//    }
9982//
9983// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
9984func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlacementInput) (req *request.Request, output *StartGameSessionPlacementOutput) {
9985	op := &request.Operation{
9986		Name:       opStartGameSessionPlacement,
9987		HTTPMethod: "POST",
9988		HTTPPath:   "/",
9989	}
9990
9991	if input == nil {
9992		input = &StartGameSessionPlacementInput{}
9993	}
9994
9995	output = &StartGameSessionPlacementOutput{}
9996	req = c.newRequest(op, input, output)
9997	return
9998}
9999
10000// StartGameSessionPlacement API operation for Amazon GameLift.
10001//
10002// Places a request for a new game session in a queue (see CreateGameSessionQueue).
10003// When processing a placement request, Amazon GameLift searches for available
10004// resources on the queue's destinations, scanning each until it finds resources
10005// or the placement request times out.
10006//
10007// A game session placement request can also request player sessions. When a
10008// new game session is successfully created, Amazon GameLift creates a player
10009// session for each player included in the request.
10010//
10011// When placing a game session, by default Amazon GameLift tries each fleet
10012// in the order they are listed in the queue configuration. Ideally, a queue's
10013// destinations are listed in preference order.
10014//
10015// Alternatively, when requesting a game session with players, you can also
10016// provide latency data for each player in relevant Regions. Latency data indicates
10017// the performance lag a player experiences when connected to a fleet in the
10018// Region. Amazon GameLift uses latency data to reorder the list of destinations
10019// to place the game session in a Region with minimal lag. If latency data is
10020// provided for multiple players, Amazon GameLift calculates each Region's average
10021// lag for all players and reorders to get the best game play across all players.
10022//
10023// To place a new game session request, specify the following:
10024//
10025//    * The queue name and a set of game session properties and settings
10026//
10027//    * A unique ID (such as a UUID) for the placement. You use this ID to track
10028//    the status of the placement request
10029//
10030//    * (Optional) A set of player data and a unique player ID for each player
10031//    that you are joining to the new game session (player data is optional,
10032//    but if you include it, you must also provide a unique ID for each player)
10033//
10034//    * Latency data for all players (if you want to optimize game play for
10035//    the players)
10036//
10037// If successful, a new game session placement is created.
10038//
10039// To track the status of a placement request, call DescribeGameSessionPlacement
10040// and check the request's status. If the status is FULFILLED, a new game session
10041// has been created and a game session ARN and Region are referenced. If the
10042// placement request times out, you can resubmit the request or retry it with
10043// a different queue.
10044//
10045// Related actions
10046//
10047// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
10048// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
10049// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
10050// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
10051//
10052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10053// with awserr.Error's Code and Message methods to get detailed information about
10054// the error.
10055//
10056// See the AWS API reference guide for Amazon GameLift's
10057// API operation StartGameSessionPlacement for usage and error information.
10058//
10059// Returned Error Types:
10060//   * InternalServiceException
10061//   The service encountered an unrecoverable internal failure while processing
10062//   the request. Clients can retry such requests immediately or after a waiting
10063//   period.
10064//
10065//   * InvalidRequestException
10066//   One or more parameter values in the request are invalid. Correct the invalid
10067//   parameter values before retrying.
10068//
10069//   * NotFoundException
10070//   A service resource associated with the request could not be found. Clients
10071//   should not retry such requests.
10072//
10073//   * UnauthorizedException
10074//   The client failed authentication. Clients should not retry such requests.
10075//
10076// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
10077func (c *GameLift) StartGameSessionPlacement(input *StartGameSessionPlacementInput) (*StartGameSessionPlacementOutput, error) {
10078	req, out := c.StartGameSessionPlacementRequest(input)
10079	return out, req.Send()
10080}
10081
10082// StartGameSessionPlacementWithContext is the same as StartGameSessionPlacement with the addition of
10083// the ability to pass a context and additional request options.
10084//
10085// See StartGameSessionPlacement for details on how to use this API operation.
10086//
10087// The context must be non-nil and will be used for request cancellation. If
10088// the context is nil a panic will occur. In the future the SDK may create
10089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10090// for more information on using Contexts.
10091func (c *GameLift) StartGameSessionPlacementWithContext(ctx aws.Context, input *StartGameSessionPlacementInput, opts ...request.Option) (*StartGameSessionPlacementOutput, error) {
10092	req, out := c.StartGameSessionPlacementRequest(input)
10093	req.SetContext(ctx)
10094	req.ApplyOptions(opts...)
10095	return out, req.Send()
10096}
10097
10098const opStartMatchBackfill = "StartMatchBackfill"
10099
10100// StartMatchBackfillRequest generates a "aws/request.Request" representing the
10101// client's request for the StartMatchBackfill operation. The "output" return
10102// value will be populated with the request's response once the request completes
10103// successfully.
10104//
10105// Use "Send" method on the returned Request to send the API call to the service.
10106// the "output" return value is not valid until after Send returns without error.
10107//
10108// See StartMatchBackfill for more information on using the StartMatchBackfill
10109// API call, and error handling.
10110//
10111// This method is useful when you want to inject custom logic or configuration
10112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10113//
10114//
10115//    // Example sending a request using the StartMatchBackfillRequest method.
10116//    req, resp := client.StartMatchBackfillRequest(params)
10117//
10118//    err := req.Send()
10119//    if err == nil { // resp is now filled
10120//        fmt.Println(resp)
10121//    }
10122//
10123// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
10124func (c *GameLift) StartMatchBackfillRequest(input *StartMatchBackfillInput) (req *request.Request, output *StartMatchBackfillOutput) {
10125	op := &request.Operation{
10126		Name:       opStartMatchBackfill,
10127		HTTPMethod: "POST",
10128		HTTPPath:   "/",
10129	}
10130
10131	if input == nil {
10132		input = &StartMatchBackfillInput{}
10133	}
10134
10135	output = &StartMatchBackfillOutput{}
10136	req = c.newRequest(op, input, output)
10137	return
10138}
10139
10140// StartMatchBackfill API operation for Amazon GameLift.
10141//
10142// Finds new players to fill open slots in currently running game sessions.
10143// The backfill match process is essentially identical to the process of forming
10144// new matches. Backfill requests use the same matchmaker that was used to make
10145// the original match, and they provide matchmaking data for all players currently
10146// in the game session. FlexMatch uses this information to select new players
10147// so that backfilled match continues to meet the original match requirements.
10148//
10149// When using FlexMatch with GameLift managed hosting, you can request a backfill
10150// match from a client service by calling this operation with a GameSession
10151// identifier. You also have the option of making backfill requests directly
10152// from your game server. In response to a request, FlexMatch creates player
10153// sessions for the new players, updates the GameSession resource, and sends
10154// updated matchmaking data to the game server. You can request a backfill match
10155// at any point after a game session is started. Each game session can have
10156// only one active backfill request at a time; a subsequent request automatically
10157// replaces the earlier request.
10158//
10159// When using FlexMatch as a standalone component, request a backfill match
10160// by calling this operation without a game session identifier. As with newly
10161// formed matches, matchmaking results are returned in a matchmaking event so
10162// that your game can update the game session that is being backfilled.
10163//
10164// To request a backfill match, specify a unique ticket ID, the original matchmaking
10165// configuration, and matchmaking data for all current players in the game session
10166// being backfilled. Optionally, specify the GameSession ARN. If successful,
10167// a match backfill ticket is created and returned with status set to QUEUED.
10168// Track the status of backfill tickets using the same method for tracking tickets
10169// for new matches.
10170//
10171// Learn more
10172//
10173//  Backfill existing games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html)
10174//
10175//  Matchmaking events (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html)
10176//  (reference)
10177//
10178//  How GameLift FlexMatch works (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/gamelift-match.html)
10179//
10180// Related actions
10181//
10182// StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
10183// StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
10184//
10185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10186// with awserr.Error's Code and Message methods to get detailed information about
10187// the error.
10188//
10189// See the AWS API reference guide for Amazon GameLift's
10190// API operation StartMatchBackfill for usage and error information.
10191//
10192// Returned Error Types:
10193//   * InvalidRequestException
10194//   One or more parameter values in the request are invalid. Correct the invalid
10195//   parameter values before retrying.
10196//
10197//   * NotFoundException
10198//   A service resource associated with the request could not be found. Clients
10199//   should not retry such requests.
10200//
10201//   * InternalServiceException
10202//   The service encountered an unrecoverable internal failure while processing
10203//   the request. Clients can retry such requests immediately or after a waiting
10204//   period.
10205//
10206//   * UnsupportedRegionException
10207//   The requested operation is not supported in the Region specified.
10208//
10209// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
10210func (c *GameLift) StartMatchBackfill(input *StartMatchBackfillInput) (*StartMatchBackfillOutput, error) {
10211	req, out := c.StartMatchBackfillRequest(input)
10212	return out, req.Send()
10213}
10214
10215// StartMatchBackfillWithContext is the same as StartMatchBackfill with the addition of
10216// the ability to pass a context and additional request options.
10217//
10218// See StartMatchBackfill for details on how to use this API operation.
10219//
10220// The context must be non-nil and will be used for request cancellation. If
10221// the context is nil a panic will occur. In the future the SDK may create
10222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10223// for more information on using Contexts.
10224func (c *GameLift) StartMatchBackfillWithContext(ctx aws.Context, input *StartMatchBackfillInput, opts ...request.Option) (*StartMatchBackfillOutput, error) {
10225	req, out := c.StartMatchBackfillRequest(input)
10226	req.SetContext(ctx)
10227	req.ApplyOptions(opts...)
10228	return out, req.Send()
10229}
10230
10231const opStartMatchmaking = "StartMatchmaking"
10232
10233// StartMatchmakingRequest generates a "aws/request.Request" representing the
10234// client's request for the StartMatchmaking operation. The "output" return
10235// value will be populated with the request's response once the request completes
10236// successfully.
10237//
10238// Use "Send" method on the returned Request to send the API call to the service.
10239// the "output" return value is not valid until after Send returns without error.
10240//
10241// See StartMatchmaking for more information on using the StartMatchmaking
10242// API call, and error handling.
10243//
10244// This method is useful when you want to inject custom logic or configuration
10245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10246//
10247//
10248//    // Example sending a request using the StartMatchmakingRequest method.
10249//    req, resp := client.StartMatchmakingRequest(params)
10250//
10251//    err := req.Send()
10252//    if err == nil { // resp is now filled
10253//        fmt.Println(resp)
10254//    }
10255//
10256// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
10257func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *request.Request, output *StartMatchmakingOutput) {
10258	op := &request.Operation{
10259		Name:       opStartMatchmaking,
10260		HTTPMethod: "POST",
10261		HTTPPath:   "/",
10262	}
10263
10264	if input == nil {
10265		input = &StartMatchmakingInput{}
10266	}
10267
10268	output = &StartMatchmakingOutput{}
10269	req = c.newRequest(op, input, output)
10270	return
10271}
10272
10273// StartMatchmaking API operation for Amazon GameLift.
10274//
10275// Uses FlexMatch to create a game match for a group of players based on custom
10276// matchmaking rules. With games that use GameLift managed hosting, this operation
10277// also triggers GameLift to find hosting resources and start a new game session
10278// for the new match. Each matchmaking request includes information on one or
10279// more players and specifies the FlexMatch matchmaker to use. When a request
10280// is for multiple players, FlexMatch attempts to build a match that includes
10281// all players in the request, placing them in the same team and finding additional
10282// players as needed to fill the match.
10283//
10284// To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,
10285// and include the players to be matched. You must also include any player attributes
10286// that are required by the matchmaking configuration's rule set. If successful,
10287// a matchmaking ticket is returned with status set to QUEUED.
10288//
10289// Track matchmaking events to respond as needed and acquire game session connection
10290// information for successfully completed matches. Ticket status updates are
10291// tracked using event notification through Amazon Simple Notification Service
10292// (SNS), which is defined in the matchmaking configuration.
10293//
10294// Learn more
10295//
10296//  Add FlexMatch to a game client (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html)
10297//
10298//  Set Up FlexMatch event notification (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
10299//
10300//  How GameLift FlexMatch works (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/gamelift-match.html)
10301//
10302// Related actions
10303//
10304// StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
10305// StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
10306//
10307// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10308// with awserr.Error's Code and Message methods to get detailed information about
10309// the error.
10310//
10311// See the AWS API reference guide for Amazon GameLift's
10312// API operation StartMatchmaking for usage and error information.
10313//
10314// Returned Error Types:
10315//   * InvalidRequestException
10316//   One or more parameter values in the request are invalid. Correct the invalid
10317//   parameter values before retrying.
10318//
10319//   * NotFoundException
10320//   A service resource associated with the request could not be found. Clients
10321//   should not retry such requests.
10322//
10323//   * InternalServiceException
10324//   The service encountered an unrecoverable internal failure while processing
10325//   the request. Clients can retry such requests immediately or after a waiting
10326//   period.
10327//
10328//   * UnsupportedRegionException
10329//   The requested operation is not supported in the Region specified.
10330//
10331// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
10332func (c *GameLift) StartMatchmaking(input *StartMatchmakingInput) (*StartMatchmakingOutput, error) {
10333	req, out := c.StartMatchmakingRequest(input)
10334	return out, req.Send()
10335}
10336
10337// StartMatchmakingWithContext is the same as StartMatchmaking with the addition of
10338// the ability to pass a context and additional request options.
10339//
10340// See StartMatchmaking for details on how to use this API operation.
10341//
10342// The context must be non-nil and will be used for request cancellation. If
10343// the context is nil a panic will occur. In the future the SDK may create
10344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10345// for more information on using Contexts.
10346func (c *GameLift) StartMatchmakingWithContext(ctx aws.Context, input *StartMatchmakingInput, opts ...request.Option) (*StartMatchmakingOutput, error) {
10347	req, out := c.StartMatchmakingRequest(input)
10348	req.SetContext(ctx)
10349	req.ApplyOptions(opts...)
10350	return out, req.Send()
10351}
10352
10353const opStopFleetActions = "StopFleetActions"
10354
10355// StopFleetActionsRequest generates a "aws/request.Request" representing the
10356// client's request for the StopFleetActions operation. The "output" return
10357// value will be populated with the request's response once the request completes
10358// successfully.
10359//
10360// Use "Send" method on the returned Request to send the API call to the service.
10361// the "output" return value is not valid until after Send returns without error.
10362//
10363// See StopFleetActions for more information on using the StopFleetActions
10364// API call, and error handling.
10365//
10366// This method is useful when you want to inject custom logic or configuration
10367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10368//
10369//
10370//    // Example sending a request using the StopFleetActionsRequest method.
10371//    req, resp := client.StopFleetActionsRequest(params)
10372//
10373//    err := req.Send()
10374//    if err == nil { // resp is now filled
10375//        fmt.Println(resp)
10376//    }
10377//
10378// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopFleetActions
10379func (c *GameLift) StopFleetActionsRequest(input *StopFleetActionsInput) (req *request.Request, output *StopFleetActionsOutput) {
10380	op := &request.Operation{
10381		Name:       opStopFleetActions,
10382		HTTPMethod: "POST",
10383		HTTPPath:   "/",
10384	}
10385
10386	if input == nil {
10387		input = &StopFleetActionsInput{}
10388	}
10389
10390	output = &StopFleetActionsOutput{}
10391	req = c.newRequest(op, input, output)
10392	return
10393}
10394
10395// StopFleetActions API operation for Amazon GameLift.
10396//
10397// Suspends certain types of activity in a fleet location. Currently, this operation
10398// is used to stop auto-scaling activity. For multi-location fleets, fleet actions
10399// are managed separately for each location.
10400//
10401// Stopping fleet actions has several potential purposes. It allows you to temporarily
10402// stop auto-scaling activity but retain your scaling policies for use in the
10403// future. For multi-location fleets, you can set up fleet-wide auto-scaling,
10404// and then opt out of it for certain locations.
10405//
10406// This operation can be used in the following ways:
10407//
10408//    * To stop actions on instances in the fleet's home Region, provide a fleet
10409//    ID and the type of actions to suspend.
10410//
10411//    * To stop actions on instances in one of the fleet's remote locations,
10412//    provide a fleet ID, a location name, and the type of actions to suspend.
10413//
10414// If successful, GameLift no longer initiates scaling events except in response
10415// to manual changes using UpdateFleetCapacity. You can view a fleet's stopped
10416// actions using DescribeFleetAttributes or DescribeFleetLocationAttributes.
10417// Suspended activity can be restarted using StartFleetActions.
10418//
10419// Learn more
10420//
10421// Setting up GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
10422//
10423// Related actions
10424//
10425// CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
10426// | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
10427// | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
10428//
10429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10430// with awserr.Error's Code and Message methods to get detailed information about
10431// the error.
10432//
10433// See the AWS API reference guide for Amazon GameLift's
10434// API operation StopFleetActions for usage and error information.
10435//
10436// Returned Error Types:
10437//   * InternalServiceException
10438//   The service encountered an unrecoverable internal failure while processing
10439//   the request. Clients can retry such requests immediately or after a waiting
10440//   period.
10441//
10442//   * InvalidRequestException
10443//   One or more parameter values in the request are invalid. Correct the invalid
10444//   parameter values before retrying.
10445//
10446//   * UnauthorizedException
10447//   The client failed authentication. Clients should not retry such requests.
10448//
10449//   * NotFoundException
10450//   A service resource associated with the request could not be found. Clients
10451//   should not retry such requests.
10452//
10453//   * UnsupportedRegionException
10454//   The requested operation is not supported in the Region specified.
10455//
10456// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopFleetActions
10457func (c *GameLift) StopFleetActions(input *StopFleetActionsInput) (*StopFleetActionsOutput, error) {
10458	req, out := c.StopFleetActionsRequest(input)
10459	return out, req.Send()
10460}
10461
10462// StopFleetActionsWithContext is the same as StopFleetActions with the addition of
10463// the ability to pass a context and additional request options.
10464//
10465// See StopFleetActions for details on how to use this API operation.
10466//
10467// The context must be non-nil and will be used for request cancellation. If
10468// the context is nil a panic will occur. In the future the SDK may create
10469// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10470// for more information on using Contexts.
10471func (c *GameLift) StopFleetActionsWithContext(ctx aws.Context, input *StopFleetActionsInput, opts ...request.Option) (*StopFleetActionsOutput, error) {
10472	req, out := c.StopFleetActionsRequest(input)
10473	req.SetContext(ctx)
10474	req.ApplyOptions(opts...)
10475	return out, req.Send()
10476}
10477
10478const opStopGameSessionPlacement = "StopGameSessionPlacement"
10479
10480// StopGameSessionPlacementRequest generates a "aws/request.Request" representing the
10481// client's request for the StopGameSessionPlacement operation. The "output" return
10482// value will be populated with the request's response once the request completes
10483// successfully.
10484//
10485// Use "Send" method on the returned Request to send the API call to the service.
10486// the "output" return value is not valid until after Send returns without error.
10487//
10488// See StopGameSessionPlacement for more information on using the StopGameSessionPlacement
10489// API call, and error handling.
10490//
10491// This method is useful when you want to inject custom logic or configuration
10492// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10493//
10494//
10495//    // Example sending a request using the StopGameSessionPlacementRequest method.
10496//    req, resp := client.StopGameSessionPlacementRequest(params)
10497//
10498//    err := req.Send()
10499//    if err == nil { // resp is now filled
10500//        fmt.Println(resp)
10501//    }
10502//
10503// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
10504func (c *GameLift) StopGameSessionPlacementRequest(input *StopGameSessionPlacementInput) (req *request.Request, output *StopGameSessionPlacementOutput) {
10505	op := &request.Operation{
10506		Name:       opStopGameSessionPlacement,
10507		HTTPMethod: "POST",
10508		HTTPPath:   "/",
10509	}
10510
10511	if input == nil {
10512		input = &StopGameSessionPlacementInput{}
10513	}
10514
10515	output = &StopGameSessionPlacementOutput{}
10516	req = c.newRequest(op, input, output)
10517	return
10518}
10519
10520// StopGameSessionPlacement API operation for Amazon GameLift.
10521//
10522// Cancels a game session placement that is in PENDING status. To stop a placement,
10523// provide the placement ID values. If successful, the placement is moved to
10524// CANCELLED status.
10525//
10526// Related actions
10527//
10528// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
10529// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
10530// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
10531// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
10532//
10533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10534// with awserr.Error's Code and Message methods to get detailed information about
10535// the error.
10536//
10537// See the AWS API reference guide for Amazon GameLift's
10538// API operation StopGameSessionPlacement for usage and error information.
10539//
10540// Returned Error Types:
10541//   * InternalServiceException
10542//   The service encountered an unrecoverable internal failure while processing
10543//   the request. Clients can retry such requests immediately or after a waiting
10544//   period.
10545//
10546//   * InvalidRequestException
10547//   One or more parameter values in the request are invalid. Correct the invalid
10548//   parameter values before retrying.
10549//
10550//   * NotFoundException
10551//   A service resource associated with the request could not be found. Clients
10552//   should not retry such requests.
10553//
10554//   * UnauthorizedException
10555//   The client failed authentication. Clients should not retry such requests.
10556//
10557// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
10558func (c *GameLift) StopGameSessionPlacement(input *StopGameSessionPlacementInput) (*StopGameSessionPlacementOutput, error) {
10559	req, out := c.StopGameSessionPlacementRequest(input)
10560	return out, req.Send()
10561}
10562
10563// StopGameSessionPlacementWithContext is the same as StopGameSessionPlacement with the addition of
10564// the ability to pass a context and additional request options.
10565//
10566// See StopGameSessionPlacement for details on how to use this API operation.
10567//
10568// The context must be non-nil and will be used for request cancellation. If
10569// the context is nil a panic will occur. In the future the SDK may create
10570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10571// for more information on using Contexts.
10572func (c *GameLift) StopGameSessionPlacementWithContext(ctx aws.Context, input *StopGameSessionPlacementInput, opts ...request.Option) (*StopGameSessionPlacementOutput, error) {
10573	req, out := c.StopGameSessionPlacementRequest(input)
10574	req.SetContext(ctx)
10575	req.ApplyOptions(opts...)
10576	return out, req.Send()
10577}
10578
10579const opStopMatchmaking = "StopMatchmaking"
10580
10581// StopMatchmakingRequest generates a "aws/request.Request" representing the
10582// client's request for the StopMatchmaking operation. The "output" return
10583// value will be populated with the request's response once the request completes
10584// successfully.
10585//
10586// Use "Send" method on the returned Request to send the API call to the service.
10587// the "output" return value is not valid until after Send returns without error.
10588//
10589// See StopMatchmaking for more information on using the StopMatchmaking
10590// API call, and error handling.
10591//
10592// This method is useful when you want to inject custom logic or configuration
10593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10594//
10595//
10596//    // Example sending a request using the StopMatchmakingRequest method.
10597//    req, resp := client.StopMatchmakingRequest(params)
10598//
10599//    err := req.Send()
10600//    if err == nil { // resp is now filled
10601//        fmt.Println(resp)
10602//    }
10603//
10604// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
10605func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *request.Request, output *StopMatchmakingOutput) {
10606	op := &request.Operation{
10607		Name:       opStopMatchmaking,
10608		HTTPMethod: "POST",
10609		HTTPPath:   "/",
10610	}
10611
10612	if input == nil {
10613		input = &StopMatchmakingInput{}
10614	}
10615
10616	output = &StopMatchmakingOutput{}
10617	req = c.newRequest(op, input, output)
10618	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10619	return
10620}
10621
10622// StopMatchmaking API operation for Amazon GameLift.
10623//
10624// Cancels a matchmaking ticket or match backfill ticket that is currently being
10625// processed. To stop the matchmaking operation, specify the ticket ID. If successful,
10626// work on the ticket is stopped, and the ticket status is changed to CANCELLED.
10627//
10628// This call is also used to turn off automatic backfill for an individual game
10629// session. This is for game sessions that are created with a matchmaking configuration
10630// that has automatic backfill enabled. The ticket ID is included in the MatchmakerData
10631// of an updated game session object, which is provided to the game server.
10632//
10633// If the operation is successful, the service sends back an empty JSON struct
10634// with the HTTP 200 response (not an empty HTTP body).
10635//
10636// Learn more
10637//
10638//  Add FlexMatch to a game client (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html)
10639//
10640// Related actions
10641//
10642// StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
10643// StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
10644//
10645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10646// with awserr.Error's Code and Message methods to get detailed information about
10647// the error.
10648//
10649// See the AWS API reference guide for Amazon GameLift's
10650// API operation StopMatchmaking for usage and error information.
10651//
10652// Returned Error Types:
10653//   * InvalidRequestException
10654//   One or more parameter values in the request are invalid. Correct the invalid
10655//   parameter values before retrying.
10656//
10657//   * NotFoundException
10658//   A service resource associated with the request could not be found. Clients
10659//   should not retry such requests.
10660//
10661//   * InternalServiceException
10662//   The service encountered an unrecoverable internal failure while processing
10663//   the request. Clients can retry such requests immediately or after a waiting
10664//   period.
10665//
10666//   * UnsupportedRegionException
10667//   The requested operation is not supported in the Region specified.
10668//
10669// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
10670func (c *GameLift) StopMatchmaking(input *StopMatchmakingInput) (*StopMatchmakingOutput, error) {
10671	req, out := c.StopMatchmakingRequest(input)
10672	return out, req.Send()
10673}
10674
10675// StopMatchmakingWithContext is the same as StopMatchmaking with the addition of
10676// the ability to pass a context and additional request options.
10677//
10678// See StopMatchmaking for details on how to use this API operation.
10679//
10680// The context must be non-nil and will be used for request cancellation. If
10681// the context is nil a panic will occur. In the future the SDK may create
10682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10683// for more information on using Contexts.
10684func (c *GameLift) StopMatchmakingWithContext(ctx aws.Context, input *StopMatchmakingInput, opts ...request.Option) (*StopMatchmakingOutput, error) {
10685	req, out := c.StopMatchmakingRequest(input)
10686	req.SetContext(ctx)
10687	req.ApplyOptions(opts...)
10688	return out, req.Send()
10689}
10690
10691const opSuspendGameServerGroup = "SuspendGameServerGroup"
10692
10693// SuspendGameServerGroupRequest generates a "aws/request.Request" representing the
10694// client's request for the SuspendGameServerGroup operation. The "output" return
10695// value will be populated with the request's response once the request completes
10696// successfully.
10697//
10698// Use "Send" method on the returned Request to send the API call to the service.
10699// the "output" return value is not valid until after Send returns without error.
10700//
10701// See SuspendGameServerGroup for more information on using the SuspendGameServerGroup
10702// API call, and error handling.
10703//
10704// This method is useful when you want to inject custom logic or configuration
10705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10706//
10707//
10708//    // Example sending a request using the SuspendGameServerGroupRequest method.
10709//    req, resp := client.SuspendGameServerGroupRequest(params)
10710//
10711//    err := req.Send()
10712//    if err == nil { // resp is now filled
10713//        fmt.Println(resp)
10714//    }
10715//
10716// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SuspendGameServerGroup
10717func (c *GameLift) SuspendGameServerGroupRequest(input *SuspendGameServerGroupInput) (req *request.Request, output *SuspendGameServerGroupOutput) {
10718	op := &request.Operation{
10719		Name:       opSuspendGameServerGroup,
10720		HTTPMethod: "POST",
10721		HTTPPath:   "/",
10722	}
10723
10724	if input == nil {
10725		input = &SuspendGameServerGroupInput{}
10726	}
10727
10728	output = &SuspendGameServerGroupOutput{}
10729	req = c.newRequest(op, input, output)
10730	return
10731}
10732
10733// SuspendGameServerGroup API operation for Amazon GameLift.
10734//
10735// This operation is used with the GameLift FleetIQ solution and game server
10736// groups.
10737//
10738// Temporarily stops activity on a game server group without terminating instances
10739// or the game server group. You can restart activity by calling ResumeGameServerGroup.
10740// You can suspend the following activity:
10741//
10742//    * Instance type replacement - This activity evaluates the current game
10743//    hosting viability of all Spot instance types that are defined for the
10744//    game server group. It updates the Auto Scaling group to remove nonviable
10745//    Spot Instance types, which have a higher chance of game server interruptions.
10746//    It then balances capacity across the remaining viable Spot Instance types.
10747//    When this activity is suspended, the Auto Scaling group continues with
10748//    its current balance, regardless of viability. Instance protection, utilization
10749//    metrics, and capacity scaling activities continue to be active.
10750//
10751// To suspend activity, specify a game server group ARN and the type of activity
10752// to be suspended. If successful, a GameServerGroup object is returned showing
10753// that the activity is listed in SuspendedActions.
10754//
10755// Learn more
10756//
10757// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
10758//
10759// Related actions
10760//
10761// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
10762// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
10763// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
10764//
10765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10766// with awserr.Error's Code and Message methods to get detailed information about
10767// the error.
10768//
10769// See the AWS API reference guide for Amazon GameLift's
10770// API operation SuspendGameServerGroup for usage and error information.
10771//
10772// Returned Error Types:
10773//   * InvalidRequestException
10774//   One or more parameter values in the request are invalid. Correct the invalid
10775//   parameter values before retrying.
10776//
10777//   * NotFoundException
10778//   A service resource associated with the request could not be found. Clients
10779//   should not retry such requests.
10780//
10781//   * UnauthorizedException
10782//   The client failed authentication. Clients should not retry such requests.
10783//
10784//   * InternalServiceException
10785//   The service encountered an unrecoverable internal failure while processing
10786//   the request. Clients can retry such requests immediately or after a waiting
10787//   period.
10788//
10789// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SuspendGameServerGroup
10790func (c *GameLift) SuspendGameServerGroup(input *SuspendGameServerGroupInput) (*SuspendGameServerGroupOutput, error) {
10791	req, out := c.SuspendGameServerGroupRequest(input)
10792	return out, req.Send()
10793}
10794
10795// SuspendGameServerGroupWithContext is the same as SuspendGameServerGroup with the addition of
10796// the ability to pass a context and additional request options.
10797//
10798// See SuspendGameServerGroup for details on how to use this API operation.
10799//
10800// The context must be non-nil and will be used for request cancellation. If
10801// the context is nil a panic will occur. In the future the SDK may create
10802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10803// for more information on using Contexts.
10804func (c *GameLift) SuspendGameServerGroupWithContext(ctx aws.Context, input *SuspendGameServerGroupInput, opts ...request.Option) (*SuspendGameServerGroupOutput, error) {
10805	req, out := c.SuspendGameServerGroupRequest(input)
10806	req.SetContext(ctx)
10807	req.ApplyOptions(opts...)
10808	return out, req.Send()
10809}
10810
10811const opTagResource = "TagResource"
10812
10813// TagResourceRequest generates a "aws/request.Request" representing the
10814// client's request for the TagResource operation. The "output" return
10815// value will be populated with the request's response once the request completes
10816// successfully.
10817//
10818// Use "Send" method on the returned Request to send the API call to the service.
10819// the "output" return value is not valid until after Send returns without error.
10820//
10821// See TagResource for more information on using the TagResource
10822// API call, and error handling.
10823//
10824// This method is useful when you want to inject custom logic or configuration
10825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10826//
10827//
10828//    // Example sending a request using the TagResourceRequest method.
10829//    req, resp := client.TagResourceRequest(params)
10830//
10831//    err := req.Send()
10832//    if err == nil { // resp is now filled
10833//        fmt.Println(resp)
10834//    }
10835//
10836// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/TagResource
10837func (c *GameLift) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
10838	op := &request.Operation{
10839		Name:       opTagResource,
10840		HTTPMethod: "POST",
10841		HTTPPath:   "/",
10842	}
10843
10844	if input == nil {
10845		input = &TagResourceInput{}
10846	}
10847
10848	output = &TagResourceOutput{}
10849	req = c.newRequest(op, input, output)
10850	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10851	return
10852}
10853
10854// TagResource API operation for Amazon GameLift.
10855//
10856// Assigns a tag to a GameLift resource. AWS resource tags provide an additional
10857// management tool set. You can use tags to organize resources, create IAM permissions
10858// policies to manage access to groups of resources, customize AWS cost breakdowns,
10859// etc. This operation handles the permissions necessary to manage tags for
10860// the following GameLift resource types:
10861//
10862//    * Build
10863//
10864//    * Script
10865//
10866//    * Fleet
10867//
10868//    * Alias
10869//
10870//    * GameSessionQueue
10871//
10872//    * MatchmakingConfiguration
10873//
10874//    * MatchmakingRuleSet
10875//
10876// To add a tag to a resource, specify the unique ARN value for the resource
10877// and provide a tag list containing one or more tags. The operation succeeds
10878// even if the list includes tags that are already assigned to the specified
10879// resource.
10880//
10881// Learn more
10882//
10883// Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
10884// in the AWS General Reference
10885//
10886//  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
10887//
10888// Related actions
10889//
10890// TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
10891//
10892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10893// with awserr.Error's Code and Message methods to get detailed information about
10894// the error.
10895//
10896// See the AWS API reference guide for Amazon GameLift's
10897// API operation TagResource for usage and error information.
10898//
10899// Returned Error Types:
10900//   * NotFoundException
10901//   A service resource associated with the request could not be found. Clients
10902//   should not retry such requests.
10903//
10904//   * InvalidRequestException
10905//   One or more parameter values in the request are invalid. Correct the invalid
10906//   parameter values before retrying.
10907//
10908//   * TaggingFailedException
10909//   The requested tagging operation did not succeed. This may be due to invalid
10910//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
10911//   before retrying.
10912//
10913//   * InternalServiceException
10914//   The service encountered an unrecoverable internal failure while processing
10915//   the request. Clients can retry such requests immediately or after a waiting
10916//   period.
10917//
10918// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/TagResource
10919func (c *GameLift) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
10920	req, out := c.TagResourceRequest(input)
10921	return out, req.Send()
10922}
10923
10924// TagResourceWithContext is the same as TagResource with the addition of
10925// the ability to pass a context and additional request options.
10926//
10927// See TagResource for details on how to use this API operation.
10928//
10929// The context must be non-nil and will be used for request cancellation. If
10930// the context is nil a panic will occur. In the future the SDK may create
10931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10932// for more information on using Contexts.
10933func (c *GameLift) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
10934	req, out := c.TagResourceRequest(input)
10935	req.SetContext(ctx)
10936	req.ApplyOptions(opts...)
10937	return out, req.Send()
10938}
10939
10940const opUntagResource = "UntagResource"
10941
10942// UntagResourceRequest generates a "aws/request.Request" representing the
10943// client's request for the UntagResource operation. The "output" return
10944// value will be populated with the request's response once the request completes
10945// successfully.
10946//
10947// Use "Send" method on the returned Request to send the API call to the service.
10948// the "output" return value is not valid until after Send returns without error.
10949//
10950// See UntagResource for more information on using the UntagResource
10951// API call, and error handling.
10952//
10953// This method is useful when you want to inject custom logic or configuration
10954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10955//
10956//
10957//    // Example sending a request using the UntagResourceRequest method.
10958//    req, resp := client.UntagResourceRequest(params)
10959//
10960//    err := req.Send()
10961//    if err == nil { // resp is now filled
10962//        fmt.Println(resp)
10963//    }
10964//
10965// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UntagResource
10966func (c *GameLift) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
10967	op := &request.Operation{
10968		Name:       opUntagResource,
10969		HTTPMethod: "POST",
10970		HTTPPath:   "/",
10971	}
10972
10973	if input == nil {
10974		input = &UntagResourceInput{}
10975	}
10976
10977	output = &UntagResourceOutput{}
10978	req = c.newRequest(op, input, output)
10979	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10980	return
10981}
10982
10983// UntagResource API operation for Amazon GameLift.
10984//
10985// Removes a tag that is assigned to a GameLift resource. Resource tags are
10986// used to organize AWS resources for a range of purposes. This operation handles
10987// the permissions necessary to manage tags for the following GameLift resource
10988// types:
10989//
10990//    * Build
10991//
10992//    * Script
10993//
10994//    * Fleet
10995//
10996//    * Alias
10997//
10998//    * GameSessionQueue
10999//
11000//    * MatchmakingConfiguration
11001//
11002//    * MatchmakingRuleSet
11003//
11004// To remove a tag from a resource, specify the unique ARN value for the resource
11005// and provide a string list containing one or more tags to be removed. This
11006// operation succeeds even if the list includes tags that are not currently
11007// assigned to the specified resource.
11008//
11009// Learn more
11010//
11011// Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
11012// in the AWS General Reference
11013//
11014//  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
11015//
11016// Related actions
11017//
11018// TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
11019//
11020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11021// with awserr.Error's Code and Message methods to get detailed information about
11022// the error.
11023//
11024// See the AWS API reference guide for Amazon GameLift's
11025// API operation UntagResource for usage and error information.
11026//
11027// Returned Error Types:
11028//   * NotFoundException
11029//   A service resource associated with the request could not be found. Clients
11030//   should not retry such requests.
11031//
11032//   * InvalidRequestException
11033//   One or more parameter values in the request are invalid. Correct the invalid
11034//   parameter values before retrying.
11035//
11036//   * TaggingFailedException
11037//   The requested tagging operation did not succeed. This may be due to invalid
11038//   tag format or the maximum tag limit may have been exceeded. Resolve the issue
11039//   before retrying.
11040//
11041//   * InternalServiceException
11042//   The service encountered an unrecoverable internal failure while processing
11043//   the request. Clients can retry such requests immediately or after a waiting
11044//   period.
11045//
11046// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UntagResource
11047func (c *GameLift) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
11048	req, out := c.UntagResourceRequest(input)
11049	return out, req.Send()
11050}
11051
11052// UntagResourceWithContext is the same as UntagResource with the addition of
11053// the ability to pass a context and additional request options.
11054//
11055// See UntagResource for details on how to use this API operation.
11056//
11057// The context must be non-nil and will be used for request cancellation. If
11058// the context is nil a panic will occur. In the future the SDK may create
11059// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11060// for more information on using Contexts.
11061func (c *GameLift) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
11062	req, out := c.UntagResourceRequest(input)
11063	req.SetContext(ctx)
11064	req.ApplyOptions(opts...)
11065	return out, req.Send()
11066}
11067
11068const opUpdateAlias = "UpdateAlias"
11069
11070// UpdateAliasRequest generates a "aws/request.Request" representing the
11071// client's request for the UpdateAlias operation. The "output" return
11072// value will be populated with the request's response once the request completes
11073// successfully.
11074//
11075// Use "Send" method on the returned Request to send the API call to the service.
11076// the "output" return value is not valid until after Send returns without error.
11077//
11078// See UpdateAlias for more information on using the UpdateAlias
11079// API call, and error handling.
11080//
11081// This method is useful when you want to inject custom logic or configuration
11082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11083//
11084//
11085//    // Example sending a request using the UpdateAliasRequest method.
11086//    req, resp := client.UpdateAliasRequest(params)
11087//
11088//    err := req.Send()
11089//    if err == nil { // resp is now filled
11090//        fmt.Println(resp)
11091//    }
11092//
11093// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
11094func (c *GameLift) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *UpdateAliasOutput) {
11095	op := &request.Operation{
11096		Name:       opUpdateAlias,
11097		HTTPMethod: "POST",
11098		HTTPPath:   "/",
11099	}
11100
11101	if input == nil {
11102		input = &UpdateAliasInput{}
11103	}
11104
11105	output = &UpdateAliasOutput{}
11106	req = c.newRequest(op, input, output)
11107	return
11108}
11109
11110// UpdateAlias API operation for Amazon GameLift.
11111//
11112// Updates properties for an alias. To update properties, specify the alias
11113// ID to be updated and provide the information to be changed. To reassign an
11114// alias to another fleet, provide an updated routing strategy. If successful,
11115// the updated alias record is returned.
11116//
11117// Related actions
11118//
11119// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
11120// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
11121//
11122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11123// with awserr.Error's Code and Message methods to get detailed information about
11124// the error.
11125//
11126// See the AWS API reference guide for Amazon GameLift's
11127// API operation UpdateAlias for usage and error information.
11128//
11129// Returned Error Types:
11130//   * UnauthorizedException
11131//   The client failed authentication. Clients should not retry such requests.
11132//
11133//   * InvalidRequestException
11134//   One or more parameter values in the request are invalid. Correct the invalid
11135//   parameter values before retrying.
11136//
11137//   * NotFoundException
11138//   A service resource associated with the request could not be found. Clients
11139//   should not retry such requests.
11140//
11141//   * InternalServiceException
11142//   The service encountered an unrecoverable internal failure while processing
11143//   the request. Clients can retry such requests immediately or after a waiting
11144//   period.
11145//
11146// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
11147func (c *GameLift) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) {
11148	req, out := c.UpdateAliasRequest(input)
11149	return out, req.Send()
11150}
11151
11152// UpdateAliasWithContext is the same as UpdateAlias with the addition of
11153// the ability to pass a context and additional request options.
11154//
11155// See UpdateAlias for details on how to use this API operation.
11156//
11157// The context must be non-nil and will be used for request cancellation. If
11158// the context is nil a panic will occur. In the future the SDK may create
11159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11160// for more information on using Contexts.
11161func (c *GameLift) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*UpdateAliasOutput, error) {
11162	req, out := c.UpdateAliasRequest(input)
11163	req.SetContext(ctx)
11164	req.ApplyOptions(opts...)
11165	return out, req.Send()
11166}
11167
11168const opUpdateBuild = "UpdateBuild"
11169
11170// UpdateBuildRequest generates a "aws/request.Request" representing the
11171// client's request for the UpdateBuild operation. The "output" return
11172// value will be populated with the request's response once the request completes
11173// successfully.
11174//
11175// Use "Send" method on the returned Request to send the API call to the service.
11176// the "output" return value is not valid until after Send returns without error.
11177//
11178// See UpdateBuild for more information on using the UpdateBuild
11179// API call, and error handling.
11180//
11181// This method is useful when you want to inject custom logic or configuration
11182// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11183//
11184//
11185//    // Example sending a request using the UpdateBuildRequest method.
11186//    req, resp := client.UpdateBuildRequest(params)
11187//
11188//    err := req.Send()
11189//    if err == nil { // resp is now filled
11190//        fmt.Println(resp)
11191//    }
11192//
11193// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
11194func (c *GameLift) UpdateBuildRequest(input *UpdateBuildInput) (req *request.Request, output *UpdateBuildOutput) {
11195	op := &request.Operation{
11196		Name:       opUpdateBuild,
11197		HTTPMethod: "POST",
11198		HTTPPath:   "/",
11199	}
11200
11201	if input == nil {
11202		input = &UpdateBuildInput{}
11203	}
11204
11205	output = &UpdateBuildOutput{}
11206	req = c.newRequest(op, input, output)
11207	return
11208}
11209
11210// UpdateBuild API operation for Amazon GameLift.
11211//
11212// Updates metadata in a build resource, including the build name and version.
11213// To update the metadata, specify the build ID to update and provide the new
11214// values. If successful, a build object containing the updated metadata is
11215// returned.
11216//
11217// Learn more
11218//
11219//  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
11220//
11221// Related actions
11222//
11223// CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
11224// APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
11225//
11226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11227// with awserr.Error's Code and Message methods to get detailed information about
11228// the error.
11229//
11230// See the AWS API reference guide for Amazon GameLift's
11231// API operation UpdateBuild for usage and error information.
11232//
11233// Returned Error Types:
11234//   * UnauthorizedException
11235//   The client failed authentication. Clients should not retry such requests.
11236//
11237//   * InvalidRequestException
11238//   One or more parameter values in the request are invalid. Correct the invalid
11239//   parameter values before retrying.
11240//
11241//   * NotFoundException
11242//   A service resource associated with the request could not be found. Clients
11243//   should not retry such requests.
11244//
11245//   * InternalServiceException
11246//   The service encountered an unrecoverable internal failure while processing
11247//   the request. Clients can retry such requests immediately or after a waiting
11248//   period.
11249//
11250// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
11251func (c *GameLift) UpdateBuild(input *UpdateBuildInput) (*UpdateBuildOutput, error) {
11252	req, out := c.UpdateBuildRequest(input)
11253	return out, req.Send()
11254}
11255
11256// UpdateBuildWithContext is the same as UpdateBuild with the addition of
11257// the ability to pass a context and additional request options.
11258//
11259// See UpdateBuild for details on how to use this API operation.
11260//
11261// The context must be non-nil and will be used for request cancellation. If
11262// the context is nil a panic will occur. In the future the SDK may create
11263// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11264// for more information on using Contexts.
11265func (c *GameLift) UpdateBuildWithContext(ctx aws.Context, input *UpdateBuildInput, opts ...request.Option) (*UpdateBuildOutput, error) {
11266	req, out := c.UpdateBuildRequest(input)
11267	req.SetContext(ctx)
11268	req.ApplyOptions(opts...)
11269	return out, req.Send()
11270}
11271
11272const opUpdateFleetAttributes = "UpdateFleetAttributes"
11273
11274// UpdateFleetAttributesRequest generates a "aws/request.Request" representing the
11275// client's request for the UpdateFleetAttributes operation. The "output" return
11276// value will be populated with the request's response once the request completes
11277// successfully.
11278//
11279// Use "Send" method on the returned Request to send the API call to the service.
11280// the "output" return value is not valid until after Send returns without error.
11281//
11282// See UpdateFleetAttributes for more information on using the UpdateFleetAttributes
11283// API call, and error handling.
11284//
11285// This method is useful when you want to inject custom logic or configuration
11286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11287//
11288//
11289//    // Example sending a request using the UpdateFleetAttributesRequest method.
11290//    req, resp := client.UpdateFleetAttributesRequest(params)
11291//
11292//    err := req.Send()
11293//    if err == nil { // resp is now filled
11294//        fmt.Println(resp)
11295//    }
11296//
11297// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
11298func (c *GameLift) UpdateFleetAttributesRequest(input *UpdateFleetAttributesInput) (req *request.Request, output *UpdateFleetAttributesOutput) {
11299	op := &request.Operation{
11300		Name:       opUpdateFleetAttributes,
11301		HTTPMethod: "POST",
11302		HTTPPath:   "/",
11303	}
11304
11305	if input == nil {
11306		input = &UpdateFleetAttributesInput{}
11307	}
11308
11309	output = &UpdateFleetAttributesOutput{}
11310	req = c.newRequest(op, input, output)
11311	return
11312}
11313
11314// UpdateFleetAttributes API operation for Amazon GameLift.
11315//
11316// Updates a fleet's mutable attributes, including game session protection and
11317// resource creation limits.
11318//
11319// To update fleet attributes, specify the fleet ID and the property values
11320// that you want to change.
11321//
11322// If successful, an updated FleetAttributes object is returned.
11323//
11324// Learn more
11325//
11326// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
11327//
11328// Related actions
11329//
11330// CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
11331// | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
11332// | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
11333// task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
11334//
11335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11336// with awserr.Error's Code and Message methods to get detailed information about
11337// the error.
11338//
11339// See the AWS API reference guide for Amazon GameLift's
11340// API operation UpdateFleetAttributes for usage and error information.
11341//
11342// Returned Error Types:
11343//   * NotFoundException
11344//   A service resource associated with the request could not be found. Clients
11345//   should not retry such requests.
11346//
11347//   * ConflictException
11348//   The requested operation would cause a conflict with the current state of
11349//   a service resource associated with the request. Resolve the conflict before
11350//   retrying this request.
11351//
11352//   * InvalidFleetStatusException
11353//   The requested operation would cause a conflict with the current state of
11354//   a resource associated with the request and/or the fleet. Resolve the conflict
11355//   before retrying.
11356//
11357//   * LimitExceededException
11358//   The requested operation would cause the resource to exceed the allowed service
11359//   limit. Resolve the issue before retrying.
11360//
11361//   * InternalServiceException
11362//   The service encountered an unrecoverable internal failure while processing
11363//   the request. Clients can retry such requests immediately or after a waiting
11364//   period.
11365//
11366//   * InvalidRequestException
11367//   One or more parameter values in the request are invalid. Correct the invalid
11368//   parameter values before retrying.
11369//
11370//   * UnauthorizedException
11371//   The client failed authentication. Clients should not retry such requests.
11372//
11373// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
11374func (c *GameLift) UpdateFleetAttributes(input *UpdateFleetAttributesInput) (*UpdateFleetAttributesOutput, error) {
11375	req, out := c.UpdateFleetAttributesRequest(input)
11376	return out, req.Send()
11377}
11378
11379// UpdateFleetAttributesWithContext is the same as UpdateFleetAttributes with the addition of
11380// the ability to pass a context and additional request options.
11381//
11382// See UpdateFleetAttributes for details on how to use this API operation.
11383//
11384// The context must be non-nil and will be used for request cancellation. If
11385// the context is nil a panic will occur. In the future the SDK may create
11386// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11387// for more information on using Contexts.
11388func (c *GameLift) UpdateFleetAttributesWithContext(ctx aws.Context, input *UpdateFleetAttributesInput, opts ...request.Option) (*UpdateFleetAttributesOutput, error) {
11389	req, out := c.UpdateFleetAttributesRequest(input)
11390	req.SetContext(ctx)
11391	req.ApplyOptions(opts...)
11392	return out, req.Send()
11393}
11394
11395const opUpdateFleetCapacity = "UpdateFleetCapacity"
11396
11397// UpdateFleetCapacityRequest generates a "aws/request.Request" representing the
11398// client's request for the UpdateFleetCapacity operation. The "output" return
11399// value will be populated with the request's response once the request completes
11400// successfully.
11401//
11402// Use "Send" method on the returned Request to send the API call to the service.
11403// the "output" return value is not valid until after Send returns without error.
11404//
11405// See UpdateFleetCapacity for more information on using the UpdateFleetCapacity
11406// API call, and error handling.
11407//
11408// This method is useful when you want to inject custom logic or configuration
11409// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11410//
11411//
11412//    // Example sending a request using the UpdateFleetCapacityRequest method.
11413//    req, resp := client.UpdateFleetCapacityRequest(params)
11414//
11415//    err := req.Send()
11416//    if err == nil { // resp is now filled
11417//        fmt.Println(resp)
11418//    }
11419//
11420// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
11421func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) (req *request.Request, output *UpdateFleetCapacityOutput) {
11422	op := &request.Operation{
11423		Name:       opUpdateFleetCapacity,
11424		HTTPMethod: "POST",
11425		HTTPPath:   "/",
11426	}
11427
11428	if input == nil {
11429		input = &UpdateFleetCapacityInput{}
11430	}
11431
11432	output = &UpdateFleetCapacityOutput{}
11433	req = c.newRequest(op, input, output)
11434	return
11435}
11436
11437// UpdateFleetCapacity API operation for Amazon GameLift.
11438//
11439// Updates capacity settings for a fleet. For fleets with multiple locations,
11440// use this operation to manage capacity settings in each location individually.
11441// Fleet capacity determines the number of game sessions and players that can
11442// be hosted based on the fleet configuration. Use this operation to set the
11443// following fleet capacity properties:
11444//
11445//    * Minimum/maximum size: Set hard limits on fleet capacity. GameLift cannot
11446//    set the fleet's capacity to a value outside of this range, whether the
11447//    capacity is changed manually or through automatic scaling.
11448//
11449//    * Desired capacity: Manually set the number of EC2 instances to be maintained
11450//    in a fleet location. Before changing a fleet's desired capacity, you may
11451//    want to call DescribeEC2InstanceLimits to get the maximum capacity of
11452//    the fleet's EC2 instance type. Alternatively, consider using automatic
11453//    scaling to adjust capacity based on player demand.
11454//
11455// This operation can be used in the following ways:
11456//
11457//    * To update capacity for a fleet's home Region, or if the fleet has no
11458//    remote locations, omit the Location parameter. The fleet must be in ACTIVE
11459//    status.
11460//
11461//    * To update capacity for a fleet's remote location, include the Location
11462//    parameter set to the location to be updated. The location must be in ACTIVE
11463//    status.
11464//
11465// If successful, capacity settings are updated immediately. In response a change
11466// in desired capacity, GameLift initiates steps to start new instances or terminate
11467// existing instances in the requested fleet location. This continues until
11468// the location's active instance count matches the new desired instance count.
11469// You can track a fleet's current capacity by calling DescribeFleetCapacity
11470// or DescribeFleetLocationCapacity. If the requested desired instance count
11471// is higher than the instance type's limit, the LimitExceeded exception occurs.
11472//
11473// Learn more
11474//
11475// Scaling fleet capacity (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-manage-capacity.html)
11476//
11477// Related actions
11478//
11479// CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
11480// | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
11481// | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
11482// task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
11483//
11484// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11485// with awserr.Error's Code and Message methods to get detailed information about
11486// the error.
11487//
11488// See the AWS API reference guide for Amazon GameLift's
11489// API operation UpdateFleetCapacity for usage and error information.
11490//
11491// Returned Error Types:
11492//   * NotFoundException
11493//   A service resource associated with the request could not be found. Clients
11494//   should not retry such requests.
11495//
11496//   * ConflictException
11497//   The requested operation would cause a conflict with the current state of
11498//   a service resource associated with the request. Resolve the conflict before
11499//   retrying this request.
11500//
11501//   * LimitExceededException
11502//   The requested operation would cause the resource to exceed the allowed service
11503//   limit. Resolve the issue before retrying.
11504//
11505//   * InvalidFleetStatusException
11506//   The requested operation would cause a conflict with the current state of
11507//   a resource associated with the request and/or the fleet. Resolve the conflict
11508//   before retrying.
11509//
11510//   * InternalServiceException
11511//   The service encountered an unrecoverable internal failure while processing
11512//   the request. Clients can retry such requests immediately or after a waiting
11513//   period.
11514//
11515//   * InvalidRequestException
11516//   One or more parameter values in the request are invalid. Correct the invalid
11517//   parameter values before retrying.
11518//
11519//   * UnauthorizedException
11520//   The client failed authentication. Clients should not retry such requests.
11521//
11522//   * UnsupportedRegionException
11523//   The requested operation is not supported in the Region specified.
11524//
11525// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
11526func (c *GameLift) UpdateFleetCapacity(input *UpdateFleetCapacityInput) (*UpdateFleetCapacityOutput, error) {
11527	req, out := c.UpdateFleetCapacityRequest(input)
11528	return out, req.Send()
11529}
11530
11531// UpdateFleetCapacityWithContext is the same as UpdateFleetCapacity with the addition of
11532// the ability to pass a context and additional request options.
11533//
11534// See UpdateFleetCapacity for details on how to use this API operation.
11535//
11536// The context must be non-nil and will be used for request cancellation. If
11537// the context is nil a panic will occur. In the future the SDK may create
11538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11539// for more information on using Contexts.
11540func (c *GameLift) UpdateFleetCapacityWithContext(ctx aws.Context, input *UpdateFleetCapacityInput, opts ...request.Option) (*UpdateFleetCapacityOutput, error) {
11541	req, out := c.UpdateFleetCapacityRequest(input)
11542	req.SetContext(ctx)
11543	req.ApplyOptions(opts...)
11544	return out, req.Send()
11545}
11546
11547const opUpdateFleetPortSettings = "UpdateFleetPortSettings"
11548
11549// UpdateFleetPortSettingsRequest generates a "aws/request.Request" representing the
11550// client's request for the UpdateFleetPortSettings operation. The "output" return
11551// value will be populated with the request's response once the request completes
11552// successfully.
11553//
11554// Use "Send" method on the returned Request to send the API call to the service.
11555// the "output" return value is not valid until after Send returns without error.
11556//
11557// See UpdateFleetPortSettings for more information on using the UpdateFleetPortSettings
11558// API call, and error handling.
11559//
11560// This method is useful when you want to inject custom logic or configuration
11561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11562//
11563//
11564//    // Example sending a request using the UpdateFleetPortSettingsRequest method.
11565//    req, resp := client.UpdateFleetPortSettingsRequest(params)
11566//
11567//    err := req.Send()
11568//    if err == nil { // resp is now filled
11569//        fmt.Println(resp)
11570//    }
11571//
11572// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
11573func (c *GameLift) UpdateFleetPortSettingsRequest(input *UpdateFleetPortSettingsInput) (req *request.Request, output *UpdateFleetPortSettingsOutput) {
11574	op := &request.Operation{
11575		Name:       opUpdateFleetPortSettings,
11576		HTTPMethod: "POST",
11577		HTTPPath:   "/",
11578	}
11579
11580	if input == nil {
11581		input = &UpdateFleetPortSettingsInput{}
11582	}
11583
11584	output = &UpdateFleetPortSettingsOutput{}
11585	req = c.newRequest(op, input, output)
11586	return
11587}
11588
11589// UpdateFleetPortSettings API operation for Amazon GameLift.
11590//
11591// Updates permissions that allow inbound traffic to connect to game sessions
11592// that are being hosted on instances in the fleet.
11593//
11594// To update settings, specify the fleet ID to be updated and specify the changes
11595// to be made. List the permissions you want to add in InboundPermissionAuthorizations,
11596// and permissions you want to remove in InboundPermissionRevocations. Permissions
11597// to be removed must match existing fleet permissions.
11598//
11599// If successful, the fleet ID for the updated fleet is returned. For fleets
11600// with remote locations, port setting updates can take time to propagate across
11601// all locations. You can check the status of updates in each location by calling
11602// DescribeFleetPortSettings with a location name.
11603//
11604// Learn more
11605//
11606// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
11607//
11608// Related actions
11609//
11610// CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
11611// | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
11612// | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
11613// task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
11614//
11615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11616// with awserr.Error's Code and Message methods to get detailed information about
11617// the error.
11618//
11619// See the AWS API reference guide for Amazon GameLift's
11620// API operation UpdateFleetPortSettings for usage and error information.
11621//
11622// Returned Error Types:
11623//   * NotFoundException
11624//   A service resource associated with the request could not be found. Clients
11625//   should not retry such requests.
11626//
11627//   * ConflictException
11628//   The requested operation would cause a conflict with the current state of
11629//   a service resource associated with the request. Resolve the conflict before
11630//   retrying this request.
11631//
11632//   * InvalidFleetStatusException
11633//   The requested operation would cause a conflict with the current state of
11634//   a resource associated with the request and/or the fleet. Resolve the conflict
11635//   before retrying.
11636//
11637//   * LimitExceededException
11638//   The requested operation would cause the resource to exceed the allowed service
11639//   limit. Resolve the issue before retrying.
11640//
11641//   * InternalServiceException
11642//   The service encountered an unrecoverable internal failure while processing
11643//   the request. Clients can retry such requests immediately or after a waiting
11644//   period.
11645//
11646//   * InvalidRequestException
11647//   One or more parameter values in the request are invalid. Correct the invalid
11648//   parameter values before retrying.
11649//
11650//   * UnauthorizedException
11651//   The client failed authentication. Clients should not retry such requests.
11652//
11653// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
11654func (c *GameLift) UpdateFleetPortSettings(input *UpdateFleetPortSettingsInput) (*UpdateFleetPortSettingsOutput, error) {
11655	req, out := c.UpdateFleetPortSettingsRequest(input)
11656	return out, req.Send()
11657}
11658
11659// UpdateFleetPortSettingsWithContext is the same as UpdateFleetPortSettings with the addition of
11660// the ability to pass a context and additional request options.
11661//
11662// See UpdateFleetPortSettings for details on how to use this API operation.
11663//
11664// The context must be non-nil and will be used for request cancellation. If
11665// the context is nil a panic will occur. In the future the SDK may create
11666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11667// for more information on using Contexts.
11668func (c *GameLift) UpdateFleetPortSettingsWithContext(ctx aws.Context, input *UpdateFleetPortSettingsInput, opts ...request.Option) (*UpdateFleetPortSettingsOutput, error) {
11669	req, out := c.UpdateFleetPortSettingsRequest(input)
11670	req.SetContext(ctx)
11671	req.ApplyOptions(opts...)
11672	return out, req.Send()
11673}
11674
11675const opUpdateGameServer = "UpdateGameServer"
11676
11677// UpdateGameServerRequest generates a "aws/request.Request" representing the
11678// client's request for the UpdateGameServer operation. The "output" return
11679// value will be populated with the request's response once the request completes
11680// successfully.
11681//
11682// Use "Send" method on the returned Request to send the API call to the service.
11683// the "output" return value is not valid until after Send returns without error.
11684//
11685// See UpdateGameServer for more information on using the UpdateGameServer
11686// API call, and error handling.
11687//
11688// This method is useful when you want to inject custom logic or configuration
11689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11690//
11691//
11692//    // Example sending a request using the UpdateGameServerRequest method.
11693//    req, resp := client.UpdateGameServerRequest(params)
11694//
11695//    err := req.Send()
11696//    if err == nil { // resp is now filled
11697//        fmt.Println(resp)
11698//    }
11699//
11700// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServer
11701func (c *GameLift) UpdateGameServerRequest(input *UpdateGameServerInput) (req *request.Request, output *UpdateGameServerOutput) {
11702	op := &request.Operation{
11703		Name:       opUpdateGameServer,
11704		HTTPMethod: "POST",
11705		HTTPPath:   "/",
11706	}
11707
11708	if input == nil {
11709		input = &UpdateGameServerInput{}
11710	}
11711
11712	output = &UpdateGameServerOutput{}
11713	req = c.newRequest(op, input, output)
11714	return
11715}
11716
11717// UpdateGameServer API operation for Amazon GameLift.
11718//
11719// This operation is used with the GameLift FleetIQ solution and game server
11720// groups.
11721//
11722// Updates information about a registered game server to help GameLift FleetIQ
11723// to track game server availability. This operation is called by a game server
11724// process that is running on an instance in a game server group.
11725//
11726// Use this operation to update the following types of game server information.
11727// You can make all three types of updates in the same request:
11728//
11729//    * To update the game server's utilization status, identify the game server
11730//    and game server group and specify the current utilization status. Use
11731//    this status to identify when game servers are currently hosting games
11732//    and when they are available to be claimed.
11733//
11734//    * To report health status, identify the game server and game server group
11735//    and set health check to HEALTHY. If a game server does not report health
11736//    status for a certain length of time, the game server is no longer considered
11737//    healthy. As a result, it will be eventually deregistered from the game
11738//    server group to avoid affecting utilization metrics. The best practice
11739//    is to report health every 60 seconds.
11740//
11741//    * To change game server metadata, provide updated game server data.
11742//
11743// Once a game server is successfully updated, the relevant statuses and timestamps
11744// are updated.
11745//
11746// Learn more
11747//
11748// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
11749//
11750// Related actions
11751//
11752// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
11753// | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
11754//
11755// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11756// with awserr.Error's Code and Message methods to get detailed information about
11757// the error.
11758//
11759// See the AWS API reference guide for Amazon GameLift's
11760// API operation UpdateGameServer for usage and error information.
11761//
11762// Returned Error Types:
11763//   * InvalidRequestException
11764//   One or more parameter values in the request are invalid. Correct the invalid
11765//   parameter values before retrying.
11766//
11767//   * NotFoundException
11768//   A service resource associated with the request could not be found. Clients
11769//   should not retry such requests.
11770//
11771//   * UnauthorizedException
11772//   The client failed authentication. Clients should not retry such requests.
11773//
11774//   * InternalServiceException
11775//   The service encountered an unrecoverable internal failure while processing
11776//   the request. Clients can retry such requests immediately or after a waiting
11777//   period.
11778//
11779// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServer
11780func (c *GameLift) UpdateGameServer(input *UpdateGameServerInput) (*UpdateGameServerOutput, error) {
11781	req, out := c.UpdateGameServerRequest(input)
11782	return out, req.Send()
11783}
11784
11785// UpdateGameServerWithContext is the same as UpdateGameServer with the addition of
11786// the ability to pass a context and additional request options.
11787//
11788// See UpdateGameServer for details on how to use this API operation.
11789//
11790// The context must be non-nil and will be used for request cancellation. If
11791// the context is nil a panic will occur. In the future the SDK may create
11792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11793// for more information on using Contexts.
11794func (c *GameLift) UpdateGameServerWithContext(ctx aws.Context, input *UpdateGameServerInput, opts ...request.Option) (*UpdateGameServerOutput, error) {
11795	req, out := c.UpdateGameServerRequest(input)
11796	req.SetContext(ctx)
11797	req.ApplyOptions(opts...)
11798	return out, req.Send()
11799}
11800
11801const opUpdateGameServerGroup = "UpdateGameServerGroup"
11802
11803// UpdateGameServerGroupRequest generates a "aws/request.Request" representing the
11804// client's request for the UpdateGameServerGroup operation. The "output" return
11805// value will be populated with the request's response once the request completes
11806// successfully.
11807//
11808// Use "Send" method on the returned Request to send the API call to the service.
11809// the "output" return value is not valid until after Send returns without error.
11810//
11811// See UpdateGameServerGroup for more information on using the UpdateGameServerGroup
11812// API call, and error handling.
11813//
11814// This method is useful when you want to inject custom logic or configuration
11815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11816//
11817//
11818//    // Example sending a request using the UpdateGameServerGroupRequest method.
11819//    req, resp := client.UpdateGameServerGroupRequest(params)
11820//
11821//    err := req.Send()
11822//    if err == nil { // resp is now filled
11823//        fmt.Println(resp)
11824//    }
11825//
11826// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerGroup
11827func (c *GameLift) UpdateGameServerGroupRequest(input *UpdateGameServerGroupInput) (req *request.Request, output *UpdateGameServerGroupOutput) {
11828	op := &request.Operation{
11829		Name:       opUpdateGameServerGroup,
11830		HTTPMethod: "POST",
11831		HTTPPath:   "/",
11832	}
11833
11834	if input == nil {
11835		input = &UpdateGameServerGroupInput{}
11836	}
11837
11838	output = &UpdateGameServerGroupOutput{}
11839	req = c.newRequest(op, input, output)
11840	return
11841}
11842
11843// UpdateGameServerGroup API operation for Amazon GameLift.
11844//
11845// This operation is used with the GameLift FleetIQ solution and game server
11846// groups.
11847//
11848// Updates GameLift FleetIQ-specific properties for a game server group. Many
11849// Auto Scaling group properties are updated on the Auto Scaling group directly,
11850// including the launch template, Auto Scaling policies, and maximum/minimum/desired
11851// instance counts.
11852//
11853// To update the game server group, specify the game server group ID and provide
11854// the updated values. Before applying the updates, the new values are validated
11855// to ensure that GameLift FleetIQ can continue to perform instance balancing
11856// activity. If successful, a GameServerGroup object is returned.
11857//
11858// Learn more
11859//
11860// GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
11861//
11862// Related actions
11863//
11864// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
11865// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
11866// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
11867//
11868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11869// with awserr.Error's Code and Message methods to get detailed information about
11870// the error.
11871//
11872// See the AWS API reference guide for Amazon GameLift's
11873// API operation UpdateGameServerGroup for usage and error information.
11874//
11875// Returned Error Types:
11876//   * InvalidRequestException
11877//   One or more parameter values in the request are invalid. Correct the invalid
11878//   parameter values before retrying.
11879//
11880//   * NotFoundException
11881//   A service resource associated with the request could not be found. Clients
11882//   should not retry such requests.
11883//
11884//   * UnauthorizedException
11885//   The client failed authentication. Clients should not retry such requests.
11886//
11887//   * InternalServiceException
11888//   The service encountered an unrecoverable internal failure while processing
11889//   the request. Clients can retry such requests immediately or after a waiting
11890//   period.
11891//
11892// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerGroup
11893func (c *GameLift) UpdateGameServerGroup(input *UpdateGameServerGroupInput) (*UpdateGameServerGroupOutput, error) {
11894	req, out := c.UpdateGameServerGroupRequest(input)
11895	return out, req.Send()
11896}
11897
11898// UpdateGameServerGroupWithContext is the same as UpdateGameServerGroup with the addition of
11899// the ability to pass a context and additional request options.
11900//
11901// See UpdateGameServerGroup for details on how to use this API operation.
11902//
11903// The context must be non-nil and will be used for request cancellation. If
11904// the context is nil a panic will occur. In the future the SDK may create
11905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11906// for more information on using Contexts.
11907func (c *GameLift) UpdateGameServerGroupWithContext(ctx aws.Context, input *UpdateGameServerGroupInput, opts ...request.Option) (*UpdateGameServerGroupOutput, error) {
11908	req, out := c.UpdateGameServerGroupRequest(input)
11909	req.SetContext(ctx)
11910	req.ApplyOptions(opts...)
11911	return out, req.Send()
11912}
11913
11914const opUpdateGameSession = "UpdateGameSession"
11915
11916// UpdateGameSessionRequest generates a "aws/request.Request" representing the
11917// client's request for the UpdateGameSession operation. The "output" return
11918// value will be populated with the request's response once the request completes
11919// successfully.
11920//
11921// Use "Send" method on the returned Request to send the API call to the service.
11922// the "output" return value is not valid until after Send returns without error.
11923//
11924// See UpdateGameSession for more information on using the UpdateGameSession
11925// API call, and error handling.
11926//
11927// This method is useful when you want to inject custom logic or configuration
11928// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11929//
11930//
11931//    // Example sending a request using the UpdateGameSessionRequest method.
11932//    req, resp := client.UpdateGameSessionRequest(params)
11933//
11934//    err := req.Send()
11935//    if err == nil { // resp is now filled
11936//        fmt.Println(resp)
11937//    }
11938//
11939// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
11940func (c *GameLift) UpdateGameSessionRequest(input *UpdateGameSessionInput) (req *request.Request, output *UpdateGameSessionOutput) {
11941	op := &request.Operation{
11942		Name:       opUpdateGameSession,
11943		HTTPMethod: "POST",
11944		HTTPPath:   "/",
11945	}
11946
11947	if input == nil {
11948		input = &UpdateGameSessionInput{}
11949	}
11950
11951	output = &UpdateGameSessionOutput{}
11952	req = c.newRequest(op, input, output)
11953	return
11954}
11955
11956// UpdateGameSession API operation for Amazon GameLift.
11957//
11958// Updates the mutable properties of a game session.
11959//
11960// To update a game session, specify the game session ID and the values you
11961// want to change.
11962//
11963// If successful, the updated GameSession object is returned.
11964//
11965// Related actions
11966//
11967// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
11968// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
11969// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
11970// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
11971//
11972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11973// with awserr.Error's Code and Message methods to get detailed information about
11974// the error.
11975//
11976// See the AWS API reference guide for Amazon GameLift's
11977// API operation UpdateGameSession for usage and error information.
11978//
11979// Returned Error Types:
11980//   * NotFoundException
11981//   A service resource associated with the request could not be found. Clients
11982//   should not retry such requests.
11983//
11984//   * ConflictException
11985//   The requested operation would cause a conflict with the current state of
11986//   a service resource associated with the request. Resolve the conflict before
11987//   retrying this request.
11988//
11989//   * InternalServiceException
11990//   The service encountered an unrecoverable internal failure while processing
11991//   the request. Clients can retry such requests immediately or after a waiting
11992//   period.
11993//
11994//   * UnauthorizedException
11995//   The client failed authentication. Clients should not retry such requests.
11996//
11997//   * InvalidGameSessionStatusException
11998//   The requested operation would cause a conflict with the current state of
11999//   a resource associated with the request and/or the game instance. Resolve
12000//   the conflict before retrying.
12001//
12002//   * InvalidRequestException
12003//   One or more parameter values in the request are invalid. Correct the invalid
12004//   parameter values before retrying.
12005//
12006// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
12007func (c *GameLift) UpdateGameSession(input *UpdateGameSessionInput) (*UpdateGameSessionOutput, error) {
12008	req, out := c.UpdateGameSessionRequest(input)
12009	return out, req.Send()
12010}
12011
12012// UpdateGameSessionWithContext is the same as UpdateGameSession with the addition of
12013// the ability to pass a context and additional request options.
12014//
12015// See UpdateGameSession for details on how to use this API operation.
12016//
12017// The context must be non-nil and will be used for request cancellation. If
12018// the context is nil a panic will occur. In the future the SDK may create
12019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12020// for more information on using Contexts.
12021func (c *GameLift) UpdateGameSessionWithContext(ctx aws.Context, input *UpdateGameSessionInput, opts ...request.Option) (*UpdateGameSessionOutput, error) {
12022	req, out := c.UpdateGameSessionRequest(input)
12023	req.SetContext(ctx)
12024	req.ApplyOptions(opts...)
12025	return out, req.Send()
12026}
12027
12028const opUpdateGameSessionQueue = "UpdateGameSessionQueue"
12029
12030// UpdateGameSessionQueueRequest generates a "aws/request.Request" representing the
12031// client's request for the UpdateGameSessionQueue operation. The "output" return
12032// value will be populated with the request's response once the request completes
12033// successfully.
12034//
12035// Use "Send" method on the returned Request to send the API call to the service.
12036// the "output" return value is not valid until after Send returns without error.
12037//
12038// See UpdateGameSessionQueue for more information on using the UpdateGameSessionQueue
12039// API call, and error handling.
12040//
12041// This method is useful when you want to inject custom logic or configuration
12042// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12043//
12044//
12045//    // Example sending a request using the UpdateGameSessionQueueRequest method.
12046//    req, resp := client.UpdateGameSessionQueueRequest(params)
12047//
12048//    err := req.Send()
12049//    if err == nil { // resp is now filled
12050//        fmt.Println(resp)
12051//    }
12052//
12053// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
12054func (c *GameLift) UpdateGameSessionQueueRequest(input *UpdateGameSessionQueueInput) (req *request.Request, output *UpdateGameSessionQueueOutput) {
12055	op := &request.Operation{
12056		Name:       opUpdateGameSessionQueue,
12057		HTTPMethod: "POST",
12058		HTTPPath:   "/",
12059	}
12060
12061	if input == nil {
12062		input = &UpdateGameSessionQueueInput{}
12063	}
12064
12065	output = &UpdateGameSessionQueueOutput{}
12066	req = c.newRequest(op, input, output)
12067	return
12068}
12069
12070// UpdateGameSessionQueue API operation for Amazon GameLift.
12071//
12072// Updates the configuration of a game session queue, which determines how the
12073// queue processes new game session requests. To update settings, specify the
12074// queue name to be updated and provide the new settings. When updating destinations,
12075// provide a complete list of destinations.
12076//
12077// Learn more
12078//
12079//  Using Multi-Region Queues (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html)
12080//
12081// Related actions
12082//
12083// CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
12084// | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
12085//
12086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12087// with awserr.Error's Code and Message methods to get detailed information about
12088// the error.
12089//
12090// See the AWS API reference guide for Amazon GameLift's
12091// API operation UpdateGameSessionQueue for usage and error information.
12092//
12093// Returned Error Types:
12094//   * InternalServiceException
12095//   The service encountered an unrecoverable internal failure while processing
12096//   the request. Clients can retry such requests immediately or after a waiting
12097//   period.
12098//
12099//   * InvalidRequestException
12100//   One or more parameter values in the request are invalid. Correct the invalid
12101//   parameter values before retrying.
12102//
12103//   * NotFoundException
12104//   A service resource associated with the request could not be found. Clients
12105//   should not retry such requests.
12106//
12107//   * UnauthorizedException
12108//   The client failed authentication. Clients should not retry such requests.
12109//
12110// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
12111func (c *GameLift) UpdateGameSessionQueue(input *UpdateGameSessionQueueInput) (*UpdateGameSessionQueueOutput, error) {
12112	req, out := c.UpdateGameSessionQueueRequest(input)
12113	return out, req.Send()
12114}
12115
12116// UpdateGameSessionQueueWithContext is the same as UpdateGameSessionQueue with the addition of
12117// the ability to pass a context and additional request options.
12118//
12119// See UpdateGameSessionQueue for details on how to use this API operation.
12120//
12121// The context must be non-nil and will be used for request cancellation. If
12122// the context is nil a panic will occur. In the future the SDK may create
12123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12124// for more information on using Contexts.
12125func (c *GameLift) UpdateGameSessionQueueWithContext(ctx aws.Context, input *UpdateGameSessionQueueInput, opts ...request.Option) (*UpdateGameSessionQueueOutput, error) {
12126	req, out := c.UpdateGameSessionQueueRequest(input)
12127	req.SetContext(ctx)
12128	req.ApplyOptions(opts...)
12129	return out, req.Send()
12130}
12131
12132const opUpdateMatchmakingConfiguration = "UpdateMatchmakingConfiguration"
12133
12134// UpdateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
12135// client's request for the UpdateMatchmakingConfiguration operation. The "output" return
12136// value will be populated with the request's response once the request completes
12137// successfully.
12138//
12139// Use "Send" method on the returned Request to send the API call to the service.
12140// the "output" return value is not valid until after Send returns without error.
12141//
12142// See UpdateMatchmakingConfiguration for more information on using the UpdateMatchmakingConfiguration
12143// API call, and error handling.
12144//
12145// This method is useful when you want to inject custom logic or configuration
12146// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12147//
12148//
12149//    // Example sending a request using the UpdateMatchmakingConfigurationRequest method.
12150//    req, resp := client.UpdateMatchmakingConfigurationRequest(params)
12151//
12152//    err := req.Send()
12153//    if err == nil { // resp is now filled
12154//        fmt.Println(resp)
12155//    }
12156//
12157// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
12158func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakingConfigurationInput) (req *request.Request, output *UpdateMatchmakingConfigurationOutput) {
12159	op := &request.Operation{
12160		Name:       opUpdateMatchmakingConfiguration,
12161		HTTPMethod: "POST",
12162		HTTPPath:   "/",
12163	}
12164
12165	if input == nil {
12166		input = &UpdateMatchmakingConfigurationInput{}
12167	}
12168
12169	output = &UpdateMatchmakingConfigurationOutput{}
12170	req = c.newRequest(op, input, output)
12171	return
12172}
12173
12174// UpdateMatchmakingConfiguration API operation for Amazon GameLift.
12175//
12176// Updates settings for a FlexMatch matchmaking configuration. These changes
12177// affect all matches and game sessions that are created after the update. To
12178// update settings, specify the configuration name to be updated and provide
12179// the new settings.
12180//
12181// Learn more
12182//
12183//  Design a FlexMatch matchmaker (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html)
12184//
12185// Related actions
12186//
12187// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
12188// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
12189// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
12190// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
12191//
12192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12193// with awserr.Error's Code and Message methods to get detailed information about
12194// the error.
12195//
12196// See the AWS API reference guide for Amazon GameLift's
12197// API operation UpdateMatchmakingConfiguration for usage and error information.
12198//
12199// Returned Error Types:
12200//   * InvalidRequestException
12201//   One or more parameter values in the request are invalid. Correct the invalid
12202//   parameter values before retrying.
12203//
12204//   * NotFoundException
12205//   A service resource associated with the request could not be found. Clients
12206//   should not retry such requests.
12207//
12208//   * InternalServiceException
12209//   The service encountered an unrecoverable internal failure while processing
12210//   the request. Clients can retry such requests immediately or after a waiting
12211//   period.
12212//
12213//   * UnsupportedRegionException
12214//   The requested operation is not supported in the Region specified.
12215//
12216// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
12217func (c *GameLift) UpdateMatchmakingConfiguration(input *UpdateMatchmakingConfigurationInput) (*UpdateMatchmakingConfigurationOutput, error) {
12218	req, out := c.UpdateMatchmakingConfigurationRequest(input)
12219	return out, req.Send()
12220}
12221
12222// UpdateMatchmakingConfigurationWithContext is the same as UpdateMatchmakingConfiguration with the addition of
12223// the ability to pass a context and additional request options.
12224//
12225// See UpdateMatchmakingConfiguration for details on how to use this API operation.
12226//
12227// The context must be non-nil and will be used for request cancellation. If
12228// the context is nil a panic will occur. In the future the SDK may create
12229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12230// for more information on using Contexts.
12231func (c *GameLift) UpdateMatchmakingConfigurationWithContext(ctx aws.Context, input *UpdateMatchmakingConfigurationInput, opts ...request.Option) (*UpdateMatchmakingConfigurationOutput, error) {
12232	req, out := c.UpdateMatchmakingConfigurationRequest(input)
12233	req.SetContext(ctx)
12234	req.ApplyOptions(opts...)
12235	return out, req.Send()
12236}
12237
12238const opUpdateRuntimeConfiguration = "UpdateRuntimeConfiguration"
12239
12240// UpdateRuntimeConfigurationRequest generates a "aws/request.Request" representing the
12241// client's request for the UpdateRuntimeConfiguration operation. The "output" return
12242// value will be populated with the request's response once the request completes
12243// successfully.
12244//
12245// Use "Send" method on the returned Request to send the API call to the service.
12246// the "output" return value is not valid until after Send returns without error.
12247//
12248// See UpdateRuntimeConfiguration for more information on using the UpdateRuntimeConfiguration
12249// API call, and error handling.
12250//
12251// This method is useful when you want to inject custom logic or configuration
12252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12253//
12254//
12255//    // Example sending a request using the UpdateRuntimeConfigurationRequest method.
12256//    req, resp := client.UpdateRuntimeConfigurationRequest(params)
12257//
12258//    err := req.Send()
12259//    if err == nil { // resp is now filled
12260//        fmt.Println(resp)
12261//    }
12262//
12263// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
12264func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigurationInput) (req *request.Request, output *UpdateRuntimeConfigurationOutput) {
12265	op := &request.Operation{
12266		Name:       opUpdateRuntimeConfiguration,
12267		HTTPMethod: "POST",
12268		HTTPPath:   "/",
12269	}
12270
12271	if input == nil {
12272		input = &UpdateRuntimeConfigurationInput{}
12273	}
12274
12275	output = &UpdateRuntimeConfigurationOutput{}
12276	req = c.newRequest(op, input, output)
12277	return
12278}
12279
12280// UpdateRuntimeConfiguration API operation for Amazon GameLift.
12281//
12282// Updates the current runtime configuration for the specified fleet, which
12283// tells GameLift how to launch server processes on all instances in the fleet.
12284// You can update a fleet's runtime configuration at any time after the fleet
12285// is created; it does not need to be in ACTIVE status.
12286//
12287// To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration
12288// with an updated set of server process configurations.
12289//
12290// If successful, the fleet's runtime configuration settings are updated. Each
12291// instance in the fleet regularly checks for and retrieves updated runtime
12292// configurations. Instances immediately begin complying with the new configuration
12293// by launching new server processes or not replacing existing processes when
12294// they shut down. Updating a fleet's runtime configuration never affects existing
12295// server processes.
12296//
12297// Learn more
12298//
12299// Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
12300//
12301// Related actions
12302//
12303// CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
12304// | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
12305// | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
12306// task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
12307//
12308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12309// with awserr.Error's Code and Message methods to get detailed information about
12310// the error.
12311//
12312// See the AWS API reference guide for Amazon GameLift's
12313// API operation UpdateRuntimeConfiguration for usage and error information.
12314//
12315// Returned Error Types:
12316//   * UnauthorizedException
12317//   The client failed authentication. Clients should not retry such requests.
12318//
12319//   * NotFoundException
12320//   A service resource associated with the request could not be found. Clients
12321//   should not retry such requests.
12322//
12323//   * InternalServiceException
12324//   The service encountered an unrecoverable internal failure while processing
12325//   the request. Clients can retry such requests immediately or after a waiting
12326//   period.
12327//
12328//   * InvalidRequestException
12329//   One or more parameter values in the request are invalid. Correct the invalid
12330//   parameter values before retrying.
12331//
12332//   * InvalidFleetStatusException
12333//   The requested operation would cause a conflict with the current state of
12334//   a resource associated with the request and/or the fleet. Resolve the conflict
12335//   before retrying.
12336//
12337// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
12338func (c *GameLift) UpdateRuntimeConfiguration(input *UpdateRuntimeConfigurationInput) (*UpdateRuntimeConfigurationOutput, error) {
12339	req, out := c.UpdateRuntimeConfigurationRequest(input)
12340	return out, req.Send()
12341}
12342
12343// UpdateRuntimeConfigurationWithContext is the same as UpdateRuntimeConfiguration with the addition of
12344// the ability to pass a context and additional request options.
12345//
12346// See UpdateRuntimeConfiguration for details on how to use this API operation.
12347//
12348// The context must be non-nil and will be used for request cancellation. If
12349// the context is nil a panic will occur. In the future the SDK may create
12350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12351// for more information on using Contexts.
12352func (c *GameLift) UpdateRuntimeConfigurationWithContext(ctx aws.Context, input *UpdateRuntimeConfigurationInput, opts ...request.Option) (*UpdateRuntimeConfigurationOutput, error) {
12353	req, out := c.UpdateRuntimeConfigurationRequest(input)
12354	req.SetContext(ctx)
12355	req.ApplyOptions(opts...)
12356	return out, req.Send()
12357}
12358
12359const opUpdateScript = "UpdateScript"
12360
12361// UpdateScriptRequest generates a "aws/request.Request" representing the
12362// client's request for the UpdateScript operation. The "output" return
12363// value will be populated with the request's response once the request completes
12364// successfully.
12365//
12366// Use "Send" method on the returned Request to send the API call to the service.
12367// the "output" return value is not valid until after Send returns without error.
12368//
12369// See UpdateScript for more information on using the UpdateScript
12370// API call, and error handling.
12371//
12372// This method is useful when you want to inject custom logic or configuration
12373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12374//
12375//
12376//    // Example sending a request using the UpdateScriptRequest method.
12377//    req, resp := client.UpdateScriptRequest(params)
12378//
12379//    err := req.Send()
12380//    if err == nil { // resp is now filled
12381//        fmt.Println(resp)
12382//    }
12383//
12384// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateScript
12385func (c *GameLift) UpdateScriptRequest(input *UpdateScriptInput) (req *request.Request, output *UpdateScriptOutput) {
12386	op := &request.Operation{
12387		Name:       opUpdateScript,
12388		HTTPMethod: "POST",
12389		HTTPPath:   "/",
12390	}
12391
12392	if input == nil {
12393		input = &UpdateScriptInput{}
12394	}
12395
12396	output = &UpdateScriptOutput{}
12397	req = c.newRequest(op, input, output)
12398	return
12399}
12400
12401// UpdateScript API operation for Amazon GameLift.
12402//
12403// Updates Realtime script metadata and content.
12404//
12405// To update script metadata, specify the script ID and provide updated name
12406// and/or version values.
12407//
12408// To update script content, provide an updated zip file by pointing to either
12409// a local file or an Amazon S3 bucket location. You can use either method regardless
12410// of how the original script was uploaded. Use the Version parameter to track
12411// updates to the script.
12412//
12413// If the call is successful, the updated metadata is stored in the script record
12414// and a revised script is uploaded to the Amazon GameLift service. Once the
12415// script is updated and acquired by a fleet instance, the new version is used
12416// for all new game sessions.
12417//
12418// Learn more
12419//
12420// Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
12421//
12422// Related actions
12423//
12424// CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
12425// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
12426//
12427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12428// with awserr.Error's Code and Message methods to get detailed information about
12429// the error.
12430//
12431// See the AWS API reference guide for Amazon GameLift's
12432// API operation UpdateScript for usage and error information.
12433//
12434// Returned Error Types:
12435//   * UnauthorizedException
12436//   The client failed authentication. Clients should not retry such requests.
12437//
12438//   * InvalidRequestException
12439//   One or more parameter values in the request are invalid. Correct the invalid
12440//   parameter values before retrying.
12441//
12442//   * NotFoundException
12443//   A service resource associated with the request could not be found. Clients
12444//   should not retry such requests.
12445//
12446//   * InternalServiceException
12447//   The service encountered an unrecoverable internal failure while processing
12448//   the request. Clients can retry such requests immediately or after a waiting
12449//   period.
12450//
12451// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateScript
12452func (c *GameLift) UpdateScript(input *UpdateScriptInput) (*UpdateScriptOutput, error) {
12453	req, out := c.UpdateScriptRequest(input)
12454	return out, req.Send()
12455}
12456
12457// UpdateScriptWithContext is the same as UpdateScript with the addition of
12458// the ability to pass a context and additional request options.
12459//
12460// See UpdateScript for details on how to use this API operation.
12461//
12462// The context must be non-nil and will be used for request cancellation. If
12463// the context is nil a panic will occur. In the future the SDK may create
12464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12465// for more information on using Contexts.
12466func (c *GameLift) UpdateScriptWithContext(ctx aws.Context, input *UpdateScriptInput, opts ...request.Option) (*UpdateScriptOutput, error) {
12467	req, out := c.UpdateScriptRequest(input)
12468	req.SetContext(ctx)
12469	req.ApplyOptions(opts...)
12470	return out, req.Send()
12471}
12472
12473const opValidateMatchmakingRuleSet = "ValidateMatchmakingRuleSet"
12474
12475// ValidateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
12476// client's request for the ValidateMatchmakingRuleSet operation. The "output" return
12477// value will be populated with the request's response once the request completes
12478// successfully.
12479//
12480// Use "Send" method on the returned Request to send the API call to the service.
12481// the "output" return value is not valid until after Send returns without error.
12482//
12483// See ValidateMatchmakingRuleSet for more information on using the ValidateMatchmakingRuleSet
12484// API call, and error handling.
12485//
12486// This method is useful when you want to inject custom logic or configuration
12487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12488//
12489//
12490//    // Example sending a request using the ValidateMatchmakingRuleSetRequest method.
12491//    req, resp := client.ValidateMatchmakingRuleSetRequest(params)
12492//
12493//    err := req.Send()
12494//    if err == nil { // resp is now filled
12495//        fmt.Println(resp)
12496//    }
12497//
12498// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
12499func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingRuleSetInput) (req *request.Request, output *ValidateMatchmakingRuleSetOutput) {
12500	op := &request.Operation{
12501		Name:       opValidateMatchmakingRuleSet,
12502		HTTPMethod: "POST",
12503		HTTPPath:   "/",
12504	}
12505
12506	if input == nil {
12507		input = &ValidateMatchmakingRuleSetInput{}
12508	}
12509
12510	output = &ValidateMatchmakingRuleSetOutput{}
12511	req = c.newRequest(op, input, output)
12512	return
12513}
12514
12515// ValidateMatchmakingRuleSet API operation for Amazon GameLift.
12516//
12517// Validates the syntax of a matchmaking rule or rule set. This operation checks
12518// that the rule set is using syntactically correct JSON and that it conforms
12519// to allowed property expressions. To validate syntax, provide a rule set JSON
12520// string.
12521//
12522// Learn more
12523//
12524//    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
12525//
12526// Related actions
12527//
12528// CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
12529// | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
12530// | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
12531// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
12532//
12533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12534// with awserr.Error's Code and Message methods to get detailed information about
12535// the error.
12536//
12537// See the AWS API reference guide for Amazon GameLift's
12538// API operation ValidateMatchmakingRuleSet for usage and error information.
12539//
12540// Returned Error Types:
12541//   * InternalServiceException
12542//   The service encountered an unrecoverable internal failure while processing
12543//   the request. Clients can retry such requests immediately or after a waiting
12544//   period.
12545//
12546//   * UnsupportedRegionException
12547//   The requested operation is not supported in the Region specified.
12548//
12549//   * InvalidRequestException
12550//   One or more parameter values in the request are invalid. Correct the invalid
12551//   parameter values before retrying.
12552//
12553// See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
12554func (c *GameLift) ValidateMatchmakingRuleSet(input *ValidateMatchmakingRuleSetInput) (*ValidateMatchmakingRuleSetOutput, error) {
12555	req, out := c.ValidateMatchmakingRuleSetRequest(input)
12556	return out, req.Send()
12557}
12558
12559// ValidateMatchmakingRuleSetWithContext is the same as ValidateMatchmakingRuleSet with the addition of
12560// the ability to pass a context and additional request options.
12561//
12562// See ValidateMatchmakingRuleSet for details on how to use this API operation.
12563//
12564// The context must be non-nil and will be used for request cancellation. If
12565// the context is nil a panic will occur. In the future the SDK may create
12566// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12567// for more information on using Contexts.
12568func (c *GameLift) ValidateMatchmakingRuleSetWithContext(ctx aws.Context, input *ValidateMatchmakingRuleSetInput, opts ...request.Option) (*ValidateMatchmakingRuleSetOutput, error) {
12569	req, out := c.ValidateMatchmakingRuleSetRequest(input)
12570	req.SetContext(ctx)
12571	req.ApplyOptions(opts...)
12572	return out, req.Send()
12573}
12574
12575// Represents the input for a request operation.
12576type AcceptMatchInput struct {
12577	_ struct{} `type:"structure"`
12578
12579	// Player response to the proposed match.
12580	//
12581	// AcceptanceType is a required field
12582	AcceptanceType *string `type:"string" required:"true" enum:"AcceptanceType"`
12583
12584	// A unique identifier for a player delivering the response. This parameter
12585	// can include one or multiple player IDs.
12586	//
12587	// PlayerIds is a required field
12588	PlayerIds []*string `type:"list" required:"true"`
12589
12590	// A unique identifier for a matchmaking ticket. The ticket must be in status
12591	// REQUIRES_ACCEPTANCE; otherwise this request will fail.
12592	//
12593	// TicketId is a required field
12594	TicketId *string `type:"string" required:"true"`
12595}
12596
12597// String returns the string representation.
12598//
12599// API parameter values that are decorated as "sensitive" in the API will not
12600// be included in the string output. The member name will be present, but the
12601// value will be replaced with "sensitive".
12602func (s AcceptMatchInput) String() string {
12603	return awsutil.Prettify(s)
12604}
12605
12606// GoString returns the string representation.
12607//
12608// API parameter values that are decorated as "sensitive" in the API will not
12609// be included in the string output. The member name will be present, but the
12610// value will be replaced with "sensitive".
12611func (s AcceptMatchInput) GoString() string {
12612	return s.String()
12613}
12614
12615// Validate inspects the fields of the type to determine if they are valid.
12616func (s *AcceptMatchInput) Validate() error {
12617	invalidParams := request.ErrInvalidParams{Context: "AcceptMatchInput"}
12618	if s.AcceptanceType == nil {
12619		invalidParams.Add(request.NewErrParamRequired("AcceptanceType"))
12620	}
12621	if s.PlayerIds == nil {
12622		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
12623	}
12624	if s.TicketId == nil {
12625		invalidParams.Add(request.NewErrParamRequired("TicketId"))
12626	}
12627
12628	if invalidParams.Len() > 0 {
12629		return invalidParams
12630	}
12631	return nil
12632}
12633
12634// SetAcceptanceType sets the AcceptanceType field's value.
12635func (s *AcceptMatchInput) SetAcceptanceType(v string) *AcceptMatchInput {
12636	s.AcceptanceType = &v
12637	return s
12638}
12639
12640// SetPlayerIds sets the PlayerIds field's value.
12641func (s *AcceptMatchInput) SetPlayerIds(v []*string) *AcceptMatchInput {
12642	s.PlayerIds = v
12643	return s
12644}
12645
12646// SetTicketId sets the TicketId field's value.
12647func (s *AcceptMatchInput) SetTicketId(v string) *AcceptMatchInput {
12648	s.TicketId = &v
12649	return s
12650}
12651
12652type AcceptMatchOutput struct {
12653	_ struct{} `type:"structure"`
12654}
12655
12656// String returns the string representation.
12657//
12658// API parameter values that are decorated as "sensitive" in the API will not
12659// be included in the string output. The member name will be present, but the
12660// value will be replaced with "sensitive".
12661func (s AcceptMatchOutput) String() string {
12662	return awsutil.Prettify(s)
12663}
12664
12665// GoString returns the string representation.
12666//
12667// API parameter values that are decorated as "sensitive" in the API will not
12668// be included in the string output. The member name will be present, but the
12669// value will be replaced with "sensitive".
12670func (s AcceptMatchOutput) GoString() string {
12671	return s.String()
12672}
12673
12674// Properties that describe an alias resource.
12675//
12676// Related actions
12677//
12678// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
12679// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
12680type Alias struct {
12681	_ struct{} `type:"structure"`
12682
12683	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
12684	// that is assigned to a GameLift alias resource and uniquely identifies it.
12685	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::alias/alias-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
12686	// In a GameLift alias ARN, the resource ID matches the alias ID value.
12687	AliasArn *string `type:"string"`
12688
12689	// A unique identifier for the alias. Alias IDs are unique within a Region.
12690	AliasId *string `type:"string"`
12691
12692	// A time stamp indicating when this data object was created. Format is a number
12693	// expressed in Unix time as milliseconds (for example "1469498468.057").
12694	CreationTime *time.Time `type:"timestamp"`
12695
12696	// A human-readable description of an alias.
12697	Description *string `type:"string"`
12698
12699	// The time that this data object was last modified. Format is a number expressed
12700	// in Unix time as milliseconds (for example "1469498468.057").
12701	LastUpdatedTime *time.Time `type:"timestamp"`
12702
12703	// A descriptive label that is associated with an alias. Alias names do not
12704	// need to be unique.
12705	Name *string `min:"1" type:"string"`
12706
12707	// The routing configuration, including routing type and fleet target, for the
12708	// alias.
12709	RoutingStrategy *RoutingStrategy `type:"structure"`
12710}
12711
12712// String returns the string representation.
12713//
12714// API parameter values that are decorated as "sensitive" in the API will not
12715// be included in the string output. The member name will be present, but the
12716// value will be replaced with "sensitive".
12717func (s Alias) String() string {
12718	return awsutil.Prettify(s)
12719}
12720
12721// GoString returns the string representation.
12722//
12723// API parameter values that are decorated as "sensitive" in the API will not
12724// be included in the string output. The member name will be present, but the
12725// value will be replaced with "sensitive".
12726func (s Alias) GoString() string {
12727	return s.String()
12728}
12729
12730// SetAliasArn sets the AliasArn field's value.
12731func (s *Alias) SetAliasArn(v string) *Alias {
12732	s.AliasArn = &v
12733	return s
12734}
12735
12736// SetAliasId sets the AliasId field's value.
12737func (s *Alias) SetAliasId(v string) *Alias {
12738	s.AliasId = &v
12739	return s
12740}
12741
12742// SetCreationTime sets the CreationTime field's value.
12743func (s *Alias) SetCreationTime(v time.Time) *Alias {
12744	s.CreationTime = &v
12745	return s
12746}
12747
12748// SetDescription sets the Description field's value.
12749func (s *Alias) SetDescription(v string) *Alias {
12750	s.Description = &v
12751	return s
12752}
12753
12754// SetLastUpdatedTime sets the LastUpdatedTime field's value.
12755func (s *Alias) SetLastUpdatedTime(v time.Time) *Alias {
12756	s.LastUpdatedTime = &v
12757	return s
12758}
12759
12760// SetName sets the Name field's value.
12761func (s *Alias) SetName(v string) *Alias {
12762	s.Name = &v
12763	return s
12764}
12765
12766// SetRoutingStrategy sets the RoutingStrategy field's value.
12767func (s *Alias) SetRoutingStrategy(v *RoutingStrategy) *Alias {
12768	s.RoutingStrategy = v
12769	return s
12770}
12771
12772// Values for use in Player attribute key-value pairs. This object lets you
12773// specify an attribute value using any of the valid data types: string, number,
12774// string array, or data map. Each AttributeValue object can use only one of
12775// the available properties.
12776type AttributeValue struct {
12777	_ struct{} `type:"structure"`
12778
12779	// For number values, expressed as double.
12780	N *float64 `type:"double"`
12781
12782	// For single string values. Maximum string length is 100 characters.
12783	S *string `min:"1" type:"string"`
12784
12785	// For a map of up to 10 data type:value pairs. Maximum length for each string
12786	// value is 100 characters.
12787	SDM map[string]*float64 `type:"map"`
12788
12789	// For a list of up to 10 strings. Maximum length for each string is 100 characters.
12790	// Duplicate values are not recognized; all occurrences of the repeated value
12791	// after the first of a repeated value are ignored.
12792	SL []*string `type:"list"`
12793}
12794
12795// String returns the string representation.
12796//
12797// API parameter values that are decorated as "sensitive" in the API will not
12798// be included in the string output. The member name will be present, but the
12799// value will be replaced with "sensitive".
12800func (s AttributeValue) String() string {
12801	return awsutil.Prettify(s)
12802}
12803
12804// GoString returns the string representation.
12805//
12806// API parameter values that are decorated as "sensitive" in the API will not
12807// be included in the string output. The member name will be present, but the
12808// value will be replaced with "sensitive".
12809func (s AttributeValue) GoString() string {
12810	return s.String()
12811}
12812
12813// Validate inspects the fields of the type to determine if they are valid.
12814func (s *AttributeValue) Validate() error {
12815	invalidParams := request.ErrInvalidParams{Context: "AttributeValue"}
12816	if s.S != nil && len(*s.S) < 1 {
12817		invalidParams.Add(request.NewErrParamMinLen("S", 1))
12818	}
12819
12820	if invalidParams.Len() > 0 {
12821		return invalidParams
12822	}
12823	return nil
12824}
12825
12826// SetN sets the N field's value.
12827func (s *AttributeValue) SetN(v float64) *AttributeValue {
12828	s.N = &v
12829	return s
12830}
12831
12832// SetS sets the S field's value.
12833func (s *AttributeValue) SetS(v string) *AttributeValue {
12834	s.S = &v
12835	return s
12836}
12837
12838// SetSDM sets the SDM field's value.
12839func (s *AttributeValue) SetSDM(v map[string]*float64) *AttributeValue {
12840	s.SDM = v
12841	return s
12842}
12843
12844// SetSL sets the SL field's value.
12845func (s *AttributeValue) SetSL(v []*string) *AttributeValue {
12846	s.SL = v
12847	return s
12848}
12849
12850// Temporary access credentials used for uploading game build files to Amazon
12851// GameLift. They are valid for a limited time. If they expire before you upload
12852// your game build, get a new set by calling RequestUploadCredentials.
12853type AwsCredentials struct {
12854	_ struct{} `type:"structure" sensitive:"true"`
12855
12856	// Temporary key allowing access to the Amazon GameLift S3 account.
12857	AccessKeyId *string `min:"1" type:"string"`
12858
12859	// Temporary secret key allowing access to the Amazon GameLift S3 account.
12860	SecretAccessKey *string `min:"1" type:"string"`
12861
12862	// Token used to associate a specific build ID with the files uploaded using
12863	// these credentials.
12864	SessionToken *string `min:"1" type:"string"`
12865}
12866
12867// String returns the string representation.
12868//
12869// API parameter values that are decorated as "sensitive" in the API will not
12870// be included in the string output. The member name will be present, but the
12871// value will be replaced with "sensitive".
12872func (s AwsCredentials) String() string {
12873	return awsutil.Prettify(s)
12874}
12875
12876// GoString returns the string representation.
12877//
12878// API parameter values that are decorated as "sensitive" in the API will not
12879// be included in the string output. The member name will be present, but the
12880// value will be replaced with "sensitive".
12881func (s AwsCredentials) GoString() string {
12882	return s.String()
12883}
12884
12885// SetAccessKeyId sets the AccessKeyId field's value.
12886func (s *AwsCredentials) SetAccessKeyId(v string) *AwsCredentials {
12887	s.AccessKeyId = &v
12888	return s
12889}
12890
12891// SetSecretAccessKey sets the SecretAccessKey field's value.
12892func (s *AwsCredentials) SetSecretAccessKey(v string) *AwsCredentials {
12893	s.SecretAccessKey = &v
12894	return s
12895}
12896
12897// SetSessionToken sets the SessionToken field's value.
12898func (s *AwsCredentials) SetSessionToken(v string) *AwsCredentials {
12899	s.SessionToken = &v
12900	return s
12901}
12902
12903// Properties describing a custom game build.
12904//
12905// Related actions
12906//
12907// CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
12908// APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
12909type Build struct {
12910	_ struct{} `type:"structure"`
12911
12912	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
12913	// that is assigned to a GameLift build resource and uniquely identifies it.
12914	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
12915	// In a GameLift build ARN, the resource ID matches the BuildId value.
12916	BuildArn *string `type:"string"`
12917
12918	// A unique identifier for the build.
12919	BuildId *string `type:"string"`
12920
12921	// A time stamp indicating when this data object was created. Format is a number
12922	// expressed in Unix time as milliseconds (for example "1469498468.057").
12923	CreationTime *time.Time `type:"timestamp"`
12924
12925	// A descriptive label that is associated with a build. Build names do not need
12926	// to be unique. It can be set using CreateBuild or UpdateBuild.
12927	Name *string `type:"string"`
12928
12929	// Operating system that the game server binaries are built to run on. This
12930	// value determines the type of fleet resources that you can use for this build.
12931	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
12932
12933	// File size of the uploaded game build, expressed in bytes. When the build
12934	// status is INITIALIZED, this value is 0.
12935	SizeOnDisk *int64 `min:"1" type:"long"`
12936
12937	// Current status of the build.
12938	//
12939	// Possible build statuses include the following:
12940	//
12941	//    * INITIALIZED -- A new build has been defined, but no files have been
12942	//    uploaded. You cannot create fleets for builds that are in this status.
12943	//    When a build is successfully created, the build status is set to this
12944	//    value.
12945	//
12946	//    * READY -- The game build has been successfully uploaded. You can now
12947	//    create new fleets for this build.
12948	//
12949	//    * FAILED -- The game build upload failed. You cannot create new fleets
12950	//    for this build.
12951	Status *string `type:"string" enum:"BuildStatus"`
12952
12953	// Version information that is associated with a build or script. Version strings
12954	// do not need to be unique. This value can be set using CreateBuild or UpdateBuild.
12955	Version *string `type:"string"`
12956}
12957
12958// String returns the string representation.
12959//
12960// API parameter values that are decorated as "sensitive" in the API will not
12961// be included in the string output. The member name will be present, but the
12962// value will be replaced with "sensitive".
12963func (s Build) String() string {
12964	return awsutil.Prettify(s)
12965}
12966
12967// GoString returns the string representation.
12968//
12969// API parameter values that are decorated as "sensitive" in the API will not
12970// be included in the string output. The member name will be present, but the
12971// value will be replaced with "sensitive".
12972func (s Build) GoString() string {
12973	return s.String()
12974}
12975
12976// SetBuildArn sets the BuildArn field's value.
12977func (s *Build) SetBuildArn(v string) *Build {
12978	s.BuildArn = &v
12979	return s
12980}
12981
12982// SetBuildId sets the BuildId field's value.
12983func (s *Build) SetBuildId(v string) *Build {
12984	s.BuildId = &v
12985	return s
12986}
12987
12988// SetCreationTime sets the CreationTime field's value.
12989func (s *Build) SetCreationTime(v time.Time) *Build {
12990	s.CreationTime = &v
12991	return s
12992}
12993
12994// SetName sets the Name field's value.
12995func (s *Build) SetName(v string) *Build {
12996	s.Name = &v
12997	return s
12998}
12999
13000// SetOperatingSystem sets the OperatingSystem field's value.
13001func (s *Build) SetOperatingSystem(v string) *Build {
13002	s.OperatingSystem = &v
13003	return s
13004}
13005
13006// SetSizeOnDisk sets the SizeOnDisk field's value.
13007func (s *Build) SetSizeOnDisk(v int64) *Build {
13008	s.SizeOnDisk = &v
13009	return s
13010}
13011
13012// SetStatus sets the Status field's value.
13013func (s *Build) SetStatus(v string) *Build {
13014	s.Status = &v
13015	return s
13016}
13017
13018// SetVersion sets the Version field's value.
13019func (s *Build) SetVersion(v string) *Build {
13020	s.Version = &v
13021	return s
13022}
13023
13024// Determines whether a TLS/SSL certificate is generated for a fleet. This feature
13025// must be enabled when creating the fleet. All instances in a fleet share the
13026// same certificate. The certificate can be retrieved by calling the GameLift
13027// Server SDK (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html)
13028// operation GetInstanceCertificate.
13029//
13030// A fleet's certificate configuration is part of FleetAttributes.
13031type CertificateConfiguration struct {
13032	_ struct{} `type:"structure"`
13033
13034	// Indicates whether a TLS/SSL certificate is generated for a fleet.
13035	//
13036	// Valid values include:
13037	//
13038	//    * GENERATED - Generate a TLS/SSL certificate for this fleet.
13039	//
13040	//    * DISABLED - (default) Do not generate a TLS/SSL certificate for this
13041	//    fleet.
13042	//
13043	// CertificateType is a required field
13044	CertificateType *string `type:"string" required:"true" enum:"CertificateType"`
13045}
13046
13047// String returns the string representation.
13048//
13049// API parameter values that are decorated as "sensitive" in the API will not
13050// be included in the string output. The member name will be present, but the
13051// value will be replaced with "sensitive".
13052func (s CertificateConfiguration) String() string {
13053	return awsutil.Prettify(s)
13054}
13055
13056// GoString returns the string representation.
13057//
13058// API parameter values that are decorated as "sensitive" in the API will not
13059// be included in the string output. The member name will be present, but the
13060// value will be replaced with "sensitive".
13061func (s CertificateConfiguration) GoString() string {
13062	return s.String()
13063}
13064
13065// Validate inspects the fields of the type to determine if they are valid.
13066func (s *CertificateConfiguration) Validate() error {
13067	invalidParams := request.ErrInvalidParams{Context: "CertificateConfiguration"}
13068	if s.CertificateType == nil {
13069		invalidParams.Add(request.NewErrParamRequired("CertificateType"))
13070	}
13071
13072	if invalidParams.Len() > 0 {
13073		return invalidParams
13074	}
13075	return nil
13076}
13077
13078// SetCertificateType sets the CertificateType field's value.
13079func (s *CertificateConfiguration) SetCertificateType(v string) *CertificateConfiguration {
13080	s.CertificateType = &v
13081	return s
13082}
13083
13084type ClaimGameServerInput struct {
13085	_ struct{} `type:"structure"`
13086
13087	// A set of custom game server properties, formatted as a single string value.
13088	// This data is passed to a game client or service when it requests information
13089	// on game servers using ListGameServers or ClaimGameServer.
13090	GameServerData *string `min:"1" type:"string"`
13091
13092	// A unique identifier for the game server group where the game server is running.
13093	// Use either the GameServerGroup name or ARN value. If you are not specifying
13094	// a game server to claim, this value identifies where you want GameLift FleetIQ
13095	// to look for an available game server to claim.
13096	//
13097	// GameServerGroupName is a required field
13098	GameServerGroupName *string `min:"1" type:"string" required:"true"`
13099
13100	// A custom string that uniquely identifies the game server to claim. If this
13101	// parameter is left empty, GameLift FleetIQ searches for an available game
13102	// server in the specified game server group.
13103	GameServerId *string `min:"3" type:"string"`
13104}
13105
13106// String returns the string representation.
13107//
13108// API parameter values that are decorated as "sensitive" in the API will not
13109// be included in the string output. The member name will be present, but the
13110// value will be replaced with "sensitive".
13111func (s ClaimGameServerInput) String() string {
13112	return awsutil.Prettify(s)
13113}
13114
13115// GoString returns the string representation.
13116//
13117// API parameter values that are decorated as "sensitive" in the API will not
13118// be included in the string output. The member name will be present, but the
13119// value will be replaced with "sensitive".
13120func (s ClaimGameServerInput) GoString() string {
13121	return s.String()
13122}
13123
13124// Validate inspects the fields of the type to determine if they are valid.
13125func (s *ClaimGameServerInput) Validate() error {
13126	invalidParams := request.ErrInvalidParams{Context: "ClaimGameServerInput"}
13127	if s.GameServerData != nil && len(*s.GameServerData) < 1 {
13128		invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1))
13129	}
13130	if s.GameServerGroupName == nil {
13131		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
13132	}
13133	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
13134		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
13135	}
13136	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
13137		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
13138	}
13139
13140	if invalidParams.Len() > 0 {
13141		return invalidParams
13142	}
13143	return nil
13144}
13145
13146// SetGameServerData sets the GameServerData field's value.
13147func (s *ClaimGameServerInput) SetGameServerData(v string) *ClaimGameServerInput {
13148	s.GameServerData = &v
13149	return s
13150}
13151
13152// SetGameServerGroupName sets the GameServerGroupName field's value.
13153func (s *ClaimGameServerInput) SetGameServerGroupName(v string) *ClaimGameServerInput {
13154	s.GameServerGroupName = &v
13155	return s
13156}
13157
13158// SetGameServerId sets the GameServerId field's value.
13159func (s *ClaimGameServerInput) SetGameServerId(v string) *ClaimGameServerInput {
13160	s.GameServerId = &v
13161	return s
13162}
13163
13164type ClaimGameServerOutput struct {
13165	_ struct{} `type:"structure"`
13166
13167	// Object that describes the newly claimed game server.
13168	GameServer *GameServer `type:"structure"`
13169}
13170
13171// String returns the string representation.
13172//
13173// API parameter values that are decorated as "sensitive" in the API will not
13174// be included in the string output. The member name will be present, but the
13175// value will be replaced with "sensitive".
13176func (s ClaimGameServerOutput) String() string {
13177	return awsutil.Prettify(s)
13178}
13179
13180// GoString returns the string representation.
13181//
13182// API parameter values that are decorated as "sensitive" in the API will not
13183// be included in the string output. The member name will be present, but the
13184// value will be replaced with "sensitive".
13185func (s ClaimGameServerOutput) GoString() string {
13186	return s.String()
13187}
13188
13189// SetGameServer sets the GameServer field's value.
13190func (s *ClaimGameServerOutput) SetGameServer(v *GameServer) *ClaimGameServerOutput {
13191	s.GameServer = v
13192	return s
13193}
13194
13195// The requested operation would cause a conflict with the current state of
13196// a service resource associated with the request. Resolve the conflict before
13197// retrying this request.
13198type ConflictException struct {
13199	_            struct{}                  `type:"structure"`
13200	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13201
13202	Message_ *string `locationName:"Message" min:"1" type:"string"`
13203}
13204
13205// String returns the string representation.
13206//
13207// API parameter values that are decorated as "sensitive" in the API will not
13208// be included in the string output. The member name will be present, but the
13209// value will be replaced with "sensitive".
13210func (s ConflictException) String() string {
13211	return awsutil.Prettify(s)
13212}
13213
13214// GoString returns the string representation.
13215//
13216// API parameter values that are decorated as "sensitive" in the API will not
13217// be included in the string output. The member name will be present, but the
13218// value will be replaced with "sensitive".
13219func (s ConflictException) GoString() string {
13220	return s.String()
13221}
13222
13223func newErrorConflictException(v protocol.ResponseMetadata) error {
13224	return &ConflictException{
13225		RespMetadata: v,
13226	}
13227}
13228
13229// Code returns the exception type name.
13230func (s *ConflictException) Code() string {
13231	return "ConflictException"
13232}
13233
13234// Message returns the exception's message.
13235func (s *ConflictException) Message() string {
13236	if s.Message_ != nil {
13237		return *s.Message_
13238	}
13239	return ""
13240}
13241
13242// OrigErr always returns nil, satisfies awserr.Error interface.
13243func (s *ConflictException) OrigErr() error {
13244	return nil
13245}
13246
13247func (s *ConflictException) Error() string {
13248	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13249}
13250
13251// Status code returns the HTTP status code for the request's response error.
13252func (s *ConflictException) StatusCode() int {
13253	return s.RespMetadata.StatusCode
13254}
13255
13256// RequestID returns the service's response RequestID for request.
13257func (s *ConflictException) RequestID() string {
13258	return s.RespMetadata.RequestID
13259}
13260
13261// Represents the input for a request operation.
13262type CreateAliasInput struct {
13263	_ struct{} `type:"structure"`
13264
13265	// A human-readable description of the alias.
13266	Description *string `min:"1" type:"string"`
13267
13268	// A descriptive label that is associated with an alias. Alias names do not
13269	// need to be unique.
13270	//
13271	// Name is a required field
13272	Name *string `min:"1" type:"string" required:"true"`
13273
13274	// The routing configuration, including routing type and fleet target, for the
13275	// alias.
13276	//
13277	// RoutingStrategy is a required field
13278	RoutingStrategy *RoutingStrategy `type:"structure" required:"true"`
13279
13280	// A list of labels to assign to the new alias resource. Tags are developer-defined
13281	// key-value pairs. Tagging AWS resources are useful for resource management,
13282	// access management and cost allocation. For more information, see Tagging
13283	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
13284	// in the AWS General Reference. Once the resource is created, you can use TagResource,
13285	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
13286	// maximum tag limit may be lower than stated. See the AWS General Reference
13287	// for actual tagging limits.
13288	Tags []*Tag `type:"list"`
13289}
13290
13291// String returns the string representation.
13292//
13293// API parameter values that are decorated as "sensitive" in the API will not
13294// be included in the string output. The member name will be present, but the
13295// value will be replaced with "sensitive".
13296func (s CreateAliasInput) String() string {
13297	return awsutil.Prettify(s)
13298}
13299
13300// GoString returns the string representation.
13301//
13302// API parameter values that are decorated as "sensitive" in the API will not
13303// be included in the string output. The member name will be present, but the
13304// value will be replaced with "sensitive".
13305func (s CreateAliasInput) GoString() string {
13306	return s.String()
13307}
13308
13309// Validate inspects the fields of the type to determine if they are valid.
13310func (s *CreateAliasInput) Validate() error {
13311	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
13312	if s.Description != nil && len(*s.Description) < 1 {
13313		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
13314	}
13315	if s.Name == nil {
13316		invalidParams.Add(request.NewErrParamRequired("Name"))
13317	}
13318	if s.Name != nil && len(*s.Name) < 1 {
13319		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13320	}
13321	if s.RoutingStrategy == nil {
13322		invalidParams.Add(request.NewErrParamRequired("RoutingStrategy"))
13323	}
13324	if s.Tags != nil {
13325		for i, v := range s.Tags {
13326			if v == nil {
13327				continue
13328			}
13329			if err := v.Validate(); err != nil {
13330				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
13331			}
13332		}
13333	}
13334
13335	if invalidParams.Len() > 0 {
13336		return invalidParams
13337	}
13338	return nil
13339}
13340
13341// SetDescription sets the Description field's value.
13342func (s *CreateAliasInput) SetDescription(v string) *CreateAliasInput {
13343	s.Description = &v
13344	return s
13345}
13346
13347// SetName sets the Name field's value.
13348func (s *CreateAliasInput) SetName(v string) *CreateAliasInput {
13349	s.Name = &v
13350	return s
13351}
13352
13353// SetRoutingStrategy sets the RoutingStrategy field's value.
13354func (s *CreateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *CreateAliasInput {
13355	s.RoutingStrategy = v
13356	return s
13357}
13358
13359// SetTags sets the Tags field's value.
13360func (s *CreateAliasInput) SetTags(v []*Tag) *CreateAliasInput {
13361	s.Tags = v
13362	return s
13363}
13364
13365// Represents the returned data in response to a request operation.
13366type CreateAliasOutput struct {
13367	_ struct{} `type:"structure"`
13368
13369	// The newly created alias resource.
13370	Alias *Alias `type:"structure"`
13371}
13372
13373// String returns the string representation.
13374//
13375// API parameter values that are decorated as "sensitive" in the API will not
13376// be included in the string output. The member name will be present, but the
13377// value will be replaced with "sensitive".
13378func (s CreateAliasOutput) String() string {
13379	return awsutil.Prettify(s)
13380}
13381
13382// GoString returns the string representation.
13383//
13384// API parameter values that are decorated as "sensitive" in the API will not
13385// be included in the string output. The member name will be present, but the
13386// value will be replaced with "sensitive".
13387func (s CreateAliasOutput) GoString() string {
13388	return s.String()
13389}
13390
13391// SetAlias sets the Alias field's value.
13392func (s *CreateAliasOutput) SetAlias(v *Alias) *CreateAliasOutput {
13393	s.Alias = v
13394	return s
13395}
13396
13397// Represents the input for a request operation.
13398type CreateBuildInput struct {
13399	_ struct{} `type:"structure"`
13400
13401	// A descriptive label that is associated with a build. Build names do not need
13402	// to be unique. You can use UpdateBuild to change this value later.
13403	Name *string `min:"1" type:"string"`
13404
13405	// The operating system that the game server binaries are built to run on. This
13406	// value determines the type of fleet resources that you can use for this build.
13407	// If your game build contains multiple executables, they all must run on the
13408	// same operating system. If an operating system is not specified when creating
13409	// a build, Amazon GameLift uses the default value (WINDOWS_2012). This value
13410	// cannot be changed later.
13411	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
13412
13413	// Information indicating where your game build files are stored. Use this parameter
13414	// only when creating a build with files stored in an Amazon S3 bucket that
13415	// you own. The storage location must specify an Amazon S3 bucket name and key.
13416	// The location must also specify a role ARN that you set up to allow Amazon
13417	// GameLift to access your Amazon S3 bucket. The S3 bucket and your new build
13418	// must be in the same Region.
13419	StorageLocation *S3Location `type:"structure"`
13420
13421	// A list of labels to assign to the new build resource. Tags are developer-defined
13422	// key-value pairs. Tagging AWS resources are useful for resource management,
13423	// access management and cost allocation. For more information, see Tagging
13424	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
13425	// in the AWS General Reference. Once the resource is created, you can use TagResource,
13426	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
13427	// maximum tag limit may be lower than stated. See the AWS General Reference
13428	// for actual tagging limits.
13429	Tags []*Tag `type:"list"`
13430
13431	// Version information that is associated with a build or script. Version strings
13432	// do not need to be unique. You can use UpdateBuild to change this value later.
13433	Version *string `min:"1" type:"string"`
13434}
13435
13436// String returns the string representation.
13437//
13438// API parameter values that are decorated as "sensitive" in the API will not
13439// be included in the string output. The member name will be present, but the
13440// value will be replaced with "sensitive".
13441func (s CreateBuildInput) String() string {
13442	return awsutil.Prettify(s)
13443}
13444
13445// GoString returns the string representation.
13446//
13447// API parameter values that are decorated as "sensitive" in the API will not
13448// be included in the string output. The member name will be present, but the
13449// value will be replaced with "sensitive".
13450func (s CreateBuildInput) GoString() string {
13451	return s.String()
13452}
13453
13454// Validate inspects the fields of the type to determine if they are valid.
13455func (s *CreateBuildInput) Validate() error {
13456	invalidParams := request.ErrInvalidParams{Context: "CreateBuildInput"}
13457	if s.Name != nil && len(*s.Name) < 1 {
13458		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13459	}
13460	if s.Version != nil && len(*s.Version) < 1 {
13461		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
13462	}
13463	if s.StorageLocation != nil {
13464		if err := s.StorageLocation.Validate(); err != nil {
13465			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
13466		}
13467	}
13468	if s.Tags != nil {
13469		for i, v := range s.Tags {
13470			if v == nil {
13471				continue
13472			}
13473			if err := v.Validate(); err != nil {
13474				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
13475			}
13476		}
13477	}
13478
13479	if invalidParams.Len() > 0 {
13480		return invalidParams
13481	}
13482	return nil
13483}
13484
13485// SetName sets the Name field's value.
13486func (s *CreateBuildInput) SetName(v string) *CreateBuildInput {
13487	s.Name = &v
13488	return s
13489}
13490
13491// SetOperatingSystem sets the OperatingSystem field's value.
13492func (s *CreateBuildInput) SetOperatingSystem(v string) *CreateBuildInput {
13493	s.OperatingSystem = &v
13494	return s
13495}
13496
13497// SetStorageLocation sets the StorageLocation field's value.
13498func (s *CreateBuildInput) SetStorageLocation(v *S3Location) *CreateBuildInput {
13499	s.StorageLocation = v
13500	return s
13501}
13502
13503// SetTags sets the Tags field's value.
13504func (s *CreateBuildInput) SetTags(v []*Tag) *CreateBuildInput {
13505	s.Tags = v
13506	return s
13507}
13508
13509// SetVersion sets the Version field's value.
13510func (s *CreateBuildInput) SetVersion(v string) *CreateBuildInput {
13511	s.Version = &v
13512	return s
13513}
13514
13515// Represents the returned data in response to a request operation.
13516type CreateBuildOutput struct {
13517	_ struct{} `type:"structure"`
13518
13519	// The newly created build resource, including a unique build IDs and status.
13520	Build *Build `type:"structure"`
13521
13522	// Amazon S3 location for your game build file, including bucket name and key.
13523	StorageLocation *S3Location `type:"structure"`
13524
13525	// This element is returned only when the operation is called without a storage
13526	// location. It contains credentials to use when you are uploading a build file
13527	// to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have
13528	// a limited life span. To refresh these credentials, call RequestUploadCredentials.
13529	//
13530	// UploadCredentials is a sensitive parameter and its value will be
13531	// replaced with "sensitive" in string returned by CreateBuildOutput's
13532	// String and GoString methods.
13533	UploadCredentials *AwsCredentials `type:"structure" sensitive:"true"`
13534}
13535
13536// String returns the string representation.
13537//
13538// API parameter values that are decorated as "sensitive" in the API will not
13539// be included in the string output. The member name will be present, but the
13540// value will be replaced with "sensitive".
13541func (s CreateBuildOutput) String() string {
13542	return awsutil.Prettify(s)
13543}
13544
13545// GoString returns the string representation.
13546//
13547// API parameter values that are decorated as "sensitive" in the API will not
13548// be included in the string output. The member name will be present, but the
13549// value will be replaced with "sensitive".
13550func (s CreateBuildOutput) GoString() string {
13551	return s.String()
13552}
13553
13554// SetBuild sets the Build field's value.
13555func (s *CreateBuildOutput) SetBuild(v *Build) *CreateBuildOutput {
13556	s.Build = v
13557	return s
13558}
13559
13560// SetStorageLocation sets the StorageLocation field's value.
13561func (s *CreateBuildOutput) SetStorageLocation(v *S3Location) *CreateBuildOutput {
13562	s.StorageLocation = v
13563	return s
13564}
13565
13566// SetUploadCredentials sets the UploadCredentials field's value.
13567func (s *CreateBuildOutput) SetUploadCredentials(v *AwsCredentials) *CreateBuildOutput {
13568	s.UploadCredentials = v
13569	return s
13570}
13571
13572// Represents the input for a request operation.
13573type CreateFleetInput struct {
13574	_ struct{} `type:"structure"`
13575
13576	// The unique identifier for a custom game server build to be deployed on fleet
13577	// instances. You can use either the build ID or ARN. The build must be uploaded
13578	// to GameLift and in READY status. This fleet property cannot be changed later.
13579	BuildId *string `type:"string"`
13580
13581	// Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS certificates
13582	// are used for encrypting traffic between game clients and the game servers
13583	// that are running on GameLift. By default, the CertificateConfiguration is
13584	// set to DISABLED. Learn more at Securing Client/Server Communication (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security).
13585	// This property cannot be changed after the fleet is created.
13586	//
13587	// Note: This feature requires the AWS Certificate Manager (ACM) service, which
13588	// is not available in all AWS regions. When working in a region that does not
13589	// support this feature, a fleet creation request with certificate generation
13590	// fails with a 4xx error.
13591	CertificateConfiguration *CertificateConfiguration `type:"structure"`
13592
13593	// A human-readable description of the fleet.
13594	Description *string `min:"1" type:"string"`
13595
13596	// The allowed IP address ranges and port settings that allow inbound traffic
13597	// to access game sessions on this fleet. If the fleet is hosting a custom game
13598	// build, this property must be set before players can connect to game sessions.
13599	// For Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges.
13600	EC2InboundPermissions []*IpPermission `type:"list"`
13601
13602	// The GameLift-supported EC2 instance type to use for all fleet instances.
13603	// Instance type determines the computing resources that will be used to host
13604	// your game servers, including CPU, memory, storage, and networking capacity.
13605	// See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
13606	// for detailed descriptions of EC2 instance types.
13607	//
13608	// EC2InstanceType is a required field
13609	EC2InstanceType *string `type:"string" required:"true" enum:"EC2InstanceType"`
13610
13611	// Indicates whether to use On-Demand or Spot instances for this fleet. By default,
13612	// this property is set to ON_DEMAND. Learn more about when to use On-Demand
13613	// versus Spot Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot).
13614	// This property cannot be changed after the fleet is created.
13615	FleetType *string `type:"string" enum:"FleetType"`
13616
13617	// A unique identifier for an AWS IAM role that manages access to your AWS services.
13618	// With an instance role ARN set, any application that runs on an instance in
13619	// this fleet can assume the role, including install scripts, server processes,
13620	// and daemons (background processes). Create a role or look up a role's ARN
13621	// by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the AWS
13622	// Management Console. Learn more about using on-box credentials for your game
13623	// servers at Access external resources from a game server (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html).
13624	// This property cannot be changed after the fleet is created.
13625	InstanceRoleArn *string `min:"1" type:"string"`
13626
13627	// A set of remote locations to deploy additional instances to and manage as
13628	// part of the fleet. This parameter can only be used when creating fleets in
13629	// AWS Regions that support multiple locations. You can add any GameLift-supported
13630	// AWS Region as a remote location, in the form of an AWS Region code such as
13631	// us-west-2. To create a fleet with instances in the home Region only, omit
13632	// this parameter.
13633	Locations []*LocationConfiguration `min:"1" type:"list"`
13634
13635	// This parameter is no longer used. To specify where GameLift should store
13636	// log files once a server process shuts down, use the GameLift server API ProcessReady()
13637	// and specify one or more directory paths in logParameters. See more information
13638	// in the Server API Reference (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process).
13639	LogPaths []*string `type:"list"`
13640
13641	// The name of an AWS CloudWatch metric group to add this fleet to. A metric
13642	// group is used to aggregate the metrics for multiple fleets. You can specify
13643	// an existing metric group name or set a new name to create a new metric group.
13644	// A fleet can be included in only one metric group at a time.
13645	MetricGroups []*string `type:"list"`
13646
13647	// A descriptive label that is associated with a fleet. Fleet names do not need
13648	// to be unique.
13649	//
13650	// Name is a required field
13651	Name *string `min:"1" type:"string" required:"true"`
13652
13653	// The status of termination protection for active game sessions on the fleet.
13654	// By default, this property is set to NoProtection. You can also set game session
13655	// protection for an individual game session by calling UpdateGameSession.
13656	//
13657	//    * NoProtection - Game sessions can be terminated during active gameplay
13658	//    as a result of a scale-down event.
13659	//
13660	//    * FullProtection - Game sessions in ACTIVE status cannot be terminated
13661	//    during a scale-down event.
13662	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
13663
13664	// Used when peering your GameLift fleet with a VPC, the unique identifier for
13665	// the AWS account that owns the VPC. You can find your account ID in the AWS
13666	// Management Console under account settings.
13667	PeerVpcAwsAccountId *string `min:"1" type:"string"`
13668
13669	// A unique identifier for a VPC with resources to be accessed by your GameLift
13670	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
13671	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
13672	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
13673	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
13674	PeerVpcId *string `min:"1" type:"string"`
13675
13676	// A policy that limits the number of game sessions that an individual player
13677	// can create on instances in this fleet within a specified span of time.
13678	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
13679
13680	// Instructions for how to launch and maintain server processes on instances
13681	// in the fleet. The runtime configuration defines one or more server process
13682	// configurations, each identifying a build executable or Realtime script file
13683	// and the number of processes of that type to run concurrently.
13684	//
13685	// The RuntimeConfiguration parameter is required unless the fleet is being
13686	// configured using the older parameters ServerLaunchPath and ServerLaunchParameters,
13687	// which are still supported for backward compatibility.
13688	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
13689
13690	// The unique identifier for a Realtime configuration script to be deployed
13691	// on fleet instances. You can use either the script ID or ARN. Scripts must
13692	// be uploaded to GameLift prior to creating the fleet. This fleet property
13693	// cannot be changed later.
13694	ScriptId *string `type:"string"`
13695
13696	// This parameter is no longer used. Specify server launch parameters using
13697	// the RuntimeConfiguration parameter. Requests that use this parameter instead
13698	// continue to be valid.
13699	ServerLaunchParameters *string `min:"1" type:"string"`
13700
13701	// This parameter is no longer used. Specify a server launch path using the
13702	// RuntimeConfiguration parameter. Requests that use this parameter instead
13703	// continue to be valid.
13704	ServerLaunchPath *string `min:"1" type:"string"`
13705
13706	// A list of labels to assign to the new fleet resource. Tags are developer-defined
13707	// key-value pairs. Tagging AWS resources are useful for resource management,
13708	// access management and cost allocation. For more information, see Tagging
13709	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
13710	// in the AWS General Reference. Once the fleet is created, you can use TagResource,
13711	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
13712	// maximum tag limit may be lower than stated. See the AWS General Reference
13713	// for actual tagging limits.
13714	Tags []*Tag `type:"list"`
13715}
13716
13717// String returns the string representation.
13718//
13719// API parameter values that are decorated as "sensitive" in the API will not
13720// be included in the string output. The member name will be present, but the
13721// value will be replaced with "sensitive".
13722func (s CreateFleetInput) String() string {
13723	return awsutil.Prettify(s)
13724}
13725
13726// GoString returns the string representation.
13727//
13728// API parameter values that are decorated as "sensitive" in the API will not
13729// be included in the string output. The member name will be present, but the
13730// value will be replaced with "sensitive".
13731func (s CreateFleetInput) GoString() string {
13732	return s.String()
13733}
13734
13735// Validate inspects the fields of the type to determine if they are valid.
13736func (s *CreateFleetInput) Validate() error {
13737	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
13738	if s.Description != nil && len(*s.Description) < 1 {
13739		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
13740	}
13741	if s.EC2InstanceType == nil {
13742		invalidParams.Add(request.NewErrParamRequired("EC2InstanceType"))
13743	}
13744	if s.InstanceRoleArn != nil && len(*s.InstanceRoleArn) < 1 {
13745		invalidParams.Add(request.NewErrParamMinLen("InstanceRoleArn", 1))
13746	}
13747	if s.Locations != nil && len(s.Locations) < 1 {
13748		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
13749	}
13750	if s.Name == nil {
13751		invalidParams.Add(request.NewErrParamRequired("Name"))
13752	}
13753	if s.Name != nil && len(*s.Name) < 1 {
13754		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13755	}
13756	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
13757		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
13758	}
13759	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
13760		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
13761	}
13762	if s.ServerLaunchParameters != nil && len(*s.ServerLaunchParameters) < 1 {
13763		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchParameters", 1))
13764	}
13765	if s.ServerLaunchPath != nil && len(*s.ServerLaunchPath) < 1 {
13766		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchPath", 1))
13767	}
13768	if s.CertificateConfiguration != nil {
13769		if err := s.CertificateConfiguration.Validate(); err != nil {
13770			invalidParams.AddNested("CertificateConfiguration", err.(request.ErrInvalidParams))
13771		}
13772	}
13773	if s.EC2InboundPermissions != nil {
13774		for i, v := range s.EC2InboundPermissions {
13775			if v == nil {
13776				continue
13777			}
13778			if err := v.Validate(); err != nil {
13779				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EC2InboundPermissions", i), err.(request.ErrInvalidParams))
13780			}
13781		}
13782	}
13783	if s.Locations != nil {
13784		for i, v := range s.Locations {
13785			if v == nil {
13786				continue
13787			}
13788			if err := v.Validate(); err != nil {
13789				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Locations", i), err.(request.ErrInvalidParams))
13790			}
13791		}
13792	}
13793	if s.RuntimeConfiguration != nil {
13794		if err := s.RuntimeConfiguration.Validate(); err != nil {
13795			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
13796		}
13797	}
13798	if s.Tags != nil {
13799		for i, v := range s.Tags {
13800			if v == nil {
13801				continue
13802			}
13803			if err := v.Validate(); err != nil {
13804				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
13805			}
13806		}
13807	}
13808
13809	if invalidParams.Len() > 0 {
13810		return invalidParams
13811	}
13812	return nil
13813}
13814
13815// SetBuildId sets the BuildId field's value.
13816func (s *CreateFleetInput) SetBuildId(v string) *CreateFleetInput {
13817	s.BuildId = &v
13818	return s
13819}
13820
13821// SetCertificateConfiguration sets the CertificateConfiguration field's value.
13822func (s *CreateFleetInput) SetCertificateConfiguration(v *CertificateConfiguration) *CreateFleetInput {
13823	s.CertificateConfiguration = v
13824	return s
13825}
13826
13827// SetDescription sets the Description field's value.
13828func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
13829	s.Description = &v
13830	return s
13831}
13832
13833// SetEC2InboundPermissions sets the EC2InboundPermissions field's value.
13834func (s *CreateFleetInput) SetEC2InboundPermissions(v []*IpPermission) *CreateFleetInput {
13835	s.EC2InboundPermissions = v
13836	return s
13837}
13838
13839// SetEC2InstanceType sets the EC2InstanceType field's value.
13840func (s *CreateFleetInput) SetEC2InstanceType(v string) *CreateFleetInput {
13841	s.EC2InstanceType = &v
13842	return s
13843}
13844
13845// SetFleetType sets the FleetType field's value.
13846func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
13847	s.FleetType = &v
13848	return s
13849}
13850
13851// SetInstanceRoleArn sets the InstanceRoleArn field's value.
13852func (s *CreateFleetInput) SetInstanceRoleArn(v string) *CreateFleetInput {
13853	s.InstanceRoleArn = &v
13854	return s
13855}
13856
13857// SetLocations sets the Locations field's value.
13858func (s *CreateFleetInput) SetLocations(v []*LocationConfiguration) *CreateFleetInput {
13859	s.Locations = v
13860	return s
13861}
13862
13863// SetLogPaths sets the LogPaths field's value.
13864func (s *CreateFleetInput) SetLogPaths(v []*string) *CreateFleetInput {
13865	s.LogPaths = v
13866	return s
13867}
13868
13869// SetMetricGroups sets the MetricGroups field's value.
13870func (s *CreateFleetInput) SetMetricGroups(v []*string) *CreateFleetInput {
13871	s.MetricGroups = v
13872	return s
13873}
13874
13875// SetName sets the Name field's value.
13876func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
13877	s.Name = &v
13878	return s
13879}
13880
13881// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
13882func (s *CreateFleetInput) SetNewGameSessionProtectionPolicy(v string) *CreateFleetInput {
13883	s.NewGameSessionProtectionPolicy = &v
13884	return s
13885}
13886
13887// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
13888func (s *CreateFleetInput) SetPeerVpcAwsAccountId(v string) *CreateFleetInput {
13889	s.PeerVpcAwsAccountId = &v
13890	return s
13891}
13892
13893// SetPeerVpcId sets the PeerVpcId field's value.
13894func (s *CreateFleetInput) SetPeerVpcId(v string) *CreateFleetInput {
13895	s.PeerVpcId = &v
13896	return s
13897}
13898
13899// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
13900func (s *CreateFleetInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *CreateFleetInput {
13901	s.ResourceCreationLimitPolicy = v
13902	return s
13903}
13904
13905// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
13906func (s *CreateFleetInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *CreateFleetInput {
13907	s.RuntimeConfiguration = v
13908	return s
13909}
13910
13911// SetScriptId sets the ScriptId field's value.
13912func (s *CreateFleetInput) SetScriptId(v string) *CreateFleetInput {
13913	s.ScriptId = &v
13914	return s
13915}
13916
13917// SetServerLaunchParameters sets the ServerLaunchParameters field's value.
13918func (s *CreateFleetInput) SetServerLaunchParameters(v string) *CreateFleetInput {
13919	s.ServerLaunchParameters = &v
13920	return s
13921}
13922
13923// SetServerLaunchPath sets the ServerLaunchPath field's value.
13924func (s *CreateFleetInput) SetServerLaunchPath(v string) *CreateFleetInput {
13925	s.ServerLaunchPath = &v
13926	return s
13927}
13928
13929// SetTags sets the Tags field's value.
13930func (s *CreateFleetInput) SetTags(v []*Tag) *CreateFleetInput {
13931	s.Tags = v
13932	return s
13933}
13934
13935// Represents the input for a request operation.
13936type CreateFleetLocationsInput struct {
13937	_ struct{} `type:"structure"`
13938
13939	// A unique identifier for the fleet to add locations to. You can use either
13940	// the fleet ID or ARN value.
13941	//
13942	// FleetId is a required field
13943	FleetId *string `type:"string" required:"true"`
13944
13945	// A list of locations to deploy additional instances to and manage as part
13946	// of the fleet. You can add any GameLift-supported AWS Region as a remote location,
13947	// in the form of an AWS Region code such as us-west-2.
13948	//
13949	// Locations is a required field
13950	Locations []*LocationConfiguration `min:"1" type:"list" required:"true"`
13951}
13952
13953// String returns the string representation.
13954//
13955// API parameter values that are decorated as "sensitive" in the API will not
13956// be included in the string output. The member name will be present, but the
13957// value will be replaced with "sensitive".
13958func (s CreateFleetLocationsInput) String() string {
13959	return awsutil.Prettify(s)
13960}
13961
13962// GoString returns the string representation.
13963//
13964// API parameter values that are decorated as "sensitive" in the API will not
13965// be included in the string output. The member name will be present, but the
13966// value will be replaced with "sensitive".
13967func (s CreateFleetLocationsInput) GoString() string {
13968	return s.String()
13969}
13970
13971// Validate inspects the fields of the type to determine if they are valid.
13972func (s *CreateFleetLocationsInput) Validate() error {
13973	invalidParams := request.ErrInvalidParams{Context: "CreateFleetLocationsInput"}
13974	if s.FleetId == nil {
13975		invalidParams.Add(request.NewErrParamRequired("FleetId"))
13976	}
13977	if s.Locations == nil {
13978		invalidParams.Add(request.NewErrParamRequired("Locations"))
13979	}
13980	if s.Locations != nil && len(s.Locations) < 1 {
13981		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
13982	}
13983	if s.Locations != nil {
13984		for i, v := range s.Locations {
13985			if v == nil {
13986				continue
13987			}
13988			if err := v.Validate(); err != nil {
13989				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Locations", i), err.(request.ErrInvalidParams))
13990			}
13991		}
13992	}
13993
13994	if invalidParams.Len() > 0 {
13995		return invalidParams
13996	}
13997	return nil
13998}
13999
14000// SetFleetId sets the FleetId field's value.
14001func (s *CreateFleetLocationsInput) SetFleetId(v string) *CreateFleetLocationsInput {
14002	s.FleetId = &v
14003	return s
14004}
14005
14006// SetLocations sets the Locations field's value.
14007func (s *CreateFleetLocationsInput) SetLocations(v []*LocationConfiguration) *CreateFleetLocationsInput {
14008	s.Locations = v
14009	return s
14010}
14011
14012// Represents the returned data in response to a request operation.
14013type CreateFleetLocationsOutput struct {
14014	_ struct{} `type:"structure"`
14015
14016	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
14017	// that is assigned to a GameLift fleet resource and uniquely identifies it.
14018	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
14019	FleetArn *string `type:"string"`
14020
14021	// A unique identifier for the fleet that was updated with new locations.
14022	FleetId *string `type:"string"`
14023
14024	// The remote locations that are being added to the fleet, and the life-cycle
14025	// status of each location. For new locations, the status is set to NEW. During
14026	// location creation, GameLift updates each location's status as instances are
14027	// deployed there and prepared for game hosting. This list does not include
14028	// the fleet home Region or any remote locations that were already added to
14029	// the fleet.
14030	LocationStates []*LocationState `type:"list"`
14031}
14032
14033// String returns the string representation.
14034//
14035// API parameter values that are decorated as "sensitive" in the API will not
14036// be included in the string output. The member name will be present, but the
14037// value will be replaced with "sensitive".
14038func (s CreateFleetLocationsOutput) String() string {
14039	return awsutil.Prettify(s)
14040}
14041
14042// GoString returns the string representation.
14043//
14044// API parameter values that are decorated as "sensitive" in the API will not
14045// be included in the string output. The member name will be present, but the
14046// value will be replaced with "sensitive".
14047func (s CreateFleetLocationsOutput) GoString() string {
14048	return s.String()
14049}
14050
14051// SetFleetArn sets the FleetArn field's value.
14052func (s *CreateFleetLocationsOutput) SetFleetArn(v string) *CreateFleetLocationsOutput {
14053	s.FleetArn = &v
14054	return s
14055}
14056
14057// SetFleetId sets the FleetId field's value.
14058func (s *CreateFleetLocationsOutput) SetFleetId(v string) *CreateFleetLocationsOutput {
14059	s.FleetId = &v
14060	return s
14061}
14062
14063// SetLocationStates sets the LocationStates field's value.
14064func (s *CreateFleetLocationsOutput) SetLocationStates(v []*LocationState) *CreateFleetLocationsOutput {
14065	s.LocationStates = v
14066	return s
14067}
14068
14069// Represents the returned data in response to a request operation.
14070type CreateFleetOutput struct {
14071	_ struct{} `type:"structure"`
14072
14073	// The properties for the new fleet, including the current status. All fleets
14074	// are placed in NEW status on creation.
14075	FleetAttributes *FleetAttributes `type:"structure"`
14076
14077	// The fleet's locations and life-cycle status of each location. For new fleets,
14078	// the status of all locations is set to NEW. During fleet creation, GameLift
14079	// updates each location status as instances are deployed there and prepared
14080	// for game hosting. This list includes an entry for the fleet's home Region.
14081	// For fleets with no remote locations, only one entry, representing the home
14082	// Region, is returned.
14083	LocationStates []*LocationState `type:"list"`
14084}
14085
14086// String returns the string representation.
14087//
14088// API parameter values that are decorated as "sensitive" in the API will not
14089// be included in the string output. The member name will be present, but the
14090// value will be replaced with "sensitive".
14091func (s CreateFleetOutput) String() string {
14092	return awsutil.Prettify(s)
14093}
14094
14095// GoString returns the string representation.
14096//
14097// API parameter values that are decorated as "sensitive" in the API will not
14098// be included in the string output. The member name will be present, but the
14099// value will be replaced with "sensitive".
14100func (s CreateFleetOutput) GoString() string {
14101	return s.String()
14102}
14103
14104// SetFleetAttributes sets the FleetAttributes field's value.
14105func (s *CreateFleetOutput) SetFleetAttributes(v *FleetAttributes) *CreateFleetOutput {
14106	s.FleetAttributes = v
14107	return s
14108}
14109
14110// SetLocationStates sets the LocationStates field's value.
14111func (s *CreateFleetOutput) SetLocationStates(v []*LocationState) *CreateFleetOutput {
14112	s.LocationStates = v
14113	return s
14114}
14115
14116type CreateGameServerGroupInput struct {
14117	_ struct{} `type:"structure"`
14118
14119	// Configuration settings to define a scaling policy for the Auto Scaling group
14120	// that is optimized for game hosting. The scaling policy uses the metric "PercentUtilizedGameServers"
14121	// to maintain a buffer of idle game servers that can immediately accommodate
14122	// new games and players. After the Auto Scaling group is created, update this
14123	// value directly in the Auto Scaling group using the AWS console or APIs.
14124	AutoScalingPolicy *GameServerGroupAutoScalingPolicy `type:"structure"`
14125
14126	// Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand
14127	// Instances in the game server group. Method options include the following:
14128	//
14129	//    * SPOT_ONLY - Only Spot Instances are used in the game server group. If
14130	//    Spot Instances are unavailable or not viable for game hosting, the game
14131	//    server group provides no hosting capacity until Spot Instances can again
14132	//    be used. Until then, no new instances are started, and the existing nonviable
14133	//    Spot Instances are terminated (after current gameplay ends) and are not
14134	//    replaced.
14135	//
14136	//    * SPOT_PREFERRED - (default value) Spot Instances are used whenever available
14137	//    in the game server group. If Spot Instances are unavailable, the game
14138	//    server group continues to provide hosting capacity by falling back to
14139	//    On-Demand Instances. Existing nonviable Spot Instances are terminated
14140	//    (after current gameplay ends) and are replaced with new On-Demand Instances.
14141	//
14142	//    * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server
14143	//    group. No Spot Instances are used, even when available, while this balancing
14144	//    strategy is in force.
14145	BalancingStrategy *string `type:"string" enum:"BalancingStrategy"`
14146
14147	// An identifier for the new game server group. This value is used to generate
14148	// unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ
14149	// game server group. The name must be unique per Region per AWS account.
14150	//
14151	// GameServerGroupName is a required field
14152	GameServerGroupName *string `min:"1" type:"string" required:"true"`
14153
14154	// A flag that indicates whether instances in the game server group are protected
14155	// from early termination. Unprotected instances that have active game servers
14156	// running might be terminated during a scale-down event, causing players to
14157	// be dropped from the game. Protected instances cannot be terminated while
14158	// there are active game servers running except in the event of a forced game
14159	// server group deletion (see ). An exception to this is with Spot Instances,
14160	// which can be terminated by AWS regardless of protection status. This property
14161	// is set to NO_PROTECTION by default.
14162	GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"`
14163
14164	// The EC2 instance types and sizes to use in the Auto Scaling group. The instance
14165	// definitions must specify at least two different instance types that are supported
14166	// by GameLift FleetIQ. For more information on instance types, see EC2 Instance
14167	// Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
14168	// in the Amazon EC2 User Guide. You can optionally specify capacity weighting
14169	// for each instance type. If no weight value is specified for an instance type,
14170	// it is set to the default value "1". For more information about capacity weighting,
14171	// see Instance Weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
14172	// in the Amazon EC2 Auto Scaling User Guide.
14173	//
14174	// InstanceDefinitions is a required field
14175	InstanceDefinitions []*InstanceDefinition `min:"2" type:"list" required:"true"`
14176
14177	// The EC2 launch template that contains configuration settings and game server
14178	// code to be deployed to all instances in the game server group. You can specify
14179	// the template using either the template name or ID. For help with creating
14180	// a launch template, see Creating a Launch Template for an Auto Scaling Group
14181	// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
14182	// in the Amazon EC2 Auto Scaling User Guide. After the Auto Scaling group is
14183	// created, update this value directly in the Auto Scaling group using the AWS
14184	// console or APIs.
14185	//
14186	// If you specify network interfaces in your launch template, you must explicitly
14187	// set the property AssociatePublicIpAddress to "true". If no network interface
14188	// is specified in the launch template, GameLift FleetIQ uses your account's
14189	// default VPC.
14190	//
14191	// LaunchTemplate is a required field
14192	LaunchTemplate *LaunchTemplateSpecification `type:"structure" required:"true"`
14193
14194	// The maximum number of instances allowed in the EC2 Auto Scaling group. During
14195	// automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group
14196	// above this maximum. After the Auto Scaling group is created, update this
14197	// value directly in the Auto Scaling group using the AWS console or APIs.
14198	//
14199	// MaxSize is a required field
14200	MaxSize *int64 `min:"1" type:"integer" required:"true"`
14201
14202	// The minimum number of instances allowed in the EC2 Auto Scaling group. During
14203	// automatic scaling events, GameLift FleetIQ and EC2 do not scale down the
14204	// group below this minimum. In production, this value should be set to at least
14205	// 1. After the Auto Scaling group is created, update this value directly in
14206	// the Auto Scaling group using the AWS console or APIs.
14207	//
14208	// MinSize is a required field
14209	MinSize *int64 `type:"integer" required:"true"`
14210
14211	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
14212	// for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling
14213	// groups.
14214	//
14215	// RoleArn is a required field
14216	RoleArn *string `min:"1" type:"string" required:"true"`
14217
14218	// A list of labels to assign to the new game server group resource. Tags are
14219	// developer-defined key-value pairs. Tagging AWS resources is useful for resource
14220	// management, access management, and cost allocation. For more information,
14221	// see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
14222	// in the AWS General Reference. Once the resource is created, you can use TagResource,
14223	// UntagResource, and ListTagsForResource to add, remove, and view tags, respectively.
14224	// The maximum tag limit may be lower than stated. See the AWS General Reference
14225	// for actual tagging limits.
14226	Tags []*Tag `type:"list"`
14227
14228	// A list of virtual private cloud (VPC) subnets to use with instances in the
14229	// game server group. By default, all GameLift FleetIQ-supported Availability
14230	// Zones are used. You can use this parameter to specify VPCs that you've set
14231	// up. This property cannot be updated after the game server group is created,
14232	// and the corresponding Auto Scaling group will always use the property value
14233	// that is set with this request, even if the Auto Scaling group is updated
14234	// directly.
14235	VpcSubnets []*string `min:"1" type:"list"`
14236}
14237
14238// String returns the string representation.
14239//
14240// API parameter values that are decorated as "sensitive" in the API will not
14241// be included in the string output. The member name will be present, but the
14242// value will be replaced with "sensitive".
14243func (s CreateGameServerGroupInput) String() string {
14244	return awsutil.Prettify(s)
14245}
14246
14247// GoString returns the string representation.
14248//
14249// API parameter values that are decorated as "sensitive" in the API will not
14250// be included in the string output. The member name will be present, but the
14251// value will be replaced with "sensitive".
14252func (s CreateGameServerGroupInput) GoString() string {
14253	return s.String()
14254}
14255
14256// Validate inspects the fields of the type to determine if they are valid.
14257func (s *CreateGameServerGroupInput) Validate() error {
14258	invalidParams := request.ErrInvalidParams{Context: "CreateGameServerGroupInput"}
14259	if s.GameServerGroupName == nil {
14260		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
14261	}
14262	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
14263		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
14264	}
14265	if s.InstanceDefinitions == nil {
14266		invalidParams.Add(request.NewErrParamRequired("InstanceDefinitions"))
14267	}
14268	if s.InstanceDefinitions != nil && len(s.InstanceDefinitions) < 2 {
14269		invalidParams.Add(request.NewErrParamMinLen("InstanceDefinitions", 2))
14270	}
14271	if s.LaunchTemplate == nil {
14272		invalidParams.Add(request.NewErrParamRequired("LaunchTemplate"))
14273	}
14274	if s.MaxSize == nil {
14275		invalidParams.Add(request.NewErrParamRequired("MaxSize"))
14276	}
14277	if s.MaxSize != nil && *s.MaxSize < 1 {
14278		invalidParams.Add(request.NewErrParamMinValue("MaxSize", 1))
14279	}
14280	if s.MinSize == nil {
14281		invalidParams.Add(request.NewErrParamRequired("MinSize"))
14282	}
14283	if s.RoleArn == nil {
14284		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
14285	}
14286	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
14287		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
14288	}
14289	if s.VpcSubnets != nil && len(s.VpcSubnets) < 1 {
14290		invalidParams.Add(request.NewErrParamMinLen("VpcSubnets", 1))
14291	}
14292	if s.AutoScalingPolicy != nil {
14293		if err := s.AutoScalingPolicy.Validate(); err != nil {
14294			invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams))
14295		}
14296	}
14297	if s.InstanceDefinitions != nil {
14298		for i, v := range s.InstanceDefinitions {
14299			if v == nil {
14300				continue
14301			}
14302			if err := v.Validate(); err != nil {
14303				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceDefinitions", i), err.(request.ErrInvalidParams))
14304			}
14305		}
14306	}
14307	if s.LaunchTemplate != nil {
14308		if err := s.LaunchTemplate.Validate(); err != nil {
14309			invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams))
14310		}
14311	}
14312	if s.Tags != nil {
14313		for i, v := range s.Tags {
14314			if v == nil {
14315				continue
14316			}
14317			if err := v.Validate(); err != nil {
14318				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
14319			}
14320		}
14321	}
14322
14323	if invalidParams.Len() > 0 {
14324		return invalidParams
14325	}
14326	return nil
14327}
14328
14329// SetAutoScalingPolicy sets the AutoScalingPolicy field's value.
14330func (s *CreateGameServerGroupInput) SetAutoScalingPolicy(v *GameServerGroupAutoScalingPolicy) *CreateGameServerGroupInput {
14331	s.AutoScalingPolicy = v
14332	return s
14333}
14334
14335// SetBalancingStrategy sets the BalancingStrategy field's value.
14336func (s *CreateGameServerGroupInput) SetBalancingStrategy(v string) *CreateGameServerGroupInput {
14337	s.BalancingStrategy = &v
14338	return s
14339}
14340
14341// SetGameServerGroupName sets the GameServerGroupName field's value.
14342func (s *CreateGameServerGroupInput) SetGameServerGroupName(v string) *CreateGameServerGroupInput {
14343	s.GameServerGroupName = &v
14344	return s
14345}
14346
14347// SetGameServerProtectionPolicy sets the GameServerProtectionPolicy field's value.
14348func (s *CreateGameServerGroupInput) SetGameServerProtectionPolicy(v string) *CreateGameServerGroupInput {
14349	s.GameServerProtectionPolicy = &v
14350	return s
14351}
14352
14353// SetInstanceDefinitions sets the InstanceDefinitions field's value.
14354func (s *CreateGameServerGroupInput) SetInstanceDefinitions(v []*InstanceDefinition) *CreateGameServerGroupInput {
14355	s.InstanceDefinitions = v
14356	return s
14357}
14358
14359// SetLaunchTemplate sets the LaunchTemplate field's value.
14360func (s *CreateGameServerGroupInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *CreateGameServerGroupInput {
14361	s.LaunchTemplate = v
14362	return s
14363}
14364
14365// SetMaxSize sets the MaxSize field's value.
14366func (s *CreateGameServerGroupInput) SetMaxSize(v int64) *CreateGameServerGroupInput {
14367	s.MaxSize = &v
14368	return s
14369}
14370
14371// SetMinSize sets the MinSize field's value.
14372func (s *CreateGameServerGroupInput) SetMinSize(v int64) *CreateGameServerGroupInput {
14373	s.MinSize = &v
14374	return s
14375}
14376
14377// SetRoleArn sets the RoleArn field's value.
14378func (s *CreateGameServerGroupInput) SetRoleArn(v string) *CreateGameServerGroupInput {
14379	s.RoleArn = &v
14380	return s
14381}
14382
14383// SetTags sets the Tags field's value.
14384func (s *CreateGameServerGroupInput) SetTags(v []*Tag) *CreateGameServerGroupInput {
14385	s.Tags = v
14386	return s
14387}
14388
14389// SetVpcSubnets sets the VpcSubnets field's value.
14390func (s *CreateGameServerGroupInput) SetVpcSubnets(v []*string) *CreateGameServerGroupInput {
14391	s.VpcSubnets = v
14392	return s
14393}
14394
14395type CreateGameServerGroupOutput struct {
14396	_ struct{} `type:"structure"`
14397
14398	// The newly created game server group object, including the new ARN value for
14399	// the GameLift FleetIQ game server group and the object's status. The EC2 Auto
14400	// Scaling group ARN is initially null, since the group has not yet been created.
14401	// This value is added once the game server group status reaches ACTIVE.
14402	GameServerGroup *GameServerGroup `type:"structure"`
14403}
14404
14405// String returns the string representation.
14406//
14407// API parameter values that are decorated as "sensitive" in the API will not
14408// be included in the string output. The member name will be present, but the
14409// value will be replaced with "sensitive".
14410func (s CreateGameServerGroupOutput) String() string {
14411	return awsutil.Prettify(s)
14412}
14413
14414// GoString returns the string representation.
14415//
14416// API parameter values that are decorated as "sensitive" in the API will not
14417// be included in the string output. The member name will be present, but the
14418// value will be replaced with "sensitive".
14419func (s CreateGameServerGroupOutput) GoString() string {
14420	return s.String()
14421}
14422
14423// SetGameServerGroup sets the GameServerGroup field's value.
14424func (s *CreateGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *CreateGameServerGroupOutput {
14425	s.GameServerGroup = v
14426	return s
14427}
14428
14429// Represents the input for a request operation.
14430type CreateGameSessionInput struct {
14431	_ struct{} `type:"structure"`
14432
14433	// A unique identifier for the alias associated with the fleet to create a game
14434	// session in. You can use either the alias ID or ARN value. Each request must
14435	// reference either a fleet ID or alias ID, but not both.
14436	AliasId *string `type:"string"`
14437
14438	// A unique identifier for a player or entity creating the game session. This
14439	// parameter is required when requesting a new game session on a fleet with
14440	// a resource creation limit policy. This type of policy limits the number of
14441	// concurrent active game sessions that one player can create within a certain
14442	// time span. GameLift uses the CreatorId to evaluate the new request against
14443	// the policy.
14444	CreatorId *string `min:"1" type:"string"`
14445
14446	// A unique identifier for the fleet to create a game session in. You can use
14447	// either the fleet ID or ARN value. Each request must reference either a fleet
14448	// ID or alias ID, but not both.
14449	FleetId *string `type:"string"`
14450
14451	// A set of custom properties for a game session, formatted as key:value pairs.
14452	// These properties are passed to a game server process in the GameSession object
14453	// with a request to start a new game session.
14454	GameProperties []*GameProperty `type:"list"`
14455
14456	// A set of custom game session properties, formatted as a single string value.
14457	// This data is passed to a game server process in the GameSession object with
14458	// a request to start a new game session.
14459	GameSessionData *string `min:"1" type:"string"`
14460
14461	// This parameter is no longer preferred. Please use IdempotencyToken instead.
14462	// Custom string that uniquely identifies a request for a new game session.
14463	// Maximum token length is 48 characters. If provided, this string is included
14464	// in the new game session's ID.
14465	GameSessionId *string `min:"1" type:"string"`
14466
14467	// Custom string that uniquely identifies the new game session request. This
14468	// is useful for ensuring that game session requests with the same idempotency
14469	// token are processed only once. Subsequent requests with the same string return
14470	// the original GameSession object, with an updated status. Maximum token length
14471	// is 48 characters. If provided, this string is included in the new game session's
14472	// ID. A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet
14473	// ID>/<custom ID string or idempotency token>. Idempotency tokens remain in
14474	// use for 30 days after a game session has ended; game session objects are
14475	// retained for this time period and then deleted.
14476	IdempotencyToken *string `min:"1" type:"string"`
14477
14478	// A fleet's remote location to place the new game session in. If this parameter
14479	// is not set, the new game session is placed in the fleet's home Region. Specify
14480	// a remote location with an AWS Region code such as us-west-2.
14481	Location *string `min:"1" type:"string"`
14482
14483	// The maximum number of players that can be connected simultaneously to the
14484	// game session.
14485	//
14486	// MaximumPlayerSessionCount is a required field
14487	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
14488
14489	// A descriptive label that is associated with a game session. Session names
14490	// do not need to be unique.
14491	Name *string `min:"1" type:"string"`
14492}
14493
14494// String returns the string representation.
14495//
14496// API parameter values that are decorated as "sensitive" in the API will not
14497// be included in the string output. The member name will be present, but the
14498// value will be replaced with "sensitive".
14499func (s CreateGameSessionInput) String() string {
14500	return awsutil.Prettify(s)
14501}
14502
14503// GoString returns the string representation.
14504//
14505// API parameter values that are decorated as "sensitive" in the API will not
14506// be included in the string output. The member name will be present, but the
14507// value will be replaced with "sensitive".
14508func (s CreateGameSessionInput) GoString() string {
14509	return s.String()
14510}
14511
14512// Validate inspects the fields of the type to determine if they are valid.
14513func (s *CreateGameSessionInput) Validate() error {
14514	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionInput"}
14515	if s.CreatorId != nil && len(*s.CreatorId) < 1 {
14516		invalidParams.Add(request.NewErrParamMinLen("CreatorId", 1))
14517	}
14518	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
14519		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
14520	}
14521	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
14522		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
14523	}
14524	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
14525		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
14526	}
14527	if s.Location != nil && len(*s.Location) < 1 {
14528		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
14529	}
14530	if s.MaximumPlayerSessionCount == nil {
14531		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
14532	}
14533	if s.Name != nil && len(*s.Name) < 1 {
14534		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14535	}
14536	if s.GameProperties != nil {
14537		for i, v := range s.GameProperties {
14538			if v == nil {
14539				continue
14540			}
14541			if err := v.Validate(); err != nil {
14542				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
14543			}
14544		}
14545	}
14546
14547	if invalidParams.Len() > 0 {
14548		return invalidParams
14549	}
14550	return nil
14551}
14552
14553// SetAliasId sets the AliasId field's value.
14554func (s *CreateGameSessionInput) SetAliasId(v string) *CreateGameSessionInput {
14555	s.AliasId = &v
14556	return s
14557}
14558
14559// SetCreatorId sets the CreatorId field's value.
14560func (s *CreateGameSessionInput) SetCreatorId(v string) *CreateGameSessionInput {
14561	s.CreatorId = &v
14562	return s
14563}
14564
14565// SetFleetId sets the FleetId field's value.
14566func (s *CreateGameSessionInput) SetFleetId(v string) *CreateGameSessionInput {
14567	s.FleetId = &v
14568	return s
14569}
14570
14571// SetGameProperties sets the GameProperties field's value.
14572func (s *CreateGameSessionInput) SetGameProperties(v []*GameProperty) *CreateGameSessionInput {
14573	s.GameProperties = v
14574	return s
14575}
14576
14577// SetGameSessionData sets the GameSessionData field's value.
14578func (s *CreateGameSessionInput) SetGameSessionData(v string) *CreateGameSessionInput {
14579	s.GameSessionData = &v
14580	return s
14581}
14582
14583// SetGameSessionId sets the GameSessionId field's value.
14584func (s *CreateGameSessionInput) SetGameSessionId(v string) *CreateGameSessionInput {
14585	s.GameSessionId = &v
14586	return s
14587}
14588
14589// SetIdempotencyToken sets the IdempotencyToken field's value.
14590func (s *CreateGameSessionInput) SetIdempotencyToken(v string) *CreateGameSessionInput {
14591	s.IdempotencyToken = &v
14592	return s
14593}
14594
14595// SetLocation sets the Location field's value.
14596func (s *CreateGameSessionInput) SetLocation(v string) *CreateGameSessionInput {
14597	s.Location = &v
14598	return s
14599}
14600
14601// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
14602func (s *CreateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *CreateGameSessionInput {
14603	s.MaximumPlayerSessionCount = &v
14604	return s
14605}
14606
14607// SetName sets the Name field's value.
14608func (s *CreateGameSessionInput) SetName(v string) *CreateGameSessionInput {
14609	s.Name = &v
14610	return s
14611}
14612
14613// Represents the returned data in response to a request operation.
14614type CreateGameSessionOutput struct {
14615	_ struct{} `type:"structure"`
14616
14617	// Object that describes the newly created game session record.
14618	GameSession *GameSession `type:"structure"`
14619}
14620
14621// String returns the string representation.
14622//
14623// API parameter values that are decorated as "sensitive" in the API will not
14624// be included in the string output. The member name will be present, but the
14625// value will be replaced with "sensitive".
14626func (s CreateGameSessionOutput) String() string {
14627	return awsutil.Prettify(s)
14628}
14629
14630// GoString returns the string representation.
14631//
14632// API parameter values that are decorated as "sensitive" in the API will not
14633// be included in the string output. The member name will be present, but the
14634// value will be replaced with "sensitive".
14635func (s CreateGameSessionOutput) GoString() string {
14636	return s.String()
14637}
14638
14639// SetGameSession sets the GameSession field's value.
14640func (s *CreateGameSessionOutput) SetGameSession(v *GameSession) *CreateGameSessionOutput {
14641	s.GameSession = v
14642	return s
14643}
14644
14645// Represents the input for a request operation.
14646type CreateGameSessionQueueInput struct {
14647	_ struct{} `type:"structure"`
14648
14649	// Information to be added to all events that are related to this game session
14650	// queue.
14651	CustomEventData *string `type:"string"`
14652
14653	// A list of fleets and/or fleet aliases that can be used to fulfill game session
14654	// placement requests in the queue. Destinations are identified by either a
14655	// fleet ARN or a fleet alias ARN, and are listed in order of placement preference.
14656	Destinations []*GameSessionQueueDestination `type:"list"`
14657
14658	// A list of locations where a queue is allowed to place new game sessions.
14659	// Locations are specified in the form of AWS Region codes, such as us-west-2.
14660	// If this parameter is not set, game sessions can be placed in any queue location.
14661	FilterConfiguration *FilterConfiguration `type:"structure"`
14662
14663	// A descriptive label that is associated with game session queue. Queue names
14664	// must be unique within each Region.
14665	//
14666	// Name is a required field
14667	Name *string `min:"1" type:"string" required:"true"`
14668
14669	// An SNS topic ARN that is set up to receive game session placement notifications.
14670	// See Setting up notifications for game session placement (https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html).
14671	NotificationTarget *string `type:"string"`
14672
14673	// A set of policies that act as a sliding cap on player latency. FleetIQ works
14674	// to deliver low latency for most players in a game session. These policies
14675	// ensure that no individual player can be placed into a game with unreasonably
14676	// high latency. Use multiple policies to gradually relax latency requirements
14677	// a step at a time. Multiple policies are applied based on their maximum allowed
14678	// latency, starting with the lowest value.
14679	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
14680
14681	// Custom settings to use when prioritizing destinations and locations for game
14682	// session placements. This configuration replaces the FleetIQ default prioritization
14683	// process. Priority types that are not explicitly named will be automatically
14684	// applied at the end of the prioritization process.
14685	PriorityConfiguration *PriorityConfiguration `type:"structure"`
14686
14687	// A list of labels to assign to the new game session queue resource. Tags are
14688	// developer-defined key-value pairs. Tagging AWS resources are useful for resource
14689	// management, access management and cost allocation. For more information,
14690	// see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
14691	// in the AWS General Reference. Once the resource is created, you can use TagResource,
14692	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
14693	// maximum tag limit may be lower than stated. See the AWS General Reference
14694	// for actual tagging limits.
14695	Tags []*Tag `type:"list"`
14696
14697	// The maximum time, in seconds, that a new game session placement request remains
14698	// in the queue. When a request exceeds this time, the game session placement
14699	// changes to a TIMED_OUT status.
14700	TimeoutInSeconds *int64 `type:"integer"`
14701}
14702
14703// String returns the string representation.
14704//
14705// API parameter values that are decorated as "sensitive" in the API will not
14706// be included in the string output. The member name will be present, but the
14707// value will be replaced with "sensitive".
14708func (s CreateGameSessionQueueInput) String() string {
14709	return awsutil.Prettify(s)
14710}
14711
14712// GoString returns the string representation.
14713//
14714// API parameter values that are decorated as "sensitive" in the API will not
14715// be included in the string output. The member name will be present, but the
14716// value will be replaced with "sensitive".
14717func (s CreateGameSessionQueueInput) GoString() string {
14718	return s.String()
14719}
14720
14721// Validate inspects the fields of the type to determine if they are valid.
14722func (s *CreateGameSessionQueueInput) Validate() error {
14723	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionQueueInput"}
14724	if s.Name == nil {
14725		invalidParams.Add(request.NewErrParamRequired("Name"))
14726	}
14727	if s.Name != nil && len(*s.Name) < 1 {
14728		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14729	}
14730	if s.Destinations != nil {
14731		for i, v := range s.Destinations {
14732			if v == nil {
14733				continue
14734			}
14735			if err := v.Validate(); err != nil {
14736				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
14737			}
14738		}
14739	}
14740	if s.FilterConfiguration != nil {
14741		if err := s.FilterConfiguration.Validate(); err != nil {
14742			invalidParams.AddNested("FilterConfiguration", err.(request.ErrInvalidParams))
14743		}
14744	}
14745	if s.PriorityConfiguration != nil {
14746		if err := s.PriorityConfiguration.Validate(); err != nil {
14747			invalidParams.AddNested("PriorityConfiguration", err.(request.ErrInvalidParams))
14748		}
14749	}
14750	if s.Tags != nil {
14751		for i, v := range s.Tags {
14752			if v == nil {
14753				continue
14754			}
14755			if err := v.Validate(); err != nil {
14756				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
14757			}
14758		}
14759	}
14760
14761	if invalidParams.Len() > 0 {
14762		return invalidParams
14763	}
14764	return nil
14765}
14766
14767// SetCustomEventData sets the CustomEventData field's value.
14768func (s *CreateGameSessionQueueInput) SetCustomEventData(v string) *CreateGameSessionQueueInput {
14769	s.CustomEventData = &v
14770	return s
14771}
14772
14773// SetDestinations sets the Destinations field's value.
14774func (s *CreateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *CreateGameSessionQueueInput {
14775	s.Destinations = v
14776	return s
14777}
14778
14779// SetFilterConfiguration sets the FilterConfiguration field's value.
14780func (s *CreateGameSessionQueueInput) SetFilterConfiguration(v *FilterConfiguration) *CreateGameSessionQueueInput {
14781	s.FilterConfiguration = v
14782	return s
14783}
14784
14785// SetName sets the Name field's value.
14786func (s *CreateGameSessionQueueInput) SetName(v string) *CreateGameSessionQueueInput {
14787	s.Name = &v
14788	return s
14789}
14790
14791// SetNotificationTarget sets the NotificationTarget field's value.
14792func (s *CreateGameSessionQueueInput) SetNotificationTarget(v string) *CreateGameSessionQueueInput {
14793	s.NotificationTarget = &v
14794	return s
14795}
14796
14797// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
14798func (s *CreateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *CreateGameSessionQueueInput {
14799	s.PlayerLatencyPolicies = v
14800	return s
14801}
14802
14803// SetPriorityConfiguration sets the PriorityConfiguration field's value.
14804func (s *CreateGameSessionQueueInput) SetPriorityConfiguration(v *PriorityConfiguration) *CreateGameSessionQueueInput {
14805	s.PriorityConfiguration = v
14806	return s
14807}
14808
14809// SetTags sets the Tags field's value.
14810func (s *CreateGameSessionQueueInput) SetTags(v []*Tag) *CreateGameSessionQueueInput {
14811	s.Tags = v
14812	return s
14813}
14814
14815// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
14816func (s *CreateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *CreateGameSessionQueueInput {
14817	s.TimeoutInSeconds = &v
14818	return s
14819}
14820
14821// Represents the returned data in response to a request operation.
14822type CreateGameSessionQueueOutput struct {
14823	_ struct{} `type:"structure"`
14824
14825	// An object that describes the newly created game session queue.
14826	GameSessionQueue *GameSessionQueue `type:"structure"`
14827}
14828
14829// String returns the string representation.
14830//
14831// API parameter values that are decorated as "sensitive" in the API will not
14832// be included in the string output. The member name will be present, but the
14833// value will be replaced with "sensitive".
14834func (s CreateGameSessionQueueOutput) String() string {
14835	return awsutil.Prettify(s)
14836}
14837
14838// GoString returns the string representation.
14839//
14840// API parameter values that are decorated as "sensitive" in the API will not
14841// be included in the string output. The member name will be present, but the
14842// value will be replaced with "sensitive".
14843func (s CreateGameSessionQueueOutput) GoString() string {
14844	return s.String()
14845}
14846
14847// SetGameSessionQueue sets the GameSessionQueue field's value.
14848func (s *CreateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *CreateGameSessionQueueOutput {
14849	s.GameSessionQueue = v
14850	return s
14851}
14852
14853// Represents the input for a request operation.
14854type CreateMatchmakingConfigurationInput struct {
14855	_ struct{} `type:"structure"`
14856
14857	// A flag that determines whether a match that was created with this configuration
14858	// must be accepted by the matched players. To require acceptance, set to TRUE.
14859	// With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE
14860	// to indicate when a completed potential match is waiting for player acceptance.
14861	//
14862	// AcceptanceRequired is a required field
14863	AcceptanceRequired *bool `type:"boolean" required:"true"`
14864
14865	// The length of time (in seconds) to wait for players to accept a proposed
14866	// match, if acceptance is required.
14867	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
14868
14869	// The number of player slots in a match to keep open for future players. For
14870	// example, if the configuration's rule set specifies a match for a single 12-person
14871	// team, and the additional player count is set to 2, only 10 players are selected
14872	// for the match. This parameter is not used if FlexMatchMode is set to STANDALONE.
14873	AdditionalPlayerCount *int64 `type:"integer"`
14874
14875	// The method used to backfill game sessions that are created with this matchmaking
14876	// configuration. Specify MANUAL when your game manages backfill requests manually
14877	// or does not use the match backfill feature. Specify AUTOMATIC to have GameLift
14878	// create a StartMatchBackfill request whenever a game session has one or more
14879	// open slots. Learn more about manual and automatic backfill in Backfill Existing
14880	// Games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html).
14881	// Automatic backfill is not available when FlexMatchMode is set to STANDALONE.
14882	BackfillMode *string `type:"string" enum:"BackfillMode"`
14883
14884	// Information to be added to all events related to this matchmaking configuration.
14885	CustomEventData *string `type:"string"`
14886
14887	// A human-readable description of the matchmaking configuration.
14888	Description *string `min:"1" type:"string"`
14889
14890	// Indicates whether this matchmaking configuration is being used with GameLift
14891	// hosting or as a standalone matchmaking solution.
14892	//
14893	//    * STANDALONE - FlexMatch forms matches and returns match information,
14894	//    including players and team assignments, in a MatchmakingSucceeded (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded)
14895	//    event.
14896	//
14897	//    * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift
14898	//    queue to start a game session for the match.
14899	FlexMatchMode *string `type:"string" enum:"FlexMatchMode"`
14900
14901	// A set of custom properties for a game session, formatted as key:value pairs.
14902	// These properties are passed to a game server process in the GameSession object
14903	// with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
14904	// This information is added to the new GameSession object that is created for
14905	// a successful match. This parameter is not used if FlexMatchMode is set to
14906	// STANDALONE.
14907	GameProperties []*GameProperty `type:"list"`
14908
14909	// A set of custom game session properties, formatted as a single string value.
14910	// This data is passed to a game server process in the GameSession object with
14911	// a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
14912	// This information is added to the new GameSession object that is created for
14913	// a successful match. This parameter is not used if FlexMatchMode is set to
14914	// STANDALONE.
14915	GameSessionData *string `min:"1" type:"string"`
14916
14917	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
14918	// that is assigned to a GameLift game session queue resource and uniquely identifies
14919	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
14920	// name>. Queues can be located in any Region. Queues are used to start new
14921	// GameLift-hosted game sessions for matches that are created with this matchmaking
14922	// configuration. If FlexMatchMode is set to STANDALONE, do not set this parameter.
14923	GameSessionQueueArns []*string `type:"list"`
14924
14925	// A unique identifier for the matchmaking configuration. This name is used
14926	// to identify the configuration associated with a matchmaking request or ticket.
14927	//
14928	// Name is a required field
14929	Name *string `type:"string" required:"true"`
14930
14931	// An SNS topic ARN that is set up to receive matchmaking notifications. See
14932	// Setting up notifications for matchmaking (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
14933	// for more information.
14934	NotificationTarget *string `type:"string"`
14935
14936	// The maximum duration, in seconds, that a matchmaking ticket can remain in
14937	// process before timing out. Requests that fail due to timing out can be resubmitted
14938	// as needed.
14939	//
14940	// RequestTimeoutSeconds is a required field
14941	RequestTimeoutSeconds *int64 `min:"1" type:"integer" required:"true"`
14942
14943	// A unique identifier for the matchmaking rule set to use with this configuration.
14944	// You can use either the rule set name or ARN value. A matchmaking configuration
14945	// can only use rule sets that are defined in the same Region.
14946	//
14947	// RuleSetName is a required field
14948	RuleSetName *string `min:"1" type:"string" required:"true"`
14949
14950	// A list of labels to assign to the new matchmaking configuration resource.
14951	// Tags are developer-defined key-value pairs. Tagging AWS resources are useful
14952	// for resource management, access management and cost allocation. For more
14953	// information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
14954	// in the AWS General Reference. Once the resource is created, you can use TagResource,
14955	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
14956	// maximum tag limit may be lower than stated. See the AWS General Reference
14957	// for actual tagging limits.
14958	Tags []*Tag `type:"list"`
14959}
14960
14961// String returns the string representation.
14962//
14963// API parameter values that are decorated as "sensitive" in the API will not
14964// be included in the string output. The member name will be present, but the
14965// value will be replaced with "sensitive".
14966func (s CreateMatchmakingConfigurationInput) String() string {
14967	return awsutil.Prettify(s)
14968}
14969
14970// GoString returns the string representation.
14971//
14972// API parameter values that are decorated as "sensitive" in the API will not
14973// be included in the string output. The member name will be present, but the
14974// value will be replaced with "sensitive".
14975func (s CreateMatchmakingConfigurationInput) GoString() string {
14976	return s.String()
14977}
14978
14979// Validate inspects the fields of the type to determine if they are valid.
14980func (s *CreateMatchmakingConfigurationInput) Validate() error {
14981	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingConfigurationInput"}
14982	if s.AcceptanceRequired == nil {
14983		invalidParams.Add(request.NewErrParamRequired("AcceptanceRequired"))
14984	}
14985	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
14986		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
14987	}
14988	if s.Description != nil && len(*s.Description) < 1 {
14989		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
14990	}
14991	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
14992		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
14993	}
14994	if s.Name == nil {
14995		invalidParams.Add(request.NewErrParamRequired("Name"))
14996	}
14997	if s.RequestTimeoutSeconds == nil {
14998		invalidParams.Add(request.NewErrParamRequired("RequestTimeoutSeconds"))
14999	}
15000	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
15001		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
15002	}
15003	if s.RuleSetName == nil {
15004		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
15005	}
15006	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
15007		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
15008	}
15009	if s.GameProperties != nil {
15010		for i, v := range s.GameProperties {
15011			if v == nil {
15012				continue
15013			}
15014			if err := v.Validate(); err != nil {
15015				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
15016			}
15017		}
15018	}
15019	if s.Tags != nil {
15020		for i, v := range s.Tags {
15021			if v == nil {
15022				continue
15023			}
15024			if err := v.Validate(); err != nil {
15025				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15026			}
15027		}
15028	}
15029
15030	if invalidParams.Len() > 0 {
15031		return invalidParams
15032	}
15033	return nil
15034}
15035
15036// SetAcceptanceRequired sets the AcceptanceRequired field's value.
15037func (s *CreateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *CreateMatchmakingConfigurationInput {
15038	s.AcceptanceRequired = &v
15039	return s
15040}
15041
15042// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
15043func (s *CreateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
15044	s.AcceptanceTimeoutSeconds = &v
15045	return s
15046}
15047
15048// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
15049func (s *CreateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *CreateMatchmakingConfigurationInput {
15050	s.AdditionalPlayerCount = &v
15051	return s
15052}
15053
15054// SetBackfillMode sets the BackfillMode field's value.
15055func (s *CreateMatchmakingConfigurationInput) SetBackfillMode(v string) *CreateMatchmakingConfigurationInput {
15056	s.BackfillMode = &v
15057	return s
15058}
15059
15060// SetCustomEventData sets the CustomEventData field's value.
15061func (s *CreateMatchmakingConfigurationInput) SetCustomEventData(v string) *CreateMatchmakingConfigurationInput {
15062	s.CustomEventData = &v
15063	return s
15064}
15065
15066// SetDescription sets the Description field's value.
15067func (s *CreateMatchmakingConfigurationInput) SetDescription(v string) *CreateMatchmakingConfigurationInput {
15068	s.Description = &v
15069	return s
15070}
15071
15072// SetFlexMatchMode sets the FlexMatchMode field's value.
15073func (s *CreateMatchmakingConfigurationInput) SetFlexMatchMode(v string) *CreateMatchmakingConfigurationInput {
15074	s.FlexMatchMode = &v
15075	return s
15076}
15077
15078// SetGameProperties sets the GameProperties field's value.
15079func (s *CreateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *CreateMatchmakingConfigurationInput {
15080	s.GameProperties = v
15081	return s
15082}
15083
15084// SetGameSessionData sets the GameSessionData field's value.
15085func (s *CreateMatchmakingConfigurationInput) SetGameSessionData(v string) *CreateMatchmakingConfigurationInput {
15086	s.GameSessionData = &v
15087	return s
15088}
15089
15090// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
15091func (s *CreateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *CreateMatchmakingConfigurationInput {
15092	s.GameSessionQueueArns = v
15093	return s
15094}
15095
15096// SetName sets the Name field's value.
15097func (s *CreateMatchmakingConfigurationInput) SetName(v string) *CreateMatchmakingConfigurationInput {
15098	s.Name = &v
15099	return s
15100}
15101
15102// SetNotificationTarget sets the NotificationTarget field's value.
15103func (s *CreateMatchmakingConfigurationInput) SetNotificationTarget(v string) *CreateMatchmakingConfigurationInput {
15104	s.NotificationTarget = &v
15105	return s
15106}
15107
15108// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
15109func (s *CreateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
15110	s.RequestTimeoutSeconds = &v
15111	return s
15112}
15113
15114// SetRuleSetName sets the RuleSetName field's value.
15115func (s *CreateMatchmakingConfigurationInput) SetRuleSetName(v string) *CreateMatchmakingConfigurationInput {
15116	s.RuleSetName = &v
15117	return s
15118}
15119
15120// SetTags sets the Tags field's value.
15121func (s *CreateMatchmakingConfigurationInput) SetTags(v []*Tag) *CreateMatchmakingConfigurationInput {
15122	s.Tags = v
15123	return s
15124}
15125
15126// Represents the returned data in response to a request operation.
15127type CreateMatchmakingConfigurationOutput struct {
15128	_ struct{} `type:"structure"`
15129
15130	// Object that describes the newly created matchmaking configuration.
15131	Configuration *MatchmakingConfiguration `type:"structure"`
15132}
15133
15134// String returns the string representation.
15135//
15136// API parameter values that are decorated as "sensitive" in the API will not
15137// be included in the string output. The member name will be present, but the
15138// value will be replaced with "sensitive".
15139func (s CreateMatchmakingConfigurationOutput) String() string {
15140	return awsutil.Prettify(s)
15141}
15142
15143// GoString returns the string representation.
15144//
15145// API parameter values that are decorated as "sensitive" in the API will not
15146// be included in the string output. The member name will be present, but the
15147// value will be replaced with "sensitive".
15148func (s CreateMatchmakingConfigurationOutput) GoString() string {
15149	return s.String()
15150}
15151
15152// SetConfiguration sets the Configuration field's value.
15153func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *CreateMatchmakingConfigurationOutput {
15154	s.Configuration = v
15155	return s
15156}
15157
15158// Represents the input for a request operation.
15159type CreateMatchmakingRuleSetInput struct {
15160	_ struct{} `type:"structure"`
15161
15162	// A unique identifier for the matchmaking rule set. A matchmaking configuration
15163	// identifies the rule set it uses by this name value. Note that the rule set
15164	// name is different from the optional name field in the rule set body.
15165	//
15166	// Name is a required field
15167	Name *string `type:"string" required:"true"`
15168
15169	// A collection of matchmaking rules, formatted as a JSON string. Comments are
15170	// not allowed in JSON, but most elements support a description field.
15171	//
15172	// RuleSetBody is a required field
15173	RuleSetBody *string `min:"1" type:"string" required:"true"`
15174
15175	// A list of labels to assign to the new matchmaking rule set resource. Tags
15176	// are developer-defined key-value pairs. Tagging AWS resources are useful for
15177	// resource management, access management and cost allocation. For more information,
15178	// see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
15179	// in the AWS General Reference. Once the resource is created, you can use TagResource,
15180	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
15181	// maximum tag limit may be lower than stated. See the AWS General Reference
15182	// for actual tagging limits.
15183	Tags []*Tag `type:"list"`
15184}
15185
15186// String returns the string representation.
15187//
15188// API parameter values that are decorated as "sensitive" in the API will not
15189// be included in the string output. The member name will be present, but the
15190// value will be replaced with "sensitive".
15191func (s CreateMatchmakingRuleSetInput) String() string {
15192	return awsutil.Prettify(s)
15193}
15194
15195// GoString returns the string representation.
15196//
15197// API parameter values that are decorated as "sensitive" in the API will not
15198// be included in the string output. The member name will be present, but the
15199// value will be replaced with "sensitive".
15200func (s CreateMatchmakingRuleSetInput) GoString() string {
15201	return s.String()
15202}
15203
15204// Validate inspects the fields of the type to determine if they are valid.
15205func (s *CreateMatchmakingRuleSetInput) Validate() error {
15206	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingRuleSetInput"}
15207	if s.Name == nil {
15208		invalidParams.Add(request.NewErrParamRequired("Name"))
15209	}
15210	if s.RuleSetBody == nil {
15211		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
15212	}
15213	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
15214		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
15215	}
15216	if s.Tags != nil {
15217		for i, v := range s.Tags {
15218			if v == nil {
15219				continue
15220			}
15221			if err := v.Validate(); err != nil {
15222				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15223			}
15224		}
15225	}
15226
15227	if invalidParams.Len() > 0 {
15228		return invalidParams
15229	}
15230	return nil
15231}
15232
15233// SetName sets the Name field's value.
15234func (s *CreateMatchmakingRuleSetInput) SetName(v string) *CreateMatchmakingRuleSetInput {
15235	s.Name = &v
15236	return s
15237}
15238
15239// SetRuleSetBody sets the RuleSetBody field's value.
15240func (s *CreateMatchmakingRuleSetInput) SetRuleSetBody(v string) *CreateMatchmakingRuleSetInput {
15241	s.RuleSetBody = &v
15242	return s
15243}
15244
15245// SetTags sets the Tags field's value.
15246func (s *CreateMatchmakingRuleSetInput) SetTags(v []*Tag) *CreateMatchmakingRuleSetInput {
15247	s.Tags = v
15248	return s
15249}
15250
15251// Represents the returned data in response to a request operation.
15252type CreateMatchmakingRuleSetOutput struct {
15253	_ struct{} `type:"structure"`
15254
15255	// The newly created matchmaking rule set.
15256	//
15257	// RuleSet is a required field
15258	RuleSet *MatchmakingRuleSet `type:"structure" required:"true"`
15259}
15260
15261// String returns the string representation.
15262//
15263// API parameter values that are decorated as "sensitive" in the API will not
15264// be included in the string output. The member name will be present, but the
15265// value will be replaced with "sensitive".
15266func (s CreateMatchmakingRuleSetOutput) String() string {
15267	return awsutil.Prettify(s)
15268}
15269
15270// GoString returns the string representation.
15271//
15272// API parameter values that are decorated as "sensitive" in the API will not
15273// be included in the string output. The member name will be present, but the
15274// value will be replaced with "sensitive".
15275func (s CreateMatchmakingRuleSetOutput) GoString() string {
15276	return s.String()
15277}
15278
15279// SetRuleSet sets the RuleSet field's value.
15280func (s *CreateMatchmakingRuleSetOutput) SetRuleSet(v *MatchmakingRuleSet) *CreateMatchmakingRuleSetOutput {
15281	s.RuleSet = v
15282	return s
15283}
15284
15285// Represents the input for a request operation.
15286type CreatePlayerSessionInput struct {
15287	_ struct{} `type:"structure"`
15288
15289	// A unique identifier for the game session to add a player to.
15290	//
15291	// GameSessionId is a required field
15292	GameSessionId *string `min:"1" type:"string" required:"true"`
15293
15294	// Developer-defined information related to a player. GameLift does not use
15295	// this data, so it can be formatted as needed for use in the game.
15296	PlayerData *string `min:"1" type:"string"`
15297
15298	// A unique identifier for a player. Player IDs are developer-defined.
15299	//
15300	// PlayerId is a required field
15301	PlayerId *string `min:"1" type:"string" required:"true"`
15302}
15303
15304// String returns the string representation.
15305//
15306// API parameter values that are decorated as "sensitive" in the API will not
15307// be included in the string output. The member name will be present, but the
15308// value will be replaced with "sensitive".
15309func (s CreatePlayerSessionInput) String() string {
15310	return awsutil.Prettify(s)
15311}
15312
15313// GoString returns the string representation.
15314//
15315// API parameter values that are decorated as "sensitive" in the API will not
15316// be included in the string output. The member name will be present, but the
15317// value will be replaced with "sensitive".
15318func (s CreatePlayerSessionInput) GoString() string {
15319	return s.String()
15320}
15321
15322// Validate inspects the fields of the type to determine if they are valid.
15323func (s *CreatePlayerSessionInput) Validate() error {
15324	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionInput"}
15325	if s.GameSessionId == nil {
15326		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
15327	}
15328	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
15329		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
15330	}
15331	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
15332		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
15333	}
15334	if s.PlayerId == nil {
15335		invalidParams.Add(request.NewErrParamRequired("PlayerId"))
15336	}
15337	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
15338		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
15339	}
15340
15341	if invalidParams.Len() > 0 {
15342		return invalidParams
15343	}
15344	return nil
15345}
15346
15347// SetGameSessionId sets the GameSessionId field's value.
15348func (s *CreatePlayerSessionInput) SetGameSessionId(v string) *CreatePlayerSessionInput {
15349	s.GameSessionId = &v
15350	return s
15351}
15352
15353// SetPlayerData sets the PlayerData field's value.
15354func (s *CreatePlayerSessionInput) SetPlayerData(v string) *CreatePlayerSessionInput {
15355	s.PlayerData = &v
15356	return s
15357}
15358
15359// SetPlayerId sets the PlayerId field's value.
15360func (s *CreatePlayerSessionInput) SetPlayerId(v string) *CreatePlayerSessionInput {
15361	s.PlayerId = &v
15362	return s
15363}
15364
15365// Represents the returned data in response to a request operation.
15366type CreatePlayerSessionOutput struct {
15367	_ struct{} `type:"structure"`
15368
15369	// Object that describes the newly created player session record.
15370	PlayerSession *PlayerSession `type:"structure"`
15371}
15372
15373// String returns the string representation.
15374//
15375// API parameter values that are decorated as "sensitive" in the API will not
15376// be included in the string output. The member name will be present, but the
15377// value will be replaced with "sensitive".
15378func (s CreatePlayerSessionOutput) String() string {
15379	return awsutil.Prettify(s)
15380}
15381
15382// GoString returns the string representation.
15383//
15384// API parameter values that are decorated as "sensitive" in the API will not
15385// be included in the string output. The member name will be present, but the
15386// value will be replaced with "sensitive".
15387func (s CreatePlayerSessionOutput) GoString() string {
15388	return s.String()
15389}
15390
15391// SetPlayerSession sets the PlayerSession field's value.
15392func (s *CreatePlayerSessionOutput) SetPlayerSession(v *PlayerSession) *CreatePlayerSessionOutput {
15393	s.PlayerSession = v
15394	return s
15395}
15396
15397// Represents the input for a request operation.
15398type CreatePlayerSessionsInput struct {
15399	_ struct{} `type:"structure"`
15400
15401	// A unique identifier for the game session to add players to.
15402	//
15403	// GameSessionId is a required field
15404	GameSessionId *string `min:"1" type:"string" required:"true"`
15405
15406	// Map of string pairs, each specifying a player ID and a set of developer-defined
15407	// information related to the player. Amazon GameLift does not use this data,
15408	// so it can be formatted as needed for use in the game. Any player data strings
15409	// for player IDs that are not included in the PlayerIds parameter are ignored.
15410	PlayerDataMap map[string]*string `type:"map"`
15411
15412	// List of unique identifiers for the players to be added.
15413	//
15414	// PlayerIds is a required field
15415	PlayerIds []*string `min:"1" type:"list" required:"true"`
15416}
15417
15418// String returns the string representation.
15419//
15420// API parameter values that are decorated as "sensitive" in the API will not
15421// be included in the string output. The member name will be present, but the
15422// value will be replaced with "sensitive".
15423func (s CreatePlayerSessionsInput) String() string {
15424	return awsutil.Prettify(s)
15425}
15426
15427// GoString returns the string representation.
15428//
15429// API parameter values that are decorated as "sensitive" in the API will not
15430// be included in the string output. The member name will be present, but the
15431// value will be replaced with "sensitive".
15432func (s CreatePlayerSessionsInput) GoString() string {
15433	return s.String()
15434}
15435
15436// Validate inspects the fields of the type to determine if they are valid.
15437func (s *CreatePlayerSessionsInput) Validate() error {
15438	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionsInput"}
15439	if s.GameSessionId == nil {
15440		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
15441	}
15442	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
15443		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
15444	}
15445	if s.PlayerIds == nil {
15446		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
15447	}
15448	if s.PlayerIds != nil && len(s.PlayerIds) < 1 {
15449		invalidParams.Add(request.NewErrParamMinLen("PlayerIds", 1))
15450	}
15451
15452	if invalidParams.Len() > 0 {
15453		return invalidParams
15454	}
15455	return nil
15456}
15457
15458// SetGameSessionId sets the GameSessionId field's value.
15459func (s *CreatePlayerSessionsInput) SetGameSessionId(v string) *CreatePlayerSessionsInput {
15460	s.GameSessionId = &v
15461	return s
15462}
15463
15464// SetPlayerDataMap sets the PlayerDataMap field's value.
15465func (s *CreatePlayerSessionsInput) SetPlayerDataMap(v map[string]*string) *CreatePlayerSessionsInput {
15466	s.PlayerDataMap = v
15467	return s
15468}
15469
15470// SetPlayerIds sets the PlayerIds field's value.
15471func (s *CreatePlayerSessionsInput) SetPlayerIds(v []*string) *CreatePlayerSessionsInput {
15472	s.PlayerIds = v
15473	return s
15474}
15475
15476// Represents the returned data in response to a request operation.
15477type CreatePlayerSessionsOutput struct {
15478	_ struct{} `type:"structure"`
15479
15480	// A collection of player session objects created for the added players.
15481	PlayerSessions []*PlayerSession `type:"list"`
15482}
15483
15484// String returns the string representation.
15485//
15486// API parameter values that are decorated as "sensitive" in the API will not
15487// be included in the string output. The member name will be present, but the
15488// value will be replaced with "sensitive".
15489func (s CreatePlayerSessionsOutput) String() string {
15490	return awsutil.Prettify(s)
15491}
15492
15493// GoString returns the string representation.
15494//
15495// API parameter values that are decorated as "sensitive" in the API will not
15496// be included in the string output. The member name will be present, but the
15497// value will be replaced with "sensitive".
15498func (s CreatePlayerSessionsOutput) GoString() string {
15499	return s.String()
15500}
15501
15502// SetPlayerSessions sets the PlayerSessions field's value.
15503func (s *CreatePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *CreatePlayerSessionsOutput {
15504	s.PlayerSessions = v
15505	return s
15506}
15507
15508type CreateScriptInput struct {
15509	_ struct{} `type:"structure"`
15510
15511	// A descriptive label that is associated with a script. Script names do not
15512	// need to be unique. You can use UpdateScript to change this value later.
15513	Name *string `min:"1" type:"string"`
15514
15515	// The location of the Amazon S3 bucket where a zipped file containing your
15516	// Realtime scripts is stored. The storage location must specify the Amazon
15517	// S3 bucket name, the zip file name (the "key"), and a role ARN that allows
15518	// Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must
15519	// be in the same Region where you want to create a new script. By default,
15520	// Amazon GameLift uploads the latest version of the zip file; if you have S3
15521	// object versioning turned on, you can use the ObjectVersion parameter to specify
15522	// an earlier version.
15523	StorageLocation *S3Location `type:"structure"`
15524
15525	// A list of labels to assign to the new script resource. Tags are developer-defined
15526	// key-value pairs. Tagging AWS resources are useful for resource management,
15527	// access management and cost allocation. For more information, see Tagging
15528	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
15529	// in the AWS General Reference. Once the resource is created, you can use TagResource,
15530	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
15531	// maximum tag limit may be lower than stated. See the AWS General Reference
15532	// for actual tagging limits.
15533	Tags []*Tag `type:"list"`
15534
15535	// Version information that is associated with a build or script. Version strings
15536	// do not need to be unique. You can use UpdateScript to change this value later.
15537	Version *string `min:"1" type:"string"`
15538
15539	// A data object containing your Realtime scripts and dependencies as a zip
15540	// file. The zip file can have one or multiple files. Maximum size of a zip
15541	// file is 5 MB.
15542	//
15543	// When using the AWS CLI tool to create a script, this parameter is set to
15544	// the zip file name. It must be prepended with the string "fileb://" to indicate
15545	// that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.
15546	// ZipFile is automatically base64 encoded/decoded by the SDK.
15547	ZipFile []byte `type:"blob"`
15548}
15549
15550// String returns the string representation.
15551//
15552// API parameter values that are decorated as "sensitive" in the API will not
15553// be included in the string output. The member name will be present, but the
15554// value will be replaced with "sensitive".
15555func (s CreateScriptInput) String() string {
15556	return awsutil.Prettify(s)
15557}
15558
15559// GoString returns the string representation.
15560//
15561// API parameter values that are decorated as "sensitive" in the API will not
15562// be included in the string output. The member name will be present, but the
15563// value will be replaced with "sensitive".
15564func (s CreateScriptInput) GoString() string {
15565	return s.String()
15566}
15567
15568// Validate inspects the fields of the type to determine if they are valid.
15569func (s *CreateScriptInput) Validate() error {
15570	invalidParams := request.ErrInvalidParams{Context: "CreateScriptInput"}
15571	if s.Name != nil && len(*s.Name) < 1 {
15572		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
15573	}
15574	if s.Version != nil && len(*s.Version) < 1 {
15575		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
15576	}
15577	if s.StorageLocation != nil {
15578		if err := s.StorageLocation.Validate(); err != nil {
15579			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
15580		}
15581	}
15582	if s.Tags != nil {
15583		for i, v := range s.Tags {
15584			if v == nil {
15585				continue
15586			}
15587			if err := v.Validate(); err != nil {
15588				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
15589			}
15590		}
15591	}
15592
15593	if invalidParams.Len() > 0 {
15594		return invalidParams
15595	}
15596	return nil
15597}
15598
15599// SetName sets the Name field's value.
15600func (s *CreateScriptInput) SetName(v string) *CreateScriptInput {
15601	s.Name = &v
15602	return s
15603}
15604
15605// SetStorageLocation sets the StorageLocation field's value.
15606func (s *CreateScriptInput) SetStorageLocation(v *S3Location) *CreateScriptInput {
15607	s.StorageLocation = v
15608	return s
15609}
15610
15611// SetTags sets the Tags field's value.
15612func (s *CreateScriptInput) SetTags(v []*Tag) *CreateScriptInput {
15613	s.Tags = v
15614	return s
15615}
15616
15617// SetVersion sets the Version field's value.
15618func (s *CreateScriptInput) SetVersion(v string) *CreateScriptInput {
15619	s.Version = &v
15620	return s
15621}
15622
15623// SetZipFile sets the ZipFile field's value.
15624func (s *CreateScriptInput) SetZipFile(v []byte) *CreateScriptInput {
15625	s.ZipFile = v
15626	return s
15627}
15628
15629type CreateScriptOutput struct {
15630	_ struct{} `type:"structure"`
15631
15632	// The newly created script record with a unique script ID and ARN. The new
15633	// script's storage location reflects an Amazon S3 location: (1) If the script
15634	// was uploaded from an S3 bucket under your account, the storage location reflects
15635	// the information that was provided in the CreateScript request; (2) If the
15636	// script file was uploaded from a local zip file, the storage location reflects
15637	// an S3 location controls by the Amazon GameLift service.
15638	Script *Script `type:"structure"`
15639}
15640
15641// String returns the string representation.
15642//
15643// API parameter values that are decorated as "sensitive" in the API will not
15644// be included in the string output. The member name will be present, but the
15645// value will be replaced with "sensitive".
15646func (s CreateScriptOutput) String() string {
15647	return awsutil.Prettify(s)
15648}
15649
15650// GoString returns the string representation.
15651//
15652// API parameter values that are decorated as "sensitive" in the API will not
15653// be included in the string output. The member name will be present, but the
15654// value will be replaced with "sensitive".
15655func (s CreateScriptOutput) GoString() string {
15656	return s.String()
15657}
15658
15659// SetScript sets the Script field's value.
15660func (s *CreateScriptOutput) SetScript(v *Script) *CreateScriptOutput {
15661	s.Script = v
15662	return s
15663}
15664
15665// Represents the input for a request operation.
15666type CreateVpcPeeringAuthorizationInput struct {
15667	_ struct{} `type:"structure"`
15668
15669	// A unique identifier for the AWS account that you use to manage your GameLift
15670	// fleet. You can find your Account ID in the AWS Management Console under account
15671	// settings.
15672	//
15673	// GameLiftAwsAccountId is a required field
15674	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
15675
15676	// A unique identifier for a VPC with resources to be accessed by your GameLift
15677	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
15678	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
15679	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
15680	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
15681	//
15682	// PeerVpcId is a required field
15683	PeerVpcId *string `min:"1" type:"string" required:"true"`
15684}
15685
15686// String returns the string representation.
15687//
15688// API parameter values that are decorated as "sensitive" in the API will not
15689// be included in the string output. The member name will be present, but the
15690// value will be replaced with "sensitive".
15691func (s CreateVpcPeeringAuthorizationInput) String() string {
15692	return awsutil.Prettify(s)
15693}
15694
15695// GoString returns the string representation.
15696//
15697// API parameter values that are decorated as "sensitive" in the API will not
15698// be included in the string output. The member name will be present, but the
15699// value will be replaced with "sensitive".
15700func (s CreateVpcPeeringAuthorizationInput) GoString() string {
15701	return s.String()
15702}
15703
15704// Validate inspects the fields of the type to determine if they are valid.
15705func (s *CreateVpcPeeringAuthorizationInput) Validate() error {
15706	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringAuthorizationInput"}
15707	if s.GameLiftAwsAccountId == nil {
15708		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
15709	}
15710	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
15711		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
15712	}
15713	if s.PeerVpcId == nil {
15714		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
15715	}
15716	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
15717		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
15718	}
15719
15720	if invalidParams.Len() > 0 {
15721		return invalidParams
15722	}
15723	return nil
15724}
15725
15726// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
15727func (s *CreateVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *CreateVpcPeeringAuthorizationInput {
15728	s.GameLiftAwsAccountId = &v
15729	return s
15730}
15731
15732// SetPeerVpcId sets the PeerVpcId field's value.
15733func (s *CreateVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *CreateVpcPeeringAuthorizationInput {
15734	s.PeerVpcId = &v
15735	return s
15736}
15737
15738// Represents the returned data in response to a request operation.
15739type CreateVpcPeeringAuthorizationOutput struct {
15740	_ struct{} `type:"structure"`
15741
15742	// Details on the requested VPC peering authorization, including expiration.
15743	VpcPeeringAuthorization *VpcPeeringAuthorization `type:"structure"`
15744}
15745
15746// String returns the string representation.
15747//
15748// API parameter values that are decorated as "sensitive" in the API will not
15749// be included in the string output. The member name will be present, but the
15750// value will be replaced with "sensitive".
15751func (s CreateVpcPeeringAuthorizationOutput) String() string {
15752	return awsutil.Prettify(s)
15753}
15754
15755// GoString returns the string representation.
15756//
15757// API parameter values that are decorated as "sensitive" in the API will not
15758// be included in the string output. The member name will be present, but the
15759// value will be replaced with "sensitive".
15760func (s CreateVpcPeeringAuthorizationOutput) GoString() string {
15761	return s.String()
15762}
15763
15764// SetVpcPeeringAuthorization sets the VpcPeeringAuthorization field's value.
15765func (s *CreateVpcPeeringAuthorizationOutput) SetVpcPeeringAuthorization(v *VpcPeeringAuthorization) *CreateVpcPeeringAuthorizationOutput {
15766	s.VpcPeeringAuthorization = v
15767	return s
15768}
15769
15770// Represents the input for a request operation.
15771type CreateVpcPeeringConnectionInput struct {
15772	_ struct{} `type:"structure"`
15773
15774	// A unique identifier for the fleet. You can use either the fleet ID or ARN
15775	// value. This tells Amazon GameLift which GameLift VPC to peer with.
15776	//
15777	// FleetId is a required field
15778	FleetId *string `type:"string" required:"true"`
15779
15780	// A unique identifier for the AWS account with the VPC that you want to peer
15781	// your Amazon GameLift fleet with. You can find your Account ID in the AWS
15782	// Management Console under account settings.
15783	//
15784	// PeerVpcAwsAccountId is a required field
15785	PeerVpcAwsAccountId *string `min:"1" type:"string" required:"true"`
15786
15787	// A unique identifier for a VPC with resources to be accessed by your GameLift
15788	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
15789	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
15790	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
15791	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
15792	//
15793	// PeerVpcId is a required field
15794	PeerVpcId *string `min:"1" type:"string" required:"true"`
15795}
15796
15797// String returns the string representation.
15798//
15799// API parameter values that are decorated as "sensitive" in the API will not
15800// be included in the string output. The member name will be present, but the
15801// value will be replaced with "sensitive".
15802func (s CreateVpcPeeringConnectionInput) String() string {
15803	return awsutil.Prettify(s)
15804}
15805
15806// GoString returns the string representation.
15807//
15808// API parameter values that are decorated as "sensitive" in the API will not
15809// be included in the string output. The member name will be present, but the
15810// value will be replaced with "sensitive".
15811func (s CreateVpcPeeringConnectionInput) GoString() string {
15812	return s.String()
15813}
15814
15815// Validate inspects the fields of the type to determine if they are valid.
15816func (s *CreateVpcPeeringConnectionInput) Validate() error {
15817	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringConnectionInput"}
15818	if s.FleetId == nil {
15819		invalidParams.Add(request.NewErrParamRequired("FleetId"))
15820	}
15821	if s.PeerVpcAwsAccountId == nil {
15822		invalidParams.Add(request.NewErrParamRequired("PeerVpcAwsAccountId"))
15823	}
15824	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
15825		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
15826	}
15827	if s.PeerVpcId == nil {
15828		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
15829	}
15830	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
15831		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
15832	}
15833
15834	if invalidParams.Len() > 0 {
15835		return invalidParams
15836	}
15837	return nil
15838}
15839
15840// SetFleetId sets the FleetId field's value.
15841func (s *CreateVpcPeeringConnectionInput) SetFleetId(v string) *CreateVpcPeeringConnectionInput {
15842	s.FleetId = &v
15843	return s
15844}
15845
15846// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
15847func (s *CreateVpcPeeringConnectionInput) SetPeerVpcAwsAccountId(v string) *CreateVpcPeeringConnectionInput {
15848	s.PeerVpcAwsAccountId = &v
15849	return s
15850}
15851
15852// SetPeerVpcId sets the PeerVpcId field's value.
15853func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
15854	s.PeerVpcId = &v
15855	return s
15856}
15857
15858type CreateVpcPeeringConnectionOutput struct {
15859	_ struct{} `type:"structure"`
15860}
15861
15862// String returns the string representation.
15863//
15864// API parameter values that are decorated as "sensitive" in the API will not
15865// be included in the string output. The member name will be present, but the
15866// value will be replaced with "sensitive".
15867func (s CreateVpcPeeringConnectionOutput) String() string {
15868	return awsutil.Prettify(s)
15869}
15870
15871// GoString returns the string representation.
15872//
15873// API parameter values that are decorated as "sensitive" in the API will not
15874// be included in the string output. The member name will be present, but the
15875// value will be replaced with "sensitive".
15876func (s CreateVpcPeeringConnectionOutput) GoString() string {
15877	return s.String()
15878}
15879
15880// Represents the input for a request operation.
15881type DeleteAliasInput struct {
15882	_ struct{} `type:"structure"`
15883
15884	// A unique identifier of the alias that you want to delete. You can use either
15885	// the alias ID or ARN value.
15886	//
15887	// AliasId is a required field
15888	AliasId *string `type:"string" required:"true"`
15889}
15890
15891// String returns the string representation.
15892//
15893// API parameter values that are decorated as "sensitive" in the API will not
15894// be included in the string output. The member name will be present, but the
15895// value will be replaced with "sensitive".
15896func (s DeleteAliasInput) String() string {
15897	return awsutil.Prettify(s)
15898}
15899
15900// GoString returns the string representation.
15901//
15902// API parameter values that are decorated as "sensitive" in the API will not
15903// be included in the string output. The member name will be present, but the
15904// value will be replaced with "sensitive".
15905func (s DeleteAliasInput) GoString() string {
15906	return s.String()
15907}
15908
15909// Validate inspects the fields of the type to determine if they are valid.
15910func (s *DeleteAliasInput) Validate() error {
15911	invalidParams := request.ErrInvalidParams{Context: "DeleteAliasInput"}
15912	if s.AliasId == nil {
15913		invalidParams.Add(request.NewErrParamRequired("AliasId"))
15914	}
15915
15916	if invalidParams.Len() > 0 {
15917		return invalidParams
15918	}
15919	return nil
15920}
15921
15922// SetAliasId sets the AliasId field's value.
15923func (s *DeleteAliasInput) SetAliasId(v string) *DeleteAliasInput {
15924	s.AliasId = &v
15925	return s
15926}
15927
15928type DeleteAliasOutput struct {
15929	_ struct{} `type:"structure"`
15930}
15931
15932// String returns the string representation.
15933//
15934// API parameter values that are decorated as "sensitive" in the API will not
15935// be included in the string output. The member name will be present, but the
15936// value will be replaced with "sensitive".
15937func (s DeleteAliasOutput) String() string {
15938	return awsutil.Prettify(s)
15939}
15940
15941// GoString returns the string representation.
15942//
15943// API parameter values that are decorated as "sensitive" in the API will not
15944// be included in the string output. The member name will be present, but the
15945// value will be replaced with "sensitive".
15946func (s DeleteAliasOutput) GoString() string {
15947	return s.String()
15948}
15949
15950// Represents the input for a request operation.
15951type DeleteBuildInput struct {
15952	_ struct{} `type:"structure"`
15953
15954	// A unique identifier for the build to delete. You can use either the build
15955	// ID or ARN value.
15956	//
15957	// BuildId is a required field
15958	BuildId *string `type:"string" required:"true"`
15959}
15960
15961// String returns the string representation.
15962//
15963// API parameter values that are decorated as "sensitive" in the API will not
15964// be included in the string output. The member name will be present, but the
15965// value will be replaced with "sensitive".
15966func (s DeleteBuildInput) String() string {
15967	return awsutil.Prettify(s)
15968}
15969
15970// GoString returns the string representation.
15971//
15972// API parameter values that are decorated as "sensitive" in the API will not
15973// be included in the string output. The member name will be present, but the
15974// value will be replaced with "sensitive".
15975func (s DeleteBuildInput) GoString() string {
15976	return s.String()
15977}
15978
15979// Validate inspects the fields of the type to determine if they are valid.
15980func (s *DeleteBuildInput) Validate() error {
15981	invalidParams := request.ErrInvalidParams{Context: "DeleteBuildInput"}
15982	if s.BuildId == nil {
15983		invalidParams.Add(request.NewErrParamRequired("BuildId"))
15984	}
15985
15986	if invalidParams.Len() > 0 {
15987		return invalidParams
15988	}
15989	return nil
15990}
15991
15992// SetBuildId sets the BuildId field's value.
15993func (s *DeleteBuildInput) SetBuildId(v string) *DeleteBuildInput {
15994	s.BuildId = &v
15995	return s
15996}
15997
15998type DeleteBuildOutput struct {
15999	_ struct{} `type:"structure"`
16000}
16001
16002// String returns the string representation.
16003//
16004// API parameter values that are decorated as "sensitive" in the API will not
16005// be included in the string output. The member name will be present, but the
16006// value will be replaced with "sensitive".
16007func (s DeleteBuildOutput) String() string {
16008	return awsutil.Prettify(s)
16009}
16010
16011// GoString returns the string representation.
16012//
16013// API parameter values that are decorated as "sensitive" in the API will not
16014// be included in the string output. The member name will be present, but the
16015// value will be replaced with "sensitive".
16016func (s DeleteBuildOutput) GoString() string {
16017	return s.String()
16018}
16019
16020// Represents the input for a request operation.
16021type DeleteFleetInput struct {
16022	_ struct{} `type:"structure"`
16023
16024	// A unique identifier for the fleet to be deleted. You can use either the fleet
16025	// ID or ARN value.
16026	//
16027	// FleetId is a required field
16028	FleetId *string `type:"string" required:"true"`
16029}
16030
16031// String returns the string representation.
16032//
16033// API parameter values that are decorated as "sensitive" in the API will not
16034// be included in the string output. The member name will be present, but the
16035// value will be replaced with "sensitive".
16036func (s DeleteFleetInput) String() string {
16037	return awsutil.Prettify(s)
16038}
16039
16040// GoString returns the string representation.
16041//
16042// API parameter values that are decorated as "sensitive" in the API will not
16043// be included in the string output. The member name will be present, but the
16044// value will be replaced with "sensitive".
16045func (s DeleteFleetInput) GoString() string {
16046	return s.String()
16047}
16048
16049// Validate inspects the fields of the type to determine if they are valid.
16050func (s *DeleteFleetInput) Validate() error {
16051	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
16052	if s.FleetId == nil {
16053		invalidParams.Add(request.NewErrParamRequired("FleetId"))
16054	}
16055
16056	if invalidParams.Len() > 0 {
16057		return invalidParams
16058	}
16059	return nil
16060}
16061
16062// SetFleetId sets the FleetId field's value.
16063func (s *DeleteFleetInput) SetFleetId(v string) *DeleteFleetInput {
16064	s.FleetId = &v
16065	return s
16066}
16067
16068// Represents the input for a request operation.
16069type DeleteFleetLocationsInput struct {
16070	_ struct{} `type:"structure"`
16071
16072	// A unique identifier for the fleet to delete locations for. You can use either
16073	// the fleet ID or ARN value.
16074	//
16075	// FleetId is a required field
16076	FleetId *string `type:"string" required:"true"`
16077
16078	// The list of fleet locations to delete. Specify locations in the form of an
16079	// AWS Region code, such as us-west-2.
16080	//
16081	// Locations is a required field
16082	Locations []*string `min:"1" type:"list" required:"true"`
16083}
16084
16085// String returns the string representation.
16086//
16087// API parameter values that are decorated as "sensitive" in the API will not
16088// be included in the string output. The member name will be present, but the
16089// value will be replaced with "sensitive".
16090func (s DeleteFleetLocationsInput) String() string {
16091	return awsutil.Prettify(s)
16092}
16093
16094// GoString returns the string representation.
16095//
16096// API parameter values that are decorated as "sensitive" in the API will not
16097// be included in the string output. The member name will be present, but the
16098// value will be replaced with "sensitive".
16099func (s DeleteFleetLocationsInput) GoString() string {
16100	return s.String()
16101}
16102
16103// Validate inspects the fields of the type to determine if they are valid.
16104func (s *DeleteFleetLocationsInput) Validate() error {
16105	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetLocationsInput"}
16106	if s.FleetId == nil {
16107		invalidParams.Add(request.NewErrParamRequired("FleetId"))
16108	}
16109	if s.Locations == nil {
16110		invalidParams.Add(request.NewErrParamRequired("Locations"))
16111	}
16112	if s.Locations != nil && len(s.Locations) < 1 {
16113		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
16114	}
16115
16116	if invalidParams.Len() > 0 {
16117		return invalidParams
16118	}
16119	return nil
16120}
16121
16122// SetFleetId sets the FleetId field's value.
16123func (s *DeleteFleetLocationsInput) SetFleetId(v string) *DeleteFleetLocationsInput {
16124	s.FleetId = &v
16125	return s
16126}
16127
16128// SetLocations sets the Locations field's value.
16129func (s *DeleteFleetLocationsInput) SetLocations(v []*string) *DeleteFleetLocationsInput {
16130	s.Locations = v
16131	return s
16132}
16133
16134// Represents the returned data in response to a request operation.
16135type DeleteFleetLocationsOutput struct {
16136	_ struct{} `type:"structure"`
16137
16138	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
16139	// that is assigned to a GameLift fleet resource and uniquely identifies it.
16140	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
16141	FleetArn *string `type:"string"`
16142
16143	// A unique identifier for the fleet that location attributes are being deleted
16144	// for.
16145	FleetId *string `type:"string"`
16146
16147	// The remote locations that are being deleted, with each location status set
16148	// to DELETING.
16149	LocationStates []*LocationState `type:"list"`
16150}
16151
16152// String returns the string representation.
16153//
16154// API parameter values that are decorated as "sensitive" in the API will not
16155// be included in the string output. The member name will be present, but the
16156// value will be replaced with "sensitive".
16157func (s DeleteFleetLocationsOutput) String() string {
16158	return awsutil.Prettify(s)
16159}
16160
16161// GoString returns the string representation.
16162//
16163// API parameter values that are decorated as "sensitive" in the API will not
16164// be included in the string output. The member name will be present, but the
16165// value will be replaced with "sensitive".
16166func (s DeleteFleetLocationsOutput) GoString() string {
16167	return s.String()
16168}
16169
16170// SetFleetArn sets the FleetArn field's value.
16171func (s *DeleteFleetLocationsOutput) SetFleetArn(v string) *DeleteFleetLocationsOutput {
16172	s.FleetArn = &v
16173	return s
16174}
16175
16176// SetFleetId sets the FleetId field's value.
16177func (s *DeleteFleetLocationsOutput) SetFleetId(v string) *DeleteFleetLocationsOutput {
16178	s.FleetId = &v
16179	return s
16180}
16181
16182// SetLocationStates sets the LocationStates field's value.
16183func (s *DeleteFleetLocationsOutput) SetLocationStates(v []*LocationState) *DeleteFleetLocationsOutput {
16184	s.LocationStates = v
16185	return s
16186}
16187
16188type DeleteFleetOutput struct {
16189	_ struct{} `type:"structure"`
16190}
16191
16192// String returns the string representation.
16193//
16194// API parameter values that are decorated as "sensitive" in the API will not
16195// be included in the string output. The member name will be present, but the
16196// value will be replaced with "sensitive".
16197func (s DeleteFleetOutput) String() string {
16198	return awsutil.Prettify(s)
16199}
16200
16201// GoString returns the string representation.
16202//
16203// API parameter values that are decorated as "sensitive" in the API will not
16204// be included in the string output. The member name will be present, but the
16205// value will be replaced with "sensitive".
16206func (s DeleteFleetOutput) GoString() string {
16207	return s.String()
16208}
16209
16210type DeleteGameServerGroupInput struct {
16211	_ struct{} `type:"structure"`
16212
16213	// The type of delete to perform. Options include the following:
16214	//
16215	//    * SAFE_DELETE – (default) Terminates the game server group and EC2 Auto
16216	//    Scaling group only when it has no game servers that are in UTILIZED status.
16217	//
16218	//    * FORCE_DELETE – Terminates the game server group, including all active
16219	//    game servers regardless of their utilization status, and the EC2 Auto
16220	//    Scaling group.
16221	//
16222	//    * RETAIN – Does a safe delete of the game server group but retains the
16223	//    EC2 Auto Scaling group as is.
16224	DeleteOption *string `type:"string" enum:"GameServerGroupDeleteOption"`
16225
16226	// A unique identifier for the game server group. Use either the GameServerGroup
16227	// name or ARN value.
16228	//
16229	// GameServerGroupName is a required field
16230	GameServerGroupName *string `min:"1" type:"string" required:"true"`
16231}
16232
16233// String returns the string representation.
16234//
16235// API parameter values that are decorated as "sensitive" in the API will not
16236// be included in the string output. The member name will be present, but the
16237// value will be replaced with "sensitive".
16238func (s DeleteGameServerGroupInput) String() string {
16239	return awsutil.Prettify(s)
16240}
16241
16242// GoString returns the string representation.
16243//
16244// API parameter values that are decorated as "sensitive" in the API will not
16245// be included in the string output. The member name will be present, but the
16246// value will be replaced with "sensitive".
16247func (s DeleteGameServerGroupInput) GoString() string {
16248	return s.String()
16249}
16250
16251// Validate inspects the fields of the type to determine if they are valid.
16252func (s *DeleteGameServerGroupInput) Validate() error {
16253	invalidParams := request.ErrInvalidParams{Context: "DeleteGameServerGroupInput"}
16254	if s.GameServerGroupName == nil {
16255		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
16256	}
16257	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
16258		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
16259	}
16260
16261	if invalidParams.Len() > 0 {
16262		return invalidParams
16263	}
16264	return nil
16265}
16266
16267// SetDeleteOption sets the DeleteOption field's value.
16268func (s *DeleteGameServerGroupInput) SetDeleteOption(v string) *DeleteGameServerGroupInput {
16269	s.DeleteOption = &v
16270	return s
16271}
16272
16273// SetGameServerGroupName sets the GameServerGroupName field's value.
16274func (s *DeleteGameServerGroupInput) SetGameServerGroupName(v string) *DeleteGameServerGroupInput {
16275	s.GameServerGroupName = &v
16276	return s
16277}
16278
16279type DeleteGameServerGroupOutput struct {
16280	_ struct{} `type:"structure"`
16281
16282	// An object that describes the deleted game server group resource, with status
16283	// updated to DELETE_SCHEDULED.
16284	GameServerGroup *GameServerGroup `type:"structure"`
16285}
16286
16287// String returns the string representation.
16288//
16289// API parameter values that are decorated as "sensitive" in the API will not
16290// be included in the string output. The member name will be present, but the
16291// value will be replaced with "sensitive".
16292func (s DeleteGameServerGroupOutput) String() string {
16293	return awsutil.Prettify(s)
16294}
16295
16296// GoString returns the string representation.
16297//
16298// API parameter values that are decorated as "sensitive" in the API will not
16299// be included in the string output. The member name will be present, but the
16300// value will be replaced with "sensitive".
16301func (s DeleteGameServerGroupOutput) GoString() string {
16302	return s.String()
16303}
16304
16305// SetGameServerGroup sets the GameServerGroup field's value.
16306func (s *DeleteGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *DeleteGameServerGroupOutput {
16307	s.GameServerGroup = v
16308	return s
16309}
16310
16311// Represents the input for a request operation.
16312type DeleteGameSessionQueueInput struct {
16313	_ struct{} `type:"structure"`
16314
16315	// A descriptive label that is associated with game session queue. Queue names
16316	// must be unique within each Region. You can use either the queue ID or ARN
16317	// value.
16318	//
16319	// Name is a required field
16320	Name *string `min:"1" type:"string" required:"true"`
16321}
16322
16323// String returns the string representation.
16324//
16325// API parameter values that are decorated as "sensitive" in the API will not
16326// be included in the string output. The member name will be present, but the
16327// value will be replaced with "sensitive".
16328func (s DeleteGameSessionQueueInput) String() string {
16329	return awsutil.Prettify(s)
16330}
16331
16332// GoString returns the string representation.
16333//
16334// API parameter values that are decorated as "sensitive" in the API will not
16335// be included in the string output. The member name will be present, but the
16336// value will be replaced with "sensitive".
16337func (s DeleteGameSessionQueueInput) GoString() string {
16338	return s.String()
16339}
16340
16341// Validate inspects the fields of the type to determine if they are valid.
16342func (s *DeleteGameSessionQueueInput) Validate() error {
16343	invalidParams := request.ErrInvalidParams{Context: "DeleteGameSessionQueueInput"}
16344	if s.Name == nil {
16345		invalidParams.Add(request.NewErrParamRequired("Name"))
16346	}
16347	if s.Name != nil && len(*s.Name) < 1 {
16348		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16349	}
16350
16351	if invalidParams.Len() > 0 {
16352		return invalidParams
16353	}
16354	return nil
16355}
16356
16357// SetName sets the Name field's value.
16358func (s *DeleteGameSessionQueueInput) SetName(v string) *DeleteGameSessionQueueInput {
16359	s.Name = &v
16360	return s
16361}
16362
16363type DeleteGameSessionQueueOutput struct {
16364	_ struct{} `type:"structure"`
16365}
16366
16367// String returns the string representation.
16368//
16369// API parameter values that are decorated as "sensitive" in the API will not
16370// be included in the string output. The member name will be present, but the
16371// value will be replaced with "sensitive".
16372func (s DeleteGameSessionQueueOutput) String() string {
16373	return awsutil.Prettify(s)
16374}
16375
16376// GoString returns the string representation.
16377//
16378// API parameter values that are decorated as "sensitive" in the API will not
16379// be included in the string output. The member name will be present, but the
16380// value will be replaced with "sensitive".
16381func (s DeleteGameSessionQueueOutput) GoString() string {
16382	return s.String()
16383}
16384
16385// Represents the input for a request operation.
16386type DeleteMatchmakingConfigurationInput struct {
16387	_ struct{} `type:"structure"`
16388
16389	// A unique identifier for the matchmaking configuration. You can use either
16390	// the configuration name or ARN value.
16391	//
16392	// Name is a required field
16393	Name *string `min:"1" type:"string" required:"true"`
16394}
16395
16396// String returns the string representation.
16397//
16398// API parameter values that are decorated as "sensitive" in the API will not
16399// be included in the string output. The member name will be present, but the
16400// value will be replaced with "sensitive".
16401func (s DeleteMatchmakingConfigurationInput) String() string {
16402	return awsutil.Prettify(s)
16403}
16404
16405// GoString returns the string representation.
16406//
16407// API parameter values that are decorated as "sensitive" in the API will not
16408// be included in the string output. The member name will be present, but the
16409// value will be replaced with "sensitive".
16410func (s DeleteMatchmakingConfigurationInput) GoString() string {
16411	return s.String()
16412}
16413
16414// Validate inspects the fields of the type to determine if they are valid.
16415func (s *DeleteMatchmakingConfigurationInput) Validate() error {
16416	invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingConfigurationInput"}
16417	if s.Name == nil {
16418		invalidParams.Add(request.NewErrParamRequired("Name"))
16419	}
16420	if s.Name != nil && len(*s.Name) < 1 {
16421		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16422	}
16423
16424	if invalidParams.Len() > 0 {
16425		return invalidParams
16426	}
16427	return nil
16428}
16429
16430// SetName sets the Name field's value.
16431func (s *DeleteMatchmakingConfigurationInput) SetName(v string) *DeleteMatchmakingConfigurationInput {
16432	s.Name = &v
16433	return s
16434}
16435
16436type DeleteMatchmakingConfigurationOutput struct {
16437	_ struct{} `type:"structure"`
16438}
16439
16440// String returns the string representation.
16441//
16442// API parameter values that are decorated as "sensitive" in the API will not
16443// be included in the string output. The member name will be present, but the
16444// value will be replaced with "sensitive".
16445func (s DeleteMatchmakingConfigurationOutput) String() string {
16446	return awsutil.Prettify(s)
16447}
16448
16449// GoString returns the string representation.
16450//
16451// API parameter values that are decorated as "sensitive" in the API will not
16452// be included in the string output. The member name will be present, but the
16453// value will be replaced with "sensitive".
16454func (s DeleteMatchmakingConfigurationOutput) GoString() string {
16455	return s.String()
16456}
16457
16458// Represents the input for a request operation.
16459type DeleteMatchmakingRuleSetInput struct {
16460	_ struct{} `type:"structure"`
16461
16462	// A unique identifier for the matchmaking rule set to be deleted. (Note: The
16463	// rule set name is different from the optional "name" field in the rule set
16464	// body.) You can use either the rule set name or ARN value.
16465	//
16466	// Name is a required field
16467	Name *string `min:"1" type:"string" required:"true"`
16468}
16469
16470// String returns the string representation.
16471//
16472// API parameter values that are decorated as "sensitive" in the API will not
16473// be included in the string output. The member name will be present, but the
16474// value will be replaced with "sensitive".
16475func (s DeleteMatchmakingRuleSetInput) String() string {
16476	return awsutil.Prettify(s)
16477}
16478
16479// GoString returns the string representation.
16480//
16481// API parameter values that are decorated as "sensitive" in the API will not
16482// be included in the string output. The member name will be present, but the
16483// value will be replaced with "sensitive".
16484func (s DeleteMatchmakingRuleSetInput) GoString() string {
16485	return s.String()
16486}
16487
16488// Validate inspects the fields of the type to determine if they are valid.
16489func (s *DeleteMatchmakingRuleSetInput) Validate() error {
16490	invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingRuleSetInput"}
16491	if s.Name == nil {
16492		invalidParams.Add(request.NewErrParamRequired("Name"))
16493	}
16494	if s.Name != nil && len(*s.Name) < 1 {
16495		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16496	}
16497
16498	if invalidParams.Len() > 0 {
16499		return invalidParams
16500	}
16501	return nil
16502}
16503
16504// SetName sets the Name field's value.
16505func (s *DeleteMatchmakingRuleSetInput) SetName(v string) *DeleteMatchmakingRuleSetInput {
16506	s.Name = &v
16507	return s
16508}
16509
16510// Represents the returned data in response to a request operation.
16511type DeleteMatchmakingRuleSetOutput struct {
16512	_ struct{} `type:"structure"`
16513}
16514
16515// String returns the string representation.
16516//
16517// API parameter values that are decorated as "sensitive" in the API will not
16518// be included in the string output. The member name will be present, but the
16519// value will be replaced with "sensitive".
16520func (s DeleteMatchmakingRuleSetOutput) String() string {
16521	return awsutil.Prettify(s)
16522}
16523
16524// GoString returns the string representation.
16525//
16526// API parameter values that are decorated as "sensitive" in the API will not
16527// be included in the string output. The member name will be present, but the
16528// value will be replaced with "sensitive".
16529func (s DeleteMatchmakingRuleSetOutput) GoString() string {
16530	return s.String()
16531}
16532
16533// Represents the input for a request operation.
16534type DeleteScalingPolicyInput struct {
16535	_ struct{} `type:"structure"`
16536
16537	// A unique identifier for the fleet to be deleted. You can use either the fleet
16538	// ID or ARN value.
16539	//
16540	// FleetId is a required field
16541	FleetId *string `type:"string" required:"true"`
16542
16543	// A descriptive label that is associated with a fleet's scaling policy. Policy
16544	// names do not need to be unique.
16545	//
16546	// Name is a required field
16547	Name *string `min:"1" type:"string" required:"true"`
16548}
16549
16550// String returns the string representation.
16551//
16552// API parameter values that are decorated as "sensitive" in the API will not
16553// be included in the string output. The member name will be present, but the
16554// value will be replaced with "sensitive".
16555func (s DeleteScalingPolicyInput) String() string {
16556	return awsutil.Prettify(s)
16557}
16558
16559// GoString returns the string representation.
16560//
16561// API parameter values that are decorated as "sensitive" in the API will not
16562// be included in the string output. The member name will be present, but the
16563// value will be replaced with "sensitive".
16564func (s DeleteScalingPolicyInput) GoString() string {
16565	return s.String()
16566}
16567
16568// Validate inspects the fields of the type to determine if they are valid.
16569func (s *DeleteScalingPolicyInput) Validate() error {
16570	invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPolicyInput"}
16571	if s.FleetId == nil {
16572		invalidParams.Add(request.NewErrParamRequired("FleetId"))
16573	}
16574	if s.Name == nil {
16575		invalidParams.Add(request.NewErrParamRequired("Name"))
16576	}
16577	if s.Name != nil && len(*s.Name) < 1 {
16578		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16579	}
16580
16581	if invalidParams.Len() > 0 {
16582		return invalidParams
16583	}
16584	return nil
16585}
16586
16587// SetFleetId sets the FleetId field's value.
16588func (s *DeleteScalingPolicyInput) SetFleetId(v string) *DeleteScalingPolicyInput {
16589	s.FleetId = &v
16590	return s
16591}
16592
16593// SetName sets the Name field's value.
16594func (s *DeleteScalingPolicyInput) SetName(v string) *DeleteScalingPolicyInput {
16595	s.Name = &v
16596	return s
16597}
16598
16599type DeleteScalingPolicyOutput struct {
16600	_ struct{} `type:"structure"`
16601}
16602
16603// String returns the string representation.
16604//
16605// API parameter values that are decorated as "sensitive" in the API will not
16606// be included in the string output. The member name will be present, but the
16607// value will be replaced with "sensitive".
16608func (s DeleteScalingPolicyOutput) String() string {
16609	return awsutil.Prettify(s)
16610}
16611
16612// GoString returns the string representation.
16613//
16614// API parameter values that are decorated as "sensitive" in the API will not
16615// be included in the string output. The member name will be present, but the
16616// value will be replaced with "sensitive".
16617func (s DeleteScalingPolicyOutput) GoString() string {
16618	return s.String()
16619}
16620
16621type DeleteScriptInput struct {
16622	_ struct{} `type:"structure"`
16623
16624	// A unique identifier for the Realtime script to delete. You can use either
16625	// the script ID or ARN value.
16626	//
16627	// ScriptId is a required field
16628	ScriptId *string `type:"string" required:"true"`
16629}
16630
16631// String returns the string representation.
16632//
16633// API parameter values that are decorated as "sensitive" in the API will not
16634// be included in the string output. The member name will be present, but the
16635// value will be replaced with "sensitive".
16636func (s DeleteScriptInput) String() string {
16637	return awsutil.Prettify(s)
16638}
16639
16640// GoString returns the string representation.
16641//
16642// API parameter values that are decorated as "sensitive" in the API will not
16643// be included in the string output. The member name will be present, but the
16644// value will be replaced with "sensitive".
16645func (s DeleteScriptInput) GoString() string {
16646	return s.String()
16647}
16648
16649// Validate inspects the fields of the type to determine if they are valid.
16650func (s *DeleteScriptInput) Validate() error {
16651	invalidParams := request.ErrInvalidParams{Context: "DeleteScriptInput"}
16652	if s.ScriptId == nil {
16653		invalidParams.Add(request.NewErrParamRequired("ScriptId"))
16654	}
16655
16656	if invalidParams.Len() > 0 {
16657		return invalidParams
16658	}
16659	return nil
16660}
16661
16662// SetScriptId sets the ScriptId field's value.
16663func (s *DeleteScriptInput) SetScriptId(v string) *DeleteScriptInput {
16664	s.ScriptId = &v
16665	return s
16666}
16667
16668type DeleteScriptOutput struct {
16669	_ struct{} `type:"structure"`
16670}
16671
16672// String returns the string representation.
16673//
16674// API parameter values that are decorated as "sensitive" in the API will not
16675// be included in the string output. The member name will be present, but the
16676// value will be replaced with "sensitive".
16677func (s DeleteScriptOutput) String() string {
16678	return awsutil.Prettify(s)
16679}
16680
16681// GoString returns the string representation.
16682//
16683// API parameter values that are decorated as "sensitive" in the API will not
16684// be included in the string output. The member name will be present, but the
16685// value will be replaced with "sensitive".
16686func (s DeleteScriptOutput) GoString() string {
16687	return s.String()
16688}
16689
16690// Represents the input for a request operation.
16691type DeleteVpcPeeringAuthorizationInput struct {
16692	_ struct{} `type:"structure"`
16693
16694	// A unique identifier for the AWS account that you use to manage your GameLift
16695	// fleet. You can find your Account ID in the AWS Management Console under account
16696	// settings.
16697	//
16698	// GameLiftAwsAccountId is a required field
16699	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
16700
16701	// A unique identifier for a VPC with resources to be accessed by your GameLift
16702	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
16703	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
16704	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
16705	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
16706	//
16707	// PeerVpcId is a required field
16708	PeerVpcId *string `min:"1" type:"string" required:"true"`
16709}
16710
16711// String returns the string representation.
16712//
16713// API parameter values that are decorated as "sensitive" in the API will not
16714// be included in the string output. The member name will be present, but the
16715// value will be replaced with "sensitive".
16716func (s DeleteVpcPeeringAuthorizationInput) String() string {
16717	return awsutil.Prettify(s)
16718}
16719
16720// GoString returns the string representation.
16721//
16722// API parameter values that are decorated as "sensitive" in the API will not
16723// be included in the string output. The member name will be present, but the
16724// value will be replaced with "sensitive".
16725func (s DeleteVpcPeeringAuthorizationInput) GoString() string {
16726	return s.String()
16727}
16728
16729// Validate inspects the fields of the type to determine if they are valid.
16730func (s *DeleteVpcPeeringAuthorizationInput) Validate() error {
16731	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringAuthorizationInput"}
16732	if s.GameLiftAwsAccountId == nil {
16733		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
16734	}
16735	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
16736		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
16737	}
16738	if s.PeerVpcId == nil {
16739		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
16740	}
16741	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
16742		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
16743	}
16744
16745	if invalidParams.Len() > 0 {
16746		return invalidParams
16747	}
16748	return nil
16749}
16750
16751// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
16752func (s *DeleteVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *DeleteVpcPeeringAuthorizationInput {
16753	s.GameLiftAwsAccountId = &v
16754	return s
16755}
16756
16757// SetPeerVpcId sets the PeerVpcId field's value.
16758func (s *DeleteVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *DeleteVpcPeeringAuthorizationInput {
16759	s.PeerVpcId = &v
16760	return s
16761}
16762
16763type DeleteVpcPeeringAuthorizationOutput struct {
16764	_ struct{} `type:"structure"`
16765}
16766
16767// String returns the string representation.
16768//
16769// API parameter values that are decorated as "sensitive" in the API will not
16770// be included in the string output. The member name will be present, but the
16771// value will be replaced with "sensitive".
16772func (s DeleteVpcPeeringAuthorizationOutput) String() string {
16773	return awsutil.Prettify(s)
16774}
16775
16776// GoString returns the string representation.
16777//
16778// API parameter values that are decorated as "sensitive" in the API will not
16779// be included in the string output. The member name will be present, but the
16780// value will be replaced with "sensitive".
16781func (s DeleteVpcPeeringAuthorizationOutput) GoString() string {
16782	return s.String()
16783}
16784
16785// Represents the input for a request operation.
16786type DeleteVpcPeeringConnectionInput struct {
16787	_ struct{} `type:"structure"`
16788
16789	// A unique identifier for the fleet. This fleet specified must match the fleet
16790	// referenced in the VPC peering connection record. You can use either the fleet
16791	// ID or ARN value.
16792	//
16793	// FleetId is a required field
16794	FleetId *string `type:"string" required:"true"`
16795
16796	// A unique identifier for a VPC peering connection. This value is included
16797	// in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.
16798	//
16799	// VpcPeeringConnectionId is a required field
16800	VpcPeeringConnectionId *string `min:"1" type:"string" required:"true"`
16801}
16802
16803// String returns the string representation.
16804//
16805// API parameter values that are decorated as "sensitive" in the API will not
16806// be included in the string output. The member name will be present, but the
16807// value will be replaced with "sensitive".
16808func (s DeleteVpcPeeringConnectionInput) String() string {
16809	return awsutil.Prettify(s)
16810}
16811
16812// GoString returns the string representation.
16813//
16814// API parameter values that are decorated as "sensitive" in the API will not
16815// be included in the string output. The member name will be present, but the
16816// value will be replaced with "sensitive".
16817func (s DeleteVpcPeeringConnectionInput) GoString() string {
16818	return s.String()
16819}
16820
16821// Validate inspects the fields of the type to determine if they are valid.
16822func (s *DeleteVpcPeeringConnectionInput) Validate() error {
16823	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
16824	if s.FleetId == nil {
16825		invalidParams.Add(request.NewErrParamRequired("FleetId"))
16826	}
16827	if s.VpcPeeringConnectionId == nil {
16828		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
16829	}
16830	if s.VpcPeeringConnectionId != nil && len(*s.VpcPeeringConnectionId) < 1 {
16831		invalidParams.Add(request.NewErrParamMinLen("VpcPeeringConnectionId", 1))
16832	}
16833
16834	if invalidParams.Len() > 0 {
16835		return invalidParams
16836	}
16837	return nil
16838}
16839
16840// SetFleetId sets the FleetId field's value.
16841func (s *DeleteVpcPeeringConnectionInput) SetFleetId(v string) *DeleteVpcPeeringConnectionInput {
16842	s.FleetId = &v
16843	return s
16844}
16845
16846// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
16847func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
16848	s.VpcPeeringConnectionId = &v
16849	return s
16850}
16851
16852type DeleteVpcPeeringConnectionOutput struct {
16853	_ struct{} `type:"structure"`
16854}
16855
16856// String returns the string representation.
16857//
16858// API parameter values that are decorated as "sensitive" in the API will not
16859// be included in the string output. The member name will be present, but the
16860// value will be replaced with "sensitive".
16861func (s DeleteVpcPeeringConnectionOutput) String() string {
16862	return awsutil.Prettify(s)
16863}
16864
16865// GoString returns the string representation.
16866//
16867// API parameter values that are decorated as "sensitive" in the API will not
16868// be included in the string output. The member name will be present, but the
16869// value will be replaced with "sensitive".
16870func (s DeleteVpcPeeringConnectionOutput) GoString() string {
16871	return s.String()
16872}
16873
16874type DeregisterGameServerInput struct {
16875	_ struct{} `type:"structure"`
16876
16877	// A unique identifier for the game server group where the game server is running.
16878	// Use either the GameServerGroup name or ARN value.
16879	//
16880	// GameServerGroupName is a required field
16881	GameServerGroupName *string `min:"1" type:"string" required:"true"`
16882
16883	// A custom string that uniquely identifies the game server to deregister.
16884	//
16885	// GameServerId is a required field
16886	GameServerId *string `min:"3" type:"string" required:"true"`
16887}
16888
16889// String returns the string representation.
16890//
16891// API parameter values that are decorated as "sensitive" in the API will not
16892// be included in the string output. The member name will be present, but the
16893// value will be replaced with "sensitive".
16894func (s DeregisterGameServerInput) String() string {
16895	return awsutil.Prettify(s)
16896}
16897
16898// GoString returns the string representation.
16899//
16900// API parameter values that are decorated as "sensitive" in the API will not
16901// be included in the string output. The member name will be present, but the
16902// value will be replaced with "sensitive".
16903func (s DeregisterGameServerInput) GoString() string {
16904	return s.String()
16905}
16906
16907// Validate inspects the fields of the type to determine if they are valid.
16908func (s *DeregisterGameServerInput) Validate() error {
16909	invalidParams := request.ErrInvalidParams{Context: "DeregisterGameServerInput"}
16910	if s.GameServerGroupName == nil {
16911		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
16912	}
16913	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
16914		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
16915	}
16916	if s.GameServerId == nil {
16917		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
16918	}
16919	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
16920		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
16921	}
16922
16923	if invalidParams.Len() > 0 {
16924		return invalidParams
16925	}
16926	return nil
16927}
16928
16929// SetGameServerGroupName sets the GameServerGroupName field's value.
16930func (s *DeregisterGameServerInput) SetGameServerGroupName(v string) *DeregisterGameServerInput {
16931	s.GameServerGroupName = &v
16932	return s
16933}
16934
16935// SetGameServerId sets the GameServerId field's value.
16936func (s *DeregisterGameServerInput) SetGameServerId(v string) *DeregisterGameServerInput {
16937	s.GameServerId = &v
16938	return s
16939}
16940
16941type DeregisterGameServerOutput struct {
16942	_ struct{} `type:"structure"`
16943}
16944
16945// String returns the string representation.
16946//
16947// API parameter values that are decorated as "sensitive" in the API will not
16948// be included in the string output. The member name will be present, but the
16949// value will be replaced with "sensitive".
16950func (s DeregisterGameServerOutput) String() string {
16951	return awsutil.Prettify(s)
16952}
16953
16954// GoString returns the string representation.
16955//
16956// API parameter values that are decorated as "sensitive" in the API will not
16957// be included in the string output. The member name will be present, but the
16958// value will be replaced with "sensitive".
16959func (s DeregisterGameServerOutput) GoString() string {
16960	return s.String()
16961}
16962
16963// Represents the input for a request operation.
16964type DescribeAliasInput struct {
16965	_ struct{} `type:"structure"`
16966
16967	// The unique identifier for the fleet alias that you want to retrieve. You
16968	// can use either the alias ID or ARN value.
16969	//
16970	// AliasId is a required field
16971	AliasId *string `type:"string" required:"true"`
16972}
16973
16974// String returns the string representation.
16975//
16976// API parameter values that are decorated as "sensitive" in the API will not
16977// be included in the string output. The member name will be present, but the
16978// value will be replaced with "sensitive".
16979func (s DescribeAliasInput) String() string {
16980	return awsutil.Prettify(s)
16981}
16982
16983// GoString returns the string representation.
16984//
16985// API parameter values that are decorated as "sensitive" in the API will not
16986// be included in the string output. The member name will be present, but the
16987// value will be replaced with "sensitive".
16988func (s DescribeAliasInput) GoString() string {
16989	return s.String()
16990}
16991
16992// Validate inspects the fields of the type to determine if they are valid.
16993func (s *DescribeAliasInput) Validate() error {
16994	invalidParams := request.ErrInvalidParams{Context: "DescribeAliasInput"}
16995	if s.AliasId == nil {
16996		invalidParams.Add(request.NewErrParamRequired("AliasId"))
16997	}
16998
16999	if invalidParams.Len() > 0 {
17000		return invalidParams
17001	}
17002	return nil
17003}
17004
17005// SetAliasId sets the AliasId field's value.
17006func (s *DescribeAliasInput) SetAliasId(v string) *DescribeAliasInput {
17007	s.AliasId = &v
17008	return s
17009}
17010
17011// Represents the returned data in response to a request operation.
17012type DescribeAliasOutput struct {
17013	_ struct{} `type:"structure"`
17014
17015	// The requested alias resource.
17016	Alias *Alias `type:"structure"`
17017}
17018
17019// String returns the string representation.
17020//
17021// API parameter values that are decorated as "sensitive" in the API will not
17022// be included in the string output. The member name will be present, but the
17023// value will be replaced with "sensitive".
17024func (s DescribeAliasOutput) String() string {
17025	return awsutil.Prettify(s)
17026}
17027
17028// GoString returns the string representation.
17029//
17030// API parameter values that are decorated as "sensitive" in the API will not
17031// be included in the string output. The member name will be present, but the
17032// value will be replaced with "sensitive".
17033func (s DescribeAliasOutput) GoString() string {
17034	return s.String()
17035}
17036
17037// SetAlias sets the Alias field's value.
17038func (s *DescribeAliasOutput) SetAlias(v *Alias) *DescribeAliasOutput {
17039	s.Alias = v
17040	return s
17041}
17042
17043// Represents the input for a request operation.
17044type DescribeBuildInput struct {
17045	_ struct{} `type:"structure"`
17046
17047	// A unique identifier for the build to retrieve properties for. You can use
17048	// either the build ID or ARN value.
17049	//
17050	// BuildId is a required field
17051	BuildId *string `type:"string" required:"true"`
17052}
17053
17054// String returns the string representation.
17055//
17056// API parameter values that are decorated as "sensitive" in the API will not
17057// be included in the string output. The member name will be present, but the
17058// value will be replaced with "sensitive".
17059func (s DescribeBuildInput) String() string {
17060	return awsutil.Prettify(s)
17061}
17062
17063// GoString returns the string representation.
17064//
17065// API parameter values that are decorated as "sensitive" in the API will not
17066// be included in the string output. The member name will be present, but the
17067// value will be replaced with "sensitive".
17068func (s DescribeBuildInput) GoString() string {
17069	return s.String()
17070}
17071
17072// Validate inspects the fields of the type to determine if they are valid.
17073func (s *DescribeBuildInput) Validate() error {
17074	invalidParams := request.ErrInvalidParams{Context: "DescribeBuildInput"}
17075	if s.BuildId == nil {
17076		invalidParams.Add(request.NewErrParamRequired("BuildId"))
17077	}
17078
17079	if invalidParams.Len() > 0 {
17080		return invalidParams
17081	}
17082	return nil
17083}
17084
17085// SetBuildId sets the BuildId field's value.
17086func (s *DescribeBuildInput) SetBuildId(v string) *DescribeBuildInput {
17087	s.BuildId = &v
17088	return s
17089}
17090
17091// Represents the returned data in response to a request operation.
17092type DescribeBuildOutput struct {
17093	_ struct{} `type:"structure"`
17094
17095	// Set of properties describing the requested build.
17096	Build *Build `type:"structure"`
17097}
17098
17099// String returns the string representation.
17100//
17101// API parameter values that are decorated as "sensitive" in the API will not
17102// be included in the string output. The member name will be present, but the
17103// value will be replaced with "sensitive".
17104func (s DescribeBuildOutput) String() string {
17105	return awsutil.Prettify(s)
17106}
17107
17108// GoString returns the string representation.
17109//
17110// API parameter values that are decorated as "sensitive" in the API will not
17111// be included in the string output. The member name will be present, but the
17112// value will be replaced with "sensitive".
17113func (s DescribeBuildOutput) GoString() string {
17114	return s.String()
17115}
17116
17117// SetBuild sets the Build field's value.
17118func (s *DescribeBuildOutput) SetBuild(v *Build) *DescribeBuildOutput {
17119	s.Build = v
17120	return s
17121}
17122
17123// Represents the input for a request operation.
17124type DescribeEC2InstanceLimitsInput struct {
17125	_ struct{} `type:"structure"`
17126
17127	// Name of an EC2 instance type that is supported in GameLift. A fleet instance
17128	// type determines the computing resources of each instance in the fleet, including
17129	// CPU, memory, storage, and networking capacity. Do not specify a value for
17130	// this parameter to retrieve limits for all instance types.
17131	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
17132
17133	// The name of a remote location to request instance limits for, in the form
17134	// of an AWS Region code such as us-west-2.
17135	Location *string `min:"1" type:"string"`
17136}
17137
17138// String returns the string representation.
17139//
17140// API parameter values that are decorated as "sensitive" in the API will not
17141// be included in the string output. The member name will be present, but the
17142// value will be replaced with "sensitive".
17143func (s DescribeEC2InstanceLimitsInput) String() string {
17144	return awsutil.Prettify(s)
17145}
17146
17147// GoString returns the string representation.
17148//
17149// API parameter values that are decorated as "sensitive" in the API will not
17150// be included in the string output. The member name will be present, but the
17151// value will be replaced with "sensitive".
17152func (s DescribeEC2InstanceLimitsInput) GoString() string {
17153	return s.String()
17154}
17155
17156// Validate inspects the fields of the type to determine if they are valid.
17157func (s *DescribeEC2InstanceLimitsInput) Validate() error {
17158	invalidParams := request.ErrInvalidParams{Context: "DescribeEC2InstanceLimitsInput"}
17159	if s.Location != nil && len(*s.Location) < 1 {
17160		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
17161	}
17162
17163	if invalidParams.Len() > 0 {
17164		return invalidParams
17165	}
17166	return nil
17167}
17168
17169// SetEC2InstanceType sets the EC2InstanceType field's value.
17170func (s *DescribeEC2InstanceLimitsInput) SetEC2InstanceType(v string) *DescribeEC2InstanceLimitsInput {
17171	s.EC2InstanceType = &v
17172	return s
17173}
17174
17175// SetLocation sets the Location field's value.
17176func (s *DescribeEC2InstanceLimitsInput) SetLocation(v string) *DescribeEC2InstanceLimitsInput {
17177	s.Location = &v
17178	return s
17179}
17180
17181// Represents the returned data in response to a request operation.
17182type DescribeEC2InstanceLimitsOutput struct {
17183	_ struct{} `type:"structure"`
17184
17185	// The maximum number of instances for the specified instance type.
17186	EC2InstanceLimits []*EC2InstanceLimit `type:"list"`
17187}
17188
17189// String returns the string representation.
17190//
17191// API parameter values that are decorated as "sensitive" in the API will not
17192// be included in the string output. The member name will be present, but the
17193// value will be replaced with "sensitive".
17194func (s DescribeEC2InstanceLimitsOutput) String() string {
17195	return awsutil.Prettify(s)
17196}
17197
17198// GoString returns the string representation.
17199//
17200// API parameter values that are decorated as "sensitive" in the API will not
17201// be included in the string output. The member name will be present, but the
17202// value will be replaced with "sensitive".
17203func (s DescribeEC2InstanceLimitsOutput) GoString() string {
17204	return s.String()
17205}
17206
17207// SetEC2InstanceLimits sets the EC2InstanceLimits field's value.
17208func (s *DescribeEC2InstanceLimitsOutput) SetEC2InstanceLimits(v []*EC2InstanceLimit) *DescribeEC2InstanceLimitsOutput {
17209	s.EC2InstanceLimits = v
17210	return s
17211}
17212
17213// Represents the input for a request operation.
17214type DescribeFleetAttributesInput struct {
17215	_ struct{} `type:"structure"`
17216
17217	// A list of unique fleet identifiers to retrieve attributes for. You can use
17218	// either the fleet ID or ARN value. To retrieve attributes for all current
17219	// fleets, do not include this parameter.
17220	FleetIds []*string `min:"1" type:"list"`
17221
17222	// The maximum number of results to return. Use this parameter with NextToken
17223	// to get results as a set of sequential pages. This parameter is ignored when
17224	// the request specifies one or a list of fleet IDs.
17225	Limit *int64 `min:"1" type:"integer"`
17226
17227	// A token that indicates the start of the next sequential page of results.
17228	// Use the token that is returned with a previous call to this operation. To
17229	// start at the beginning of the result set, do not specify a value. This parameter
17230	// is ignored when the request specifies one or a list of fleet IDs.
17231	NextToken *string `min:"1" type:"string"`
17232}
17233
17234// String returns the string representation.
17235//
17236// API parameter values that are decorated as "sensitive" in the API will not
17237// be included in the string output. The member name will be present, but the
17238// value will be replaced with "sensitive".
17239func (s DescribeFleetAttributesInput) String() string {
17240	return awsutil.Prettify(s)
17241}
17242
17243// GoString returns the string representation.
17244//
17245// API parameter values that are decorated as "sensitive" in the API will not
17246// be included in the string output. The member name will be present, but the
17247// value will be replaced with "sensitive".
17248func (s DescribeFleetAttributesInput) GoString() string {
17249	return s.String()
17250}
17251
17252// Validate inspects the fields of the type to determine if they are valid.
17253func (s *DescribeFleetAttributesInput) Validate() error {
17254	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetAttributesInput"}
17255	if s.FleetIds != nil && len(s.FleetIds) < 1 {
17256		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
17257	}
17258	if s.Limit != nil && *s.Limit < 1 {
17259		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
17260	}
17261	if s.NextToken != nil && len(*s.NextToken) < 1 {
17262		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17263	}
17264
17265	if invalidParams.Len() > 0 {
17266		return invalidParams
17267	}
17268	return nil
17269}
17270
17271// SetFleetIds sets the FleetIds field's value.
17272func (s *DescribeFleetAttributesInput) SetFleetIds(v []*string) *DescribeFleetAttributesInput {
17273	s.FleetIds = v
17274	return s
17275}
17276
17277// SetLimit sets the Limit field's value.
17278func (s *DescribeFleetAttributesInput) SetLimit(v int64) *DescribeFleetAttributesInput {
17279	s.Limit = &v
17280	return s
17281}
17282
17283// SetNextToken sets the NextToken field's value.
17284func (s *DescribeFleetAttributesInput) SetNextToken(v string) *DescribeFleetAttributesInput {
17285	s.NextToken = &v
17286	return s
17287}
17288
17289// Represents the returned data in response to a request operation.
17290type DescribeFleetAttributesOutput struct {
17291	_ struct{} `type:"structure"`
17292
17293	// A collection of objects containing attribute metadata for each requested
17294	// fleet ID. Attribute objects are returned only for fleets that currently exist.
17295	FleetAttributes []*FleetAttributes `type:"list"`
17296
17297	// A token that indicates where to resume retrieving results on the next call
17298	// to this operation. If no token is returned, these results represent the end
17299	// of the list.
17300	NextToken *string `min:"1" type:"string"`
17301}
17302
17303// String returns the string representation.
17304//
17305// API parameter values that are decorated as "sensitive" in the API will not
17306// be included in the string output. The member name will be present, but the
17307// value will be replaced with "sensitive".
17308func (s DescribeFleetAttributesOutput) String() string {
17309	return awsutil.Prettify(s)
17310}
17311
17312// GoString returns the string representation.
17313//
17314// API parameter values that are decorated as "sensitive" in the API will not
17315// be included in the string output. The member name will be present, but the
17316// value will be replaced with "sensitive".
17317func (s DescribeFleetAttributesOutput) GoString() string {
17318	return s.String()
17319}
17320
17321// SetFleetAttributes sets the FleetAttributes field's value.
17322func (s *DescribeFleetAttributesOutput) SetFleetAttributes(v []*FleetAttributes) *DescribeFleetAttributesOutput {
17323	s.FleetAttributes = v
17324	return s
17325}
17326
17327// SetNextToken sets the NextToken field's value.
17328func (s *DescribeFleetAttributesOutput) SetNextToken(v string) *DescribeFleetAttributesOutput {
17329	s.NextToken = &v
17330	return s
17331}
17332
17333// Represents the input for a request operation.
17334type DescribeFleetCapacityInput struct {
17335	_ struct{} `type:"structure"`
17336
17337	// A unique identifier for the fleet(s) to retrieve capacity information for.
17338	// You can use either the fleet ID or ARN value. Leave this parameter empty
17339	// to retrieve capacity information for all fleets.
17340	FleetIds []*string `min:"1" type:"list"`
17341
17342	// The maximum number of results to return. Use this parameter with NextToken
17343	// to get results as a set of sequential pages. This parameter is ignored when
17344	// the request specifies one or a list of fleet IDs.
17345	Limit *int64 `min:"1" type:"integer"`
17346
17347	// A token that indicates the start of the next sequential page of results.
17348	// Use the token that is returned with a previous call to this operation. To
17349	// start at the beginning of the result set, do not specify a value. This parameter
17350	// is ignored when the request specifies one or a list of fleet IDs.
17351	NextToken *string `min:"1" type:"string"`
17352}
17353
17354// String returns the string representation.
17355//
17356// API parameter values that are decorated as "sensitive" in the API will not
17357// be included in the string output. The member name will be present, but the
17358// value will be replaced with "sensitive".
17359func (s DescribeFleetCapacityInput) String() string {
17360	return awsutil.Prettify(s)
17361}
17362
17363// GoString returns the string representation.
17364//
17365// API parameter values that are decorated as "sensitive" in the API will not
17366// be included in the string output. The member name will be present, but the
17367// value will be replaced with "sensitive".
17368func (s DescribeFleetCapacityInput) GoString() string {
17369	return s.String()
17370}
17371
17372// Validate inspects the fields of the type to determine if they are valid.
17373func (s *DescribeFleetCapacityInput) Validate() error {
17374	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetCapacityInput"}
17375	if s.FleetIds != nil && len(s.FleetIds) < 1 {
17376		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
17377	}
17378	if s.Limit != nil && *s.Limit < 1 {
17379		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
17380	}
17381	if s.NextToken != nil && len(*s.NextToken) < 1 {
17382		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17383	}
17384
17385	if invalidParams.Len() > 0 {
17386		return invalidParams
17387	}
17388	return nil
17389}
17390
17391// SetFleetIds sets the FleetIds field's value.
17392func (s *DescribeFleetCapacityInput) SetFleetIds(v []*string) *DescribeFleetCapacityInput {
17393	s.FleetIds = v
17394	return s
17395}
17396
17397// SetLimit sets the Limit field's value.
17398func (s *DescribeFleetCapacityInput) SetLimit(v int64) *DescribeFleetCapacityInput {
17399	s.Limit = &v
17400	return s
17401}
17402
17403// SetNextToken sets the NextToken field's value.
17404func (s *DescribeFleetCapacityInput) SetNextToken(v string) *DescribeFleetCapacityInput {
17405	s.NextToken = &v
17406	return s
17407}
17408
17409// Represents the returned data in response to a request operation.
17410type DescribeFleetCapacityOutput struct {
17411	_ struct{} `type:"structure"`
17412
17413	// A collection of objects that contains capacity information for each requested
17414	// fleet ID. Capacity objects are returned only for fleets that currently exist.
17415	FleetCapacity []*FleetCapacity `type:"list"`
17416
17417	// A token that indicates where to resume retrieving results on the next call
17418	// to this operation. If no token is returned, these results represent the end
17419	// of the list.
17420	NextToken *string `min:"1" type:"string"`
17421}
17422
17423// String returns the string representation.
17424//
17425// API parameter values that are decorated as "sensitive" in the API will not
17426// be included in the string output. The member name will be present, but the
17427// value will be replaced with "sensitive".
17428func (s DescribeFleetCapacityOutput) String() string {
17429	return awsutil.Prettify(s)
17430}
17431
17432// GoString returns the string representation.
17433//
17434// API parameter values that are decorated as "sensitive" in the API will not
17435// be included in the string output. The member name will be present, but the
17436// value will be replaced with "sensitive".
17437func (s DescribeFleetCapacityOutput) GoString() string {
17438	return s.String()
17439}
17440
17441// SetFleetCapacity sets the FleetCapacity field's value.
17442func (s *DescribeFleetCapacityOutput) SetFleetCapacity(v []*FleetCapacity) *DescribeFleetCapacityOutput {
17443	s.FleetCapacity = v
17444	return s
17445}
17446
17447// SetNextToken sets the NextToken field's value.
17448func (s *DescribeFleetCapacityOutput) SetNextToken(v string) *DescribeFleetCapacityOutput {
17449	s.NextToken = &v
17450	return s
17451}
17452
17453// Represents the input for a request operation.
17454type DescribeFleetEventsInput struct {
17455	_ struct{} `type:"structure"`
17456
17457	// The most recent date to retrieve event logs for. If no end time is specified,
17458	// this call returns entries from the specified start time up to the present.
17459	// Format is a number expressed in Unix time as milliseconds (ex: "1469498468.057").
17460	EndTime *time.Time `type:"timestamp"`
17461
17462	// A unique identifier for the fleet to get event logs for. You can use either
17463	// the fleet ID or ARN value.
17464	//
17465	// FleetId is a required field
17466	FleetId *string `type:"string" required:"true"`
17467
17468	// The maximum number of results to return. Use this parameter with NextToken
17469	// to get results as a set of sequential pages.
17470	Limit *int64 `min:"1" type:"integer"`
17471
17472	// A token that indicates the start of the next sequential page of results.
17473	// Use the token that is returned with a previous call to this operation. To
17474	// start at the beginning of the result set, do not specify a value.
17475	NextToken *string `min:"1" type:"string"`
17476
17477	// The earliest date to retrieve event logs for. If no start time is specified,
17478	// this call returns entries starting from when the fleet was created to the
17479	// specified end time. Format is a number expressed in Unix time as milliseconds
17480	// (ex: "1469498468.057").
17481	StartTime *time.Time `type:"timestamp"`
17482}
17483
17484// String returns the string representation.
17485//
17486// API parameter values that are decorated as "sensitive" in the API will not
17487// be included in the string output. The member name will be present, but the
17488// value will be replaced with "sensitive".
17489func (s DescribeFleetEventsInput) String() string {
17490	return awsutil.Prettify(s)
17491}
17492
17493// GoString returns the string representation.
17494//
17495// API parameter values that are decorated as "sensitive" in the API will not
17496// be included in the string output. The member name will be present, but the
17497// value will be replaced with "sensitive".
17498func (s DescribeFleetEventsInput) GoString() string {
17499	return s.String()
17500}
17501
17502// Validate inspects the fields of the type to determine if they are valid.
17503func (s *DescribeFleetEventsInput) Validate() error {
17504	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetEventsInput"}
17505	if s.FleetId == nil {
17506		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17507	}
17508	if s.Limit != nil && *s.Limit < 1 {
17509		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
17510	}
17511	if s.NextToken != nil && len(*s.NextToken) < 1 {
17512		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17513	}
17514
17515	if invalidParams.Len() > 0 {
17516		return invalidParams
17517	}
17518	return nil
17519}
17520
17521// SetEndTime sets the EndTime field's value.
17522func (s *DescribeFleetEventsInput) SetEndTime(v time.Time) *DescribeFleetEventsInput {
17523	s.EndTime = &v
17524	return s
17525}
17526
17527// SetFleetId sets the FleetId field's value.
17528func (s *DescribeFleetEventsInput) SetFleetId(v string) *DescribeFleetEventsInput {
17529	s.FleetId = &v
17530	return s
17531}
17532
17533// SetLimit sets the Limit field's value.
17534func (s *DescribeFleetEventsInput) SetLimit(v int64) *DescribeFleetEventsInput {
17535	s.Limit = &v
17536	return s
17537}
17538
17539// SetNextToken sets the NextToken field's value.
17540func (s *DescribeFleetEventsInput) SetNextToken(v string) *DescribeFleetEventsInput {
17541	s.NextToken = &v
17542	return s
17543}
17544
17545// SetStartTime sets the StartTime field's value.
17546func (s *DescribeFleetEventsInput) SetStartTime(v time.Time) *DescribeFleetEventsInput {
17547	s.StartTime = &v
17548	return s
17549}
17550
17551// Represents the returned data in response to a request operation.
17552type DescribeFleetEventsOutput struct {
17553	_ struct{} `type:"structure"`
17554
17555	// A collection of objects containing event log entries for the specified fleet.
17556	Events []*Event `type:"list"`
17557
17558	// A token that indicates where to resume retrieving results on the next call
17559	// to this operation. If no token is returned, these results represent the end
17560	// of the list.
17561	NextToken *string `min:"1" type:"string"`
17562}
17563
17564// String returns the string representation.
17565//
17566// API parameter values that are decorated as "sensitive" in the API will not
17567// be included in the string output. The member name will be present, but the
17568// value will be replaced with "sensitive".
17569func (s DescribeFleetEventsOutput) String() string {
17570	return awsutil.Prettify(s)
17571}
17572
17573// GoString returns the string representation.
17574//
17575// API parameter values that are decorated as "sensitive" in the API will not
17576// be included in the string output. The member name will be present, but the
17577// value will be replaced with "sensitive".
17578func (s DescribeFleetEventsOutput) GoString() string {
17579	return s.String()
17580}
17581
17582// SetEvents sets the Events field's value.
17583func (s *DescribeFleetEventsOutput) SetEvents(v []*Event) *DescribeFleetEventsOutput {
17584	s.Events = v
17585	return s
17586}
17587
17588// SetNextToken sets the NextToken field's value.
17589func (s *DescribeFleetEventsOutput) SetNextToken(v string) *DescribeFleetEventsOutput {
17590	s.NextToken = &v
17591	return s
17592}
17593
17594// Represents the input for a request operation.
17595type DescribeFleetLocationAttributesInput struct {
17596	_ struct{} `type:"structure"`
17597
17598	// A unique identifier for the fleet to retrieve remote locations for. You can
17599	// use either the fleet ID or ARN value.
17600	//
17601	// FleetId is a required field
17602	FleetId *string `type:"string" required:"true"`
17603
17604	// The maximum number of results to return. Use this parameter with NextToken
17605	// to get results as a set of sequential pages. This limit is not currently
17606	// enforced.
17607	Limit *int64 `min:"1" type:"integer"`
17608
17609	// A list of fleet locations to retrieve information for. Specify locations
17610	// in the form of an AWS Region code, such as us-west-2.
17611	Locations []*string `min:"1" type:"list"`
17612
17613	// A token that indicates the start of the next sequential page of results.
17614	// Use the token that is returned with a previous call to this operation. To
17615	// start at the beginning of the result set, do not specify a value.
17616	NextToken *string `min:"1" type:"string"`
17617}
17618
17619// String returns the string representation.
17620//
17621// API parameter values that are decorated as "sensitive" in the API will not
17622// be included in the string output. The member name will be present, but the
17623// value will be replaced with "sensitive".
17624func (s DescribeFleetLocationAttributesInput) String() string {
17625	return awsutil.Prettify(s)
17626}
17627
17628// GoString returns the string representation.
17629//
17630// API parameter values that are decorated as "sensitive" in the API will not
17631// be included in the string output. The member name will be present, but the
17632// value will be replaced with "sensitive".
17633func (s DescribeFleetLocationAttributesInput) GoString() string {
17634	return s.String()
17635}
17636
17637// Validate inspects the fields of the type to determine if they are valid.
17638func (s *DescribeFleetLocationAttributesInput) Validate() error {
17639	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetLocationAttributesInput"}
17640	if s.FleetId == nil {
17641		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17642	}
17643	if s.Limit != nil && *s.Limit < 1 {
17644		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
17645	}
17646	if s.Locations != nil && len(s.Locations) < 1 {
17647		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
17648	}
17649	if s.NextToken != nil && len(*s.NextToken) < 1 {
17650		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
17651	}
17652
17653	if invalidParams.Len() > 0 {
17654		return invalidParams
17655	}
17656	return nil
17657}
17658
17659// SetFleetId sets the FleetId field's value.
17660func (s *DescribeFleetLocationAttributesInput) SetFleetId(v string) *DescribeFleetLocationAttributesInput {
17661	s.FleetId = &v
17662	return s
17663}
17664
17665// SetLimit sets the Limit field's value.
17666func (s *DescribeFleetLocationAttributesInput) SetLimit(v int64) *DescribeFleetLocationAttributesInput {
17667	s.Limit = &v
17668	return s
17669}
17670
17671// SetLocations sets the Locations field's value.
17672func (s *DescribeFleetLocationAttributesInput) SetLocations(v []*string) *DescribeFleetLocationAttributesInput {
17673	s.Locations = v
17674	return s
17675}
17676
17677// SetNextToken sets the NextToken field's value.
17678func (s *DescribeFleetLocationAttributesInput) SetNextToken(v string) *DescribeFleetLocationAttributesInput {
17679	s.NextToken = &v
17680	return s
17681}
17682
17683// Represents the returned data in response to a request operation.
17684type DescribeFleetLocationAttributesOutput struct {
17685	_ struct{} `type:"structure"`
17686
17687	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
17688	// that is assigned to a GameLift fleet resource and uniquely identifies it.
17689	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
17690	FleetArn *string `type:"string"`
17691
17692	// A unique identifier for the fleet that location attributes were requested
17693	// for.
17694	FleetId *string `type:"string"`
17695
17696	// Location-specific information on the requested fleet's remote locations.
17697	LocationAttributes []*LocationAttributes `type:"list"`
17698
17699	// A token that indicates where to resume retrieving results on the next call
17700	// to this operation. If no token is returned, these results represent the end
17701	// of the list.
17702	NextToken *string `min:"1" type:"string"`
17703}
17704
17705// String returns the string representation.
17706//
17707// API parameter values that are decorated as "sensitive" in the API will not
17708// be included in the string output. The member name will be present, but the
17709// value will be replaced with "sensitive".
17710func (s DescribeFleetLocationAttributesOutput) String() string {
17711	return awsutil.Prettify(s)
17712}
17713
17714// GoString returns the string representation.
17715//
17716// API parameter values that are decorated as "sensitive" in the API will not
17717// be included in the string output. The member name will be present, but the
17718// value will be replaced with "sensitive".
17719func (s DescribeFleetLocationAttributesOutput) GoString() string {
17720	return s.String()
17721}
17722
17723// SetFleetArn sets the FleetArn field's value.
17724func (s *DescribeFleetLocationAttributesOutput) SetFleetArn(v string) *DescribeFleetLocationAttributesOutput {
17725	s.FleetArn = &v
17726	return s
17727}
17728
17729// SetFleetId sets the FleetId field's value.
17730func (s *DescribeFleetLocationAttributesOutput) SetFleetId(v string) *DescribeFleetLocationAttributesOutput {
17731	s.FleetId = &v
17732	return s
17733}
17734
17735// SetLocationAttributes sets the LocationAttributes field's value.
17736func (s *DescribeFleetLocationAttributesOutput) SetLocationAttributes(v []*LocationAttributes) *DescribeFleetLocationAttributesOutput {
17737	s.LocationAttributes = v
17738	return s
17739}
17740
17741// SetNextToken sets the NextToken field's value.
17742func (s *DescribeFleetLocationAttributesOutput) SetNextToken(v string) *DescribeFleetLocationAttributesOutput {
17743	s.NextToken = &v
17744	return s
17745}
17746
17747// Represents the input for a request operation.
17748type DescribeFleetLocationCapacityInput struct {
17749	_ struct{} `type:"structure"`
17750
17751	// A unique identifier for the fleet to request location capacity for. You can
17752	// use either the fleet ID or ARN value.
17753	//
17754	// FleetId is a required field
17755	FleetId *string `type:"string" required:"true"`
17756
17757	// The fleet location to retrieve capacity information for. Specify a location
17758	// in the form of an AWS Region code, such as us-west-2.
17759	//
17760	// Location is a required field
17761	Location *string `min:"1" type:"string" required:"true"`
17762}
17763
17764// String returns the string representation.
17765//
17766// API parameter values that are decorated as "sensitive" in the API will not
17767// be included in the string output. The member name will be present, but the
17768// value will be replaced with "sensitive".
17769func (s DescribeFleetLocationCapacityInput) String() string {
17770	return awsutil.Prettify(s)
17771}
17772
17773// GoString returns the string representation.
17774//
17775// API parameter values that are decorated as "sensitive" in the API will not
17776// be included in the string output. The member name will be present, but the
17777// value will be replaced with "sensitive".
17778func (s DescribeFleetLocationCapacityInput) GoString() string {
17779	return s.String()
17780}
17781
17782// Validate inspects the fields of the type to determine if they are valid.
17783func (s *DescribeFleetLocationCapacityInput) Validate() error {
17784	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetLocationCapacityInput"}
17785	if s.FleetId == nil {
17786		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17787	}
17788	if s.Location == nil {
17789		invalidParams.Add(request.NewErrParamRequired("Location"))
17790	}
17791	if s.Location != nil && len(*s.Location) < 1 {
17792		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
17793	}
17794
17795	if invalidParams.Len() > 0 {
17796		return invalidParams
17797	}
17798	return nil
17799}
17800
17801// SetFleetId sets the FleetId field's value.
17802func (s *DescribeFleetLocationCapacityInput) SetFleetId(v string) *DescribeFleetLocationCapacityInput {
17803	s.FleetId = &v
17804	return s
17805}
17806
17807// SetLocation sets the Location field's value.
17808func (s *DescribeFleetLocationCapacityInput) SetLocation(v string) *DescribeFleetLocationCapacityInput {
17809	s.Location = &v
17810	return s
17811}
17812
17813// Represents the returned data in response to a request operation.
17814type DescribeFleetLocationCapacityOutput struct {
17815	_ struct{} `type:"structure"`
17816
17817	// Resource capacity information for the requested fleet location. Capacity
17818	// objects are returned only for fleets and locations that currently exist.
17819	FleetCapacity *FleetCapacity `type:"structure"`
17820}
17821
17822// String returns the string representation.
17823//
17824// API parameter values that are decorated as "sensitive" in the API will not
17825// be included in the string output. The member name will be present, but the
17826// value will be replaced with "sensitive".
17827func (s DescribeFleetLocationCapacityOutput) String() string {
17828	return awsutil.Prettify(s)
17829}
17830
17831// GoString returns the string representation.
17832//
17833// API parameter values that are decorated as "sensitive" in the API will not
17834// be included in the string output. The member name will be present, but the
17835// value will be replaced with "sensitive".
17836func (s DescribeFleetLocationCapacityOutput) GoString() string {
17837	return s.String()
17838}
17839
17840// SetFleetCapacity sets the FleetCapacity field's value.
17841func (s *DescribeFleetLocationCapacityOutput) SetFleetCapacity(v *FleetCapacity) *DescribeFleetLocationCapacityOutput {
17842	s.FleetCapacity = v
17843	return s
17844}
17845
17846// Represents the input for a request operation.
17847type DescribeFleetLocationUtilizationInput struct {
17848	_ struct{} `type:"structure"`
17849
17850	// A unique identifier for the fleet to request location utilization for. You
17851	// can use either the fleet ID or ARN value.
17852	//
17853	// FleetId is a required field
17854	FleetId *string `type:"string" required:"true"`
17855
17856	// The fleet location to retrieve utilization information for. Specify a location
17857	// in the form of an AWS Region code, such as us-west-2.
17858	//
17859	// Location is a required field
17860	Location *string `min:"1" type:"string" required:"true"`
17861}
17862
17863// String returns the string representation.
17864//
17865// API parameter values that are decorated as "sensitive" in the API will not
17866// be included in the string output. The member name will be present, but the
17867// value will be replaced with "sensitive".
17868func (s DescribeFleetLocationUtilizationInput) String() string {
17869	return awsutil.Prettify(s)
17870}
17871
17872// GoString returns the string representation.
17873//
17874// API parameter values that are decorated as "sensitive" in the API will not
17875// be included in the string output. The member name will be present, but the
17876// value will be replaced with "sensitive".
17877func (s DescribeFleetLocationUtilizationInput) GoString() string {
17878	return s.String()
17879}
17880
17881// Validate inspects the fields of the type to determine if they are valid.
17882func (s *DescribeFleetLocationUtilizationInput) Validate() error {
17883	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetLocationUtilizationInput"}
17884	if s.FleetId == nil {
17885		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17886	}
17887	if s.Location == nil {
17888		invalidParams.Add(request.NewErrParamRequired("Location"))
17889	}
17890	if s.Location != nil && len(*s.Location) < 1 {
17891		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
17892	}
17893
17894	if invalidParams.Len() > 0 {
17895		return invalidParams
17896	}
17897	return nil
17898}
17899
17900// SetFleetId sets the FleetId field's value.
17901func (s *DescribeFleetLocationUtilizationInput) SetFleetId(v string) *DescribeFleetLocationUtilizationInput {
17902	s.FleetId = &v
17903	return s
17904}
17905
17906// SetLocation sets the Location field's value.
17907func (s *DescribeFleetLocationUtilizationInput) SetLocation(v string) *DescribeFleetLocationUtilizationInput {
17908	s.Location = &v
17909	return s
17910}
17911
17912// Represents the returned data in response to a request operation.
17913type DescribeFleetLocationUtilizationOutput struct {
17914	_ struct{} `type:"structure"`
17915
17916	// Utilization information for the requested fleet location. Utilization objects
17917	// are returned only for fleets and locations that currently exist.
17918	FleetUtilization *FleetUtilization `type:"structure"`
17919}
17920
17921// String returns the string representation.
17922//
17923// API parameter values that are decorated as "sensitive" in the API will not
17924// be included in the string output. The member name will be present, but the
17925// value will be replaced with "sensitive".
17926func (s DescribeFleetLocationUtilizationOutput) String() string {
17927	return awsutil.Prettify(s)
17928}
17929
17930// GoString returns the string representation.
17931//
17932// API parameter values that are decorated as "sensitive" in the API will not
17933// be included in the string output. The member name will be present, but the
17934// value will be replaced with "sensitive".
17935func (s DescribeFleetLocationUtilizationOutput) GoString() string {
17936	return s.String()
17937}
17938
17939// SetFleetUtilization sets the FleetUtilization field's value.
17940func (s *DescribeFleetLocationUtilizationOutput) SetFleetUtilization(v *FleetUtilization) *DescribeFleetLocationUtilizationOutput {
17941	s.FleetUtilization = v
17942	return s
17943}
17944
17945// Represents the input for a request operation.
17946type DescribeFleetPortSettingsInput struct {
17947	_ struct{} `type:"structure"`
17948
17949	// A unique identifier for the fleet to retrieve port settings for. You can
17950	// use either the fleet ID or ARN value.
17951	//
17952	// FleetId is a required field
17953	FleetId *string `type:"string" required:"true"`
17954
17955	// A remote location to check for status of port setting updates. Use the AWS
17956	// Region code format, such as us-west-2.
17957	Location *string `min:"1" type:"string"`
17958}
17959
17960// String returns the string representation.
17961//
17962// API parameter values that are decorated as "sensitive" in the API will not
17963// be included in the string output. The member name will be present, but the
17964// value will be replaced with "sensitive".
17965func (s DescribeFleetPortSettingsInput) String() string {
17966	return awsutil.Prettify(s)
17967}
17968
17969// GoString returns the string representation.
17970//
17971// API parameter values that are decorated as "sensitive" in the API will not
17972// be included in the string output. The member name will be present, but the
17973// value will be replaced with "sensitive".
17974func (s DescribeFleetPortSettingsInput) GoString() string {
17975	return s.String()
17976}
17977
17978// Validate inspects the fields of the type to determine if they are valid.
17979func (s *DescribeFleetPortSettingsInput) Validate() error {
17980	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetPortSettingsInput"}
17981	if s.FleetId == nil {
17982		invalidParams.Add(request.NewErrParamRequired("FleetId"))
17983	}
17984	if s.Location != nil && len(*s.Location) < 1 {
17985		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
17986	}
17987
17988	if invalidParams.Len() > 0 {
17989		return invalidParams
17990	}
17991	return nil
17992}
17993
17994// SetFleetId sets the FleetId field's value.
17995func (s *DescribeFleetPortSettingsInput) SetFleetId(v string) *DescribeFleetPortSettingsInput {
17996	s.FleetId = &v
17997	return s
17998}
17999
18000// SetLocation sets the Location field's value.
18001func (s *DescribeFleetPortSettingsInput) SetLocation(v string) *DescribeFleetPortSettingsInput {
18002	s.Location = &v
18003	return s
18004}
18005
18006// Represents the returned data in response to a request operation.
18007type DescribeFleetPortSettingsOutput struct {
18008	_ struct{} `type:"structure"`
18009
18010	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
18011	// that is assigned to a GameLift fleet resource and uniquely identifies it.
18012	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
18013	FleetArn *string `type:"string"`
18014
18015	// A unique identifier for the fleet that was requested.
18016	FleetId *string `type:"string"`
18017
18018	// The port settings for the requested fleet ID.
18019	InboundPermissions []*IpPermission `type:"list"`
18020
18021	// The requested fleet location, expressed as an AWS Region code, such as us-west-2.
18022	Location *string `min:"1" type:"string"`
18023
18024	// The current status of updates to the fleet's port settings in the requested
18025	// fleet location. A status of PENDING_UPDATE indicates that an update was requested
18026	// for the fleet but has not yet been completed for the location.
18027	UpdateStatus *string `type:"string" enum:"LocationUpdateStatus"`
18028}
18029
18030// String returns the string representation.
18031//
18032// API parameter values that are decorated as "sensitive" in the API will not
18033// be included in the string output. The member name will be present, but the
18034// value will be replaced with "sensitive".
18035func (s DescribeFleetPortSettingsOutput) String() string {
18036	return awsutil.Prettify(s)
18037}
18038
18039// GoString returns the string representation.
18040//
18041// API parameter values that are decorated as "sensitive" in the API will not
18042// be included in the string output. The member name will be present, but the
18043// value will be replaced with "sensitive".
18044func (s DescribeFleetPortSettingsOutput) GoString() string {
18045	return s.String()
18046}
18047
18048// SetFleetArn sets the FleetArn field's value.
18049func (s *DescribeFleetPortSettingsOutput) SetFleetArn(v string) *DescribeFleetPortSettingsOutput {
18050	s.FleetArn = &v
18051	return s
18052}
18053
18054// SetFleetId sets the FleetId field's value.
18055func (s *DescribeFleetPortSettingsOutput) SetFleetId(v string) *DescribeFleetPortSettingsOutput {
18056	s.FleetId = &v
18057	return s
18058}
18059
18060// SetInboundPermissions sets the InboundPermissions field's value.
18061func (s *DescribeFleetPortSettingsOutput) SetInboundPermissions(v []*IpPermission) *DescribeFleetPortSettingsOutput {
18062	s.InboundPermissions = v
18063	return s
18064}
18065
18066// SetLocation sets the Location field's value.
18067func (s *DescribeFleetPortSettingsOutput) SetLocation(v string) *DescribeFleetPortSettingsOutput {
18068	s.Location = &v
18069	return s
18070}
18071
18072// SetUpdateStatus sets the UpdateStatus field's value.
18073func (s *DescribeFleetPortSettingsOutput) SetUpdateStatus(v string) *DescribeFleetPortSettingsOutput {
18074	s.UpdateStatus = &v
18075	return s
18076}
18077
18078// Represents the input for a request operation.
18079type DescribeFleetUtilizationInput struct {
18080	_ struct{} `type:"structure"`
18081
18082	// A unique identifier for the fleet(s) to retrieve utilization data for. You
18083	// can use either the fleet ID or ARN value. To retrieve attributes for all
18084	// current fleets, do not include this parameter.
18085	FleetIds []*string `min:"1" type:"list"`
18086
18087	// The maximum number of results to return. Use this parameter with NextToken
18088	// to get results as a set of sequential pages. This parameter is ignored when
18089	// the request specifies one or a list of fleet IDs.
18090	Limit *int64 `min:"1" type:"integer"`
18091
18092	// A token that indicates the start of the next sequential page of results.
18093	// Use the token that is returned with a previous call to this operation. To
18094	// start at the beginning of the result set, do not specify a value. This parameter
18095	// is ignored when the request specifies one or a list of fleet IDs.
18096	NextToken *string `min:"1" type:"string"`
18097}
18098
18099// String returns the string representation.
18100//
18101// API parameter values that are decorated as "sensitive" in the API will not
18102// be included in the string output. The member name will be present, but the
18103// value will be replaced with "sensitive".
18104func (s DescribeFleetUtilizationInput) String() string {
18105	return awsutil.Prettify(s)
18106}
18107
18108// GoString returns the string representation.
18109//
18110// API parameter values that are decorated as "sensitive" in the API will not
18111// be included in the string output. The member name will be present, but the
18112// value will be replaced with "sensitive".
18113func (s DescribeFleetUtilizationInput) GoString() string {
18114	return s.String()
18115}
18116
18117// Validate inspects the fields of the type to determine if they are valid.
18118func (s *DescribeFleetUtilizationInput) Validate() error {
18119	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetUtilizationInput"}
18120	if s.FleetIds != nil && len(s.FleetIds) < 1 {
18121		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
18122	}
18123	if s.Limit != nil && *s.Limit < 1 {
18124		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
18125	}
18126	if s.NextToken != nil && len(*s.NextToken) < 1 {
18127		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
18128	}
18129
18130	if invalidParams.Len() > 0 {
18131		return invalidParams
18132	}
18133	return nil
18134}
18135
18136// SetFleetIds sets the FleetIds field's value.
18137func (s *DescribeFleetUtilizationInput) SetFleetIds(v []*string) *DescribeFleetUtilizationInput {
18138	s.FleetIds = v
18139	return s
18140}
18141
18142// SetLimit sets the Limit field's value.
18143func (s *DescribeFleetUtilizationInput) SetLimit(v int64) *DescribeFleetUtilizationInput {
18144	s.Limit = &v
18145	return s
18146}
18147
18148// SetNextToken sets the NextToken field's value.
18149func (s *DescribeFleetUtilizationInput) SetNextToken(v string) *DescribeFleetUtilizationInput {
18150	s.NextToken = &v
18151	return s
18152}
18153
18154// Represents the returned data in response to a request operation.
18155type DescribeFleetUtilizationOutput struct {
18156	_ struct{} `type:"structure"`
18157
18158	// A collection of objects containing utilization information for each requested
18159	// fleet ID. Utilization objects are returned only for fleets that currently
18160	// exist.
18161	FleetUtilization []*FleetUtilization `type:"list"`
18162
18163	// A token that indicates where to resume retrieving results on the next call
18164	// to this operation. If no token is returned, these results represent the end
18165	// of the list.
18166	NextToken *string `min:"1" type:"string"`
18167}
18168
18169// String returns the string representation.
18170//
18171// API parameter values that are decorated as "sensitive" in the API will not
18172// be included in the string output. The member name will be present, but the
18173// value will be replaced with "sensitive".
18174func (s DescribeFleetUtilizationOutput) String() string {
18175	return awsutil.Prettify(s)
18176}
18177
18178// GoString returns the string representation.
18179//
18180// API parameter values that are decorated as "sensitive" in the API will not
18181// be included in the string output. The member name will be present, but the
18182// value will be replaced with "sensitive".
18183func (s DescribeFleetUtilizationOutput) GoString() string {
18184	return s.String()
18185}
18186
18187// SetFleetUtilization sets the FleetUtilization field's value.
18188func (s *DescribeFleetUtilizationOutput) SetFleetUtilization(v []*FleetUtilization) *DescribeFleetUtilizationOutput {
18189	s.FleetUtilization = v
18190	return s
18191}
18192
18193// SetNextToken sets the NextToken field's value.
18194func (s *DescribeFleetUtilizationOutput) SetNextToken(v string) *DescribeFleetUtilizationOutput {
18195	s.NextToken = &v
18196	return s
18197}
18198
18199type DescribeGameServerGroupInput struct {
18200	_ struct{} `type:"structure"`
18201
18202	// A unique identifier for the game server group. Use either the GameServerGroup
18203	// name or ARN value.
18204	//
18205	// GameServerGroupName is a required field
18206	GameServerGroupName *string `min:"1" type:"string" required:"true"`
18207}
18208
18209// String returns the string representation.
18210//
18211// API parameter values that are decorated as "sensitive" in the API will not
18212// be included in the string output. The member name will be present, but the
18213// value will be replaced with "sensitive".
18214func (s DescribeGameServerGroupInput) String() string {
18215	return awsutil.Prettify(s)
18216}
18217
18218// GoString returns the string representation.
18219//
18220// API parameter values that are decorated as "sensitive" in the API will not
18221// be included in the string output. The member name will be present, but the
18222// value will be replaced with "sensitive".
18223func (s DescribeGameServerGroupInput) GoString() string {
18224	return s.String()
18225}
18226
18227// Validate inspects the fields of the type to determine if they are valid.
18228func (s *DescribeGameServerGroupInput) Validate() error {
18229	invalidParams := request.ErrInvalidParams{Context: "DescribeGameServerGroupInput"}
18230	if s.GameServerGroupName == nil {
18231		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
18232	}
18233	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
18234		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
18235	}
18236
18237	if invalidParams.Len() > 0 {
18238		return invalidParams
18239	}
18240	return nil
18241}
18242
18243// SetGameServerGroupName sets the GameServerGroupName field's value.
18244func (s *DescribeGameServerGroupInput) SetGameServerGroupName(v string) *DescribeGameServerGroupInput {
18245	s.GameServerGroupName = &v
18246	return s
18247}
18248
18249type DescribeGameServerGroupOutput struct {
18250	_ struct{} `type:"structure"`
18251
18252	// An object with the property settings for the requested game server group
18253	// resource.
18254	GameServerGroup *GameServerGroup `type:"structure"`
18255}
18256
18257// String returns the string representation.
18258//
18259// API parameter values that are decorated as "sensitive" in the API will not
18260// be included in the string output. The member name will be present, but the
18261// value will be replaced with "sensitive".
18262func (s DescribeGameServerGroupOutput) String() string {
18263	return awsutil.Prettify(s)
18264}
18265
18266// GoString returns the string representation.
18267//
18268// API parameter values that are decorated as "sensitive" in the API will not
18269// be included in the string output. The member name will be present, but the
18270// value will be replaced with "sensitive".
18271func (s DescribeGameServerGroupOutput) GoString() string {
18272	return s.String()
18273}
18274
18275// SetGameServerGroup sets the GameServerGroup field's value.
18276func (s *DescribeGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *DescribeGameServerGroupOutput {
18277	s.GameServerGroup = v
18278	return s
18279}
18280
18281type DescribeGameServerInput struct {
18282	_ struct{} `type:"structure"`
18283
18284	// A unique identifier for the game server group where the game server is running.
18285	// Use either the GameServerGroup name or ARN value.
18286	//
18287	// GameServerGroupName is a required field
18288	GameServerGroupName *string `min:"1" type:"string" required:"true"`
18289
18290	// A custom string that uniquely identifies the game server information to be
18291	// retrieved.
18292	//
18293	// GameServerId is a required field
18294	GameServerId *string `min:"3" type:"string" required:"true"`
18295}
18296
18297// String returns the string representation.
18298//
18299// API parameter values that are decorated as "sensitive" in the API will not
18300// be included in the string output. The member name will be present, but the
18301// value will be replaced with "sensitive".
18302func (s DescribeGameServerInput) String() string {
18303	return awsutil.Prettify(s)
18304}
18305
18306// GoString returns the string representation.
18307//
18308// API parameter values that are decorated as "sensitive" in the API will not
18309// be included in the string output. The member name will be present, but the
18310// value will be replaced with "sensitive".
18311func (s DescribeGameServerInput) GoString() string {
18312	return s.String()
18313}
18314
18315// Validate inspects the fields of the type to determine if they are valid.
18316func (s *DescribeGameServerInput) Validate() error {
18317	invalidParams := request.ErrInvalidParams{Context: "DescribeGameServerInput"}
18318	if s.GameServerGroupName == nil {
18319		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
18320	}
18321	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
18322		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
18323	}
18324	if s.GameServerId == nil {
18325		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
18326	}
18327	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
18328		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
18329	}
18330
18331	if invalidParams.Len() > 0 {
18332		return invalidParams
18333	}
18334	return nil
18335}
18336
18337// SetGameServerGroupName sets the GameServerGroupName field's value.
18338func (s *DescribeGameServerInput) SetGameServerGroupName(v string) *DescribeGameServerInput {
18339	s.GameServerGroupName = &v
18340	return s
18341}
18342
18343// SetGameServerId sets the GameServerId field's value.
18344func (s *DescribeGameServerInput) SetGameServerId(v string) *DescribeGameServerInput {
18345	s.GameServerId = &v
18346	return s
18347}
18348
18349type DescribeGameServerInstancesInput struct {
18350	_ struct{} `type:"structure"`
18351
18352	// A unique identifier for the game server group. Use either the GameServerGroup
18353	// name or ARN value.
18354	//
18355	// GameServerGroupName is a required field
18356	GameServerGroupName *string `min:"1" type:"string" required:"true"`
18357
18358	// The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs
18359	// use a 17-character format, for example: i-1234567890abcdef0. To retrieve
18360	// all instances in the game server group, leave this parameter empty.
18361	InstanceIds []*string `min:"1" type:"list"`
18362
18363	// The maximum number of results to return. Use this parameter with NextToken
18364	// to get results as a set of sequential pages.
18365	Limit *int64 `min:"1" type:"integer"`
18366
18367	// A token that indicates the start of the next sequential page of results.
18368	// Use the token that is returned with a previous call to this operation. To
18369	// start at the beginning of the result set, do not specify a value.
18370	NextToken *string `min:"1" type:"string"`
18371}
18372
18373// String returns the string representation.
18374//
18375// API parameter values that are decorated as "sensitive" in the API will not
18376// be included in the string output. The member name will be present, but the
18377// value will be replaced with "sensitive".
18378func (s DescribeGameServerInstancesInput) String() string {
18379	return awsutil.Prettify(s)
18380}
18381
18382// GoString returns the string representation.
18383//
18384// API parameter values that are decorated as "sensitive" in the API will not
18385// be included in the string output. The member name will be present, but the
18386// value will be replaced with "sensitive".
18387func (s DescribeGameServerInstancesInput) GoString() string {
18388	return s.String()
18389}
18390
18391// Validate inspects the fields of the type to determine if they are valid.
18392func (s *DescribeGameServerInstancesInput) Validate() error {
18393	invalidParams := request.ErrInvalidParams{Context: "DescribeGameServerInstancesInput"}
18394	if s.GameServerGroupName == nil {
18395		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
18396	}
18397	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
18398		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
18399	}
18400	if s.InstanceIds != nil && len(s.InstanceIds) < 1 {
18401		invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1))
18402	}
18403	if s.Limit != nil && *s.Limit < 1 {
18404		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
18405	}
18406	if s.NextToken != nil && len(*s.NextToken) < 1 {
18407		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
18408	}
18409
18410	if invalidParams.Len() > 0 {
18411		return invalidParams
18412	}
18413	return nil
18414}
18415
18416// SetGameServerGroupName sets the GameServerGroupName field's value.
18417func (s *DescribeGameServerInstancesInput) SetGameServerGroupName(v string) *DescribeGameServerInstancesInput {
18418	s.GameServerGroupName = &v
18419	return s
18420}
18421
18422// SetInstanceIds sets the InstanceIds field's value.
18423func (s *DescribeGameServerInstancesInput) SetInstanceIds(v []*string) *DescribeGameServerInstancesInput {
18424	s.InstanceIds = v
18425	return s
18426}
18427
18428// SetLimit sets the Limit field's value.
18429func (s *DescribeGameServerInstancesInput) SetLimit(v int64) *DescribeGameServerInstancesInput {
18430	s.Limit = &v
18431	return s
18432}
18433
18434// SetNextToken sets the NextToken field's value.
18435func (s *DescribeGameServerInstancesInput) SetNextToken(v string) *DescribeGameServerInstancesInput {
18436	s.NextToken = &v
18437	return s
18438}
18439
18440type DescribeGameServerInstancesOutput struct {
18441	_ struct{} `type:"structure"`
18442
18443	// The collection of requested game server instances.
18444	GameServerInstances []*GameServerInstance `type:"list"`
18445
18446	// A token that indicates where to resume retrieving results on the next call
18447	// to this operation. If no token is returned, these results represent the end
18448	// of the list.
18449	NextToken *string `min:"1" type:"string"`
18450}
18451
18452// String returns the string representation.
18453//
18454// API parameter values that are decorated as "sensitive" in the API will not
18455// be included in the string output. The member name will be present, but the
18456// value will be replaced with "sensitive".
18457func (s DescribeGameServerInstancesOutput) String() string {
18458	return awsutil.Prettify(s)
18459}
18460
18461// GoString returns the string representation.
18462//
18463// API parameter values that are decorated as "sensitive" in the API will not
18464// be included in the string output. The member name will be present, but the
18465// value will be replaced with "sensitive".
18466func (s DescribeGameServerInstancesOutput) GoString() string {
18467	return s.String()
18468}
18469
18470// SetGameServerInstances sets the GameServerInstances field's value.
18471func (s *DescribeGameServerInstancesOutput) SetGameServerInstances(v []*GameServerInstance) *DescribeGameServerInstancesOutput {
18472	s.GameServerInstances = v
18473	return s
18474}
18475
18476// SetNextToken sets the NextToken field's value.
18477func (s *DescribeGameServerInstancesOutput) SetNextToken(v string) *DescribeGameServerInstancesOutput {
18478	s.NextToken = &v
18479	return s
18480}
18481
18482type DescribeGameServerOutput struct {
18483	_ struct{} `type:"structure"`
18484
18485	// Object that describes the requested game server.
18486	GameServer *GameServer `type:"structure"`
18487}
18488
18489// String returns the string representation.
18490//
18491// API parameter values that are decorated as "sensitive" in the API will not
18492// be included in the string output. The member name will be present, but the
18493// value will be replaced with "sensitive".
18494func (s DescribeGameServerOutput) String() string {
18495	return awsutil.Prettify(s)
18496}
18497
18498// GoString returns the string representation.
18499//
18500// API parameter values that are decorated as "sensitive" in the API will not
18501// be included in the string output. The member name will be present, but the
18502// value will be replaced with "sensitive".
18503func (s DescribeGameServerOutput) GoString() string {
18504	return s.String()
18505}
18506
18507// SetGameServer sets the GameServer field's value.
18508func (s *DescribeGameServerOutput) SetGameServer(v *GameServer) *DescribeGameServerOutput {
18509	s.GameServer = v
18510	return s
18511}
18512
18513// Represents the input for a request operation.
18514type DescribeGameSessionDetailsInput struct {
18515	_ struct{} `type:"structure"`
18516
18517	// A unique identifier for the alias associated with the fleet to retrieve all
18518	// game sessions for. You can use either the alias ID or ARN value.
18519	AliasId *string `type:"string"`
18520
18521	// A unique identifier for the fleet to retrieve all game sessions active on
18522	// the fleet. You can use either the fleet ID or ARN value.
18523	FleetId *string `type:"string"`
18524
18525	// A unique identifier for the game session to retrieve.
18526	GameSessionId *string `min:"1" type:"string"`
18527
18528	// The maximum number of results to return. Use this parameter with NextToken
18529	// to get results as a set of sequential pages.
18530	Limit *int64 `min:"1" type:"integer"`
18531
18532	// A fleet location to get game sessions for. You can specify a fleet's home
18533	// Region or a remote location. Use the AWS Region code format, such as us-west-2.
18534	Location *string `min:"1" type:"string"`
18535
18536	// A token that indicates the start of the next sequential page of results.
18537	// Use the token that is returned with a previous call to this operation. To
18538	// start at the beginning of the result set, do not specify a value.
18539	NextToken *string `min:"1" type:"string"`
18540
18541	// Game session status to filter results on. Possible game session statuses
18542	// include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are
18543	// transitory).
18544	StatusFilter *string `min:"1" type:"string"`
18545}
18546
18547// String returns the string representation.
18548//
18549// API parameter values that are decorated as "sensitive" in the API will not
18550// be included in the string output. The member name will be present, but the
18551// value will be replaced with "sensitive".
18552func (s DescribeGameSessionDetailsInput) String() string {
18553	return awsutil.Prettify(s)
18554}
18555
18556// GoString returns the string representation.
18557//
18558// API parameter values that are decorated as "sensitive" in the API will not
18559// be included in the string output. The member name will be present, but the
18560// value will be replaced with "sensitive".
18561func (s DescribeGameSessionDetailsInput) GoString() string {
18562	return s.String()
18563}
18564
18565// Validate inspects the fields of the type to determine if they are valid.
18566func (s *DescribeGameSessionDetailsInput) Validate() error {
18567	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionDetailsInput"}
18568	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
18569		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
18570	}
18571	if s.Limit != nil && *s.Limit < 1 {
18572		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
18573	}
18574	if s.Location != nil && len(*s.Location) < 1 {
18575		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
18576	}
18577	if s.NextToken != nil && len(*s.NextToken) < 1 {
18578		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
18579	}
18580	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
18581		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
18582	}
18583
18584	if invalidParams.Len() > 0 {
18585		return invalidParams
18586	}
18587	return nil
18588}
18589
18590// SetAliasId sets the AliasId field's value.
18591func (s *DescribeGameSessionDetailsInput) SetAliasId(v string) *DescribeGameSessionDetailsInput {
18592	s.AliasId = &v
18593	return s
18594}
18595
18596// SetFleetId sets the FleetId field's value.
18597func (s *DescribeGameSessionDetailsInput) SetFleetId(v string) *DescribeGameSessionDetailsInput {
18598	s.FleetId = &v
18599	return s
18600}
18601
18602// SetGameSessionId sets the GameSessionId field's value.
18603func (s *DescribeGameSessionDetailsInput) SetGameSessionId(v string) *DescribeGameSessionDetailsInput {
18604	s.GameSessionId = &v
18605	return s
18606}
18607
18608// SetLimit sets the Limit field's value.
18609func (s *DescribeGameSessionDetailsInput) SetLimit(v int64) *DescribeGameSessionDetailsInput {
18610	s.Limit = &v
18611	return s
18612}
18613
18614// SetLocation sets the Location field's value.
18615func (s *DescribeGameSessionDetailsInput) SetLocation(v string) *DescribeGameSessionDetailsInput {
18616	s.Location = &v
18617	return s
18618}
18619
18620// SetNextToken sets the NextToken field's value.
18621func (s *DescribeGameSessionDetailsInput) SetNextToken(v string) *DescribeGameSessionDetailsInput {
18622	s.NextToken = &v
18623	return s
18624}
18625
18626// SetStatusFilter sets the StatusFilter field's value.
18627func (s *DescribeGameSessionDetailsInput) SetStatusFilter(v string) *DescribeGameSessionDetailsInput {
18628	s.StatusFilter = &v
18629	return s
18630}
18631
18632// Represents the returned data in response to a request operation.
18633type DescribeGameSessionDetailsOutput struct {
18634	_ struct{} `type:"structure"`
18635
18636	// A collection of properties for each game session that matches the request.
18637	GameSessionDetails []*GameSessionDetail `type:"list"`
18638
18639	// A token that indicates where to resume retrieving results on the next call
18640	// to this operation. If no token is returned, these results represent the end
18641	// of the list.
18642	NextToken *string `min:"1" type:"string"`
18643}
18644
18645// String returns the string representation.
18646//
18647// API parameter values that are decorated as "sensitive" in the API will not
18648// be included in the string output. The member name will be present, but the
18649// value will be replaced with "sensitive".
18650func (s DescribeGameSessionDetailsOutput) String() string {
18651	return awsutil.Prettify(s)
18652}
18653
18654// GoString returns the string representation.
18655//
18656// API parameter values that are decorated as "sensitive" in the API will not
18657// be included in the string output. The member name will be present, but the
18658// value will be replaced with "sensitive".
18659func (s DescribeGameSessionDetailsOutput) GoString() string {
18660	return s.String()
18661}
18662
18663// SetGameSessionDetails sets the GameSessionDetails field's value.
18664func (s *DescribeGameSessionDetailsOutput) SetGameSessionDetails(v []*GameSessionDetail) *DescribeGameSessionDetailsOutput {
18665	s.GameSessionDetails = v
18666	return s
18667}
18668
18669// SetNextToken sets the NextToken field's value.
18670func (s *DescribeGameSessionDetailsOutput) SetNextToken(v string) *DescribeGameSessionDetailsOutput {
18671	s.NextToken = &v
18672	return s
18673}
18674
18675// Represents the input for a request operation.
18676type DescribeGameSessionPlacementInput struct {
18677	_ struct{} `type:"structure"`
18678
18679	// A unique identifier for a game session placement to retrieve.
18680	//
18681	// PlacementId is a required field
18682	PlacementId *string `min:"1" type:"string" required:"true"`
18683}
18684
18685// String returns the string representation.
18686//
18687// API parameter values that are decorated as "sensitive" in the API will not
18688// be included in the string output. The member name will be present, but the
18689// value will be replaced with "sensitive".
18690func (s DescribeGameSessionPlacementInput) String() string {
18691	return awsutil.Prettify(s)
18692}
18693
18694// GoString returns the string representation.
18695//
18696// API parameter values that are decorated as "sensitive" in the API will not
18697// be included in the string output. The member name will be present, but the
18698// value will be replaced with "sensitive".
18699func (s DescribeGameSessionPlacementInput) GoString() string {
18700	return s.String()
18701}
18702
18703// Validate inspects the fields of the type to determine if they are valid.
18704func (s *DescribeGameSessionPlacementInput) Validate() error {
18705	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionPlacementInput"}
18706	if s.PlacementId == nil {
18707		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
18708	}
18709	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
18710		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
18711	}
18712
18713	if invalidParams.Len() > 0 {
18714		return invalidParams
18715	}
18716	return nil
18717}
18718
18719// SetPlacementId sets the PlacementId field's value.
18720func (s *DescribeGameSessionPlacementInput) SetPlacementId(v string) *DescribeGameSessionPlacementInput {
18721	s.PlacementId = &v
18722	return s
18723}
18724
18725// Represents the returned data in response to a request operation.
18726type DescribeGameSessionPlacementOutput struct {
18727	_ struct{} `type:"structure"`
18728
18729	// Object that describes the requested game session placement.
18730	GameSessionPlacement *GameSessionPlacement `type:"structure"`
18731}
18732
18733// String returns the string representation.
18734//
18735// API parameter values that are decorated as "sensitive" in the API will not
18736// be included in the string output. The member name will be present, but the
18737// value will be replaced with "sensitive".
18738func (s DescribeGameSessionPlacementOutput) String() string {
18739	return awsutil.Prettify(s)
18740}
18741
18742// GoString returns the string representation.
18743//
18744// API parameter values that are decorated as "sensitive" in the API will not
18745// be included in the string output. The member name will be present, but the
18746// value will be replaced with "sensitive".
18747func (s DescribeGameSessionPlacementOutput) GoString() string {
18748	return s.String()
18749}
18750
18751// SetGameSessionPlacement sets the GameSessionPlacement field's value.
18752func (s *DescribeGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *DescribeGameSessionPlacementOutput {
18753	s.GameSessionPlacement = v
18754	return s
18755}
18756
18757// Represents the input for a request operation.
18758type DescribeGameSessionQueuesInput struct {
18759	_ struct{} `type:"structure"`
18760
18761	// The maximum number of results to return. Use this parameter with NextToken
18762	// to get results as a set of sequential pages. You can request up to 50 results.
18763	Limit *int64 `min:"1" type:"integer"`
18764
18765	// A list of queue names to retrieve information for. You can use either the
18766	// queue ID or ARN value. To request settings for all queues, leave this parameter
18767	// empty.
18768	Names []*string `type:"list"`
18769
18770	// A token that indicates the start of the next sequential page of results.
18771	// Use the token that is returned with a previous call to this operation. To
18772	// start at the beginning of the result set, do not specify a value.
18773	NextToken *string `min:"1" type:"string"`
18774}
18775
18776// String returns the string representation.
18777//
18778// API parameter values that are decorated as "sensitive" in the API will not
18779// be included in the string output. The member name will be present, but the
18780// value will be replaced with "sensitive".
18781func (s DescribeGameSessionQueuesInput) String() string {
18782	return awsutil.Prettify(s)
18783}
18784
18785// GoString returns the string representation.
18786//
18787// API parameter values that are decorated as "sensitive" in the API will not
18788// be included in the string output. The member name will be present, but the
18789// value will be replaced with "sensitive".
18790func (s DescribeGameSessionQueuesInput) GoString() string {
18791	return s.String()
18792}
18793
18794// Validate inspects the fields of the type to determine if they are valid.
18795func (s *DescribeGameSessionQueuesInput) Validate() error {
18796	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionQueuesInput"}
18797	if s.Limit != nil && *s.Limit < 1 {
18798		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
18799	}
18800	if s.NextToken != nil && len(*s.NextToken) < 1 {
18801		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
18802	}
18803
18804	if invalidParams.Len() > 0 {
18805		return invalidParams
18806	}
18807	return nil
18808}
18809
18810// SetLimit sets the Limit field's value.
18811func (s *DescribeGameSessionQueuesInput) SetLimit(v int64) *DescribeGameSessionQueuesInput {
18812	s.Limit = &v
18813	return s
18814}
18815
18816// SetNames sets the Names field's value.
18817func (s *DescribeGameSessionQueuesInput) SetNames(v []*string) *DescribeGameSessionQueuesInput {
18818	s.Names = v
18819	return s
18820}
18821
18822// SetNextToken sets the NextToken field's value.
18823func (s *DescribeGameSessionQueuesInput) SetNextToken(v string) *DescribeGameSessionQueuesInput {
18824	s.NextToken = &v
18825	return s
18826}
18827
18828// Represents the returned data in response to a request operation.
18829type DescribeGameSessionQueuesOutput struct {
18830	_ struct{} `type:"structure"`
18831
18832	// A collection of objects that describe the requested game session queues.
18833	GameSessionQueues []*GameSessionQueue `type:"list"`
18834
18835	// A token that indicates where to resume retrieving results on the next call
18836	// to this operation. If no token is returned, these results represent the end
18837	// of the list.
18838	NextToken *string `min:"1" type:"string"`
18839}
18840
18841// String returns the string representation.
18842//
18843// API parameter values that are decorated as "sensitive" in the API will not
18844// be included in the string output. The member name will be present, but the
18845// value will be replaced with "sensitive".
18846func (s DescribeGameSessionQueuesOutput) String() string {
18847	return awsutil.Prettify(s)
18848}
18849
18850// GoString returns the string representation.
18851//
18852// API parameter values that are decorated as "sensitive" in the API will not
18853// be included in the string output. The member name will be present, but the
18854// value will be replaced with "sensitive".
18855func (s DescribeGameSessionQueuesOutput) GoString() string {
18856	return s.String()
18857}
18858
18859// SetGameSessionQueues sets the GameSessionQueues field's value.
18860func (s *DescribeGameSessionQueuesOutput) SetGameSessionQueues(v []*GameSessionQueue) *DescribeGameSessionQueuesOutput {
18861	s.GameSessionQueues = v
18862	return s
18863}
18864
18865// SetNextToken sets the NextToken field's value.
18866func (s *DescribeGameSessionQueuesOutput) SetNextToken(v string) *DescribeGameSessionQueuesOutput {
18867	s.NextToken = &v
18868	return s
18869}
18870
18871// Represents the input for a request operation.
18872type DescribeGameSessionsInput struct {
18873	_ struct{} `type:"structure"`
18874
18875	// A unique identifier for the alias associated with the fleet to retrieve game
18876	// sessions for. You can use either the alias ID or ARN value.
18877	AliasId *string `type:"string"`
18878
18879	// A unique identifier for the fleet to retrieve game sessions for. You can
18880	// use either the fleet ID or ARN value.
18881	FleetId *string `type:"string"`
18882
18883	// A unique identifier for the game session to retrieve.
18884	GameSessionId *string `min:"1" type:"string"`
18885
18886	// The maximum number of results to return. Use this parameter with NextToken
18887	// to get results as a set of sequential pages.
18888	Limit *int64 `min:"1" type:"integer"`
18889
18890	// A fleet location to get game session details for. You can specify a fleet's
18891	// home Region or a remote location. Use the AWS Region code format, such as
18892	// us-west-2.
18893	Location *string `min:"1" type:"string"`
18894
18895	// A token that indicates the start of the next sequential page of results.
18896	// Use the token that is returned with a previous call to this operation. To
18897	// start at the beginning of the result set, do not specify a value.
18898	NextToken *string `min:"1" type:"string"`
18899
18900	// Game session status to filter results on. You can filter on the following
18901	// states: ACTIVE, TERMINATED, ACTIVATING, and TERMINATING. The last two are
18902	// transitory and used for only very brief periods of time.
18903	StatusFilter *string `min:"1" type:"string"`
18904}
18905
18906// String returns the string representation.
18907//
18908// API parameter values that are decorated as "sensitive" in the API will not
18909// be included in the string output. The member name will be present, but the
18910// value will be replaced with "sensitive".
18911func (s DescribeGameSessionsInput) String() string {
18912	return awsutil.Prettify(s)
18913}
18914
18915// GoString returns the string representation.
18916//
18917// API parameter values that are decorated as "sensitive" in the API will not
18918// be included in the string output. The member name will be present, but the
18919// value will be replaced with "sensitive".
18920func (s DescribeGameSessionsInput) GoString() string {
18921	return s.String()
18922}
18923
18924// Validate inspects the fields of the type to determine if they are valid.
18925func (s *DescribeGameSessionsInput) Validate() error {
18926	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionsInput"}
18927	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
18928		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
18929	}
18930	if s.Limit != nil && *s.Limit < 1 {
18931		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
18932	}
18933	if s.Location != nil && len(*s.Location) < 1 {
18934		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
18935	}
18936	if s.NextToken != nil && len(*s.NextToken) < 1 {
18937		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
18938	}
18939	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
18940		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
18941	}
18942
18943	if invalidParams.Len() > 0 {
18944		return invalidParams
18945	}
18946	return nil
18947}
18948
18949// SetAliasId sets the AliasId field's value.
18950func (s *DescribeGameSessionsInput) SetAliasId(v string) *DescribeGameSessionsInput {
18951	s.AliasId = &v
18952	return s
18953}
18954
18955// SetFleetId sets the FleetId field's value.
18956func (s *DescribeGameSessionsInput) SetFleetId(v string) *DescribeGameSessionsInput {
18957	s.FleetId = &v
18958	return s
18959}
18960
18961// SetGameSessionId sets the GameSessionId field's value.
18962func (s *DescribeGameSessionsInput) SetGameSessionId(v string) *DescribeGameSessionsInput {
18963	s.GameSessionId = &v
18964	return s
18965}
18966
18967// SetLimit sets the Limit field's value.
18968func (s *DescribeGameSessionsInput) SetLimit(v int64) *DescribeGameSessionsInput {
18969	s.Limit = &v
18970	return s
18971}
18972
18973// SetLocation sets the Location field's value.
18974func (s *DescribeGameSessionsInput) SetLocation(v string) *DescribeGameSessionsInput {
18975	s.Location = &v
18976	return s
18977}
18978
18979// SetNextToken sets the NextToken field's value.
18980func (s *DescribeGameSessionsInput) SetNextToken(v string) *DescribeGameSessionsInput {
18981	s.NextToken = &v
18982	return s
18983}
18984
18985// SetStatusFilter sets the StatusFilter field's value.
18986func (s *DescribeGameSessionsInput) SetStatusFilter(v string) *DescribeGameSessionsInput {
18987	s.StatusFilter = &v
18988	return s
18989}
18990
18991// Represents the returned data in response to a request operation.
18992type DescribeGameSessionsOutput struct {
18993	_ struct{} `type:"structure"`
18994
18995	// A collection of properties for each game session that matches the request.
18996	GameSessions []*GameSession `type:"list"`
18997
18998	// A token that indicates where to resume retrieving results on the next call
18999	// to this operation. If no token is returned, these results represent the end
19000	// of the list.
19001	NextToken *string `min:"1" type:"string"`
19002}
19003
19004// String returns the string representation.
19005//
19006// API parameter values that are decorated as "sensitive" in the API will not
19007// be included in the string output. The member name will be present, but the
19008// value will be replaced with "sensitive".
19009func (s DescribeGameSessionsOutput) String() string {
19010	return awsutil.Prettify(s)
19011}
19012
19013// GoString returns the string representation.
19014//
19015// API parameter values that are decorated as "sensitive" in the API will not
19016// be included in the string output. The member name will be present, but the
19017// value will be replaced with "sensitive".
19018func (s DescribeGameSessionsOutput) GoString() string {
19019	return s.String()
19020}
19021
19022// SetGameSessions sets the GameSessions field's value.
19023func (s *DescribeGameSessionsOutput) SetGameSessions(v []*GameSession) *DescribeGameSessionsOutput {
19024	s.GameSessions = v
19025	return s
19026}
19027
19028// SetNextToken sets the NextToken field's value.
19029func (s *DescribeGameSessionsOutput) SetNextToken(v string) *DescribeGameSessionsOutput {
19030	s.NextToken = &v
19031	return s
19032}
19033
19034// Represents the input for a request operation.
19035type DescribeInstancesInput struct {
19036	_ struct{} `type:"structure"`
19037
19038	// A unique identifier for the fleet to retrieve instance information for. You
19039	// can use either the fleet ID or ARN value.
19040	//
19041	// FleetId is a required field
19042	FleetId *string `type:"string" required:"true"`
19043
19044	// A unique identifier for an instance to retrieve. Specify an instance ID or
19045	// leave blank to retrieve all instances in the fleet.
19046	InstanceId *string `type:"string"`
19047
19048	// The maximum number of results to return. Use this parameter with NextToken
19049	// to get results as a set of sequential pages.
19050	Limit *int64 `min:"1" type:"integer"`
19051
19052	// The name of a location to retrieve instance information for, in the form
19053	// of an AWS Region code such as us-west-2.
19054	Location *string `min:"1" type:"string"`
19055
19056	// A token that indicates the start of the next sequential page of results.
19057	// Use the token that is returned with a previous call to this operation. To
19058	// start at the beginning of the result set, do not specify a value.
19059	NextToken *string `min:"1" type:"string"`
19060}
19061
19062// String returns the string representation.
19063//
19064// API parameter values that are decorated as "sensitive" in the API will not
19065// be included in the string output. The member name will be present, but the
19066// value will be replaced with "sensitive".
19067func (s DescribeInstancesInput) String() string {
19068	return awsutil.Prettify(s)
19069}
19070
19071// GoString returns the string representation.
19072//
19073// API parameter values that are decorated as "sensitive" in the API will not
19074// be included in the string output. The member name will be present, but the
19075// value will be replaced with "sensitive".
19076func (s DescribeInstancesInput) GoString() string {
19077	return s.String()
19078}
19079
19080// Validate inspects the fields of the type to determine if they are valid.
19081func (s *DescribeInstancesInput) Validate() error {
19082	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesInput"}
19083	if s.FleetId == nil {
19084		invalidParams.Add(request.NewErrParamRequired("FleetId"))
19085	}
19086	if s.Limit != nil && *s.Limit < 1 {
19087		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
19088	}
19089	if s.Location != nil && len(*s.Location) < 1 {
19090		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
19091	}
19092	if s.NextToken != nil && len(*s.NextToken) < 1 {
19093		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
19094	}
19095
19096	if invalidParams.Len() > 0 {
19097		return invalidParams
19098	}
19099	return nil
19100}
19101
19102// SetFleetId sets the FleetId field's value.
19103func (s *DescribeInstancesInput) SetFleetId(v string) *DescribeInstancesInput {
19104	s.FleetId = &v
19105	return s
19106}
19107
19108// SetInstanceId sets the InstanceId field's value.
19109func (s *DescribeInstancesInput) SetInstanceId(v string) *DescribeInstancesInput {
19110	s.InstanceId = &v
19111	return s
19112}
19113
19114// SetLimit sets the Limit field's value.
19115func (s *DescribeInstancesInput) SetLimit(v int64) *DescribeInstancesInput {
19116	s.Limit = &v
19117	return s
19118}
19119
19120// SetLocation sets the Location field's value.
19121func (s *DescribeInstancesInput) SetLocation(v string) *DescribeInstancesInput {
19122	s.Location = &v
19123	return s
19124}
19125
19126// SetNextToken sets the NextToken field's value.
19127func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
19128	s.NextToken = &v
19129	return s
19130}
19131
19132// Represents the returned data in response to a request operation.
19133type DescribeInstancesOutput struct {
19134	_ struct{} `type:"structure"`
19135
19136	// A collection of objects containing properties for each instance returned.
19137	Instances []*Instance `type:"list"`
19138
19139	// A token that indicates where to resume retrieving results on the next call
19140	// to this operation. If no token is returned, these results represent the end
19141	// of the list.
19142	NextToken *string `min:"1" type:"string"`
19143}
19144
19145// String returns the string representation.
19146//
19147// API parameter values that are decorated as "sensitive" in the API will not
19148// be included in the string output. The member name will be present, but the
19149// value will be replaced with "sensitive".
19150func (s DescribeInstancesOutput) String() string {
19151	return awsutil.Prettify(s)
19152}
19153
19154// GoString returns the string representation.
19155//
19156// API parameter values that are decorated as "sensitive" in the API will not
19157// be included in the string output. The member name will be present, but the
19158// value will be replaced with "sensitive".
19159func (s DescribeInstancesOutput) GoString() string {
19160	return s.String()
19161}
19162
19163// SetInstances sets the Instances field's value.
19164func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
19165	s.Instances = v
19166	return s
19167}
19168
19169// SetNextToken sets the NextToken field's value.
19170func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
19171	s.NextToken = &v
19172	return s
19173}
19174
19175// Represents the input for a request operation.
19176type DescribeMatchmakingConfigurationsInput struct {
19177	_ struct{} `type:"structure"`
19178
19179	// The maximum number of results to return. Use this parameter with NextToken
19180	// to get results as a set of sequential pages. This parameter is limited to
19181	// 10.
19182	Limit *int64 `min:"1" type:"integer"`
19183
19184	// A unique identifier for the matchmaking configuration(s) to retrieve. You
19185	// can use either the configuration name or ARN value. To request all existing
19186	// configurations, leave this parameter empty.
19187	Names []*string `type:"list"`
19188
19189	// A token that indicates the start of the next sequential page of results.
19190	// Use the token that is returned with a previous call to this operation. To
19191	// start at the beginning of the result set, do not specify a value.
19192	NextToken *string `min:"1" type:"string"`
19193
19194	// A unique identifier for the matchmaking rule set. You can use either the
19195	// rule set name or ARN value. Use this parameter to retrieve all matchmaking
19196	// configurations that use this rule set.
19197	RuleSetName *string `min:"1" type:"string"`
19198}
19199
19200// String returns the string representation.
19201//
19202// API parameter values that are decorated as "sensitive" in the API will not
19203// be included in the string output. The member name will be present, but the
19204// value will be replaced with "sensitive".
19205func (s DescribeMatchmakingConfigurationsInput) String() string {
19206	return awsutil.Prettify(s)
19207}
19208
19209// GoString returns the string representation.
19210//
19211// API parameter values that are decorated as "sensitive" in the API will not
19212// be included in the string output. The member name will be present, but the
19213// value will be replaced with "sensitive".
19214func (s DescribeMatchmakingConfigurationsInput) GoString() string {
19215	return s.String()
19216}
19217
19218// Validate inspects the fields of the type to determine if they are valid.
19219func (s *DescribeMatchmakingConfigurationsInput) Validate() error {
19220	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingConfigurationsInput"}
19221	if s.Limit != nil && *s.Limit < 1 {
19222		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
19223	}
19224	if s.NextToken != nil && len(*s.NextToken) < 1 {
19225		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
19226	}
19227	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
19228		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
19229	}
19230
19231	if invalidParams.Len() > 0 {
19232		return invalidParams
19233	}
19234	return nil
19235}
19236
19237// SetLimit sets the Limit field's value.
19238func (s *DescribeMatchmakingConfigurationsInput) SetLimit(v int64) *DescribeMatchmakingConfigurationsInput {
19239	s.Limit = &v
19240	return s
19241}
19242
19243// SetNames sets the Names field's value.
19244func (s *DescribeMatchmakingConfigurationsInput) SetNames(v []*string) *DescribeMatchmakingConfigurationsInput {
19245	s.Names = v
19246	return s
19247}
19248
19249// SetNextToken sets the NextToken field's value.
19250func (s *DescribeMatchmakingConfigurationsInput) SetNextToken(v string) *DescribeMatchmakingConfigurationsInput {
19251	s.NextToken = &v
19252	return s
19253}
19254
19255// SetRuleSetName sets the RuleSetName field's value.
19256func (s *DescribeMatchmakingConfigurationsInput) SetRuleSetName(v string) *DescribeMatchmakingConfigurationsInput {
19257	s.RuleSetName = &v
19258	return s
19259}
19260
19261// Represents the returned data in response to a request operation.
19262type DescribeMatchmakingConfigurationsOutput struct {
19263	_ struct{} `type:"structure"`
19264
19265	// A collection of requested matchmaking configurations.
19266	Configurations []*MatchmakingConfiguration `type:"list"`
19267
19268	// A token that indicates where to resume retrieving results on the next call
19269	// to this operation. If no token is returned, these results represent the end
19270	// of the list.
19271	NextToken *string `min:"1" type:"string"`
19272}
19273
19274// String returns the string representation.
19275//
19276// API parameter values that are decorated as "sensitive" in the API will not
19277// be included in the string output. The member name will be present, but the
19278// value will be replaced with "sensitive".
19279func (s DescribeMatchmakingConfigurationsOutput) String() string {
19280	return awsutil.Prettify(s)
19281}
19282
19283// GoString returns the string representation.
19284//
19285// API parameter values that are decorated as "sensitive" in the API will not
19286// be included in the string output. The member name will be present, but the
19287// value will be replaced with "sensitive".
19288func (s DescribeMatchmakingConfigurationsOutput) GoString() string {
19289	return s.String()
19290}
19291
19292// SetConfigurations sets the Configurations field's value.
19293func (s *DescribeMatchmakingConfigurationsOutput) SetConfigurations(v []*MatchmakingConfiguration) *DescribeMatchmakingConfigurationsOutput {
19294	s.Configurations = v
19295	return s
19296}
19297
19298// SetNextToken sets the NextToken field's value.
19299func (s *DescribeMatchmakingConfigurationsOutput) SetNextToken(v string) *DescribeMatchmakingConfigurationsOutput {
19300	s.NextToken = &v
19301	return s
19302}
19303
19304// Represents the input for a request operation.
19305type DescribeMatchmakingInput struct {
19306	_ struct{} `type:"structure"`
19307
19308	// A unique identifier for a matchmaking ticket. You can include up to 10 ID
19309	// values.
19310	//
19311	// TicketIds is a required field
19312	TicketIds []*string `type:"list" required:"true"`
19313}
19314
19315// String returns the string representation.
19316//
19317// API parameter values that are decorated as "sensitive" in the API will not
19318// be included in the string output. The member name will be present, but the
19319// value will be replaced with "sensitive".
19320func (s DescribeMatchmakingInput) String() string {
19321	return awsutil.Prettify(s)
19322}
19323
19324// GoString returns the string representation.
19325//
19326// API parameter values that are decorated as "sensitive" in the API will not
19327// be included in the string output. The member name will be present, but the
19328// value will be replaced with "sensitive".
19329func (s DescribeMatchmakingInput) GoString() string {
19330	return s.String()
19331}
19332
19333// Validate inspects the fields of the type to determine if they are valid.
19334func (s *DescribeMatchmakingInput) Validate() error {
19335	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingInput"}
19336	if s.TicketIds == nil {
19337		invalidParams.Add(request.NewErrParamRequired("TicketIds"))
19338	}
19339
19340	if invalidParams.Len() > 0 {
19341		return invalidParams
19342	}
19343	return nil
19344}
19345
19346// SetTicketIds sets the TicketIds field's value.
19347func (s *DescribeMatchmakingInput) SetTicketIds(v []*string) *DescribeMatchmakingInput {
19348	s.TicketIds = v
19349	return s
19350}
19351
19352// Represents the returned data in response to a request operation.
19353type DescribeMatchmakingOutput struct {
19354	_ struct{} `type:"structure"`
19355
19356	// A collection of existing matchmaking ticket objects matching the request.
19357	TicketList []*MatchmakingTicket `type:"list"`
19358}
19359
19360// String returns the string representation.
19361//
19362// API parameter values that are decorated as "sensitive" in the API will not
19363// be included in the string output. The member name will be present, but the
19364// value will be replaced with "sensitive".
19365func (s DescribeMatchmakingOutput) String() string {
19366	return awsutil.Prettify(s)
19367}
19368
19369// GoString returns the string representation.
19370//
19371// API parameter values that are decorated as "sensitive" in the API will not
19372// be included in the string output. The member name will be present, but the
19373// value will be replaced with "sensitive".
19374func (s DescribeMatchmakingOutput) GoString() string {
19375	return s.String()
19376}
19377
19378// SetTicketList sets the TicketList field's value.
19379func (s *DescribeMatchmakingOutput) SetTicketList(v []*MatchmakingTicket) *DescribeMatchmakingOutput {
19380	s.TicketList = v
19381	return s
19382}
19383
19384// Represents the input for a request operation.
19385type DescribeMatchmakingRuleSetsInput struct {
19386	_ struct{} `type:"structure"`
19387
19388	// The maximum number of results to return. Use this parameter with NextToken
19389	// to get results as a set of sequential pages.
19390	Limit *int64 `min:"1" type:"integer"`
19391
19392	// A list of one or more matchmaking rule set names to retrieve details for.
19393	// (Note: The rule set name is different from the optional "name" field in the
19394	// rule set body.) You can use either the rule set name or ARN value.
19395	Names []*string `min:"1" type:"list"`
19396
19397	// A token that indicates the start of the next sequential page of results.
19398	// Use the token that is returned with a previous call to this operation. To
19399	// start at the beginning of the result set, do not specify a value.
19400	NextToken *string `min:"1" type:"string"`
19401}
19402
19403// String returns the string representation.
19404//
19405// API parameter values that are decorated as "sensitive" in the API will not
19406// be included in the string output. The member name will be present, but the
19407// value will be replaced with "sensitive".
19408func (s DescribeMatchmakingRuleSetsInput) String() string {
19409	return awsutil.Prettify(s)
19410}
19411
19412// GoString returns the string representation.
19413//
19414// API parameter values that are decorated as "sensitive" in the API will not
19415// be included in the string output. The member name will be present, but the
19416// value will be replaced with "sensitive".
19417func (s DescribeMatchmakingRuleSetsInput) GoString() string {
19418	return s.String()
19419}
19420
19421// Validate inspects the fields of the type to determine if they are valid.
19422func (s *DescribeMatchmakingRuleSetsInput) Validate() error {
19423	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingRuleSetsInput"}
19424	if s.Limit != nil && *s.Limit < 1 {
19425		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
19426	}
19427	if s.Names != nil && len(s.Names) < 1 {
19428		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
19429	}
19430	if s.NextToken != nil && len(*s.NextToken) < 1 {
19431		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
19432	}
19433
19434	if invalidParams.Len() > 0 {
19435		return invalidParams
19436	}
19437	return nil
19438}
19439
19440// SetLimit sets the Limit field's value.
19441func (s *DescribeMatchmakingRuleSetsInput) SetLimit(v int64) *DescribeMatchmakingRuleSetsInput {
19442	s.Limit = &v
19443	return s
19444}
19445
19446// SetNames sets the Names field's value.
19447func (s *DescribeMatchmakingRuleSetsInput) SetNames(v []*string) *DescribeMatchmakingRuleSetsInput {
19448	s.Names = v
19449	return s
19450}
19451
19452// SetNextToken sets the NextToken field's value.
19453func (s *DescribeMatchmakingRuleSetsInput) SetNextToken(v string) *DescribeMatchmakingRuleSetsInput {
19454	s.NextToken = &v
19455	return s
19456}
19457
19458// Represents the returned data in response to a request operation.
19459type DescribeMatchmakingRuleSetsOutput struct {
19460	_ struct{} `type:"structure"`
19461
19462	// A token that indicates where to resume retrieving results on the next call
19463	// to this operation. If no token is returned, these results represent the end
19464	// of the list.
19465	NextToken *string `min:"1" type:"string"`
19466
19467	// A collection of requested matchmaking rule set objects.
19468	//
19469	// RuleSets is a required field
19470	RuleSets []*MatchmakingRuleSet `type:"list" required:"true"`
19471}
19472
19473// String returns the string representation.
19474//
19475// API parameter values that are decorated as "sensitive" in the API will not
19476// be included in the string output. The member name will be present, but the
19477// value will be replaced with "sensitive".
19478func (s DescribeMatchmakingRuleSetsOutput) String() string {
19479	return awsutil.Prettify(s)
19480}
19481
19482// GoString returns the string representation.
19483//
19484// API parameter values that are decorated as "sensitive" in the API will not
19485// be included in the string output. The member name will be present, but the
19486// value will be replaced with "sensitive".
19487func (s DescribeMatchmakingRuleSetsOutput) GoString() string {
19488	return s.String()
19489}
19490
19491// SetNextToken sets the NextToken field's value.
19492func (s *DescribeMatchmakingRuleSetsOutput) SetNextToken(v string) *DescribeMatchmakingRuleSetsOutput {
19493	s.NextToken = &v
19494	return s
19495}
19496
19497// SetRuleSets sets the RuleSets field's value.
19498func (s *DescribeMatchmakingRuleSetsOutput) SetRuleSets(v []*MatchmakingRuleSet) *DescribeMatchmakingRuleSetsOutput {
19499	s.RuleSets = v
19500	return s
19501}
19502
19503// Represents the input for a request operation.
19504type DescribePlayerSessionsInput struct {
19505	_ struct{} `type:"structure"`
19506
19507	// A unique identifier for the game session to retrieve player sessions for.
19508	GameSessionId *string `min:"1" type:"string"`
19509
19510	// The maximum number of results to return. Use this parameter with NextToken
19511	// to get results as a set of sequential pages. If a player session ID is specified,
19512	// this parameter is ignored.
19513	Limit *int64 `min:"1" type:"integer"`
19514
19515	// A token that indicates the start of the next sequential page of results.
19516	// Use the token that is returned with a previous call to this operation. To
19517	// start at the beginning of the result set, do not specify a value. If a player
19518	// session ID is specified, this parameter is ignored.
19519	NextToken *string `min:"1" type:"string"`
19520
19521	// A unique identifier for a player to retrieve player sessions for.
19522	PlayerId *string `min:"1" type:"string"`
19523
19524	// A unique identifier for a player session to retrieve.
19525	PlayerSessionId *string `type:"string"`
19526
19527	// Player session status to filter results on.
19528	//
19529	// Possible player session statuses include the following:
19530	//
19531	//    * RESERVED -- The player session request has been received, but the player
19532	//    has not yet connected to the server process and/or been validated.
19533	//
19534	//    * ACTIVE -- The player has been validated by the server process and is
19535	//    currently connected.
19536	//
19537	//    * COMPLETED -- The player connection has been dropped.
19538	//
19539	//    * TIMEDOUT -- A player session request was received, but the player did
19540	//    not connect and/or was not validated within the timeout limit (60 seconds).
19541	PlayerSessionStatusFilter *string `min:"1" type:"string"`
19542}
19543
19544// String returns the string representation.
19545//
19546// API parameter values that are decorated as "sensitive" in the API will not
19547// be included in the string output. The member name will be present, but the
19548// value will be replaced with "sensitive".
19549func (s DescribePlayerSessionsInput) String() string {
19550	return awsutil.Prettify(s)
19551}
19552
19553// GoString returns the string representation.
19554//
19555// API parameter values that are decorated as "sensitive" in the API will not
19556// be included in the string output. The member name will be present, but the
19557// value will be replaced with "sensitive".
19558func (s DescribePlayerSessionsInput) GoString() string {
19559	return s.String()
19560}
19561
19562// Validate inspects the fields of the type to determine if they are valid.
19563func (s *DescribePlayerSessionsInput) Validate() error {
19564	invalidParams := request.ErrInvalidParams{Context: "DescribePlayerSessionsInput"}
19565	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
19566		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
19567	}
19568	if s.Limit != nil && *s.Limit < 1 {
19569		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
19570	}
19571	if s.NextToken != nil && len(*s.NextToken) < 1 {
19572		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
19573	}
19574	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
19575		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
19576	}
19577	if s.PlayerSessionStatusFilter != nil && len(*s.PlayerSessionStatusFilter) < 1 {
19578		invalidParams.Add(request.NewErrParamMinLen("PlayerSessionStatusFilter", 1))
19579	}
19580
19581	if invalidParams.Len() > 0 {
19582		return invalidParams
19583	}
19584	return nil
19585}
19586
19587// SetGameSessionId sets the GameSessionId field's value.
19588func (s *DescribePlayerSessionsInput) SetGameSessionId(v string) *DescribePlayerSessionsInput {
19589	s.GameSessionId = &v
19590	return s
19591}
19592
19593// SetLimit sets the Limit field's value.
19594func (s *DescribePlayerSessionsInput) SetLimit(v int64) *DescribePlayerSessionsInput {
19595	s.Limit = &v
19596	return s
19597}
19598
19599// SetNextToken sets the NextToken field's value.
19600func (s *DescribePlayerSessionsInput) SetNextToken(v string) *DescribePlayerSessionsInput {
19601	s.NextToken = &v
19602	return s
19603}
19604
19605// SetPlayerId sets the PlayerId field's value.
19606func (s *DescribePlayerSessionsInput) SetPlayerId(v string) *DescribePlayerSessionsInput {
19607	s.PlayerId = &v
19608	return s
19609}
19610
19611// SetPlayerSessionId sets the PlayerSessionId field's value.
19612func (s *DescribePlayerSessionsInput) SetPlayerSessionId(v string) *DescribePlayerSessionsInput {
19613	s.PlayerSessionId = &v
19614	return s
19615}
19616
19617// SetPlayerSessionStatusFilter sets the PlayerSessionStatusFilter field's value.
19618func (s *DescribePlayerSessionsInput) SetPlayerSessionStatusFilter(v string) *DescribePlayerSessionsInput {
19619	s.PlayerSessionStatusFilter = &v
19620	return s
19621}
19622
19623// Represents the returned data in response to a request operation.
19624type DescribePlayerSessionsOutput struct {
19625	_ struct{} `type:"structure"`
19626
19627	// A token that indicates where to resume retrieving results on the next call
19628	// to this operation. If no token is returned, these results represent the end
19629	// of the list.
19630	NextToken *string `min:"1" type:"string"`
19631
19632	// A collection of objects containing properties for each player session that
19633	// matches the request.
19634	PlayerSessions []*PlayerSession `type:"list"`
19635}
19636
19637// String returns the string representation.
19638//
19639// API parameter values that are decorated as "sensitive" in the API will not
19640// be included in the string output. The member name will be present, but the
19641// value will be replaced with "sensitive".
19642func (s DescribePlayerSessionsOutput) String() string {
19643	return awsutil.Prettify(s)
19644}
19645
19646// GoString returns the string representation.
19647//
19648// API parameter values that are decorated as "sensitive" in the API will not
19649// be included in the string output. The member name will be present, but the
19650// value will be replaced with "sensitive".
19651func (s DescribePlayerSessionsOutput) GoString() string {
19652	return s.String()
19653}
19654
19655// SetNextToken sets the NextToken field's value.
19656func (s *DescribePlayerSessionsOutput) SetNextToken(v string) *DescribePlayerSessionsOutput {
19657	s.NextToken = &v
19658	return s
19659}
19660
19661// SetPlayerSessions sets the PlayerSessions field's value.
19662func (s *DescribePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *DescribePlayerSessionsOutput {
19663	s.PlayerSessions = v
19664	return s
19665}
19666
19667// Represents the input for a request operation.
19668type DescribeRuntimeConfigurationInput struct {
19669	_ struct{} `type:"structure"`
19670
19671	// A unique identifier for the fleet to get the runtime configuration for. You
19672	// can use either the fleet ID or ARN value.
19673	//
19674	// FleetId is a required field
19675	FleetId *string `type:"string" required:"true"`
19676}
19677
19678// String returns the string representation.
19679//
19680// API parameter values that are decorated as "sensitive" in the API will not
19681// be included in the string output. The member name will be present, but the
19682// value will be replaced with "sensitive".
19683func (s DescribeRuntimeConfigurationInput) String() string {
19684	return awsutil.Prettify(s)
19685}
19686
19687// GoString returns the string representation.
19688//
19689// API parameter values that are decorated as "sensitive" in the API will not
19690// be included in the string output. The member name will be present, but the
19691// value will be replaced with "sensitive".
19692func (s DescribeRuntimeConfigurationInput) GoString() string {
19693	return s.String()
19694}
19695
19696// Validate inspects the fields of the type to determine if they are valid.
19697func (s *DescribeRuntimeConfigurationInput) Validate() error {
19698	invalidParams := request.ErrInvalidParams{Context: "DescribeRuntimeConfigurationInput"}
19699	if s.FleetId == nil {
19700		invalidParams.Add(request.NewErrParamRequired("FleetId"))
19701	}
19702
19703	if invalidParams.Len() > 0 {
19704		return invalidParams
19705	}
19706	return nil
19707}
19708
19709// SetFleetId sets the FleetId field's value.
19710func (s *DescribeRuntimeConfigurationInput) SetFleetId(v string) *DescribeRuntimeConfigurationInput {
19711	s.FleetId = &v
19712	return s
19713}
19714
19715// Represents the returned data in response to a request operation.
19716type DescribeRuntimeConfigurationOutput struct {
19717	_ struct{} `type:"structure"`
19718
19719	// Instructions that describe how server processes should be launched and maintained
19720	// on each instance in the fleet.
19721	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
19722}
19723
19724// String returns the string representation.
19725//
19726// API parameter values that are decorated as "sensitive" in the API will not
19727// be included in the string output. The member name will be present, but the
19728// value will be replaced with "sensitive".
19729func (s DescribeRuntimeConfigurationOutput) String() string {
19730	return awsutil.Prettify(s)
19731}
19732
19733// GoString returns the string representation.
19734//
19735// API parameter values that are decorated as "sensitive" in the API will not
19736// be included in the string output. The member name will be present, but the
19737// value will be replaced with "sensitive".
19738func (s DescribeRuntimeConfigurationOutput) GoString() string {
19739	return s.String()
19740}
19741
19742// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
19743func (s *DescribeRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *DescribeRuntimeConfigurationOutput {
19744	s.RuntimeConfiguration = v
19745	return s
19746}
19747
19748// Represents the input for a request operation.
19749type DescribeScalingPoliciesInput struct {
19750	_ struct{} `type:"structure"`
19751
19752	// A unique identifier for the fleet to retrieve scaling policies for. You can
19753	// use either the fleet ID or ARN value.
19754	//
19755	// FleetId is a required field
19756	FleetId *string `type:"string" required:"true"`
19757
19758	// The maximum number of results to return. Use this parameter with NextToken
19759	// to get results as a set of sequential pages.
19760	Limit *int64 `min:"1" type:"integer"`
19761
19762	// CONTENT TODO
19763	Location *string `min:"1" type:"string"`
19764
19765	// A token that indicates the start of the next sequential page of results.
19766	// Use the token that is returned with a previous call to this operation. To
19767	// start at the beginning of the result set, do not specify a value.
19768	NextToken *string `min:"1" type:"string"`
19769
19770	// Scaling policy status to filter results on. A scaling policy is only in force
19771	// when in an ACTIVE status.
19772	//
19773	//    * ACTIVE -- The scaling policy is currently in force.
19774	//
19775	//    * UPDATEREQUESTED -- A request to update the scaling policy has been received.
19776	//
19777	//    * UPDATING -- A change is being made to the scaling policy.
19778	//
19779	//    * DELETEREQUESTED -- A request to delete the scaling policy has been received.
19780	//
19781	//    * DELETING -- The scaling policy is being deleted.
19782	//
19783	//    * DELETED -- The scaling policy has been deleted.
19784	//
19785	//    * ERROR -- An error occurred in creating the policy. It should be removed
19786	//    and recreated.
19787	StatusFilter *string `type:"string" enum:"ScalingStatusType"`
19788}
19789
19790// String returns the string representation.
19791//
19792// API parameter values that are decorated as "sensitive" in the API will not
19793// be included in the string output. The member name will be present, but the
19794// value will be replaced with "sensitive".
19795func (s DescribeScalingPoliciesInput) String() string {
19796	return awsutil.Prettify(s)
19797}
19798
19799// GoString returns the string representation.
19800//
19801// API parameter values that are decorated as "sensitive" in the API will not
19802// be included in the string output. The member name will be present, but the
19803// value will be replaced with "sensitive".
19804func (s DescribeScalingPoliciesInput) GoString() string {
19805	return s.String()
19806}
19807
19808// Validate inspects the fields of the type to determine if they are valid.
19809func (s *DescribeScalingPoliciesInput) Validate() error {
19810	invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPoliciesInput"}
19811	if s.FleetId == nil {
19812		invalidParams.Add(request.NewErrParamRequired("FleetId"))
19813	}
19814	if s.Limit != nil && *s.Limit < 1 {
19815		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
19816	}
19817	if s.Location != nil && len(*s.Location) < 1 {
19818		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
19819	}
19820	if s.NextToken != nil && len(*s.NextToken) < 1 {
19821		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
19822	}
19823
19824	if invalidParams.Len() > 0 {
19825		return invalidParams
19826	}
19827	return nil
19828}
19829
19830// SetFleetId sets the FleetId field's value.
19831func (s *DescribeScalingPoliciesInput) SetFleetId(v string) *DescribeScalingPoliciesInput {
19832	s.FleetId = &v
19833	return s
19834}
19835
19836// SetLimit sets the Limit field's value.
19837func (s *DescribeScalingPoliciesInput) SetLimit(v int64) *DescribeScalingPoliciesInput {
19838	s.Limit = &v
19839	return s
19840}
19841
19842// SetLocation sets the Location field's value.
19843func (s *DescribeScalingPoliciesInput) SetLocation(v string) *DescribeScalingPoliciesInput {
19844	s.Location = &v
19845	return s
19846}
19847
19848// SetNextToken sets the NextToken field's value.
19849func (s *DescribeScalingPoliciesInput) SetNextToken(v string) *DescribeScalingPoliciesInput {
19850	s.NextToken = &v
19851	return s
19852}
19853
19854// SetStatusFilter sets the StatusFilter field's value.
19855func (s *DescribeScalingPoliciesInput) SetStatusFilter(v string) *DescribeScalingPoliciesInput {
19856	s.StatusFilter = &v
19857	return s
19858}
19859
19860// Represents the returned data in response to a request operation.
19861type DescribeScalingPoliciesOutput struct {
19862	_ struct{} `type:"structure"`
19863
19864	// A token that indicates where to resume retrieving results on the next call
19865	// to this operation. If no token is returned, these results represent the end
19866	// of the list.
19867	NextToken *string `min:"1" type:"string"`
19868
19869	// A collection of objects containing the scaling policies matching the request.
19870	ScalingPolicies []*ScalingPolicy `type:"list"`
19871}
19872
19873// String returns the string representation.
19874//
19875// API parameter values that are decorated as "sensitive" in the API will not
19876// be included in the string output. The member name will be present, but the
19877// value will be replaced with "sensitive".
19878func (s DescribeScalingPoliciesOutput) String() string {
19879	return awsutil.Prettify(s)
19880}
19881
19882// GoString returns the string representation.
19883//
19884// API parameter values that are decorated as "sensitive" in the API will not
19885// be included in the string output. The member name will be present, but the
19886// value will be replaced with "sensitive".
19887func (s DescribeScalingPoliciesOutput) GoString() string {
19888	return s.String()
19889}
19890
19891// SetNextToken sets the NextToken field's value.
19892func (s *DescribeScalingPoliciesOutput) SetNextToken(v string) *DescribeScalingPoliciesOutput {
19893	s.NextToken = &v
19894	return s
19895}
19896
19897// SetScalingPolicies sets the ScalingPolicies field's value.
19898func (s *DescribeScalingPoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *DescribeScalingPoliciesOutput {
19899	s.ScalingPolicies = v
19900	return s
19901}
19902
19903type DescribeScriptInput struct {
19904	_ struct{} `type:"structure"`
19905
19906	// A unique identifier for the Realtime script to retrieve properties for. You
19907	// can use either the script ID or ARN value.
19908	//
19909	// ScriptId is a required field
19910	ScriptId *string `type:"string" required:"true"`
19911}
19912
19913// String returns the string representation.
19914//
19915// API parameter values that are decorated as "sensitive" in the API will not
19916// be included in the string output. The member name will be present, but the
19917// value will be replaced with "sensitive".
19918func (s DescribeScriptInput) String() string {
19919	return awsutil.Prettify(s)
19920}
19921
19922// GoString returns the string representation.
19923//
19924// API parameter values that are decorated as "sensitive" in the API will not
19925// be included in the string output. The member name will be present, but the
19926// value will be replaced with "sensitive".
19927func (s DescribeScriptInput) GoString() string {
19928	return s.String()
19929}
19930
19931// Validate inspects the fields of the type to determine if they are valid.
19932func (s *DescribeScriptInput) Validate() error {
19933	invalidParams := request.ErrInvalidParams{Context: "DescribeScriptInput"}
19934	if s.ScriptId == nil {
19935		invalidParams.Add(request.NewErrParamRequired("ScriptId"))
19936	}
19937
19938	if invalidParams.Len() > 0 {
19939		return invalidParams
19940	}
19941	return nil
19942}
19943
19944// SetScriptId sets the ScriptId field's value.
19945func (s *DescribeScriptInput) SetScriptId(v string) *DescribeScriptInput {
19946	s.ScriptId = &v
19947	return s
19948}
19949
19950type DescribeScriptOutput struct {
19951	_ struct{} `type:"structure"`
19952
19953	// A set of properties describing the requested script.
19954	Script *Script `type:"structure"`
19955}
19956
19957// String returns the string representation.
19958//
19959// API parameter values that are decorated as "sensitive" in the API will not
19960// be included in the string output. The member name will be present, but the
19961// value will be replaced with "sensitive".
19962func (s DescribeScriptOutput) String() string {
19963	return awsutil.Prettify(s)
19964}
19965
19966// GoString returns the string representation.
19967//
19968// API parameter values that are decorated as "sensitive" in the API will not
19969// be included in the string output. The member name will be present, but the
19970// value will be replaced with "sensitive".
19971func (s DescribeScriptOutput) GoString() string {
19972	return s.String()
19973}
19974
19975// SetScript sets the Script field's value.
19976func (s *DescribeScriptOutput) SetScript(v *Script) *DescribeScriptOutput {
19977	s.Script = v
19978	return s
19979}
19980
19981type DescribeVpcPeeringAuthorizationsInput struct {
19982	_ struct{} `type:"structure"`
19983}
19984
19985// String returns the string representation.
19986//
19987// API parameter values that are decorated as "sensitive" in the API will not
19988// be included in the string output. The member name will be present, but the
19989// value will be replaced with "sensitive".
19990func (s DescribeVpcPeeringAuthorizationsInput) String() string {
19991	return awsutil.Prettify(s)
19992}
19993
19994// GoString returns the string representation.
19995//
19996// API parameter values that are decorated as "sensitive" in the API will not
19997// be included in the string output. The member name will be present, but the
19998// value will be replaced with "sensitive".
19999func (s DescribeVpcPeeringAuthorizationsInput) GoString() string {
20000	return s.String()
20001}
20002
20003type DescribeVpcPeeringAuthorizationsOutput struct {
20004	_ struct{} `type:"structure"`
20005
20006	// A collection of objects that describe all valid VPC peering operations for
20007	// the current AWS account.
20008	VpcPeeringAuthorizations []*VpcPeeringAuthorization `type:"list"`
20009}
20010
20011// String returns the string representation.
20012//
20013// API parameter values that are decorated as "sensitive" in the API will not
20014// be included in the string output. The member name will be present, but the
20015// value will be replaced with "sensitive".
20016func (s DescribeVpcPeeringAuthorizationsOutput) String() string {
20017	return awsutil.Prettify(s)
20018}
20019
20020// GoString returns the string representation.
20021//
20022// API parameter values that are decorated as "sensitive" in the API will not
20023// be included in the string output. The member name will be present, but the
20024// value will be replaced with "sensitive".
20025func (s DescribeVpcPeeringAuthorizationsOutput) GoString() string {
20026	return s.String()
20027}
20028
20029// SetVpcPeeringAuthorizations sets the VpcPeeringAuthorizations field's value.
20030func (s *DescribeVpcPeeringAuthorizationsOutput) SetVpcPeeringAuthorizations(v []*VpcPeeringAuthorization) *DescribeVpcPeeringAuthorizationsOutput {
20031	s.VpcPeeringAuthorizations = v
20032	return s
20033}
20034
20035// Represents the input for a request operation.
20036type DescribeVpcPeeringConnectionsInput struct {
20037	_ struct{} `type:"structure"`
20038
20039	// A unique identifier for the fleet. You can use either the fleet ID or ARN
20040	// value.
20041	FleetId *string `type:"string"`
20042}
20043
20044// String returns the string representation.
20045//
20046// API parameter values that are decorated as "sensitive" in the API will not
20047// be included in the string output. The member name will be present, but the
20048// value will be replaced with "sensitive".
20049func (s DescribeVpcPeeringConnectionsInput) String() string {
20050	return awsutil.Prettify(s)
20051}
20052
20053// GoString returns the string representation.
20054//
20055// API parameter values that are decorated as "sensitive" in the API will not
20056// be included in the string output. The member name will be present, but the
20057// value will be replaced with "sensitive".
20058func (s DescribeVpcPeeringConnectionsInput) GoString() string {
20059	return s.String()
20060}
20061
20062// SetFleetId sets the FleetId field's value.
20063func (s *DescribeVpcPeeringConnectionsInput) SetFleetId(v string) *DescribeVpcPeeringConnectionsInput {
20064	s.FleetId = &v
20065	return s
20066}
20067
20068// Represents the returned data in response to a request operation.
20069type DescribeVpcPeeringConnectionsOutput struct {
20070	_ struct{} `type:"structure"`
20071
20072	// A collection of VPC peering connection records that match the request.
20073	VpcPeeringConnections []*VpcPeeringConnection `type:"list"`
20074}
20075
20076// String returns the string representation.
20077//
20078// API parameter values that are decorated as "sensitive" in the API will not
20079// be included in the string output. The member name will be present, but the
20080// value will be replaced with "sensitive".
20081func (s DescribeVpcPeeringConnectionsOutput) String() string {
20082	return awsutil.Prettify(s)
20083}
20084
20085// GoString returns the string representation.
20086//
20087// API parameter values that are decorated as "sensitive" in the API will not
20088// be included in the string output. The member name will be present, but the
20089// value will be replaced with "sensitive".
20090func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
20091	return s.String()
20092}
20093
20094// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
20095func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
20096	s.VpcPeeringConnections = v
20097	return s
20098}
20099
20100// Player information for use when creating player sessions using a game session
20101// placement request with StartGameSessionPlacement.
20102type DesiredPlayerSession struct {
20103	_ struct{} `type:"structure"`
20104
20105	// Developer-defined information related to a player. GameLift does not use
20106	// this data, so it can be formatted as needed for use in the game.
20107	PlayerData *string `min:"1" type:"string"`
20108
20109	// A unique identifier for a player to associate with the player session.
20110	PlayerId *string `min:"1" type:"string"`
20111}
20112
20113// String returns the string representation.
20114//
20115// API parameter values that are decorated as "sensitive" in the API will not
20116// be included in the string output. The member name will be present, but the
20117// value will be replaced with "sensitive".
20118func (s DesiredPlayerSession) String() string {
20119	return awsutil.Prettify(s)
20120}
20121
20122// GoString returns the string representation.
20123//
20124// API parameter values that are decorated as "sensitive" in the API will not
20125// be included in the string output. The member name will be present, but the
20126// value will be replaced with "sensitive".
20127func (s DesiredPlayerSession) GoString() string {
20128	return s.String()
20129}
20130
20131// Validate inspects the fields of the type to determine if they are valid.
20132func (s *DesiredPlayerSession) Validate() error {
20133	invalidParams := request.ErrInvalidParams{Context: "DesiredPlayerSession"}
20134	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
20135		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
20136	}
20137	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
20138		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
20139	}
20140
20141	if invalidParams.Len() > 0 {
20142		return invalidParams
20143	}
20144	return nil
20145}
20146
20147// SetPlayerData sets the PlayerData field's value.
20148func (s *DesiredPlayerSession) SetPlayerData(v string) *DesiredPlayerSession {
20149	s.PlayerData = &v
20150	return s
20151}
20152
20153// SetPlayerId sets the PlayerId field's value.
20154func (s *DesiredPlayerSession) SetPlayerId(v string) *DesiredPlayerSession {
20155	s.PlayerId = &v
20156	return s
20157}
20158
20159// Resource capacity settings. Fleet capacity is measured in EC2 instances.
20160// Pending and terminating counts are non-zero when the fleet capacity is adjusting
20161// to a scaling event or if access to resources is temporarily affected.
20162//
20163// EC2 instance counts are part of FleetCapacity.
20164type EC2InstanceCounts struct {
20165	_ struct{} `type:"structure"`
20166
20167	// Actual number of instances that are ready to host game sessions.
20168	ACTIVE *int64 `type:"integer"`
20169
20170	// Ideal number of active instances. GameLift will always try to maintain the
20171	// desired number of instances. Capacity is scaled up or down by changing the
20172	// desired instances.
20173	DESIRED *int64 `type:"integer"`
20174
20175	// Number of active instances that are not currently hosting a game session.
20176	IDLE *int64 `type:"integer"`
20177
20178	// The maximum instance count value allowed.
20179	MAXIMUM *int64 `type:"integer"`
20180
20181	// The minimum instance count value allowed.
20182	MINIMUM *int64 `type:"integer"`
20183
20184	// Number of instances that are starting but not yet active.
20185	PENDING *int64 `type:"integer"`
20186
20187	// Number of instances that are no longer active but haven't yet been terminated.
20188	TERMINATING *int64 `type:"integer"`
20189}
20190
20191// String returns the string representation.
20192//
20193// API parameter values that are decorated as "sensitive" in the API will not
20194// be included in the string output. The member name will be present, but the
20195// value will be replaced with "sensitive".
20196func (s EC2InstanceCounts) String() string {
20197	return awsutil.Prettify(s)
20198}
20199
20200// GoString returns the string representation.
20201//
20202// API parameter values that are decorated as "sensitive" in the API will not
20203// be included in the string output. The member name will be present, but the
20204// value will be replaced with "sensitive".
20205func (s EC2InstanceCounts) GoString() string {
20206	return s.String()
20207}
20208
20209// SetACTIVE sets the ACTIVE field's value.
20210func (s *EC2InstanceCounts) SetACTIVE(v int64) *EC2InstanceCounts {
20211	s.ACTIVE = &v
20212	return s
20213}
20214
20215// SetDESIRED sets the DESIRED field's value.
20216func (s *EC2InstanceCounts) SetDESIRED(v int64) *EC2InstanceCounts {
20217	s.DESIRED = &v
20218	return s
20219}
20220
20221// SetIDLE sets the IDLE field's value.
20222func (s *EC2InstanceCounts) SetIDLE(v int64) *EC2InstanceCounts {
20223	s.IDLE = &v
20224	return s
20225}
20226
20227// SetMAXIMUM sets the MAXIMUM field's value.
20228func (s *EC2InstanceCounts) SetMAXIMUM(v int64) *EC2InstanceCounts {
20229	s.MAXIMUM = &v
20230	return s
20231}
20232
20233// SetMINIMUM sets the MINIMUM field's value.
20234func (s *EC2InstanceCounts) SetMINIMUM(v int64) *EC2InstanceCounts {
20235	s.MINIMUM = &v
20236	return s
20237}
20238
20239// SetPENDING sets the PENDING field's value.
20240func (s *EC2InstanceCounts) SetPENDING(v int64) *EC2InstanceCounts {
20241	s.PENDING = &v
20242	return s
20243}
20244
20245// SetTERMINATING sets the TERMINATING field's value.
20246func (s *EC2InstanceCounts) SetTERMINATING(v int64) *EC2InstanceCounts {
20247	s.TERMINATING = &v
20248	return s
20249}
20250
20251// The GameLift service limits for an EC2 instance type and current utilization.
20252// GameLift allows AWS accounts a maximum number of instances, per instance
20253// type, per AWS Region or location, for use with GameLift. You can request
20254// an limit increase for your account by using the Service limits page in the
20255// GameLift console.
20256//
20257// Related actions
20258//
20259// DescribeEC2InstanceLimits
20260type EC2InstanceLimit struct {
20261	_ struct{} `type:"structure"`
20262
20263	// The number of instances for the specified type and location that are currently
20264	// being used by the AWS account.
20265	CurrentInstances *int64 `type:"integer"`
20266
20267	// The name of an EC2 instance type. See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
20268	// for detailed descriptions.
20269	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
20270
20271	// The number of instances that is allowed for the specified instance type and
20272	// location.
20273	InstanceLimit *int64 `type:"integer"`
20274
20275	// An AWS Region code, such as us-west-2.
20276	Location *string `min:"1" type:"string"`
20277}
20278
20279// String returns the string representation.
20280//
20281// API parameter values that are decorated as "sensitive" in the API will not
20282// be included in the string output. The member name will be present, but the
20283// value will be replaced with "sensitive".
20284func (s EC2InstanceLimit) String() string {
20285	return awsutil.Prettify(s)
20286}
20287
20288// GoString returns the string representation.
20289//
20290// API parameter values that are decorated as "sensitive" in the API will not
20291// be included in the string output. The member name will be present, but the
20292// value will be replaced with "sensitive".
20293func (s EC2InstanceLimit) GoString() string {
20294	return s.String()
20295}
20296
20297// SetCurrentInstances sets the CurrentInstances field's value.
20298func (s *EC2InstanceLimit) SetCurrentInstances(v int64) *EC2InstanceLimit {
20299	s.CurrentInstances = &v
20300	return s
20301}
20302
20303// SetEC2InstanceType sets the EC2InstanceType field's value.
20304func (s *EC2InstanceLimit) SetEC2InstanceType(v string) *EC2InstanceLimit {
20305	s.EC2InstanceType = &v
20306	return s
20307}
20308
20309// SetInstanceLimit sets the InstanceLimit field's value.
20310func (s *EC2InstanceLimit) SetInstanceLimit(v int64) *EC2InstanceLimit {
20311	s.InstanceLimit = &v
20312	return s
20313}
20314
20315// SetLocation sets the Location field's value.
20316func (s *EC2InstanceLimit) SetLocation(v string) *EC2InstanceLimit {
20317	s.Location = &v
20318	return s
20319}
20320
20321// Log entry describing an event that involves GameLift resources (such as a
20322// fleet). In addition to tracking activity, event codes and messages can provide
20323// additional information for troubleshooting and debugging problems.
20324//
20325// Related actions
20326//
20327// DescribeFleetEvents
20328type Event struct {
20329	_ struct{} `type:"structure"`
20330
20331	// The type of event being logged.
20332	//
20333	// Fleet creation events (ordered by fleet creation activity):
20334	//
20335	//    * FLEET_CREATED -- A fleet resource was successfully created with a status
20336	//    of NEW. Event messaging includes the fleet ID.
20337	//
20338	//    * FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING.
20339	//    The compressed build has started downloading to a fleet instance for installation.
20340	//
20341	//    * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the
20342	//    fleet instance.
20343	//
20344	//    * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully
20345	//    downloaded to an instance, and the build files are now being extracted
20346	//    from the uploaded build and saved to an instance. Failure at this stage
20347	//    prevents a fleet from moving to ACTIVE status. Logs for this stage display
20348	//    a list of the files that are extracted and saved on the instance. Access
20349	//    the logs by using the URL in PreSignedLogUrl.
20350	//
20351	//    * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were
20352	//    successfully extracted, and the GameLift is now running the build's install
20353	//    script (if one is included). Failure in this stage prevents a fleet from
20354	//    moving to ACTIVE status. Logs for this stage list the installation steps
20355	//    and whether or not the install completed successfully. Access the logs
20356	//    by using the URL in PreSignedLogUrl.
20357	//
20358	//    * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful,
20359	//    and the GameLift is now verifying that the game server launch paths, which
20360	//    are specified in the fleet's runtime configuration, exist. If any listed
20361	//    launch path exists, GameLift tries to launch a game server process and
20362	//    waits for the process to report ready. Failures in this stage prevent
20363	//    a fleet from moving to ACTIVE status. Logs for this stage list the launch
20364	//    paths in the runtime configuration and indicate whether each is found.
20365	//    Access the logs by using the URL in PreSignedLogUrl.
20366	//
20367	//    * FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.
20368	//
20369	//    * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the runtime
20370	//    configuration failed because the executable specified in a launch path
20371	//    does not exist on the instance.
20372	//
20373	//    * FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.
20374	//
20375	//    * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the runtime
20376	//    configuration failed because the executable specified in a launch path
20377	//    failed to run on the fleet instance.
20378	//
20379	//    * FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.
20380	//
20381	//    * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete
20382	//    one of the steps in the fleet activation process. This event code indicates
20383	//    that the game build was successfully downloaded to a fleet instance, built,
20384	//    and validated, but was not able to start a server process. Learn more
20385	//    at Debug Fleet Creation Issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation)
20386	//
20387	//    * FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to
20388	//    ACTIVE. The fleet is now ready to host game sessions.
20389	//
20390	// VPC peering events:
20391	//
20392	//    * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established
20393	//    between the VPC for an GameLift fleet and a VPC in your AWS account.
20394	//
20395	//    * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed.
20396	//    Event details and status information (see DescribeVpcPeeringConnections)
20397	//    provide additional detail. A common reason for peering failure is that
20398	//    the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve
20399	//    this, change the CIDR block for the VPC in your AWS account. For more
20400	//    information on VPC peering failures, see https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html
20401	//    (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html)
20402	//
20403	//    * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully
20404	//    deleted.
20405	//
20406	// Spot instance events:
20407	//
20408	//    * INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with
20409	//    a two-minute notification.
20410	//
20411	// Other fleet events:
20412	//
20413	//    * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings
20414	//    (desired instances, minimum/maximum scaling limits). Event messaging includes
20415	//    the new capacity settings.
20416	//
20417	//    * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made
20418	//    to the fleet's game session protection policy setting. Event messaging
20419	//    includes both the old and new policy setting.
20420	//
20421	//    * FLEET_DELETED -- A request to delete a fleet was initiated.
20422	//
20423	//    * GENERIC_EVENT -- An unspecified event has occurred.
20424	EventCode *string `type:"string" enum:"EventCode"`
20425
20426	// A unique identifier for a fleet event.
20427	EventId *string `min:"1" type:"string"`
20428
20429	// Time stamp indicating when this event occurred. Format is a number expressed
20430	// in Unix time as milliseconds (for example "1469498468.057").
20431	EventTime *time.Time `type:"timestamp"`
20432
20433	// Additional information related to the event.
20434	Message *string `min:"1" type:"string"`
20435
20436	// Location of stored logs with additional detail that is related to the event.
20437	// This is useful for debugging issues. The URL is valid for 15 minutes. You
20438	// can also access fleet creation logs through the GameLift console.
20439	PreSignedLogUrl *string `min:"1" type:"string"`
20440
20441	// A unique identifier for an event resource, such as a fleet ID.
20442	ResourceId *string `min:"1" type:"string"`
20443}
20444
20445// String returns the string representation.
20446//
20447// API parameter values that are decorated as "sensitive" in the API will not
20448// be included in the string output. The member name will be present, but the
20449// value will be replaced with "sensitive".
20450func (s Event) String() string {
20451	return awsutil.Prettify(s)
20452}
20453
20454// GoString returns the string representation.
20455//
20456// API parameter values that are decorated as "sensitive" in the API will not
20457// be included in the string output. The member name will be present, but the
20458// value will be replaced with "sensitive".
20459func (s Event) GoString() string {
20460	return s.String()
20461}
20462
20463// SetEventCode sets the EventCode field's value.
20464func (s *Event) SetEventCode(v string) *Event {
20465	s.EventCode = &v
20466	return s
20467}
20468
20469// SetEventId sets the EventId field's value.
20470func (s *Event) SetEventId(v string) *Event {
20471	s.EventId = &v
20472	return s
20473}
20474
20475// SetEventTime sets the EventTime field's value.
20476func (s *Event) SetEventTime(v time.Time) *Event {
20477	s.EventTime = &v
20478	return s
20479}
20480
20481// SetMessage sets the Message field's value.
20482func (s *Event) SetMessage(v string) *Event {
20483	s.Message = &v
20484	return s
20485}
20486
20487// SetPreSignedLogUrl sets the PreSignedLogUrl field's value.
20488func (s *Event) SetPreSignedLogUrl(v string) *Event {
20489	s.PreSignedLogUrl = &v
20490	return s
20491}
20492
20493// SetResourceId sets the ResourceId field's value.
20494func (s *Event) SetResourceId(v string) *Event {
20495	s.ResourceId = &v
20496	return s
20497}
20498
20499// A list of fleet locations where a game session queue can place new game sessions.
20500// You can use a filter to temporarily turn off placements for specific locations.
20501// For queues that have multi-location fleets, you can use a filter configuration
20502// allow placement with some, but not all of these locations.
20503//
20504// Filter configurations are part of a GameSessionQueue.
20505type FilterConfiguration struct {
20506	_ struct{} `type:"structure"`
20507
20508	// A list of locations to allow game session placement in, in the form of AWS
20509	// Region codes such as us-west-2.
20510	AllowedLocations []*string `min:"1" type:"list"`
20511}
20512
20513// String returns the string representation.
20514//
20515// API parameter values that are decorated as "sensitive" in the API will not
20516// be included in the string output. The member name will be present, but the
20517// value will be replaced with "sensitive".
20518func (s FilterConfiguration) String() string {
20519	return awsutil.Prettify(s)
20520}
20521
20522// GoString returns the string representation.
20523//
20524// API parameter values that are decorated as "sensitive" in the API will not
20525// be included in the string output. The member name will be present, but the
20526// value will be replaced with "sensitive".
20527func (s FilterConfiguration) GoString() string {
20528	return s.String()
20529}
20530
20531// Validate inspects the fields of the type to determine if they are valid.
20532func (s *FilterConfiguration) Validate() error {
20533	invalidParams := request.ErrInvalidParams{Context: "FilterConfiguration"}
20534	if s.AllowedLocations != nil && len(s.AllowedLocations) < 1 {
20535		invalidParams.Add(request.NewErrParamMinLen("AllowedLocations", 1))
20536	}
20537
20538	if invalidParams.Len() > 0 {
20539		return invalidParams
20540	}
20541	return nil
20542}
20543
20544// SetAllowedLocations sets the AllowedLocations field's value.
20545func (s *FilterConfiguration) SetAllowedLocations(v []*string) *FilterConfiguration {
20546	s.AllowedLocations = v
20547	return s
20548}
20549
20550// Describes a GameLift fleet of game hosting resources.
20551//
20552// Related actions
20553//
20554// CreateFleet | DescribeFleetAttributes
20555type FleetAttributes struct {
20556	_ struct{} `type:"structure"`
20557
20558	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
20559	// associated with the GameLift build resource that is deployed on instances
20560	// in this fleet. In a GameLift build ARN, the resource ID matches the BuildId
20561	// value.
20562	BuildArn *string `type:"string"`
20563
20564	// A unique identifier for the build resource that is deployed on instances
20565	// in this fleet.
20566	BuildId *string `type:"string"`
20567
20568	// Indicates whether a TLS/SSL certificate was generated for the fleet.
20569	CertificateConfiguration *CertificateConfiguration `type:"structure"`
20570
20571	// A time stamp indicating when this data object was created. Format is a number
20572	// expressed in Unix time as milliseconds (for example "1469498468.057").
20573	CreationTime *time.Time `type:"timestamp"`
20574
20575	// A human-readable description of the fleet.
20576	Description *string `min:"1" type:"string"`
20577
20578	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
20579	// that is assigned to a GameLift fleet resource and uniquely identifies it.
20580	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
20581	// In a GameLift fleet ARN, the resource ID matches the FleetId value.
20582	FleetArn *string `type:"string"`
20583
20584	// A unique identifier for the fleet.
20585	FleetId *string `type:"string"`
20586
20587	// The kind of instances, On-Demand or Spot, that this fleet uses.
20588	FleetType *string `type:"string" enum:"FleetType"`
20589
20590	// A unique identifier for an AWS IAM role that manages access to your AWS services.
20591	// With an instance role ARN set, any application that runs on an instance in
20592	// this fleet can assume the role, including install scripts, server processes,
20593	// and daemons (background processes). Create a role or look up a role's ARN
20594	// by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the AWS
20595	// Management Console. Learn more about using on-box credentials for your game
20596	// servers at Access external resources from a game server (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html).
20597	InstanceRoleArn *string `min:"1" type:"string"`
20598
20599	// The EC2 instance type that determines the computing resources of each instance
20600	// in the fleet. Instance type defines the CPU, memory, storage, and networking
20601	// capacity. See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
20602	// for detailed descriptions.
20603	InstanceType *string `type:"string" enum:"EC2InstanceType"`
20604
20605	// This parameter is no longer used. Game session log paths are now defined
20606	// using the GameLift server API ProcessReady() logParameters. See more information
20607	// in the Server API Reference (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process).
20608	LogPaths []*string `type:"list"`
20609
20610	// Name of a metric group that metrics for this fleet are added to. In Amazon
20611	// CloudWatch, you can view aggregated metrics for fleets that are in a metric
20612	// group. A fleet can be included in only one metric group at a time.
20613	MetricGroups []*string `type:"list"`
20614
20615	// A descriptive label that is associated with a fleet. Fleet names do not need
20616	// to be unique.
20617	Name *string `min:"1" type:"string"`
20618
20619	// The type of game session protection to set on all new instances that are
20620	// started in the fleet.
20621	//
20622	//    * NoProtection -- The game session can be terminated during a scale-down
20623	//    event.
20624	//
20625	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
20626	//    be terminated during a scale-down event.
20627	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
20628
20629	// The operating system of the fleet's computing resources. A fleet's operating
20630	// system is determined by the OS of the build or script that is deployed on
20631	// this fleet.
20632	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
20633
20634	// The fleet policy that limits the number of game sessions an individual player
20635	// can create over a span of time.
20636	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
20637
20638	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
20639	// associated with the GameLift script resource that is deployed on instances
20640	// in this fleet. In a GameLift script ARN, the resource ID matches the ScriptId
20641	// value.
20642	ScriptArn *string `type:"string"`
20643
20644	// A unique identifier for the Realtime script resource that is deployed on
20645	// instances in this fleet.
20646	ScriptId *string `type:"string"`
20647
20648	// This parameter is no longer used. Server launch parameters are now defined
20649	// using the fleet's RuntimeConfiguration parameter. Requests that use this
20650	// parameter instead continue to be valid.
20651	ServerLaunchParameters *string `min:"1" type:"string"`
20652
20653	// This parameter is no longer used. Server launch paths are now defined using
20654	// the fleet's RuntimeConfiguration parameter. Requests that use this parameter
20655	// instead continue to be valid.
20656	ServerLaunchPath *string `min:"1" type:"string"`
20657
20658	// Current status of the fleet. Possible fleet statuses include the following:
20659	//
20660	//    * NEW -- A new fleet has been defined and desired instances is set to
20661	//    1.
20662	//
20663	//    * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- GameLift is setting up
20664	//    the new fleet, creating new instances with the game build or Realtime
20665	//    script and starting server processes.
20666	//
20667	//    * ACTIVE -- Hosts can now accept game sessions.
20668	//
20669	//    * ERROR -- An error occurred when downloading, validating, building, or
20670	//    activating the fleet.
20671	//
20672	//    * DELETING -- Hosts are responding to a delete fleet request.
20673	//
20674	//    * TERMINATED -- The fleet no longer exists.
20675	Status *string `type:"string" enum:"FleetStatus"`
20676
20677	// A list of fleet activity that has been suspended using StopFleetActions.
20678	// This includes fleet auto-scaling.
20679	StoppedActions []*string `min:"1" type:"list"`
20680
20681	// A time stamp indicating when this data object was terminated. Format is a
20682	// number expressed in Unix time as milliseconds (for example "1469498468.057").
20683	TerminationTime *time.Time `type:"timestamp"`
20684}
20685
20686// String returns the string representation.
20687//
20688// API parameter values that are decorated as "sensitive" in the API will not
20689// be included in the string output. The member name will be present, but the
20690// value will be replaced with "sensitive".
20691func (s FleetAttributes) String() string {
20692	return awsutil.Prettify(s)
20693}
20694
20695// GoString returns the string representation.
20696//
20697// API parameter values that are decorated as "sensitive" in the API will not
20698// be included in the string output. The member name will be present, but the
20699// value will be replaced with "sensitive".
20700func (s FleetAttributes) GoString() string {
20701	return s.String()
20702}
20703
20704// SetBuildArn sets the BuildArn field's value.
20705func (s *FleetAttributes) SetBuildArn(v string) *FleetAttributes {
20706	s.BuildArn = &v
20707	return s
20708}
20709
20710// SetBuildId sets the BuildId field's value.
20711func (s *FleetAttributes) SetBuildId(v string) *FleetAttributes {
20712	s.BuildId = &v
20713	return s
20714}
20715
20716// SetCertificateConfiguration sets the CertificateConfiguration field's value.
20717func (s *FleetAttributes) SetCertificateConfiguration(v *CertificateConfiguration) *FleetAttributes {
20718	s.CertificateConfiguration = v
20719	return s
20720}
20721
20722// SetCreationTime sets the CreationTime field's value.
20723func (s *FleetAttributes) SetCreationTime(v time.Time) *FleetAttributes {
20724	s.CreationTime = &v
20725	return s
20726}
20727
20728// SetDescription sets the Description field's value.
20729func (s *FleetAttributes) SetDescription(v string) *FleetAttributes {
20730	s.Description = &v
20731	return s
20732}
20733
20734// SetFleetArn sets the FleetArn field's value.
20735func (s *FleetAttributes) SetFleetArn(v string) *FleetAttributes {
20736	s.FleetArn = &v
20737	return s
20738}
20739
20740// SetFleetId sets the FleetId field's value.
20741func (s *FleetAttributes) SetFleetId(v string) *FleetAttributes {
20742	s.FleetId = &v
20743	return s
20744}
20745
20746// SetFleetType sets the FleetType field's value.
20747func (s *FleetAttributes) SetFleetType(v string) *FleetAttributes {
20748	s.FleetType = &v
20749	return s
20750}
20751
20752// SetInstanceRoleArn sets the InstanceRoleArn field's value.
20753func (s *FleetAttributes) SetInstanceRoleArn(v string) *FleetAttributes {
20754	s.InstanceRoleArn = &v
20755	return s
20756}
20757
20758// SetInstanceType sets the InstanceType field's value.
20759func (s *FleetAttributes) SetInstanceType(v string) *FleetAttributes {
20760	s.InstanceType = &v
20761	return s
20762}
20763
20764// SetLogPaths sets the LogPaths field's value.
20765func (s *FleetAttributes) SetLogPaths(v []*string) *FleetAttributes {
20766	s.LogPaths = v
20767	return s
20768}
20769
20770// SetMetricGroups sets the MetricGroups field's value.
20771func (s *FleetAttributes) SetMetricGroups(v []*string) *FleetAttributes {
20772	s.MetricGroups = v
20773	return s
20774}
20775
20776// SetName sets the Name field's value.
20777func (s *FleetAttributes) SetName(v string) *FleetAttributes {
20778	s.Name = &v
20779	return s
20780}
20781
20782// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
20783func (s *FleetAttributes) SetNewGameSessionProtectionPolicy(v string) *FleetAttributes {
20784	s.NewGameSessionProtectionPolicy = &v
20785	return s
20786}
20787
20788// SetOperatingSystem sets the OperatingSystem field's value.
20789func (s *FleetAttributes) SetOperatingSystem(v string) *FleetAttributes {
20790	s.OperatingSystem = &v
20791	return s
20792}
20793
20794// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
20795func (s *FleetAttributes) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *FleetAttributes {
20796	s.ResourceCreationLimitPolicy = v
20797	return s
20798}
20799
20800// SetScriptArn sets the ScriptArn field's value.
20801func (s *FleetAttributes) SetScriptArn(v string) *FleetAttributes {
20802	s.ScriptArn = &v
20803	return s
20804}
20805
20806// SetScriptId sets the ScriptId field's value.
20807func (s *FleetAttributes) SetScriptId(v string) *FleetAttributes {
20808	s.ScriptId = &v
20809	return s
20810}
20811
20812// SetServerLaunchParameters sets the ServerLaunchParameters field's value.
20813func (s *FleetAttributes) SetServerLaunchParameters(v string) *FleetAttributes {
20814	s.ServerLaunchParameters = &v
20815	return s
20816}
20817
20818// SetServerLaunchPath sets the ServerLaunchPath field's value.
20819func (s *FleetAttributes) SetServerLaunchPath(v string) *FleetAttributes {
20820	s.ServerLaunchPath = &v
20821	return s
20822}
20823
20824// SetStatus sets the Status field's value.
20825func (s *FleetAttributes) SetStatus(v string) *FleetAttributes {
20826	s.Status = &v
20827	return s
20828}
20829
20830// SetStoppedActions sets the StoppedActions field's value.
20831func (s *FleetAttributes) SetStoppedActions(v []*string) *FleetAttributes {
20832	s.StoppedActions = v
20833	return s
20834}
20835
20836// SetTerminationTime sets the TerminationTime field's value.
20837func (s *FleetAttributes) SetTerminationTime(v time.Time) *FleetAttributes {
20838	s.TerminationTime = &v
20839	return s
20840}
20841
20842// Current resource capacity settings in a specified fleet or location. The
20843// location value might refer to a fleet's remote location or its home Region.
20844//
20845// Related actions
20846//
20847// DescribeFleetCapacity | DescribeFleetLocationCapacity | UpdateFleetCapacity
20848type FleetCapacity struct {
20849	_ struct{} `type:"structure"`
20850
20851	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
20852	// that is assigned to a GameLift fleet resource and uniquely identifies it.
20853	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
20854	FleetArn *string `type:"string"`
20855
20856	// A unique identifier for the fleet associated with the location.
20857	FleetId *string `type:"string"`
20858
20859	// The current instance count and capacity settings for the fleet location.
20860	InstanceCounts *EC2InstanceCounts `type:"structure"`
20861
20862	// The EC2 instance type that is used for all instances in a fleet. The instance
20863	// type determines the computing resources in use, including CPU, memory, storage,
20864	// and networking capacity. See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
20865	// for detailed descriptions.
20866	InstanceType *string `type:"string" enum:"EC2InstanceType"`
20867
20868	// The fleet location for the instance count information, expressed as an AWS
20869	// Region code, such as us-west-2.
20870	Location *string `min:"1" type:"string"`
20871}
20872
20873// String returns the string representation.
20874//
20875// API parameter values that are decorated as "sensitive" in the API will not
20876// be included in the string output. The member name will be present, but the
20877// value will be replaced with "sensitive".
20878func (s FleetCapacity) String() string {
20879	return awsutil.Prettify(s)
20880}
20881
20882// GoString returns the string representation.
20883//
20884// API parameter values that are decorated as "sensitive" in the API will not
20885// be included in the string output. The member name will be present, but the
20886// value will be replaced with "sensitive".
20887func (s FleetCapacity) GoString() string {
20888	return s.String()
20889}
20890
20891// SetFleetArn sets the FleetArn field's value.
20892func (s *FleetCapacity) SetFleetArn(v string) *FleetCapacity {
20893	s.FleetArn = &v
20894	return s
20895}
20896
20897// SetFleetId sets the FleetId field's value.
20898func (s *FleetCapacity) SetFleetId(v string) *FleetCapacity {
20899	s.FleetId = &v
20900	return s
20901}
20902
20903// SetInstanceCounts sets the InstanceCounts field's value.
20904func (s *FleetCapacity) SetInstanceCounts(v *EC2InstanceCounts) *FleetCapacity {
20905	s.InstanceCounts = v
20906	return s
20907}
20908
20909// SetInstanceType sets the InstanceType field's value.
20910func (s *FleetCapacity) SetInstanceType(v string) *FleetCapacity {
20911	s.InstanceType = &v
20912	return s
20913}
20914
20915// SetLocation sets the Location field's value.
20916func (s *FleetCapacity) SetLocation(v string) *FleetCapacity {
20917	s.Location = &v
20918	return s
20919}
20920
20921// The specified fleet has no available instances to fulfill a CreateGameSession
20922// request. Clients can retry such requests immediately or after a waiting period.
20923type FleetCapacityExceededException struct {
20924	_            struct{}                  `type:"structure"`
20925	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20926
20927	Message_ *string `locationName:"Message" min:"1" type:"string"`
20928}
20929
20930// String returns the string representation.
20931//
20932// API parameter values that are decorated as "sensitive" in the API will not
20933// be included in the string output. The member name will be present, but the
20934// value will be replaced with "sensitive".
20935func (s FleetCapacityExceededException) String() string {
20936	return awsutil.Prettify(s)
20937}
20938
20939// GoString returns the string representation.
20940//
20941// API parameter values that are decorated as "sensitive" in the API will not
20942// be included in the string output. The member name will be present, but the
20943// value will be replaced with "sensitive".
20944func (s FleetCapacityExceededException) GoString() string {
20945	return s.String()
20946}
20947
20948func newErrorFleetCapacityExceededException(v protocol.ResponseMetadata) error {
20949	return &FleetCapacityExceededException{
20950		RespMetadata: v,
20951	}
20952}
20953
20954// Code returns the exception type name.
20955func (s *FleetCapacityExceededException) Code() string {
20956	return "FleetCapacityExceededException"
20957}
20958
20959// Message returns the exception's message.
20960func (s *FleetCapacityExceededException) Message() string {
20961	if s.Message_ != nil {
20962		return *s.Message_
20963	}
20964	return ""
20965}
20966
20967// OrigErr always returns nil, satisfies awserr.Error interface.
20968func (s *FleetCapacityExceededException) OrigErr() error {
20969	return nil
20970}
20971
20972func (s *FleetCapacityExceededException) Error() string {
20973	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20974}
20975
20976// Status code returns the HTTP status code for the request's response error.
20977func (s *FleetCapacityExceededException) StatusCode() int {
20978	return s.RespMetadata.StatusCode
20979}
20980
20981// RequestID returns the service's response RequestID for request.
20982func (s *FleetCapacityExceededException) RequestID() string {
20983	return s.RespMetadata.RequestID
20984}
20985
20986// Current resource utilization statistics in a specified fleet or location.
20987// The location value might refer to a fleet's remote location or its home Region.
20988//
20989// Related actions
20990//
20991// DescribeFleetUtilization | DescribeFleetLocationUtilization
20992type FleetUtilization struct {
20993	_ struct{} `type:"structure"`
20994
20995	// The number of active game sessions that are currently being hosted across
20996	// all instances in the fleet location.
20997	ActiveGameSessionCount *int64 `type:"integer"`
20998
20999	// The number of server processes in ACTIVE status that are currently running
21000	// across all instances in the fleet location.
21001	ActiveServerProcessCount *int64 `type:"integer"`
21002
21003	// The number of active player sessions that are currently being hosted across
21004	// all instances in the fleet location.
21005	CurrentPlayerSessionCount *int64 `type:"integer"`
21006
21007	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
21008	// that is assigned to a GameLift fleet resource and uniquely identifies it.
21009	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
21010	FleetArn *string `type:"string"`
21011
21012	// A unique identifier for the fleet associated with the location.
21013	FleetId *string `type:"string"`
21014
21015	// The fleet location for the fleet utilization information, expressed as an
21016	// AWS Region code, such as us-west-2.
21017	Location *string `min:"1" type:"string"`
21018
21019	// The maximum number of players allowed across all game sessions that are currently
21020	// being hosted across all instances in the fleet location.
21021	MaximumPlayerSessionCount *int64 `type:"integer"`
21022}
21023
21024// String returns the string representation.
21025//
21026// API parameter values that are decorated as "sensitive" in the API will not
21027// be included in the string output. The member name will be present, but the
21028// value will be replaced with "sensitive".
21029func (s FleetUtilization) String() string {
21030	return awsutil.Prettify(s)
21031}
21032
21033// GoString returns the string representation.
21034//
21035// API parameter values that are decorated as "sensitive" in the API will not
21036// be included in the string output. The member name will be present, but the
21037// value will be replaced with "sensitive".
21038func (s FleetUtilization) GoString() string {
21039	return s.String()
21040}
21041
21042// SetActiveGameSessionCount sets the ActiveGameSessionCount field's value.
21043func (s *FleetUtilization) SetActiveGameSessionCount(v int64) *FleetUtilization {
21044	s.ActiveGameSessionCount = &v
21045	return s
21046}
21047
21048// SetActiveServerProcessCount sets the ActiveServerProcessCount field's value.
21049func (s *FleetUtilization) SetActiveServerProcessCount(v int64) *FleetUtilization {
21050	s.ActiveServerProcessCount = &v
21051	return s
21052}
21053
21054// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
21055func (s *FleetUtilization) SetCurrentPlayerSessionCount(v int64) *FleetUtilization {
21056	s.CurrentPlayerSessionCount = &v
21057	return s
21058}
21059
21060// SetFleetArn sets the FleetArn field's value.
21061func (s *FleetUtilization) SetFleetArn(v string) *FleetUtilization {
21062	s.FleetArn = &v
21063	return s
21064}
21065
21066// SetFleetId sets the FleetId field's value.
21067func (s *FleetUtilization) SetFleetId(v string) *FleetUtilization {
21068	s.FleetId = &v
21069	return s
21070}
21071
21072// SetLocation sets the Location field's value.
21073func (s *FleetUtilization) SetLocation(v string) *FleetUtilization {
21074	s.Location = &v
21075	return s
21076}
21077
21078// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
21079func (s *FleetUtilization) SetMaximumPlayerSessionCount(v int64) *FleetUtilization {
21080	s.MaximumPlayerSessionCount = &v
21081	return s
21082}
21083
21084// Set of key-value pairs that contain information about a game session. When
21085// included in a game session request, these properties communicate details
21086// to be used when setting up the new game session. For example, a game property
21087// might specify a game mode, level, or map. Game properties are passed to the
21088// game server process when initiating a new game session. For more information,
21089// see the GameLift Developer Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create).
21090type GameProperty struct {
21091	_ struct{} `type:"structure"`
21092
21093	// The game property identifier.
21094	//
21095	// Key is a required field
21096	Key *string `type:"string" required:"true"`
21097
21098	// The game property value.
21099	//
21100	// Value is a required field
21101	Value *string `type:"string" required:"true"`
21102}
21103
21104// String returns the string representation.
21105//
21106// API parameter values that are decorated as "sensitive" in the API will not
21107// be included in the string output. The member name will be present, but the
21108// value will be replaced with "sensitive".
21109func (s GameProperty) String() string {
21110	return awsutil.Prettify(s)
21111}
21112
21113// GoString returns the string representation.
21114//
21115// API parameter values that are decorated as "sensitive" in the API will not
21116// be included in the string output. The member name will be present, but the
21117// value will be replaced with "sensitive".
21118func (s GameProperty) GoString() string {
21119	return s.String()
21120}
21121
21122// Validate inspects the fields of the type to determine if they are valid.
21123func (s *GameProperty) Validate() error {
21124	invalidParams := request.ErrInvalidParams{Context: "GameProperty"}
21125	if s.Key == nil {
21126		invalidParams.Add(request.NewErrParamRequired("Key"))
21127	}
21128	if s.Value == nil {
21129		invalidParams.Add(request.NewErrParamRequired("Value"))
21130	}
21131
21132	if invalidParams.Len() > 0 {
21133		return invalidParams
21134	}
21135	return nil
21136}
21137
21138// SetKey sets the Key field's value.
21139func (s *GameProperty) SetKey(v string) *GameProperty {
21140	s.Key = &v
21141	return s
21142}
21143
21144// SetValue sets the Value field's value.
21145func (s *GameProperty) SetValue(v string) *GameProperty {
21146	s.Value = &v
21147	return s
21148}
21149
21150// This data type is used with the GameLift FleetIQ and game server groups.
21151//
21152// Properties describing a game server that is running on an instance in a GameServerGroup.
21153//
21154// A game server is created by a successful call to RegisterGameServer and deleted
21155// by calling DeregisterGameServer. A game server is claimed to host a game
21156// session by calling ClaimGameServer.
21157//
21158// Related actions
21159//
21160// RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
21161// | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
21162type GameServer struct {
21163	_ struct{} `type:"structure"`
21164
21165	// Indicates when an available game server has been reserved for gameplay but
21166	// has not yet started hosting a game. Once it is claimed, the game server remains
21167	// in CLAIMED status for a maximum of one minute. During this time, game clients
21168	// connect to the game server to start the game and trigger the game server
21169	// to update its utilization status. After one minute, the game server claim
21170	// status reverts to null.
21171	ClaimStatus *string `type:"string" enum:"GameServerClaimStatus"`
21172
21173	// The port and IP address that must be used to establish a client connection
21174	// to the game server.
21175	ConnectionInfo *string `min:"1" type:"string"`
21176
21177	// A set of custom game server properties, formatted as a single string value.
21178	// This data is passed to a game client or service when it requests information
21179	// on game servers using ListGameServers or ClaimGameServer.
21180	GameServerData *string `min:"1" type:"string"`
21181
21182	// The ARN identifier for the game server group where the game server is located.
21183	GameServerGroupArn *string `min:"1" type:"string"`
21184
21185	// A unique identifier for the game server group where the game server is running.
21186	// Use either the GameServerGroup name or ARN value.
21187	GameServerGroupName *string `min:"1" type:"string"`
21188
21189	// A custom string that uniquely identifies the game server. Game server IDs
21190	// are developer-defined and are unique across all game server groups in an
21191	// AWS account.
21192	GameServerId *string `min:"3" type:"string"`
21193
21194	// The unique identifier for the instance where the game server is running.
21195	// This ID is available in the instance metadata. EC2 instance IDs use a 17-character
21196	// format, for example: i-1234567890abcdef0.
21197	InstanceId *string `min:"19" type:"string"`
21198
21199	// Timestamp that indicates the last time the game server was claimed with a
21200	// ClaimGameServer request. The format is a number expressed in Unix time as
21201	// milliseconds (for example "1469498468.057"). This value is used to calculate
21202	// when a claimed game server's status should revert to null.
21203	LastClaimTime *time.Time `type:"timestamp"`
21204
21205	// Timestamp that indicates the last time the game server was updated with health
21206	// status using an UpdateGameServer request. The format is a number expressed
21207	// in Unix time as milliseconds (for example "1469498468.057"). After game server
21208	// registration, this property is only changed when a game server update specifies
21209	// a health check value.
21210	LastHealthCheckTime *time.Time `type:"timestamp"`
21211
21212	// Timestamp that indicates when the game server was created with a RegisterGameServer
21213	// request. The format is a number expressed in Unix time as milliseconds (for
21214	// example "1469498468.057").
21215	RegistrationTime *time.Time `type:"timestamp"`
21216
21217	// Indicates whether the game server is currently available for new games or
21218	// is busy. Possible statuses include:
21219	//
21220	//    * AVAILABLE - The game server is available to be claimed. A game server
21221	//    that has been claimed remains in this status until it reports game hosting
21222	//    activity.
21223	//
21224	//    * UTILIZED - The game server is currently hosting a game session with
21225	//    players.
21226	UtilizationStatus *string `type:"string" enum:"GameServerUtilizationStatus"`
21227}
21228
21229// String returns the string representation.
21230//
21231// API parameter values that are decorated as "sensitive" in the API will not
21232// be included in the string output. The member name will be present, but the
21233// value will be replaced with "sensitive".
21234func (s GameServer) String() string {
21235	return awsutil.Prettify(s)
21236}
21237
21238// GoString returns the string representation.
21239//
21240// API parameter values that are decorated as "sensitive" in the API will not
21241// be included in the string output. The member name will be present, but the
21242// value will be replaced with "sensitive".
21243func (s GameServer) GoString() string {
21244	return s.String()
21245}
21246
21247// SetClaimStatus sets the ClaimStatus field's value.
21248func (s *GameServer) SetClaimStatus(v string) *GameServer {
21249	s.ClaimStatus = &v
21250	return s
21251}
21252
21253// SetConnectionInfo sets the ConnectionInfo field's value.
21254func (s *GameServer) SetConnectionInfo(v string) *GameServer {
21255	s.ConnectionInfo = &v
21256	return s
21257}
21258
21259// SetGameServerData sets the GameServerData field's value.
21260func (s *GameServer) SetGameServerData(v string) *GameServer {
21261	s.GameServerData = &v
21262	return s
21263}
21264
21265// SetGameServerGroupArn sets the GameServerGroupArn field's value.
21266func (s *GameServer) SetGameServerGroupArn(v string) *GameServer {
21267	s.GameServerGroupArn = &v
21268	return s
21269}
21270
21271// SetGameServerGroupName sets the GameServerGroupName field's value.
21272func (s *GameServer) SetGameServerGroupName(v string) *GameServer {
21273	s.GameServerGroupName = &v
21274	return s
21275}
21276
21277// SetGameServerId sets the GameServerId field's value.
21278func (s *GameServer) SetGameServerId(v string) *GameServer {
21279	s.GameServerId = &v
21280	return s
21281}
21282
21283// SetInstanceId sets the InstanceId field's value.
21284func (s *GameServer) SetInstanceId(v string) *GameServer {
21285	s.InstanceId = &v
21286	return s
21287}
21288
21289// SetLastClaimTime sets the LastClaimTime field's value.
21290func (s *GameServer) SetLastClaimTime(v time.Time) *GameServer {
21291	s.LastClaimTime = &v
21292	return s
21293}
21294
21295// SetLastHealthCheckTime sets the LastHealthCheckTime field's value.
21296func (s *GameServer) SetLastHealthCheckTime(v time.Time) *GameServer {
21297	s.LastHealthCheckTime = &v
21298	return s
21299}
21300
21301// SetRegistrationTime sets the RegistrationTime field's value.
21302func (s *GameServer) SetRegistrationTime(v time.Time) *GameServer {
21303	s.RegistrationTime = &v
21304	return s
21305}
21306
21307// SetUtilizationStatus sets the UtilizationStatus field's value.
21308func (s *GameServer) SetUtilizationStatus(v string) *GameServer {
21309	s.UtilizationStatus = &v
21310	return s
21311}
21312
21313// This data type is used with the GameLift FleetIQ and game server groups.
21314//
21315// Properties that describe a game server group resource. A game server group
21316// manages certain properties related to a corresponding EC2 Auto Scaling group.
21317//
21318// A game server group is created by a successful call to CreateGameServerGroup
21319// and deleted by calling DeleteGameServerGroup. Game server group activity
21320// can be temporarily suspended and resumed by calling SuspendGameServerGroup
21321// and ResumeGameServerGroup, respectively.
21322//
21323// Related actions
21324//
21325// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
21326// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
21327// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
21328type GameServerGroup struct {
21329	_ struct{} `type:"structure"`
21330
21331	// A generated unique ID for the EC2 Auto Scaling group that is associated with
21332	// this game server group.
21333	AutoScalingGroupArn *string `type:"string"`
21334
21335	// Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand
21336	// Instances in the game server group. Method options include the following:
21337	//
21338	//    * SPOT_ONLY - Only Spot Instances are used in the game server group. If
21339	//    Spot Instances are unavailable or not viable for game hosting, the game
21340	//    server group provides no hosting capacity until Spot Instances can again
21341	//    be used. Until then, no new instances are started, and the existing nonviable
21342	//    Spot Instances are terminated (after current gameplay ends) and are not
21343	//    replaced.
21344	//
21345	//    * SPOT_PREFERRED - (default value) Spot Instances are used whenever available
21346	//    in the game server group. If Spot Instances are unavailable, the game
21347	//    server group continues to provide hosting capacity by falling back to
21348	//    On-Demand Instances. Existing nonviable Spot Instances are terminated
21349	//    (after current gameplay ends) and are replaced with new On-Demand Instances.
21350	//
21351	//    * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server
21352	//    group. No Spot Instances are used, even when available, while this balancing
21353	//    strategy is in force.
21354	BalancingStrategy *string `type:"string" enum:"BalancingStrategy"`
21355
21356	// A time stamp indicating when this data object was created. Format is a number
21357	// expressed in Unix time as milliseconds (for example "1469498468.057").
21358	CreationTime *time.Time `type:"timestamp"`
21359
21360	// A generated unique ID for the game server group.
21361	GameServerGroupArn *string `min:"1" type:"string"`
21362
21363	// A developer-defined identifier for the game server group. The name is unique
21364	// for each Region in each AWS account.
21365	GameServerGroupName *string `min:"1" type:"string"`
21366
21367	// A flag that indicates whether instances in the game server group are protected
21368	// from early termination. Unprotected instances that have active game servers
21369	// running might be terminated during a scale-down event, causing players to
21370	// be dropped from the game. Protected instances cannot be terminated while
21371	// there are active game servers running except in the event of a forced game
21372	// server group deletion (see ). An exception to this is with Spot Instances,
21373	// which can be terminated by AWS regardless of protection status.
21374	GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"`
21375
21376	// The set of EC2 instance types that GameLift FleetIQ can use when balancing
21377	// and automatically scaling instances in the corresponding Auto Scaling group.
21378	InstanceDefinitions []*InstanceDefinition `min:"2" type:"list"`
21379
21380	// A timestamp that indicates when this game server group was last updated.
21381	LastUpdatedTime *time.Time `type:"timestamp"`
21382
21383	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
21384	// for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling
21385	// groups.
21386	RoleArn *string `min:"1" type:"string"`
21387
21388	// The current status of the game server group. Possible statuses include:
21389	//
21390	//    * NEW - GameLift FleetIQ has validated the CreateGameServerGroup() request.
21391	//
21392	//    * ACTIVATING - GameLift FleetIQ is setting up a game server group, which
21393	//    includes creating an Auto Scaling group in your AWS account.
21394	//
21395	//    * ACTIVE - The game server group has been successfully created.
21396	//
21397	//    * DELETE_SCHEDULED - A request to delete the game server group has been
21398	//    received.
21399	//
21400	//    * DELETING - GameLift FleetIQ has received a valid DeleteGameServerGroup()
21401	//    request and is processing it. GameLift FleetIQ must first complete and
21402	//    release hosts before it deletes the Auto Scaling group and the game server
21403	//    group.
21404	//
21405	//    * DELETED - The game server group has been successfully deleted.
21406	//
21407	//    * ERROR - The asynchronous processes of activating or deleting a game
21408	//    server group has failed, resulting in an error state.
21409	Status *string `type:"string" enum:"GameServerGroupStatus"`
21410
21411	// Additional information about the current game server group status. This information
21412	// might provide additional insight on groups that are in ERROR status.
21413	StatusReason *string `min:"1" type:"string"`
21414
21415	// A list of activities that are currently suspended for this game server group.
21416	// If this property is empty, all activities are occurring.
21417	SuspendedActions []*string `min:"1" type:"list"`
21418}
21419
21420// String returns the string representation.
21421//
21422// API parameter values that are decorated as "sensitive" in the API will not
21423// be included in the string output. The member name will be present, but the
21424// value will be replaced with "sensitive".
21425func (s GameServerGroup) String() string {
21426	return awsutil.Prettify(s)
21427}
21428
21429// GoString returns the string representation.
21430//
21431// API parameter values that are decorated as "sensitive" in the API will not
21432// be included in the string output. The member name will be present, but the
21433// value will be replaced with "sensitive".
21434func (s GameServerGroup) GoString() string {
21435	return s.String()
21436}
21437
21438// SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value.
21439func (s *GameServerGroup) SetAutoScalingGroupArn(v string) *GameServerGroup {
21440	s.AutoScalingGroupArn = &v
21441	return s
21442}
21443
21444// SetBalancingStrategy sets the BalancingStrategy field's value.
21445func (s *GameServerGroup) SetBalancingStrategy(v string) *GameServerGroup {
21446	s.BalancingStrategy = &v
21447	return s
21448}
21449
21450// SetCreationTime sets the CreationTime field's value.
21451func (s *GameServerGroup) SetCreationTime(v time.Time) *GameServerGroup {
21452	s.CreationTime = &v
21453	return s
21454}
21455
21456// SetGameServerGroupArn sets the GameServerGroupArn field's value.
21457func (s *GameServerGroup) SetGameServerGroupArn(v string) *GameServerGroup {
21458	s.GameServerGroupArn = &v
21459	return s
21460}
21461
21462// SetGameServerGroupName sets the GameServerGroupName field's value.
21463func (s *GameServerGroup) SetGameServerGroupName(v string) *GameServerGroup {
21464	s.GameServerGroupName = &v
21465	return s
21466}
21467
21468// SetGameServerProtectionPolicy sets the GameServerProtectionPolicy field's value.
21469func (s *GameServerGroup) SetGameServerProtectionPolicy(v string) *GameServerGroup {
21470	s.GameServerProtectionPolicy = &v
21471	return s
21472}
21473
21474// SetInstanceDefinitions sets the InstanceDefinitions field's value.
21475func (s *GameServerGroup) SetInstanceDefinitions(v []*InstanceDefinition) *GameServerGroup {
21476	s.InstanceDefinitions = v
21477	return s
21478}
21479
21480// SetLastUpdatedTime sets the LastUpdatedTime field's value.
21481func (s *GameServerGroup) SetLastUpdatedTime(v time.Time) *GameServerGroup {
21482	s.LastUpdatedTime = &v
21483	return s
21484}
21485
21486// SetRoleArn sets the RoleArn field's value.
21487func (s *GameServerGroup) SetRoleArn(v string) *GameServerGroup {
21488	s.RoleArn = &v
21489	return s
21490}
21491
21492// SetStatus sets the Status field's value.
21493func (s *GameServerGroup) SetStatus(v string) *GameServerGroup {
21494	s.Status = &v
21495	return s
21496}
21497
21498// SetStatusReason sets the StatusReason field's value.
21499func (s *GameServerGroup) SetStatusReason(v string) *GameServerGroup {
21500	s.StatusReason = &v
21501	return s
21502}
21503
21504// SetSuspendedActions sets the SuspendedActions field's value.
21505func (s *GameServerGroup) SetSuspendedActions(v []*string) *GameServerGroup {
21506	s.SuspendedActions = v
21507	return s
21508}
21509
21510// This data type is used with the GameLift FleetIQ and game server groups.
21511//
21512// Configuration settings for intelligent automatic scaling that uses target
21513// tracking. These settings are used to add an Auto Scaling policy when creating
21514// the corresponding Auto Scaling group with CreateGameServerGroup. After the
21515// Auto Scaling group is created, all updates to Auto Scaling policies, including
21516// changing this policy and adding or removing other policies, is done directly
21517// on the Auto Scaling group.
21518type GameServerGroupAutoScalingPolicy struct {
21519	_ struct{} `type:"structure"`
21520
21521	// Length of time, in seconds, it takes for a new instance to start new game
21522	// server processes and register with GameLift FleetIQ. Specifying a warm-up
21523	// time can be useful, particularly with game servers that take a long time
21524	// to start up, because it avoids prematurely starting new instances.
21525	EstimatedInstanceWarmup *int64 `min:"1" type:"integer"`
21526
21527	// Settings for a target-based scaling policy applied to Auto Scaling group.
21528	// These settings are used to create a target-based policy that tracks the GameLift
21529	// FleetIQ metric "PercentUtilizedGameServers" and specifies a target value
21530	// for the metric. As player usage changes, the policy triggers to adjust the
21531	// game server group capacity so that the metric returns to the target value.
21532	//
21533	// TargetTrackingConfiguration is a required field
21534	TargetTrackingConfiguration *TargetTrackingConfiguration `type:"structure" required:"true"`
21535}
21536
21537// String returns the string representation.
21538//
21539// API parameter values that are decorated as "sensitive" in the API will not
21540// be included in the string output. The member name will be present, but the
21541// value will be replaced with "sensitive".
21542func (s GameServerGroupAutoScalingPolicy) String() string {
21543	return awsutil.Prettify(s)
21544}
21545
21546// GoString returns the string representation.
21547//
21548// API parameter values that are decorated as "sensitive" in the API will not
21549// be included in the string output. The member name will be present, but the
21550// value will be replaced with "sensitive".
21551func (s GameServerGroupAutoScalingPolicy) GoString() string {
21552	return s.String()
21553}
21554
21555// Validate inspects the fields of the type to determine if they are valid.
21556func (s *GameServerGroupAutoScalingPolicy) Validate() error {
21557	invalidParams := request.ErrInvalidParams{Context: "GameServerGroupAutoScalingPolicy"}
21558	if s.EstimatedInstanceWarmup != nil && *s.EstimatedInstanceWarmup < 1 {
21559		invalidParams.Add(request.NewErrParamMinValue("EstimatedInstanceWarmup", 1))
21560	}
21561	if s.TargetTrackingConfiguration == nil {
21562		invalidParams.Add(request.NewErrParamRequired("TargetTrackingConfiguration"))
21563	}
21564	if s.TargetTrackingConfiguration != nil {
21565		if err := s.TargetTrackingConfiguration.Validate(); err != nil {
21566			invalidParams.AddNested("TargetTrackingConfiguration", err.(request.ErrInvalidParams))
21567		}
21568	}
21569
21570	if invalidParams.Len() > 0 {
21571		return invalidParams
21572	}
21573	return nil
21574}
21575
21576// SetEstimatedInstanceWarmup sets the EstimatedInstanceWarmup field's value.
21577func (s *GameServerGroupAutoScalingPolicy) SetEstimatedInstanceWarmup(v int64) *GameServerGroupAutoScalingPolicy {
21578	s.EstimatedInstanceWarmup = &v
21579	return s
21580}
21581
21582// SetTargetTrackingConfiguration sets the TargetTrackingConfiguration field's value.
21583func (s *GameServerGroupAutoScalingPolicy) SetTargetTrackingConfiguration(v *TargetTrackingConfiguration) *GameServerGroupAutoScalingPolicy {
21584	s.TargetTrackingConfiguration = v
21585	return s
21586}
21587
21588// This data type is used with the GameLift FleetIQ and game server groups.
21589//
21590// Additional properties, including status, that describe an EC2 instance in
21591// a game server group. Instance configurations are set with game server group
21592// properties (see DescribeGameServerGroup and with the EC2 launch template
21593// that was used when creating the game server group.
21594//
21595// Retrieve game server instances for a game server group by calling DescribeGameServerInstances.
21596//
21597// Related actions
21598//
21599// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
21600// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
21601// | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
21602type GameServerInstance struct {
21603	_ struct{} `type:"structure"`
21604
21605	// A generated unique identifier for the game server group that includes the
21606	// game server instance.
21607	GameServerGroupArn *string `min:"1" type:"string"`
21608
21609	// A developer-defined identifier for the game server group that includes the
21610	// game server instance. The name is unique for each Region in each AWS account.
21611	GameServerGroupName *string `min:"1" type:"string"`
21612
21613	// The unique identifier for the instance where the game server is running.
21614	// This ID is available in the instance metadata. EC2 instance IDs use a 17-character
21615	// format, for example: i-1234567890abcdef0.
21616	InstanceId *string `min:"19" type:"string"`
21617
21618	// Current status of the game server instance.
21619	//
21620	//    * ACTIVE -- The instance is viable for hosting game servers.
21621	//
21622	//    * DRAINING -- The instance is not viable for hosting game servers. Existing
21623	//    game servers are in the process of ending, and new game servers are not
21624	//    started on this instance unless no other resources are available. When
21625	//    the instance is put in DRAINING, a new instance is started up to replace
21626	//    it. Once the instance has no UTILIZED game servers, it will be terminated
21627	//    in favor of the new instance.
21628	//
21629	//    * SPOT_TERMINATING -- The instance is in the process of shutting down
21630	//    due to a Spot instance interruption. No new game servers are started on
21631	//    this instance.
21632	InstanceStatus *string `type:"string" enum:"GameServerInstanceStatus"`
21633}
21634
21635// String returns the string representation.
21636//
21637// API parameter values that are decorated as "sensitive" in the API will not
21638// be included in the string output. The member name will be present, but the
21639// value will be replaced with "sensitive".
21640func (s GameServerInstance) String() string {
21641	return awsutil.Prettify(s)
21642}
21643
21644// GoString returns the string representation.
21645//
21646// API parameter values that are decorated as "sensitive" in the API will not
21647// be included in the string output. The member name will be present, but the
21648// value will be replaced with "sensitive".
21649func (s GameServerInstance) GoString() string {
21650	return s.String()
21651}
21652
21653// SetGameServerGroupArn sets the GameServerGroupArn field's value.
21654func (s *GameServerInstance) SetGameServerGroupArn(v string) *GameServerInstance {
21655	s.GameServerGroupArn = &v
21656	return s
21657}
21658
21659// SetGameServerGroupName sets the GameServerGroupName field's value.
21660func (s *GameServerInstance) SetGameServerGroupName(v string) *GameServerInstance {
21661	s.GameServerGroupName = &v
21662	return s
21663}
21664
21665// SetInstanceId sets the InstanceId field's value.
21666func (s *GameServerInstance) SetInstanceId(v string) *GameServerInstance {
21667	s.InstanceId = &v
21668	return s
21669}
21670
21671// SetInstanceStatus sets the InstanceStatus field's value.
21672func (s *GameServerInstance) SetInstanceStatus(v string) *GameServerInstance {
21673	s.InstanceStatus = &v
21674	return s
21675}
21676
21677// Properties describing a game session.
21678//
21679// A game session in ACTIVE status can host players. When a game session ends,
21680// its status is set to TERMINATED.
21681//
21682// Once the session ends, the game session object is retained for 30 days. This
21683// means you can reuse idempotency token values after this time. Game session
21684// logs are retained for 14 days.
21685//
21686// Related actions
21687//
21688// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
21689// | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
21690// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
21691// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
21692type GameSession struct {
21693	_ struct{} `type:"structure"`
21694
21695	// A time stamp indicating when this data object was created. Format is a number
21696	// expressed in Unix time as milliseconds (for example "1469498468.057").
21697	CreationTime *time.Time `type:"timestamp"`
21698
21699	// A unique identifier for a player. This ID is used to enforce a resource protection
21700	// policy (if one exists), that limits the number of game sessions a player
21701	// can create.
21702	CreatorId *string `min:"1" type:"string"`
21703
21704	// Number of players currently in the game session.
21705	CurrentPlayerSessionCount *int64 `type:"integer"`
21706
21707	// The DNS identifier assigned to the instance that is running the game session.
21708	// Values have the following format:
21709	//
21710	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
21711	//
21712	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
21713	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
21714	//
21715	// When connecting to a game session that is running on a TLS-enabled fleet,
21716	// you must use the DNS name, not the IP address.
21717	DnsName *string `type:"string"`
21718
21719	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
21720	// associated with the GameLift fleet that this game session is running on.
21721	FleetArn *string `type:"string"`
21722
21723	// A unique identifier for the fleet that the game session is running on.
21724	FleetId *string `type:"string"`
21725
21726	// A set of custom properties for a game session, formatted as key:value pairs.
21727	// These properties are passed to a game server process in the GameSession object
21728	// with a request to start a new game session. You can search for active game
21729	// sessions based on this custom data with SearchGameSessions.
21730	GameProperties []*GameProperty `type:"list"`
21731
21732	// A set of custom game session properties, formatted as a single string value.
21733	// This data is passed to a game server process in the GameSession object with
21734	// a request to start a new game session.
21735	GameSessionData *string `min:"1" type:"string"`
21736
21737	// A unique identifier for the game session. A game session ARN has the following
21738	// format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
21739	// or idempotency token>.
21740	GameSessionId *string `min:"1" type:"string"`
21741
21742	// The IP address of the game session. To connect to a GameLift game server,
21743	// an app needs both the IP address and port number.
21744	IpAddress *string `min:"1" type:"string"`
21745
21746	// The fleet location where the game session is running. This value might specify
21747	// the fleet's home Region or a remote location. Location is expressed as an
21748	// AWS Region code such as us-west-2.
21749	Location *string `min:"1" type:"string"`
21750
21751	// Information about the matchmaking process that was used to create the game
21752	// session. It is in JSON syntax, formatted as a string. In addition the matchmaking
21753	// configuration used, it contains data on all players assigned to the match,
21754	// including player attributes and team assignments. For more details on matchmaker
21755	// data, see Match Data (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).
21756	// Matchmaker data is useful when requesting match backfills, and is updated
21757	// whenever new players are added during a successful backfill (see StartMatchBackfill).
21758	MatchmakerData *string `min:"1" type:"string"`
21759
21760	// The maximum number of players that can be connected simultaneously to the
21761	// game session.
21762	MaximumPlayerSessionCount *int64 `type:"integer"`
21763
21764	// A descriptive label that is associated with a game session. Session names
21765	// do not need to be unique.
21766	Name *string `min:"1" type:"string"`
21767
21768	// Indicates whether or not the game session is accepting new players.
21769	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
21770
21771	// The port number for the game session. To connect to a GameLift game server,
21772	// an app needs both the IP address and port number.
21773	Port *int64 `min:"1" type:"integer"`
21774
21775	// Current status of the game session. A game session must have an ACTIVE status
21776	// to have player sessions.
21777	Status *string `type:"string" enum:"GameSessionStatus"`
21778
21779	// Provides additional information about game session status. INTERRUPTED indicates
21780	// that the game session was hosted on a spot instance that was reclaimed, causing
21781	// the active game session to be terminated.
21782	StatusReason *string `type:"string" enum:"GameSessionStatusReason"`
21783
21784	// A time stamp indicating when this data object was terminated. Format is a
21785	// number expressed in Unix time as milliseconds (for example "1469498468.057").
21786	TerminationTime *time.Time `type:"timestamp"`
21787}
21788
21789// String returns the string representation.
21790//
21791// API parameter values that are decorated as "sensitive" in the API will not
21792// be included in the string output. The member name will be present, but the
21793// value will be replaced with "sensitive".
21794func (s GameSession) String() string {
21795	return awsutil.Prettify(s)
21796}
21797
21798// GoString returns the string representation.
21799//
21800// API parameter values that are decorated as "sensitive" in the API will not
21801// be included in the string output. The member name will be present, but the
21802// value will be replaced with "sensitive".
21803func (s GameSession) GoString() string {
21804	return s.String()
21805}
21806
21807// SetCreationTime sets the CreationTime field's value.
21808func (s *GameSession) SetCreationTime(v time.Time) *GameSession {
21809	s.CreationTime = &v
21810	return s
21811}
21812
21813// SetCreatorId sets the CreatorId field's value.
21814func (s *GameSession) SetCreatorId(v string) *GameSession {
21815	s.CreatorId = &v
21816	return s
21817}
21818
21819// SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
21820func (s *GameSession) SetCurrentPlayerSessionCount(v int64) *GameSession {
21821	s.CurrentPlayerSessionCount = &v
21822	return s
21823}
21824
21825// SetDnsName sets the DnsName field's value.
21826func (s *GameSession) SetDnsName(v string) *GameSession {
21827	s.DnsName = &v
21828	return s
21829}
21830
21831// SetFleetArn sets the FleetArn field's value.
21832func (s *GameSession) SetFleetArn(v string) *GameSession {
21833	s.FleetArn = &v
21834	return s
21835}
21836
21837// SetFleetId sets the FleetId field's value.
21838func (s *GameSession) SetFleetId(v string) *GameSession {
21839	s.FleetId = &v
21840	return s
21841}
21842
21843// SetGameProperties sets the GameProperties field's value.
21844func (s *GameSession) SetGameProperties(v []*GameProperty) *GameSession {
21845	s.GameProperties = v
21846	return s
21847}
21848
21849// SetGameSessionData sets the GameSessionData field's value.
21850func (s *GameSession) SetGameSessionData(v string) *GameSession {
21851	s.GameSessionData = &v
21852	return s
21853}
21854
21855// SetGameSessionId sets the GameSessionId field's value.
21856func (s *GameSession) SetGameSessionId(v string) *GameSession {
21857	s.GameSessionId = &v
21858	return s
21859}
21860
21861// SetIpAddress sets the IpAddress field's value.
21862func (s *GameSession) SetIpAddress(v string) *GameSession {
21863	s.IpAddress = &v
21864	return s
21865}
21866
21867// SetLocation sets the Location field's value.
21868func (s *GameSession) SetLocation(v string) *GameSession {
21869	s.Location = &v
21870	return s
21871}
21872
21873// SetMatchmakerData sets the MatchmakerData field's value.
21874func (s *GameSession) SetMatchmakerData(v string) *GameSession {
21875	s.MatchmakerData = &v
21876	return s
21877}
21878
21879// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
21880func (s *GameSession) SetMaximumPlayerSessionCount(v int64) *GameSession {
21881	s.MaximumPlayerSessionCount = &v
21882	return s
21883}
21884
21885// SetName sets the Name field's value.
21886func (s *GameSession) SetName(v string) *GameSession {
21887	s.Name = &v
21888	return s
21889}
21890
21891// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
21892func (s *GameSession) SetPlayerSessionCreationPolicy(v string) *GameSession {
21893	s.PlayerSessionCreationPolicy = &v
21894	return s
21895}
21896
21897// SetPort sets the Port field's value.
21898func (s *GameSession) SetPort(v int64) *GameSession {
21899	s.Port = &v
21900	return s
21901}
21902
21903// SetStatus sets the Status field's value.
21904func (s *GameSession) SetStatus(v string) *GameSession {
21905	s.Status = &v
21906	return s
21907}
21908
21909// SetStatusReason sets the StatusReason field's value.
21910func (s *GameSession) SetStatusReason(v string) *GameSession {
21911	s.StatusReason = &v
21912	return s
21913}
21914
21915// SetTerminationTime sets the TerminationTime field's value.
21916func (s *GameSession) SetTerminationTime(v time.Time) *GameSession {
21917	s.TerminationTime = &v
21918	return s
21919}
21920
21921// Connection information for a new game session that is created in response
21922// to a StartMatchmaking request. Once a match is made, the FlexMatch engine
21923// creates a new game session for it. This information, including the game session
21924// endpoint and player sessions for each player in the original matchmaking
21925// request, is added to the MatchmakingTicket, which can be retrieved by calling
21926// DescribeMatchmaking.
21927type GameSessionConnectionInfo struct {
21928	_ struct{} `type:"structure"`
21929
21930	// The DNS identifier assigned to the instance that is running the game session.
21931	// Values have the following format:
21932	//
21933	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
21934	//
21935	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
21936	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
21937	//
21938	// When connecting to a game session that is running on a TLS-enabled fleet,
21939	// you must use the DNS name, not the IP address.
21940	DnsName *string `type:"string"`
21941
21942	// A unique identifier for the game session. Use the game session ID.
21943	GameSessionArn *string `min:"1" type:"string"`
21944
21945	// The IP address of the game session. To connect to a GameLift game server,
21946	// an app needs both the IP address and port number.
21947	IpAddress *string `type:"string"`
21948
21949	// A collection of player session IDs, one for each player ID that was included
21950	// in the original matchmaking request.
21951	MatchedPlayerSessions []*MatchedPlayerSession `type:"list"`
21952
21953	// The port number for the game session. To connect to a GameLift game server,
21954	// an app needs both the IP address and port number.
21955	Port *int64 `min:"1" type:"integer"`
21956}
21957
21958// String returns the string representation.
21959//
21960// API parameter values that are decorated as "sensitive" in the API will not
21961// be included in the string output. The member name will be present, but the
21962// value will be replaced with "sensitive".
21963func (s GameSessionConnectionInfo) String() string {
21964	return awsutil.Prettify(s)
21965}
21966
21967// GoString returns the string representation.
21968//
21969// API parameter values that are decorated as "sensitive" in the API will not
21970// be included in the string output. The member name will be present, but the
21971// value will be replaced with "sensitive".
21972func (s GameSessionConnectionInfo) GoString() string {
21973	return s.String()
21974}
21975
21976// SetDnsName sets the DnsName field's value.
21977func (s *GameSessionConnectionInfo) SetDnsName(v string) *GameSessionConnectionInfo {
21978	s.DnsName = &v
21979	return s
21980}
21981
21982// SetGameSessionArn sets the GameSessionArn field's value.
21983func (s *GameSessionConnectionInfo) SetGameSessionArn(v string) *GameSessionConnectionInfo {
21984	s.GameSessionArn = &v
21985	return s
21986}
21987
21988// SetIpAddress sets the IpAddress field's value.
21989func (s *GameSessionConnectionInfo) SetIpAddress(v string) *GameSessionConnectionInfo {
21990	s.IpAddress = &v
21991	return s
21992}
21993
21994// SetMatchedPlayerSessions sets the MatchedPlayerSessions field's value.
21995func (s *GameSessionConnectionInfo) SetMatchedPlayerSessions(v []*MatchedPlayerSession) *GameSessionConnectionInfo {
21996	s.MatchedPlayerSessions = v
21997	return s
21998}
21999
22000// SetPort sets the Port field's value.
22001func (s *GameSessionConnectionInfo) SetPort(v int64) *GameSessionConnectionInfo {
22002	s.Port = &v
22003	return s
22004}
22005
22006// A game session's properties plus the protection policy currently in force.
22007type GameSessionDetail struct {
22008	_ struct{} `type:"structure"`
22009
22010	// Object that describes a game session.
22011	GameSession *GameSession `type:"structure"`
22012
22013	// Current status of protection for the game session.
22014	//
22015	//    * NoProtection -- The game session can be terminated during a scale-down
22016	//    event.
22017	//
22018	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
22019	//    be terminated during a scale-down event.
22020	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
22021}
22022
22023// String returns the string representation.
22024//
22025// API parameter values that are decorated as "sensitive" in the API will not
22026// be included in the string output. The member name will be present, but the
22027// value will be replaced with "sensitive".
22028func (s GameSessionDetail) String() string {
22029	return awsutil.Prettify(s)
22030}
22031
22032// GoString returns the string representation.
22033//
22034// API parameter values that are decorated as "sensitive" in the API will not
22035// be included in the string output. The member name will be present, but the
22036// value will be replaced with "sensitive".
22037func (s GameSessionDetail) GoString() string {
22038	return s.String()
22039}
22040
22041// SetGameSession sets the GameSession field's value.
22042func (s *GameSessionDetail) SetGameSession(v *GameSession) *GameSessionDetail {
22043	s.GameSession = v
22044	return s
22045}
22046
22047// SetProtectionPolicy sets the ProtectionPolicy field's value.
22048func (s *GameSessionDetail) SetProtectionPolicy(v string) *GameSessionDetail {
22049	s.ProtectionPolicy = &v
22050	return s
22051}
22052
22053// The game instance is currently full and cannot allow the requested player(s)
22054// to join. Clients can retry such requests immediately or after a waiting period.
22055type GameSessionFullException struct {
22056	_            struct{}                  `type:"structure"`
22057	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22058
22059	Message_ *string `locationName:"Message" min:"1" type:"string"`
22060}
22061
22062// String returns the string representation.
22063//
22064// API parameter values that are decorated as "sensitive" in the API will not
22065// be included in the string output. The member name will be present, but the
22066// value will be replaced with "sensitive".
22067func (s GameSessionFullException) String() string {
22068	return awsutil.Prettify(s)
22069}
22070
22071// GoString returns the string representation.
22072//
22073// API parameter values that are decorated as "sensitive" in the API will not
22074// be included in the string output. The member name will be present, but the
22075// value will be replaced with "sensitive".
22076func (s GameSessionFullException) GoString() string {
22077	return s.String()
22078}
22079
22080func newErrorGameSessionFullException(v protocol.ResponseMetadata) error {
22081	return &GameSessionFullException{
22082		RespMetadata: v,
22083	}
22084}
22085
22086// Code returns the exception type name.
22087func (s *GameSessionFullException) Code() string {
22088	return "GameSessionFullException"
22089}
22090
22091// Message returns the exception's message.
22092func (s *GameSessionFullException) Message() string {
22093	if s.Message_ != nil {
22094		return *s.Message_
22095	}
22096	return ""
22097}
22098
22099// OrigErr always returns nil, satisfies awserr.Error interface.
22100func (s *GameSessionFullException) OrigErr() error {
22101	return nil
22102}
22103
22104func (s *GameSessionFullException) Error() string {
22105	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22106}
22107
22108// Status code returns the HTTP status code for the request's response error.
22109func (s *GameSessionFullException) StatusCode() int {
22110	return s.RespMetadata.StatusCode
22111}
22112
22113// RequestID returns the service's response RequestID for request.
22114func (s *GameSessionFullException) RequestID() string {
22115	return s.RespMetadata.RequestID
22116}
22117
22118// Object that describes a StartGameSessionPlacement request. This object includes
22119// the full details of the original request plus the current status and start/end
22120// time stamps.
22121//
22122// Game session placement-related operations include:
22123//
22124//    * StartGameSessionPlacement
22125//
22126//    * DescribeGameSessionPlacement
22127//
22128//    * StopGameSessionPlacement
22129type GameSessionPlacement struct {
22130	_ struct{} `type:"structure"`
22131
22132	// The DNS identifier assigned to the instance that is running the game session.
22133	// Values have the following format:
22134	//
22135	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
22136	//
22137	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
22138	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
22139	//
22140	// When connecting to a game session that is running on a TLS-enabled fleet,
22141	// you must use the DNS name, not the IP address.
22142	DnsName *string `type:"string"`
22143
22144	// Time stamp indicating when this request was completed, canceled, or timed
22145	// out.
22146	EndTime *time.Time `type:"timestamp"`
22147
22148	// A set of custom properties for a game session, formatted as key:value pairs.
22149	// These properties are passed to a game server process in the GameSession object
22150	// with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
22151	GameProperties []*GameProperty `type:"list"`
22152
22153	// Identifier for the game session created by this placement request. This value
22154	// is set once the new game session is placed (placement status is FULFILLED).
22155	// This identifier is unique across all Regions. You can use this value as a
22156	// GameSessionId value as needed.
22157	GameSessionArn *string `min:"1" type:"string"`
22158
22159	// A set of custom game session properties, formatted as a single string value.
22160	// This data is passed to a game server process in the GameSession object with
22161	// a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
22162	GameSessionData *string `min:"1" type:"string"`
22163
22164	// A unique identifier for the game session. This value is set once the new
22165	// game session is placed (placement status is FULFILLED).
22166	GameSessionId *string `min:"1" type:"string"`
22167
22168	// A descriptive label that is associated with a game session. Session names
22169	// do not need to be unique.
22170	GameSessionName *string `min:"1" type:"string"`
22171
22172	// A descriptive label that is associated with game session queue. Queue names
22173	// must be unique within each Region.
22174	GameSessionQueueName *string `min:"1" type:"string"`
22175
22176	// Name of the Region where the game session created by this placement request
22177	// is running. This value is set once the new game session is placed (placement
22178	// status is FULFILLED).
22179	GameSessionRegion *string `min:"1" type:"string"`
22180
22181	// The IP address of the game session. To connect to a GameLift game server,
22182	// an app needs both the IP address and port number. This value is set once
22183	// the new game session is placed (placement status is FULFILLED).
22184	IpAddress *string `min:"1" type:"string"`
22185
22186	// Information on the matchmaking process for this game. Data is in JSON syntax,
22187	// formatted as a string. It identifies the matchmaking configuration used to
22188	// create the match, and contains data on all players assigned to the match,
22189	// including player attributes and team assignments. For more details on matchmaker
22190	// data, see Match Data (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).
22191	MatchmakerData *string `min:"1" type:"string"`
22192
22193	// The maximum number of players that can be connected simultaneously to the
22194	// game session.
22195	MaximumPlayerSessionCount *int64 `type:"integer"`
22196
22197	// A collection of information on player sessions created in response to the
22198	// game session placement request. These player sessions are created only once
22199	// a new game session is successfully placed (placement status is FULFILLED).
22200	// This information includes the player ID (as provided in the placement request)
22201	// and the corresponding player session ID. Retrieve full player sessions by
22202	// calling DescribePlayerSessions with the player session ID.
22203	PlacedPlayerSessions []*PlacedPlayerSession `type:"list"`
22204
22205	// A unique identifier for a game session placement.
22206	PlacementId *string `min:"1" type:"string"`
22207
22208	// A set of values, expressed in milliseconds, that indicates the amount of
22209	// latency that a player experiences when connected to AWS Regions.
22210	PlayerLatencies []*PlayerLatency `type:"list"`
22211
22212	// The port number for the game session. To connect to a GameLift game server,
22213	// an app needs both the IP address and port number. This value is set once
22214	// the new game session is placed (placement status is FULFILLED).
22215	Port *int64 `min:"1" type:"integer"`
22216
22217	// Time stamp indicating when this request was placed in the queue. Format is
22218	// a number expressed in Unix time as milliseconds (for example "1469498468.057").
22219	StartTime *time.Time `type:"timestamp"`
22220
22221	// Current status of the game session placement request.
22222	//
22223	//    * PENDING -- The placement request is currently in the queue waiting to
22224	//    be processed.
22225	//
22226	//    * FULFILLED -- A new game session and player sessions (if requested) have
22227	//    been successfully created. Values for GameSessionArn and GameSessionRegion
22228	//    are available.
22229	//
22230	//    * CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
22231	//
22232	//    * TIMED_OUT -- A new game session was not successfully created before
22233	//    the time limit expired. You can resubmit the placement request as needed.
22234	//
22235	//    * FAILED -- GameLift is not able to complete the process of placing the
22236	//    game session. Common reasons are the game session terminated before the
22237	//    placement process was completed, or an unexpected internal error.
22238	Status *string `type:"string" enum:"GameSessionPlacementState"`
22239}
22240
22241// String returns the string representation.
22242//
22243// API parameter values that are decorated as "sensitive" in the API will not
22244// be included in the string output. The member name will be present, but the
22245// value will be replaced with "sensitive".
22246func (s GameSessionPlacement) String() string {
22247	return awsutil.Prettify(s)
22248}
22249
22250// GoString returns the string representation.
22251//
22252// API parameter values that are decorated as "sensitive" in the API will not
22253// be included in the string output. The member name will be present, but the
22254// value will be replaced with "sensitive".
22255func (s GameSessionPlacement) GoString() string {
22256	return s.String()
22257}
22258
22259// SetDnsName sets the DnsName field's value.
22260func (s *GameSessionPlacement) SetDnsName(v string) *GameSessionPlacement {
22261	s.DnsName = &v
22262	return s
22263}
22264
22265// SetEndTime sets the EndTime field's value.
22266func (s *GameSessionPlacement) SetEndTime(v time.Time) *GameSessionPlacement {
22267	s.EndTime = &v
22268	return s
22269}
22270
22271// SetGameProperties sets the GameProperties field's value.
22272func (s *GameSessionPlacement) SetGameProperties(v []*GameProperty) *GameSessionPlacement {
22273	s.GameProperties = v
22274	return s
22275}
22276
22277// SetGameSessionArn sets the GameSessionArn field's value.
22278func (s *GameSessionPlacement) SetGameSessionArn(v string) *GameSessionPlacement {
22279	s.GameSessionArn = &v
22280	return s
22281}
22282
22283// SetGameSessionData sets the GameSessionData field's value.
22284func (s *GameSessionPlacement) SetGameSessionData(v string) *GameSessionPlacement {
22285	s.GameSessionData = &v
22286	return s
22287}
22288
22289// SetGameSessionId sets the GameSessionId field's value.
22290func (s *GameSessionPlacement) SetGameSessionId(v string) *GameSessionPlacement {
22291	s.GameSessionId = &v
22292	return s
22293}
22294
22295// SetGameSessionName sets the GameSessionName field's value.
22296func (s *GameSessionPlacement) SetGameSessionName(v string) *GameSessionPlacement {
22297	s.GameSessionName = &v
22298	return s
22299}
22300
22301// SetGameSessionQueueName sets the GameSessionQueueName field's value.
22302func (s *GameSessionPlacement) SetGameSessionQueueName(v string) *GameSessionPlacement {
22303	s.GameSessionQueueName = &v
22304	return s
22305}
22306
22307// SetGameSessionRegion sets the GameSessionRegion field's value.
22308func (s *GameSessionPlacement) SetGameSessionRegion(v string) *GameSessionPlacement {
22309	s.GameSessionRegion = &v
22310	return s
22311}
22312
22313// SetIpAddress sets the IpAddress field's value.
22314func (s *GameSessionPlacement) SetIpAddress(v string) *GameSessionPlacement {
22315	s.IpAddress = &v
22316	return s
22317}
22318
22319// SetMatchmakerData sets the MatchmakerData field's value.
22320func (s *GameSessionPlacement) SetMatchmakerData(v string) *GameSessionPlacement {
22321	s.MatchmakerData = &v
22322	return s
22323}
22324
22325// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
22326func (s *GameSessionPlacement) SetMaximumPlayerSessionCount(v int64) *GameSessionPlacement {
22327	s.MaximumPlayerSessionCount = &v
22328	return s
22329}
22330
22331// SetPlacedPlayerSessions sets the PlacedPlayerSessions field's value.
22332func (s *GameSessionPlacement) SetPlacedPlayerSessions(v []*PlacedPlayerSession) *GameSessionPlacement {
22333	s.PlacedPlayerSessions = v
22334	return s
22335}
22336
22337// SetPlacementId sets the PlacementId field's value.
22338func (s *GameSessionPlacement) SetPlacementId(v string) *GameSessionPlacement {
22339	s.PlacementId = &v
22340	return s
22341}
22342
22343// SetPlayerLatencies sets the PlayerLatencies field's value.
22344func (s *GameSessionPlacement) SetPlayerLatencies(v []*PlayerLatency) *GameSessionPlacement {
22345	s.PlayerLatencies = v
22346	return s
22347}
22348
22349// SetPort sets the Port field's value.
22350func (s *GameSessionPlacement) SetPort(v int64) *GameSessionPlacement {
22351	s.Port = &v
22352	return s
22353}
22354
22355// SetStartTime sets the StartTime field's value.
22356func (s *GameSessionPlacement) SetStartTime(v time.Time) *GameSessionPlacement {
22357	s.StartTime = &v
22358	return s
22359}
22360
22361// SetStatus sets the Status field's value.
22362func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement {
22363	s.Status = &v
22364	return s
22365}
22366
22367// Configuration for a game session placement mechanism that processes requests
22368// for new game sessions. A queue can be used on its own or as part of a matchmaking
22369// solution.
22370//
22371// Related actions
22372//
22373// CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
22374type GameSessionQueue struct {
22375	_ struct{} `type:"structure"`
22376
22377	// Information that is added to all events that are related to this game session
22378	// queue.
22379	CustomEventData *string `type:"string"`
22380
22381	// A list of fleets and/or fleet aliases that can be used to fulfill game session
22382	// placement requests in the queue. Destinations are identified by either a
22383	// fleet ARN or a fleet alias ARN, and are listed in order of placement preference.
22384	Destinations []*GameSessionQueueDestination `type:"list"`
22385
22386	// A list of locations where a queue is allowed to place new game sessions.
22387	// Locations are specified in the form of AWS Region codes, such as us-west-2.
22388	// If this parameter is not set, game sessions can be placed in any queue location.
22389	FilterConfiguration *FilterConfiguration `type:"structure"`
22390
22391	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
22392	// that is assigned to a GameLift game session queue resource and uniquely identifies
22393	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
22394	// name>. In a GameLift game session queue ARN, the resource ID matches the
22395	// Name value.
22396	GameSessionQueueArn *string `min:"1" type:"string"`
22397
22398	// A descriptive label that is associated with game session queue. Queue names
22399	// must be unique within each Region.
22400	Name *string `min:"1" type:"string"`
22401
22402	// An SNS topic ARN that is set up to receive game session placement notifications.
22403	// See Setting up notifications for game session placement (https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html).
22404	NotificationTarget *string `type:"string"`
22405
22406	// A set of policies that act as a sliding cap on player latency. FleetIQ works
22407	// to deliver low latency for most players in a game session. These policies
22408	// ensure that no individual player can be placed into a game with unreasonably
22409	// high latency. Use multiple policies to gradually relax latency requirements
22410	// a step at a time. Multiple policies are applied based on their maximum allowed
22411	// latency, starting with the lowest value.
22412	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
22413
22414	// Custom settings to use when prioritizing destinations and locations for game
22415	// session placements. This configuration replaces the FleetIQ default prioritization
22416	// process. Priority types that are not explicitly named will be automatically
22417	// applied at the end of the prioritization process.
22418	PriorityConfiguration *PriorityConfiguration `type:"structure"`
22419
22420	// The maximum time, in seconds, that a new game session placement request remains
22421	// in the queue. When a request exceeds this time, the game session placement
22422	// changes to a TIMED_OUT status.
22423	TimeoutInSeconds *int64 `type:"integer"`
22424}
22425
22426// String returns the string representation.
22427//
22428// API parameter values that are decorated as "sensitive" in the API will not
22429// be included in the string output. The member name will be present, but the
22430// value will be replaced with "sensitive".
22431func (s GameSessionQueue) String() string {
22432	return awsutil.Prettify(s)
22433}
22434
22435// GoString returns the string representation.
22436//
22437// API parameter values that are decorated as "sensitive" in the API will not
22438// be included in the string output. The member name will be present, but the
22439// value will be replaced with "sensitive".
22440func (s GameSessionQueue) GoString() string {
22441	return s.String()
22442}
22443
22444// SetCustomEventData sets the CustomEventData field's value.
22445func (s *GameSessionQueue) SetCustomEventData(v string) *GameSessionQueue {
22446	s.CustomEventData = &v
22447	return s
22448}
22449
22450// SetDestinations sets the Destinations field's value.
22451func (s *GameSessionQueue) SetDestinations(v []*GameSessionQueueDestination) *GameSessionQueue {
22452	s.Destinations = v
22453	return s
22454}
22455
22456// SetFilterConfiguration sets the FilterConfiguration field's value.
22457func (s *GameSessionQueue) SetFilterConfiguration(v *FilterConfiguration) *GameSessionQueue {
22458	s.FilterConfiguration = v
22459	return s
22460}
22461
22462// SetGameSessionQueueArn sets the GameSessionQueueArn field's value.
22463func (s *GameSessionQueue) SetGameSessionQueueArn(v string) *GameSessionQueue {
22464	s.GameSessionQueueArn = &v
22465	return s
22466}
22467
22468// SetName sets the Name field's value.
22469func (s *GameSessionQueue) SetName(v string) *GameSessionQueue {
22470	s.Name = &v
22471	return s
22472}
22473
22474// SetNotificationTarget sets the NotificationTarget field's value.
22475func (s *GameSessionQueue) SetNotificationTarget(v string) *GameSessionQueue {
22476	s.NotificationTarget = &v
22477	return s
22478}
22479
22480// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
22481func (s *GameSessionQueue) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *GameSessionQueue {
22482	s.PlayerLatencyPolicies = v
22483	return s
22484}
22485
22486// SetPriorityConfiguration sets the PriorityConfiguration field's value.
22487func (s *GameSessionQueue) SetPriorityConfiguration(v *PriorityConfiguration) *GameSessionQueue {
22488	s.PriorityConfiguration = v
22489	return s
22490}
22491
22492// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
22493func (s *GameSessionQueue) SetTimeoutInSeconds(v int64) *GameSessionQueue {
22494	s.TimeoutInSeconds = &v
22495	return s
22496}
22497
22498// A fleet or alias designated in a game session queue. Queues fulfill requests
22499// for new game sessions by placing a new game session on any of the queue's
22500// destinations.
22501//
22502// Destinations are part of a GameSessionQueue.
22503type GameSessionQueueDestination struct {
22504	_ struct{} `type:"structure"`
22505
22506	// The Amazon Resource Name (ARN) that is assigned to fleet or fleet alias.
22507	// ARNs, which include a fleet ID or alias ID and a Region name, provide a unique
22508	// identifier across all Regions.
22509	DestinationArn *string `min:"1" type:"string"`
22510}
22511
22512// String returns the string representation.
22513//
22514// API parameter values that are decorated as "sensitive" in the API will not
22515// be included in the string output. The member name will be present, but the
22516// value will be replaced with "sensitive".
22517func (s GameSessionQueueDestination) String() string {
22518	return awsutil.Prettify(s)
22519}
22520
22521// GoString returns the string representation.
22522//
22523// API parameter values that are decorated as "sensitive" in the API will not
22524// be included in the string output. The member name will be present, but the
22525// value will be replaced with "sensitive".
22526func (s GameSessionQueueDestination) GoString() string {
22527	return s.String()
22528}
22529
22530// Validate inspects the fields of the type to determine if they are valid.
22531func (s *GameSessionQueueDestination) Validate() error {
22532	invalidParams := request.ErrInvalidParams{Context: "GameSessionQueueDestination"}
22533	if s.DestinationArn != nil && len(*s.DestinationArn) < 1 {
22534		invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1))
22535	}
22536
22537	if invalidParams.Len() > 0 {
22538		return invalidParams
22539	}
22540	return nil
22541}
22542
22543// SetDestinationArn sets the DestinationArn field's value.
22544func (s *GameSessionQueueDestination) SetDestinationArn(v string) *GameSessionQueueDestination {
22545	s.DestinationArn = &v
22546	return s
22547}
22548
22549// Represents the input for a request operation.
22550type GetGameSessionLogUrlInput struct {
22551	_ struct{} `type:"structure"`
22552
22553	// A unique identifier for the game session to get logs for.
22554	//
22555	// GameSessionId is a required field
22556	GameSessionId *string `min:"1" type:"string" required:"true"`
22557}
22558
22559// String returns the string representation.
22560//
22561// API parameter values that are decorated as "sensitive" in the API will not
22562// be included in the string output. The member name will be present, but the
22563// value will be replaced with "sensitive".
22564func (s GetGameSessionLogUrlInput) String() string {
22565	return awsutil.Prettify(s)
22566}
22567
22568// GoString returns the string representation.
22569//
22570// API parameter values that are decorated as "sensitive" in the API will not
22571// be included in the string output. The member name will be present, but the
22572// value will be replaced with "sensitive".
22573func (s GetGameSessionLogUrlInput) GoString() string {
22574	return s.String()
22575}
22576
22577// Validate inspects the fields of the type to determine if they are valid.
22578func (s *GetGameSessionLogUrlInput) Validate() error {
22579	invalidParams := request.ErrInvalidParams{Context: "GetGameSessionLogUrlInput"}
22580	if s.GameSessionId == nil {
22581		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
22582	}
22583	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
22584		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
22585	}
22586
22587	if invalidParams.Len() > 0 {
22588		return invalidParams
22589	}
22590	return nil
22591}
22592
22593// SetGameSessionId sets the GameSessionId field's value.
22594func (s *GetGameSessionLogUrlInput) SetGameSessionId(v string) *GetGameSessionLogUrlInput {
22595	s.GameSessionId = &v
22596	return s
22597}
22598
22599// Represents the returned data in response to a request operation.
22600type GetGameSessionLogUrlOutput struct {
22601	_ struct{} `type:"structure"`
22602
22603	// Location of the requested game session logs, available for download. This
22604	// URL is valid for 15 minutes, after which S3 will reject any download request
22605	// using this URL. You can request a new URL any time within the 14-day period
22606	// that the logs are retained.
22607	PreSignedUrl *string `min:"1" type:"string"`
22608}
22609
22610// String returns the string representation.
22611//
22612// API parameter values that are decorated as "sensitive" in the API will not
22613// be included in the string output. The member name will be present, but the
22614// value will be replaced with "sensitive".
22615func (s GetGameSessionLogUrlOutput) String() string {
22616	return awsutil.Prettify(s)
22617}
22618
22619// GoString returns the string representation.
22620//
22621// API parameter values that are decorated as "sensitive" in the API will not
22622// be included in the string output. The member name will be present, but the
22623// value will be replaced with "sensitive".
22624func (s GetGameSessionLogUrlOutput) GoString() string {
22625	return s.String()
22626}
22627
22628// SetPreSignedUrl sets the PreSignedUrl field's value.
22629func (s *GetGameSessionLogUrlOutput) SetPreSignedUrl(v string) *GetGameSessionLogUrlOutput {
22630	s.PreSignedUrl = &v
22631	return s
22632}
22633
22634// Represents the input for a request operation.
22635type GetInstanceAccessInput struct {
22636	_ struct{} `type:"structure"`
22637
22638	// A unique identifier for the fleet that contains the instance you want access
22639	// to. You can use either the fleet ID or ARN value. The fleet can be in any
22640	// of the following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR
22641	// status may be accessible for a short time before they are deleted.
22642	//
22643	// FleetId is a required field
22644	FleetId *string `type:"string" required:"true"`
22645
22646	// A unique identifier for the instance you want to get access to. You can access
22647	// an instance in any status.
22648	//
22649	// InstanceId is a required field
22650	InstanceId *string `type:"string" required:"true"`
22651}
22652
22653// String returns the string representation.
22654//
22655// API parameter values that are decorated as "sensitive" in the API will not
22656// be included in the string output. The member name will be present, but the
22657// value will be replaced with "sensitive".
22658func (s GetInstanceAccessInput) String() string {
22659	return awsutil.Prettify(s)
22660}
22661
22662// GoString returns the string representation.
22663//
22664// API parameter values that are decorated as "sensitive" in the API will not
22665// be included in the string output. The member name will be present, but the
22666// value will be replaced with "sensitive".
22667func (s GetInstanceAccessInput) GoString() string {
22668	return s.String()
22669}
22670
22671// Validate inspects the fields of the type to determine if they are valid.
22672func (s *GetInstanceAccessInput) Validate() error {
22673	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessInput"}
22674	if s.FleetId == nil {
22675		invalidParams.Add(request.NewErrParamRequired("FleetId"))
22676	}
22677	if s.InstanceId == nil {
22678		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
22679	}
22680
22681	if invalidParams.Len() > 0 {
22682		return invalidParams
22683	}
22684	return nil
22685}
22686
22687// SetFleetId sets the FleetId field's value.
22688func (s *GetInstanceAccessInput) SetFleetId(v string) *GetInstanceAccessInput {
22689	s.FleetId = &v
22690	return s
22691}
22692
22693// SetInstanceId sets the InstanceId field's value.
22694func (s *GetInstanceAccessInput) SetInstanceId(v string) *GetInstanceAccessInput {
22695	s.InstanceId = &v
22696	return s
22697}
22698
22699// Represents the returned data in response to a request operation.
22700type GetInstanceAccessOutput struct {
22701	_ struct{} `type:"structure"`
22702
22703	// The connection information for a fleet instance, including IP address and
22704	// access credentials.
22705	InstanceAccess *InstanceAccess `type:"structure"`
22706}
22707
22708// String returns the string representation.
22709//
22710// API parameter values that are decorated as "sensitive" in the API will not
22711// be included in the string output. The member name will be present, but the
22712// value will be replaced with "sensitive".
22713func (s GetInstanceAccessOutput) String() string {
22714	return awsutil.Prettify(s)
22715}
22716
22717// GoString returns the string representation.
22718//
22719// API parameter values that are decorated as "sensitive" in the API will not
22720// be included in the string output. The member name will be present, but the
22721// value will be replaced with "sensitive".
22722func (s GetInstanceAccessOutput) GoString() string {
22723	return s.String()
22724}
22725
22726// SetInstanceAccess sets the InstanceAccess field's value.
22727func (s *GetInstanceAccessOutput) SetInstanceAccess(v *InstanceAccess) *GetInstanceAccessOutput {
22728	s.InstanceAccess = v
22729	return s
22730}
22731
22732// A game session with this custom ID string already exists in this fleet. Resolve
22733// this conflict before retrying this request.
22734type IdempotentParameterMismatchException struct {
22735	_            struct{}                  `type:"structure"`
22736	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
22737
22738	Message_ *string `locationName:"Message" min:"1" type:"string"`
22739}
22740
22741// String returns the string representation.
22742//
22743// API parameter values that are decorated as "sensitive" in the API will not
22744// be included in the string output. The member name will be present, but the
22745// value will be replaced with "sensitive".
22746func (s IdempotentParameterMismatchException) String() string {
22747	return awsutil.Prettify(s)
22748}
22749
22750// GoString returns the string representation.
22751//
22752// API parameter values that are decorated as "sensitive" in the API will not
22753// be included in the string output. The member name will be present, but the
22754// value will be replaced with "sensitive".
22755func (s IdempotentParameterMismatchException) GoString() string {
22756	return s.String()
22757}
22758
22759func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error {
22760	return &IdempotentParameterMismatchException{
22761		RespMetadata: v,
22762	}
22763}
22764
22765// Code returns the exception type name.
22766func (s *IdempotentParameterMismatchException) Code() string {
22767	return "IdempotentParameterMismatchException"
22768}
22769
22770// Message returns the exception's message.
22771func (s *IdempotentParameterMismatchException) Message() string {
22772	if s.Message_ != nil {
22773		return *s.Message_
22774	}
22775	return ""
22776}
22777
22778// OrigErr always returns nil, satisfies awserr.Error interface.
22779func (s *IdempotentParameterMismatchException) OrigErr() error {
22780	return nil
22781}
22782
22783func (s *IdempotentParameterMismatchException) Error() string {
22784	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
22785}
22786
22787// Status code returns the HTTP status code for the request's response error.
22788func (s *IdempotentParameterMismatchException) StatusCode() int {
22789	return s.RespMetadata.StatusCode
22790}
22791
22792// RequestID returns the service's response RequestID for request.
22793func (s *IdempotentParameterMismatchException) RequestID() string {
22794	return s.RespMetadata.RequestID
22795}
22796
22797// Represents an EC2 instance of virtual computing resources that hosts one
22798// or more game servers. In GameLift, a fleet can contain zero or more instances.
22799//
22800// Related actions
22801//
22802// DescribeInstances
22803type Instance struct {
22804	_ struct{} `type:"structure"`
22805
22806	// A time stamp indicating when this data object was created. Format is a number
22807	// expressed in Unix time as milliseconds (for example "1469498468.057").
22808	CreationTime *time.Time `type:"timestamp"`
22809
22810	// The DNS identifier assigned to the instance that is running the game session.
22811	// Values have the following format:
22812	//
22813	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
22814	//
22815	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
22816	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
22817	//
22818	// When connecting to a game session that is running on a TLS-enabled fleet,
22819	// you must use the DNS name, not the IP address.
22820	DnsName *string `type:"string"`
22821
22822	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
22823	// that is assigned to a GameLift fleet resource and uniquely identifies it.
22824	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
22825	FleetArn *string `type:"string"`
22826
22827	// A unique identifier for the fleet that the instance is in.
22828	FleetId *string `type:"string"`
22829
22830	// A unique identifier for the instance.
22831	InstanceId *string `type:"string"`
22832
22833	// IP address that is assigned to the instance.
22834	IpAddress *string `min:"1" type:"string"`
22835
22836	// The fleet location of the instance, expressed as an AWS Region code, such
22837	// as us-west-2.
22838	Location *string `min:"1" type:"string"`
22839
22840	// Operating system that is running on this instance.
22841	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
22842
22843	// Current status of the instance. Possible statuses include the following:
22844	//
22845	//    * PENDING -- The instance is in the process of being created and launching
22846	//    server processes as defined in the fleet's run-time configuration.
22847	//
22848	//    * ACTIVE -- The instance has been successfully created and at least one
22849	//    server process has successfully launched and reported back to GameLift
22850	//    that it is ready to host a game session. The instance is now considered
22851	//    ready to host game sessions.
22852	//
22853	//    * TERMINATING -- The instance is in the process of shutting down. This
22854	//    may happen to reduce capacity during a scaling down event or to recycle
22855	//    resources in the event of a problem.
22856	Status *string `type:"string" enum:"InstanceStatus"`
22857
22858	// EC2 instance type that defines the computing resources of this instance.
22859	Type *string `type:"string" enum:"EC2InstanceType"`
22860}
22861
22862// String returns the string representation.
22863//
22864// API parameter values that are decorated as "sensitive" in the API will not
22865// be included in the string output. The member name will be present, but the
22866// value will be replaced with "sensitive".
22867func (s Instance) String() string {
22868	return awsutil.Prettify(s)
22869}
22870
22871// GoString returns the string representation.
22872//
22873// API parameter values that are decorated as "sensitive" in the API will not
22874// be included in the string output. The member name will be present, but the
22875// value will be replaced with "sensitive".
22876func (s Instance) GoString() string {
22877	return s.String()
22878}
22879
22880// SetCreationTime sets the CreationTime field's value.
22881func (s *Instance) SetCreationTime(v time.Time) *Instance {
22882	s.CreationTime = &v
22883	return s
22884}
22885
22886// SetDnsName sets the DnsName field's value.
22887func (s *Instance) SetDnsName(v string) *Instance {
22888	s.DnsName = &v
22889	return s
22890}
22891
22892// SetFleetArn sets the FleetArn field's value.
22893func (s *Instance) SetFleetArn(v string) *Instance {
22894	s.FleetArn = &v
22895	return s
22896}
22897
22898// SetFleetId sets the FleetId field's value.
22899func (s *Instance) SetFleetId(v string) *Instance {
22900	s.FleetId = &v
22901	return s
22902}
22903
22904// SetInstanceId sets the InstanceId field's value.
22905func (s *Instance) SetInstanceId(v string) *Instance {
22906	s.InstanceId = &v
22907	return s
22908}
22909
22910// SetIpAddress sets the IpAddress field's value.
22911func (s *Instance) SetIpAddress(v string) *Instance {
22912	s.IpAddress = &v
22913	return s
22914}
22915
22916// SetLocation sets the Location field's value.
22917func (s *Instance) SetLocation(v string) *Instance {
22918	s.Location = &v
22919	return s
22920}
22921
22922// SetOperatingSystem sets the OperatingSystem field's value.
22923func (s *Instance) SetOperatingSystem(v string) *Instance {
22924	s.OperatingSystem = &v
22925	return s
22926}
22927
22928// SetStatus sets the Status field's value.
22929func (s *Instance) SetStatus(v string) *Instance {
22930	s.Status = &v
22931	return s
22932}
22933
22934// SetType sets the Type field's value.
22935func (s *Instance) SetType(v string) *Instance {
22936	s.Type = &v
22937	return s
22938}
22939
22940// Information required to remotely connect to a fleet instance. Access is requested
22941// by calling GetInstanceAccess.
22942type InstanceAccess struct {
22943	_ struct{} `type:"structure"`
22944
22945	// Credentials required to access the instance.
22946	//
22947	// Credentials is a sensitive parameter and its value will be
22948	// replaced with "sensitive" in string returned by InstanceAccess's
22949	// String and GoString methods.
22950	Credentials *InstanceCredentials `type:"structure" sensitive:"true"`
22951
22952	// A unique identifier for the fleet containing the instance being accessed.
22953	FleetId *string `type:"string"`
22954
22955	// A unique identifier for the instance being accessed.
22956	InstanceId *string `type:"string"`
22957
22958	// IP address that is assigned to the instance.
22959	IpAddress *string `min:"1" type:"string"`
22960
22961	// Operating system that is running on the instance.
22962	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
22963}
22964
22965// String returns the string representation.
22966//
22967// API parameter values that are decorated as "sensitive" in the API will not
22968// be included in the string output. The member name will be present, but the
22969// value will be replaced with "sensitive".
22970func (s InstanceAccess) String() string {
22971	return awsutil.Prettify(s)
22972}
22973
22974// GoString returns the string representation.
22975//
22976// API parameter values that are decorated as "sensitive" in the API will not
22977// be included in the string output. The member name will be present, but the
22978// value will be replaced with "sensitive".
22979func (s InstanceAccess) GoString() string {
22980	return s.String()
22981}
22982
22983// SetCredentials sets the Credentials field's value.
22984func (s *InstanceAccess) SetCredentials(v *InstanceCredentials) *InstanceAccess {
22985	s.Credentials = v
22986	return s
22987}
22988
22989// SetFleetId sets the FleetId field's value.
22990func (s *InstanceAccess) SetFleetId(v string) *InstanceAccess {
22991	s.FleetId = &v
22992	return s
22993}
22994
22995// SetInstanceId sets the InstanceId field's value.
22996func (s *InstanceAccess) SetInstanceId(v string) *InstanceAccess {
22997	s.InstanceId = &v
22998	return s
22999}
23000
23001// SetIpAddress sets the IpAddress field's value.
23002func (s *InstanceAccess) SetIpAddress(v string) *InstanceAccess {
23003	s.IpAddress = &v
23004	return s
23005}
23006
23007// SetOperatingSystem sets the OperatingSystem field's value.
23008func (s *InstanceAccess) SetOperatingSystem(v string) *InstanceAccess {
23009	s.OperatingSystem = &v
23010	return s
23011}
23012
23013// Set of credentials required to remotely access a fleet instance. Access credentials
23014// are requested by calling GetInstanceAccess and returned in an InstanceAccess
23015// object.
23016type InstanceCredentials struct {
23017	_ struct{} `type:"structure" sensitive:"true"`
23018
23019	// Secret string. For Windows instances, the secret is a password for use with
23020	// Windows Remote Desktop. For Linux instances, it is a private key (which must
23021	// be saved as a .pem file) for use with SSH.
23022	Secret *string `min:"1" type:"string"`
23023
23024	// User login string.
23025	UserName *string `min:"1" type:"string"`
23026}
23027
23028// String returns the string representation.
23029//
23030// API parameter values that are decorated as "sensitive" in the API will not
23031// be included in the string output. The member name will be present, but the
23032// value will be replaced with "sensitive".
23033func (s InstanceCredentials) String() string {
23034	return awsutil.Prettify(s)
23035}
23036
23037// GoString returns the string representation.
23038//
23039// API parameter values that are decorated as "sensitive" in the API will not
23040// be included in the string output. The member name will be present, but the
23041// value will be replaced with "sensitive".
23042func (s InstanceCredentials) GoString() string {
23043	return s.String()
23044}
23045
23046// SetSecret sets the Secret field's value.
23047func (s *InstanceCredentials) SetSecret(v string) *InstanceCredentials {
23048	s.Secret = &v
23049	return s
23050}
23051
23052// SetUserName sets the UserName field's value.
23053func (s *InstanceCredentials) SetUserName(v string) *InstanceCredentials {
23054	s.UserName = &v
23055	return s
23056}
23057
23058// This data type is used with the GameLift FleetIQ and game server groups.
23059//
23060// An allowed instance type for a GameServerGroup. All game server groups must
23061// have at least two instance types defined for it. GameLift FleetIQ periodically
23062// evaluates each defined instance type for viability. It then updates the Auto
23063// Scaling group with the list of viable instance types.
23064type InstanceDefinition struct {
23065	_ struct{} `type:"structure"`
23066
23067	// An EC2 instance type designation.
23068	//
23069	// InstanceType is a required field
23070	InstanceType *string `type:"string" required:"true" enum:"GameServerGroupInstanceType"`
23071
23072	// Instance weighting that indicates how much this instance type contributes
23073	// to the total capacity of a game server group. Instance weights are used by
23074	// GameLift FleetIQ to calculate the instance type's cost per unit hour and
23075	// better identify the most cost-effective options. For detailed information
23076	// on weighting instance capacity, see Instance Weighting (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
23077	// in the Amazon EC2 Auto Scaling User Guide. Default value is "1".
23078	WeightedCapacity *string `min:"1" type:"string"`
23079}
23080
23081// String returns the string representation.
23082//
23083// API parameter values that are decorated as "sensitive" in the API will not
23084// be included in the string output. The member name will be present, but the
23085// value will be replaced with "sensitive".
23086func (s InstanceDefinition) String() string {
23087	return awsutil.Prettify(s)
23088}
23089
23090// GoString returns the string representation.
23091//
23092// API parameter values that are decorated as "sensitive" in the API will not
23093// be included in the string output. The member name will be present, but the
23094// value will be replaced with "sensitive".
23095func (s InstanceDefinition) GoString() string {
23096	return s.String()
23097}
23098
23099// Validate inspects the fields of the type to determine if they are valid.
23100func (s *InstanceDefinition) Validate() error {
23101	invalidParams := request.ErrInvalidParams{Context: "InstanceDefinition"}
23102	if s.InstanceType == nil {
23103		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
23104	}
23105	if s.WeightedCapacity != nil && len(*s.WeightedCapacity) < 1 {
23106		invalidParams.Add(request.NewErrParamMinLen("WeightedCapacity", 1))
23107	}
23108
23109	if invalidParams.Len() > 0 {
23110		return invalidParams
23111	}
23112	return nil
23113}
23114
23115// SetInstanceType sets the InstanceType field's value.
23116func (s *InstanceDefinition) SetInstanceType(v string) *InstanceDefinition {
23117	s.InstanceType = &v
23118	return s
23119}
23120
23121// SetWeightedCapacity sets the WeightedCapacity field's value.
23122func (s *InstanceDefinition) SetWeightedCapacity(v string) *InstanceDefinition {
23123	s.WeightedCapacity = &v
23124	return s
23125}
23126
23127// The service encountered an unrecoverable internal failure while processing
23128// the request. Clients can retry such requests immediately or after a waiting
23129// period.
23130type InternalServiceException struct {
23131	_            struct{}                  `type:"structure"`
23132	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23133
23134	Message_ *string `locationName:"Message" min:"1" type:"string"`
23135}
23136
23137// String returns the string representation.
23138//
23139// API parameter values that are decorated as "sensitive" in the API will not
23140// be included in the string output. The member name will be present, but the
23141// value will be replaced with "sensitive".
23142func (s InternalServiceException) String() string {
23143	return awsutil.Prettify(s)
23144}
23145
23146// GoString returns the string representation.
23147//
23148// API parameter values that are decorated as "sensitive" in the API will not
23149// be included in the string output. The member name will be present, but the
23150// value will be replaced with "sensitive".
23151func (s InternalServiceException) GoString() string {
23152	return s.String()
23153}
23154
23155func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
23156	return &InternalServiceException{
23157		RespMetadata: v,
23158	}
23159}
23160
23161// Code returns the exception type name.
23162func (s *InternalServiceException) Code() string {
23163	return "InternalServiceException"
23164}
23165
23166// Message returns the exception's message.
23167func (s *InternalServiceException) Message() string {
23168	if s.Message_ != nil {
23169		return *s.Message_
23170	}
23171	return ""
23172}
23173
23174// OrigErr always returns nil, satisfies awserr.Error interface.
23175func (s *InternalServiceException) OrigErr() error {
23176	return nil
23177}
23178
23179func (s *InternalServiceException) Error() string {
23180	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23181}
23182
23183// Status code returns the HTTP status code for the request's response error.
23184func (s *InternalServiceException) StatusCode() int {
23185	return s.RespMetadata.StatusCode
23186}
23187
23188// RequestID returns the service's response RequestID for request.
23189func (s *InternalServiceException) RequestID() string {
23190	return s.RespMetadata.RequestID
23191}
23192
23193// The requested operation would cause a conflict with the current state of
23194// a resource associated with the request and/or the fleet. Resolve the conflict
23195// before retrying.
23196type InvalidFleetStatusException struct {
23197	_            struct{}                  `type:"structure"`
23198	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23199
23200	Message_ *string `locationName:"Message" min:"1" type:"string"`
23201}
23202
23203// String returns the string representation.
23204//
23205// API parameter values that are decorated as "sensitive" in the API will not
23206// be included in the string output. The member name will be present, but the
23207// value will be replaced with "sensitive".
23208func (s InvalidFleetStatusException) String() string {
23209	return awsutil.Prettify(s)
23210}
23211
23212// GoString returns the string representation.
23213//
23214// API parameter values that are decorated as "sensitive" in the API will not
23215// be included in the string output. The member name will be present, but the
23216// value will be replaced with "sensitive".
23217func (s InvalidFleetStatusException) GoString() string {
23218	return s.String()
23219}
23220
23221func newErrorInvalidFleetStatusException(v protocol.ResponseMetadata) error {
23222	return &InvalidFleetStatusException{
23223		RespMetadata: v,
23224	}
23225}
23226
23227// Code returns the exception type name.
23228func (s *InvalidFleetStatusException) Code() string {
23229	return "InvalidFleetStatusException"
23230}
23231
23232// Message returns the exception's message.
23233func (s *InvalidFleetStatusException) Message() string {
23234	if s.Message_ != nil {
23235		return *s.Message_
23236	}
23237	return ""
23238}
23239
23240// OrigErr always returns nil, satisfies awserr.Error interface.
23241func (s *InvalidFleetStatusException) OrigErr() error {
23242	return nil
23243}
23244
23245func (s *InvalidFleetStatusException) Error() string {
23246	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23247}
23248
23249// Status code returns the HTTP status code for the request's response error.
23250func (s *InvalidFleetStatusException) StatusCode() int {
23251	return s.RespMetadata.StatusCode
23252}
23253
23254// RequestID returns the service's response RequestID for request.
23255func (s *InvalidFleetStatusException) RequestID() string {
23256	return s.RespMetadata.RequestID
23257}
23258
23259// The requested operation would cause a conflict with the current state of
23260// a resource associated with the request and/or the game instance. Resolve
23261// the conflict before retrying.
23262type InvalidGameSessionStatusException struct {
23263	_            struct{}                  `type:"structure"`
23264	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23265
23266	Message_ *string `locationName:"Message" min:"1" type:"string"`
23267}
23268
23269// String returns the string representation.
23270//
23271// API parameter values that are decorated as "sensitive" in the API will not
23272// be included in the string output. The member name will be present, but the
23273// value will be replaced with "sensitive".
23274func (s InvalidGameSessionStatusException) String() string {
23275	return awsutil.Prettify(s)
23276}
23277
23278// GoString returns the string representation.
23279//
23280// API parameter values that are decorated as "sensitive" in the API will not
23281// be included in the string output. The member name will be present, but the
23282// value will be replaced with "sensitive".
23283func (s InvalidGameSessionStatusException) GoString() string {
23284	return s.String()
23285}
23286
23287func newErrorInvalidGameSessionStatusException(v protocol.ResponseMetadata) error {
23288	return &InvalidGameSessionStatusException{
23289		RespMetadata: v,
23290	}
23291}
23292
23293// Code returns the exception type name.
23294func (s *InvalidGameSessionStatusException) Code() string {
23295	return "InvalidGameSessionStatusException"
23296}
23297
23298// Message returns the exception's message.
23299func (s *InvalidGameSessionStatusException) Message() string {
23300	if s.Message_ != nil {
23301		return *s.Message_
23302	}
23303	return ""
23304}
23305
23306// OrigErr always returns nil, satisfies awserr.Error interface.
23307func (s *InvalidGameSessionStatusException) OrigErr() error {
23308	return nil
23309}
23310
23311func (s *InvalidGameSessionStatusException) Error() string {
23312	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23313}
23314
23315// Status code returns the HTTP status code for the request's response error.
23316func (s *InvalidGameSessionStatusException) StatusCode() int {
23317	return s.RespMetadata.StatusCode
23318}
23319
23320// RequestID returns the service's response RequestID for request.
23321func (s *InvalidGameSessionStatusException) RequestID() string {
23322	return s.RespMetadata.RequestID
23323}
23324
23325// One or more parameter values in the request are invalid. Correct the invalid
23326// parameter values before retrying.
23327type InvalidRequestException struct {
23328	_            struct{}                  `type:"structure"`
23329	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23330
23331	Message_ *string `locationName:"Message" min:"1" type:"string"`
23332}
23333
23334// String returns the string representation.
23335//
23336// API parameter values that are decorated as "sensitive" in the API will not
23337// be included in the string output. The member name will be present, but the
23338// value will be replaced with "sensitive".
23339func (s InvalidRequestException) String() string {
23340	return awsutil.Prettify(s)
23341}
23342
23343// GoString returns the string representation.
23344//
23345// API parameter values that are decorated as "sensitive" in the API will not
23346// be included in the string output. The member name will be present, but the
23347// value will be replaced with "sensitive".
23348func (s InvalidRequestException) GoString() string {
23349	return s.String()
23350}
23351
23352func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
23353	return &InvalidRequestException{
23354		RespMetadata: v,
23355	}
23356}
23357
23358// Code returns the exception type name.
23359func (s *InvalidRequestException) Code() string {
23360	return "InvalidRequestException"
23361}
23362
23363// Message returns the exception's message.
23364func (s *InvalidRequestException) Message() string {
23365	if s.Message_ != nil {
23366		return *s.Message_
23367	}
23368	return ""
23369}
23370
23371// OrigErr always returns nil, satisfies awserr.Error interface.
23372func (s *InvalidRequestException) OrigErr() error {
23373	return nil
23374}
23375
23376func (s *InvalidRequestException) Error() string {
23377	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23378}
23379
23380// Status code returns the HTTP status code for the request's response error.
23381func (s *InvalidRequestException) StatusCode() int {
23382	return s.RespMetadata.StatusCode
23383}
23384
23385// RequestID returns the service's response RequestID for request.
23386func (s *InvalidRequestException) RequestID() string {
23387	return s.RespMetadata.RequestID
23388}
23389
23390// A range of IP addresses and port settings that allow inbound traffic to connect
23391// to server processes on an instance in a fleet. New game sessions are assigned
23392// an IP address/port number combination, which must fall into the fleet's allowed
23393// ranges. Fleets with custom game builds must have permissions explicitly set.
23394// For Realtime Servers fleets, GameLift automatically opens two port ranges,
23395// one for TCP messaging and one for UDP.
23396//
23397// Related actions
23398//
23399// DescribeFleetPortSettings
23400type IpPermission struct {
23401	_ struct{} `type:"structure"`
23402
23403	// A starting value for a range of allowed port numbers.
23404	//
23405	// FromPort is a required field
23406	FromPort *int64 `min:"1" type:"integer" required:"true"`
23407
23408	// A range of allowed IP addresses. This value must be expressed in CIDR notation.
23409	// Example: "000.000.000.000/[subnet mask]" or optionally the shortened version
23410	// "0.0.0.0/[subnet mask]".
23411	//
23412	// IpRange is a required field
23413	IpRange *string `type:"string" required:"true"`
23414
23415	// The network communication protocol used by the fleet.
23416	//
23417	// Protocol is a required field
23418	Protocol *string `type:"string" required:"true" enum:"IpProtocol"`
23419
23420	// An ending value for a range of allowed port numbers. Port numbers are end-inclusive.
23421	// This value must be higher than FromPort.
23422	//
23423	// ToPort is a required field
23424	ToPort *int64 `min:"1" type:"integer" required:"true"`
23425}
23426
23427// String returns the string representation.
23428//
23429// API parameter values that are decorated as "sensitive" in the API will not
23430// be included in the string output. The member name will be present, but the
23431// value will be replaced with "sensitive".
23432func (s IpPermission) String() string {
23433	return awsutil.Prettify(s)
23434}
23435
23436// GoString returns the string representation.
23437//
23438// API parameter values that are decorated as "sensitive" in the API will not
23439// be included in the string output. The member name will be present, but the
23440// value will be replaced with "sensitive".
23441func (s IpPermission) GoString() string {
23442	return s.String()
23443}
23444
23445// Validate inspects the fields of the type to determine if they are valid.
23446func (s *IpPermission) Validate() error {
23447	invalidParams := request.ErrInvalidParams{Context: "IpPermission"}
23448	if s.FromPort == nil {
23449		invalidParams.Add(request.NewErrParamRequired("FromPort"))
23450	}
23451	if s.FromPort != nil && *s.FromPort < 1 {
23452		invalidParams.Add(request.NewErrParamMinValue("FromPort", 1))
23453	}
23454	if s.IpRange == nil {
23455		invalidParams.Add(request.NewErrParamRequired("IpRange"))
23456	}
23457	if s.Protocol == nil {
23458		invalidParams.Add(request.NewErrParamRequired("Protocol"))
23459	}
23460	if s.ToPort == nil {
23461		invalidParams.Add(request.NewErrParamRequired("ToPort"))
23462	}
23463	if s.ToPort != nil && *s.ToPort < 1 {
23464		invalidParams.Add(request.NewErrParamMinValue("ToPort", 1))
23465	}
23466
23467	if invalidParams.Len() > 0 {
23468		return invalidParams
23469	}
23470	return nil
23471}
23472
23473// SetFromPort sets the FromPort field's value.
23474func (s *IpPermission) SetFromPort(v int64) *IpPermission {
23475	s.FromPort = &v
23476	return s
23477}
23478
23479// SetIpRange sets the IpRange field's value.
23480func (s *IpPermission) SetIpRange(v string) *IpPermission {
23481	s.IpRange = &v
23482	return s
23483}
23484
23485// SetProtocol sets the Protocol field's value.
23486func (s *IpPermission) SetProtocol(v string) *IpPermission {
23487	s.Protocol = &v
23488	return s
23489}
23490
23491// SetToPort sets the ToPort field's value.
23492func (s *IpPermission) SetToPort(v int64) *IpPermission {
23493	s.ToPort = &v
23494	return s
23495}
23496
23497// This data type is used with the GameLift FleetIQ and game server groups.
23498//
23499// An EC2 launch template that contains configuration settings and game server
23500// code to be deployed to all instances in a game server group. The launch template
23501// is specified when creating a new game server group with CreateGameServerGroup.
23502type LaunchTemplateSpecification struct {
23503	_ struct{} `type:"structure"`
23504
23505	// A unique identifier for an existing EC2 launch template.
23506	LaunchTemplateId *string `min:"1" type:"string"`
23507
23508	// A readable identifier for an existing EC2 launch template.
23509	LaunchTemplateName *string `min:"3" type:"string"`
23510
23511	// The version of the EC2 launch template to use. If no version is specified,
23512	// the default version will be used. With Amazon EC2, you can specify a default
23513	// version for a launch template. If none is set, the default is the first version
23514	// created.
23515	Version *string `min:"1" type:"string"`
23516}
23517
23518// String returns the string representation.
23519//
23520// API parameter values that are decorated as "sensitive" in the API will not
23521// be included in the string output. The member name will be present, but the
23522// value will be replaced with "sensitive".
23523func (s LaunchTemplateSpecification) String() string {
23524	return awsutil.Prettify(s)
23525}
23526
23527// GoString returns the string representation.
23528//
23529// API parameter values that are decorated as "sensitive" in the API will not
23530// be included in the string output. The member name will be present, but the
23531// value will be replaced with "sensitive".
23532func (s LaunchTemplateSpecification) GoString() string {
23533	return s.String()
23534}
23535
23536// Validate inspects the fields of the type to determine if they are valid.
23537func (s *LaunchTemplateSpecification) Validate() error {
23538	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateSpecification"}
23539	if s.LaunchTemplateId != nil && len(*s.LaunchTemplateId) < 1 {
23540		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateId", 1))
23541	}
23542	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
23543		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
23544	}
23545	if s.Version != nil && len(*s.Version) < 1 {
23546		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
23547	}
23548
23549	if invalidParams.Len() > 0 {
23550		return invalidParams
23551	}
23552	return nil
23553}
23554
23555// SetLaunchTemplateId sets the LaunchTemplateId field's value.
23556func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
23557	s.LaunchTemplateId = &v
23558	return s
23559}
23560
23561// SetLaunchTemplateName sets the LaunchTemplateName field's value.
23562func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
23563	s.LaunchTemplateName = &v
23564	return s
23565}
23566
23567// SetVersion sets the Version field's value.
23568func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
23569	s.Version = &v
23570	return s
23571}
23572
23573// The requested operation would cause the resource to exceed the allowed service
23574// limit. Resolve the issue before retrying.
23575type LimitExceededException struct {
23576	_            struct{}                  `type:"structure"`
23577	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23578
23579	Message_ *string `locationName:"Message" min:"1" type:"string"`
23580}
23581
23582// String returns the string representation.
23583//
23584// API parameter values that are decorated as "sensitive" in the API will not
23585// be included in the string output. The member name will be present, but the
23586// value will be replaced with "sensitive".
23587func (s LimitExceededException) String() string {
23588	return awsutil.Prettify(s)
23589}
23590
23591// GoString returns the string representation.
23592//
23593// API parameter values that are decorated as "sensitive" in the API will not
23594// be included in the string output. The member name will be present, but the
23595// value will be replaced with "sensitive".
23596func (s LimitExceededException) GoString() string {
23597	return s.String()
23598}
23599
23600func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
23601	return &LimitExceededException{
23602		RespMetadata: v,
23603	}
23604}
23605
23606// Code returns the exception type name.
23607func (s *LimitExceededException) Code() string {
23608	return "LimitExceededException"
23609}
23610
23611// Message returns the exception's message.
23612func (s *LimitExceededException) Message() string {
23613	if s.Message_ != nil {
23614		return *s.Message_
23615	}
23616	return ""
23617}
23618
23619// OrigErr always returns nil, satisfies awserr.Error interface.
23620func (s *LimitExceededException) OrigErr() error {
23621	return nil
23622}
23623
23624func (s *LimitExceededException) Error() string {
23625	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
23626}
23627
23628// Status code returns the HTTP status code for the request's response error.
23629func (s *LimitExceededException) StatusCode() int {
23630	return s.RespMetadata.StatusCode
23631}
23632
23633// RequestID returns the service's response RequestID for request.
23634func (s *LimitExceededException) RequestID() string {
23635	return s.RespMetadata.RequestID
23636}
23637
23638// Represents the input for a request operation.
23639type ListAliasesInput struct {
23640	_ struct{} `type:"structure"`
23641
23642	// The maximum number of results to return. Use this parameter with NextToken
23643	// to get results as a set of sequential pages.
23644	Limit *int64 `min:"1" type:"integer"`
23645
23646	// A descriptive label that is associated with an alias. Alias names do not
23647	// need to be unique.
23648	Name *string `min:"1" type:"string"`
23649
23650	// A token that indicates the start of the next sequential page of results.
23651	// Use the token that is returned with a previous call to this operation. To
23652	// start at the beginning of the result set, do not specify a value.
23653	NextToken *string `min:"1" type:"string"`
23654
23655	// The routing type to filter results on. Use this parameter to retrieve only
23656	// aliases with a certain routing type. To retrieve all aliases, leave this
23657	// parameter empty.
23658	//
23659	// Possible routing types include the following:
23660	//
23661	//    * SIMPLE -- The alias resolves to one specific fleet. Use this type when
23662	//    routing to active fleets.
23663	//
23664	//    * TERMINAL -- The alias does not resolve to a fleet but instead can be
23665	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
23666	//    with the RoutingStrategy message embedded.
23667	RoutingStrategyType *string `type:"string" enum:"RoutingStrategyType"`
23668}
23669
23670// String returns the string representation.
23671//
23672// API parameter values that are decorated as "sensitive" in the API will not
23673// be included in the string output. The member name will be present, but the
23674// value will be replaced with "sensitive".
23675func (s ListAliasesInput) String() string {
23676	return awsutil.Prettify(s)
23677}
23678
23679// GoString returns the string representation.
23680//
23681// API parameter values that are decorated as "sensitive" in the API will not
23682// be included in the string output. The member name will be present, but the
23683// value will be replaced with "sensitive".
23684func (s ListAliasesInput) GoString() string {
23685	return s.String()
23686}
23687
23688// Validate inspects the fields of the type to determine if they are valid.
23689func (s *ListAliasesInput) Validate() error {
23690	invalidParams := request.ErrInvalidParams{Context: "ListAliasesInput"}
23691	if s.Limit != nil && *s.Limit < 1 {
23692		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
23693	}
23694	if s.Name != nil && len(*s.Name) < 1 {
23695		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
23696	}
23697	if s.NextToken != nil && len(*s.NextToken) < 1 {
23698		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
23699	}
23700
23701	if invalidParams.Len() > 0 {
23702		return invalidParams
23703	}
23704	return nil
23705}
23706
23707// SetLimit sets the Limit field's value.
23708func (s *ListAliasesInput) SetLimit(v int64) *ListAliasesInput {
23709	s.Limit = &v
23710	return s
23711}
23712
23713// SetName sets the Name field's value.
23714func (s *ListAliasesInput) SetName(v string) *ListAliasesInput {
23715	s.Name = &v
23716	return s
23717}
23718
23719// SetNextToken sets the NextToken field's value.
23720func (s *ListAliasesInput) SetNextToken(v string) *ListAliasesInput {
23721	s.NextToken = &v
23722	return s
23723}
23724
23725// SetRoutingStrategyType sets the RoutingStrategyType field's value.
23726func (s *ListAliasesInput) SetRoutingStrategyType(v string) *ListAliasesInput {
23727	s.RoutingStrategyType = &v
23728	return s
23729}
23730
23731// Represents the returned data in response to a request operation.
23732type ListAliasesOutput struct {
23733	_ struct{} `type:"structure"`
23734
23735	// A collection of alias resources that match the request parameters.
23736	Aliases []*Alias `type:"list"`
23737
23738	// A token that indicates where to resume retrieving results on the next call
23739	// to this operation. If no token is returned, these results represent the end
23740	// of the list.
23741	NextToken *string `min:"1" type:"string"`
23742}
23743
23744// String returns the string representation.
23745//
23746// API parameter values that are decorated as "sensitive" in the API will not
23747// be included in the string output. The member name will be present, but the
23748// value will be replaced with "sensitive".
23749func (s ListAliasesOutput) String() string {
23750	return awsutil.Prettify(s)
23751}
23752
23753// GoString returns the string representation.
23754//
23755// API parameter values that are decorated as "sensitive" in the API will not
23756// be included in the string output. The member name will be present, but the
23757// value will be replaced with "sensitive".
23758func (s ListAliasesOutput) GoString() string {
23759	return s.String()
23760}
23761
23762// SetAliases sets the Aliases field's value.
23763func (s *ListAliasesOutput) SetAliases(v []*Alias) *ListAliasesOutput {
23764	s.Aliases = v
23765	return s
23766}
23767
23768// SetNextToken sets the NextToken field's value.
23769func (s *ListAliasesOutput) SetNextToken(v string) *ListAliasesOutput {
23770	s.NextToken = &v
23771	return s
23772}
23773
23774// Represents the input for a request operation.
23775type ListBuildsInput struct {
23776	_ struct{} `type:"structure"`
23777
23778	// The maximum number of results to return. Use this parameter with NextToken
23779	// to get results as a set of sequential pages.
23780	Limit *int64 `min:"1" type:"integer"`
23781
23782	// A token that indicates the start of the next sequential page of results.
23783	// Use the token that is returned with a previous call to this operation. To
23784	// start at the beginning of the result set, do not specify a value.
23785	NextToken *string `min:"1" type:"string"`
23786
23787	// Build status to filter results by. To retrieve all builds, leave this parameter
23788	// empty.
23789	//
23790	// Possible build statuses include the following:
23791	//
23792	//    * INITIALIZED -- A new build has been defined, but no files have been
23793	//    uploaded. You cannot create fleets for builds that are in this status.
23794	//    When a build is successfully created, the build status is set to this
23795	//    value.
23796	//
23797	//    * READY -- The game build has been successfully uploaded. You can now
23798	//    create new fleets for this build.
23799	//
23800	//    * FAILED -- The game build upload failed. You cannot create new fleets
23801	//    for this build.
23802	Status *string `type:"string" enum:"BuildStatus"`
23803}
23804
23805// String returns the string representation.
23806//
23807// API parameter values that are decorated as "sensitive" in the API will not
23808// be included in the string output. The member name will be present, but the
23809// value will be replaced with "sensitive".
23810func (s ListBuildsInput) String() string {
23811	return awsutil.Prettify(s)
23812}
23813
23814// GoString returns the string representation.
23815//
23816// API parameter values that are decorated as "sensitive" in the API will not
23817// be included in the string output. The member name will be present, but the
23818// value will be replaced with "sensitive".
23819func (s ListBuildsInput) GoString() string {
23820	return s.String()
23821}
23822
23823// Validate inspects the fields of the type to determine if they are valid.
23824func (s *ListBuildsInput) Validate() error {
23825	invalidParams := request.ErrInvalidParams{Context: "ListBuildsInput"}
23826	if s.Limit != nil && *s.Limit < 1 {
23827		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
23828	}
23829	if s.NextToken != nil && len(*s.NextToken) < 1 {
23830		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
23831	}
23832
23833	if invalidParams.Len() > 0 {
23834		return invalidParams
23835	}
23836	return nil
23837}
23838
23839// SetLimit sets the Limit field's value.
23840func (s *ListBuildsInput) SetLimit(v int64) *ListBuildsInput {
23841	s.Limit = &v
23842	return s
23843}
23844
23845// SetNextToken sets the NextToken field's value.
23846func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput {
23847	s.NextToken = &v
23848	return s
23849}
23850
23851// SetStatus sets the Status field's value.
23852func (s *ListBuildsInput) SetStatus(v string) *ListBuildsInput {
23853	s.Status = &v
23854	return s
23855}
23856
23857// Represents the returned data in response to a request operation.
23858type ListBuildsOutput struct {
23859	_ struct{} `type:"structure"`
23860
23861	// A collection of build resources that match the request.
23862	Builds []*Build `type:"list"`
23863
23864	// A token that indicates where to resume retrieving results on the next call
23865	// to this operation. If no token is returned, these results represent the end
23866	// of the list.
23867	NextToken *string `min:"1" type:"string"`
23868}
23869
23870// String returns the string representation.
23871//
23872// API parameter values that are decorated as "sensitive" in the API will not
23873// be included in the string output. The member name will be present, but the
23874// value will be replaced with "sensitive".
23875func (s ListBuildsOutput) String() string {
23876	return awsutil.Prettify(s)
23877}
23878
23879// GoString returns the string representation.
23880//
23881// API parameter values that are decorated as "sensitive" in the API will not
23882// be included in the string output. The member name will be present, but the
23883// value will be replaced with "sensitive".
23884func (s ListBuildsOutput) GoString() string {
23885	return s.String()
23886}
23887
23888// SetBuilds sets the Builds field's value.
23889func (s *ListBuildsOutput) SetBuilds(v []*Build) *ListBuildsOutput {
23890	s.Builds = v
23891	return s
23892}
23893
23894// SetNextToken sets the NextToken field's value.
23895func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput {
23896	s.NextToken = &v
23897	return s
23898}
23899
23900// Represents the input for a request operation.
23901type ListFleetsInput struct {
23902	_ struct{} `type:"structure"`
23903
23904	// A unique identifier for the build to request fleets for. Use this parameter
23905	// to return only fleets using a specified build. Use either the build ID or
23906	// ARN value.
23907	BuildId *string `type:"string"`
23908
23909	// The maximum number of results to return. Use this parameter with NextToken
23910	// to get results as a set of sequential pages.
23911	Limit *int64 `min:"1" type:"integer"`
23912
23913	// A token that indicates the start of the next sequential page of results.
23914	// Use the token that is returned with a previous call to this operation. To
23915	// start at the beginning of the result set, do not specify a value.
23916	NextToken *string `min:"1" type:"string"`
23917
23918	// A unique identifier for the Realtime script to request fleets for. Use this
23919	// parameter to return only fleets using a specified script. Use either the
23920	// script ID or ARN value.
23921	ScriptId *string `type:"string"`
23922}
23923
23924// String returns the string representation.
23925//
23926// API parameter values that are decorated as "sensitive" in the API will not
23927// be included in the string output. The member name will be present, but the
23928// value will be replaced with "sensitive".
23929func (s ListFleetsInput) String() string {
23930	return awsutil.Prettify(s)
23931}
23932
23933// GoString returns the string representation.
23934//
23935// API parameter values that are decorated as "sensitive" in the API will not
23936// be included in the string output. The member name will be present, but the
23937// value will be replaced with "sensitive".
23938func (s ListFleetsInput) GoString() string {
23939	return s.String()
23940}
23941
23942// Validate inspects the fields of the type to determine if they are valid.
23943func (s *ListFleetsInput) Validate() error {
23944	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
23945	if s.Limit != nil && *s.Limit < 1 {
23946		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
23947	}
23948	if s.NextToken != nil && len(*s.NextToken) < 1 {
23949		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
23950	}
23951
23952	if invalidParams.Len() > 0 {
23953		return invalidParams
23954	}
23955	return nil
23956}
23957
23958// SetBuildId sets the BuildId field's value.
23959func (s *ListFleetsInput) SetBuildId(v string) *ListFleetsInput {
23960	s.BuildId = &v
23961	return s
23962}
23963
23964// SetLimit sets the Limit field's value.
23965func (s *ListFleetsInput) SetLimit(v int64) *ListFleetsInput {
23966	s.Limit = &v
23967	return s
23968}
23969
23970// SetNextToken sets the NextToken field's value.
23971func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
23972	s.NextToken = &v
23973	return s
23974}
23975
23976// SetScriptId sets the ScriptId field's value.
23977func (s *ListFleetsInput) SetScriptId(v string) *ListFleetsInput {
23978	s.ScriptId = &v
23979	return s
23980}
23981
23982// Represents the returned data in response to a request operation.
23983type ListFleetsOutput struct {
23984	_ struct{} `type:"structure"`
23985
23986	// A set of fleet IDs that match the list request. You can retrieve additional
23987	// information about all returned fleets by passing this result set to a DescribeFleetAttributes,
23988	// DescribeFleetCapacity, or DescribeFleetUtilization call.
23989	FleetIds []*string `min:"1" type:"list"`
23990
23991	// A token that indicates where to resume retrieving results on the next call
23992	// to this operation. If no token is returned, these results represent the end
23993	// of the list.
23994	NextToken *string `min:"1" type:"string"`
23995}
23996
23997// String returns the string representation.
23998//
23999// API parameter values that are decorated as "sensitive" in the API will not
24000// be included in the string output. The member name will be present, but the
24001// value will be replaced with "sensitive".
24002func (s ListFleetsOutput) String() string {
24003	return awsutil.Prettify(s)
24004}
24005
24006// GoString returns the string representation.
24007//
24008// API parameter values that are decorated as "sensitive" in the API will not
24009// be included in the string output. The member name will be present, but the
24010// value will be replaced with "sensitive".
24011func (s ListFleetsOutput) GoString() string {
24012	return s.String()
24013}
24014
24015// SetFleetIds sets the FleetIds field's value.
24016func (s *ListFleetsOutput) SetFleetIds(v []*string) *ListFleetsOutput {
24017	s.FleetIds = v
24018	return s
24019}
24020
24021// SetNextToken sets the NextToken field's value.
24022func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
24023	s.NextToken = &v
24024	return s
24025}
24026
24027type ListGameServerGroupsInput struct {
24028	_ struct{} `type:"structure"`
24029
24030	// The maximum number of results to return. Use this parameter with NextToken
24031	// to get results as a set of sequential pages.
24032	Limit *int64 `min:"1" type:"integer"`
24033
24034	// A token that indicates the start of the next sequential page of results.
24035	// Use the token that is returned with a previous call to this operation. To
24036	// start at the beginning of the result set, do not specify a value.
24037	NextToken *string `min:"1" type:"string"`
24038}
24039
24040// String returns the string representation.
24041//
24042// API parameter values that are decorated as "sensitive" in the API will not
24043// be included in the string output. The member name will be present, but the
24044// value will be replaced with "sensitive".
24045func (s ListGameServerGroupsInput) String() string {
24046	return awsutil.Prettify(s)
24047}
24048
24049// GoString returns the string representation.
24050//
24051// API parameter values that are decorated as "sensitive" in the API will not
24052// be included in the string output. The member name will be present, but the
24053// value will be replaced with "sensitive".
24054func (s ListGameServerGroupsInput) GoString() string {
24055	return s.String()
24056}
24057
24058// Validate inspects the fields of the type to determine if they are valid.
24059func (s *ListGameServerGroupsInput) Validate() error {
24060	invalidParams := request.ErrInvalidParams{Context: "ListGameServerGroupsInput"}
24061	if s.Limit != nil && *s.Limit < 1 {
24062		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
24063	}
24064	if s.NextToken != nil && len(*s.NextToken) < 1 {
24065		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
24066	}
24067
24068	if invalidParams.Len() > 0 {
24069		return invalidParams
24070	}
24071	return nil
24072}
24073
24074// SetLimit sets the Limit field's value.
24075func (s *ListGameServerGroupsInput) SetLimit(v int64) *ListGameServerGroupsInput {
24076	s.Limit = &v
24077	return s
24078}
24079
24080// SetNextToken sets the NextToken field's value.
24081func (s *ListGameServerGroupsInput) SetNextToken(v string) *ListGameServerGroupsInput {
24082	s.NextToken = &v
24083	return s
24084}
24085
24086type ListGameServerGroupsOutput struct {
24087	_ struct{} `type:"structure"`
24088
24089	// A collection of game server group objects that match the request.
24090	GameServerGroups []*GameServerGroup `type:"list"`
24091
24092	// A token that indicates where to resume retrieving results on the next call
24093	// to this operation. If no token is returned, these results represent the end
24094	// of the list.
24095	NextToken *string `min:"1" type:"string"`
24096}
24097
24098// String returns the string representation.
24099//
24100// API parameter values that are decorated as "sensitive" in the API will not
24101// be included in the string output. The member name will be present, but the
24102// value will be replaced with "sensitive".
24103func (s ListGameServerGroupsOutput) String() string {
24104	return awsutil.Prettify(s)
24105}
24106
24107// GoString returns the string representation.
24108//
24109// API parameter values that are decorated as "sensitive" in the API will not
24110// be included in the string output. The member name will be present, but the
24111// value will be replaced with "sensitive".
24112func (s ListGameServerGroupsOutput) GoString() string {
24113	return s.String()
24114}
24115
24116// SetGameServerGroups sets the GameServerGroups field's value.
24117func (s *ListGameServerGroupsOutput) SetGameServerGroups(v []*GameServerGroup) *ListGameServerGroupsOutput {
24118	s.GameServerGroups = v
24119	return s
24120}
24121
24122// SetNextToken sets the NextToken field's value.
24123func (s *ListGameServerGroupsOutput) SetNextToken(v string) *ListGameServerGroupsOutput {
24124	s.NextToken = &v
24125	return s
24126}
24127
24128type ListGameServersInput struct {
24129	_ struct{} `type:"structure"`
24130
24131	// An identifier for the game server group to retrieve a list of game servers
24132	// from. Use either the GameServerGroup name or ARN value.
24133	//
24134	// GameServerGroupName is a required field
24135	GameServerGroupName *string `min:"1" type:"string" required:"true"`
24136
24137	// The maximum number of results to return. Use this parameter with NextToken
24138	// to get results as a set of sequential pages.
24139	Limit *int64 `min:"1" type:"integer"`
24140
24141	// A token that indicates the start of the next sequential page of results.
24142	// Use the token that is returned with a previous call to this operation. To
24143	// start at the beginning of the result set, do not specify a value.
24144	NextToken *string `min:"1" type:"string"`
24145
24146	// Indicates how to sort the returned data based on game server registration
24147	// timestamp. Use ASCENDING to retrieve oldest game servers first, or use DESCENDING
24148	// to retrieve newest game servers first. If this parameter is left empty, game
24149	// servers are returned in no particular order.
24150	SortOrder *string `type:"string" enum:"SortOrder"`
24151}
24152
24153// String returns the string representation.
24154//
24155// API parameter values that are decorated as "sensitive" in the API will not
24156// be included in the string output. The member name will be present, but the
24157// value will be replaced with "sensitive".
24158func (s ListGameServersInput) String() string {
24159	return awsutil.Prettify(s)
24160}
24161
24162// GoString returns the string representation.
24163//
24164// API parameter values that are decorated as "sensitive" in the API will not
24165// be included in the string output. The member name will be present, but the
24166// value will be replaced with "sensitive".
24167func (s ListGameServersInput) GoString() string {
24168	return s.String()
24169}
24170
24171// Validate inspects the fields of the type to determine if they are valid.
24172func (s *ListGameServersInput) Validate() error {
24173	invalidParams := request.ErrInvalidParams{Context: "ListGameServersInput"}
24174	if s.GameServerGroupName == nil {
24175		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
24176	}
24177	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
24178		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
24179	}
24180	if s.Limit != nil && *s.Limit < 1 {
24181		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
24182	}
24183	if s.NextToken != nil && len(*s.NextToken) < 1 {
24184		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
24185	}
24186
24187	if invalidParams.Len() > 0 {
24188		return invalidParams
24189	}
24190	return nil
24191}
24192
24193// SetGameServerGroupName sets the GameServerGroupName field's value.
24194func (s *ListGameServersInput) SetGameServerGroupName(v string) *ListGameServersInput {
24195	s.GameServerGroupName = &v
24196	return s
24197}
24198
24199// SetLimit sets the Limit field's value.
24200func (s *ListGameServersInput) SetLimit(v int64) *ListGameServersInput {
24201	s.Limit = &v
24202	return s
24203}
24204
24205// SetNextToken sets the NextToken field's value.
24206func (s *ListGameServersInput) SetNextToken(v string) *ListGameServersInput {
24207	s.NextToken = &v
24208	return s
24209}
24210
24211// SetSortOrder sets the SortOrder field's value.
24212func (s *ListGameServersInput) SetSortOrder(v string) *ListGameServersInput {
24213	s.SortOrder = &v
24214	return s
24215}
24216
24217type ListGameServersOutput struct {
24218	_ struct{} `type:"structure"`
24219
24220	// A collection of game server objects that match the request.
24221	GameServers []*GameServer `type:"list"`
24222
24223	// A token that indicates where to resume retrieving results on the next call
24224	// to this operation. If no token is returned, these results represent the end
24225	// of the list.
24226	NextToken *string `min:"1" type:"string"`
24227}
24228
24229// String returns the string representation.
24230//
24231// API parameter values that are decorated as "sensitive" in the API will not
24232// be included in the string output. The member name will be present, but the
24233// value will be replaced with "sensitive".
24234func (s ListGameServersOutput) String() string {
24235	return awsutil.Prettify(s)
24236}
24237
24238// GoString returns the string representation.
24239//
24240// API parameter values that are decorated as "sensitive" in the API will not
24241// be included in the string output. The member name will be present, but the
24242// value will be replaced with "sensitive".
24243func (s ListGameServersOutput) GoString() string {
24244	return s.String()
24245}
24246
24247// SetGameServers sets the GameServers field's value.
24248func (s *ListGameServersOutput) SetGameServers(v []*GameServer) *ListGameServersOutput {
24249	s.GameServers = v
24250	return s
24251}
24252
24253// SetNextToken sets the NextToken field's value.
24254func (s *ListGameServersOutput) SetNextToken(v string) *ListGameServersOutput {
24255	s.NextToken = &v
24256	return s
24257}
24258
24259type ListScriptsInput struct {
24260	_ struct{} `type:"structure"`
24261
24262	// The maximum number of results to return. Use this parameter with NextToken
24263	// to get results as a set of sequential pages.
24264	Limit *int64 `min:"1" type:"integer"`
24265
24266	// A token that indicates the start of the next sequential page of results.
24267	// Use the token that is returned with a previous call to this operation. To
24268	// start at the beginning of the result set, do not specify a value.
24269	NextToken *string `min:"1" type:"string"`
24270}
24271
24272// String returns the string representation.
24273//
24274// API parameter values that are decorated as "sensitive" in the API will not
24275// be included in the string output. The member name will be present, but the
24276// value will be replaced with "sensitive".
24277func (s ListScriptsInput) String() string {
24278	return awsutil.Prettify(s)
24279}
24280
24281// GoString returns the string representation.
24282//
24283// API parameter values that are decorated as "sensitive" in the API will not
24284// be included in the string output. The member name will be present, but the
24285// value will be replaced with "sensitive".
24286func (s ListScriptsInput) GoString() string {
24287	return s.String()
24288}
24289
24290// Validate inspects the fields of the type to determine if they are valid.
24291func (s *ListScriptsInput) Validate() error {
24292	invalidParams := request.ErrInvalidParams{Context: "ListScriptsInput"}
24293	if s.Limit != nil && *s.Limit < 1 {
24294		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
24295	}
24296	if s.NextToken != nil && len(*s.NextToken) < 1 {
24297		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
24298	}
24299
24300	if invalidParams.Len() > 0 {
24301		return invalidParams
24302	}
24303	return nil
24304}
24305
24306// SetLimit sets the Limit field's value.
24307func (s *ListScriptsInput) SetLimit(v int64) *ListScriptsInput {
24308	s.Limit = &v
24309	return s
24310}
24311
24312// SetNextToken sets the NextToken field's value.
24313func (s *ListScriptsInput) SetNextToken(v string) *ListScriptsInput {
24314	s.NextToken = &v
24315	return s
24316}
24317
24318type ListScriptsOutput struct {
24319	_ struct{} `type:"structure"`
24320
24321	// A token that indicates where to resume retrieving results on the next call
24322	// to this operation. If no token is returned, these results represent the end
24323	// of the list.
24324	NextToken *string `min:"1" type:"string"`
24325
24326	// A set of properties describing the requested script.
24327	Scripts []*Script `type:"list"`
24328}
24329
24330// String returns the string representation.
24331//
24332// API parameter values that are decorated as "sensitive" in the API will not
24333// be included in the string output. The member name will be present, but the
24334// value will be replaced with "sensitive".
24335func (s ListScriptsOutput) String() string {
24336	return awsutil.Prettify(s)
24337}
24338
24339// GoString returns the string representation.
24340//
24341// API parameter values that are decorated as "sensitive" in the API will not
24342// be included in the string output. The member name will be present, but the
24343// value will be replaced with "sensitive".
24344func (s ListScriptsOutput) GoString() string {
24345	return s.String()
24346}
24347
24348// SetNextToken sets the NextToken field's value.
24349func (s *ListScriptsOutput) SetNextToken(v string) *ListScriptsOutput {
24350	s.NextToken = &v
24351	return s
24352}
24353
24354// SetScripts sets the Scripts field's value.
24355func (s *ListScriptsOutput) SetScripts(v []*Script) *ListScriptsOutput {
24356	s.Scripts = v
24357	return s
24358}
24359
24360type ListTagsForResourceInput struct {
24361	_ struct{} `type:"structure"`
24362
24363	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
24364	// that is assigned to and uniquely identifies the GameLift resource that you
24365	// want to retrieve tags for. GameLift resource ARNs are included in the data
24366	// object for the resource, which can be retrieved by calling a List or Describe
24367	// operation for the resource type.
24368	//
24369	// ResourceARN is a required field
24370	ResourceARN *string `min:"1" type:"string" required:"true"`
24371}
24372
24373// String returns the string representation.
24374//
24375// API parameter values that are decorated as "sensitive" in the API will not
24376// be included in the string output. The member name will be present, but the
24377// value will be replaced with "sensitive".
24378func (s ListTagsForResourceInput) String() string {
24379	return awsutil.Prettify(s)
24380}
24381
24382// GoString returns the string representation.
24383//
24384// API parameter values that are decorated as "sensitive" in the API will not
24385// be included in the string output. The member name will be present, but the
24386// value will be replaced with "sensitive".
24387func (s ListTagsForResourceInput) GoString() string {
24388	return s.String()
24389}
24390
24391// Validate inspects the fields of the type to determine if they are valid.
24392func (s *ListTagsForResourceInput) Validate() error {
24393	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
24394	if s.ResourceARN == nil {
24395		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
24396	}
24397	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
24398		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
24399	}
24400
24401	if invalidParams.Len() > 0 {
24402		return invalidParams
24403	}
24404	return nil
24405}
24406
24407// SetResourceARN sets the ResourceARN field's value.
24408func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
24409	s.ResourceARN = &v
24410	return s
24411}
24412
24413type ListTagsForResourceOutput struct {
24414	_ struct{} `type:"structure"`
24415
24416	// The collection of tags that have been assigned to the specified resource.
24417	Tags []*Tag `type:"list"`
24418}
24419
24420// String returns the string representation.
24421//
24422// API parameter values that are decorated as "sensitive" in the API will not
24423// be included in the string output. The member name will be present, but the
24424// value will be replaced with "sensitive".
24425func (s ListTagsForResourceOutput) String() string {
24426	return awsutil.Prettify(s)
24427}
24428
24429// GoString returns the string representation.
24430//
24431// API parameter values that are decorated as "sensitive" in the API will not
24432// be included in the string output. The member name will be present, but the
24433// value will be replaced with "sensitive".
24434func (s ListTagsForResourceOutput) GoString() string {
24435	return s.String()
24436}
24437
24438// SetTags sets the Tags field's value.
24439func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
24440	s.Tags = v
24441	return s
24442}
24443
24444// Represents a location in a multi-location fleet.
24445//
24446// Related actions
24447//
24448// DescribeFleetLocationAttributes
24449type LocationAttributes struct {
24450	_ struct{} `type:"structure"`
24451
24452	// A fleet location and its current life-cycle state.
24453	LocationState *LocationState `type:"structure"`
24454
24455	// A list of fleet actions that have been suspended in the fleet location.
24456	StoppedActions []*string `min:"1" type:"list"`
24457
24458	// The status of fleet activity updates to the location. The status PENDING_UPDATE
24459	// indicates that StopFleetActions or StartFleetActions has been requested but
24460	// the update has not yet been completed for the location.
24461	UpdateStatus *string `type:"string" enum:"LocationUpdateStatus"`
24462}
24463
24464// String returns the string representation.
24465//
24466// API parameter values that are decorated as "sensitive" in the API will not
24467// be included in the string output. The member name will be present, but the
24468// value will be replaced with "sensitive".
24469func (s LocationAttributes) String() string {
24470	return awsutil.Prettify(s)
24471}
24472
24473// GoString returns the string representation.
24474//
24475// API parameter values that are decorated as "sensitive" in the API will not
24476// be included in the string output. The member name will be present, but the
24477// value will be replaced with "sensitive".
24478func (s LocationAttributes) GoString() string {
24479	return s.String()
24480}
24481
24482// SetLocationState sets the LocationState field's value.
24483func (s *LocationAttributes) SetLocationState(v *LocationState) *LocationAttributes {
24484	s.LocationState = v
24485	return s
24486}
24487
24488// SetStoppedActions sets the StoppedActions field's value.
24489func (s *LocationAttributes) SetStoppedActions(v []*string) *LocationAttributes {
24490	s.StoppedActions = v
24491	return s
24492}
24493
24494// SetUpdateStatus sets the UpdateStatus field's value.
24495func (s *LocationAttributes) SetUpdateStatus(v string) *LocationAttributes {
24496	s.UpdateStatus = &v
24497	return s
24498}
24499
24500// A remote location where a multi-location fleet can deploy EC2 instances for
24501// game hosting.
24502//
24503// Related actions
24504//
24505// CreateFleet
24506type LocationConfiguration struct {
24507	_ struct{} `type:"structure"`
24508
24509	// An AWS Region code, such as us-west-2.
24510	Location *string `min:"1" type:"string"`
24511}
24512
24513// String returns the string representation.
24514//
24515// API parameter values that are decorated as "sensitive" in the API will not
24516// be included in the string output. The member name will be present, but the
24517// value will be replaced with "sensitive".
24518func (s LocationConfiguration) String() string {
24519	return awsutil.Prettify(s)
24520}
24521
24522// GoString returns the string representation.
24523//
24524// API parameter values that are decorated as "sensitive" in the API will not
24525// be included in the string output. The member name will be present, but the
24526// value will be replaced with "sensitive".
24527func (s LocationConfiguration) GoString() string {
24528	return s.String()
24529}
24530
24531// Validate inspects the fields of the type to determine if they are valid.
24532func (s *LocationConfiguration) Validate() error {
24533	invalidParams := request.ErrInvalidParams{Context: "LocationConfiguration"}
24534	if s.Location != nil && len(*s.Location) < 1 {
24535		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
24536	}
24537
24538	if invalidParams.Len() > 0 {
24539		return invalidParams
24540	}
24541	return nil
24542}
24543
24544// SetLocation sets the Location field's value.
24545func (s *LocationConfiguration) SetLocation(v string) *LocationConfiguration {
24546	s.Location = &v
24547	return s
24548}
24549
24550// A fleet location and its life-cycle state. A location state object might
24551// be used to describe a fleet's remote location or home Region. Life-cycle
24552// state tracks the progress of launching the first instance in a new location
24553// and preparing it for game hosting, and then removing all instances and deleting
24554// the location from the fleet.
24555//
24556// Related actions
24557//
24558// CreateFleet | CreateFleetLocations | DeleteFleetLocations
24559type LocationState struct {
24560	_ struct{} `type:"structure"`
24561
24562	// The fleet location, expressed as an AWS Region code such as us-west-2.
24563	Location *string `min:"1" type:"string"`
24564
24565	// The life-cycle status of a fleet location.
24566	Status *string `type:"string" enum:"FleetStatus"`
24567}
24568
24569// String returns the string representation.
24570//
24571// API parameter values that are decorated as "sensitive" in the API will not
24572// be included in the string output. The member name will be present, but the
24573// value will be replaced with "sensitive".
24574func (s LocationState) String() string {
24575	return awsutil.Prettify(s)
24576}
24577
24578// GoString returns the string representation.
24579//
24580// API parameter values that are decorated as "sensitive" in the API will not
24581// be included in the string output. The member name will be present, but the
24582// value will be replaced with "sensitive".
24583func (s LocationState) GoString() string {
24584	return s.String()
24585}
24586
24587// SetLocation sets the Location field's value.
24588func (s *LocationState) SetLocation(v string) *LocationState {
24589	s.Location = &v
24590	return s
24591}
24592
24593// SetStatus sets the Status field's value.
24594func (s *LocationState) SetStatus(v string) *LocationState {
24595	s.Status = &v
24596	return s
24597}
24598
24599// Represents a new player session that is created as a result of a successful
24600// FlexMatch match. A successful match automatically creates new player sessions
24601// for every player ID in the original matchmaking request.
24602//
24603// When players connect to the match's game session, they must include both
24604// player ID and player session ID in order to claim their assigned player slot.
24605type MatchedPlayerSession struct {
24606	_ struct{} `type:"structure"`
24607
24608	// A unique identifier for a player
24609	PlayerId *string `min:"1" type:"string"`
24610
24611	// A unique identifier for a player session
24612	PlayerSessionId *string `type:"string"`
24613}
24614
24615// String returns the string representation.
24616//
24617// API parameter values that are decorated as "sensitive" in the API will not
24618// be included in the string output. The member name will be present, but the
24619// value will be replaced with "sensitive".
24620func (s MatchedPlayerSession) String() string {
24621	return awsutil.Prettify(s)
24622}
24623
24624// GoString returns the string representation.
24625//
24626// API parameter values that are decorated as "sensitive" in the API will not
24627// be included in the string output. The member name will be present, but the
24628// value will be replaced with "sensitive".
24629func (s MatchedPlayerSession) GoString() string {
24630	return s.String()
24631}
24632
24633// SetPlayerId sets the PlayerId field's value.
24634func (s *MatchedPlayerSession) SetPlayerId(v string) *MatchedPlayerSession {
24635	s.PlayerId = &v
24636	return s
24637}
24638
24639// SetPlayerSessionId sets the PlayerSessionId field's value.
24640func (s *MatchedPlayerSession) SetPlayerSessionId(v string) *MatchedPlayerSession {
24641	s.PlayerSessionId = &v
24642	return s
24643}
24644
24645// Guidelines for use with FlexMatch to match players into games. All matchmaking
24646// requests must specify a matchmaking configuration.
24647type MatchmakingConfiguration struct {
24648	_ struct{} `type:"structure"`
24649
24650	// A flag that indicates whether a match that was created with this configuration
24651	// must be accepted by the matched players. To require acceptance, set to TRUE.
24652	// When this option is enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE
24653	// to indicate when a completed potential match is waiting for player acceptance.
24654	AcceptanceRequired *bool `type:"boolean"`
24655
24656	// The length of time (in seconds) to wait for players to accept a proposed
24657	// match, if acceptance is required. If any player rejects the match or fails
24658	// to accept before the timeout, the ticket continues to look for an acceptable
24659	// match.
24660	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
24661
24662	// The number of player slots in a match to keep open for future players. For
24663	// example, if the configuration's rule set specifies a match for a single 12-person
24664	// team, and the additional player count is set to 2, only 10 players are selected
24665	// for the match. This parameter is not used when FlexMatchMode is set to STANDALONE.
24666	AdditionalPlayerCount *int64 `type:"integer"`
24667
24668	// The method used to backfill game sessions created with this matchmaking configuration.
24669	// MANUAL indicates that the game makes backfill requests or does not use the
24670	// match backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill
24671	// requests whenever a game session has one or more open slots. Learn more about
24672	// manual and automatic backfill in Backfill existing games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html).
24673	// Automatic backfill is not available when FlexMatchMode is set to STANDALONE.
24674	BackfillMode *string `type:"string" enum:"BackfillMode"`
24675
24676	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
24677	// that is assigned to a GameLift matchmaking configuration resource and uniquely
24678	// identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking
24679	// configuration name>. In a GameLift configuration ARN, the resource ID matches
24680	// the Name value.
24681	ConfigurationArn *string `type:"string"`
24682
24683	// A time stamp indicating when this data object was created. Format is a number
24684	// expressed in Unix time as milliseconds (for example "1469498468.057").
24685	CreationTime *time.Time `type:"timestamp"`
24686
24687	// Information to attach to all events related to the matchmaking configuration.
24688	CustomEventData *string `type:"string"`
24689
24690	// A descriptive label that is associated with matchmaking configuration.
24691	Description *string `min:"1" type:"string"`
24692
24693	// Indicates whether this matchmaking configuration is being used with GameLift
24694	// hosting or as a standalone matchmaking solution.
24695	//
24696	//    * STANDALONE - FlexMatch forms matches and returns match information,
24697	//    including players and team assignments, in a MatchmakingSucceeded (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded)
24698	//    event.
24699	//
24700	//    * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift
24701	//    queue to start a game session for the match.
24702	FlexMatchMode *string `type:"string" enum:"FlexMatchMode"`
24703
24704	// A set of custom properties for a game session, formatted as key:value pairs.
24705	// These properties are passed to a game server process in the GameSession object
24706	// with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
24707	// This information is added to the new GameSession object that is created for
24708	// a successful match. This parameter is not used when FlexMatchMode is set
24709	// to STANDALONE.
24710	GameProperties []*GameProperty `type:"list"`
24711
24712	// A set of custom game session properties, formatted as a single string value.
24713	// This data is passed to a game server process in the GameSession object with
24714	// a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
24715	// This information is added to the new GameSession object that is created for
24716	// a successful match. This parameter is not used when FlexMatchMode is set
24717	// to STANDALONE.
24718	GameSessionData *string `min:"1" type:"string"`
24719
24720	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
24721	// that is assigned to a GameLift game session queue resource and uniquely identifies
24722	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
24723	// name>. Queues can be located in any Region. Queues are used to start new
24724	// GameLift-hosted game sessions for matches that are created with this matchmaking
24725	// configuration. This property is not set when FlexMatchMode is set to STANDALONE.
24726	GameSessionQueueArns []*string `type:"list"`
24727
24728	// A unique identifier for the matchmaking configuration. This name is used
24729	// to identify the configuration associated with a matchmaking request or ticket.
24730	Name *string `type:"string"`
24731
24732	// An SNS topic ARN that is set up to receive matchmaking notifications.
24733	NotificationTarget *string `type:"string"`
24734
24735	// The maximum duration, in seconds, that a matchmaking ticket can remain in
24736	// process before timing out. Requests that fail due to timing out can be resubmitted
24737	// as needed.
24738	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
24739
24740	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
24741	// associated with the GameLift matchmaking rule set resource that this configuration
24742	// uses.
24743	RuleSetArn *string `type:"string"`
24744
24745	// A unique identifier for the matchmaking rule set to use with this configuration.
24746	// A matchmaking configuration can only use rule sets that are defined in the
24747	// same Region.
24748	RuleSetName *string `type:"string"`
24749}
24750
24751// String returns the string representation.
24752//
24753// API parameter values that are decorated as "sensitive" in the API will not
24754// be included in the string output. The member name will be present, but the
24755// value will be replaced with "sensitive".
24756func (s MatchmakingConfiguration) String() string {
24757	return awsutil.Prettify(s)
24758}
24759
24760// GoString returns the string representation.
24761//
24762// API parameter values that are decorated as "sensitive" in the API will not
24763// be included in the string output. The member name will be present, but the
24764// value will be replaced with "sensitive".
24765func (s MatchmakingConfiguration) GoString() string {
24766	return s.String()
24767}
24768
24769// SetAcceptanceRequired sets the AcceptanceRequired field's value.
24770func (s *MatchmakingConfiguration) SetAcceptanceRequired(v bool) *MatchmakingConfiguration {
24771	s.AcceptanceRequired = &v
24772	return s
24773}
24774
24775// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
24776func (s *MatchmakingConfiguration) SetAcceptanceTimeoutSeconds(v int64) *MatchmakingConfiguration {
24777	s.AcceptanceTimeoutSeconds = &v
24778	return s
24779}
24780
24781// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
24782func (s *MatchmakingConfiguration) SetAdditionalPlayerCount(v int64) *MatchmakingConfiguration {
24783	s.AdditionalPlayerCount = &v
24784	return s
24785}
24786
24787// SetBackfillMode sets the BackfillMode field's value.
24788func (s *MatchmakingConfiguration) SetBackfillMode(v string) *MatchmakingConfiguration {
24789	s.BackfillMode = &v
24790	return s
24791}
24792
24793// SetConfigurationArn sets the ConfigurationArn field's value.
24794func (s *MatchmakingConfiguration) SetConfigurationArn(v string) *MatchmakingConfiguration {
24795	s.ConfigurationArn = &v
24796	return s
24797}
24798
24799// SetCreationTime sets the CreationTime field's value.
24800func (s *MatchmakingConfiguration) SetCreationTime(v time.Time) *MatchmakingConfiguration {
24801	s.CreationTime = &v
24802	return s
24803}
24804
24805// SetCustomEventData sets the CustomEventData field's value.
24806func (s *MatchmakingConfiguration) SetCustomEventData(v string) *MatchmakingConfiguration {
24807	s.CustomEventData = &v
24808	return s
24809}
24810
24811// SetDescription sets the Description field's value.
24812func (s *MatchmakingConfiguration) SetDescription(v string) *MatchmakingConfiguration {
24813	s.Description = &v
24814	return s
24815}
24816
24817// SetFlexMatchMode sets the FlexMatchMode field's value.
24818func (s *MatchmakingConfiguration) SetFlexMatchMode(v string) *MatchmakingConfiguration {
24819	s.FlexMatchMode = &v
24820	return s
24821}
24822
24823// SetGameProperties sets the GameProperties field's value.
24824func (s *MatchmakingConfiguration) SetGameProperties(v []*GameProperty) *MatchmakingConfiguration {
24825	s.GameProperties = v
24826	return s
24827}
24828
24829// SetGameSessionData sets the GameSessionData field's value.
24830func (s *MatchmakingConfiguration) SetGameSessionData(v string) *MatchmakingConfiguration {
24831	s.GameSessionData = &v
24832	return s
24833}
24834
24835// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
24836func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration {
24837	s.GameSessionQueueArns = v
24838	return s
24839}
24840
24841// SetName sets the Name field's value.
24842func (s *MatchmakingConfiguration) SetName(v string) *MatchmakingConfiguration {
24843	s.Name = &v
24844	return s
24845}
24846
24847// SetNotificationTarget sets the NotificationTarget field's value.
24848func (s *MatchmakingConfiguration) SetNotificationTarget(v string) *MatchmakingConfiguration {
24849	s.NotificationTarget = &v
24850	return s
24851}
24852
24853// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
24854func (s *MatchmakingConfiguration) SetRequestTimeoutSeconds(v int64) *MatchmakingConfiguration {
24855	s.RequestTimeoutSeconds = &v
24856	return s
24857}
24858
24859// SetRuleSetArn sets the RuleSetArn field's value.
24860func (s *MatchmakingConfiguration) SetRuleSetArn(v string) *MatchmakingConfiguration {
24861	s.RuleSetArn = &v
24862	return s
24863}
24864
24865// SetRuleSetName sets the RuleSetName field's value.
24866func (s *MatchmakingConfiguration) SetRuleSetName(v string) *MatchmakingConfiguration {
24867	s.RuleSetName = &v
24868	return s
24869}
24870
24871// Set of rule statements, used with FlexMatch, that determine how to build
24872// your player matches. Each rule set describes a type of group to be created
24873// and defines the parameters for acceptable player matches. Rule sets are used
24874// in MatchmakingConfiguration objects.
24875//
24876// A rule set may define the following elements for a match. For detailed information
24877// and examples showing how to construct a rule set, see Build a FlexMatch rule
24878// set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html).
24879//
24880//    * Teams -- Required. A rule set must define one or multiple teams for
24881//    the match and set minimum and maximum team sizes. For example, a rule
24882//    set might describe a 4x4 match that requires all eight slots to be filled.
24883//
24884//    * Player attributes -- Optional. These attributes specify a set of player
24885//    characteristics to evaluate when looking for a match. Matchmaking requests
24886//    that use a rule set with player attributes must provide the corresponding
24887//    attribute values. For example, an attribute might specify a player's skill
24888//    or level.
24889//
24890//    * Rules -- Optional. Rules define how to evaluate potential players for
24891//    a match based on player attributes. A rule might specify minimum requirements
24892//    for individual players, teams, or entire matches. For example, a rule
24893//    might require each player to meet a certain skill level, each team to
24894//    have at least one player in a certain role, or the match to have a minimum
24895//    average skill level. or may describe an entire group--such as all teams
24896//    must be evenly matched or have at least one player in a certain role.
24897//
24898//    * Expansions -- Optional. Expansions allow you to relax the rules after
24899//    a period of time when no acceptable matches are found. This feature lets
24900//    you balance getting players into games in a reasonable amount of time
24901//    instead of making them wait indefinitely for the best possible match.
24902//    For example, you might use an expansion to increase the maximum skill
24903//    variance between players after 30 seconds.
24904type MatchmakingRuleSet struct {
24905	_ struct{} `type:"structure"`
24906
24907	// A time stamp indicating when this data object was created. Format is a number
24908	// expressed in Unix time as milliseconds (for example "1469498468.057").
24909	CreationTime *time.Time `type:"timestamp"`
24910
24911	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
24912	// that is assigned to a GameLift matchmaking rule set resource and uniquely
24913	// identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::matchmakingruleset/<ruleset
24914	// name>. In a GameLift rule set ARN, the resource ID matches the RuleSetName
24915	// value.
24916	RuleSetArn *string `type:"string"`
24917
24918	// A collection of matchmaking rules, formatted as a JSON string. Comments are
24919	// not allowed in JSON, but most elements support a description field.
24920	//
24921	// RuleSetBody is a required field
24922	RuleSetBody *string `min:"1" type:"string" required:"true"`
24923
24924	// A unique identifier for the matchmaking rule set
24925	RuleSetName *string `type:"string"`
24926}
24927
24928// String returns the string representation.
24929//
24930// API parameter values that are decorated as "sensitive" in the API will not
24931// be included in the string output. The member name will be present, but the
24932// value will be replaced with "sensitive".
24933func (s MatchmakingRuleSet) String() string {
24934	return awsutil.Prettify(s)
24935}
24936
24937// GoString returns the string representation.
24938//
24939// API parameter values that are decorated as "sensitive" in the API will not
24940// be included in the string output. The member name will be present, but the
24941// value will be replaced with "sensitive".
24942func (s MatchmakingRuleSet) GoString() string {
24943	return s.String()
24944}
24945
24946// SetCreationTime sets the CreationTime field's value.
24947func (s *MatchmakingRuleSet) SetCreationTime(v time.Time) *MatchmakingRuleSet {
24948	s.CreationTime = &v
24949	return s
24950}
24951
24952// SetRuleSetArn sets the RuleSetArn field's value.
24953func (s *MatchmakingRuleSet) SetRuleSetArn(v string) *MatchmakingRuleSet {
24954	s.RuleSetArn = &v
24955	return s
24956}
24957
24958// SetRuleSetBody sets the RuleSetBody field's value.
24959func (s *MatchmakingRuleSet) SetRuleSetBody(v string) *MatchmakingRuleSet {
24960	s.RuleSetBody = &v
24961	return s
24962}
24963
24964// SetRuleSetName sets the RuleSetName field's value.
24965func (s *MatchmakingRuleSet) SetRuleSetName(v string) *MatchmakingRuleSet {
24966	s.RuleSetName = &v
24967	return s
24968}
24969
24970// Ticket generated to track the progress of a matchmaking request. Each ticket
24971// is uniquely identified by a ticket ID, supplied by the requester, when creating
24972// a matchmaking request with StartMatchmaking. Tickets can be retrieved by
24973// calling DescribeMatchmaking with the ticket ID.
24974type MatchmakingTicket struct {
24975	_ struct{} `type:"structure"`
24976
24977	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
24978	// associated with the GameLift matchmaking configuration resource that is used
24979	// with this ticket.
24980	ConfigurationArn *string `type:"string"`
24981
24982	// Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking
24983	// configurations determine how players are grouped into a match and how a new
24984	// game session is created for the match.
24985	ConfigurationName *string `type:"string"`
24986
24987	// Time stamp indicating when this matchmaking request stopped being processed
24988	// due to success, failure, or cancellation. Format is a number expressed in
24989	// Unix time as milliseconds (for example "1469498468.057").
24990	EndTime *time.Time `type:"timestamp"`
24991
24992	// Average amount of time (in seconds) that players are currently waiting for
24993	// a match. If there is not enough recent data, this property may be empty.
24994	EstimatedWaitTime *int64 `type:"integer"`
24995
24996	// Identifier and connection information of the game session created for the
24997	// match. This information is added to the ticket only after the matchmaking
24998	// request has been successfully completed. This parameter is not set when FlexMatch
24999	// is being used without GameLift hosting.
25000	GameSessionConnectionInfo *GameSessionConnectionInfo `type:"structure"`
25001
25002	// A set of Player objects, each representing a player to find matches for.
25003	// Players are identified by a unique player ID and may include latency data
25004	// for use during matchmaking. If the ticket is in status COMPLETED, the Player
25005	// objects include the team the players were assigned to in the resulting match.
25006	Players []*Player `type:"list"`
25007
25008	// Time stamp indicating when this matchmaking request was received. Format
25009	// is a number expressed in Unix time as milliseconds (for example "1469498468.057").
25010	StartTime *time.Time `type:"timestamp"`
25011
25012	// Current status of the matchmaking request.
25013	//
25014	//    * QUEUED -- The matchmaking request has been received and is currently
25015	//    waiting to be processed.
25016	//
25017	//    * SEARCHING -- The matchmaking request is currently being processed.
25018	//
25019	//    * REQUIRES_ACCEPTANCE -- A match has been proposed and the players must
25020	//    accept the match (see AcceptMatch). This status is used only with requests
25021	//    that use a matchmaking configuration with a player acceptance requirement.
25022	//
25023	//    * PLACING -- The FlexMatch engine has matched players and is in the process
25024	//    of placing a new game session for the match.
25025	//
25026	//    * COMPLETED -- Players have been matched and a game session is ready to
25027	//    host the players. A ticket in this state contains the necessary connection
25028	//    information for players.
25029	//
25030	//    * FAILED -- The matchmaking request was not completed.
25031	//
25032	//    * CANCELLED -- The matchmaking request was canceled. This may be the result
25033	//    of a call to StopMatchmaking or a proposed match that one or more players
25034	//    failed to accept.
25035	//
25036	//    * TIMED_OUT -- The matchmaking request was not successful within the duration
25037	//    specified in the matchmaking configuration.
25038	//
25039	// Matchmaking requests that fail to successfully complete (statuses FAILED,
25040	// CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket
25041	// IDs.
25042	Status *string `type:"string" enum:"MatchmakingConfigurationStatus"`
25043
25044	// Additional information about the current status.
25045	StatusMessage *string `type:"string"`
25046
25047	// Code to explain the current status. For example, a status reason may indicate
25048	// when a ticket has returned to SEARCHING status after a proposed match fails
25049	// to receive player acceptances.
25050	StatusReason *string `type:"string"`
25051
25052	// A unique identifier for a matchmaking ticket.
25053	TicketId *string `type:"string"`
25054}
25055
25056// String returns the string representation.
25057//
25058// API parameter values that are decorated as "sensitive" in the API will not
25059// be included in the string output. The member name will be present, but the
25060// value will be replaced with "sensitive".
25061func (s MatchmakingTicket) String() string {
25062	return awsutil.Prettify(s)
25063}
25064
25065// GoString returns the string representation.
25066//
25067// API parameter values that are decorated as "sensitive" in the API will not
25068// be included in the string output. The member name will be present, but the
25069// value will be replaced with "sensitive".
25070func (s MatchmakingTicket) GoString() string {
25071	return s.String()
25072}
25073
25074// SetConfigurationArn sets the ConfigurationArn field's value.
25075func (s *MatchmakingTicket) SetConfigurationArn(v string) *MatchmakingTicket {
25076	s.ConfigurationArn = &v
25077	return s
25078}
25079
25080// SetConfigurationName sets the ConfigurationName field's value.
25081func (s *MatchmakingTicket) SetConfigurationName(v string) *MatchmakingTicket {
25082	s.ConfigurationName = &v
25083	return s
25084}
25085
25086// SetEndTime sets the EndTime field's value.
25087func (s *MatchmakingTicket) SetEndTime(v time.Time) *MatchmakingTicket {
25088	s.EndTime = &v
25089	return s
25090}
25091
25092// SetEstimatedWaitTime sets the EstimatedWaitTime field's value.
25093func (s *MatchmakingTicket) SetEstimatedWaitTime(v int64) *MatchmakingTicket {
25094	s.EstimatedWaitTime = &v
25095	return s
25096}
25097
25098// SetGameSessionConnectionInfo sets the GameSessionConnectionInfo field's value.
25099func (s *MatchmakingTicket) SetGameSessionConnectionInfo(v *GameSessionConnectionInfo) *MatchmakingTicket {
25100	s.GameSessionConnectionInfo = v
25101	return s
25102}
25103
25104// SetPlayers sets the Players field's value.
25105func (s *MatchmakingTicket) SetPlayers(v []*Player) *MatchmakingTicket {
25106	s.Players = v
25107	return s
25108}
25109
25110// SetStartTime sets the StartTime field's value.
25111func (s *MatchmakingTicket) SetStartTime(v time.Time) *MatchmakingTicket {
25112	s.StartTime = &v
25113	return s
25114}
25115
25116// SetStatus sets the Status field's value.
25117func (s *MatchmakingTicket) SetStatus(v string) *MatchmakingTicket {
25118	s.Status = &v
25119	return s
25120}
25121
25122// SetStatusMessage sets the StatusMessage field's value.
25123func (s *MatchmakingTicket) SetStatusMessage(v string) *MatchmakingTicket {
25124	s.StatusMessage = &v
25125	return s
25126}
25127
25128// SetStatusReason sets the StatusReason field's value.
25129func (s *MatchmakingTicket) SetStatusReason(v string) *MatchmakingTicket {
25130	s.StatusReason = &v
25131	return s
25132}
25133
25134// SetTicketId sets the TicketId field's value.
25135func (s *MatchmakingTicket) SetTicketId(v string) *MatchmakingTicket {
25136	s.TicketId = &v
25137	return s
25138}
25139
25140// A service resource associated with the request could not be found. Clients
25141// should not retry such requests.
25142type NotFoundException struct {
25143	_            struct{}                  `type:"structure"`
25144	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
25145
25146	Message_ *string `locationName:"Message" min:"1" type:"string"`
25147}
25148
25149// String returns the string representation.
25150//
25151// API parameter values that are decorated as "sensitive" in the API will not
25152// be included in the string output. The member name will be present, but the
25153// value will be replaced with "sensitive".
25154func (s NotFoundException) String() string {
25155	return awsutil.Prettify(s)
25156}
25157
25158// GoString returns the string representation.
25159//
25160// API parameter values that are decorated as "sensitive" in the API will not
25161// be included in the string output. The member name will be present, but the
25162// value will be replaced with "sensitive".
25163func (s NotFoundException) GoString() string {
25164	return s.String()
25165}
25166
25167func newErrorNotFoundException(v protocol.ResponseMetadata) error {
25168	return &NotFoundException{
25169		RespMetadata: v,
25170	}
25171}
25172
25173// Code returns the exception type name.
25174func (s *NotFoundException) Code() string {
25175	return "NotFoundException"
25176}
25177
25178// Message returns the exception's message.
25179func (s *NotFoundException) Message() string {
25180	if s.Message_ != nil {
25181		return *s.Message_
25182	}
25183	return ""
25184}
25185
25186// OrigErr always returns nil, satisfies awserr.Error interface.
25187func (s *NotFoundException) OrigErr() error {
25188	return nil
25189}
25190
25191func (s *NotFoundException) Error() string {
25192	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
25193}
25194
25195// Status code returns the HTTP status code for the request's response error.
25196func (s *NotFoundException) StatusCode() int {
25197	return s.RespMetadata.StatusCode
25198}
25199
25200// RequestID returns the service's response RequestID for request.
25201func (s *NotFoundException) RequestID() string {
25202	return s.RespMetadata.RequestID
25203}
25204
25205// The specified game server group has no available game servers to fulfill
25206// a ClaimGameServer request. Clients can retry such requests immediately or
25207// after a waiting period.
25208type OutOfCapacityException struct {
25209	_            struct{}                  `type:"structure"`
25210	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
25211
25212	Message_ *string `locationName:"Message" min:"1" type:"string"`
25213}
25214
25215// String returns the string representation.
25216//
25217// API parameter values that are decorated as "sensitive" in the API will not
25218// be included in the string output. The member name will be present, but the
25219// value will be replaced with "sensitive".
25220func (s OutOfCapacityException) String() string {
25221	return awsutil.Prettify(s)
25222}
25223
25224// GoString returns the string representation.
25225//
25226// API parameter values that are decorated as "sensitive" in the API will not
25227// be included in the string output. The member name will be present, but the
25228// value will be replaced with "sensitive".
25229func (s OutOfCapacityException) GoString() string {
25230	return s.String()
25231}
25232
25233func newErrorOutOfCapacityException(v protocol.ResponseMetadata) error {
25234	return &OutOfCapacityException{
25235		RespMetadata: v,
25236	}
25237}
25238
25239// Code returns the exception type name.
25240func (s *OutOfCapacityException) Code() string {
25241	return "OutOfCapacityException"
25242}
25243
25244// Message returns the exception's message.
25245func (s *OutOfCapacityException) Message() string {
25246	if s.Message_ != nil {
25247		return *s.Message_
25248	}
25249	return ""
25250}
25251
25252// OrigErr always returns nil, satisfies awserr.Error interface.
25253func (s *OutOfCapacityException) OrigErr() error {
25254	return nil
25255}
25256
25257func (s *OutOfCapacityException) Error() string {
25258	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
25259}
25260
25261// Status code returns the HTTP status code for the request's response error.
25262func (s *OutOfCapacityException) StatusCode() int {
25263	return s.RespMetadata.StatusCode
25264}
25265
25266// RequestID returns the service's response RequestID for request.
25267func (s *OutOfCapacityException) RequestID() string {
25268	return s.RespMetadata.RequestID
25269}
25270
25271// Information about a player session that was created as part of a StartGameSessionPlacement
25272// request. This object contains only the player ID and player session ID. To
25273// retrieve full details on a player session, call DescribePlayerSessions with
25274// the player session ID.
25275//
25276// Related actions
25277//
25278// CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
25279// | DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
25280// (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
25281type PlacedPlayerSession struct {
25282	_ struct{} `type:"structure"`
25283
25284	// A unique identifier for a player that is associated with this player session.
25285	PlayerId *string `min:"1" type:"string"`
25286
25287	// A unique identifier for a player session.
25288	PlayerSessionId *string `type:"string"`
25289}
25290
25291// String returns the string representation.
25292//
25293// API parameter values that are decorated as "sensitive" in the API will not
25294// be included in the string output. The member name will be present, but the
25295// value will be replaced with "sensitive".
25296func (s PlacedPlayerSession) String() string {
25297	return awsutil.Prettify(s)
25298}
25299
25300// GoString returns the string representation.
25301//
25302// API parameter values that are decorated as "sensitive" in the API will not
25303// be included in the string output. The member name will be present, but the
25304// value will be replaced with "sensitive".
25305func (s PlacedPlayerSession) GoString() string {
25306	return s.String()
25307}
25308
25309// SetPlayerId sets the PlayerId field's value.
25310func (s *PlacedPlayerSession) SetPlayerId(v string) *PlacedPlayerSession {
25311	s.PlayerId = &v
25312	return s
25313}
25314
25315// SetPlayerSessionId sets the PlayerSessionId field's value.
25316func (s *PlacedPlayerSession) SetPlayerSessionId(v string) *PlacedPlayerSession {
25317	s.PlayerSessionId = &v
25318	return s
25319}
25320
25321// Represents a player in matchmaking. When starting a matchmaking request,
25322// a player has a player ID, attributes, and may have latency data. Team information
25323// is added after a match has been successfully completed.
25324type Player struct {
25325	_ struct{} `type:"structure"`
25326
25327	// A set of values, expressed in milliseconds, that indicates the amount of
25328	// latency that a player experiences when connected to AWS Regions. If this
25329	// property is present, FlexMatch considers placing the match only in Regions
25330	// for which latency is reported.
25331	//
25332	// If a matchmaker has a rule that evaluates player latency, players must report
25333	// latency in order to be matched. If no latency is reported in this scenario,
25334	// FlexMatch assumes that no Regions are available to the player and the ticket
25335	// is not matchable.
25336	LatencyInMs map[string]*int64 `type:"map"`
25337
25338	// A collection of key:value pairs containing player information for use in
25339	// matchmaking. Player attribute keys must match the playerAttributes used in
25340	// a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N": "23"},
25341	// "gameMode": {"S": "deathmatch"}}.
25342	PlayerAttributes map[string]*AttributeValue `type:"map"`
25343
25344	// A unique identifier for a player
25345	PlayerId *string `min:"1" type:"string"`
25346
25347	// Name of the team that the player is assigned to in a match. Team names are
25348	// defined in a matchmaking rule set.
25349	Team *string `min:"1" type:"string"`
25350}
25351
25352// String returns the string representation.
25353//
25354// API parameter values that are decorated as "sensitive" in the API will not
25355// be included in the string output. The member name will be present, but the
25356// value will be replaced with "sensitive".
25357func (s Player) String() string {
25358	return awsutil.Prettify(s)
25359}
25360
25361// GoString returns the string representation.
25362//
25363// API parameter values that are decorated as "sensitive" in the API will not
25364// be included in the string output. The member name will be present, but the
25365// value will be replaced with "sensitive".
25366func (s Player) GoString() string {
25367	return s.String()
25368}
25369
25370// Validate inspects the fields of the type to determine if they are valid.
25371func (s *Player) Validate() error {
25372	invalidParams := request.ErrInvalidParams{Context: "Player"}
25373	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
25374		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
25375	}
25376	if s.Team != nil && len(*s.Team) < 1 {
25377		invalidParams.Add(request.NewErrParamMinLen("Team", 1))
25378	}
25379	if s.PlayerAttributes != nil {
25380		for i, v := range s.PlayerAttributes {
25381			if v == nil {
25382				continue
25383			}
25384			if err := v.Validate(); err != nil {
25385				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerAttributes", i), err.(request.ErrInvalidParams))
25386			}
25387		}
25388	}
25389
25390	if invalidParams.Len() > 0 {
25391		return invalidParams
25392	}
25393	return nil
25394}
25395
25396// SetLatencyInMs sets the LatencyInMs field's value.
25397func (s *Player) SetLatencyInMs(v map[string]*int64) *Player {
25398	s.LatencyInMs = v
25399	return s
25400}
25401
25402// SetPlayerAttributes sets the PlayerAttributes field's value.
25403func (s *Player) SetPlayerAttributes(v map[string]*AttributeValue) *Player {
25404	s.PlayerAttributes = v
25405	return s
25406}
25407
25408// SetPlayerId sets the PlayerId field's value.
25409func (s *Player) SetPlayerId(v string) *Player {
25410	s.PlayerId = &v
25411	return s
25412}
25413
25414// SetTeam sets the Team field's value.
25415func (s *Player) SetTeam(v string) *Player {
25416	s.Team = &v
25417	return s
25418}
25419
25420// Regional latency information for a player, used when requesting a new game
25421// session with StartGameSessionPlacement. This value indicates the amount of
25422// time lag that exists when the player is connected to a fleet in the specified
25423// Region. The relative difference between a player's latency values for multiple
25424// Regions are used to determine which fleets are best suited to place a new
25425// game session for the player.
25426type PlayerLatency struct {
25427	_ struct{} `type:"structure"`
25428
25429	// Amount of time that represents the time lag experienced by the player when
25430	// connected to the specified Region.
25431	LatencyInMilliseconds *float64 `type:"float"`
25432
25433	// A unique identifier for a player associated with the latency data.
25434	PlayerId *string `min:"1" type:"string"`
25435
25436	// Name of the Region that is associated with the latency value.
25437	RegionIdentifier *string `min:"1" type:"string"`
25438}
25439
25440// String returns the string representation.
25441//
25442// API parameter values that are decorated as "sensitive" in the API will not
25443// be included in the string output. The member name will be present, but the
25444// value will be replaced with "sensitive".
25445func (s PlayerLatency) String() string {
25446	return awsutil.Prettify(s)
25447}
25448
25449// GoString returns the string representation.
25450//
25451// API parameter values that are decorated as "sensitive" in the API will not
25452// be included in the string output. The member name will be present, but the
25453// value will be replaced with "sensitive".
25454func (s PlayerLatency) GoString() string {
25455	return s.String()
25456}
25457
25458// Validate inspects the fields of the type to determine if they are valid.
25459func (s *PlayerLatency) Validate() error {
25460	invalidParams := request.ErrInvalidParams{Context: "PlayerLatency"}
25461	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
25462		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
25463	}
25464	if s.RegionIdentifier != nil && len(*s.RegionIdentifier) < 1 {
25465		invalidParams.Add(request.NewErrParamMinLen("RegionIdentifier", 1))
25466	}
25467
25468	if invalidParams.Len() > 0 {
25469		return invalidParams
25470	}
25471	return nil
25472}
25473
25474// SetLatencyInMilliseconds sets the LatencyInMilliseconds field's value.
25475func (s *PlayerLatency) SetLatencyInMilliseconds(v float64) *PlayerLatency {
25476	s.LatencyInMilliseconds = &v
25477	return s
25478}
25479
25480// SetPlayerId sets the PlayerId field's value.
25481func (s *PlayerLatency) SetPlayerId(v string) *PlayerLatency {
25482	s.PlayerId = &v
25483	return s
25484}
25485
25486// SetRegionIdentifier sets the RegionIdentifier field's value.
25487func (s *PlayerLatency) SetRegionIdentifier(v string) *PlayerLatency {
25488	s.RegionIdentifier = &v
25489	return s
25490}
25491
25492// Sets a latency cap for individual players when placing a game session. With
25493// a latency policy in force, a game session cannot be placed in a fleet location
25494// where a player reports latency higher than the cap. Latency policies are
25495// used only with placement request that provide player latency information.
25496// Player latency policies can be stacked to gradually relax latency requirements
25497// over time.
25498//
25499// Latency policies are part of a GameSessionQueue.
25500type PlayerLatencyPolicy struct {
25501	_ struct{} `type:"structure"`
25502
25503	// The maximum latency value that is allowed for any player, in milliseconds.
25504	// All policies must have a value set for this property.
25505	MaximumIndividualPlayerLatencyMilliseconds *int64 `type:"integer"`
25506
25507	// The length of time, in seconds, that the policy is enforced while placing
25508	// a new game session. A null value for this property means that the policy
25509	// is enforced until the queue times out.
25510	PolicyDurationSeconds *int64 `type:"integer"`
25511}
25512
25513// String returns the string representation.
25514//
25515// API parameter values that are decorated as "sensitive" in the API will not
25516// be included in the string output. The member name will be present, but the
25517// value will be replaced with "sensitive".
25518func (s PlayerLatencyPolicy) String() string {
25519	return awsutil.Prettify(s)
25520}
25521
25522// GoString returns the string representation.
25523//
25524// API parameter values that are decorated as "sensitive" in the API will not
25525// be included in the string output. The member name will be present, but the
25526// value will be replaced with "sensitive".
25527func (s PlayerLatencyPolicy) GoString() string {
25528	return s.String()
25529}
25530
25531// SetMaximumIndividualPlayerLatencyMilliseconds sets the MaximumIndividualPlayerLatencyMilliseconds field's value.
25532func (s *PlayerLatencyPolicy) SetMaximumIndividualPlayerLatencyMilliseconds(v int64) *PlayerLatencyPolicy {
25533	s.MaximumIndividualPlayerLatencyMilliseconds = &v
25534	return s
25535}
25536
25537// SetPolicyDurationSeconds sets the PolicyDurationSeconds field's value.
25538func (s *PlayerLatencyPolicy) SetPolicyDurationSeconds(v int64) *PlayerLatencyPolicy {
25539	s.PolicyDurationSeconds = &v
25540	return s
25541}
25542
25543// Represents a player session. Player sessions are created either for a specific
25544// game session, or as part of a game session placement or matchmaking request.
25545// A player session can represents a reserved player slot in a game session
25546// (when status is RESERVED) or actual player activity in a game session (when
25547// status is ACTIVE). A player session object, including player data, is automatically
25548// passed to a game session when the player connects to the game session and
25549// is validated. After the game session ends, player sessions information is
25550// retained for 30 days and then removed.
25551//
25552// Related actions
25553//
25554// CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
25555// | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
25556type PlayerSession struct {
25557	_ struct{} `type:"structure"`
25558
25559	// A time stamp indicating when this data object was created. Format is a number
25560	// expressed in Unix time as milliseconds (for example "1469498468.057").
25561	CreationTime *time.Time `type:"timestamp"`
25562
25563	// The DNS identifier assigned to the instance that is running the game session.
25564	// Values have the following format:
25565	//
25566	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
25567	//
25568	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
25569	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
25570	//
25571	// When connecting to a game session that is running on a TLS-enabled fleet,
25572	// you must use the DNS name, not the IP address.
25573	DnsName *string `type:"string"`
25574
25575	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
25576	// associated with the GameLift fleet that the player's game session is running
25577	// on.
25578	FleetArn *string `type:"string"`
25579
25580	// A unique identifier for the fleet that the player's game session is running
25581	// on.
25582	FleetId *string `type:"string"`
25583
25584	// A unique identifier for the game session that the player session is connected
25585	// to.
25586	GameSessionId *string `min:"1" type:"string"`
25587
25588	// The IP address of the game session. To connect to a GameLift game server,
25589	// an app needs both the IP address and port number.
25590	IpAddress *string `min:"1" type:"string"`
25591
25592	// Developer-defined information related to a player. GameLift does not use
25593	// this data, so it can be formatted as needed for use in the game.
25594	PlayerData *string `min:"1" type:"string"`
25595
25596	// A unique identifier for a player that is associated with this player session.
25597	PlayerId *string `min:"1" type:"string"`
25598
25599	// A unique identifier for a player session.
25600	PlayerSessionId *string `type:"string"`
25601
25602	// Port number for the game session. To connect to a Amazon GameLift server
25603	// process, an app needs both the IP address and port number.
25604	Port *int64 `min:"1" type:"integer"`
25605
25606	// Current status of the player session.
25607	//
25608	// Possible player session statuses include the following:
25609	//
25610	//    * RESERVED -- The player session request has been received, but the player
25611	//    has not yet connected to the server process and/or been validated.
25612	//
25613	//    * ACTIVE -- The player has been validated by the server process and is
25614	//    currently connected.
25615	//
25616	//    * COMPLETED -- The player connection has been dropped.
25617	//
25618	//    * TIMEDOUT -- A player session request was received, but the player did
25619	//    not connect and/or was not validated within the timeout limit (60 seconds).
25620	Status *string `type:"string" enum:"PlayerSessionStatus"`
25621
25622	// A time stamp indicating when this data object was terminated. Format is a
25623	// number expressed in Unix time as milliseconds (for example "1469498468.057").
25624	TerminationTime *time.Time `type:"timestamp"`
25625}
25626
25627// String returns the string representation.
25628//
25629// API parameter values that are decorated as "sensitive" in the API will not
25630// be included in the string output. The member name will be present, but the
25631// value will be replaced with "sensitive".
25632func (s PlayerSession) String() string {
25633	return awsutil.Prettify(s)
25634}
25635
25636// GoString returns the string representation.
25637//
25638// API parameter values that are decorated as "sensitive" in the API will not
25639// be included in the string output. The member name will be present, but the
25640// value will be replaced with "sensitive".
25641func (s PlayerSession) GoString() string {
25642	return s.String()
25643}
25644
25645// SetCreationTime sets the CreationTime field's value.
25646func (s *PlayerSession) SetCreationTime(v time.Time) *PlayerSession {
25647	s.CreationTime = &v
25648	return s
25649}
25650
25651// SetDnsName sets the DnsName field's value.
25652func (s *PlayerSession) SetDnsName(v string) *PlayerSession {
25653	s.DnsName = &v
25654	return s
25655}
25656
25657// SetFleetArn sets the FleetArn field's value.
25658func (s *PlayerSession) SetFleetArn(v string) *PlayerSession {
25659	s.FleetArn = &v
25660	return s
25661}
25662
25663// SetFleetId sets the FleetId field's value.
25664func (s *PlayerSession) SetFleetId(v string) *PlayerSession {
25665	s.FleetId = &v
25666	return s
25667}
25668
25669// SetGameSessionId sets the GameSessionId field's value.
25670func (s *PlayerSession) SetGameSessionId(v string) *PlayerSession {
25671	s.GameSessionId = &v
25672	return s
25673}
25674
25675// SetIpAddress sets the IpAddress field's value.
25676func (s *PlayerSession) SetIpAddress(v string) *PlayerSession {
25677	s.IpAddress = &v
25678	return s
25679}
25680
25681// SetPlayerData sets the PlayerData field's value.
25682func (s *PlayerSession) SetPlayerData(v string) *PlayerSession {
25683	s.PlayerData = &v
25684	return s
25685}
25686
25687// SetPlayerId sets the PlayerId field's value.
25688func (s *PlayerSession) SetPlayerId(v string) *PlayerSession {
25689	s.PlayerId = &v
25690	return s
25691}
25692
25693// SetPlayerSessionId sets the PlayerSessionId field's value.
25694func (s *PlayerSession) SetPlayerSessionId(v string) *PlayerSession {
25695	s.PlayerSessionId = &v
25696	return s
25697}
25698
25699// SetPort sets the Port field's value.
25700func (s *PlayerSession) SetPort(v int64) *PlayerSession {
25701	s.Port = &v
25702	return s
25703}
25704
25705// SetStatus sets the Status field's value.
25706func (s *PlayerSession) SetStatus(v string) *PlayerSession {
25707	s.Status = &v
25708	return s
25709}
25710
25711// SetTerminationTime sets the TerminationTime field's value.
25712func (s *PlayerSession) SetTerminationTime(v time.Time) *PlayerSession {
25713	s.TerminationTime = &v
25714	return s
25715}
25716
25717// Custom prioritization settings for use by a game session queue when placing
25718// new game sessions with available game servers. When defined, this configuration
25719// replaces the default FleetIQ prioritization process, which is as follows:
25720//
25721//    * If player latency data is included in a game session request, destinations
25722//    and locations are prioritized first based on lowest average latency (1),
25723//    then on lowest hosting cost (2), then on destination list order (3), and
25724//    finally on location (alphabetical) (4). This approach ensures that the
25725//    queue's top priority is to place game sessions where average player latency
25726//    is lowest, and--if latency is the same--where the hosting cost is less,
25727//    etc.
25728//
25729//    * If player latency data is not included, destinations and locations are
25730//    prioritized first on destination list order (1), and then on location
25731//    (alphabetical) (2). This approach ensures that the queue's top priority
25732//    is to place game sessions on the first destination fleet listed. If that
25733//    fleet has multiple locations, the game session is placed on the first
25734//    location (when listed alphabetically).
25735//
25736// Changing the priority order will affect how game sessions are placed.
25737//
25738// Priority configurations are part of a GameSessionQueue.
25739type PriorityConfiguration struct {
25740	_ struct{} `type:"structure"`
25741
25742	// The prioritization order to use for fleet locations, when the PriorityOrder
25743	// property includes LOCATION. Locations are identified by AWS Region codes
25744	// such as us-west-2. Each location can only be listed once.
25745	LocationOrder []*string `min:"1" type:"list"`
25746
25747	// The recommended sequence to use when prioritizing where to place new game
25748	// sessions. Each type can only be listed once.
25749	//
25750	//    * LATENCY -- FleetIQ prioritizes locations where the average player latency
25751	//    (provided in each game session request) is lowest.
25752	//
25753	//    * COST -- FleetIQ prioritizes destinations with the lowest current hosting
25754	//    costs. Cost is evaluated based on the location, instance type, and fleet
25755	//    type (Spot or On-Demand) for each destination in the queue.
25756	//
25757	//    * DESTINATION -- FleetIQ prioritizes based on the order that destinations
25758	//    are listed in the queue configuration.
25759	//
25760	//    * LOCATION -- FleetIQ prioritizes based on the provided order of locations,
25761	//    as defined in LocationOrder.
25762	PriorityOrder []*string `min:"1" type:"list"`
25763}
25764
25765// String returns the string representation.
25766//
25767// API parameter values that are decorated as "sensitive" in the API will not
25768// be included in the string output. The member name will be present, but the
25769// value will be replaced with "sensitive".
25770func (s PriorityConfiguration) String() string {
25771	return awsutil.Prettify(s)
25772}
25773
25774// GoString returns the string representation.
25775//
25776// API parameter values that are decorated as "sensitive" in the API will not
25777// be included in the string output. The member name will be present, but the
25778// value will be replaced with "sensitive".
25779func (s PriorityConfiguration) GoString() string {
25780	return s.String()
25781}
25782
25783// Validate inspects the fields of the type to determine if they are valid.
25784func (s *PriorityConfiguration) Validate() error {
25785	invalidParams := request.ErrInvalidParams{Context: "PriorityConfiguration"}
25786	if s.LocationOrder != nil && len(s.LocationOrder) < 1 {
25787		invalidParams.Add(request.NewErrParamMinLen("LocationOrder", 1))
25788	}
25789	if s.PriorityOrder != nil && len(s.PriorityOrder) < 1 {
25790		invalidParams.Add(request.NewErrParamMinLen("PriorityOrder", 1))
25791	}
25792
25793	if invalidParams.Len() > 0 {
25794		return invalidParams
25795	}
25796	return nil
25797}
25798
25799// SetLocationOrder sets the LocationOrder field's value.
25800func (s *PriorityConfiguration) SetLocationOrder(v []*string) *PriorityConfiguration {
25801	s.LocationOrder = v
25802	return s
25803}
25804
25805// SetPriorityOrder sets the PriorityOrder field's value.
25806func (s *PriorityConfiguration) SetPriorityOrder(v []*string) *PriorityConfiguration {
25807	s.PriorityOrder = v
25808	return s
25809}
25810
25811// Represents the input for a request operation.
25812type PutScalingPolicyInput struct {
25813	_ struct{} `type:"structure"`
25814
25815	// Comparison operator to use when measuring the metric against the threshold
25816	// value.
25817	ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"`
25818
25819	// Length of time (in minutes) the metric must be at or beyond the threshold
25820	// before a scaling event is triggered.
25821	EvaluationPeriods *int64 `min:"1" type:"integer"`
25822
25823	// A unique identifier for the fleet to apply this policy to. You can use either
25824	// the fleet ID or ARN value. The fleet cannot be in any of the following statuses:
25825	// ERROR or DELETING.
25826	//
25827	// FleetId is a required field
25828	FleetId *string `type:"string" required:"true"`
25829
25830	// Name of the Amazon GameLift-defined metric that is used to trigger a scaling
25831	// adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon
25832	// GameLift with Amazon CloudWatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).
25833	//
25834	//    * ActivatingGameSessions -- Game sessions in the process of being created.
25835	//
25836	//    * ActiveGameSessions -- Game sessions that are currently running.
25837	//
25838	//    * ActiveInstances -- Fleet instances that are currently running at least
25839	//    one game session.
25840	//
25841	//    * AvailableGameSessions -- Additional game sessions that fleet could host
25842	//    simultaneously, given current capacity.
25843	//
25844	//    * AvailablePlayerSessions -- Empty player slots in currently active game
25845	//    sessions. This includes game sessions that are not currently accepting
25846	//    players. Reserved player slots are not included.
25847	//
25848	//    * CurrentPlayerSessions -- Player slots in active game sessions that are
25849	//    being used by a player or are reserved for a player.
25850	//
25851	//    * IdleInstances -- Active instances that are currently hosting zero game
25852	//    sessions.
25853	//
25854	//    * PercentAvailableGameSessions -- Unused percentage of the total number
25855	//    of game sessions that a fleet could host simultaneously, given current
25856	//    capacity. Use this metric for a target-based scaling policy.
25857	//
25858	//    * PercentIdleInstances -- Percentage of the total number of active instances
25859	//    that are hosting zero game sessions.
25860	//
25861	//    * QueueDepth -- Pending game session placement requests, in any queue,
25862	//    where the current fleet is the top-priority destination.
25863	//
25864	//    * WaitTime -- Current wait time for pending game session placement requests,
25865	//    in any queue, where the current fleet is the top-priority destination.
25866	//
25867	// MetricName is a required field
25868	MetricName *string `type:"string" required:"true" enum:"MetricName"`
25869
25870	// A descriptive label that is associated with a fleet's scaling policy. Policy
25871	// names do not need to be unique. A fleet can have only one scaling policy
25872	// with the same name.
25873	//
25874	// Name is a required field
25875	Name *string `min:"1" type:"string" required:"true"`
25876
25877	// The type of scaling policy to create. For a target-based policy, set the
25878	// parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration.
25879	// For a rule-based policy set the following parameters: MetricName, ComparisonOperator,
25880	// Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
25881	PolicyType *string `type:"string" enum:"PolicyType"`
25882
25883	// Amount of adjustment to make, based on the scaling adjustment type.
25884	ScalingAdjustment *int64 `type:"integer"`
25885
25886	// The type of adjustment to make to a fleet's instance count (see FleetCapacity):
25887	//
25888	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
25889	//    the current instance count. Positive values scale up while negative values
25890	//    scale down.
25891	//
25892	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
25893	//
25894	//    * PercentChangeInCapacity -- increase or reduce the current instance count
25895	//    by the scaling adjustment, read as a percentage. Positive values scale
25896	//    up while negative values scale down; for example, a value of "-10" scales
25897	//    the fleet down by 10%.
25898	ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"`
25899
25900	// An object that contains settings for a target-based scaling policy.
25901	TargetConfiguration *TargetConfiguration `type:"structure"`
25902
25903	// Metric value used to trigger a scaling event.
25904	Threshold *float64 `type:"double"`
25905}
25906
25907// String returns the string representation.
25908//
25909// API parameter values that are decorated as "sensitive" in the API will not
25910// be included in the string output. The member name will be present, but the
25911// value will be replaced with "sensitive".
25912func (s PutScalingPolicyInput) String() string {
25913	return awsutil.Prettify(s)
25914}
25915
25916// GoString returns the string representation.
25917//
25918// API parameter values that are decorated as "sensitive" in the API will not
25919// be included in the string output. The member name will be present, but the
25920// value will be replaced with "sensitive".
25921func (s PutScalingPolicyInput) GoString() string {
25922	return s.String()
25923}
25924
25925// Validate inspects the fields of the type to determine if they are valid.
25926func (s *PutScalingPolicyInput) Validate() error {
25927	invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"}
25928	if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 {
25929		invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1))
25930	}
25931	if s.FleetId == nil {
25932		invalidParams.Add(request.NewErrParamRequired("FleetId"))
25933	}
25934	if s.MetricName == nil {
25935		invalidParams.Add(request.NewErrParamRequired("MetricName"))
25936	}
25937	if s.Name == nil {
25938		invalidParams.Add(request.NewErrParamRequired("Name"))
25939	}
25940	if s.Name != nil && len(*s.Name) < 1 {
25941		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
25942	}
25943	if s.TargetConfiguration != nil {
25944		if err := s.TargetConfiguration.Validate(); err != nil {
25945			invalidParams.AddNested("TargetConfiguration", err.(request.ErrInvalidParams))
25946		}
25947	}
25948
25949	if invalidParams.Len() > 0 {
25950		return invalidParams
25951	}
25952	return nil
25953}
25954
25955// SetComparisonOperator sets the ComparisonOperator field's value.
25956func (s *PutScalingPolicyInput) SetComparisonOperator(v string) *PutScalingPolicyInput {
25957	s.ComparisonOperator = &v
25958	return s
25959}
25960
25961// SetEvaluationPeriods sets the EvaluationPeriods field's value.
25962func (s *PutScalingPolicyInput) SetEvaluationPeriods(v int64) *PutScalingPolicyInput {
25963	s.EvaluationPeriods = &v
25964	return s
25965}
25966
25967// SetFleetId sets the FleetId field's value.
25968func (s *PutScalingPolicyInput) SetFleetId(v string) *PutScalingPolicyInput {
25969	s.FleetId = &v
25970	return s
25971}
25972
25973// SetMetricName sets the MetricName field's value.
25974func (s *PutScalingPolicyInput) SetMetricName(v string) *PutScalingPolicyInput {
25975	s.MetricName = &v
25976	return s
25977}
25978
25979// SetName sets the Name field's value.
25980func (s *PutScalingPolicyInput) SetName(v string) *PutScalingPolicyInput {
25981	s.Name = &v
25982	return s
25983}
25984
25985// SetPolicyType sets the PolicyType field's value.
25986func (s *PutScalingPolicyInput) SetPolicyType(v string) *PutScalingPolicyInput {
25987	s.PolicyType = &v
25988	return s
25989}
25990
25991// SetScalingAdjustment sets the ScalingAdjustment field's value.
25992func (s *PutScalingPolicyInput) SetScalingAdjustment(v int64) *PutScalingPolicyInput {
25993	s.ScalingAdjustment = &v
25994	return s
25995}
25996
25997// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
25998func (s *PutScalingPolicyInput) SetScalingAdjustmentType(v string) *PutScalingPolicyInput {
25999	s.ScalingAdjustmentType = &v
26000	return s
26001}
26002
26003// SetTargetConfiguration sets the TargetConfiguration field's value.
26004func (s *PutScalingPolicyInput) SetTargetConfiguration(v *TargetConfiguration) *PutScalingPolicyInput {
26005	s.TargetConfiguration = v
26006	return s
26007}
26008
26009// SetThreshold sets the Threshold field's value.
26010func (s *PutScalingPolicyInput) SetThreshold(v float64) *PutScalingPolicyInput {
26011	s.Threshold = &v
26012	return s
26013}
26014
26015// Represents the returned data in response to a request operation.
26016type PutScalingPolicyOutput struct {
26017	_ struct{} `type:"structure"`
26018
26019	// A descriptive label that is associated with a fleet's scaling policy. Policy
26020	// names do not need to be unique.
26021	Name *string `min:"1" type:"string"`
26022}
26023
26024// String returns the string representation.
26025//
26026// API parameter values that are decorated as "sensitive" in the API will not
26027// be included in the string output. The member name will be present, but the
26028// value will be replaced with "sensitive".
26029func (s PutScalingPolicyOutput) String() string {
26030	return awsutil.Prettify(s)
26031}
26032
26033// GoString returns the string representation.
26034//
26035// API parameter values that are decorated as "sensitive" in the API will not
26036// be included in the string output. The member name will be present, but the
26037// value will be replaced with "sensitive".
26038func (s PutScalingPolicyOutput) GoString() string {
26039	return s.String()
26040}
26041
26042// SetName sets the Name field's value.
26043func (s *PutScalingPolicyOutput) SetName(v string) *PutScalingPolicyOutput {
26044	s.Name = &v
26045	return s
26046}
26047
26048type RegisterGameServerInput struct {
26049	_ struct{} `type:"structure"`
26050
26051	// Information that is needed to make inbound client connections to the game
26052	// server. This might include the IP address and port, DNS name, and other information.
26053	ConnectionInfo *string `min:"1" type:"string"`
26054
26055	// A set of custom game server properties, formatted as a single string value.
26056	// This data is passed to a game client or service when it requests information
26057	// on game servers using ListGameServers or ClaimGameServer.
26058	GameServerData *string `min:"1" type:"string"`
26059
26060	// A unique identifier for the game server group where the game server is running.
26061	// Use either the GameServerGroup name or ARN value.
26062	//
26063	// GameServerGroupName is a required field
26064	GameServerGroupName *string `min:"1" type:"string" required:"true"`
26065
26066	// A custom string that uniquely identifies the game server to register. Game
26067	// server IDs are developer-defined and must be unique across all game server
26068	// groups in your AWS account.
26069	//
26070	// GameServerId is a required field
26071	GameServerId *string `min:"3" type:"string" required:"true"`
26072
26073	// The unique identifier for the instance where the game server is running.
26074	// This ID is available in the instance metadata. EC2 instance IDs use a 17-character
26075	// format, for example: i-1234567890abcdef0.
26076	//
26077	// InstanceId is a required field
26078	InstanceId *string `min:"19" type:"string" required:"true"`
26079}
26080
26081// String returns the string representation.
26082//
26083// API parameter values that are decorated as "sensitive" in the API will not
26084// be included in the string output. The member name will be present, but the
26085// value will be replaced with "sensitive".
26086func (s RegisterGameServerInput) String() string {
26087	return awsutil.Prettify(s)
26088}
26089
26090// GoString returns the string representation.
26091//
26092// API parameter values that are decorated as "sensitive" in the API will not
26093// be included in the string output. The member name will be present, but the
26094// value will be replaced with "sensitive".
26095func (s RegisterGameServerInput) GoString() string {
26096	return s.String()
26097}
26098
26099// Validate inspects the fields of the type to determine if they are valid.
26100func (s *RegisterGameServerInput) Validate() error {
26101	invalidParams := request.ErrInvalidParams{Context: "RegisterGameServerInput"}
26102	if s.ConnectionInfo != nil && len(*s.ConnectionInfo) < 1 {
26103		invalidParams.Add(request.NewErrParamMinLen("ConnectionInfo", 1))
26104	}
26105	if s.GameServerData != nil && len(*s.GameServerData) < 1 {
26106		invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1))
26107	}
26108	if s.GameServerGroupName == nil {
26109		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
26110	}
26111	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
26112		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
26113	}
26114	if s.GameServerId == nil {
26115		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
26116	}
26117	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
26118		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
26119	}
26120	if s.InstanceId == nil {
26121		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
26122	}
26123	if s.InstanceId != nil && len(*s.InstanceId) < 19 {
26124		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 19))
26125	}
26126
26127	if invalidParams.Len() > 0 {
26128		return invalidParams
26129	}
26130	return nil
26131}
26132
26133// SetConnectionInfo sets the ConnectionInfo field's value.
26134func (s *RegisterGameServerInput) SetConnectionInfo(v string) *RegisterGameServerInput {
26135	s.ConnectionInfo = &v
26136	return s
26137}
26138
26139// SetGameServerData sets the GameServerData field's value.
26140func (s *RegisterGameServerInput) SetGameServerData(v string) *RegisterGameServerInput {
26141	s.GameServerData = &v
26142	return s
26143}
26144
26145// SetGameServerGroupName sets the GameServerGroupName field's value.
26146func (s *RegisterGameServerInput) SetGameServerGroupName(v string) *RegisterGameServerInput {
26147	s.GameServerGroupName = &v
26148	return s
26149}
26150
26151// SetGameServerId sets the GameServerId field's value.
26152func (s *RegisterGameServerInput) SetGameServerId(v string) *RegisterGameServerInput {
26153	s.GameServerId = &v
26154	return s
26155}
26156
26157// SetInstanceId sets the InstanceId field's value.
26158func (s *RegisterGameServerInput) SetInstanceId(v string) *RegisterGameServerInput {
26159	s.InstanceId = &v
26160	return s
26161}
26162
26163type RegisterGameServerOutput struct {
26164	_ struct{} `type:"structure"`
26165
26166	// Object that describes the newly registered game server.
26167	GameServer *GameServer `type:"structure"`
26168}
26169
26170// String returns the string representation.
26171//
26172// API parameter values that are decorated as "sensitive" in the API will not
26173// be included in the string output. The member name will be present, but the
26174// value will be replaced with "sensitive".
26175func (s RegisterGameServerOutput) String() string {
26176	return awsutil.Prettify(s)
26177}
26178
26179// GoString returns the string representation.
26180//
26181// API parameter values that are decorated as "sensitive" in the API will not
26182// be included in the string output. The member name will be present, but the
26183// value will be replaced with "sensitive".
26184func (s RegisterGameServerOutput) GoString() string {
26185	return s.String()
26186}
26187
26188// SetGameServer sets the GameServer field's value.
26189func (s *RegisterGameServerOutput) SetGameServer(v *GameServer) *RegisterGameServerOutput {
26190	s.GameServer = v
26191	return s
26192}
26193
26194// Represents the input for a request operation.
26195type RequestUploadCredentialsInput struct {
26196	_ struct{} `type:"structure"`
26197
26198	// A unique identifier for the build to get credentials for. You can use either
26199	// the build ID or ARN value.
26200	//
26201	// BuildId is a required field
26202	BuildId *string `type:"string" required:"true"`
26203}
26204
26205// String returns the string representation.
26206//
26207// API parameter values that are decorated as "sensitive" in the API will not
26208// be included in the string output. The member name will be present, but the
26209// value will be replaced with "sensitive".
26210func (s RequestUploadCredentialsInput) String() string {
26211	return awsutil.Prettify(s)
26212}
26213
26214// GoString returns the string representation.
26215//
26216// API parameter values that are decorated as "sensitive" in the API will not
26217// be included in the string output. The member name will be present, but the
26218// value will be replaced with "sensitive".
26219func (s RequestUploadCredentialsInput) GoString() string {
26220	return s.String()
26221}
26222
26223// Validate inspects the fields of the type to determine if they are valid.
26224func (s *RequestUploadCredentialsInput) Validate() error {
26225	invalidParams := request.ErrInvalidParams{Context: "RequestUploadCredentialsInput"}
26226	if s.BuildId == nil {
26227		invalidParams.Add(request.NewErrParamRequired("BuildId"))
26228	}
26229
26230	if invalidParams.Len() > 0 {
26231		return invalidParams
26232	}
26233	return nil
26234}
26235
26236// SetBuildId sets the BuildId field's value.
26237func (s *RequestUploadCredentialsInput) SetBuildId(v string) *RequestUploadCredentialsInput {
26238	s.BuildId = &v
26239	return s
26240}
26241
26242// Represents the returned data in response to a request operation.
26243type RequestUploadCredentialsOutput struct {
26244	_ struct{} `type:"structure"`
26245
26246	// Amazon S3 path and key, identifying where the game build files are stored.
26247	StorageLocation *S3Location `type:"structure"`
26248
26249	// AWS credentials required when uploading a game build to the storage location.
26250	// These credentials have a limited lifespan and are valid only for the build
26251	// they were issued for.
26252	//
26253	// UploadCredentials is a sensitive parameter and its value will be
26254	// replaced with "sensitive" in string returned by RequestUploadCredentialsOutput's
26255	// String and GoString methods.
26256	UploadCredentials *AwsCredentials `type:"structure" sensitive:"true"`
26257}
26258
26259// String returns the string representation.
26260//
26261// API parameter values that are decorated as "sensitive" in the API will not
26262// be included in the string output. The member name will be present, but the
26263// value will be replaced with "sensitive".
26264func (s RequestUploadCredentialsOutput) String() string {
26265	return awsutil.Prettify(s)
26266}
26267
26268// GoString returns the string representation.
26269//
26270// API parameter values that are decorated as "sensitive" in the API will not
26271// be included in the string output. The member name will be present, but the
26272// value will be replaced with "sensitive".
26273func (s RequestUploadCredentialsOutput) GoString() string {
26274	return s.String()
26275}
26276
26277// SetStorageLocation sets the StorageLocation field's value.
26278func (s *RequestUploadCredentialsOutput) SetStorageLocation(v *S3Location) *RequestUploadCredentialsOutput {
26279	s.StorageLocation = v
26280	return s
26281}
26282
26283// SetUploadCredentials sets the UploadCredentials field's value.
26284func (s *RequestUploadCredentialsOutput) SetUploadCredentials(v *AwsCredentials) *RequestUploadCredentialsOutput {
26285	s.UploadCredentials = v
26286	return s
26287}
26288
26289// Represents the input for a request operation.
26290type ResolveAliasInput struct {
26291	_ struct{} `type:"structure"`
26292
26293	// The unique identifier of the alias that you want to retrieve a fleet ID for.
26294	// You can use either the alias ID or ARN value.
26295	//
26296	// AliasId is a required field
26297	AliasId *string `type:"string" required:"true"`
26298}
26299
26300// String returns the string representation.
26301//
26302// API parameter values that are decorated as "sensitive" in the API will not
26303// be included in the string output. The member name will be present, but the
26304// value will be replaced with "sensitive".
26305func (s ResolveAliasInput) String() string {
26306	return awsutil.Prettify(s)
26307}
26308
26309// GoString returns the string representation.
26310//
26311// API parameter values that are decorated as "sensitive" in the API will not
26312// be included in the string output. The member name will be present, but the
26313// value will be replaced with "sensitive".
26314func (s ResolveAliasInput) GoString() string {
26315	return s.String()
26316}
26317
26318// Validate inspects the fields of the type to determine if they are valid.
26319func (s *ResolveAliasInput) Validate() error {
26320	invalidParams := request.ErrInvalidParams{Context: "ResolveAliasInput"}
26321	if s.AliasId == nil {
26322		invalidParams.Add(request.NewErrParamRequired("AliasId"))
26323	}
26324
26325	if invalidParams.Len() > 0 {
26326		return invalidParams
26327	}
26328	return nil
26329}
26330
26331// SetAliasId sets the AliasId field's value.
26332func (s *ResolveAliasInput) SetAliasId(v string) *ResolveAliasInput {
26333	s.AliasId = &v
26334	return s
26335}
26336
26337// Represents the returned data in response to a request operation.
26338type ResolveAliasOutput struct {
26339	_ struct{} `type:"structure"`
26340
26341	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
26342	// associated with the GameLift fleet resource that this alias points to.
26343	FleetArn *string `type:"string"`
26344
26345	// The fleet identifier that the alias is pointing to.
26346	FleetId *string `type:"string"`
26347}
26348
26349// String returns the string representation.
26350//
26351// API parameter values that are decorated as "sensitive" in the API will not
26352// be included in the string output. The member name will be present, but the
26353// value will be replaced with "sensitive".
26354func (s ResolveAliasOutput) String() string {
26355	return awsutil.Prettify(s)
26356}
26357
26358// GoString returns the string representation.
26359//
26360// API parameter values that are decorated as "sensitive" in the API will not
26361// be included in the string output. The member name will be present, but the
26362// value will be replaced with "sensitive".
26363func (s ResolveAliasOutput) GoString() string {
26364	return s.String()
26365}
26366
26367// SetFleetArn sets the FleetArn field's value.
26368func (s *ResolveAliasOutput) SetFleetArn(v string) *ResolveAliasOutput {
26369	s.FleetArn = &v
26370	return s
26371}
26372
26373// SetFleetId sets the FleetId field's value.
26374func (s *ResolveAliasOutput) SetFleetId(v string) *ResolveAliasOutput {
26375	s.FleetId = &v
26376	return s
26377}
26378
26379// A policy that puts limits on the number of game sessions that a player can
26380// create within a specified span of time. With this policy, you can control
26381// players' ability to consume available resources.
26382//
26383// The policy is evaluated when a player tries to create a new game session.
26384// On receiving a CreateGameSession request, GameLift checks that the player
26385// (identified by CreatorId) has created fewer than game session limit in the
26386// specified time period.
26387//
26388// The resource creation limit policy is included in FleetAttributes.
26389type ResourceCreationLimitPolicy struct {
26390	_ struct{} `type:"structure"`
26391
26392	// The maximum number of game sessions that an individual can create during
26393	// the policy period.
26394	NewGameSessionsPerCreator *int64 `type:"integer"`
26395
26396	// The time span used in evaluating the resource creation limit policy.
26397	PolicyPeriodInMinutes *int64 `type:"integer"`
26398}
26399
26400// String returns the string representation.
26401//
26402// API parameter values that are decorated as "sensitive" in the API will not
26403// be included in the string output. The member name will be present, but the
26404// value will be replaced with "sensitive".
26405func (s ResourceCreationLimitPolicy) String() string {
26406	return awsutil.Prettify(s)
26407}
26408
26409// GoString returns the string representation.
26410//
26411// API parameter values that are decorated as "sensitive" in the API will not
26412// be included in the string output. The member name will be present, but the
26413// value will be replaced with "sensitive".
26414func (s ResourceCreationLimitPolicy) GoString() string {
26415	return s.String()
26416}
26417
26418// SetNewGameSessionsPerCreator sets the NewGameSessionsPerCreator field's value.
26419func (s *ResourceCreationLimitPolicy) SetNewGameSessionsPerCreator(v int64) *ResourceCreationLimitPolicy {
26420	s.NewGameSessionsPerCreator = &v
26421	return s
26422}
26423
26424// SetPolicyPeriodInMinutes sets the PolicyPeriodInMinutes field's value.
26425func (s *ResourceCreationLimitPolicy) SetPolicyPeriodInMinutes(v int64) *ResourceCreationLimitPolicy {
26426	s.PolicyPeriodInMinutes = &v
26427	return s
26428}
26429
26430type ResumeGameServerGroupInput struct {
26431	_ struct{} `type:"structure"`
26432
26433	// A unique identifier for the game server group. Use either the GameServerGroup
26434	// name or ARN value.
26435	//
26436	// GameServerGroupName is a required field
26437	GameServerGroupName *string `min:"1" type:"string" required:"true"`
26438
26439	// The activity to resume for this game server group.
26440	//
26441	// ResumeActions is a required field
26442	ResumeActions []*string `min:"1" type:"list" required:"true"`
26443}
26444
26445// String returns the string representation.
26446//
26447// API parameter values that are decorated as "sensitive" in the API will not
26448// be included in the string output. The member name will be present, but the
26449// value will be replaced with "sensitive".
26450func (s ResumeGameServerGroupInput) String() string {
26451	return awsutil.Prettify(s)
26452}
26453
26454// GoString returns the string representation.
26455//
26456// API parameter values that are decorated as "sensitive" in the API will not
26457// be included in the string output. The member name will be present, but the
26458// value will be replaced with "sensitive".
26459func (s ResumeGameServerGroupInput) GoString() string {
26460	return s.String()
26461}
26462
26463// Validate inspects the fields of the type to determine if they are valid.
26464func (s *ResumeGameServerGroupInput) Validate() error {
26465	invalidParams := request.ErrInvalidParams{Context: "ResumeGameServerGroupInput"}
26466	if s.GameServerGroupName == nil {
26467		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
26468	}
26469	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
26470		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
26471	}
26472	if s.ResumeActions == nil {
26473		invalidParams.Add(request.NewErrParamRequired("ResumeActions"))
26474	}
26475	if s.ResumeActions != nil && len(s.ResumeActions) < 1 {
26476		invalidParams.Add(request.NewErrParamMinLen("ResumeActions", 1))
26477	}
26478
26479	if invalidParams.Len() > 0 {
26480		return invalidParams
26481	}
26482	return nil
26483}
26484
26485// SetGameServerGroupName sets the GameServerGroupName field's value.
26486func (s *ResumeGameServerGroupInput) SetGameServerGroupName(v string) *ResumeGameServerGroupInput {
26487	s.GameServerGroupName = &v
26488	return s
26489}
26490
26491// SetResumeActions sets the ResumeActions field's value.
26492func (s *ResumeGameServerGroupInput) SetResumeActions(v []*string) *ResumeGameServerGroupInput {
26493	s.ResumeActions = v
26494	return s
26495}
26496
26497type ResumeGameServerGroupOutput struct {
26498	_ struct{} `type:"structure"`
26499
26500	// An object that describes the game server group resource, with the SuspendedActions
26501	// property updated to reflect the resumed activity.
26502	GameServerGroup *GameServerGroup `type:"structure"`
26503}
26504
26505// String returns the string representation.
26506//
26507// API parameter values that are decorated as "sensitive" in the API will not
26508// be included in the string output. The member name will be present, but the
26509// value will be replaced with "sensitive".
26510func (s ResumeGameServerGroupOutput) String() string {
26511	return awsutil.Prettify(s)
26512}
26513
26514// GoString returns the string representation.
26515//
26516// API parameter values that are decorated as "sensitive" in the API will not
26517// be included in the string output. The member name will be present, but the
26518// value will be replaced with "sensitive".
26519func (s ResumeGameServerGroupOutput) GoString() string {
26520	return s.String()
26521}
26522
26523// SetGameServerGroup sets the GameServerGroup field's value.
26524func (s *ResumeGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *ResumeGameServerGroupOutput {
26525	s.GameServerGroup = v
26526	return s
26527}
26528
26529// The routing configuration for a fleet alias.
26530//
26531// Related actions
26532//
26533// CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
26534// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
26535type RoutingStrategy struct {
26536	_ struct{} `type:"structure"`
26537
26538	// A unique identifier for the fleet that the alias points to. This value is
26539	// the fleet ID, not the fleet ARN.
26540	FleetId *string `type:"string"`
26541
26542	// The message text to be used with a terminal routing strategy.
26543	Message *string `type:"string"`
26544
26545	// The type of routing strategy for the alias.
26546	//
26547	// Possible routing types include the following:
26548	//
26549	//    * SIMPLE - The alias resolves to one specific fleet. Use this type when
26550	//    routing to active fleets.
26551	//
26552	//    * TERMINAL - The alias does not resolve to a fleet but instead can be
26553	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
26554	//    with the RoutingStrategy message embedded.
26555	Type *string `type:"string" enum:"RoutingStrategyType"`
26556}
26557
26558// String returns the string representation.
26559//
26560// API parameter values that are decorated as "sensitive" in the API will not
26561// be included in the string output. The member name will be present, but the
26562// value will be replaced with "sensitive".
26563func (s RoutingStrategy) String() string {
26564	return awsutil.Prettify(s)
26565}
26566
26567// GoString returns the string representation.
26568//
26569// API parameter values that are decorated as "sensitive" in the API will not
26570// be included in the string output. The member name will be present, but the
26571// value will be replaced with "sensitive".
26572func (s RoutingStrategy) GoString() string {
26573	return s.String()
26574}
26575
26576// SetFleetId sets the FleetId field's value.
26577func (s *RoutingStrategy) SetFleetId(v string) *RoutingStrategy {
26578	s.FleetId = &v
26579	return s
26580}
26581
26582// SetMessage sets the Message field's value.
26583func (s *RoutingStrategy) SetMessage(v string) *RoutingStrategy {
26584	s.Message = &v
26585	return s
26586}
26587
26588// SetType sets the Type field's value.
26589func (s *RoutingStrategy) SetType(v string) *RoutingStrategy {
26590	s.Type = &v
26591	return s
26592}
26593
26594// A collection of server process configurations that describe the set of processes
26595// to run on each instance in a fleet. Server processes run either an executable
26596// in a custom game build or a Realtime Servers script. GameLift launches the
26597// configured processes, manages their life cycle, and replaces them as needed.
26598// Each instance checks regularly for an updated runtime configuration.
26599//
26600// A GameLift instance is limited to 50 processes running concurrently. To calculate
26601// the total number of processes in a runtime configuration, add the values
26602// of the ConcurrentExecutions parameter for each ServerProcess. Learn more
26603// about Running Multiple Processes on a Fleet (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html).
26604//
26605// Related actions
26606//
26607// DescribeRuntimeConfiguration | UpdateRuntimeConfiguration
26608type RuntimeConfiguration struct {
26609	_ struct{} `type:"structure"`
26610
26611	// The maximum amount of time (in seconds) allowed to launch a new game session
26612	// and have it report ready to host players. During this time, the game session
26613	// is in status ACTIVATING. If the game session does not become active before
26614	// the timeout, it is ended and the game session status is changed to TERMINATED.
26615	GameSessionActivationTimeoutSeconds *int64 `min:"1" type:"integer"`
26616
26617	// The number of game sessions in status ACTIVATING to allow on an instance.
26618	// This setting limits the instance resources that can be used for new game
26619	// activations at any one time.
26620	MaxConcurrentGameSessionActivations *int64 `min:"1" type:"integer"`
26621
26622	// A collection of server process configurations that identify what server processes
26623	// to run on each instance in a fleet.
26624	ServerProcesses []*ServerProcess `min:"1" type:"list"`
26625}
26626
26627// String returns the string representation.
26628//
26629// API parameter values that are decorated as "sensitive" in the API will not
26630// be included in the string output. The member name will be present, but the
26631// value will be replaced with "sensitive".
26632func (s RuntimeConfiguration) String() string {
26633	return awsutil.Prettify(s)
26634}
26635
26636// GoString returns the string representation.
26637//
26638// API parameter values that are decorated as "sensitive" in the API will not
26639// be included in the string output. The member name will be present, but the
26640// value will be replaced with "sensitive".
26641func (s RuntimeConfiguration) GoString() string {
26642	return s.String()
26643}
26644
26645// Validate inspects the fields of the type to determine if they are valid.
26646func (s *RuntimeConfiguration) Validate() error {
26647	invalidParams := request.ErrInvalidParams{Context: "RuntimeConfiguration"}
26648	if s.GameSessionActivationTimeoutSeconds != nil && *s.GameSessionActivationTimeoutSeconds < 1 {
26649		invalidParams.Add(request.NewErrParamMinValue("GameSessionActivationTimeoutSeconds", 1))
26650	}
26651	if s.MaxConcurrentGameSessionActivations != nil && *s.MaxConcurrentGameSessionActivations < 1 {
26652		invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentGameSessionActivations", 1))
26653	}
26654	if s.ServerProcesses != nil && len(s.ServerProcesses) < 1 {
26655		invalidParams.Add(request.NewErrParamMinLen("ServerProcesses", 1))
26656	}
26657	if s.ServerProcesses != nil {
26658		for i, v := range s.ServerProcesses {
26659			if v == nil {
26660				continue
26661			}
26662			if err := v.Validate(); err != nil {
26663				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerProcesses", i), err.(request.ErrInvalidParams))
26664			}
26665		}
26666	}
26667
26668	if invalidParams.Len() > 0 {
26669		return invalidParams
26670	}
26671	return nil
26672}
26673
26674// SetGameSessionActivationTimeoutSeconds sets the GameSessionActivationTimeoutSeconds field's value.
26675func (s *RuntimeConfiguration) SetGameSessionActivationTimeoutSeconds(v int64) *RuntimeConfiguration {
26676	s.GameSessionActivationTimeoutSeconds = &v
26677	return s
26678}
26679
26680// SetMaxConcurrentGameSessionActivations sets the MaxConcurrentGameSessionActivations field's value.
26681func (s *RuntimeConfiguration) SetMaxConcurrentGameSessionActivations(v int64) *RuntimeConfiguration {
26682	s.MaxConcurrentGameSessionActivations = &v
26683	return s
26684}
26685
26686// SetServerProcesses sets the ServerProcesses field's value.
26687func (s *RuntimeConfiguration) SetServerProcesses(v []*ServerProcess) *RuntimeConfiguration {
26688	s.ServerProcesses = v
26689	return s
26690}
26691
26692// The location in Amazon S3 where build or script files are stored for access
26693// by Amazon GameLift. This location is specified in CreateBuild, CreateScript,
26694// and UpdateScript requests.
26695type S3Location struct {
26696	_ struct{} `type:"structure"`
26697
26698	// An Amazon S3 bucket identifier. This is the name of the S3 bucket.
26699	//
26700	// GameLift currently does not support uploading from Amazon S3 buckets with
26701	// names that contain a dot (.).
26702	Bucket *string `min:"1" type:"string"`
26703
26704	// The name of the zip file that contains the build files or script files.
26705	Key *string `min:"1" type:"string"`
26706
26707	// The version of the file, if object versioning is turned on for the bucket.
26708	// Amazon GameLift uses this information when retrieving files from an S3 bucket
26709	// that you own. Use this parameter to specify a specific version of the file.
26710	// If not set, the latest version of the file is retrieved.
26711	ObjectVersion *string `min:"1" type:"string"`
26712
26713	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
26714	// for an IAM role that allows Amazon GameLift to access the S3 bucket.
26715	RoleArn *string `min:"1" type:"string"`
26716}
26717
26718// String returns the string representation.
26719//
26720// API parameter values that are decorated as "sensitive" in the API will not
26721// be included in the string output. The member name will be present, but the
26722// value will be replaced with "sensitive".
26723func (s S3Location) String() string {
26724	return awsutil.Prettify(s)
26725}
26726
26727// GoString returns the string representation.
26728//
26729// API parameter values that are decorated as "sensitive" in the API will not
26730// be included in the string output. The member name will be present, but the
26731// value will be replaced with "sensitive".
26732func (s S3Location) GoString() string {
26733	return s.String()
26734}
26735
26736// Validate inspects the fields of the type to determine if they are valid.
26737func (s *S3Location) Validate() error {
26738	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
26739	if s.Bucket != nil && len(*s.Bucket) < 1 {
26740		invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
26741	}
26742	if s.Key != nil && len(*s.Key) < 1 {
26743		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
26744	}
26745	if s.ObjectVersion != nil && len(*s.ObjectVersion) < 1 {
26746		invalidParams.Add(request.NewErrParamMinLen("ObjectVersion", 1))
26747	}
26748	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
26749		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
26750	}
26751
26752	if invalidParams.Len() > 0 {
26753		return invalidParams
26754	}
26755	return nil
26756}
26757
26758// SetBucket sets the Bucket field's value.
26759func (s *S3Location) SetBucket(v string) *S3Location {
26760	s.Bucket = &v
26761	return s
26762}
26763
26764// SetKey sets the Key field's value.
26765func (s *S3Location) SetKey(v string) *S3Location {
26766	s.Key = &v
26767	return s
26768}
26769
26770// SetObjectVersion sets the ObjectVersion field's value.
26771func (s *S3Location) SetObjectVersion(v string) *S3Location {
26772	s.ObjectVersion = &v
26773	return s
26774}
26775
26776// SetRoleArn sets the RoleArn field's value.
26777func (s *S3Location) SetRoleArn(v string) *S3Location {
26778	s.RoleArn = &v
26779	return s
26780}
26781
26782// Rule that controls how a fleet is scaled. Scaling policies are uniquely identified
26783// by the combination of name and fleet ID.
26784//
26785// Related actions
26786//
26787// DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
26788// PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
26789// | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
26790type ScalingPolicy struct {
26791	_ struct{} `type:"structure"`
26792
26793	// Comparison operator to use when measuring a metric against the threshold
26794	// value.
26795	ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"`
26796
26797	// Length of time (in minutes) the metric must be at or beyond the threshold
26798	// before a scaling event is triggered.
26799	EvaluationPeriods *int64 `min:"1" type:"integer"`
26800
26801	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
26802	// that is assigned to a GameLift fleet resource and uniquely identifies it.
26803	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
26804	FleetArn *string `type:"string"`
26805
26806	// A unique identifier for the fleet that is associated with this scaling policy.
26807	FleetId *string `type:"string"`
26808
26809	Location *string `min:"1" type:"string"`
26810
26811	// Name of the Amazon GameLift-defined metric that is used to trigger a scaling
26812	// adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon
26813	// GameLift with Amazon CloudWatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).
26814	//
26815	//    * ActivatingGameSessions -- Game sessions in the process of being created.
26816	//
26817	//    * ActiveGameSessions -- Game sessions that are currently running.
26818	//
26819	//    * ActiveInstances -- Fleet instances that are currently running at least
26820	//    one game session.
26821	//
26822	//    * AvailableGameSessions -- Additional game sessions that fleet could host
26823	//    simultaneously, given current capacity.
26824	//
26825	//    * AvailablePlayerSessions -- Empty player slots in currently active game
26826	//    sessions. This includes game sessions that are not currently accepting
26827	//    players. Reserved player slots are not included.
26828	//
26829	//    * CurrentPlayerSessions -- Player slots in active game sessions that are
26830	//    being used by a player or are reserved for a player.
26831	//
26832	//    * IdleInstances -- Active instances that are currently hosting zero game
26833	//    sessions.
26834	//
26835	//    * PercentAvailableGameSessions -- Unused percentage of the total number
26836	//    of game sessions that a fleet could host simultaneously, given current
26837	//    capacity. Use this metric for a target-based scaling policy.
26838	//
26839	//    * PercentIdleInstances -- Percentage of the total number of active instances
26840	//    that are hosting zero game sessions.
26841	//
26842	//    * QueueDepth -- Pending game session placement requests, in any queue,
26843	//    where the current fleet is the top-priority destination.
26844	//
26845	//    * WaitTime -- Current wait time for pending game session placement requests,
26846	//    in any queue, where the current fleet is the top-priority destination.
26847	MetricName *string `type:"string" enum:"MetricName"`
26848
26849	// A descriptive label that is associated with a fleet's scaling policy. Policy
26850	// names do not need to be unique.
26851	Name *string `min:"1" type:"string"`
26852
26853	// The type of scaling policy to create. For a target-based policy, set the
26854	// parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration.
26855	// For a rule-based policy set the following parameters: MetricName, ComparisonOperator,
26856	// Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
26857	PolicyType *string `type:"string" enum:"PolicyType"`
26858
26859	// Amount of adjustment to make, based on the scaling adjustment type.
26860	ScalingAdjustment *int64 `type:"integer"`
26861
26862	// The type of adjustment to make to a fleet's instance count (see FleetCapacity):
26863	//
26864	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
26865	//    the current instance count. Positive values scale up while negative values
26866	//    scale down.
26867	//
26868	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
26869	//
26870	//    * PercentChangeInCapacity -- increase or reduce the current instance count
26871	//    by the scaling adjustment, read as a percentage. Positive values scale
26872	//    up while negative values scale down.
26873	ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"`
26874
26875	// Current status of the scaling policy. The scaling policy can be in force
26876	// only when in an ACTIVE status. Scaling policies can be suspended for individual
26877	// fleets (see StopFleetActions; if suspended for a fleet, the policy status
26878	// does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.
26879	//
26880	//    * ACTIVE -- The scaling policy can be used for auto-scaling a fleet.
26881	//
26882	//    * UPDATE_REQUESTED -- A request to update the scaling policy has been
26883	//    received.
26884	//
26885	//    * UPDATING -- A change is being made to the scaling policy.
26886	//
26887	//    * DELETE_REQUESTED -- A request to delete the scaling policy has been
26888	//    received.
26889	//
26890	//    * DELETING -- The scaling policy is being deleted.
26891	//
26892	//    * DELETED -- The scaling policy has been deleted.
26893	//
26894	//    * ERROR -- An error occurred in creating the policy. It should be removed
26895	//    and recreated.
26896	Status *string `type:"string" enum:"ScalingStatusType"`
26897
26898	// An object that contains settings for a target-based scaling policy.
26899	TargetConfiguration *TargetConfiguration `type:"structure"`
26900
26901	// Metric value used to trigger a scaling event.
26902	Threshold *float64 `type:"double"`
26903
26904	// The current status of the fleet's scaling policies in a requested fleet location.
26905	// The status PENDING_UPDATE indicates that an update was requested for the
26906	// fleet but has not yet been completed for the location.
26907	UpdateStatus *string `type:"string" enum:"LocationUpdateStatus"`
26908}
26909
26910// String returns the string representation.
26911//
26912// API parameter values that are decorated as "sensitive" in the API will not
26913// be included in the string output. The member name will be present, but the
26914// value will be replaced with "sensitive".
26915func (s ScalingPolicy) String() string {
26916	return awsutil.Prettify(s)
26917}
26918
26919// GoString returns the string representation.
26920//
26921// API parameter values that are decorated as "sensitive" in the API will not
26922// be included in the string output. The member name will be present, but the
26923// value will be replaced with "sensitive".
26924func (s ScalingPolicy) GoString() string {
26925	return s.String()
26926}
26927
26928// SetComparisonOperator sets the ComparisonOperator field's value.
26929func (s *ScalingPolicy) SetComparisonOperator(v string) *ScalingPolicy {
26930	s.ComparisonOperator = &v
26931	return s
26932}
26933
26934// SetEvaluationPeriods sets the EvaluationPeriods field's value.
26935func (s *ScalingPolicy) SetEvaluationPeriods(v int64) *ScalingPolicy {
26936	s.EvaluationPeriods = &v
26937	return s
26938}
26939
26940// SetFleetArn sets the FleetArn field's value.
26941func (s *ScalingPolicy) SetFleetArn(v string) *ScalingPolicy {
26942	s.FleetArn = &v
26943	return s
26944}
26945
26946// SetFleetId sets the FleetId field's value.
26947func (s *ScalingPolicy) SetFleetId(v string) *ScalingPolicy {
26948	s.FleetId = &v
26949	return s
26950}
26951
26952// SetLocation sets the Location field's value.
26953func (s *ScalingPolicy) SetLocation(v string) *ScalingPolicy {
26954	s.Location = &v
26955	return s
26956}
26957
26958// SetMetricName sets the MetricName field's value.
26959func (s *ScalingPolicy) SetMetricName(v string) *ScalingPolicy {
26960	s.MetricName = &v
26961	return s
26962}
26963
26964// SetName sets the Name field's value.
26965func (s *ScalingPolicy) SetName(v string) *ScalingPolicy {
26966	s.Name = &v
26967	return s
26968}
26969
26970// SetPolicyType sets the PolicyType field's value.
26971func (s *ScalingPolicy) SetPolicyType(v string) *ScalingPolicy {
26972	s.PolicyType = &v
26973	return s
26974}
26975
26976// SetScalingAdjustment sets the ScalingAdjustment field's value.
26977func (s *ScalingPolicy) SetScalingAdjustment(v int64) *ScalingPolicy {
26978	s.ScalingAdjustment = &v
26979	return s
26980}
26981
26982// SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
26983func (s *ScalingPolicy) SetScalingAdjustmentType(v string) *ScalingPolicy {
26984	s.ScalingAdjustmentType = &v
26985	return s
26986}
26987
26988// SetStatus sets the Status field's value.
26989func (s *ScalingPolicy) SetStatus(v string) *ScalingPolicy {
26990	s.Status = &v
26991	return s
26992}
26993
26994// SetTargetConfiguration sets the TargetConfiguration field's value.
26995func (s *ScalingPolicy) SetTargetConfiguration(v *TargetConfiguration) *ScalingPolicy {
26996	s.TargetConfiguration = v
26997	return s
26998}
26999
27000// SetThreshold sets the Threshold field's value.
27001func (s *ScalingPolicy) SetThreshold(v float64) *ScalingPolicy {
27002	s.Threshold = &v
27003	return s
27004}
27005
27006// SetUpdateStatus sets the UpdateStatus field's value.
27007func (s *ScalingPolicy) SetUpdateStatus(v string) *ScalingPolicy {
27008	s.UpdateStatus = &v
27009	return s
27010}
27011
27012// Properties describing a Realtime script.
27013//
27014// Related actions
27015//
27016// CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
27017// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
27018type Script struct {
27019	_ struct{} `type:"structure"`
27020
27021	// A time stamp indicating when this data object was created. Format is a number
27022	// expressed in Unix time as milliseconds (for example "1469498468.057").
27023	CreationTime *time.Time `type:"timestamp"`
27024
27025	// A descriptive label that is associated with a script. Script names do not
27026	// need to be unique.
27027	Name *string `min:"1" type:"string"`
27028
27029	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
27030	// that is assigned to a GameLift script resource and uniquely identifies it.
27031	// ARNs are unique across all Regions. In a GameLift script ARN, the resource
27032	// ID matches the ScriptId value.
27033	ScriptArn *string `type:"string"`
27034
27035	// A unique identifier for the Realtime script
27036	ScriptId *string `type:"string"`
27037
27038	// The file size of the uploaded Realtime script, expressed in bytes. When files
27039	// are uploaded from an S3 location, this value remains at "0".
27040	SizeOnDisk *int64 `min:"1" type:"long"`
27041
27042	// The location in Amazon S3 where build or script files are stored for access
27043	// by Amazon GameLift. This location is specified in CreateBuild, CreateScript,
27044	// and UpdateScript requests.
27045	StorageLocation *S3Location `type:"structure"`
27046
27047	// Version information that is associated with a build or script. Version strings
27048	// do not need to be unique.
27049	Version *string `min:"1" type:"string"`
27050}
27051
27052// String returns the string representation.
27053//
27054// API parameter values that are decorated as "sensitive" in the API will not
27055// be included in the string output. The member name will be present, but the
27056// value will be replaced with "sensitive".
27057func (s Script) String() string {
27058	return awsutil.Prettify(s)
27059}
27060
27061// GoString returns the string representation.
27062//
27063// API parameter values that are decorated as "sensitive" in the API will not
27064// be included in the string output. The member name will be present, but the
27065// value will be replaced with "sensitive".
27066func (s Script) GoString() string {
27067	return s.String()
27068}
27069
27070// SetCreationTime sets the CreationTime field's value.
27071func (s *Script) SetCreationTime(v time.Time) *Script {
27072	s.CreationTime = &v
27073	return s
27074}
27075
27076// SetName sets the Name field's value.
27077func (s *Script) SetName(v string) *Script {
27078	s.Name = &v
27079	return s
27080}
27081
27082// SetScriptArn sets the ScriptArn field's value.
27083func (s *Script) SetScriptArn(v string) *Script {
27084	s.ScriptArn = &v
27085	return s
27086}
27087
27088// SetScriptId sets the ScriptId field's value.
27089func (s *Script) SetScriptId(v string) *Script {
27090	s.ScriptId = &v
27091	return s
27092}
27093
27094// SetSizeOnDisk sets the SizeOnDisk field's value.
27095func (s *Script) SetSizeOnDisk(v int64) *Script {
27096	s.SizeOnDisk = &v
27097	return s
27098}
27099
27100// SetStorageLocation sets the StorageLocation field's value.
27101func (s *Script) SetStorageLocation(v *S3Location) *Script {
27102	s.StorageLocation = v
27103	return s
27104}
27105
27106// SetVersion sets the Version field's value.
27107func (s *Script) SetVersion(v string) *Script {
27108	s.Version = &v
27109	return s
27110}
27111
27112// Represents the input for a request operation.
27113type SearchGameSessionsInput struct {
27114	_ struct{} `type:"structure"`
27115
27116	// A unique identifier for the alias associated with the fleet to search for
27117	// active game sessions. You can use either the alias ID or ARN value. Each
27118	// request must reference either a fleet ID or alias ID, but not both.
27119	AliasId *string `type:"string"`
27120
27121	// String containing the search criteria for the session search. If no filter
27122	// expression is included, the request returns results for all game sessions
27123	// in the fleet that are in ACTIVE status.
27124	//
27125	// A filter expression can contain one or multiple conditions. Each condition
27126	// consists of the following:
27127	//
27128	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
27129	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
27130	//    playerSessionCount, hasAvailablePlayerSessions.
27131	//
27132	//    * Comparator -- Valid comparators are: =, <>, <, >, <=, >=.
27133	//
27134	//    * Value -- Value to be searched for. Values may be numbers, boolean values
27135	//    (true/false) or strings depending on the operand. String values are case
27136	//    sensitive and must be enclosed in single quotes. Special characters must
27137	//    be escaped. Boolean and string values can only be used with the comparators
27138	//    = and <>. For example, the following filter expression searches on gameSessionName:
27139	//    "FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'".
27140	//
27141	// To chain multiple conditions in a single expression, use the logical keywords
27142	// AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT
27143	// z, NOT (x OR y).
27144	//
27145	// Session search evaluates conditions from left to right using the following
27146	// precedence rules:
27147	//
27148	// =, <>, <, >, <=, >=
27149	//
27150	// Parentheses
27151	//
27152	// NOT
27153	//
27154	// AND
27155	//
27156	// OR
27157	//
27158	// For example, this filter expression retrieves game sessions hosting at least
27159	// ten players that have an open player slot: "maximumSessions>=10 AND hasAvailablePlayerSessions=true".
27160	FilterExpression *string `min:"1" type:"string"`
27161
27162	// A unique identifier for the fleet to search for active game sessions. You
27163	// can use either the fleet ID or ARN value. Each request must reference either
27164	// a fleet ID or alias ID, but not both.
27165	FleetId *string `type:"string"`
27166
27167	// The maximum number of results to return. Use this parameter with NextToken
27168	// to get results as a set of sequential pages. The maximum number of results
27169	// returned is 20, even if this value is not set or is set higher than 20.
27170	Limit *int64 `min:"1" type:"integer"`
27171
27172	// A fleet location to search for game sessions. You can specify a fleet's home
27173	// Region or a remote location. Use the AWS Region code format, such as us-west-2.
27174	Location *string `min:"1" type:"string"`
27175
27176	// A token that indicates the start of the next sequential page of results.
27177	// Use the token that is returned with a previous call to this operation. To
27178	// start at the beginning of the result set, do not specify a value.
27179	NextToken *string `min:"1" type:"string"`
27180
27181	// Instructions on how to sort the search results. If no sort expression is
27182	// included, the request returns results in random order. A sort expression
27183	// consists of the following elements:
27184	//
27185	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
27186	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
27187	//    playerSessionCount, hasAvailablePlayerSessions.
27188	//
27189	//    * Order -- Valid sort orders are ASC (ascending) and DESC (descending).
27190	//
27191	// For example, this sort expression returns the oldest active sessions first:
27192	// "SortExpression": "creationTimeMillis ASC". Results with a null value for
27193	// the sort operand are returned at the end of the list.
27194	SortExpression *string `min:"1" type:"string"`
27195}
27196
27197// String returns the string representation.
27198//
27199// API parameter values that are decorated as "sensitive" in the API will not
27200// be included in the string output. The member name will be present, but the
27201// value will be replaced with "sensitive".
27202func (s SearchGameSessionsInput) String() string {
27203	return awsutil.Prettify(s)
27204}
27205
27206// GoString returns the string representation.
27207//
27208// API parameter values that are decorated as "sensitive" in the API will not
27209// be included in the string output. The member name will be present, but the
27210// value will be replaced with "sensitive".
27211func (s SearchGameSessionsInput) GoString() string {
27212	return s.String()
27213}
27214
27215// Validate inspects the fields of the type to determine if they are valid.
27216func (s *SearchGameSessionsInput) Validate() error {
27217	invalidParams := request.ErrInvalidParams{Context: "SearchGameSessionsInput"}
27218	if s.FilterExpression != nil && len(*s.FilterExpression) < 1 {
27219		invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1))
27220	}
27221	if s.Limit != nil && *s.Limit < 1 {
27222		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
27223	}
27224	if s.Location != nil && len(*s.Location) < 1 {
27225		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
27226	}
27227	if s.NextToken != nil && len(*s.NextToken) < 1 {
27228		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
27229	}
27230	if s.SortExpression != nil && len(*s.SortExpression) < 1 {
27231		invalidParams.Add(request.NewErrParamMinLen("SortExpression", 1))
27232	}
27233
27234	if invalidParams.Len() > 0 {
27235		return invalidParams
27236	}
27237	return nil
27238}
27239
27240// SetAliasId sets the AliasId field's value.
27241func (s *SearchGameSessionsInput) SetAliasId(v string) *SearchGameSessionsInput {
27242	s.AliasId = &v
27243	return s
27244}
27245
27246// SetFilterExpression sets the FilterExpression field's value.
27247func (s *SearchGameSessionsInput) SetFilterExpression(v string) *SearchGameSessionsInput {
27248	s.FilterExpression = &v
27249	return s
27250}
27251
27252// SetFleetId sets the FleetId field's value.
27253func (s *SearchGameSessionsInput) SetFleetId(v string) *SearchGameSessionsInput {
27254	s.FleetId = &v
27255	return s
27256}
27257
27258// SetLimit sets the Limit field's value.
27259func (s *SearchGameSessionsInput) SetLimit(v int64) *SearchGameSessionsInput {
27260	s.Limit = &v
27261	return s
27262}
27263
27264// SetLocation sets the Location field's value.
27265func (s *SearchGameSessionsInput) SetLocation(v string) *SearchGameSessionsInput {
27266	s.Location = &v
27267	return s
27268}
27269
27270// SetNextToken sets the NextToken field's value.
27271func (s *SearchGameSessionsInput) SetNextToken(v string) *SearchGameSessionsInput {
27272	s.NextToken = &v
27273	return s
27274}
27275
27276// SetSortExpression sets the SortExpression field's value.
27277func (s *SearchGameSessionsInput) SetSortExpression(v string) *SearchGameSessionsInput {
27278	s.SortExpression = &v
27279	return s
27280}
27281
27282// Represents the returned data in response to a request operation.
27283type SearchGameSessionsOutput struct {
27284	_ struct{} `type:"structure"`
27285
27286	// A collection of objects containing game session properties for each session
27287	// that matches the request.
27288	GameSessions []*GameSession `type:"list"`
27289
27290	// A token that indicates where to resume retrieving results on the next call
27291	// to this operation. If no token is returned, these results represent the end
27292	// of the list.
27293	NextToken *string `min:"1" type:"string"`
27294}
27295
27296// String returns the string representation.
27297//
27298// API parameter values that are decorated as "sensitive" in the API will not
27299// be included in the string output. The member name will be present, but the
27300// value will be replaced with "sensitive".
27301func (s SearchGameSessionsOutput) String() string {
27302	return awsutil.Prettify(s)
27303}
27304
27305// GoString returns the string representation.
27306//
27307// API parameter values that are decorated as "sensitive" in the API will not
27308// be included in the string output. The member name will be present, but the
27309// value will be replaced with "sensitive".
27310func (s SearchGameSessionsOutput) GoString() string {
27311	return s.String()
27312}
27313
27314// SetGameSessions sets the GameSessions field's value.
27315func (s *SearchGameSessionsOutput) SetGameSessions(v []*GameSession) *SearchGameSessionsOutput {
27316	s.GameSessions = v
27317	return s
27318}
27319
27320// SetNextToken sets the NextToken field's value.
27321func (s *SearchGameSessionsOutput) SetNextToken(v string) *SearchGameSessionsOutput {
27322	s.NextToken = &v
27323	return s
27324}
27325
27326// A set of instructions for launching server processes on each instance in
27327// a fleet. Server processes run either an executable in a custom game build
27328// or a Realtime Servers script. Server process configurations are part of a
27329// fleet's RuntimeConfiguration.
27330type ServerProcess struct {
27331	_ struct{} `type:"structure"`
27332
27333	// The number of server processes using this configuration that run concurrently
27334	// on each instance.
27335	//
27336	// ConcurrentExecutions is a required field
27337	ConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"`
27338
27339	// The location of a game build executable or the Realtime script file that
27340	// contains the Init() function. Game builds and Realtime scripts are installed
27341	// on instances at the root:
27342	//
27343	//    * Windows (custom game builds only): C:\game. Example: "C:\game\MyGame\server.exe"
27344	//
27345	//    * Linux: /local/game. Examples: "/local/game/MyGame/server.exe" or "/local/game/MyRealtimeScript.js"
27346	//
27347	// LaunchPath is a required field
27348	LaunchPath *string `min:"1" type:"string" required:"true"`
27349
27350	// An optional list of parameters to pass to the server executable or Realtime
27351	// script on launch.
27352	Parameters *string `min:"1" type:"string"`
27353}
27354
27355// String returns the string representation.
27356//
27357// API parameter values that are decorated as "sensitive" in the API will not
27358// be included in the string output. The member name will be present, but the
27359// value will be replaced with "sensitive".
27360func (s ServerProcess) String() string {
27361	return awsutil.Prettify(s)
27362}
27363
27364// GoString returns the string representation.
27365//
27366// API parameter values that are decorated as "sensitive" in the API will not
27367// be included in the string output. The member name will be present, but the
27368// value will be replaced with "sensitive".
27369func (s ServerProcess) GoString() string {
27370	return s.String()
27371}
27372
27373// Validate inspects the fields of the type to determine if they are valid.
27374func (s *ServerProcess) Validate() error {
27375	invalidParams := request.ErrInvalidParams{Context: "ServerProcess"}
27376	if s.ConcurrentExecutions == nil {
27377		invalidParams.Add(request.NewErrParamRequired("ConcurrentExecutions"))
27378	}
27379	if s.ConcurrentExecutions != nil && *s.ConcurrentExecutions < 1 {
27380		invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutions", 1))
27381	}
27382	if s.LaunchPath == nil {
27383		invalidParams.Add(request.NewErrParamRequired("LaunchPath"))
27384	}
27385	if s.LaunchPath != nil && len(*s.LaunchPath) < 1 {
27386		invalidParams.Add(request.NewErrParamMinLen("LaunchPath", 1))
27387	}
27388	if s.Parameters != nil && len(*s.Parameters) < 1 {
27389		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
27390	}
27391
27392	if invalidParams.Len() > 0 {
27393		return invalidParams
27394	}
27395	return nil
27396}
27397
27398// SetConcurrentExecutions sets the ConcurrentExecutions field's value.
27399func (s *ServerProcess) SetConcurrentExecutions(v int64) *ServerProcess {
27400	s.ConcurrentExecutions = &v
27401	return s
27402}
27403
27404// SetLaunchPath sets the LaunchPath field's value.
27405func (s *ServerProcess) SetLaunchPath(v string) *ServerProcess {
27406	s.LaunchPath = &v
27407	return s
27408}
27409
27410// SetParameters sets the Parameters field's value.
27411func (s *ServerProcess) SetParameters(v string) *ServerProcess {
27412	s.Parameters = &v
27413	return s
27414}
27415
27416// Represents the input for a request operation.
27417type StartFleetActionsInput struct {
27418	_ struct{} `type:"structure"`
27419
27420	// List of actions to restart on the fleet.
27421	//
27422	// Actions is a required field
27423	Actions []*string `min:"1" type:"list" required:"true"`
27424
27425	// A unique identifier for the fleet to restart actions on. You can use either
27426	// the fleet ID or ARN value.
27427	//
27428	// FleetId is a required field
27429	FleetId *string `type:"string" required:"true"`
27430
27431	// The fleet location to restart fleet actions for. Specify a location in the
27432	// form of an AWS Region code, such as us-west-2.
27433	Location *string `min:"1" type:"string"`
27434}
27435
27436// String returns the string representation.
27437//
27438// API parameter values that are decorated as "sensitive" in the API will not
27439// be included in the string output. The member name will be present, but the
27440// value will be replaced with "sensitive".
27441func (s StartFleetActionsInput) String() string {
27442	return awsutil.Prettify(s)
27443}
27444
27445// GoString returns the string representation.
27446//
27447// API parameter values that are decorated as "sensitive" in the API will not
27448// be included in the string output. The member name will be present, but the
27449// value will be replaced with "sensitive".
27450func (s StartFleetActionsInput) GoString() string {
27451	return s.String()
27452}
27453
27454// Validate inspects the fields of the type to determine if they are valid.
27455func (s *StartFleetActionsInput) Validate() error {
27456	invalidParams := request.ErrInvalidParams{Context: "StartFleetActionsInput"}
27457	if s.Actions == nil {
27458		invalidParams.Add(request.NewErrParamRequired("Actions"))
27459	}
27460	if s.Actions != nil && len(s.Actions) < 1 {
27461		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
27462	}
27463	if s.FleetId == nil {
27464		invalidParams.Add(request.NewErrParamRequired("FleetId"))
27465	}
27466	if s.Location != nil && len(*s.Location) < 1 {
27467		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
27468	}
27469
27470	if invalidParams.Len() > 0 {
27471		return invalidParams
27472	}
27473	return nil
27474}
27475
27476// SetActions sets the Actions field's value.
27477func (s *StartFleetActionsInput) SetActions(v []*string) *StartFleetActionsInput {
27478	s.Actions = v
27479	return s
27480}
27481
27482// SetFleetId sets the FleetId field's value.
27483func (s *StartFleetActionsInput) SetFleetId(v string) *StartFleetActionsInput {
27484	s.FleetId = &v
27485	return s
27486}
27487
27488// SetLocation sets the Location field's value.
27489func (s *StartFleetActionsInput) SetLocation(v string) *StartFleetActionsInput {
27490	s.Location = &v
27491	return s
27492}
27493
27494// Represents the returned data in response to a request operation.
27495type StartFleetActionsOutput struct {
27496	_ struct{} `type:"structure"`
27497
27498	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
27499	// that is assigned to a GameLift fleet resource and uniquely identifies it.
27500	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
27501	FleetArn *string `type:"string"`
27502
27503	// A unique identifier for the fleet to restart actions on.
27504	FleetId *string `type:"string"`
27505}
27506
27507// String returns the string representation.
27508//
27509// API parameter values that are decorated as "sensitive" in the API will not
27510// be included in the string output. The member name will be present, but the
27511// value will be replaced with "sensitive".
27512func (s StartFleetActionsOutput) String() string {
27513	return awsutil.Prettify(s)
27514}
27515
27516// GoString returns the string representation.
27517//
27518// API parameter values that are decorated as "sensitive" in the API will not
27519// be included in the string output. The member name will be present, but the
27520// value will be replaced with "sensitive".
27521func (s StartFleetActionsOutput) GoString() string {
27522	return s.String()
27523}
27524
27525// SetFleetArn sets the FleetArn field's value.
27526func (s *StartFleetActionsOutput) SetFleetArn(v string) *StartFleetActionsOutput {
27527	s.FleetArn = &v
27528	return s
27529}
27530
27531// SetFleetId sets the FleetId field's value.
27532func (s *StartFleetActionsOutput) SetFleetId(v string) *StartFleetActionsOutput {
27533	s.FleetId = &v
27534	return s
27535}
27536
27537// Represents the input for a request operation.
27538type StartGameSessionPlacementInput struct {
27539	_ struct{} `type:"structure"`
27540
27541	// Set of information on each player to create a player session for.
27542	DesiredPlayerSessions []*DesiredPlayerSession `type:"list"`
27543
27544	// A set of custom properties for a game session, formatted as key:value pairs.
27545	// These properties are passed to a game server process in the GameSession object
27546	// with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
27547	GameProperties []*GameProperty `type:"list"`
27548
27549	// A set of custom game session properties, formatted as a single string value.
27550	// This data is passed to a game server process in the GameSession object with
27551	// a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
27552	GameSessionData *string `min:"1" type:"string"`
27553
27554	// A descriptive label that is associated with a game session. Session names
27555	// do not need to be unique.
27556	GameSessionName *string `min:"1" type:"string"`
27557
27558	// Name of the queue to use to place the new game session. You can use either
27559	// the queue name or ARN value.
27560	//
27561	// GameSessionQueueName is a required field
27562	GameSessionQueueName *string `min:"1" type:"string" required:"true"`
27563
27564	// The maximum number of players that can be connected simultaneously to the
27565	// game session.
27566	//
27567	// MaximumPlayerSessionCount is a required field
27568	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
27569
27570	// A unique identifier to assign to the new game session placement. This value
27571	// is developer-defined. The value must be unique across all Regions and cannot
27572	// be reused unless you are resubmitting a canceled or timed-out placement request.
27573	//
27574	// PlacementId is a required field
27575	PlacementId *string `min:"1" type:"string" required:"true"`
27576
27577	// A set of values, expressed in milliseconds, that indicates the amount of
27578	// latency that a player experiences when connected to AWS Regions. This information
27579	// is used to try to place the new game session where it can offer the best
27580	// possible gameplay experience for the players.
27581	PlayerLatencies []*PlayerLatency `type:"list"`
27582}
27583
27584// String returns the string representation.
27585//
27586// API parameter values that are decorated as "sensitive" in the API will not
27587// be included in the string output. The member name will be present, but the
27588// value will be replaced with "sensitive".
27589func (s StartGameSessionPlacementInput) String() string {
27590	return awsutil.Prettify(s)
27591}
27592
27593// GoString returns the string representation.
27594//
27595// API parameter values that are decorated as "sensitive" in the API will not
27596// be included in the string output. The member name will be present, but the
27597// value will be replaced with "sensitive".
27598func (s StartGameSessionPlacementInput) GoString() string {
27599	return s.String()
27600}
27601
27602// Validate inspects the fields of the type to determine if they are valid.
27603func (s *StartGameSessionPlacementInput) Validate() error {
27604	invalidParams := request.ErrInvalidParams{Context: "StartGameSessionPlacementInput"}
27605	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
27606		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
27607	}
27608	if s.GameSessionName != nil && len(*s.GameSessionName) < 1 {
27609		invalidParams.Add(request.NewErrParamMinLen("GameSessionName", 1))
27610	}
27611	if s.GameSessionQueueName == nil {
27612		invalidParams.Add(request.NewErrParamRequired("GameSessionQueueName"))
27613	}
27614	if s.GameSessionQueueName != nil && len(*s.GameSessionQueueName) < 1 {
27615		invalidParams.Add(request.NewErrParamMinLen("GameSessionQueueName", 1))
27616	}
27617	if s.MaximumPlayerSessionCount == nil {
27618		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
27619	}
27620	if s.PlacementId == nil {
27621		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
27622	}
27623	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
27624		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
27625	}
27626	if s.DesiredPlayerSessions != nil {
27627		for i, v := range s.DesiredPlayerSessions {
27628			if v == nil {
27629				continue
27630			}
27631			if err := v.Validate(); err != nil {
27632				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DesiredPlayerSessions", i), err.(request.ErrInvalidParams))
27633			}
27634		}
27635	}
27636	if s.GameProperties != nil {
27637		for i, v := range s.GameProperties {
27638			if v == nil {
27639				continue
27640			}
27641			if err := v.Validate(); err != nil {
27642				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
27643			}
27644		}
27645	}
27646	if s.PlayerLatencies != nil {
27647		for i, v := range s.PlayerLatencies {
27648			if v == nil {
27649				continue
27650			}
27651			if err := v.Validate(); err != nil {
27652				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerLatencies", i), err.(request.ErrInvalidParams))
27653			}
27654		}
27655	}
27656
27657	if invalidParams.Len() > 0 {
27658		return invalidParams
27659	}
27660	return nil
27661}
27662
27663// SetDesiredPlayerSessions sets the DesiredPlayerSessions field's value.
27664func (s *StartGameSessionPlacementInput) SetDesiredPlayerSessions(v []*DesiredPlayerSession) *StartGameSessionPlacementInput {
27665	s.DesiredPlayerSessions = v
27666	return s
27667}
27668
27669// SetGameProperties sets the GameProperties field's value.
27670func (s *StartGameSessionPlacementInput) SetGameProperties(v []*GameProperty) *StartGameSessionPlacementInput {
27671	s.GameProperties = v
27672	return s
27673}
27674
27675// SetGameSessionData sets the GameSessionData field's value.
27676func (s *StartGameSessionPlacementInput) SetGameSessionData(v string) *StartGameSessionPlacementInput {
27677	s.GameSessionData = &v
27678	return s
27679}
27680
27681// SetGameSessionName sets the GameSessionName field's value.
27682func (s *StartGameSessionPlacementInput) SetGameSessionName(v string) *StartGameSessionPlacementInput {
27683	s.GameSessionName = &v
27684	return s
27685}
27686
27687// SetGameSessionQueueName sets the GameSessionQueueName field's value.
27688func (s *StartGameSessionPlacementInput) SetGameSessionQueueName(v string) *StartGameSessionPlacementInput {
27689	s.GameSessionQueueName = &v
27690	return s
27691}
27692
27693// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
27694func (s *StartGameSessionPlacementInput) SetMaximumPlayerSessionCount(v int64) *StartGameSessionPlacementInput {
27695	s.MaximumPlayerSessionCount = &v
27696	return s
27697}
27698
27699// SetPlacementId sets the PlacementId field's value.
27700func (s *StartGameSessionPlacementInput) SetPlacementId(v string) *StartGameSessionPlacementInput {
27701	s.PlacementId = &v
27702	return s
27703}
27704
27705// SetPlayerLatencies sets the PlayerLatencies field's value.
27706func (s *StartGameSessionPlacementInput) SetPlayerLatencies(v []*PlayerLatency) *StartGameSessionPlacementInput {
27707	s.PlayerLatencies = v
27708	return s
27709}
27710
27711// Represents the returned data in response to a request operation.
27712type StartGameSessionPlacementOutput struct {
27713	_ struct{} `type:"structure"`
27714
27715	// Object that describes the newly created game session placement. This object
27716	// includes all the information provided in the request, as well as start/end
27717	// time stamps and placement status.
27718	GameSessionPlacement *GameSessionPlacement `type:"structure"`
27719}
27720
27721// String returns the string representation.
27722//
27723// API parameter values that are decorated as "sensitive" in the API will not
27724// be included in the string output. The member name will be present, but the
27725// value will be replaced with "sensitive".
27726func (s StartGameSessionPlacementOutput) String() string {
27727	return awsutil.Prettify(s)
27728}
27729
27730// GoString returns the string representation.
27731//
27732// API parameter values that are decorated as "sensitive" in the API will not
27733// be included in the string output. The member name will be present, but the
27734// value will be replaced with "sensitive".
27735func (s StartGameSessionPlacementOutput) GoString() string {
27736	return s.String()
27737}
27738
27739// SetGameSessionPlacement sets the GameSessionPlacement field's value.
27740func (s *StartGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StartGameSessionPlacementOutput {
27741	s.GameSessionPlacement = v
27742	return s
27743}
27744
27745// Represents the input for a request operation.
27746type StartMatchBackfillInput struct {
27747	_ struct{} `type:"structure"`
27748
27749	// Name of the matchmaker to use for this request. You can use either the configuration
27750	// name or ARN value. The ARN of the matchmaker that was used with the original
27751	// game session is listed in the GameSession object, MatchmakerData property.
27752	//
27753	// ConfigurationName is a required field
27754	ConfigurationName *string `min:"1" type:"string" required:"true"`
27755
27756	// A unique identifier for the game session. Use the game session ID. When using
27757	// FlexMatch as a standalone matchmaking solution, this parameter is not needed.
27758	GameSessionArn *string `min:"1" type:"string"`
27759
27760	// Match information on all players that are currently assigned to the game
27761	// session. This information is used by the matchmaker to find new players and
27762	// add them to the existing game.
27763	//
27764	//    * PlayerID, PlayerAttributes, Team -- This information is maintained in
27765	//    the GameSession object, MatchmakerData property, for all players who are
27766	//    currently assigned to the game session. The matchmaker data is in JSON
27767	//    syntax, formatted as a string. For more details, see Match Data (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).
27768	//
27769	//    * LatencyInMs -- If the matchmaker uses player latency, include a latency
27770	//    value, in milliseconds, for the Region that the game session is currently
27771	//    in. Do not include latency values for any other Region.
27772	//
27773	// Players is a required field
27774	Players []*Player `type:"list" required:"true"`
27775
27776	// A unique identifier for a matchmaking ticket. If no ticket ID is specified
27777	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
27778	// to track the match backfill ticket status and retrieve match results.
27779	TicketId *string `type:"string"`
27780}
27781
27782// String returns the string representation.
27783//
27784// API parameter values that are decorated as "sensitive" in the API will not
27785// be included in the string output. The member name will be present, but the
27786// value will be replaced with "sensitive".
27787func (s StartMatchBackfillInput) String() string {
27788	return awsutil.Prettify(s)
27789}
27790
27791// GoString returns the string representation.
27792//
27793// API parameter values that are decorated as "sensitive" in the API will not
27794// be included in the string output. The member name will be present, but the
27795// value will be replaced with "sensitive".
27796func (s StartMatchBackfillInput) GoString() string {
27797	return s.String()
27798}
27799
27800// Validate inspects the fields of the type to determine if they are valid.
27801func (s *StartMatchBackfillInput) Validate() error {
27802	invalidParams := request.ErrInvalidParams{Context: "StartMatchBackfillInput"}
27803	if s.ConfigurationName == nil {
27804		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
27805	}
27806	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
27807		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
27808	}
27809	if s.GameSessionArn != nil && len(*s.GameSessionArn) < 1 {
27810		invalidParams.Add(request.NewErrParamMinLen("GameSessionArn", 1))
27811	}
27812	if s.Players == nil {
27813		invalidParams.Add(request.NewErrParamRequired("Players"))
27814	}
27815	if s.Players != nil {
27816		for i, v := range s.Players {
27817			if v == nil {
27818				continue
27819			}
27820			if err := v.Validate(); err != nil {
27821				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
27822			}
27823		}
27824	}
27825
27826	if invalidParams.Len() > 0 {
27827		return invalidParams
27828	}
27829	return nil
27830}
27831
27832// SetConfigurationName sets the ConfigurationName field's value.
27833func (s *StartMatchBackfillInput) SetConfigurationName(v string) *StartMatchBackfillInput {
27834	s.ConfigurationName = &v
27835	return s
27836}
27837
27838// SetGameSessionArn sets the GameSessionArn field's value.
27839func (s *StartMatchBackfillInput) SetGameSessionArn(v string) *StartMatchBackfillInput {
27840	s.GameSessionArn = &v
27841	return s
27842}
27843
27844// SetPlayers sets the Players field's value.
27845func (s *StartMatchBackfillInput) SetPlayers(v []*Player) *StartMatchBackfillInput {
27846	s.Players = v
27847	return s
27848}
27849
27850// SetTicketId sets the TicketId field's value.
27851func (s *StartMatchBackfillInput) SetTicketId(v string) *StartMatchBackfillInput {
27852	s.TicketId = &v
27853	return s
27854}
27855
27856// Represents the returned data in response to a request operation.
27857type StartMatchBackfillOutput struct {
27858	_ struct{} `type:"structure"`
27859
27860	// Ticket representing the backfill matchmaking request. This object includes
27861	// the information in the request, ticket status, and match results as generated
27862	// during the matchmaking process.
27863	MatchmakingTicket *MatchmakingTicket `type:"structure"`
27864}
27865
27866// String returns the string representation.
27867//
27868// API parameter values that are decorated as "sensitive" in the API will not
27869// be included in the string output. The member name will be present, but the
27870// value will be replaced with "sensitive".
27871func (s StartMatchBackfillOutput) String() string {
27872	return awsutil.Prettify(s)
27873}
27874
27875// GoString returns the string representation.
27876//
27877// API parameter values that are decorated as "sensitive" in the API will not
27878// be included in the string output. The member name will be present, but the
27879// value will be replaced with "sensitive".
27880func (s StartMatchBackfillOutput) GoString() string {
27881	return s.String()
27882}
27883
27884// SetMatchmakingTicket sets the MatchmakingTicket field's value.
27885func (s *StartMatchBackfillOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchBackfillOutput {
27886	s.MatchmakingTicket = v
27887	return s
27888}
27889
27890// Represents the input for a request operation.
27891type StartMatchmakingInput struct {
27892	_ struct{} `type:"structure"`
27893
27894	// Name of the matchmaking configuration to use for this request. Matchmaking
27895	// configurations must exist in the same Region as this request. You can use
27896	// either the configuration name or ARN value.
27897	//
27898	// ConfigurationName is a required field
27899	ConfigurationName *string `min:"1" type:"string" required:"true"`
27900
27901	// Information on each player to be matched. This information must include a
27902	// player ID, and may contain player attributes and latency data to be used
27903	// in the matchmaking process. After a successful match, Player objects contain
27904	// the name of the team the player is assigned to.
27905	//
27906	// Players is a required field
27907	Players []*Player `type:"list" required:"true"`
27908
27909	// A unique identifier for a matchmaking ticket. If no ticket ID is specified
27910	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
27911	// to track the matchmaking ticket status and retrieve match results.
27912	TicketId *string `type:"string"`
27913}
27914
27915// String returns the string representation.
27916//
27917// API parameter values that are decorated as "sensitive" in the API will not
27918// be included in the string output. The member name will be present, but the
27919// value will be replaced with "sensitive".
27920func (s StartMatchmakingInput) String() string {
27921	return awsutil.Prettify(s)
27922}
27923
27924// GoString returns the string representation.
27925//
27926// API parameter values that are decorated as "sensitive" in the API will not
27927// be included in the string output. The member name will be present, but the
27928// value will be replaced with "sensitive".
27929func (s StartMatchmakingInput) GoString() string {
27930	return s.String()
27931}
27932
27933// Validate inspects the fields of the type to determine if they are valid.
27934func (s *StartMatchmakingInput) Validate() error {
27935	invalidParams := request.ErrInvalidParams{Context: "StartMatchmakingInput"}
27936	if s.ConfigurationName == nil {
27937		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
27938	}
27939	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
27940		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
27941	}
27942	if s.Players == nil {
27943		invalidParams.Add(request.NewErrParamRequired("Players"))
27944	}
27945	if s.Players != nil {
27946		for i, v := range s.Players {
27947			if v == nil {
27948				continue
27949			}
27950			if err := v.Validate(); err != nil {
27951				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
27952			}
27953		}
27954	}
27955
27956	if invalidParams.Len() > 0 {
27957		return invalidParams
27958	}
27959	return nil
27960}
27961
27962// SetConfigurationName sets the ConfigurationName field's value.
27963func (s *StartMatchmakingInput) SetConfigurationName(v string) *StartMatchmakingInput {
27964	s.ConfigurationName = &v
27965	return s
27966}
27967
27968// SetPlayers sets the Players field's value.
27969func (s *StartMatchmakingInput) SetPlayers(v []*Player) *StartMatchmakingInput {
27970	s.Players = v
27971	return s
27972}
27973
27974// SetTicketId sets the TicketId field's value.
27975func (s *StartMatchmakingInput) SetTicketId(v string) *StartMatchmakingInput {
27976	s.TicketId = &v
27977	return s
27978}
27979
27980// Represents the returned data in response to a request operation.
27981type StartMatchmakingOutput struct {
27982	_ struct{} `type:"structure"`
27983
27984	// Ticket representing the matchmaking request. This object include the information
27985	// included in the request, ticket status, and match results as generated during
27986	// the matchmaking process.
27987	MatchmakingTicket *MatchmakingTicket `type:"structure"`
27988}
27989
27990// String returns the string representation.
27991//
27992// API parameter values that are decorated as "sensitive" in the API will not
27993// be included in the string output. The member name will be present, but the
27994// value will be replaced with "sensitive".
27995func (s StartMatchmakingOutput) String() string {
27996	return awsutil.Prettify(s)
27997}
27998
27999// GoString returns the string representation.
28000//
28001// API parameter values that are decorated as "sensitive" in the API will not
28002// be included in the string output. The member name will be present, but the
28003// value will be replaced with "sensitive".
28004func (s StartMatchmakingOutput) GoString() string {
28005	return s.String()
28006}
28007
28008// SetMatchmakingTicket sets the MatchmakingTicket field's value.
28009func (s *StartMatchmakingOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchmakingOutput {
28010	s.MatchmakingTicket = v
28011	return s
28012}
28013
28014// Represents the input for a request operation.
28015type StopFleetActionsInput struct {
28016	_ struct{} `type:"structure"`
28017
28018	// List of actions to suspend on the fleet.
28019	//
28020	// Actions is a required field
28021	Actions []*string `min:"1" type:"list" required:"true"`
28022
28023	// A unique identifier for the fleet to stop actions on. You can use either
28024	// the fleet ID or ARN value.
28025	//
28026	// FleetId is a required field
28027	FleetId *string `type:"string" required:"true"`
28028
28029	// The fleet location to stop fleet actions for. Specify a location in the form
28030	// of an AWS Region code, such as us-west-2.
28031	Location *string `min:"1" type:"string"`
28032}
28033
28034// String returns the string representation.
28035//
28036// API parameter values that are decorated as "sensitive" in the API will not
28037// be included in the string output. The member name will be present, but the
28038// value will be replaced with "sensitive".
28039func (s StopFleetActionsInput) String() string {
28040	return awsutil.Prettify(s)
28041}
28042
28043// GoString returns the string representation.
28044//
28045// API parameter values that are decorated as "sensitive" in the API will not
28046// be included in the string output. The member name will be present, but the
28047// value will be replaced with "sensitive".
28048func (s StopFleetActionsInput) GoString() string {
28049	return s.String()
28050}
28051
28052// Validate inspects the fields of the type to determine if they are valid.
28053func (s *StopFleetActionsInput) Validate() error {
28054	invalidParams := request.ErrInvalidParams{Context: "StopFleetActionsInput"}
28055	if s.Actions == nil {
28056		invalidParams.Add(request.NewErrParamRequired("Actions"))
28057	}
28058	if s.Actions != nil && len(s.Actions) < 1 {
28059		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
28060	}
28061	if s.FleetId == nil {
28062		invalidParams.Add(request.NewErrParamRequired("FleetId"))
28063	}
28064	if s.Location != nil && len(*s.Location) < 1 {
28065		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
28066	}
28067
28068	if invalidParams.Len() > 0 {
28069		return invalidParams
28070	}
28071	return nil
28072}
28073
28074// SetActions sets the Actions field's value.
28075func (s *StopFleetActionsInput) SetActions(v []*string) *StopFleetActionsInput {
28076	s.Actions = v
28077	return s
28078}
28079
28080// SetFleetId sets the FleetId field's value.
28081func (s *StopFleetActionsInput) SetFleetId(v string) *StopFleetActionsInput {
28082	s.FleetId = &v
28083	return s
28084}
28085
28086// SetLocation sets the Location field's value.
28087func (s *StopFleetActionsInput) SetLocation(v string) *StopFleetActionsInput {
28088	s.Location = &v
28089	return s
28090}
28091
28092// Represents the input for a request operation.
28093type StopFleetActionsOutput struct {
28094	_ struct{} `type:"structure"`
28095
28096	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
28097	// that is assigned to a GameLift fleet resource and uniquely identifies it.
28098	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
28099	FleetArn *string `type:"string"`
28100
28101	// A unique identifier for the fleet to stop actions on.
28102	FleetId *string `type:"string"`
28103}
28104
28105// String returns the string representation.
28106//
28107// API parameter values that are decorated as "sensitive" in the API will not
28108// be included in the string output. The member name will be present, but the
28109// value will be replaced with "sensitive".
28110func (s StopFleetActionsOutput) String() string {
28111	return awsutil.Prettify(s)
28112}
28113
28114// GoString returns the string representation.
28115//
28116// API parameter values that are decorated as "sensitive" in the API will not
28117// be included in the string output. The member name will be present, but the
28118// value will be replaced with "sensitive".
28119func (s StopFleetActionsOutput) GoString() string {
28120	return s.String()
28121}
28122
28123// SetFleetArn sets the FleetArn field's value.
28124func (s *StopFleetActionsOutput) SetFleetArn(v string) *StopFleetActionsOutput {
28125	s.FleetArn = &v
28126	return s
28127}
28128
28129// SetFleetId sets the FleetId field's value.
28130func (s *StopFleetActionsOutput) SetFleetId(v string) *StopFleetActionsOutput {
28131	s.FleetId = &v
28132	return s
28133}
28134
28135// Represents the input for a request operation.
28136type StopGameSessionPlacementInput struct {
28137	_ struct{} `type:"structure"`
28138
28139	// A unique identifier for a game session placement to cancel.
28140	//
28141	// PlacementId is a required field
28142	PlacementId *string `min:"1" type:"string" required:"true"`
28143}
28144
28145// String returns the string representation.
28146//
28147// API parameter values that are decorated as "sensitive" in the API will not
28148// be included in the string output. The member name will be present, but the
28149// value will be replaced with "sensitive".
28150func (s StopGameSessionPlacementInput) String() string {
28151	return awsutil.Prettify(s)
28152}
28153
28154// GoString returns the string representation.
28155//
28156// API parameter values that are decorated as "sensitive" in the API will not
28157// be included in the string output. The member name will be present, but the
28158// value will be replaced with "sensitive".
28159func (s StopGameSessionPlacementInput) GoString() string {
28160	return s.String()
28161}
28162
28163// Validate inspects the fields of the type to determine if they are valid.
28164func (s *StopGameSessionPlacementInput) Validate() error {
28165	invalidParams := request.ErrInvalidParams{Context: "StopGameSessionPlacementInput"}
28166	if s.PlacementId == nil {
28167		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
28168	}
28169	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
28170		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
28171	}
28172
28173	if invalidParams.Len() > 0 {
28174		return invalidParams
28175	}
28176	return nil
28177}
28178
28179// SetPlacementId sets the PlacementId field's value.
28180func (s *StopGameSessionPlacementInput) SetPlacementId(v string) *StopGameSessionPlacementInput {
28181	s.PlacementId = &v
28182	return s
28183}
28184
28185// Represents the returned data in response to a request operation.
28186type StopGameSessionPlacementOutput struct {
28187	_ struct{} `type:"structure"`
28188
28189	// Object that describes the canceled game session placement, with CANCELLED
28190	// status and an end time stamp.
28191	GameSessionPlacement *GameSessionPlacement `type:"structure"`
28192}
28193
28194// String returns the string representation.
28195//
28196// API parameter values that are decorated as "sensitive" in the API will not
28197// be included in the string output. The member name will be present, but the
28198// value will be replaced with "sensitive".
28199func (s StopGameSessionPlacementOutput) String() string {
28200	return awsutil.Prettify(s)
28201}
28202
28203// GoString returns the string representation.
28204//
28205// API parameter values that are decorated as "sensitive" in the API will not
28206// be included in the string output. The member name will be present, but the
28207// value will be replaced with "sensitive".
28208func (s StopGameSessionPlacementOutput) GoString() string {
28209	return s.String()
28210}
28211
28212// SetGameSessionPlacement sets the GameSessionPlacement field's value.
28213func (s *StopGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StopGameSessionPlacementOutput {
28214	s.GameSessionPlacement = v
28215	return s
28216}
28217
28218// Represents the input for a request operation.
28219type StopMatchmakingInput struct {
28220	_ struct{} `type:"structure"`
28221
28222	// A unique identifier for a matchmaking ticket.
28223	//
28224	// TicketId is a required field
28225	TicketId *string `type:"string" required:"true"`
28226}
28227
28228// String returns the string representation.
28229//
28230// API parameter values that are decorated as "sensitive" in the API will not
28231// be included in the string output. The member name will be present, but the
28232// value will be replaced with "sensitive".
28233func (s StopMatchmakingInput) String() string {
28234	return awsutil.Prettify(s)
28235}
28236
28237// GoString returns the string representation.
28238//
28239// API parameter values that are decorated as "sensitive" in the API will not
28240// be included in the string output. The member name will be present, but the
28241// value will be replaced with "sensitive".
28242func (s StopMatchmakingInput) GoString() string {
28243	return s.String()
28244}
28245
28246// Validate inspects the fields of the type to determine if they are valid.
28247func (s *StopMatchmakingInput) Validate() error {
28248	invalidParams := request.ErrInvalidParams{Context: "StopMatchmakingInput"}
28249	if s.TicketId == nil {
28250		invalidParams.Add(request.NewErrParamRequired("TicketId"))
28251	}
28252
28253	if invalidParams.Len() > 0 {
28254		return invalidParams
28255	}
28256	return nil
28257}
28258
28259// SetTicketId sets the TicketId field's value.
28260func (s *StopMatchmakingInput) SetTicketId(v string) *StopMatchmakingInput {
28261	s.TicketId = &v
28262	return s
28263}
28264
28265type StopMatchmakingOutput struct {
28266	_ struct{} `type:"structure"`
28267}
28268
28269// String returns the string representation.
28270//
28271// API parameter values that are decorated as "sensitive" in the API will not
28272// be included in the string output. The member name will be present, but the
28273// value will be replaced with "sensitive".
28274func (s StopMatchmakingOutput) String() string {
28275	return awsutil.Prettify(s)
28276}
28277
28278// GoString returns the string representation.
28279//
28280// API parameter values that are decorated as "sensitive" in the API will not
28281// be included in the string output. The member name will be present, but the
28282// value will be replaced with "sensitive".
28283func (s StopMatchmakingOutput) GoString() string {
28284	return s.String()
28285}
28286
28287type SuspendGameServerGroupInput struct {
28288	_ struct{} `type:"structure"`
28289
28290	// A unique identifier for the game server group. Use either the GameServerGroup
28291	// name or ARN value.
28292	//
28293	// GameServerGroupName is a required field
28294	GameServerGroupName *string `min:"1" type:"string" required:"true"`
28295
28296	// The activity to suspend for this game server group.
28297	//
28298	// SuspendActions is a required field
28299	SuspendActions []*string `min:"1" type:"list" required:"true"`
28300}
28301
28302// String returns the string representation.
28303//
28304// API parameter values that are decorated as "sensitive" in the API will not
28305// be included in the string output. The member name will be present, but the
28306// value will be replaced with "sensitive".
28307func (s SuspendGameServerGroupInput) String() string {
28308	return awsutil.Prettify(s)
28309}
28310
28311// GoString returns the string representation.
28312//
28313// API parameter values that are decorated as "sensitive" in the API will not
28314// be included in the string output. The member name will be present, but the
28315// value will be replaced with "sensitive".
28316func (s SuspendGameServerGroupInput) GoString() string {
28317	return s.String()
28318}
28319
28320// Validate inspects the fields of the type to determine if they are valid.
28321func (s *SuspendGameServerGroupInput) Validate() error {
28322	invalidParams := request.ErrInvalidParams{Context: "SuspendGameServerGroupInput"}
28323	if s.GameServerGroupName == nil {
28324		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
28325	}
28326	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
28327		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
28328	}
28329	if s.SuspendActions == nil {
28330		invalidParams.Add(request.NewErrParamRequired("SuspendActions"))
28331	}
28332	if s.SuspendActions != nil && len(s.SuspendActions) < 1 {
28333		invalidParams.Add(request.NewErrParamMinLen("SuspendActions", 1))
28334	}
28335
28336	if invalidParams.Len() > 0 {
28337		return invalidParams
28338	}
28339	return nil
28340}
28341
28342// SetGameServerGroupName sets the GameServerGroupName field's value.
28343func (s *SuspendGameServerGroupInput) SetGameServerGroupName(v string) *SuspendGameServerGroupInput {
28344	s.GameServerGroupName = &v
28345	return s
28346}
28347
28348// SetSuspendActions sets the SuspendActions field's value.
28349func (s *SuspendGameServerGroupInput) SetSuspendActions(v []*string) *SuspendGameServerGroupInput {
28350	s.SuspendActions = v
28351	return s
28352}
28353
28354type SuspendGameServerGroupOutput struct {
28355	_ struct{} `type:"structure"`
28356
28357	// An object that describes the game server group resource, with the SuspendedActions
28358	// property updated to reflect the suspended activity.
28359	GameServerGroup *GameServerGroup `type:"structure"`
28360}
28361
28362// String returns the string representation.
28363//
28364// API parameter values that are decorated as "sensitive" in the API will not
28365// be included in the string output. The member name will be present, but the
28366// value will be replaced with "sensitive".
28367func (s SuspendGameServerGroupOutput) String() string {
28368	return awsutil.Prettify(s)
28369}
28370
28371// GoString returns the string representation.
28372//
28373// API parameter values that are decorated as "sensitive" in the API will not
28374// be included in the string output. The member name will be present, but the
28375// value will be replaced with "sensitive".
28376func (s SuspendGameServerGroupOutput) GoString() string {
28377	return s.String()
28378}
28379
28380// SetGameServerGroup sets the GameServerGroup field's value.
28381func (s *SuspendGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *SuspendGameServerGroupOutput {
28382	s.GameServerGroup = v
28383	return s
28384}
28385
28386// A label that can be assigned to a GameLift resource.
28387//
28388// Learn more
28389//
28390// Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
28391// in the AWS General Reference
28392//
28393//  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
28394//
28395// Related actions
28396//
28397// TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
28398type Tag struct {
28399	_ struct{} `type:"structure"`
28400
28401	// The key for a developer-defined key:value pair for tagging an AWS resource.
28402	//
28403	// Key is a required field
28404	Key *string `min:"1" type:"string" required:"true"`
28405
28406	// The value for a developer-defined key:value pair for tagging an AWS resource.
28407	//
28408	// Value is a required field
28409	Value *string `type:"string" required:"true"`
28410}
28411
28412// String returns the string representation.
28413//
28414// API parameter values that are decorated as "sensitive" in the API will not
28415// be included in the string output. The member name will be present, but the
28416// value will be replaced with "sensitive".
28417func (s Tag) String() string {
28418	return awsutil.Prettify(s)
28419}
28420
28421// GoString returns the string representation.
28422//
28423// API parameter values that are decorated as "sensitive" in the API will not
28424// be included in the string output. The member name will be present, but the
28425// value will be replaced with "sensitive".
28426func (s Tag) GoString() string {
28427	return s.String()
28428}
28429
28430// Validate inspects the fields of the type to determine if they are valid.
28431func (s *Tag) Validate() error {
28432	invalidParams := request.ErrInvalidParams{Context: "Tag"}
28433	if s.Key == nil {
28434		invalidParams.Add(request.NewErrParamRequired("Key"))
28435	}
28436	if s.Key != nil && len(*s.Key) < 1 {
28437		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
28438	}
28439	if s.Value == nil {
28440		invalidParams.Add(request.NewErrParamRequired("Value"))
28441	}
28442
28443	if invalidParams.Len() > 0 {
28444		return invalidParams
28445	}
28446	return nil
28447}
28448
28449// SetKey sets the Key field's value.
28450func (s *Tag) SetKey(v string) *Tag {
28451	s.Key = &v
28452	return s
28453}
28454
28455// SetValue sets the Value field's value.
28456func (s *Tag) SetValue(v string) *Tag {
28457	s.Value = &v
28458	return s
28459}
28460
28461type TagResourceInput struct {
28462	_ struct{} `type:"structure"`
28463
28464	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
28465	// that is assigned to and uniquely identifies the GameLift resource that you
28466	// want to assign tags to. GameLift resource ARNs are included in the data object
28467	// for the resource, which can be retrieved by calling a List or Describe operation
28468	// for the resource type.
28469	//
28470	// ResourceARN is a required field
28471	ResourceARN *string `min:"1" type:"string" required:"true"`
28472
28473	// A list of one or more tags to assign to the specified GameLift resource.
28474	// Tags are developer-defined and structured as key-value pairs. The maximum
28475	// tag limit may be lower than stated. See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
28476	// for actual tagging limits.
28477	//
28478	// Tags is a required field
28479	Tags []*Tag `type:"list" required:"true"`
28480}
28481
28482// String returns the string representation.
28483//
28484// API parameter values that are decorated as "sensitive" in the API will not
28485// be included in the string output. The member name will be present, but the
28486// value will be replaced with "sensitive".
28487func (s TagResourceInput) String() string {
28488	return awsutil.Prettify(s)
28489}
28490
28491// GoString returns the string representation.
28492//
28493// API parameter values that are decorated as "sensitive" in the API will not
28494// be included in the string output. The member name will be present, but the
28495// value will be replaced with "sensitive".
28496func (s TagResourceInput) GoString() string {
28497	return s.String()
28498}
28499
28500// Validate inspects the fields of the type to determine if they are valid.
28501func (s *TagResourceInput) Validate() error {
28502	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
28503	if s.ResourceARN == nil {
28504		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
28505	}
28506	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
28507		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
28508	}
28509	if s.Tags == nil {
28510		invalidParams.Add(request.NewErrParamRequired("Tags"))
28511	}
28512	if s.Tags != nil {
28513		for i, v := range s.Tags {
28514			if v == nil {
28515				continue
28516			}
28517			if err := v.Validate(); err != nil {
28518				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
28519			}
28520		}
28521	}
28522
28523	if invalidParams.Len() > 0 {
28524		return invalidParams
28525	}
28526	return nil
28527}
28528
28529// SetResourceARN sets the ResourceARN field's value.
28530func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
28531	s.ResourceARN = &v
28532	return s
28533}
28534
28535// SetTags sets the Tags field's value.
28536func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
28537	s.Tags = v
28538	return s
28539}
28540
28541type TagResourceOutput struct {
28542	_ struct{} `type:"structure"`
28543}
28544
28545// String returns the string representation.
28546//
28547// API parameter values that are decorated as "sensitive" in the API will not
28548// be included in the string output. The member name will be present, but the
28549// value will be replaced with "sensitive".
28550func (s TagResourceOutput) String() string {
28551	return awsutil.Prettify(s)
28552}
28553
28554// GoString returns the string representation.
28555//
28556// API parameter values that are decorated as "sensitive" in the API will not
28557// be included in the string output. The member name will be present, but the
28558// value will be replaced with "sensitive".
28559func (s TagResourceOutput) GoString() string {
28560	return s.String()
28561}
28562
28563// The requested tagging operation did not succeed. This may be due to invalid
28564// tag format or the maximum tag limit may have been exceeded. Resolve the issue
28565// before retrying.
28566type TaggingFailedException struct {
28567	_            struct{}                  `type:"structure"`
28568	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28569
28570	Message_ *string `locationName:"Message" min:"1" type:"string"`
28571}
28572
28573// String returns the string representation.
28574//
28575// API parameter values that are decorated as "sensitive" in the API will not
28576// be included in the string output. The member name will be present, but the
28577// value will be replaced with "sensitive".
28578func (s TaggingFailedException) String() string {
28579	return awsutil.Prettify(s)
28580}
28581
28582// GoString returns the string representation.
28583//
28584// API parameter values that are decorated as "sensitive" in the API will not
28585// be included in the string output. The member name will be present, but the
28586// value will be replaced with "sensitive".
28587func (s TaggingFailedException) GoString() string {
28588	return s.String()
28589}
28590
28591func newErrorTaggingFailedException(v protocol.ResponseMetadata) error {
28592	return &TaggingFailedException{
28593		RespMetadata: v,
28594	}
28595}
28596
28597// Code returns the exception type name.
28598func (s *TaggingFailedException) Code() string {
28599	return "TaggingFailedException"
28600}
28601
28602// Message returns the exception's message.
28603func (s *TaggingFailedException) Message() string {
28604	if s.Message_ != nil {
28605		return *s.Message_
28606	}
28607	return ""
28608}
28609
28610// OrigErr always returns nil, satisfies awserr.Error interface.
28611func (s *TaggingFailedException) OrigErr() error {
28612	return nil
28613}
28614
28615func (s *TaggingFailedException) Error() string {
28616	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
28617}
28618
28619// Status code returns the HTTP status code for the request's response error.
28620func (s *TaggingFailedException) StatusCode() int {
28621	return s.RespMetadata.StatusCode
28622}
28623
28624// RequestID returns the service's response RequestID for request.
28625func (s *TaggingFailedException) RequestID() string {
28626	return s.RespMetadata.RequestID
28627}
28628
28629// Settings for a target-based scaling policy (see ScalingPolicy. A target-based
28630// policy tracks a particular fleet metric specifies a target value for the
28631// metric. As player usage changes, the policy triggers Amazon GameLift to adjust
28632// capacity so that the metric returns to the target value. The target configuration
28633// specifies settings as needed for the target based policy, including the target
28634// value.
28635//
28636// Related actions
28637//
28638// DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
28639// PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
28640// | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
28641type TargetConfiguration struct {
28642	_ struct{} `type:"structure"`
28643
28644	// Desired value to use with a target-based scaling policy. The value must be
28645	// relevant for whatever metric the scaling policy is using. For example, in
28646	// a policy using the metric PercentAvailableGameSessions, the target value
28647	// should be the preferred size of the fleet's buffer (the percent of capacity
28648	// that should be idle and ready for new game sessions).
28649	//
28650	// TargetValue is a required field
28651	TargetValue *float64 `type:"double" required:"true"`
28652}
28653
28654// String returns the string representation.
28655//
28656// API parameter values that are decorated as "sensitive" in the API will not
28657// be included in the string output. The member name will be present, but the
28658// value will be replaced with "sensitive".
28659func (s TargetConfiguration) String() string {
28660	return awsutil.Prettify(s)
28661}
28662
28663// GoString returns the string representation.
28664//
28665// API parameter values that are decorated as "sensitive" in the API will not
28666// be included in the string output. The member name will be present, but the
28667// value will be replaced with "sensitive".
28668func (s TargetConfiguration) GoString() string {
28669	return s.String()
28670}
28671
28672// Validate inspects the fields of the type to determine if they are valid.
28673func (s *TargetConfiguration) Validate() error {
28674	invalidParams := request.ErrInvalidParams{Context: "TargetConfiguration"}
28675	if s.TargetValue == nil {
28676		invalidParams.Add(request.NewErrParamRequired("TargetValue"))
28677	}
28678
28679	if invalidParams.Len() > 0 {
28680		return invalidParams
28681	}
28682	return nil
28683}
28684
28685// SetTargetValue sets the TargetValue field's value.
28686func (s *TargetConfiguration) SetTargetValue(v float64) *TargetConfiguration {
28687	s.TargetValue = &v
28688	return s
28689}
28690
28691// This data type is used with the GameLift FleetIQ and game server groups.
28692//
28693// Settings for a target-based scaling policy as part of a GameServerGroupAutoScalingPolicy.
28694// These settings are used to create a target-based policy that tracks the GameLift
28695// FleetIQ metric "PercentUtilizedGameServers" and specifies a target value
28696// for the metric. As player usage changes, the policy triggers to adjust the
28697// game server group capacity so that the metric returns to the target value.
28698type TargetTrackingConfiguration struct {
28699	_ struct{} `type:"structure"`
28700
28701	// Desired value to use with a game server group target-based scaling policy.
28702	//
28703	// TargetValue is a required field
28704	TargetValue *float64 `type:"double" required:"true"`
28705}
28706
28707// String returns the string representation.
28708//
28709// API parameter values that are decorated as "sensitive" in the API will not
28710// be included in the string output. The member name will be present, but the
28711// value will be replaced with "sensitive".
28712func (s TargetTrackingConfiguration) String() string {
28713	return awsutil.Prettify(s)
28714}
28715
28716// GoString returns the string representation.
28717//
28718// API parameter values that are decorated as "sensitive" in the API will not
28719// be included in the string output. The member name will be present, but the
28720// value will be replaced with "sensitive".
28721func (s TargetTrackingConfiguration) GoString() string {
28722	return s.String()
28723}
28724
28725// Validate inspects the fields of the type to determine if they are valid.
28726func (s *TargetTrackingConfiguration) Validate() error {
28727	invalidParams := request.ErrInvalidParams{Context: "TargetTrackingConfiguration"}
28728	if s.TargetValue == nil {
28729		invalidParams.Add(request.NewErrParamRequired("TargetValue"))
28730	}
28731
28732	if invalidParams.Len() > 0 {
28733		return invalidParams
28734	}
28735	return nil
28736}
28737
28738// SetTargetValue sets the TargetValue field's value.
28739func (s *TargetTrackingConfiguration) SetTargetValue(v float64) *TargetTrackingConfiguration {
28740	s.TargetValue = &v
28741	return s
28742}
28743
28744// The service is unable to resolve the routing for a particular alias because
28745// it has a terminal RoutingStrategy associated with it. The message returned
28746// in this exception is the message defined in the routing strategy itself.
28747// Such requests should only be retried if the routing strategy for the specified
28748// alias is modified.
28749type TerminalRoutingStrategyException struct {
28750	_            struct{}                  `type:"structure"`
28751	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28752
28753	Message_ *string `locationName:"Message" min:"1" type:"string"`
28754}
28755
28756// String returns the string representation.
28757//
28758// API parameter values that are decorated as "sensitive" in the API will not
28759// be included in the string output. The member name will be present, but the
28760// value will be replaced with "sensitive".
28761func (s TerminalRoutingStrategyException) String() string {
28762	return awsutil.Prettify(s)
28763}
28764
28765// GoString returns the string representation.
28766//
28767// API parameter values that are decorated as "sensitive" in the API will not
28768// be included in the string output. The member name will be present, but the
28769// value will be replaced with "sensitive".
28770func (s TerminalRoutingStrategyException) GoString() string {
28771	return s.String()
28772}
28773
28774func newErrorTerminalRoutingStrategyException(v protocol.ResponseMetadata) error {
28775	return &TerminalRoutingStrategyException{
28776		RespMetadata: v,
28777	}
28778}
28779
28780// Code returns the exception type name.
28781func (s *TerminalRoutingStrategyException) Code() string {
28782	return "TerminalRoutingStrategyException"
28783}
28784
28785// Message returns the exception's message.
28786func (s *TerminalRoutingStrategyException) Message() string {
28787	if s.Message_ != nil {
28788		return *s.Message_
28789	}
28790	return ""
28791}
28792
28793// OrigErr always returns nil, satisfies awserr.Error interface.
28794func (s *TerminalRoutingStrategyException) OrigErr() error {
28795	return nil
28796}
28797
28798func (s *TerminalRoutingStrategyException) Error() string {
28799	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
28800}
28801
28802// Status code returns the HTTP status code for the request's response error.
28803func (s *TerminalRoutingStrategyException) StatusCode() int {
28804	return s.RespMetadata.StatusCode
28805}
28806
28807// RequestID returns the service's response RequestID for request.
28808func (s *TerminalRoutingStrategyException) RequestID() string {
28809	return s.RespMetadata.RequestID
28810}
28811
28812// The client failed authentication. Clients should not retry such requests.
28813type UnauthorizedException struct {
28814	_            struct{}                  `type:"structure"`
28815	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28816
28817	Message_ *string `locationName:"Message" min:"1" type:"string"`
28818}
28819
28820// String returns the string representation.
28821//
28822// API parameter values that are decorated as "sensitive" in the API will not
28823// be included in the string output. The member name will be present, but the
28824// value will be replaced with "sensitive".
28825func (s UnauthorizedException) String() string {
28826	return awsutil.Prettify(s)
28827}
28828
28829// GoString returns the string representation.
28830//
28831// API parameter values that are decorated as "sensitive" in the API will not
28832// be included in the string output. The member name will be present, but the
28833// value will be replaced with "sensitive".
28834func (s UnauthorizedException) GoString() string {
28835	return s.String()
28836}
28837
28838func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
28839	return &UnauthorizedException{
28840		RespMetadata: v,
28841	}
28842}
28843
28844// Code returns the exception type name.
28845func (s *UnauthorizedException) Code() string {
28846	return "UnauthorizedException"
28847}
28848
28849// Message returns the exception's message.
28850func (s *UnauthorizedException) Message() string {
28851	if s.Message_ != nil {
28852		return *s.Message_
28853	}
28854	return ""
28855}
28856
28857// OrigErr always returns nil, satisfies awserr.Error interface.
28858func (s *UnauthorizedException) OrigErr() error {
28859	return nil
28860}
28861
28862func (s *UnauthorizedException) Error() string {
28863	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
28864}
28865
28866// Status code returns the HTTP status code for the request's response error.
28867func (s *UnauthorizedException) StatusCode() int {
28868	return s.RespMetadata.StatusCode
28869}
28870
28871// RequestID returns the service's response RequestID for request.
28872func (s *UnauthorizedException) RequestID() string {
28873	return s.RespMetadata.RequestID
28874}
28875
28876// The requested operation is not supported in the Region specified.
28877type UnsupportedRegionException struct {
28878	_            struct{}                  `type:"structure"`
28879	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28880
28881	Message_ *string `locationName:"Message" min:"1" type:"string"`
28882}
28883
28884// String returns the string representation.
28885//
28886// API parameter values that are decorated as "sensitive" in the API will not
28887// be included in the string output. The member name will be present, but the
28888// value will be replaced with "sensitive".
28889func (s UnsupportedRegionException) String() string {
28890	return awsutil.Prettify(s)
28891}
28892
28893// GoString returns the string representation.
28894//
28895// API parameter values that are decorated as "sensitive" in the API will not
28896// be included in the string output. The member name will be present, but the
28897// value will be replaced with "sensitive".
28898func (s UnsupportedRegionException) GoString() string {
28899	return s.String()
28900}
28901
28902func newErrorUnsupportedRegionException(v protocol.ResponseMetadata) error {
28903	return &UnsupportedRegionException{
28904		RespMetadata: v,
28905	}
28906}
28907
28908// Code returns the exception type name.
28909func (s *UnsupportedRegionException) Code() string {
28910	return "UnsupportedRegionException"
28911}
28912
28913// Message returns the exception's message.
28914func (s *UnsupportedRegionException) Message() string {
28915	if s.Message_ != nil {
28916		return *s.Message_
28917	}
28918	return ""
28919}
28920
28921// OrigErr always returns nil, satisfies awserr.Error interface.
28922func (s *UnsupportedRegionException) OrigErr() error {
28923	return nil
28924}
28925
28926func (s *UnsupportedRegionException) Error() string {
28927	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
28928}
28929
28930// Status code returns the HTTP status code for the request's response error.
28931func (s *UnsupportedRegionException) StatusCode() int {
28932	return s.RespMetadata.StatusCode
28933}
28934
28935// RequestID returns the service's response RequestID for request.
28936func (s *UnsupportedRegionException) RequestID() string {
28937	return s.RespMetadata.RequestID
28938}
28939
28940type UntagResourceInput struct {
28941	_ struct{} `type:"structure"`
28942
28943	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
28944	// that is assigned to and uniquely identifies the GameLift resource that you
28945	// want to remove tags from. GameLift resource ARNs are included in the data
28946	// object for the resource, which can be retrieved by calling a List or Describe
28947	// operation for the resource type.
28948	//
28949	// ResourceARN is a required field
28950	ResourceARN *string `min:"1" type:"string" required:"true"`
28951
28952	// A list of one or more tag keys to remove from the specified GameLift resource.
28953	// An AWS resource can have only one tag with a specific tag key, so specifying
28954	// the tag key identifies which tag to remove.
28955	//
28956	// TagKeys is a required field
28957	TagKeys []*string `type:"list" required:"true"`
28958}
28959
28960// String returns the string representation.
28961//
28962// API parameter values that are decorated as "sensitive" in the API will not
28963// be included in the string output. The member name will be present, but the
28964// value will be replaced with "sensitive".
28965func (s UntagResourceInput) String() string {
28966	return awsutil.Prettify(s)
28967}
28968
28969// GoString returns the string representation.
28970//
28971// API parameter values that are decorated as "sensitive" in the API will not
28972// be included in the string output. The member name will be present, but the
28973// value will be replaced with "sensitive".
28974func (s UntagResourceInput) GoString() string {
28975	return s.String()
28976}
28977
28978// Validate inspects the fields of the type to determine if they are valid.
28979func (s *UntagResourceInput) Validate() error {
28980	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
28981	if s.ResourceARN == nil {
28982		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
28983	}
28984	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
28985		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
28986	}
28987	if s.TagKeys == nil {
28988		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
28989	}
28990
28991	if invalidParams.Len() > 0 {
28992		return invalidParams
28993	}
28994	return nil
28995}
28996
28997// SetResourceARN sets the ResourceARN field's value.
28998func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
28999	s.ResourceARN = &v
29000	return s
29001}
29002
29003// SetTagKeys sets the TagKeys field's value.
29004func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
29005	s.TagKeys = v
29006	return s
29007}
29008
29009type UntagResourceOutput struct {
29010	_ struct{} `type:"structure"`
29011}
29012
29013// String returns the string representation.
29014//
29015// API parameter values that are decorated as "sensitive" in the API will not
29016// be included in the string output. The member name will be present, but the
29017// value will be replaced with "sensitive".
29018func (s UntagResourceOutput) String() string {
29019	return awsutil.Prettify(s)
29020}
29021
29022// GoString returns the string representation.
29023//
29024// API parameter values that are decorated as "sensitive" in the API will not
29025// be included in the string output. The member name will be present, but the
29026// value will be replaced with "sensitive".
29027func (s UntagResourceOutput) GoString() string {
29028	return s.String()
29029}
29030
29031// Represents the input for a request operation.
29032type UpdateAliasInput struct {
29033	_ struct{} `type:"structure"`
29034
29035	// A unique identifier for the alias that you want to update. You can use either
29036	// the alias ID or ARN value.
29037	//
29038	// AliasId is a required field
29039	AliasId *string `type:"string" required:"true"`
29040
29041	// A human-readable description of the alias.
29042	Description *string `min:"1" type:"string"`
29043
29044	// A descriptive label that is associated with an alias. Alias names do not
29045	// need to be unique.
29046	Name *string `min:"1" type:"string"`
29047
29048	// The routing configuration, including routing type and fleet target, for the
29049	// alias.
29050	RoutingStrategy *RoutingStrategy `type:"structure"`
29051}
29052
29053// String returns the string representation.
29054//
29055// API parameter values that are decorated as "sensitive" in the API will not
29056// be included in the string output. The member name will be present, but the
29057// value will be replaced with "sensitive".
29058func (s UpdateAliasInput) String() string {
29059	return awsutil.Prettify(s)
29060}
29061
29062// GoString returns the string representation.
29063//
29064// API parameter values that are decorated as "sensitive" in the API will not
29065// be included in the string output. The member name will be present, but the
29066// value will be replaced with "sensitive".
29067func (s UpdateAliasInput) GoString() string {
29068	return s.String()
29069}
29070
29071// Validate inspects the fields of the type to determine if they are valid.
29072func (s *UpdateAliasInput) Validate() error {
29073	invalidParams := request.ErrInvalidParams{Context: "UpdateAliasInput"}
29074	if s.AliasId == nil {
29075		invalidParams.Add(request.NewErrParamRequired("AliasId"))
29076	}
29077	if s.Description != nil && len(*s.Description) < 1 {
29078		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
29079	}
29080	if s.Name != nil && len(*s.Name) < 1 {
29081		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
29082	}
29083
29084	if invalidParams.Len() > 0 {
29085		return invalidParams
29086	}
29087	return nil
29088}
29089
29090// SetAliasId sets the AliasId field's value.
29091func (s *UpdateAliasInput) SetAliasId(v string) *UpdateAliasInput {
29092	s.AliasId = &v
29093	return s
29094}
29095
29096// SetDescription sets the Description field's value.
29097func (s *UpdateAliasInput) SetDescription(v string) *UpdateAliasInput {
29098	s.Description = &v
29099	return s
29100}
29101
29102// SetName sets the Name field's value.
29103func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput {
29104	s.Name = &v
29105	return s
29106}
29107
29108// SetRoutingStrategy sets the RoutingStrategy field's value.
29109func (s *UpdateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *UpdateAliasInput {
29110	s.RoutingStrategy = v
29111	return s
29112}
29113
29114// Represents the returned data in response to a request operation.
29115type UpdateAliasOutput struct {
29116	_ struct{} `type:"structure"`
29117
29118	// The updated alias resource.
29119	Alias *Alias `type:"structure"`
29120}
29121
29122// String returns the string representation.
29123//
29124// API parameter values that are decorated as "sensitive" in the API will not
29125// be included in the string output. The member name will be present, but the
29126// value will be replaced with "sensitive".
29127func (s UpdateAliasOutput) String() string {
29128	return awsutil.Prettify(s)
29129}
29130
29131// GoString returns the string representation.
29132//
29133// API parameter values that are decorated as "sensitive" in the API will not
29134// be included in the string output. The member name will be present, but the
29135// value will be replaced with "sensitive".
29136func (s UpdateAliasOutput) GoString() string {
29137	return s.String()
29138}
29139
29140// SetAlias sets the Alias field's value.
29141func (s *UpdateAliasOutput) SetAlias(v *Alias) *UpdateAliasOutput {
29142	s.Alias = v
29143	return s
29144}
29145
29146// Represents the input for a request operation.
29147type UpdateBuildInput struct {
29148	_ struct{} `type:"structure"`
29149
29150	// A unique identifier for the build to update. You can use either the build
29151	// ID or ARN value.
29152	//
29153	// BuildId is a required field
29154	BuildId *string `type:"string" required:"true"`
29155
29156	// A descriptive label that is associated with a build. Build names do not need
29157	// to be unique.
29158	Name *string `min:"1" type:"string"`
29159
29160	// Version information that is associated with a build or script. Version strings
29161	// do not need to be unique.
29162	Version *string `min:"1" type:"string"`
29163}
29164
29165// String returns the string representation.
29166//
29167// API parameter values that are decorated as "sensitive" in the API will not
29168// be included in the string output. The member name will be present, but the
29169// value will be replaced with "sensitive".
29170func (s UpdateBuildInput) String() string {
29171	return awsutil.Prettify(s)
29172}
29173
29174// GoString returns the string representation.
29175//
29176// API parameter values that are decorated as "sensitive" in the API will not
29177// be included in the string output. The member name will be present, but the
29178// value will be replaced with "sensitive".
29179func (s UpdateBuildInput) GoString() string {
29180	return s.String()
29181}
29182
29183// Validate inspects the fields of the type to determine if they are valid.
29184func (s *UpdateBuildInput) Validate() error {
29185	invalidParams := request.ErrInvalidParams{Context: "UpdateBuildInput"}
29186	if s.BuildId == nil {
29187		invalidParams.Add(request.NewErrParamRequired("BuildId"))
29188	}
29189	if s.Name != nil && len(*s.Name) < 1 {
29190		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
29191	}
29192	if s.Version != nil && len(*s.Version) < 1 {
29193		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
29194	}
29195
29196	if invalidParams.Len() > 0 {
29197		return invalidParams
29198	}
29199	return nil
29200}
29201
29202// SetBuildId sets the BuildId field's value.
29203func (s *UpdateBuildInput) SetBuildId(v string) *UpdateBuildInput {
29204	s.BuildId = &v
29205	return s
29206}
29207
29208// SetName sets the Name field's value.
29209func (s *UpdateBuildInput) SetName(v string) *UpdateBuildInput {
29210	s.Name = &v
29211	return s
29212}
29213
29214// SetVersion sets the Version field's value.
29215func (s *UpdateBuildInput) SetVersion(v string) *UpdateBuildInput {
29216	s.Version = &v
29217	return s
29218}
29219
29220// Represents the returned data in response to a request operation.
29221type UpdateBuildOutput struct {
29222	_ struct{} `type:"structure"`
29223
29224	// The updated build resource.
29225	Build *Build `type:"structure"`
29226}
29227
29228// String returns the string representation.
29229//
29230// API parameter values that are decorated as "sensitive" in the API will not
29231// be included in the string output. The member name will be present, but the
29232// value will be replaced with "sensitive".
29233func (s UpdateBuildOutput) String() string {
29234	return awsutil.Prettify(s)
29235}
29236
29237// GoString returns the string representation.
29238//
29239// API parameter values that are decorated as "sensitive" in the API will not
29240// be included in the string output. The member name will be present, but the
29241// value will be replaced with "sensitive".
29242func (s UpdateBuildOutput) GoString() string {
29243	return s.String()
29244}
29245
29246// SetBuild sets the Build field's value.
29247func (s *UpdateBuildOutput) SetBuild(v *Build) *UpdateBuildOutput {
29248	s.Build = v
29249	return s
29250}
29251
29252// Represents the input for a request operation.
29253type UpdateFleetAttributesInput struct {
29254	_ struct{} `type:"structure"`
29255
29256	// A human-readable description of a fleet.
29257	Description *string `min:"1" type:"string"`
29258
29259	// A unique identifier for the fleet to update attribute metadata for. You can
29260	// use either the fleet ID or ARN value.
29261	//
29262	// FleetId is a required field
29263	FleetId *string `type:"string" required:"true"`
29264
29265	// The name of a metric group to add this fleet to. Use a metric group in Amazon
29266	// CloudWatch to aggregate the metrics from multiple fleets. Provide an existing
29267	// metric group name, or create a new metric group by providing a new name.
29268	// A fleet can only be in one metric group at a time.
29269	MetricGroups []*string `type:"list"`
29270
29271	// A descriptive label that is associated with a fleet. Fleet names do not need
29272	// to be unique.
29273	Name *string `min:"1" type:"string"`
29274
29275	// The game session protection policy to apply to all new instances created
29276	// in this fleet. Instances that already exist are not affected. You can set
29277	// protection for individual instances using UpdateGameSession.
29278	//
29279	//    * NoProtection -- The game session can be terminated during a scale-down
29280	//    event.
29281	//
29282	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
29283	//    be terminated during a scale-down event.
29284	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
29285
29286	// Policy settings that limit the number of game sessions an individual player
29287	// can create over a span of time.
29288	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
29289}
29290
29291// String returns the string representation.
29292//
29293// API parameter values that are decorated as "sensitive" in the API will not
29294// be included in the string output. The member name will be present, but the
29295// value will be replaced with "sensitive".
29296func (s UpdateFleetAttributesInput) String() string {
29297	return awsutil.Prettify(s)
29298}
29299
29300// GoString returns the string representation.
29301//
29302// API parameter values that are decorated as "sensitive" in the API will not
29303// be included in the string output. The member name will be present, but the
29304// value will be replaced with "sensitive".
29305func (s UpdateFleetAttributesInput) GoString() string {
29306	return s.String()
29307}
29308
29309// Validate inspects the fields of the type to determine if they are valid.
29310func (s *UpdateFleetAttributesInput) Validate() error {
29311	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetAttributesInput"}
29312	if s.Description != nil && len(*s.Description) < 1 {
29313		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
29314	}
29315	if s.FleetId == nil {
29316		invalidParams.Add(request.NewErrParamRequired("FleetId"))
29317	}
29318	if s.Name != nil && len(*s.Name) < 1 {
29319		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
29320	}
29321
29322	if invalidParams.Len() > 0 {
29323		return invalidParams
29324	}
29325	return nil
29326}
29327
29328// SetDescription sets the Description field's value.
29329func (s *UpdateFleetAttributesInput) SetDescription(v string) *UpdateFleetAttributesInput {
29330	s.Description = &v
29331	return s
29332}
29333
29334// SetFleetId sets the FleetId field's value.
29335func (s *UpdateFleetAttributesInput) SetFleetId(v string) *UpdateFleetAttributesInput {
29336	s.FleetId = &v
29337	return s
29338}
29339
29340// SetMetricGroups sets the MetricGroups field's value.
29341func (s *UpdateFleetAttributesInput) SetMetricGroups(v []*string) *UpdateFleetAttributesInput {
29342	s.MetricGroups = v
29343	return s
29344}
29345
29346// SetName sets the Name field's value.
29347func (s *UpdateFleetAttributesInput) SetName(v string) *UpdateFleetAttributesInput {
29348	s.Name = &v
29349	return s
29350}
29351
29352// SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
29353func (s *UpdateFleetAttributesInput) SetNewGameSessionProtectionPolicy(v string) *UpdateFleetAttributesInput {
29354	s.NewGameSessionProtectionPolicy = &v
29355	return s
29356}
29357
29358// SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
29359func (s *UpdateFleetAttributesInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *UpdateFleetAttributesInput {
29360	s.ResourceCreationLimitPolicy = v
29361	return s
29362}
29363
29364// Represents the returned data in response to a request operation.
29365type UpdateFleetAttributesOutput struct {
29366	_ struct{} `type:"structure"`
29367
29368	// A unique identifier for the fleet that was updated.
29369	FleetId *string `type:"string"`
29370}
29371
29372// String returns the string representation.
29373//
29374// API parameter values that are decorated as "sensitive" in the API will not
29375// be included in the string output. The member name will be present, but the
29376// value will be replaced with "sensitive".
29377func (s UpdateFleetAttributesOutput) String() string {
29378	return awsutil.Prettify(s)
29379}
29380
29381// GoString returns the string representation.
29382//
29383// API parameter values that are decorated as "sensitive" in the API will not
29384// be included in the string output. The member name will be present, but the
29385// value will be replaced with "sensitive".
29386func (s UpdateFleetAttributesOutput) GoString() string {
29387	return s.String()
29388}
29389
29390// SetFleetId sets the FleetId field's value.
29391func (s *UpdateFleetAttributesOutput) SetFleetId(v string) *UpdateFleetAttributesOutput {
29392	s.FleetId = &v
29393	return s
29394}
29395
29396// Represents the input for a request operation.
29397type UpdateFleetCapacityInput struct {
29398	_ struct{} `type:"structure"`
29399
29400	// The number of EC2 instances you want to maintain in the specified fleet location.
29401	// This value must fall between the minimum and maximum size limits.
29402	DesiredInstances *int64 `type:"integer"`
29403
29404	// A unique identifier for the fleet to update capacity settings for. You can
29405	// use either the fleet ID or ARN value.
29406	//
29407	// FleetId is a required field
29408	FleetId *string `type:"string" required:"true"`
29409
29410	// The name of a remote location to update fleet capacity settings for, in the
29411	// form of an AWS Region code such as us-west-2.
29412	Location *string `min:"1" type:"string"`
29413
29414	// The maximum number of instances that are allowed in the specified fleet location.
29415	// If this parameter is not set, the default is 1.
29416	MaxSize *int64 `type:"integer"`
29417
29418	// The minimum number of instances that are allowed in the specified fleet location.
29419	// If this parameter is not set, the default is 0.
29420	MinSize *int64 `type:"integer"`
29421}
29422
29423// String returns the string representation.
29424//
29425// API parameter values that are decorated as "sensitive" in the API will not
29426// be included in the string output. The member name will be present, but the
29427// value will be replaced with "sensitive".
29428func (s UpdateFleetCapacityInput) String() string {
29429	return awsutil.Prettify(s)
29430}
29431
29432// GoString returns the string representation.
29433//
29434// API parameter values that are decorated as "sensitive" in the API will not
29435// be included in the string output. The member name will be present, but the
29436// value will be replaced with "sensitive".
29437func (s UpdateFleetCapacityInput) GoString() string {
29438	return s.String()
29439}
29440
29441// Validate inspects the fields of the type to determine if they are valid.
29442func (s *UpdateFleetCapacityInput) Validate() error {
29443	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetCapacityInput"}
29444	if s.FleetId == nil {
29445		invalidParams.Add(request.NewErrParamRequired("FleetId"))
29446	}
29447	if s.Location != nil && len(*s.Location) < 1 {
29448		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
29449	}
29450
29451	if invalidParams.Len() > 0 {
29452		return invalidParams
29453	}
29454	return nil
29455}
29456
29457// SetDesiredInstances sets the DesiredInstances field's value.
29458func (s *UpdateFleetCapacityInput) SetDesiredInstances(v int64) *UpdateFleetCapacityInput {
29459	s.DesiredInstances = &v
29460	return s
29461}
29462
29463// SetFleetId sets the FleetId field's value.
29464func (s *UpdateFleetCapacityInput) SetFleetId(v string) *UpdateFleetCapacityInput {
29465	s.FleetId = &v
29466	return s
29467}
29468
29469// SetLocation sets the Location field's value.
29470func (s *UpdateFleetCapacityInput) SetLocation(v string) *UpdateFleetCapacityInput {
29471	s.Location = &v
29472	return s
29473}
29474
29475// SetMaxSize sets the MaxSize field's value.
29476func (s *UpdateFleetCapacityInput) SetMaxSize(v int64) *UpdateFleetCapacityInput {
29477	s.MaxSize = &v
29478	return s
29479}
29480
29481// SetMinSize sets the MinSize field's value.
29482func (s *UpdateFleetCapacityInput) SetMinSize(v int64) *UpdateFleetCapacityInput {
29483	s.MinSize = &v
29484	return s
29485}
29486
29487// Represents the returned data in response to a request operation.
29488type UpdateFleetCapacityOutput struct {
29489	_ struct{} `type:"structure"`
29490
29491	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
29492	// that is assigned to a GameLift fleet resource and uniquely identifies it.
29493	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
29494	FleetArn *string `type:"string"`
29495
29496	// A unique identifier for the fleet that was updated.
29497	FleetId *string `type:"string"`
29498
29499	// The remote location being updated, expressed as an AWS Region code, such
29500	// as us-west-2.
29501	Location *string `min:"1" type:"string"`
29502}
29503
29504// String returns the string representation.
29505//
29506// API parameter values that are decorated as "sensitive" in the API will not
29507// be included in the string output. The member name will be present, but the
29508// value will be replaced with "sensitive".
29509func (s UpdateFleetCapacityOutput) String() string {
29510	return awsutil.Prettify(s)
29511}
29512
29513// GoString returns the string representation.
29514//
29515// API parameter values that are decorated as "sensitive" in the API will not
29516// be included in the string output. The member name will be present, but the
29517// value will be replaced with "sensitive".
29518func (s UpdateFleetCapacityOutput) GoString() string {
29519	return s.String()
29520}
29521
29522// SetFleetArn sets the FleetArn field's value.
29523func (s *UpdateFleetCapacityOutput) SetFleetArn(v string) *UpdateFleetCapacityOutput {
29524	s.FleetArn = &v
29525	return s
29526}
29527
29528// SetFleetId sets the FleetId field's value.
29529func (s *UpdateFleetCapacityOutput) SetFleetId(v string) *UpdateFleetCapacityOutput {
29530	s.FleetId = &v
29531	return s
29532}
29533
29534// SetLocation sets the Location field's value.
29535func (s *UpdateFleetCapacityOutput) SetLocation(v string) *UpdateFleetCapacityOutput {
29536	s.Location = &v
29537	return s
29538}
29539
29540// Represents the input for a request operation.
29541type UpdateFleetPortSettingsInput struct {
29542	_ struct{} `type:"structure"`
29543
29544	// A unique identifier for the fleet to update port settings for. You can use
29545	// either the fleet ID or ARN value.
29546	//
29547	// FleetId is a required field
29548	FleetId *string `type:"string" required:"true"`
29549
29550	// A collection of port settings to be added to the fleet resource.
29551	InboundPermissionAuthorizations []*IpPermission `type:"list"`
29552
29553	// A collection of port settings to be removed from the fleet resource.
29554	InboundPermissionRevocations []*IpPermission `type:"list"`
29555}
29556
29557// String returns the string representation.
29558//
29559// API parameter values that are decorated as "sensitive" in the API will not
29560// be included in the string output. The member name will be present, but the
29561// value will be replaced with "sensitive".
29562func (s UpdateFleetPortSettingsInput) String() string {
29563	return awsutil.Prettify(s)
29564}
29565
29566// GoString returns the string representation.
29567//
29568// API parameter values that are decorated as "sensitive" in the API will not
29569// be included in the string output. The member name will be present, but the
29570// value will be replaced with "sensitive".
29571func (s UpdateFleetPortSettingsInput) GoString() string {
29572	return s.String()
29573}
29574
29575// Validate inspects the fields of the type to determine if they are valid.
29576func (s *UpdateFleetPortSettingsInput) Validate() error {
29577	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetPortSettingsInput"}
29578	if s.FleetId == nil {
29579		invalidParams.Add(request.NewErrParamRequired("FleetId"))
29580	}
29581	if s.InboundPermissionAuthorizations != nil {
29582		for i, v := range s.InboundPermissionAuthorizations {
29583			if v == nil {
29584				continue
29585			}
29586			if err := v.Validate(); err != nil {
29587				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionAuthorizations", i), err.(request.ErrInvalidParams))
29588			}
29589		}
29590	}
29591	if s.InboundPermissionRevocations != nil {
29592		for i, v := range s.InboundPermissionRevocations {
29593			if v == nil {
29594				continue
29595			}
29596			if err := v.Validate(); err != nil {
29597				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionRevocations", i), err.(request.ErrInvalidParams))
29598			}
29599		}
29600	}
29601
29602	if invalidParams.Len() > 0 {
29603		return invalidParams
29604	}
29605	return nil
29606}
29607
29608// SetFleetId sets the FleetId field's value.
29609func (s *UpdateFleetPortSettingsInput) SetFleetId(v string) *UpdateFleetPortSettingsInput {
29610	s.FleetId = &v
29611	return s
29612}
29613
29614// SetInboundPermissionAuthorizations sets the InboundPermissionAuthorizations field's value.
29615func (s *UpdateFleetPortSettingsInput) SetInboundPermissionAuthorizations(v []*IpPermission) *UpdateFleetPortSettingsInput {
29616	s.InboundPermissionAuthorizations = v
29617	return s
29618}
29619
29620// SetInboundPermissionRevocations sets the InboundPermissionRevocations field's value.
29621func (s *UpdateFleetPortSettingsInput) SetInboundPermissionRevocations(v []*IpPermission) *UpdateFleetPortSettingsInput {
29622	s.InboundPermissionRevocations = v
29623	return s
29624}
29625
29626// Represents the returned data in response to a request operation.
29627type UpdateFleetPortSettingsOutput struct {
29628	_ struct{} `type:"structure"`
29629
29630	// A unique identifier for the fleet that was updated.
29631	FleetId *string `type:"string"`
29632}
29633
29634// String returns the string representation.
29635//
29636// API parameter values that are decorated as "sensitive" in the API will not
29637// be included in the string output. The member name will be present, but the
29638// value will be replaced with "sensitive".
29639func (s UpdateFleetPortSettingsOutput) String() string {
29640	return awsutil.Prettify(s)
29641}
29642
29643// GoString returns the string representation.
29644//
29645// API parameter values that are decorated as "sensitive" in the API will not
29646// be included in the string output. The member name will be present, but the
29647// value will be replaced with "sensitive".
29648func (s UpdateFleetPortSettingsOutput) GoString() string {
29649	return s.String()
29650}
29651
29652// SetFleetId sets the FleetId field's value.
29653func (s *UpdateFleetPortSettingsOutput) SetFleetId(v string) *UpdateFleetPortSettingsOutput {
29654	s.FleetId = &v
29655	return s
29656}
29657
29658type UpdateGameServerGroupInput struct {
29659	_ struct{} `type:"structure"`
29660
29661	// Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand
29662	// Instances in the game server group. Method options include the following:
29663	//
29664	//    * SPOT_ONLY - Only Spot Instances are used in the game server group. If
29665	//    Spot Instances are unavailable or not viable for game hosting, the game
29666	//    server group provides no hosting capacity until Spot Instances can again
29667	//    be used. Until then, no new instances are started, and the existing nonviable
29668	//    Spot Instances are terminated (after current gameplay ends) and are not
29669	//    replaced.
29670	//
29671	//    * SPOT_PREFERRED - (default value) Spot Instances are used whenever available
29672	//    in the game server group. If Spot Instances are unavailable, the game
29673	//    server group continues to provide hosting capacity by falling back to
29674	//    On-Demand Instances. Existing nonviable Spot Instances are terminated
29675	//    (after current gameplay ends) and are replaced with new On-Demand Instances.
29676	//
29677	//    * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server
29678	//    group. No Spot Instances are used, even when available, while this balancing
29679	//    strategy is in force.
29680	BalancingStrategy *string `type:"string" enum:"BalancingStrategy"`
29681
29682	// A unique identifier for the game server group. Use either the GameServerGroup
29683	// name or ARN value.
29684	//
29685	// GameServerGroupName is a required field
29686	GameServerGroupName *string `min:"1" type:"string" required:"true"`
29687
29688	// A flag that indicates whether instances in the game server group are protected
29689	// from early termination. Unprotected instances that have active game servers
29690	// running might be terminated during a scale-down event, causing players to
29691	// be dropped from the game. Protected instances cannot be terminated while
29692	// there are active game servers running except in the event of a forced game
29693	// server group deletion (see ). An exception to this is with Spot Instances,
29694	// which can be terminated by AWS regardless of protection status. This property
29695	// is set to NO_PROTECTION by default.
29696	GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"`
29697
29698	// An updated list of EC2 instance types to use in the Auto Scaling group. The
29699	// instance definitions must specify at least two different instance types that
29700	// are supported by GameLift FleetIQ. This updated list replaces the entire
29701	// current list of instance definitions for the game server group. For more
29702	// information on instance types, see EC2 Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
29703	// in the Amazon EC2 User Guide. You can optionally specify capacity weighting
29704	// for each instance type. If no weight value is specified for an instance type,
29705	// it is set to the default value "1". For more information about capacity weighting,
29706	// see Instance Weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
29707	// in the Amazon EC2 Auto Scaling User Guide.
29708	InstanceDefinitions []*InstanceDefinition `min:"2" type:"list"`
29709
29710	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
29711	// for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling
29712	// groups.
29713	RoleArn *string `min:"1" type:"string"`
29714}
29715
29716// String returns the string representation.
29717//
29718// API parameter values that are decorated as "sensitive" in the API will not
29719// be included in the string output. The member name will be present, but the
29720// value will be replaced with "sensitive".
29721func (s UpdateGameServerGroupInput) String() string {
29722	return awsutil.Prettify(s)
29723}
29724
29725// GoString returns the string representation.
29726//
29727// API parameter values that are decorated as "sensitive" in the API will not
29728// be included in the string output. The member name will be present, but the
29729// value will be replaced with "sensitive".
29730func (s UpdateGameServerGroupInput) GoString() string {
29731	return s.String()
29732}
29733
29734// Validate inspects the fields of the type to determine if they are valid.
29735func (s *UpdateGameServerGroupInput) Validate() error {
29736	invalidParams := request.ErrInvalidParams{Context: "UpdateGameServerGroupInput"}
29737	if s.GameServerGroupName == nil {
29738		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
29739	}
29740	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
29741		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
29742	}
29743	if s.InstanceDefinitions != nil && len(s.InstanceDefinitions) < 2 {
29744		invalidParams.Add(request.NewErrParamMinLen("InstanceDefinitions", 2))
29745	}
29746	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
29747		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
29748	}
29749	if s.InstanceDefinitions != nil {
29750		for i, v := range s.InstanceDefinitions {
29751			if v == nil {
29752				continue
29753			}
29754			if err := v.Validate(); err != nil {
29755				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceDefinitions", i), err.(request.ErrInvalidParams))
29756			}
29757		}
29758	}
29759
29760	if invalidParams.Len() > 0 {
29761		return invalidParams
29762	}
29763	return nil
29764}
29765
29766// SetBalancingStrategy sets the BalancingStrategy field's value.
29767func (s *UpdateGameServerGroupInput) SetBalancingStrategy(v string) *UpdateGameServerGroupInput {
29768	s.BalancingStrategy = &v
29769	return s
29770}
29771
29772// SetGameServerGroupName sets the GameServerGroupName field's value.
29773func (s *UpdateGameServerGroupInput) SetGameServerGroupName(v string) *UpdateGameServerGroupInput {
29774	s.GameServerGroupName = &v
29775	return s
29776}
29777
29778// SetGameServerProtectionPolicy sets the GameServerProtectionPolicy field's value.
29779func (s *UpdateGameServerGroupInput) SetGameServerProtectionPolicy(v string) *UpdateGameServerGroupInput {
29780	s.GameServerProtectionPolicy = &v
29781	return s
29782}
29783
29784// SetInstanceDefinitions sets the InstanceDefinitions field's value.
29785func (s *UpdateGameServerGroupInput) SetInstanceDefinitions(v []*InstanceDefinition) *UpdateGameServerGroupInput {
29786	s.InstanceDefinitions = v
29787	return s
29788}
29789
29790// SetRoleArn sets the RoleArn field's value.
29791func (s *UpdateGameServerGroupInput) SetRoleArn(v string) *UpdateGameServerGroupInput {
29792	s.RoleArn = &v
29793	return s
29794}
29795
29796type UpdateGameServerGroupOutput struct {
29797	_ struct{} `type:"structure"`
29798
29799	// An object that describes the game server group resource with updated properties.
29800	GameServerGroup *GameServerGroup `type:"structure"`
29801}
29802
29803// String returns the string representation.
29804//
29805// API parameter values that are decorated as "sensitive" in the API will not
29806// be included in the string output. The member name will be present, but the
29807// value will be replaced with "sensitive".
29808func (s UpdateGameServerGroupOutput) String() string {
29809	return awsutil.Prettify(s)
29810}
29811
29812// GoString returns the string representation.
29813//
29814// API parameter values that are decorated as "sensitive" in the API will not
29815// be included in the string output. The member name will be present, but the
29816// value will be replaced with "sensitive".
29817func (s UpdateGameServerGroupOutput) GoString() string {
29818	return s.String()
29819}
29820
29821// SetGameServerGroup sets the GameServerGroup field's value.
29822func (s *UpdateGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *UpdateGameServerGroupOutput {
29823	s.GameServerGroup = v
29824	return s
29825}
29826
29827type UpdateGameServerInput struct {
29828	_ struct{} `type:"structure"`
29829
29830	// A set of custom game server properties, formatted as a single string value.
29831	// This data is passed to a game client or service when it requests information
29832	// on game servers using ListGameServers or ClaimGameServer.
29833	GameServerData *string `min:"1" type:"string"`
29834
29835	// A unique identifier for the game server group where the game server is running.
29836	// Use either the GameServerGroup name or ARN value.
29837	//
29838	// GameServerGroupName is a required field
29839	GameServerGroupName *string `min:"1" type:"string" required:"true"`
29840
29841	// A custom string that uniquely identifies the game server to update.
29842	//
29843	// GameServerId is a required field
29844	GameServerId *string `min:"3" type:"string" required:"true"`
29845
29846	// Indicates health status of the game server. A request that includes this
29847	// parameter updates the game server's LastHealthCheckTime timestamp.
29848	HealthCheck *string `type:"string" enum:"GameServerHealthCheck"`
29849
29850	// Indicates whether the game server is available or is currently hosting gameplay.
29851	UtilizationStatus *string `type:"string" enum:"GameServerUtilizationStatus"`
29852}
29853
29854// String returns the string representation.
29855//
29856// API parameter values that are decorated as "sensitive" in the API will not
29857// be included in the string output. The member name will be present, but the
29858// value will be replaced with "sensitive".
29859func (s UpdateGameServerInput) String() string {
29860	return awsutil.Prettify(s)
29861}
29862
29863// GoString returns the string representation.
29864//
29865// API parameter values that are decorated as "sensitive" in the API will not
29866// be included in the string output. The member name will be present, but the
29867// value will be replaced with "sensitive".
29868func (s UpdateGameServerInput) GoString() string {
29869	return s.String()
29870}
29871
29872// Validate inspects the fields of the type to determine if they are valid.
29873func (s *UpdateGameServerInput) Validate() error {
29874	invalidParams := request.ErrInvalidParams{Context: "UpdateGameServerInput"}
29875	if s.GameServerData != nil && len(*s.GameServerData) < 1 {
29876		invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1))
29877	}
29878	if s.GameServerGroupName == nil {
29879		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
29880	}
29881	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
29882		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
29883	}
29884	if s.GameServerId == nil {
29885		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
29886	}
29887	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
29888		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
29889	}
29890
29891	if invalidParams.Len() > 0 {
29892		return invalidParams
29893	}
29894	return nil
29895}
29896
29897// SetGameServerData sets the GameServerData field's value.
29898func (s *UpdateGameServerInput) SetGameServerData(v string) *UpdateGameServerInput {
29899	s.GameServerData = &v
29900	return s
29901}
29902
29903// SetGameServerGroupName sets the GameServerGroupName field's value.
29904func (s *UpdateGameServerInput) SetGameServerGroupName(v string) *UpdateGameServerInput {
29905	s.GameServerGroupName = &v
29906	return s
29907}
29908
29909// SetGameServerId sets the GameServerId field's value.
29910func (s *UpdateGameServerInput) SetGameServerId(v string) *UpdateGameServerInput {
29911	s.GameServerId = &v
29912	return s
29913}
29914
29915// SetHealthCheck sets the HealthCheck field's value.
29916func (s *UpdateGameServerInput) SetHealthCheck(v string) *UpdateGameServerInput {
29917	s.HealthCheck = &v
29918	return s
29919}
29920
29921// SetUtilizationStatus sets the UtilizationStatus field's value.
29922func (s *UpdateGameServerInput) SetUtilizationStatus(v string) *UpdateGameServerInput {
29923	s.UtilizationStatus = &v
29924	return s
29925}
29926
29927type UpdateGameServerOutput struct {
29928	_ struct{} `type:"structure"`
29929
29930	// Object that describes the newly updated game server.
29931	GameServer *GameServer `type:"structure"`
29932}
29933
29934// String returns the string representation.
29935//
29936// API parameter values that are decorated as "sensitive" in the API will not
29937// be included in the string output. The member name will be present, but the
29938// value will be replaced with "sensitive".
29939func (s UpdateGameServerOutput) String() string {
29940	return awsutil.Prettify(s)
29941}
29942
29943// GoString returns the string representation.
29944//
29945// API parameter values that are decorated as "sensitive" in the API will not
29946// be included in the string output. The member name will be present, but the
29947// value will be replaced with "sensitive".
29948func (s UpdateGameServerOutput) GoString() string {
29949	return s.String()
29950}
29951
29952// SetGameServer sets the GameServer field's value.
29953func (s *UpdateGameServerOutput) SetGameServer(v *GameServer) *UpdateGameServerOutput {
29954	s.GameServer = v
29955	return s
29956}
29957
29958// Represents the input for a request operation.
29959type UpdateGameSessionInput struct {
29960	_ struct{} `type:"structure"`
29961
29962	// A unique identifier for the game session to update.
29963	//
29964	// GameSessionId is a required field
29965	GameSessionId *string `min:"1" type:"string" required:"true"`
29966
29967	// The maximum number of players that can be connected simultaneously to the
29968	// game session.
29969	MaximumPlayerSessionCount *int64 `type:"integer"`
29970
29971	// A descriptive label that is associated with a game session. Session names
29972	// do not need to be unique.
29973	Name *string `min:"1" type:"string"`
29974
29975	// A policy that determines whether the game session is accepting new players.
29976	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
29977
29978	// Game session protection policy to apply to this game session only.
29979	//
29980	//    * NoProtection -- The game session can be terminated during a scale-down
29981	//    event.
29982	//
29983	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
29984	//    be terminated during a scale-down event.
29985	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
29986}
29987
29988// String returns the string representation.
29989//
29990// API parameter values that are decorated as "sensitive" in the API will not
29991// be included in the string output. The member name will be present, but the
29992// value will be replaced with "sensitive".
29993func (s UpdateGameSessionInput) String() string {
29994	return awsutil.Prettify(s)
29995}
29996
29997// GoString returns the string representation.
29998//
29999// API parameter values that are decorated as "sensitive" in the API will not
30000// be included in the string output. The member name will be present, but the
30001// value will be replaced with "sensitive".
30002func (s UpdateGameSessionInput) GoString() string {
30003	return s.String()
30004}
30005
30006// Validate inspects the fields of the type to determine if they are valid.
30007func (s *UpdateGameSessionInput) Validate() error {
30008	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionInput"}
30009	if s.GameSessionId == nil {
30010		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
30011	}
30012	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
30013		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
30014	}
30015	if s.Name != nil && len(*s.Name) < 1 {
30016		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
30017	}
30018
30019	if invalidParams.Len() > 0 {
30020		return invalidParams
30021	}
30022	return nil
30023}
30024
30025// SetGameSessionId sets the GameSessionId field's value.
30026func (s *UpdateGameSessionInput) SetGameSessionId(v string) *UpdateGameSessionInput {
30027	s.GameSessionId = &v
30028	return s
30029}
30030
30031// SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
30032func (s *UpdateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *UpdateGameSessionInput {
30033	s.MaximumPlayerSessionCount = &v
30034	return s
30035}
30036
30037// SetName sets the Name field's value.
30038func (s *UpdateGameSessionInput) SetName(v string) *UpdateGameSessionInput {
30039	s.Name = &v
30040	return s
30041}
30042
30043// SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
30044func (s *UpdateGameSessionInput) SetPlayerSessionCreationPolicy(v string) *UpdateGameSessionInput {
30045	s.PlayerSessionCreationPolicy = &v
30046	return s
30047}
30048
30049// SetProtectionPolicy sets the ProtectionPolicy field's value.
30050func (s *UpdateGameSessionInput) SetProtectionPolicy(v string) *UpdateGameSessionInput {
30051	s.ProtectionPolicy = &v
30052	return s
30053}
30054
30055// Represents the returned data in response to a request operation.
30056type UpdateGameSessionOutput struct {
30057	_ struct{} `type:"structure"`
30058
30059	// The updated game session properties.
30060	GameSession *GameSession `type:"structure"`
30061}
30062
30063// String returns the string representation.
30064//
30065// API parameter values that are decorated as "sensitive" in the API will not
30066// be included in the string output. The member name will be present, but the
30067// value will be replaced with "sensitive".
30068func (s UpdateGameSessionOutput) String() string {
30069	return awsutil.Prettify(s)
30070}
30071
30072// GoString returns the string representation.
30073//
30074// API parameter values that are decorated as "sensitive" in the API will not
30075// be included in the string output. The member name will be present, but the
30076// value will be replaced with "sensitive".
30077func (s UpdateGameSessionOutput) GoString() string {
30078	return s.String()
30079}
30080
30081// SetGameSession sets the GameSession field's value.
30082func (s *UpdateGameSessionOutput) SetGameSession(v *GameSession) *UpdateGameSessionOutput {
30083	s.GameSession = v
30084	return s
30085}
30086
30087// Represents the input for a request operation.
30088type UpdateGameSessionQueueInput struct {
30089	_ struct{} `type:"structure"`
30090
30091	// Information to be added to all events that are related to this game session
30092	// queue.
30093	CustomEventData *string `type:"string"`
30094
30095	// A list of fleets and/or fleet aliases that can be used to fulfill game session
30096	// placement requests in the queue. Destinations are identified by either a
30097	// fleet ARN or a fleet alias ARN, and are listed in order of placement preference.
30098	// When updating this list, provide a complete list of destinations.
30099	Destinations []*GameSessionQueueDestination `type:"list"`
30100
30101	// A list of locations where a queue is allowed to place new game sessions.
30102	// Locations are specified in the form of AWS Region codes, such as us-west-2.
30103	// If this parameter is not set, game sessions can be placed in any queue location.
30104	// To remove an existing filter configuration, pass in an empty set.
30105	FilterConfiguration *FilterConfiguration `type:"structure"`
30106
30107	// A descriptive label that is associated with game session queue. Queue names
30108	// must be unique within each Region. You can use either the queue ID or ARN
30109	// value.
30110	//
30111	// Name is a required field
30112	Name *string `min:"1" type:"string" required:"true"`
30113
30114	// An SNS topic ARN that is set up to receive game session placement notifications.
30115	// See Setting up notifications for game session placement (https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html).
30116	NotificationTarget *string `type:"string"`
30117
30118	// A set of policies that act as a sliding cap on player latency. FleetIQ works
30119	// to deliver low latency for most players in a game session. These policies
30120	// ensure that no individual player can be placed into a game with unreasonably
30121	// high latency. Use multiple policies to gradually relax latency requirements
30122	// a step at a time. Multiple policies are applied based on their maximum allowed
30123	// latency, starting with the lowest value. When updating policies, provide
30124	// a complete collection of policies.
30125	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
30126
30127	// Custom settings to use when prioritizing destinations and locations for game
30128	// session placements. This configuration replaces the FleetIQ default prioritization
30129	// process. Priority types that are not explicitly named will be automatically
30130	// applied at the end of the prioritization process. To remove an existing priority
30131	// configuration, pass in an empty set.
30132	PriorityConfiguration *PriorityConfiguration `type:"structure"`
30133
30134	// The maximum time, in seconds, that a new game session placement request remains
30135	// in the queue. When a request exceeds this time, the game session placement
30136	// changes to a TIMED_OUT status.
30137	TimeoutInSeconds *int64 `type:"integer"`
30138}
30139
30140// String returns the string representation.
30141//
30142// API parameter values that are decorated as "sensitive" in the API will not
30143// be included in the string output. The member name will be present, but the
30144// value will be replaced with "sensitive".
30145func (s UpdateGameSessionQueueInput) String() string {
30146	return awsutil.Prettify(s)
30147}
30148
30149// GoString returns the string representation.
30150//
30151// API parameter values that are decorated as "sensitive" in the API will not
30152// be included in the string output. The member name will be present, but the
30153// value will be replaced with "sensitive".
30154func (s UpdateGameSessionQueueInput) GoString() string {
30155	return s.String()
30156}
30157
30158// Validate inspects the fields of the type to determine if they are valid.
30159func (s *UpdateGameSessionQueueInput) Validate() error {
30160	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionQueueInput"}
30161	if s.Name == nil {
30162		invalidParams.Add(request.NewErrParamRequired("Name"))
30163	}
30164	if s.Name != nil && len(*s.Name) < 1 {
30165		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
30166	}
30167	if s.Destinations != nil {
30168		for i, v := range s.Destinations {
30169			if v == nil {
30170				continue
30171			}
30172			if err := v.Validate(); err != nil {
30173				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
30174			}
30175		}
30176	}
30177	if s.FilterConfiguration != nil {
30178		if err := s.FilterConfiguration.Validate(); err != nil {
30179			invalidParams.AddNested("FilterConfiguration", err.(request.ErrInvalidParams))
30180		}
30181	}
30182	if s.PriorityConfiguration != nil {
30183		if err := s.PriorityConfiguration.Validate(); err != nil {
30184			invalidParams.AddNested("PriorityConfiguration", err.(request.ErrInvalidParams))
30185		}
30186	}
30187
30188	if invalidParams.Len() > 0 {
30189		return invalidParams
30190	}
30191	return nil
30192}
30193
30194// SetCustomEventData sets the CustomEventData field's value.
30195func (s *UpdateGameSessionQueueInput) SetCustomEventData(v string) *UpdateGameSessionQueueInput {
30196	s.CustomEventData = &v
30197	return s
30198}
30199
30200// SetDestinations sets the Destinations field's value.
30201func (s *UpdateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *UpdateGameSessionQueueInput {
30202	s.Destinations = v
30203	return s
30204}
30205
30206// SetFilterConfiguration sets the FilterConfiguration field's value.
30207func (s *UpdateGameSessionQueueInput) SetFilterConfiguration(v *FilterConfiguration) *UpdateGameSessionQueueInput {
30208	s.FilterConfiguration = v
30209	return s
30210}
30211
30212// SetName sets the Name field's value.
30213func (s *UpdateGameSessionQueueInput) SetName(v string) *UpdateGameSessionQueueInput {
30214	s.Name = &v
30215	return s
30216}
30217
30218// SetNotificationTarget sets the NotificationTarget field's value.
30219func (s *UpdateGameSessionQueueInput) SetNotificationTarget(v string) *UpdateGameSessionQueueInput {
30220	s.NotificationTarget = &v
30221	return s
30222}
30223
30224// SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
30225func (s *UpdateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *UpdateGameSessionQueueInput {
30226	s.PlayerLatencyPolicies = v
30227	return s
30228}
30229
30230// SetPriorityConfiguration sets the PriorityConfiguration field's value.
30231func (s *UpdateGameSessionQueueInput) SetPriorityConfiguration(v *PriorityConfiguration) *UpdateGameSessionQueueInput {
30232	s.PriorityConfiguration = v
30233	return s
30234}
30235
30236// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
30237func (s *UpdateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *UpdateGameSessionQueueInput {
30238	s.TimeoutInSeconds = &v
30239	return s
30240}
30241
30242// Represents the returned data in response to a request operation.
30243type UpdateGameSessionQueueOutput struct {
30244	_ struct{} `type:"structure"`
30245
30246	// An object that describes the newly updated game session queue.
30247	GameSessionQueue *GameSessionQueue `type:"structure"`
30248}
30249
30250// String returns the string representation.
30251//
30252// API parameter values that are decorated as "sensitive" in the API will not
30253// be included in the string output. The member name will be present, but the
30254// value will be replaced with "sensitive".
30255func (s UpdateGameSessionQueueOutput) String() string {
30256	return awsutil.Prettify(s)
30257}
30258
30259// GoString returns the string representation.
30260//
30261// API parameter values that are decorated as "sensitive" in the API will not
30262// be included in the string output. The member name will be present, but the
30263// value will be replaced with "sensitive".
30264func (s UpdateGameSessionQueueOutput) GoString() string {
30265	return s.String()
30266}
30267
30268// SetGameSessionQueue sets the GameSessionQueue field's value.
30269func (s *UpdateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *UpdateGameSessionQueueOutput {
30270	s.GameSessionQueue = v
30271	return s
30272}
30273
30274// Represents the input for a request operation.
30275type UpdateMatchmakingConfigurationInput struct {
30276	_ struct{} `type:"structure"`
30277
30278	// A flag that indicates whether a match that was created with this configuration
30279	// must be accepted by the matched players. To require acceptance, set to TRUE.
30280	// With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE
30281	// to indicate when a completed potential match is waiting for player acceptance.
30282	AcceptanceRequired *bool `type:"boolean"`
30283
30284	// The length of time (in seconds) to wait for players to accept a proposed
30285	// match, if acceptance is required.
30286	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
30287
30288	// The number of player slots in a match to keep open for future players. For
30289	// example, if the configuration's rule set specifies a match for a single 12-person
30290	// team, and the additional player count is set to 2, only 10 players are selected
30291	// for the match. This parameter is not used if FlexMatchMode is set to STANDALONE.
30292	AdditionalPlayerCount *int64 `type:"integer"`
30293
30294	// The method that is used to backfill game sessions created with this matchmaking
30295	// configuration. Specify MANUAL when your game manages backfill requests manually
30296	// or does not use the match backfill feature. Specify AUTOMATIC to have GameLift
30297	// create a StartMatchBackfill request whenever a game session has one or more
30298	// open slots. Learn more about manual and automatic backfill in Backfill Existing
30299	// Games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html).
30300	// Automatic backfill is not available when FlexMatchMode is set to STANDALONE.
30301	BackfillMode *string `type:"string" enum:"BackfillMode"`
30302
30303	// Information to add to all events related to the matchmaking configuration.
30304	CustomEventData *string `type:"string"`
30305
30306	// A descriptive label that is associated with matchmaking configuration.
30307	Description *string `min:"1" type:"string"`
30308
30309	// Indicates whether this matchmaking configuration is being used with GameLift
30310	// hosting or as a standalone matchmaking solution.
30311	//
30312	//    * STANDALONE - FlexMatch forms matches and returns match information,
30313	//    including players and team assignments, in a MatchmakingSucceeded (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded)
30314	//    event.
30315	//
30316	//    * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift
30317	//    queue to start a game session for the match.
30318	FlexMatchMode *string `type:"string" enum:"FlexMatchMode"`
30319
30320	// A set of custom properties for a game session, formatted as key:value pairs.
30321	// These properties are passed to a game server process in the GameSession object
30322	// with a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
30323	// This information is added to the new GameSession object that is created for
30324	// a successful match. This parameter is not used if FlexMatchMode is set to
30325	// STANDALONE.
30326	GameProperties []*GameProperty `type:"list"`
30327
30328	// A set of custom game session properties, formatted as a single string value.
30329	// This data is passed to a game server process in the GameSession object with
30330	// a request to start a new game session (see Start a Game Session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)).
30331	// This information is added to the new GameSession object that is created for
30332	// a successful match. This parameter is not used if FlexMatchMode is set to
30333	// STANDALONE.
30334	GameSessionData *string `min:"1" type:"string"`
30335
30336	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
30337	// that is assigned to a GameLift game session queue resource and uniquely identifies
30338	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
30339	// name>. Queues can be located in any Region. Queues are used to start new
30340	// GameLift-hosted game sessions for matches that are created with this matchmaking
30341	// configuration. If FlexMatchMode is set to STANDALONE, do not set this parameter.
30342	GameSessionQueueArns []*string `type:"list"`
30343
30344	// A unique identifier for the matchmaking configuration to update. You can
30345	// use either the configuration name or ARN value.
30346	//
30347	// Name is a required field
30348	Name *string `min:"1" type:"string" required:"true"`
30349
30350	// An SNS topic ARN that is set up to receive matchmaking notifications. See
30351	// Setting up notifications for matchmaking (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
30352	// for more information.
30353	NotificationTarget *string `type:"string"`
30354
30355	// The maximum duration, in seconds, that a matchmaking ticket can remain in
30356	// process before timing out. Requests that fail due to timing out can be resubmitted
30357	// as needed.
30358	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
30359
30360	// A unique identifier for the matchmaking rule set to use with this configuration.
30361	// You can use either the rule set name or ARN value. A matchmaking configuration
30362	// can only use rule sets that are defined in the same Region.
30363	RuleSetName *string `min:"1" type:"string"`
30364}
30365
30366// String returns the string representation.
30367//
30368// API parameter values that are decorated as "sensitive" in the API will not
30369// be included in the string output. The member name will be present, but the
30370// value will be replaced with "sensitive".
30371func (s UpdateMatchmakingConfigurationInput) String() string {
30372	return awsutil.Prettify(s)
30373}
30374
30375// GoString returns the string representation.
30376//
30377// API parameter values that are decorated as "sensitive" in the API will not
30378// be included in the string output. The member name will be present, but the
30379// value will be replaced with "sensitive".
30380func (s UpdateMatchmakingConfigurationInput) GoString() string {
30381	return s.String()
30382}
30383
30384// Validate inspects the fields of the type to determine if they are valid.
30385func (s *UpdateMatchmakingConfigurationInput) Validate() error {
30386	invalidParams := request.ErrInvalidParams{Context: "UpdateMatchmakingConfigurationInput"}
30387	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
30388		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
30389	}
30390	if s.Description != nil && len(*s.Description) < 1 {
30391		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
30392	}
30393	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
30394		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
30395	}
30396	if s.Name == nil {
30397		invalidParams.Add(request.NewErrParamRequired("Name"))
30398	}
30399	if s.Name != nil && len(*s.Name) < 1 {
30400		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
30401	}
30402	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
30403		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
30404	}
30405	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
30406		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
30407	}
30408	if s.GameProperties != nil {
30409		for i, v := range s.GameProperties {
30410			if v == nil {
30411				continue
30412			}
30413			if err := v.Validate(); err != nil {
30414				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
30415			}
30416		}
30417	}
30418
30419	if invalidParams.Len() > 0 {
30420		return invalidParams
30421	}
30422	return nil
30423}
30424
30425// SetAcceptanceRequired sets the AcceptanceRequired field's value.
30426func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *UpdateMatchmakingConfigurationInput {
30427	s.AcceptanceRequired = &v
30428	return s
30429}
30430
30431// SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
30432func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
30433	s.AcceptanceTimeoutSeconds = &v
30434	return s
30435}
30436
30437// SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
30438func (s *UpdateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *UpdateMatchmakingConfigurationInput {
30439	s.AdditionalPlayerCount = &v
30440	return s
30441}
30442
30443// SetBackfillMode sets the BackfillMode field's value.
30444func (s *UpdateMatchmakingConfigurationInput) SetBackfillMode(v string) *UpdateMatchmakingConfigurationInput {
30445	s.BackfillMode = &v
30446	return s
30447}
30448
30449// SetCustomEventData sets the CustomEventData field's value.
30450func (s *UpdateMatchmakingConfigurationInput) SetCustomEventData(v string) *UpdateMatchmakingConfigurationInput {
30451	s.CustomEventData = &v
30452	return s
30453}
30454
30455// SetDescription sets the Description field's value.
30456func (s *UpdateMatchmakingConfigurationInput) SetDescription(v string) *UpdateMatchmakingConfigurationInput {
30457	s.Description = &v
30458	return s
30459}
30460
30461// SetFlexMatchMode sets the FlexMatchMode field's value.
30462func (s *UpdateMatchmakingConfigurationInput) SetFlexMatchMode(v string) *UpdateMatchmakingConfigurationInput {
30463	s.FlexMatchMode = &v
30464	return s
30465}
30466
30467// SetGameProperties sets the GameProperties field's value.
30468func (s *UpdateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *UpdateMatchmakingConfigurationInput {
30469	s.GameProperties = v
30470	return s
30471}
30472
30473// SetGameSessionData sets the GameSessionData field's value.
30474func (s *UpdateMatchmakingConfigurationInput) SetGameSessionData(v string) *UpdateMatchmakingConfigurationInput {
30475	s.GameSessionData = &v
30476	return s
30477}
30478
30479// SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
30480func (s *UpdateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *UpdateMatchmakingConfigurationInput {
30481	s.GameSessionQueueArns = v
30482	return s
30483}
30484
30485// SetName sets the Name field's value.
30486func (s *UpdateMatchmakingConfigurationInput) SetName(v string) *UpdateMatchmakingConfigurationInput {
30487	s.Name = &v
30488	return s
30489}
30490
30491// SetNotificationTarget sets the NotificationTarget field's value.
30492func (s *UpdateMatchmakingConfigurationInput) SetNotificationTarget(v string) *UpdateMatchmakingConfigurationInput {
30493	s.NotificationTarget = &v
30494	return s
30495}
30496
30497// SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
30498func (s *UpdateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
30499	s.RequestTimeoutSeconds = &v
30500	return s
30501}
30502
30503// SetRuleSetName sets the RuleSetName field's value.
30504func (s *UpdateMatchmakingConfigurationInput) SetRuleSetName(v string) *UpdateMatchmakingConfigurationInput {
30505	s.RuleSetName = &v
30506	return s
30507}
30508
30509// Represents the returned data in response to a request operation.
30510type UpdateMatchmakingConfigurationOutput struct {
30511	_ struct{} `type:"structure"`
30512
30513	// The updated matchmaking configuration.
30514	Configuration *MatchmakingConfiguration `type:"structure"`
30515}
30516
30517// String returns the string representation.
30518//
30519// API parameter values that are decorated as "sensitive" in the API will not
30520// be included in the string output. The member name will be present, but the
30521// value will be replaced with "sensitive".
30522func (s UpdateMatchmakingConfigurationOutput) String() string {
30523	return awsutil.Prettify(s)
30524}
30525
30526// GoString returns the string representation.
30527//
30528// API parameter values that are decorated as "sensitive" in the API will not
30529// be included in the string output. The member name will be present, but the
30530// value will be replaced with "sensitive".
30531func (s UpdateMatchmakingConfigurationOutput) GoString() string {
30532	return s.String()
30533}
30534
30535// SetConfiguration sets the Configuration field's value.
30536func (s *UpdateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *UpdateMatchmakingConfigurationOutput {
30537	s.Configuration = v
30538	return s
30539}
30540
30541// Represents the input for a request operation.
30542type UpdateRuntimeConfigurationInput struct {
30543	_ struct{} `type:"structure"`
30544
30545	// A unique identifier for the fleet to update runtime configuration for. You
30546	// can use either the fleet ID or ARN value.
30547	//
30548	// FleetId is a required field
30549	FleetId *string `type:"string" required:"true"`
30550
30551	// Instructions for launching server processes on each instance in the fleet.
30552	// Server processes run either a custom game build executable or a Realtime
30553	// Servers script. The runtime configuration lists the types of server processes
30554	// to run on an instance, how to launch them, and the number of processes to
30555	// run concurrently.
30556	//
30557	// RuntimeConfiguration is a required field
30558	RuntimeConfiguration *RuntimeConfiguration `type:"structure" required:"true"`
30559}
30560
30561// String returns the string representation.
30562//
30563// API parameter values that are decorated as "sensitive" in the API will not
30564// be included in the string output. The member name will be present, but the
30565// value will be replaced with "sensitive".
30566func (s UpdateRuntimeConfigurationInput) String() string {
30567	return awsutil.Prettify(s)
30568}
30569
30570// GoString returns the string representation.
30571//
30572// API parameter values that are decorated as "sensitive" in the API will not
30573// be included in the string output. The member name will be present, but the
30574// value will be replaced with "sensitive".
30575func (s UpdateRuntimeConfigurationInput) GoString() string {
30576	return s.String()
30577}
30578
30579// Validate inspects the fields of the type to determine if they are valid.
30580func (s *UpdateRuntimeConfigurationInput) Validate() error {
30581	invalidParams := request.ErrInvalidParams{Context: "UpdateRuntimeConfigurationInput"}
30582	if s.FleetId == nil {
30583		invalidParams.Add(request.NewErrParamRequired("FleetId"))
30584	}
30585	if s.RuntimeConfiguration == nil {
30586		invalidParams.Add(request.NewErrParamRequired("RuntimeConfiguration"))
30587	}
30588	if s.RuntimeConfiguration != nil {
30589		if err := s.RuntimeConfiguration.Validate(); err != nil {
30590			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
30591		}
30592	}
30593
30594	if invalidParams.Len() > 0 {
30595		return invalidParams
30596	}
30597	return nil
30598}
30599
30600// SetFleetId sets the FleetId field's value.
30601func (s *UpdateRuntimeConfigurationInput) SetFleetId(v string) *UpdateRuntimeConfigurationInput {
30602	s.FleetId = &v
30603	return s
30604}
30605
30606// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
30607func (s *UpdateRuntimeConfigurationInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationInput {
30608	s.RuntimeConfiguration = v
30609	return s
30610}
30611
30612// Represents the returned data in response to a request operation.
30613type UpdateRuntimeConfigurationOutput struct {
30614	_ struct{} `type:"structure"`
30615
30616	// The runtime configuration currently in use by all instances in the fleet.
30617	// If the update was successful, all property changes are shown.
30618	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
30619}
30620
30621// String returns the string representation.
30622//
30623// API parameter values that are decorated as "sensitive" in the API will not
30624// be included in the string output. The member name will be present, but the
30625// value will be replaced with "sensitive".
30626func (s UpdateRuntimeConfigurationOutput) String() string {
30627	return awsutil.Prettify(s)
30628}
30629
30630// GoString returns the string representation.
30631//
30632// API parameter values that are decorated as "sensitive" in the API will not
30633// be included in the string output. The member name will be present, but the
30634// value will be replaced with "sensitive".
30635func (s UpdateRuntimeConfigurationOutput) GoString() string {
30636	return s.String()
30637}
30638
30639// SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
30640func (s *UpdateRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationOutput {
30641	s.RuntimeConfiguration = v
30642	return s
30643}
30644
30645type UpdateScriptInput struct {
30646	_ struct{} `type:"structure"`
30647
30648	// A descriptive label that is associated with a script. Script names do not
30649	// need to be unique.
30650	Name *string `min:"1" type:"string"`
30651
30652	// A unique identifier for the Realtime script to update. You can use either
30653	// the script ID or ARN value.
30654	//
30655	// ScriptId is a required field
30656	ScriptId *string `type:"string" required:"true"`
30657
30658	// The location of the Amazon S3 bucket where a zipped file containing your
30659	// Realtime scripts is stored. The storage location must specify the Amazon
30660	// S3 bucket name, the zip file name (the "key"), and a role ARN that allows
30661	// Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must
30662	// be in the same Region where you want to create a new script. By default,
30663	// Amazon GameLift uploads the latest version of the zip file; if you have S3
30664	// object versioning turned on, you can use the ObjectVersion parameter to specify
30665	// an earlier version.
30666	StorageLocation *S3Location `type:"structure"`
30667
30668	// Version information that is associated with a build or script. Version strings
30669	// do not need to be unique.
30670	Version *string `min:"1" type:"string"`
30671
30672	// A data object containing your Realtime scripts and dependencies as a zip
30673	// file. The zip file can have one or multiple files. Maximum size of a zip
30674	// file is 5 MB.
30675	//
30676	// When using the AWS CLI tool to create a script, this parameter is set to
30677	// the zip file name. It must be prepended with the string "fileb://" to indicate
30678	// that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.
30679	// ZipFile is automatically base64 encoded/decoded by the SDK.
30680	ZipFile []byte `type:"blob"`
30681}
30682
30683// String returns the string representation.
30684//
30685// API parameter values that are decorated as "sensitive" in the API will not
30686// be included in the string output. The member name will be present, but the
30687// value will be replaced with "sensitive".
30688func (s UpdateScriptInput) String() string {
30689	return awsutil.Prettify(s)
30690}
30691
30692// GoString returns the string representation.
30693//
30694// API parameter values that are decorated as "sensitive" in the API will not
30695// be included in the string output. The member name will be present, but the
30696// value will be replaced with "sensitive".
30697func (s UpdateScriptInput) GoString() string {
30698	return s.String()
30699}
30700
30701// Validate inspects the fields of the type to determine if they are valid.
30702func (s *UpdateScriptInput) Validate() error {
30703	invalidParams := request.ErrInvalidParams{Context: "UpdateScriptInput"}
30704	if s.Name != nil && len(*s.Name) < 1 {
30705		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
30706	}
30707	if s.ScriptId == nil {
30708		invalidParams.Add(request.NewErrParamRequired("ScriptId"))
30709	}
30710	if s.Version != nil && len(*s.Version) < 1 {
30711		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
30712	}
30713	if s.StorageLocation != nil {
30714		if err := s.StorageLocation.Validate(); err != nil {
30715			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
30716		}
30717	}
30718
30719	if invalidParams.Len() > 0 {
30720		return invalidParams
30721	}
30722	return nil
30723}
30724
30725// SetName sets the Name field's value.
30726func (s *UpdateScriptInput) SetName(v string) *UpdateScriptInput {
30727	s.Name = &v
30728	return s
30729}
30730
30731// SetScriptId sets the ScriptId field's value.
30732func (s *UpdateScriptInput) SetScriptId(v string) *UpdateScriptInput {
30733	s.ScriptId = &v
30734	return s
30735}
30736
30737// SetStorageLocation sets the StorageLocation field's value.
30738func (s *UpdateScriptInput) SetStorageLocation(v *S3Location) *UpdateScriptInput {
30739	s.StorageLocation = v
30740	return s
30741}
30742
30743// SetVersion sets the Version field's value.
30744func (s *UpdateScriptInput) SetVersion(v string) *UpdateScriptInput {
30745	s.Version = &v
30746	return s
30747}
30748
30749// SetZipFile sets the ZipFile field's value.
30750func (s *UpdateScriptInput) SetZipFile(v []byte) *UpdateScriptInput {
30751	s.ZipFile = v
30752	return s
30753}
30754
30755type UpdateScriptOutput struct {
30756	_ struct{} `type:"structure"`
30757
30758	// The newly created script record with a unique script ID. The new script's
30759	// storage location reflects an Amazon S3 location: (1) If the script was uploaded
30760	// from an S3 bucket under your account, the storage location reflects the information
30761	// that was provided in the CreateScript request; (2) If the script file was
30762	// uploaded from a local zip file, the storage location reflects an S3 location
30763	// controls by the Amazon GameLift service.
30764	Script *Script `type:"structure"`
30765}
30766
30767// String returns the string representation.
30768//
30769// API parameter values that are decorated as "sensitive" in the API will not
30770// be included in the string output. The member name will be present, but the
30771// value will be replaced with "sensitive".
30772func (s UpdateScriptOutput) String() string {
30773	return awsutil.Prettify(s)
30774}
30775
30776// GoString returns the string representation.
30777//
30778// API parameter values that are decorated as "sensitive" in the API will not
30779// be included in the string output. The member name will be present, but the
30780// value will be replaced with "sensitive".
30781func (s UpdateScriptOutput) GoString() string {
30782	return s.String()
30783}
30784
30785// SetScript sets the Script field's value.
30786func (s *UpdateScriptOutput) SetScript(v *Script) *UpdateScriptOutput {
30787	s.Script = v
30788	return s
30789}
30790
30791// Represents the input for a request operation.
30792type ValidateMatchmakingRuleSetInput struct {
30793	_ struct{} `type:"structure"`
30794
30795	// A collection of matchmaking rules to validate, formatted as a JSON string.
30796	//
30797	// RuleSetBody is a required field
30798	RuleSetBody *string `min:"1" type:"string" required:"true"`
30799}
30800
30801// String returns the string representation.
30802//
30803// API parameter values that are decorated as "sensitive" in the API will not
30804// be included in the string output. The member name will be present, but the
30805// value will be replaced with "sensitive".
30806func (s ValidateMatchmakingRuleSetInput) String() string {
30807	return awsutil.Prettify(s)
30808}
30809
30810// GoString returns the string representation.
30811//
30812// API parameter values that are decorated as "sensitive" in the API will not
30813// be included in the string output. The member name will be present, but the
30814// value will be replaced with "sensitive".
30815func (s ValidateMatchmakingRuleSetInput) GoString() string {
30816	return s.String()
30817}
30818
30819// Validate inspects the fields of the type to determine if they are valid.
30820func (s *ValidateMatchmakingRuleSetInput) Validate() error {
30821	invalidParams := request.ErrInvalidParams{Context: "ValidateMatchmakingRuleSetInput"}
30822	if s.RuleSetBody == nil {
30823		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
30824	}
30825	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
30826		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
30827	}
30828
30829	if invalidParams.Len() > 0 {
30830		return invalidParams
30831	}
30832	return nil
30833}
30834
30835// SetRuleSetBody sets the RuleSetBody field's value.
30836func (s *ValidateMatchmakingRuleSetInput) SetRuleSetBody(v string) *ValidateMatchmakingRuleSetInput {
30837	s.RuleSetBody = &v
30838	return s
30839}
30840
30841// Represents the returned data in response to a request operation.
30842type ValidateMatchmakingRuleSetOutput struct {
30843	_ struct{} `type:"structure"`
30844
30845	// A response indicating whether the rule set is valid.
30846	Valid *bool `type:"boolean"`
30847}
30848
30849// String returns the string representation.
30850//
30851// API parameter values that are decorated as "sensitive" in the API will not
30852// be included in the string output. The member name will be present, but the
30853// value will be replaced with "sensitive".
30854func (s ValidateMatchmakingRuleSetOutput) String() string {
30855	return awsutil.Prettify(s)
30856}
30857
30858// GoString returns the string representation.
30859//
30860// API parameter values that are decorated as "sensitive" in the API will not
30861// be included in the string output. The member name will be present, but the
30862// value will be replaced with "sensitive".
30863func (s ValidateMatchmakingRuleSetOutput) GoString() string {
30864	return s.String()
30865}
30866
30867// SetValid sets the Valid field's value.
30868func (s *ValidateMatchmakingRuleSetOutput) SetValid(v bool) *ValidateMatchmakingRuleSetOutput {
30869	s.Valid = &v
30870	return s
30871}
30872
30873// Represents an authorization for a VPC peering connection between the VPC
30874// for an Amazon GameLift fleet and another VPC on an account you have access
30875// to. This authorization must exist and be valid for the peering connection
30876// to be established. Authorizations are valid for 24 hours after they are issued.
30877//
30878// Related actions
30879//
30880// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
30881// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
30882// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
30883type VpcPeeringAuthorization struct {
30884	_ struct{} `type:"structure"`
30885
30886	// Time stamp indicating when this authorization was issued. Format is a number
30887	// expressed in Unix time as milliseconds (for example "1469498468.057").
30888	CreationTime *time.Time `type:"timestamp"`
30889
30890	// Time stamp indicating when this authorization expires (24 hours after issuance).
30891	// Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
30892	ExpirationTime *time.Time `type:"timestamp"`
30893
30894	// A unique identifier for the AWS account that you use to manage your GameLift
30895	// fleet. You can find your Account ID in the AWS Management Console under account
30896	// settings.
30897	GameLiftAwsAccountId *string `min:"1" type:"string"`
30898
30899	PeerVpcAwsAccountId *string `min:"1" type:"string"`
30900
30901	// A unique identifier for a VPC with resources to be accessed by your GameLift
30902	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
30903	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
30904	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
30905	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
30906	PeerVpcId *string `min:"1" type:"string"`
30907}
30908
30909// String returns the string representation.
30910//
30911// API parameter values that are decorated as "sensitive" in the API will not
30912// be included in the string output. The member name will be present, but the
30913// value will be replaced with "sensitive".
30914func (s VpcPeeringAuthorization) String() string {
30915	return awsutil.Prettify(s)
30916}
30917
30918// GoString returns the string representation.
30919//
30920// API parameter values that are decorated as "sensitive" in the API will not
30921// be included in the string output. The member name will be present, but the
30922// value will be replaced with "sensitive".
30923func (s VpcPeeringAuthorization) GoString() string {
30924	return s.String()
30925}
30926
30927// SetCreationTime sets the CreationTime field's value.
30928func (s *VpcPeeringAuthorization) SetCreationTime(v time.Time) *VpcPeeringAuthorization {
30929	s.CreationTime = &v
30930	return s
30931}
30932
30933// SetExpirationTime sets the ExpirationTime field's value.
30934func (s *VpcPeeringAuthorization) SetExpirationTime(v time.Time) *VpcPeeringAuthorization {
30935	s.ExpirationTime = &v
30936	return s
30937}
30938
30939// SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
30940func (s *VpcPeeringAuthorization) SetGameLiftAwsAccountId(v string) *VpcPeeringAuthorization {
30941	s.GameLiftAwsAccountId = &v
30942	return s
30943}
30944
30945// SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
30946func (s *VpcPeeringAuthorization) SetPeerVpcAwsAccountId(v string) *VpcPeeringAuthorization {
30947	s.PeerVpcAwsAccountId = &v
30948	return s
30949}
30950
30951// SetPeerVpcId sets the PeerVpcId field's value.
30952func (s *VpcPeeringAuthorization) SetPeerVpcId(v string) *VpcPeeringAuthorization {
30953	s.PeerVpcId = &v
30954	return s
30955}
30956
30957// Represents a peering connection between a VPC on one of your AWS accounts
30958// and the VPC for your Amazon GameLift fleets. This record may be for an active
30959// peering connection or a pending connection that has not yet been established.
30960//
30961// Related actions
30962//
30963// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
30964// | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
30965// | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
30966type VpcPeeringConnection struct {
30967	_ struct{} `type:"structure"`
30968
30969	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
30970	// associated with the GameLift fleet resource for this connection.
30971	FleetArn *string `type:"string"`
30972
30973	// A unique identifier for the fleet. This ID determines the ID of the Amazon
30974	// GameLift VPC for your fleet.
30975	FleetId *string `type:"string"`
30976
30977	// A unique identifier for the VPC that contains the Amazon GameLift fleet for
30978	// this connection. This VPC is managed by Amazon GameLift and does not appear
30979	// in your AWS account.
30980	GameLiftVpcId *string `min:"1" type:"string"`
30981
30982	// CIDR block of IPv4 addresses assigned to the VPC peering connection for the
30983	// GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with
30984	// it; these blocks cannot overlap or the peering connection cannot be created.
30985	IpV4CidrBlock *string `min:"1" type:"string"`
30986
30987	// A unique identifier for a VPC with resources to be accessed by your GameLift
30988	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
30989	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
30990	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
30991	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
30992	PeerVpcId *string `min:"1" type:"string"`
30993
30994	// The status information about the connection. Status indicates if a connection
30995	// is pending, successful, or failed.
30996	Status *VpcPeeringConnectionStatus `type:"structure"`
30997
30998	// A unique identifier that is automatically assigned to the connection record.
30999	// This ID is referenced in VPC peering connection events, and is used when
31000	// deleting a connection with DeleteVpcPeeringConnection.
31001	VpcPeeringConnectionId *string `min:"1" type:"string"`
31002}
31003
31004// String returns the string representation.
31005//
31006// API parameter values that are decorated as "sensitive" in the API will not
31007// be included in the string output. The member name will be present, but the
31008// value will be replaced with "sensitive".
31009func (s VpcPeeringConnection) String() string {
31010	return awsutil.Prettify(s)
31011}
31012
31013// GoString returns the string representation.
31014//
31015// API parameter values that are decorated as "sensitive" in the API will not
31016// be included in the string output. The member name will be present, but the
31017// value will be replaced with "sensitive".
31018func (s VpcPeeringConnection) GoString() string {
31019	return s.String()
31020}
31021
31022// SetFleetArn sets the FleetArn field's value.
31023func (s *VpcPeeringConnection) SetFleetArn(v string) *VpcPeeringConnection {
31024	s.FleetArn = &v
31025	return s
31026}
31027
31028// SetFleetId sets the FleetId field's value.
31029func (s *VpcPeeringConnection) SetFleetId(v string) *VpcPeeringConnection {
31030	s.FleetId = &v
31031	return s
31032}
31033
31034// SetGameLiftVpcId sets the GameLiftVpcId field's value.
31035func (s *VpcPeeringConnection) SetGameLiftVpcId(v string) *VpcPeeringConnection {
31036	s.GameLiftVpcId = &v
31037	return s
31038}
31039
31040// SetIpV4CidrBlock sets the IpV4CidrBlock field's value.
31041func (s *VpcPeeringConnection) SetIpV4CidrBlock(v string) *VpcPeeringConnection {
31042	s.IpV4CidrBlock = &v
31043	return s
31044}
31045
31046// SetPeerVpcId sets the PeerVpcId field's value.
31047func (s *VpcPeeringConnection) SetPeerVpcId(v string) *VpcPeeringConnection {
31048	s.PeerVpcId = &v
31049	return s
31050}
31051
31052// SetStatus sets the Status field's value.
31053func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStatus) *VpcPeeringConnection {
31054	s.Status = v
31055	return s
31056}
31057
31058// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
31059func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
31060	s.VpcPeeringConnectionId = &v
31061	return s
31062}
31063
31064// Represents status information for a VPC peering connection. Status is associated
31065// with a VpcPeeringConnection object. Status codes and messages are provided
31066// from EC2 (see VpcPeeringConnectionStateReason (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html)).
31067// Connection status information is also communicated as a fleet Event.
31068type VpcPeeringConnectionStatus struct {
31069	_ struct{} `type:"structure"`
31070
31071	// Code indicating the status of a VPC peering connection.
31072	Code *string `min:"1" type:"string"`
31073
31074	// Additional messaging associated with the connection status.
31075	Message *string `min:"1" type:"string"`
31076}
31077
31078// String returns the string representation.
31079//
31080// API parameter values that are decorated as "sensitive" in the API will not
31081// be included in the string output. The member name will be present, but the
31082// value will be replaced with "sensitive".
31083func (s VpcPeeringConnectionStatus) String() string {
31084	return awsutil.Prettify(s)
31085}
31086
31087// GoString returns the string representation.
31088//
31089// API parameter values that are decorated as "sensitive" in the API will not
31090// be included in the string output. The member name will be present, but the
31091// value will be replaced with "sensitive".
31092func (s VpcPeeringConnectionStatus) GoString() string {
31093	return s.String()
31094}
31095
31096// SetCode sets the Code field's value.
31097func (s *VpcPeeringConnectionStatus) SetCode(v string) *VpcPeeringConnectionStatus {
31098	s.Code = &v
31099	return s
31100}
31101
31102// SetMessage sets the Message field's value.
31103func (s *VpcPeeringConnectionStatus) SetMessage(v string) *VpcPeeringConnectionStatus {
31104	s.Message = &v
31105	return s
31106}
31107
31108const (
31109	// AcceptanceTypeAccept is a AcceptanceType enum value
31110	AcceptanceTypeAccept = "ACCEPT"
31111
31112	// AcceptanceTypeReject is a AcceptanceType enum value
31113	AcceptanceTypeReject = "REJECT"
31114)
31115
31116// AcceptanceType_Values returns all elements of the AcceptanceType enum
31117func AcceptanceType_Values() []string {
31118	return []string{
31119		AcceptanceTypeAccept,
31120		AcceptanceTypeReject,
31121	}
31122}
31123
31124const (
31125	// BackfillModeAutomatic is a BackfillMode enum value
31126	BackfillModeAutomatic = "AUTOMATIC"
31127
31128	// BackfillModeManual is a BackfillMode enum value
31129	BackfillModeManual = "MANUAL"
31130)
31131
31132// BackfillMode_Values returns all elements of the BackfillMode enum
31133func BackfillMode_Values() []string {
31134	return []string{
31135		BackfillModeAutomatic,
31136		BackfillModeManual,
31137	}
31138}
31139
31140const (
31141	// BalancingStrategySpotOnly is a BalancingStrategy enum value
31142	BalancingStrategySpotOnly = "SPOT_ONLY"
31143
31144	// BalancingStrategySpotPreferred is a BalancingStrategy enum value
31145	BalancingStrategySpotPreferred = "SPOT_PREFERRED"
31146
31147	// BalancingStrategyOnDemandOnly is a BalancingStrategy enum value
31148	BalancingStrategyOnDemandOnly = "ON_DEMAND_ONLY"
31149)
31150
31151// BalancingStrategy_Values returns all elements of the BalancingStrategy enum
31152func BalancingStrategy_Values() []string {
31153	return []string{
31154		BalancingStrategySpotOnly,
31155		BalancingStrategySpotPreferred,
31156		BalancingStrategyOnDemandOnly,
31157	}
31158}
31159
31160const (
31161	// BuildStatusInitialized is a BuildStatus enum value
31162	BuildStatusInitialized = "INITIALIZED"
31163
31164	// BuildStatusReady is a BuildStatus enum value
31165	BuildStatusReady = "READY"
31166
31167	// BuildStatusFailed is a BuildStatus enum value
31168	BuildStatusFailed = "FAILED"
31169)
31170
31171// BuildStatus_Values returns all elements of the BuildStatus enum
31172func BuildStatus_Values() []string {
31173	return []string{
31174		BuildStatusInitialized,
31175		BuildStatusReady,
31176		BuildStatusFailed,
31177	}
31178}
31179
31180const (
31181	// CertificateTypeDisabled is a CertificateType enum value
31182	CertificateTypeDisabled = "DISABLED"
31183
31184	// CertificateTypeGenerated is a CertificateType enum value
31185	CertificateTypeGenerated = "GENERATED"
31186)
31187
31188// CertificateType_Values returns all elements of the CertificateType enum
31189func CertificateType_Values() []string {
31190	return []string{
31191		CertificateTypeDisabled,
31192		CertificateTypeGenerated,
31193	}
31194}
31195
31196const (
31197	// ComparisonOperatorTypeGreaterThanOrEqualToThreshold is a ComparisonOperatorType enum value
31198	ComparisonOperatorTypeGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
31199
31200	// ComparisonOperatorTypeGreaterThanThreshold is a ComparisonOperatorType enum value
31201	ComparisonOperatorTypeGreaterThanThreshold = "GreaterThanThreshold"
31202
31203	// ComparisonOperatorTypeLessThanThreshold is a ComparisonOperatorType enum value
31204	ComparisonOperatorTypeLessThanThreshold = "LessThanThreshold"
31205
31206	// ComparisonOperatorTypeLessThanOrEqualToThreshold is a ComparisonOperatorType enum value
31207	ComparisonOperatorTypeLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
31208)
31209
31210// ComparisonOperatorType_Values returns all elements of the ComparisonOperatorType enum
31211func ComparisonOperatorType_Values() []string {
31212	return []string{
31213		ComparisonOperatorTypeGreaterThanOrEqualToThreshold,
31214		ComparisonOperatorTypeGreaterThanThreshold,
31215		ComparisonOperatorTypeLessThanThreshold,
31216		ComparisonOperatorTypeLessThanOrEqualToThreshold,
31217	}
31218}
31219
31220const (
31221	// EC2InstanceTypeT2Micro is a EC2InstanceType enum value
31222	EC2InstanceTypeT2Micro = "t2.micro"
31223
31224	// EC2InstanceTypeT2Small is a EC2InstanceType enum value
31225	EC2InstanceTypeT2Small = "t2.small"
31226
31227	// EC2InstanceTypeT2Medium is a EC2InstanceType enum value
31228	EC2InstanceTypeT2Medium = "t2.medium"
31229
31230	// EC2InstanceTypeT2Large is a EC2InstanceType enum value
31231	EC2InstanceTypeT2Large = "t2.large"
31232
31233	// EC2InstanceTypeC3Large is a EC2InstanceType enum value
31234	EC2InstanceTypeC3Large = "c3.large"
31235
31236	// EC2InstanceTypeC3Xlarge is a EC2InstanceType enum value
31237	EC2InstanceTypeC3Xlarge = "c3.xlarge"
31238
31239	// EC2InstanceTypeC32xlarge is a EC2InstanceType enum value
31240	EC2InstanceTypeC32xlarge = "c3.2xlarge"
31241
31242	// EC2InstanceTypeC34xlarge is a EC2InstanceType enum value
31243	EC2InstanceTypeC34xlarge = "c3.4xlarge"
31244
31245	// EC2InstanceTypeC38xlarge is a EC2InstanceType enum value
31246	EC2InstanceTypeC38xlarge = "c3.8xlarge"
31247
31248	// EC2InstanceTypeC4Large is a EC2InstanceType enum value
31249	EC2InstanceTypeC4Large = "c4.large"
31250
31251	// EC2InstanceTypeC4Xlarge is a EC2InstanceType enum value
31252	EC2InstanceTypeC4Xlarge = "c4.xlarge"
31253
31254	// EC2InstanceTypeC42xlarge is a EC2InstanceType enum value
31255	EC2InstanceTypeC42xlarge = "c4.2xlarge"
31256
31257	// EC2InstanceTypeC44xlarge is a EC2InstanceType enum value
31258	EC2InstanceTypeC44xlarge = "c4.4xlarge"
31259
31260	// EC2InstanceTypeC48xlarge is a EC2InstanceType enum value
31261	EC2InstanceTypeC48xlarge = "c4.8xlarge"
31262
31263	// EC2InstanceTypeC5Large is a EC2InstanceType enum value
31264	EC2InstanceTypeC5Large = "c5.large"
31265
31266	// EC2InstanceTypeC5Xlarge is a EC2InstanceType enum value
31267	EC2InstanceTypeC5Xlarge = "c5.xlarge"
31268
31269	// EC2InstanceTypeC52xlarge is a EC2InstanceType enum value
31270	EC2InstanceTypeC52xlarge = "c5.2xlarge"
31271
31272	// EC2InstanceTypeC54xlarge is a EC2InstanceType enum value
31273	EC2InstanceTypeC54xlarge = "c5.4xlarge"
31274
31275	// EC2InstanceTypeC59xlarge is a EC2InstanceType enum value
31276	EC2InstanceTypeC59xlarge = "c5.9xlarge"
31277
31278	// EC2InstanceTypeC512xlarge is a EC2InstanceType enum value
31279	EC2InstanceTypeC512xlarge = "c5.12xlarge"
31280
31281	// EC2InstanceTypeC518xlarge is a EC2InstanceType enum value
31282	EC2InstanceTypeC518xlarge = "c5.18xlarge"
31283
31284	// EC2InstanceTypeC524xlarge is a EC2InstanceType enum value
31285	EC2InstanceTypeC524xlarge = "c5.24xlarge"
31286
31287	// EC2InstanceTypeC5aLarge is a EC2InstanceType enum value
31288	EC2InstanceTypeC5aLarge = "c5a.large"
31289
31290	// EC2InstanceTypeC5aXlarge is a EC2InstanceType enum value
31291	EC2InstanceTypeC5aXlarge = "c5a.xlarge"
31292
31293	// EC2InstanceTypeC5a2xlarge is a EC2InstanceType enum value
31294	EC2InstanceTypeC5a2xlarge = "c5a.2xlarge"
31295
31296	// EC2InstanceTypeC5a4xlarge is a EC2InstanceType enum value
31297	EC2InstanceTypeC5a4xlarge = "c5a.4xlarge"
31298
31299	// EC2InstanceTypeC5a8xlarge is a EC2InstanceType enum value
31300	EC2InstanceTypeC5a8xlarge = "c5a.8xlarge"
31301
31302	// EC2InstanceTypeC5a12xlarge is a EC2InstanceType enum value
31303	EC2InstanceTypeC5a12xlarge = "c5a.12xlarge"
31304
31305	// EC2InstanceTypeC5a16xlarge is a EC2InstanceType enum value
31306	EC2InstanceTypeC5a16xlarge = "c5a.16xlarge"
31307
31308	// EC2InstanceTypeC5a24xlarge is a EC2InstanceType enum value
31309	EC2InstanceTypeC5a24xlarge = "c5a.24xlarge"
31310
31311	// EC2InstanceTypeR3Large is a EC2InstanceType enum value
31312	EC2InstanceTypeR3Large = "r3.large"
31313
31314	// EC2InstanceTypeR3Xlarge is a EC2InstanceType enum value
31315	EC2InstanceTypeR3Xlarge = "r3.xlarge"
31316
31317	// EC2InstanceTypeR32xlarge is a EC2InstanceType enum value
31318	EC2InstanceTypeR32xlarge = "r3.2xlarge"
31319
31320	// EC2InstanceTypeR34xlarge is a EC2InstanceType enum value
31321	EC2InstanceTypeR34xlarge = "r3.4xlarge"
31322
31323	// EC2InstanceTypeR38xlarge is a EC2InstanceType enum value
31324	EC2InstanceTypeR38xlarge = "r3.8xlarge"
31325
31326	// EC2InstanceTypeR4Large is a EC2InstanceType enum value
31327	EC2InstanceTypeR4Large = "r4.large"
31328
31329	// EC2InstanceTypeR4Xlarge is a EC2InstanceType enum value
31330	EC2InstanceTypeR4Xlarge = "r4.xlarge"
31331
31332	// EC2InstanceTypeR42xlarge is a EC2InstanceType enum value
31333	EC2InstanceTypeR42xlarge = "r4.2xlarge"
31334
31335	// EC2InstanceTypeR44xlarge is a EC2InstanceType enum value
31336	EC2InstanceTypeR44xlarge = "r4.4xlarge"
31337
31338	// EC2InstanceTypeR48xlarge is a EC2InstanceType enum value
31339	EC2InstanceTypeR48xlarge = "r4.8xlarge"
31340
31341	// EC2InstanceTypeR416xlarge is a EC2InstanceType enum value
31342	EC2InstanceTypeR416xlarge = "r4.16xlarge"
31343
31344	// EC2InstanceTypeR5Large is a EC2InstanceType enum value
31345	EC2InstanceTypeR5Large = "r5.large"
31346
31347	// EC2InstanceTypeR5Xlarge is a EC2InstanceType enum value
31348	EC2InstanceTypeR5Xlarge = "r5.xlarge"
31349
31350	// EC2InstanceTypeR52xlarge is a EC2InstanceType enum value
31351	EC2InstanceTypeR52xlarge = "r5.2xlarge"
31352
31353	// EC2InstanceTypeR54xlarge is a EC2InstanceType enum value
31354	EC2InstanceTypeR54xlarge = "r5.4xlarge"
31355
31356	// EC2InstanceTypeR58xlarge is a EC2InstanceType enum value
31357	EC2InstanceTypeR58xlarge = "r5.8xlarge"
31358
31359	// EC2InstanceTypeR512xlarge is a EC2InstanceType enum value
31360	EC2InstanceTypeR512xlarge = "r5.12xlarge"
31361
31362	// EC2InstanceTypeR516xlarge is a EC2InstanceType enum value
31363	EC2InstanceTypeR516xlarge = "r5.16xlarge"
31364
31365	// EC2InstanceTypeR524xlarge is a EC2InstanceType enum value
31366	EC2InstanceTypeR524xlarge = "r5.24xlarge"
31367
31368	// EC2InstanceTypeR5aLarge is a EC2InstanceType enum value
31369	EC2InstanceTypeR5aLarge = "r5a.large"
31370
31371	// EC2InstanceTypeR5aXlarge is a EC2InstanceType enum value
31372	EC2InstanceTypeR5aXlarge = "r5a.xlarge"
31373
31374	// EC2InstanceTypeR5a2xlarge is a EC2InstanceType enum value
31375	EC2InstanceTypeR5a2xlarge = "r5a.2xlarge"
31376
31377	// EC2InstanceTypeR5a4xlarge is a EC2InstanceType enum value
31378	EC2InstanceTypeR5a4xlarge = "r5a.4xlarge"
31379
31380	// EC2InstanceTypeR5a8xlarge is a EC2InstanceType enum value
31381	EC2InstanceTypeR5a8xlarge = "r5a.8xlarge"
31382
31383	// EC2InstanceTypeR5a12xlarge is a EC2InstanceType enum value
31384	EC2InstanceTypeR5a12xlarge = "r5a.12xlarge"
31385
31386	// EC2InstanceTypeR5a16xlarge is a EC2InstanceType enum value
31387	EC2InstanceTypeR5a16xlarge = "r5a.16xlarge"
31388
31389	// EC2InstanceTypeR5a24xlarge is a EC2InstanceType enum value
31390	EC2InstanceTypeR5a24xlarge = "r5a.24xlarge"
31391
31392	// EC2InstanceTypeM3Medium is a EC2InstanceType enum value
31393	EC2InstanceTypeM3Medium = "m3.medium"
31394
31395	// EC2InstanceTypeM3Large is a EC2InstanceType enum value
31396	EC2InstanceTypeM3Large = "m3.large"
31397
31398	// EC2InstanceTypeM3Xlarge is a EC2InstanceType enum value
31399	EC2InstanceTypeM3Xlarge = "m3.xlarge"
31400
31401	// EC2InstanceTypeM32xlarge is a EC2InstanceType enum value
31402	EC2InstanceTypeM32xlarge = "m3.2xlarge"
31403
31404	// EC2InstanceTypeM4Large is a EC2InstanceType enum value
31405	EC2InstanceTypeM4Large = "m4.large"
31406
31407	// EC2InstanceTypeM4Xlarge is a EC2InstanceType enum value
31408	EC2InstanceTypeM4Xlarge = "m4.xlarge"
31409
31410	// EC2InstanceTypeM42xlarge is a EC2InstanceType enum value
31411	EC2InstanceTypeM42xlarge = "m4.2xlarge"
31412
31413	// EC2InstanceTypeM44xlarge is a EC2InstanceType enum value
31414	EC2InstanceTypeM44xlarge = "m4.4xlarge"
31415
31416	// EC2InstanceTypeM410xlarge is a EC2InstanceType enum value
31417	EC2InstanceTypeM410xlarge = "m4.10xlarge"
31418
31419	// EC2InstanceTypeM5Large is a EC2InstanceType enum value
31420	EC2InstanceTypeM5Large = "m5.large"
31421
31422	// EC2InstanceTypeM5Xlarge is a EC2InstanceType enum value
31423	EC2InstanceTypeM5Xlarge = "m5.xlarge"
31424
31425	// EC2InstanceTypeM52xlarge is a EC2InstanceType enum value
31426	EC2InstanceTypeM52xlarge = "m5.2xlarge"
31427
31428	// EC2InstanceTypeM54xlarge is a EC2InstanceType enum value
31429	EC2InstanceTypeM54xlarge = "m5.4xlarge"
31430
31431	// EC2InstanceTypeM58xlarge is a EC2InstanceType enum value
31432	EC2InstanceTypeM58xlarge = "m5.8xlarge"
31433
31434	// EC2InstanceTypeM512xlarge is a EC2InstanceType enum value
31435	EC2InstanceTypeM512xlarge = "m5.12xlarge"
31436
31437	// EC2InstanceTypeM516xlarge is a EC2InstanceType enum value
31438	EC2InstanceTypeM516xlarge = "m5.16xlarge"
31439
31440	// EC2InstanceTypeM524xlarge is a EC2InstanceType enum value
31441	EC2InstanceTypeM524xlarge = "m5.24xlarge"
31442
31443	// EC2InstanceTypeM5aLarge is a EC2InstanceType enum value
31444	EC2InstanceTypeM5aLarge = "m5a.large"
31445
31446	// EC2InstanceTypeM5aXlarge is a EC2InstanceType enum value
31447	EC2InstanceTypeM5aXlarge = "m5a.xlarge"
31448
31449	// EC2InstanceTypeM5a2xlarge is a EC2InstanceType enum value
31450	EC2InstanceTypeM5a2xlarge = "m5a.2xlarge"
31451
31452	// EC2InstanceTypeM5a4xlarge is a EC2InstanceType enum value
31453	EC2InstanceTypeM5a4xlarge = "m5a.4xlarge"
31454
31455	// EC2InstanceTypeM5a8xlarge is a EC2InstanceType enum value
31456	EC2InstanceTypeM5a8xlarge = "m5a.8xlarge"
31457
31458	// EC2InstanceTypeM5a12xlarge is a EC2InstanceType enum value
31459	EC2InstanceTypeM5a12xlarge = "m5a.12xlarge"
31460
31461	// EC2InstanceTypeM5a16xlarge is a EC2InstanceType enum value
31462	EC2InstanceTypeM5a16xlarge = "m5a.16xlarge"
31463
31464	// EC2InstanceTypeM5a24xlarge is a EC2InstanceType enum value
31465	EC2InstanceTypeM5a24xlarge = "m5a.24xlarge"
31466)
31467
31468// EC2InstanceType_Values returns all elements of the EC2InstanceType enum
31469func EC2InstanceType_Values() []string {
31470	return []string{
31471		EC2InstanceTypeT2Micro,
31472		EC2InstanceTypeT2Small,
31473		EC2InstanceTypeT2Medium,
31474		EC2InstanceTypeT2Large,
31475		EC2InstanceTypeC3Large,
31476		EC2InstanceTypeC3Xlarge,
31477		EC2InstanceTypeC32xlarge,
31478		EC2InstanceTypeC34xlarge,
31479		EC2InstanceTypeC38xlarge,
31480		EC2InstanceTypeC4Large,
31481		EC2InstanceTypeC4Xlarge,
31482		EC2InstanceTypeC42xlarge,
31483		EC2InstanceTypeC44xlarge,
31484		EC2InstanceTypeC48xlarge,
31485		EC2InstanceTypeC5Large,
31486		EC2InstanceTypeC5Xlarge,
31487		EC2InstanceTypeC52xlarge,
31488		EC2InstanceTypeC54xlarge,
31489		EC2InstanceTypeC59xlarge,
31490		EC2InstanceTypeC512xlarge,
31491		EC2InstanceTypeC518xlarge,
31492		EC2InstanceTypeC524xlarge,
31493		EC2InstanceTypeC5aLarge,
31494		EC2InstanceTypeC5aXlarge,
31495		EC2InstanceTypeC5a2xlarge,
31496		EC2InstanceTypeC5a4xlarge,
31497		EC2InstanceTypeC5a8xlarge,
31498		EC2InstanceTypeC5a12xlarge,
31499		EC2InstanceTypeC5a16xlarge,
31500		EC2InstanceTypeC5a24xlarge,
31501		EC2InstanceTypeR3Large,
31502		EC2InstanceTypeR3Xlarge,
31503		EC2InstanceTypeR32xlarge,
31504		EC2InstanceTypeR34xlarge,
31505		EC2InstanceTypeR38xlarge,
31506		EC2InstanceTypeR4Large,
31507		EC2InstanceTypeR4Xlarge,
31508		EC2InstanceTypeR42xlarge,
31509		EC2InstanceTypeR44xlarge,
31510		EC2InstanceTypeR48xlarge,
31511		EC2InstanceTypeR416xlarge,
31512		EC2InstanceTypeR5Large,
31513		EC2InstanceTypeR5Xlarge,
31514		EC2InstanceTypeR52xlarge,
31515		EC2InstanceTypeR54xlarge,
31516		EC2InstanceTypeR58xlarge,
31517		EC2InstanceTypeR512xlarge,
31518		EC2InstanceTypeR516xlarge,
31519		EC2InstanceTypeR524xlarge,
31520		EC2InstanceTypeR5aLarge,
31521		EC2InstanceTypeR5aXlarge,
31522		EC2InstanceTypeR5a2xlarge,
31523		EC2InstanceTypeR5a4xlarge,
31524		EC2InstanceTypeR5a8xlarge,
31525		EC2InstanceTypeR5a12xlarge,
31526		EC2InstanceTypeR5a16xlarge,
31527		EC2InstanceTypeR5a24xlarge,
31528		EC2InstanceTypeM3Medium,
31529		EC2InstanceTypeM3Large,
31530		EC2InstanceTypeM3Xlarge,
31531		EC2InstanceTypeM32xlarge,
31532		EC2InstanceTypeM4Large,
31533		EC2InstanceTypeM4Xlarge,
31534		EC2InstanceTypeM42xlarge,
31535		EC2InstanceTypeM44xlarge,
31536		EC2InstanceTypeM410xlarge,
31537		EC2InstanceTypeM5Large,
31538		EC2InstanceTypeM5Xlarge,
31539		EC2InstanceTypeM52xlarge,
31540		EC2InstanceTypeM54xlarge,
31541		EC2InstanceTypeM58xlarge,
31542		EC2InstanceTypeM512xlarge,
31543		EC2InstanceTypeM516xlarge,
31544		EC2InstanceTypeM524xlarge,
31545		EC2InstanceTypeM5aLarge,
31546		EC2InstanceTypeM5aXlarge,
31547		EC2InstanceTypeM5a2xlarge,
31548		EC2InstanceTypeM5a4xlarge,
31549		EC2InstanceTypeM5a8xlarge,
31550		EC2InstanceTypeM5a12xlarge,
31551		EC2InstanceTypeM5a16xlarge,
31552		EC2InstanceTypeM5a24xlarge,
31553	}
31554}
31555
31556const (
31557	// EventCodeGenericEvent is a EventCode enum value
31558	EventCodeGenericEvent = "GENERIC_EVENT"
31559
31560	// EventCodeFleetCreated is a EventCode enum value
31561	EventCodeFleetCreated = "FLEET_CREATED"
31562
31563	// EventCodeFleetDeleted is a EventCode enum value
31564	EventCodeFleetDeleted = "FLEET_DELETED"
31565
31566	// EventCodeFleetScalingEvent is a EventCode enum value
31567	EventCodeFleetScalingEvent = "FLEET_SCALING_EVENT"
31568
31569	// EventCodeFleetStateDownloading is a EventCode enum value
31570	EventCodeFleetStateDownloading = "FLEET_STATE_DOWNLOADING"
31571
31572	// EventCodeFleetStateValidating is a EventCode enum value
31573	EventCodeFleetStateValidating = "FLEET_STATE_VALIDATING"
31574
31575	// EventCodeFleetStateBuilding is a EventCode enum value
31576	EventCodeFleetStateBuilding = "FLEET_STATE_BUILDING"
31577
31578	// EventCodeFleetStateActivating is a EventCode enum value
31579	EventCodeFleetStateActivating = "FLEET_STATE_ACTIVATING"
31580
31581	// EventCodeFleetStateActive is a EventCode enum value
31582	EventCodeFleetStateActive = "FLEET_STATE_ACTIVE"
31583
31584	// EventCodeFleetStateError is a EventCode enum value
31585	EventCodeFleetStateError = "FLEET_STATE_ERROR"
31586
31587	// EventCodeFleetInitializationFailed is a EventCode enum value
31588	EventCodeFleetInitializationFailed = "FLEET_INITIALIZATION_FAILED"
31589
31590	// EventCodeFleetBinaryDownloadFailed is a EventCode enum value
31591	EventCodeFleetBinaryDownloadFailed = "FLEET_BINARY_DOWNLOAD_FAILED"
31592
31593	// EventCodeFleetValidationLaunchPathNotFound is a EventCode enum value
31594	EventCodeFleetValidationLaunchPathNotFound = "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND"
31595
31596	// EventCodeFleetValidationExecutableRuntimeFailure is a EventCode enum value
31597	EventCodeFleetValidationExecutableRuntimeFailure = "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE"
31598
31599	// EventCodeFleetValidationTimedOut is a EventCode enum value
31600	EventCodeFleetValidationTimedOut = "FLEET_VALIDATION_TIMED_OUT"
31601
31602	// EventCodeFleetActivationFailed is a EventCode enum value
31603	EventCodeFleetActivationFailed = "FLEET_ACTIVATION_FAILED"
31604
31605	// EventCodeFleetActivationFailedNoInstances is a EventCode enum value
31606	EventCodeFleetActivationFailedNoInstances = "FLEET_ACTIVATION_FAILED_NO_INSTANCES"
31607
31608	// EventCodeFleetNewGameSessionProtectionPolicyUpdated is a EventCode enum value
31609	EventCodeFleetNewGameSessionProtectionPolicyUpdated = "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED"
31610
31611	// EventCodeServerProcessInvalidPath is a EventCode enum value
31612	EventCodeServerProcessInvalidPath = "SERVER_PROCESS_INVALID_PATH"
31613
31614	// EventCodeServerProcessSdkInitializationTimeout is a EventCode enum value
31615	EventCodeServerProcessSdkInitializationTimeout = "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT"
31616
31617	// EventCodeServerProcessProcessReadyTimeout is a EventCode enum value
31618	EventCodeServerProcessProcessReadyTimeout = "SERVER_PROCESS_PROCESS_READY_TIMEOUT"
31619
31620	// EventCodeServerProcessCrashed is a EventCode enum value
31621	EventCodeServerProcessCrashed = "SERVER_PROCESS_CRASHED"
31622
31623	// EventCodeServerProcessTerminatedUnhealthy is a EventCode enum value
31624	EventCodeServerProcessTerminatedUnhealthy = "SERVER_PROCESS_TERMINATED_UNHEALTHY"
31625
31626	// EventCodeServerProcessForceTerminated is a EventCode enum value
31627	EventCodeServerProcessForceTerminated = "SERVER_PROCESS_FORCE_TERMINATED"
31628
31629	// EventCodeServerProcessProcessExitTimeout is a EventCode enum value
31630	EventCodeServerProcessProcessExitTimeout = "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT"
31631
31632	// EventCodeGameSessionActivationTimeout is a EventCode enum value
31633	EventCodeGameSessionActivationTimeout = "GAME_SESSION_ACTIVATION_TIMEOUT"
31634
31635	// EventCodeFleetCreationExtractingBuild is a EventCode enum value
31636	EventCodeFleetCreationExtractingBuild = "FLEET_CREATION_EXTRACTING_BUILD"
31637
31638	// EventCodeFleetCreationRunningInstaller is a EventCode enum value
31639	EventCodeFleetCreationRunningInstaller = "FLEET_CREATION_RUNNING_INSTALLER"
31640
31641	// EventCodeFleetCreationValidatingRuntimeConfig is a EventCode enum value
31642	EventCodeFleetCreationValidatingRuntimeConfig = "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG"
31643
31644	// EventCodeFleetVpcPeeringSucceeded is a EventCode enum value
31645	EventCodeFleetVpcPeeringSucceeded = "FLEET_VPC_PEERING_SUCCEEDED"
31646
31647	// EventCodeFleetVpcPeeringFailed is a EventCode enum value
31648	EventCodeFleetVpcPeeringFailed = "FLEET_VPC_PEERING_FAILED"
31649
31650	// EventCodeFleetVpcPeeringDeleted is a EventCode enum value
31651	EventCodeFleetVpcPeeringDeleted = "FLEET_VPC_PEERING_DELETED"
31652
31653	// EventCodeInstanceInterrupted is a EventCode enum value
31654	EventCodeInstanceInterrupted = "INSTANCE_INTERRUPTED"
31655)
31656
31657// EventCode_Values returns all elements of the EventCode enum
31658func EventCode_Values() []string {
31659	return []string{
31660		EventCodeGenericEvent,
31661		EventCodeFleetCreated,
31662		EventCodeFleetDeleted,
31663		EventCodeFleetScalingEvent,
31664		EventCodeFleetStateDownloading,
31665		EventCodeFleetStateValidating,
31666		EventCodeFleetStateBuilding,
31667		EventCodeFleetStateActivating,
31668		EventCodeFleetStateActive,
31669		EventCodeFleetStateError,
31670		EventCodeFleetInitializationFailed,
31671		EventCodeFleetBinaryDownloadFailed,
31672		EventCodeFleetValidationLaunchPathNotFound,
31673		EventCodeFleetValidationExecutableRuntimeFailure,
31674		EventCodeFleetValidationTimedOut,
31675		EventCodeFleetActivationFailed,
31676		EventCodeFleetActivationFailedNoInstances,
31677		EventCodeFleetNewGameSessionProtectionPolicyUpdated,
31678		EventCodeServerProcessInvalidPath,
31679		EventCodeServerProcessSdkInitializationTimeout,
31680		EventCodeServerProcessProcessReadyTimeout,
31681		EventCodeServerProcessCrashed,
31682		EventCodeServerProcessTerminatedUnhealthy,
31683		EventCodeServerProcessForceTerminated,
31684		EventCodeServerProcessProcessExitTimeout,
31685		EventCodeGameSessionActivationTimeout,
31686		EventCodeFleetCreationExtractingBuild,
31687		EventCodeFleetCreationRunningInstaller,
31688		EventCodeFleetCreationValidatingRuntimeConfig,
31689		EventCodeFleetVpcPeeringSucceeded,
31690		EventCodeFleetVpcPeeringFailed,
31691		EventCodeFleetVpcPeeringDeleted,
31692		EventCodeInstanceInterrupted,
31693	}
31694}
31695
31696const (
31697	// FleetActionAutoScaling is a FleetAction enum value
31698	FleetActionAutoScaling = "AUTO_SCALING"
31699)
31700
31701// FleetAction_Values returns all elements of the FleetAction enum
31702func FleetAction_Values() []string {
31703	return []string{
31704		FleetActionAutoScaling,
31705	}
31706}
31707
31708const (
31709	// FleetStatusNew is a FleetStatus enum value
31710	FleetStatusNew = "NEW"
31711
31712	// FleetStatusDownloading is a FleetStatus enum value
31713	FleetStatusDownloading = "DOWNLOADING"
31714
31715	// FleetStatusValidating is a FleetStatus enum value
31716	FleetStatusValidating = "VALIDATING"
31717
31718	// FleetStatusBuilding is a FleetStatus enum value
31719	FleetStatusBuilding = "BUILDING"
31720
31721	// FleetStatusActivating is a FleetStatus enum value
31722	FleetStatusActivating = "ACTIVATING"
31723
31724	// FleetStatusActive is a FleetStatus enum value
31725	FleetStatusActive = "ACTIVE"
31726
31727	// FleetStatusDeleting is a FleetStatus enum value
31728	FleetStatusDeleting = "DELETING"
31729
31730	// FleetStatusError is a FleetStatus enum value
31731	FleetStatusError = "ERROR"
31732
31733	// FleetStatusTerminated is a FleetStatus enum value
31734	FleetStatusTerminated = "TERMINATED"
31735)
31736
31737// FleetStatus_Values returns all elements of the FleetStatus enum
31738func FleetStatus_Values() []string {
31739	return []string{
31740		FleetStatusNew,
31741		FleetStatusDownloading,
31742		FleetStatusValidating,
31743		FleetStatusBuilding,
31744		FleetStatusActivating,
31745		FleetStatusActive,
31746		FleetStatusDeleting,
31747		FleetStatusError,
31748		FleetStatusTerminated,
31749	}
31750}
31751
31752const (
31753	// FleetTypeOnDemand is a FleetType enum value
31754	FleetTypeOnDemand = "ON_DEMAND"
31755
31756	// FleetTypeSpot is a FleetType enum value
31757	FleetTypeSpot = "SPOT"
31758)
31759
31760// FleetType_Values returns all elements of the FleetType enum
31761func FleetType_Values() []string {
31762	return []string{
31763		FleetTypeOnDemand,
31764		FleetTypeSpot,
31765	}
31766}
31767
31768const (
31769	// FlexMatchModeStandalone is a FlexMatchMode enum value
31770	FlexMatchModeStandalone = "STANDALONE"
31771
31772	// FlexMatchModeWithQueue is a FlexMatchMode enum value
31773	FlexMatchModeWithQueue = "WITH_QUEUE"
31774)
31775
31776// FlexMatchMode_Values returns all elements of the FlexMatchMode enum
31777func FlexMatchMode_Values() []string {
31778	return []string{
31779		FlexMatchModeStandalone,
31780		FlexMatchModeWithQueue,
31781	}
31782}
31783
31784const (
31785	// GameServerClaimStatusClaimed is a GameServerClaimStatus enum value
31786	GameServerClaimStatusClaimed = "CLAIMED"
31787)
31788
31789// GameServerClaimStatus_Values returns all elements of the GameServerClaimStatus enum
31790func GameServerClaimStatus_Values() []string {
31791	return []string{
31792		GameServerClaimStatusClaimed,
31793	}
31794}
31795
31796const (
31797	// GameServerGroupActionReplaceInstanceTypes is a GameServerGroupAction enum value
31798	GameServerGroupActionReplaceInstanceTypes = "REPLACE_INSTANCE_TYPES"
31799)
31800
31801// GameServerGroupAction_Values returns all elements of the GameServerGroupAction enum
31802func GameServerGroupAction_Values() []string {
31803	return []string{
31804		GameServerGroupActionReplaceInstanceTypes,
31805	}
31806}
31807
31808const (
31809	// GameServerGroupDeleteOptionSafeDelete is a GameServerGroupDeleteOption enum value
31810	GameServerGroupDeleteOptionSafeDelete = "SAFE_DELETE"
31811
31812	// GameServerGroupDeleteOptionForceDelete is a GameServerGroupDeleteOption enum value
31813	GameServerGroupDeleteOptionForceDelete = "FORCE_DELETE"
31814
31815	// GameServerGroupDeleteOptionRetain is a GameServerGroupDeleteOption enum value
31816	GameServerGroupDeleteOptionRetain = "RETAIN"
31817)
31818
31819// GameServerGroupDeleteOption_Values returns all elements of the GameServerGroupDeleteOption enum
31820func GameServerGroupDeleteOption_Values() []string {
31821	return []string{
31822		GameServerGroupDeleteOptionSafeDelete,
31823		GameServerGroupDeleteOptionForceDelete,
31824		GameServerGroupDeleteOptionRetain,
31825	}
31826}
31827
31828const (
31829	// GameServerGroupInstanceTypeC4Large is a GameServerGroupInstanceType enum value
31830	GameServerGroupInstanceTypeC4Large = "c4.large"
31831
31832	// GameServerGroupInstanceTypeC4Xlarge is a GameServerGroupInstanceType enum value
31833	GameServerGroupInstanceTypeC4Xlarge = "c4.xlarge"
31834
31835	// GameServerGroupInstanceTypeC42xlarge is a GameServerGroupInstanceType enum value
31836	GameServerGroupInstanceTypeC42xlarge = "c4.2xlarge"
31837
31838	// GameServerGroupInstanceTypeC44xlarge is a GameServerGroupInstanceType enum value
31839	GameServerGroupInstanceTypeC44xlarge = "c4.4xlarge"
31840
31841	// GameServerGroupInstanceTypeC48xlarge is a GameServerGroupInstanceType enum value
31842	GameServerGroupInstanceTypeC48xlarge = "c4.8xlarge"
31843
31844	// GameServerGroupInstanceTypeC5Large is a GameServerGroupInstanceType enum value
31845	GameServerGroupInstanceTypeC5Large = "c5.large"
31846
31847	// GameServerGroupInstanceTypeC5Xlarge is a GameServerGroupInstanceType enum value
31848	GameServerGroupInstanceTypeC5Xlarge = "c5.xlarge"
31849
31850	// GameServerGroupInstanceTypeC52xlarge is a GameServerGroupInstanceType enum value
31851	GameServerGroupInstanceTypeC52xlarge = "c5.2xlarge"
31852
31853	// GameServerGroupInstanceTypeC54xlarge is a GameServerGroupInstanceType enum value
31854	GameServerGroupInstanceTypeC54xlarge = "c5.4xlarge"
31855
31856	// GameServerGroupInstanceTypeC59xlarge is a GameServerGroupInstanceType enum value
31857	GameServerGroupInstanceTypeC59xlarge = "c5.9xlarge"
31858
31859	// GameServerGroupInstanceTypeC512xlarge is a GameServerGroupInstanceType enum value
31860	GameServerGroupInstanceTypeC512xlarge = "c5.12xlarge"
31861
31862	// GameServerGroupInstanceTypeC518xlarge is a GameServerGroupInstanceType enum value
31863	GameServerGroupInstanceTypeC518xlarge = "c5.18xlarge"
31864
31865	// GameServerGroupInstanceTypeC524xlarge is a GameServerGroupInstanceType enum value
31866	GameServerGroupInstanceTypeC524xlarge = "c5.24xlarge"
31867
31868	// GameServerGroupInstanceTypeC5aLarge is a GameServerGroupInstanceType enum value
31869	GameServerGroupInstanceTypeC5aLarge = "c5a.large"
31870
31871	// GameServerGroupInstanceTypeC5aXlarge is a GameServerGroupInstanceType enum value
31872	GameServerGroupInstanceTypeC5aXlarge = "c5a.xlarge"
31873
31874	// GameServerGroupInstanceTypeC5a2xlarge is a GameServerGroupInstanceType enum value
31875	GameServerGroupInstanceTypeC5a2xlarge = "c5a.2xlarge"
31876
31877	// GameServerGroupInstanceTypeC5a4xlarge is a GameServerGroupInstanceType enum value
31878	GameServerGroupInstanceTypeC5a4xlarge = "c5a.4xlarge"
31879
31880	// GameServerGroupInstanceTypeC5a8xlarge is a GameServerGroupInstanceType enum value
31881	GameServerGroupInstanceTypeC5a8xlarge = "c5a.8xlarge"
31882
31883	// GameServerGroupInstanceTypeC5a12xlarge is a GameServerGroupInstanceType enum value
31884	GameServerGroupInstanceTypeC5a12xlarge = "c5a.12xlarge"
31885
31886	// GameServerGroupInstanceTypeC5a16xlarge is a GameServerGroupInstanceType enum value
31887	GameServerGroupInstanceTypeC5a16xlarge = "c5a.16xlarge"
31888
31889	// GameServerGroupInstanceTypeC5a24xlarge is a GameServerGroupInstanceType enum value
31890	GameServerGroupInstanceTypeC5a24xlarge = "c5a.24xlarge"
31891
31892	// GameServerGroupInstanceTypeC6gMedium is a GameServerGroupInstanceType enum value
31893	GameServerGroupInstanceTypeC6gMedium = "c6g.medium"
31894
31895	// GameServerGroupInstanceTypeC6gLarge is a GameServerGroupInstanceType enum value
31896	GameServerGroupInstanceTypeC6gLarge = "c6g.large"
31897
31898	// GameServerGroupInstanceTypeC6gXlarge is a GameServerGroupInstanceType enum value
31899	GameServerGroupInstanceTypeC6gXlarge = "c6g.xlarge"
31900
31901	// GameServerGroupInstanceTypeC6g2xlarge is a GameServerGroupInstanceType enum value
31902	GameServerGroupInstanceTypeC6g2xlarge = "c6g.2xlarge"
31903
31904	// GameServerGroupInstanceTypeC6g4xlarge is a GameServerGroupInstanceType enum value
31905	GameServerGroupInstanceTypeC6g4xlarge = "c6g.4xlarge"
31906
31907	// GameServerGroupInstanceTypeC6g8xlarge is a GameServerGroupInstanceType enum value
31908	GameServerGroupInstanceTypeC6g8xlarge = "c6g.8xlarge"
31909
31910	// GameServerGroupInstanceTypeC6g12xlarge is a GameServerGroupInstanceType enum value
31911	GameServerGroupInstanceTypeC6g12xlarge = "c6g.12xlarge"
31912
31913	// GameServerGroupInstanceTypeC6g16xlarge is a GameServerGroupInstanceType enum value
31914	GameServerGroupInstanceTypeC6g16xlarge = "c6g.16xlarge"
31915
31916	// GameServerGroupInstanceTypeR4Large is a GameServerGroupInstanceType enum value
31917	GameServerGroupInstanceTypeR4Large = "r4.large"
31918
31919	// GameServerGroupInstanceTypeR4Xlarge is a GameServerGroupInstanceType enum value
31920	GameServerGroupInstanceTypeR4Xlarge = "r4.xlarge"
31921
31922	// GameServerGroupInstanceTypeR42xlarge is a GameServerGroupInstanceType enum value
31923	GameServerGroupInstanceTypeR42xlarge = "r4.2xlarge"
31924
31925	// GameServerGroupInstanceTypeR44xlarge is a GameServerGroupInstanceType enum value
31926	GameServerGroupInstanceTypeR44xlarge = "r4.4xlarge"
31927
31928	// GameServerGroupInstanceTypeR48xlarge is a GameServerGroupInstanceType enum value
31929	GameServerGroupInstanceTypeR48xlarge = "r4.8xlarge"
31930
31931	// GameServerGroupInstanceTypeR416xlarge is a GameServerGroupInstanceType enum value
31932	GameServerGroupInstanceTypeR416xlarge = "r4.16xlarge"
31933
31934	// GameServerGroupInstanceTypeR5Large is a GameServerGroupInstanceType enum value
31935	GameServerGroupInstanceTypeR5Large = "r5.large"
31936
31937	// GameServerGroupInstanceTypeR5Xlarge is a GameServerGroupInstanceType enum value
31938	GameServerGroupInstanceTypeR5Xlarge = "r5.xlarge"
31939
31940	// GameServerGroupInstanceTypeR52xlarge is a GameServerGroupInstanceType enum value
31941	GameServerGroupInstanceTypeR52xlarge = "r5.2xlarge"
31942
31943	// GameServerGroupInstanceTypeR54xlarge is a GameServerGroupInstanceType enum value
31944	GameServerGroupInstanceTypeR54xlarge = "r5.4xlarge"
31945
31946	// GameServerGroupInstanceTypeR58xlarge is a GameServerGroupInstanceType enum value
31947	GameServerGroupInstanceTypeR58xlarge = "r5.8xlarge"
31948
31949	// GameServerGroupInstanceTypeR512xlarge is a GameServerGroupInstanceType enum value
31950	GameServerGroupInstanceTypeR512xlarge = "r5.12xlarge"
31951
31952	// GameServerGroupInstanceTypeR516xlarge is a GameServerGroupInstanceType enum value
31953	GameServerGroupInstanceTypeR516xlarge = "r5.16xlarge"
31954
31955	// GameServerGroupInstanceTypeR524xlarge is a GameServerGroupInstanceType enum value
31956	GameServerGroupInstanceTypeR524xlarge = "r5.24xlarge"
31957
31958	// GameServerGroupInstanceTypeR5aLarge is a GameServerGroupInstanceType enum value
31959	GameServerGroupInstanceTypeR5aLarge = "r5a.large"
31960
31961	// GameServerGroupInstanceTypeR5aXlarge is a GameServerGroupInstanceType enum value
31962	GameServerGroupInstanceTypeR5aXlarge = "r5a.xlarge"
31963
31964	// GameServerGroupInstanceTypeR5a2xlarge is a GameServerGroupInstanceType enum value
31965	GameServerGroupInstanceTypeR5a2xlarge = "r5a.2xlarge"
31966
31967	// GameServerGroupInstanceTypeR5a4xlarge is a GameServerGroupInstanceType enum value
31968	GameServerGroupInstanceTypeR5a4xlarge = "r5a.4xlarge"
31969
31970	// GameServerGroupInstanceTypeR5a8xlarge is a GameServerGroupInstanceType enum value
31971	GameServerGroupInstanceTypeR5a8xlarge = "r5a.8xlarge"
31972
31973	// GameServerGroupInstanceTypeR5a12xlarge is a GameServerGroupInstanceType enum value
31974	GameServerGroupInstanceTypeR5a12xlarge = "r5a.12xlarge"
31975
31976	// GameServerGroupInstanceTypeR5a16xlarge is a GameServerGroupInstanceType enum value
31977	GameServerGroupInstanceTypeR5a16xlarge = "r5a.16xlarge"
31978
31979	// GameServerGroupInstanceTypeR5a24xlarge is a GameServerGroupInstanceType enum value
31980	GameServerGroupInstanceTypeR5a24xlarge = "r5a.24xlarge"
31981
31982	// GameServerGroupInstanceTypeR6gMedium is a GameServerGroupInstanceType enum value
31983	GameServerGroupInstanceTypeR6gMedium = "r6g.medium"
31984
31985	// GameServerGroupInstanceTypeR6gLarge is a GameServerGroupInstanceType enum value
31986	GameServerGroupInstanceTypeR6gLarge = "r6g.large"
31987
31988	// GameServerGroupInstanceTypeR6gXlarge is a GameServerGroupInstanceType enum value
31989	GameServerGroupInstanceTypeR6gXlarge = "r6g.xlarge"
31990
31991	// GameServerGroupInstanceTypeR6g2xlarge is a GameServerGroupInstanceType enum value
31992	GameServerGroupInstanceTypeR6g2xlarge = "r6g.2xlarge"
31993
31994	// GameServerGroupInstanceTypeR6g4xlarge is a GameServerGroupInstanceType enum value
31995	GameServerGroupInstanceTypeR6g4xlarge = "r6g.4xlarge"
31996
31997	// GameServerGroupInstanceTypeR6g8xlarge is a GameServerGroupInstanceType enum value
31998	GameServerGroupInstanceTypeR6g8xlarge = "r6g.8xlarge"
31999
32000	// GameServerGroupInstanceTypeR6g12xlarge is a GameServerGroupInstanceType enum value
32001	GameServerGroupInstanceTypeR6g12xlarge = "r6g.12xlarge"
32002
32003	// GameServerGroupInstanceTypeR6g16xlarge is a GameServerGroupInstanceType enum value
32004	GameServerGroupInstanceTypeR6g16xlarge = "r6g.16xlarge"
32005
32006	// GameServerGroupInstanceTypeM4Large is a GameServerGroupInstanceType enum value
32007	GameServerGroupInstanceTypeM4Large = "m4.large"
32008
32009	// GameServerGroupInstanceTypeM4Xlarge is a GameServerGroupInstanceType enum value
32010	GameServerGroupInstanceTypeM4Xlarge = "m4.xlarge"
32011
32012	// GameServerGroupInstanceTypeM42xlarge is a GameServerGroupInstanceType enum value
32013	GameServerGroupInstanceTypeM42xlarge = "m4.2xlarge"
32014
32015	// GameServerGroupInstanceTypeM44xlarge is a GameServerGroupInstanceType enum value
32016	GameServerGroupInstanceTypeM44xlarge = "m4.4xlarge"
32017
32018	// GameServerGroupInstanceTypeM410xlarge is a GameServerGroupInstanceType enum value
32019	GameServerGroupInstanceTypeM410xlarge = "m4.10xlarge"
32020
32021	// GameServerGroupInstanceTypeM5Large is a GameServerGroupInstanceType enum value
32022	GameServerGroupInstanceTypeM5Large = "m5.large"
32023
32024	// GameServerGroupInstanceTypeM5Xlarge is a GameServerGroupInstanceType enum value
32025	GameServerGroupInstanceTypeM5Xlarge = "m5.xlarge"
32026
32027	// GameServerGroupInstanceTypeM52xlarge is a GameServerGroupInstanceType enum value
32028	GameServerGroupInstanceTypeM52xlarge = "m5.2xlarge"
32029
32030	// GameServerGroupInstanceTypeM54xlarge is a GameServerGroupInstanceType enum value
32031	GameServerGroupInstanceTypeM54xlarge = "m5.4xlarge"
32032
32033	// GameServerGroupInstanceTypeM58xlarge is a GameServerGroupInstanceType enum value
32034	GameServerGroupInstanceTypeM58xlarge = "m5.8xlarge"
32035
32036	// GameServerGroupInstanceTypeM512xlarge is a GameServerGroupInstanceType enum value
32037	GameServerGroupInstanceTypeM512xlarge = "m5.12xlarge"
32038
32039	// GameServerGroupInstanceTypeM516xlarge is a GameServerGroupInstanceType enum value
32040	GameServerGroupInstanceTypeM516xlarge = "m5.16xlarge"
32041
32042	// GameServerGroupInstanceTypeM524xlarge is a GameServerGroupInstanceType enum value
32043	GameServerGroupInstanceTypeM524xlarge = "m5.24xlarge"
32044
32045	// GameServerGroupInstanceTypeM5aLarge is a GameServerGroupInstanceType enum value
32046	GameServerGroupInstanceTypeM5aLarge = "m5a.large"
32047
32048	// GameServerGroupInstanceTypeM5aXlarge is a GameServerGroupInstanceType enum value
32049	GameServerGroupInstanceTypeM5aXlarge = "m5a.xlarge"
32050
32051	// GameServerGroupInstanceTypeM5a2xlarge is a GameServerGroupInstanceType enum value
32052	GameServerGroupInstanceTypeM5a2xlarge = "m5a.2xlarge"
32053
32054	// GameServerGroupInstanceTypeM5a4xlarge is a GameServerGroupInstanceType enum value
32055	GameServerGroupInstanceTypeM5a4xlarge = "m5a.4xlarge"
32056
32057	// GameServerGroupInstanceTypeM5a8xlarge is a GameServerGroupInstanceType enum value
32058	GameServerGroupInstanceTypeM5a8xlarge = "m5a.8xlarge"
32059
32060	// GameServerGroupInstanceTypeM5a12xlarge is a GameServerGroupInstanceType enum value
32061	GameServerGroupInstanceTypeM5a12xlarge = "m5a.12xlarge"
32062
32063	// GameServerGroupInstanceTypeM5a16xlarge is a GameServerGroupInstanceType enum value
32064	GameServerGroupInstanceTypeM5a16xlarge = "m5a.16xlarge"
32065
32066	// GameServerGroupInstanceTypeM5a24xlarge is a GameServerGroupInstanceType enum value
32067	GameServerGroupInstanceTypeM5a24xlarge = "m5a.24xlarge"
32068
32069	// GameServerGroupInstanceTypeM6gMedium is a GameServerGroupInstanceType enum value
32070	GameServerGroupInstanceTypeM6gMedium = "m6g.medium"
32071
32072	// GameServerGroupInstanceTypeM6gLarge is a GameServerGroupInstanceType enum value
32073	GameServerGroupInstanceTypeM6gLarge = "m6g.large"
32074
32075	// GameServerGroupInstanceTypeM6gXlarge is a GameServerGroupInstanceType enum value
32076	GameServerGroupInstanceTypeM6gXlarge = "m6g.xlarge"
32077
32078	// GameServerGroupInstanceTypeM6g2xlarge is a GameServerGroupInstanceType enum value
32079	GameServerGroupInstanceTypeM6g2xlarge = "m6g.2xlarge"
32080
32081	// GameServerGroupInstanceTypeM6g4xlarge is a GameServerGroupInstanceType enum value
32082	GameServerGroupInstanceTypeM6g4xlarge = "m6g.4xlarge"
32083
32084	// GameServerGroupInstanceTypeM6g8xlarge is a GameServerGroupInstanceType enum value
32085	GameServerGroupInstanceTypeM6g8xlarge = "m6g.8xlarge"
32086
32087	// GameServerGroupInstanceTypeM6g12xlarge is a GameServerGroupInstanceType enum value
32088	GameServerGroupInstanceTypeM6g12xlarge = "m6g.12xlarge"
32089
32090	// GameServerGroupInstanceTypeM6g16xlarge is a GameServerGroupInstanceType enum value
32091	GameServerGroupInstanceTypeM6g16xlarge = "m6g.16xlarge"
32092)
32093
32094// GameServerGroupInstanceType_Values returns all elements of the GameServerGroupInstanceType enum
32095func GameServerGroupInstanceType_Values() []string {
32096	return []string{
32097		GameServerGroupInstanceTypeC4Large,
32098		GameServerGroupInstanceTypeC4Xlarge,
32099		GameServerGroupInstanceTypeC42xlarge,
32100		GameServerGroupInstanceTypeC44xlarge,
32101		GameServerGroupInstanceTypeC48xlarge,
32102		GameServerGroupInstanceTypeC5Large,
32103		GameServerGroupInstanceTypeC5Xlarge,
32104		GameServerGroupInstanceTypeC52xlarge,
32105		GameServerGroupInstanceTypeC54xlarge,
32106		GameServerGroupInstanceTypeC59xlarge,
32107		GameServerGroupInstanceTypeC512xlarge,
32108		GameServerGroupInstanceTypeC518xlarge,
32109		GameServerGroupInstanceTypeC524xlarge,
32110		GameServerGroupInstanceTypeC5aLarge,
32111		GameServerGroupInstanceTypeC5aXlarge,
32112		GameServerGroupInstanceTypeC5a2xlarge,
32113		GameServerGroupInstanceTypeC5a4xlarge,
32114		GameServerGroupInstanceTypeC5a8xlarge,
32115		GameServerGroupInstanceTypeC5a12xlarge,
32116		GameServerGroupInstanceTypeC5a16xlarge,
32117		GameServerGroupInstanceTypeC5a24xlarge,
32118		GameServerGroupInstanceTypeC6gMedium,
32119		GameServerGroupInstanceTypeC6gLarge,
32120		GameServerGroupInstanceTypeC6gXlarge,
32121		GameServerGroupInstanceTypeC6g2xlarge,
32122		GameServerGroupInstanceTypeC6g4xlarge,
32123		GameServerGroupInstanceTypeC6g8xlarge,
32124		GameServerGroupInstanceTypeC6g12xlarge,
32125		GameServerGroupInstanceTypeC6g16xlarge,
32126		GameServerGroupInstanceTypeR4Large,
32127		GameServerGroupInstanceTypeR4Xlarge,
32128		GameServerGroupInstanceTypeR42xlarge,
32129		GameServerGroupInstanceTypeR44xlarge,
32130		GameServerGroupInstanceTypeR48xlarge,
32131		GameServerGroupInstanceTypeR416xlarge,
32132		GameServerGroupInstanceTypeR5Large,
32133		GameServerGroupInstanceTypeR5Xlarge,
32134		GameServerGroupInstanceTypeR52xlarge,
32135		GameServerGroupInstanceTypeR54xlarge,
32136		GameServerGroupInstanceTypeR58xlarge,
32137		GameServerGroupInstanceTypeR512xlarge,
32138		GameServerGroupInstanceTypeR516xlarge,
32139		GameServerGroupInstanceTypeR524xlarge,
32140		GameServerGroupInstanceTypeR5aLarge,
32141		GameServerGroupInstanceTypeR5aXlarge,
32142		GameServerGroupInstanceTypeR5a2xlarge,
32143		GameServerGroupInstanceTypeR5a4xlarge,
32144		GameServerGroupInstanceTypeR5a8xlarge,
32145		GameServerGroupInstanceTypeR5a12xlarge,
32146		GameServerGroupInstanceTypeR5a16xlarge,
32147		GameServerGroupInstanceTypeR5a24xlarge,
32148		GameServerGroupInstanceTypeR6gMedium,
32149		GameServerGroupInstanceTypeR6gLarge,
32150		GameServerGroupInstanceTypeR6gXlarge,
32151		GameServerGroupInstanceTypeR6g2xlarge,
32152		GameServerGroupInstanceTypeR6g4xlarge,
32153		GameServerGroupInstanceTypeR6g8xlarge,
32154		GameServerGroupInstanceTypeR6g12xlarge,
32155		GameServerGroupInstanceTypeR6g16xlarge,
32156		GameServerGroupInstanceTypeM4Large,
32157		GameServerGroupInstanceTypeM4Xlarge,
32158		GameServerGroupInstanceTypeM42xlarge,
32159		GameServerGroupInstanceTypeM44xlarge,
32160		GameServerGroupInstanceTypeM410xlarge,
32161		GameServerGroupInstanceTypeM5Large,
32162		GameServerGroupInstanceTypeM5Xlarge,
32163		GameServerGroupInstanceTypeM52xlarge,
32164		GameServerGroupInstanceTypeM54xlarge,
32165		GameServerGroupInstanceTypeM58xlarge,
32166		GameServerGroupInstanceTypeM512xlarge,
32167		GameServerGroupInstanceTypeM516xlarge,
32168		GameServerGroupInstanceTypeM524xlarge,
32169		GameServerGroupInstanceTypeM5aLarge,
32170		GameServerGroupInstanceTypeM5aXlarge,
32171		GameServerGroupInstanceTypeM5a2xlarge,
32172		GameServerGroupInstanceTypeM5a4xlarge,
32173		GameServerGroupInstanceTypeM5a8xlarge,
32174		GameServerGroupInstanceTypeM5a12xlarge,
32175		GameServerGroupInstanceTypeM5a16xlarge,
32176		GameServerGroupInstanceTypeM5a24xlarge,
32177		GameServerGroupInstanceTypeM6gMedium,
32178		GameServerGroupInstanceTypeM6gLarge,
32179		GameServerGroupInstanceTypeM6gXlarge,
32180		GameServerGroupInstanceTypeM6g2xlarge,
32181		GameServerGroupInstanceTypeM6g4xlarge,
32182		GameServerGroupInstanceTypeM6g8xlarge,
32183		GameServerGroupInstanceTypeM6g12xlarge,
32184		GameServerGroupInstanceTypeM6g16xlarge,
32185	}
32186}
32187
32188const (
32189	// GameServerGroupStatusNew is a GameServerGroupStatus enum value
32190	GameServerGroupStatusNew = "NEW"
32191
32192	// GameServerGroupStatusActivating is a GameServerGroupStatus enum value
32193	GameServerGroupStatusActivating = "ACTIVATING"
32194
32195	// GameServerGroupStatusActive is a GameServerGroupStatus enum value
32196	GameServerGroupStatusActive = "ACTIVE"
32197
32198	// GameServerGroupStatusDeleteScheduled is a GameServerGroupStatus enum value
32199	GameServerGroupStatusDeleteScheduled = "DELETE_SCHEDULED"
32200
32201	// GameServerGroupStatusDeleting is a GameServerGroupStatus enum value
32202	GameServerGroupStatusDeleting = "DELETING"
32203
32204	// GameServerGroupStatusDeleted is a GameServerGroupStatus enum value
32205	GameServerGroupStatusDeleted = "DELETED"
32206
32207	// GameServerGroupStatusError is a GameServerGroupStatus enum value
32208	GameServerGroupStatusError = "ERROR"
32209)
32210
32211// GameServerGroupStatus_Values returns all elements of the GameServerGroupStatus enum
32212func GameServerGroupStatus_Values() []string {
32213	return []string{
32214		GameServerGroupStatusNew,
32215		GameServerGroupStatusActivating,
32216		GameServerGroupStatusActive,
32217		GameServerGroupStatusDeleteScheduled,
32218		GameServerGroupStatusDeleting,
32219		GameServerGroupStatusDeleted,
32220		GameServerGroupStatusError,
32221	}
32222}
32223
32224const (
32225	// GameServerHealthCheckHealthy is a GameServerHealthCheck enum value
32226	GameServerHealthCheckHealthy = "HEALTHY"
32227)
32228
32229// GameServerHealthCheck_Values returns all elements of the GameServerHealthCheck enum
32230func GameServerHealthCheck_Values() []string {
32231	return []string{
32232		GameServerHealthCheckHealthy,
32233	}
32234}
32235
32236const (
32237	// GameServerInstanceStatusActive is a GameServerInstanceStatus enum value
32238	GameServerInstanceStatusActive = "ACTIVE"
32239
32240	// GameServerInstanceStatusDraining is a GameServerInstanceStatus enum value
32241	GameServerInstanceStatusDraining = "DRAINING"
32242
32243	// GameServerInstanceStatusSpotTerminating is a GameServerInstanceStatus enum value
32244	GameServerInstanceStatusSpotTerminating = "SPOT_TERMINATING"
32245)
32246
32247// GameServerInstanceStatus_Values returns all elements of the GameServerInstanceStatus enum
32248func GameServerInstanceStatus_Values() []string {
32249	return []string{
32250		GameServerInstanceStatusActive,
32251		GameServerInstanceStatusDraining,
32252		GameServerInstanceStatusSpotTerminating,
32253	}
32254}
32255
32256const (
32257	// GameServerProtectionPolicyNoProtection is a GameServerProtectionPolicy enum value
32258	GameServerProtectionPolicyNoProtection = "NO_PROTECTION"
32259
32260	// GameServerProtectionPolicyFullProtection is a GameServerProtectionPolicy enum value
32261	GameServerProtectionPolicyFullProtection = "FULL_PROTECTION"
32262)
32263
32264// GameServerProtectionPolicy_Values returns all elements of the GameServerProtectionPolicy enum
32265func GameServerProtectionPolicy_Values() []string {
32266	return []string{
32267		GameServerProtectionPolicyNoProtection,
32268		GameServerProtectionPolicyFullProtection,
32269	}
32270}
32271
32272const (
32273	// GameServerUtilizationStatusAvailable is a GameServerUtilizationStatus enum value
32274	GameServerUtilizationStatusAvailable = "AVAILABLE"
32275
32276	// GameServerUtilizationStatusUtilized is a GameServerUtilizationStatus enum value
32277	GameServerUtilizationStatusUtilized = "UTILIZED"
32278)
32279
32280// GameServerUtilizationStatus_Values returns all elements of the GameServerUtilizationStatus enum
32281func GameServerUtilizationStatus_Values() []string {
32282	return []string{
32283		GameServerUtilizationStatusAvailable,
32284		GameServerUtilizationStatusUtilized,
32285	}
32286}
32287
32288const (
32289	// GameSessionPlacementStatePending is a GameSessionPlacementState enum value
32290	GameSessionPlacementStatePending = "PENDING"
32291
32292	// GameSessionPlacementStateFulfilled is a GameSessionPlacementState enum value
32293	GameSessionPlacementStateFulfilled = "FULFILLED"
32294
32295	// GameSessionPlacementStateCancelled is a GameSessionPlacementState enum value
32296	GameSessionPlacementStateCancelled = "CANCELLED"
32297
32298	// GameSessionPlacementStateTimedOut is a GameSessionPlacementState enum value
32299	GameSessionPlacementStateTimedOut = "TIMED_OUT"
32300
32301	// GameSessionPlacementStateFailed is a GameSessionPlacementState enum value
32302	GameSessionPlacementStateFailed = "FAILED"
32303)
32304
32305// GameSessionPlacementState_Values returns all elements of the GameSessionPlacementState enum
32306func GameSessionPlacementState_Values() []string {
32307	return []string{
32308		GameSessionPlacementStatePending,
32309		GameSessionPlacementStateFulfilled,
32310		GameSessionPlacementStateCancelled,
32311		GameSessionPlacementStateTimedOut,
32312		GameSessionPlacementStateFailed,
32313	}
32314}
32315
32316const (
32317	// GameSessionStatusActive is a GameSessionStatus enum value
32318	GameSessionStatusActive = "ACTIVE"
32319
32320	// GameSessionStatusActivating is a GameSessionStatus enum value
32321	GameSessionStatusActivating = "ACTIVATING"
32322
32323	// GameSessionStatusTerminated is a GameSessionStatus enum value
32324	GameSessionStatusTerminated = "TERMINATED"
32325
32326	// GameSessionStatusTerminating is a GameSessionStatus enum value
32327	GameSessionStatusTerminating = "TERMINATING"
32328
32329	// GameSessionStatusError is a GameSessionStatus enum value
32330	GameSessionStatusError = "ERROR"
32331)
32332
32333// GameSessionStatus_Values returns all elements of the GameSessionStatus enum
32334func GameSessionStatus_Values() []string {
32335	return []string{
32336		GameSessionStatusActive,
32337		GameSessionStatusActivating,
32338		GameSessionStatusTerminated,
32339		GameSessionStatusTerminating,
32340		GameSessionStatusError,
32341	}
32342}
32343
32344const (
32345	// GameSessionStatusReasonInterrupted is a GameSessionStatusReason enum value
32346	GameSessionStatusReasonInterrupted = "INTERRUPTED"
32347)
32348
32349// GameSessionStatusReason_Values returns all elements of the GameSessionStatusReason enum
32350func GameSessionStatusReason_Values() []string {
32351	return []string{
32352		GameSessionStatusReasonInterrupted,
32353	}
32354}
32355
32356const (
32357	// InstanceStatusPending is a InstanceStatus enum value
32358	InstanceStatusPending = "PENDING"
32359
32360	// InstanceStatusActive is a InstanceStatus enum value
32361	InstanceStatusActive = "ACTIVE"
32362
32363	// InstanceStatusTerminating is a InstanceStatus enum value
32364	InstanceStatusTerminating = "TERMINATING"
32365)
32366
32367// InstanceStatus_Values returns all elements of the InstanceStatus enum
32368func InstanceStatus_Values() []string {
32369	return []string{
32370		InstanceStatusPending,
32371		InstanceStatusActive,
32372		InstanceStatusTerminating,
32373	}
32374}
32375
32376const (
32377	// IpProtocolTcp is a IpProtocol enum value
32378	IpProtocolTcp = "TCP"
32379
32380	// IpProtocolUdp is a IpProtocol enum value
32381	IpProtocolUdp = "UDP"
32382)
32383
32384// IpProtocol_Values returns all elements of the IpProtocol enum
32385func IpProtocol_Values() []string {
32386	return []string{
32387		IpProtocolTcp,
32388		IpProtocolUdp,
32389	}
32390}
32391
32392const (
32393	// LocationUpdateStatusPendingUpdate is a LocationUpdateStatus enum value
32394	LocationUpdateStatusPendingUpdate = "PENDING_UPDATE"
32395)
32396
32397// LocationUpdateStatus_Values returns all elements of the LocationUpdateStatus enum
32398func LocationUpdateStatus_Values() []string {
32399	return []string{
32400		LocationUpdateStatusPendingUpdate,
32401	}
32402}
32403
32404const (
32405	// MatchmakingConfigurationStatusCancelled is a MatchmakingConfigurationStatus enum value
32406	MatchmakingConfigurationStatusCancelled = "CANCELLED"
32407
32408	// MatchmakingConfigurationStatusCompleted is a MatchmakingConfigurationStatus enum value
32409	MatchmakingConfigurationStatusCompleted = "COMPLETED"
32410
32411	// MatchmakingConfigurationStatusFailed is a MatchmakingConfigurationStatus enum value
32412	MatchmakingConfigurationStatusFailed = "FAILED"
32413
32414	// MatchmakingConfigurationStatusPlacing is a MatchmakingConfigurationStatus enum value
32415	MatchmakingConfigurationStatusPlacing = "PLACING"
32416
32417	// MatchmakingConfigurationStatusQueued is a MatchmakingConfigurationStatus enum value
32418	MatchmakingConfigurationStatusQueued = "QUEUED"
32419
32420	// MatchmakingConfigurationStatusRequiresAcceptance is a MatchmakingConfigurationStatus enum value
32421	MatchmakingConfigurationStatusRequiresAcceptance = "REQUIRES_ACCEPTANCE"
32422
32423	// MatchmakingConfigurationStatusSearching is a MatchmakingConfigurationStatus enum value
32424	MatchmakingConfigurationStatusSearching = "SEARCHING"
32425
32426	// MatchmakingConfigurationStatusTimedOut is a MatchmakingConfigurationStatus enum value
32427	MatchmakingConfigurationStatusTimedOut = "TIMED_OUT"
32428)
32429
32430// MatchmakingConfigurationStatus_Values returns all elements of the MatchmakingConfigurationStatus enum
32431func MatchmakingConfigurationStatus_Values() []string {
32432	return []string{
32433		MatchmakingConfigurationStatusCancelled,
32434		MatchmakingConfigurationStatusCompleted,
32435		MatchmakingConfigurationStatusFailed,
32436		MatchmakingConfigurationStatusPlacing,
32437		MatchmakingConfigurationStatusQueued,
32438		MatchmakingConfigurationStatusRequiresAcceptance,
32439		MatchmakingConfigurationStatusSearching,
32440		MatchmakingConfigurationStatusTimedOut,
32441	}
32442}
32443
32444const (
32445	// MetricNameActivatingGameSessions is a MetricName enum value
32446	MetricNameActivatingGameSessions = "ActivatingGameSessions"
32447
32448	// MetricNameActiveGameSessions is a MetricName enum value
32449	MetricNameActiveGameSessions = "ActiveGameSessions"
32450
32451	// MetricNameActiveInstances is a MetricName enum value
32452	MetricNameActiveInstances = "ActiveInstances"
32453
32454	// MetricNameAvailableGameSessions is a MetricName enum value
32455	MetricNameAvailableGameSessions = "AvailableGameSessions"
32456
32457	// MetricNameAvailablePlayerSessions is a MetricName enum value
32458	MetricNameAvailablePlayerSessions = "AvailablePlayerSessions"
32459
32460	// MetricNameCurrentPlayerSessions is a MetricName enum value
32461	MetricNameCurrentPlayerSessions = "CurrentPlayerSessions"
32462
32463	// MetricNameIdleInstances is a MetricName enum value
32464	MetricNameIdleInstances = "IdleInstances"
32465
32466	// MetricNamePercentAvailableGameSessions is a MetricName enum value
32467	MetricNamePercentAvailableGameSessions = "PercentAvailableGameSessions"
32468
32469	// MetricNamePercentIdleInstances is a MetricName enum value
32470	MetricNamePercentIdleInstances = "PercentIdleInstances"
32471
32472	// MetricNameQueueDepth is a MetricName enum value
32473	MetricNameQueueDepth = "QueueDepth"
32474
32475	// MetricNameWaitTime is a MetricName enum value
32476	MetricNameWaitTime = "WaitTime"
32477)
32478
32479// MetricName_Values returns all elements of the MetricName enum
32480func MetricName_Values() []string {
32481	return []string{
32482		MetricNameActivatingGameSessions,
32483		MetricNameActiveGameSessions,
32484		MetricNameActiveInstances,
32485		MetricNameAvailableGameSessions,
32486		MetricNameAvailablePlayerSessions,
32487		MetricNameCurrentPlayerSessions,
32488		MetricNameIdleInstances,
32489		MetricNamePercentAvailableGameSessions,
32490		MetricNamePercentIdleInstances,
32491		MetricNameQueueDepth,
32492		MetricNameWaitTime,
32493	}
32494}
32495
32496const (
32497	// OperatingSystemWindows2012 is a OperatingSystem enum value
32498	OperatingSystemWindows2012 = "WINDOWS_2012"
32499
32500	// OperatingSystemAmazonLinux is a OperatingSystem enum value
32501	OperatingSystemAmazonLinux = "AMAZON_LINUX"
32502
32503	// OperatingSystemAmazonLinux2 is a OperatingSystem enum value
32504	OperatingSystemAmazonLinux2 = "AMAZON_LINUX_2"
32505)
32506
32507// OperatingSystem_Values returns all elements of the OperatingSystem enum
32508func OperatingSystem_Values() []string {
32509	return []string{
32510		OperatingSystemWindows2012,
32511		OperatingSystemAmazonLinux,
32512		OperatingSystemAmazonLinux2,
32513	}
32514}
32515
32516const (
32517	// PlayerSessionCreationPolicyAcceptAll is a PlayerSessionCreationPolicy enum value
32518	PlayerSessionCreationPolicyAcceptAll = "ACCEPT_ALL"
32519
32520	// PlayerSessionCreationPolicyDenyAll is a PlayerSessionCreationPolicy enum value
32521	PlayerSessionCreationPolicyDenyAll = "DENY_ALL"
32522)
32523
32524// PlayerSessionCreationPolicy_Values returns all elements of the PlayerSessionCreationPolicy enum
32525func PlayerSessionCreationPolicy_Values() []string {
32526	return []string{
32527		PlayerSessionCreationPolicyAcceptAll,
32528		PlayerSessionCreationPolicyDenyAll,
32529	}
32530}
32531
32532const (
32533	// PlayerSessionStatusReserved is a PlayerSessionStatus enum value
32534	PlayerSessionStatusReserved = "RESERVED"
32535
32536	// PlayerSessionStatusActive is a PlayerSessionStatus enum value
32537	PlayerSessionStatusActive = "ACTIVE"
32538
32539	// PlayerSessionStatusCompleted is a PlayerSessionStatus enum value
32540	PlayerSessionStatusCompleted = "COMPLETED"
32541
32542	// PlayerSessionStatusTimedout is a PlayerSessionStatus enum value
32543	PlayerSessionStatusTimedout = "TIMEDOUT"
32544)
32545
32546// PlayerSessionStatus_Values returns all elements of the PlayerSessionStatus enum
32547func PlayerSessionStatus_Values() []string {
32548	return []string{
32549		PlayerSessionStatusReserved,
32550		PlayerSessionStatusActive,
32551		PlayerSessionStatusCompleted,
32552		PlayerSessionStatusTimedout,
32553	}
32554}
32555
32556const (
32557	// PolicyTypeRuleBased is a PolicyType enum value
32558	PolicyTypeRuleBased = "RuleBased"
32559
32560	// PolicyTypeTargetBased is a PolicyType enum value
32561	PolicyTypeTargetBased = "TargetBased"
32562)
32563
32564// PolicyType_Values returns all elements of the PolicyType enum
32565func PolicyType_Values() []string {
32566	return []string{
32567		PolicyTypeRuleBased,
32568		PolicyTypeTargetBased,
32569	}
32570}
32571
32572const (
32573	// PriorityTypeLatency is a PriorityType enum value
32574	PriorityTypeLatency = "LATENCY"
32575
32576	// PriorityTypeCost is a PriorityType enum value
32577	PriorityTypeCost = "COST"
32578
32579	// PriorityTypeDestination is a PriorityType enum value
32580	PriorityTypeDestination = "DESTINATION"
32581
32582	// PriorityTypeLocation is a PriorityType enum value
32583	PriorityTypeLocation = "LOCATION"
32584)
32585
32586// PriorityType_Values returns all elements of the PriorityType enum
32587func PriorityType_Values() []string {
32588	return []string{
32589		PriorityTypeLatency,
32590		PriorityTypeCost,
32591		PriorityTypeDestination,
32592		PriorityTypeLocation,
32593	}
32594}
32595
32596const (
32597	// ProtectionPolicyNoProtection is a ProtectionPolicy enum value
32598	ProtectionPolicyNoProtection = "NoProtection"
32599
32600	// ProtectionPolicyFullProtection is a ProtectionPolicy enum value
32601	ProtectionPolicyFullProtection = "FullProtection"
32602)
32603
32604// ProtectionPolicy_Values returns all elements of the ProtectionPolicy enum
32605func ProtectionPolicy_Values() []string {
32606	return []string{
32607		ProtectionPolicyNoProtection,
32608		ProtectionPolicyFullProtection,
32609	}
32610}
32611
32612const (
32613	// RoutingStrategyTypeSimple is a RoutingStrategyType enum value
32614	RoutingStrategyTypeSimple = "SIMPLE"
32615
32616	// RoutingStrategyTypeTerminal is a RoutingStrategyType enum value
32617	RoutingStrategyTypeTerminal = "TERMINAL"
32618)
32619
32620// RoutingStrategyType_Values returns all elements of the RoutingStrategyType enum
32621func RoutingStrategyType_Values() []string {
32622	return []string{
32623		RoutingStrategyTypeSimple,
32624		RoutingStrategyTypeTerminal,
32625	}
32626}
32627
32628const (
32629	// ScalingAdjustmentTypeChangeInCapacity is a ScalingAdjustmentType enum value
32630	ScalingAdjustmentTypeChangeInCapacity = "ChangeInCapacity"
32631
32632	// ScalingAdjustmentTypeExactCapacity is a ScalingAdjustmentType enum value
32633	ScalingAdjustmentTypeExactCapacity = "ExactCapacity"
32634
32635	// ScalingAdjustmentTypePercentChangeInCapacity is a ScalingAdjustmentType enum value
32636	ScalingAdjustmentTypePercentChangeInCapacity = "PercentChangeInCapacity"
32637)
32638
32639// ScalingAdjustmentType_Values returns all elements of the ScalingAdjustmentType enum
32640func ScalingAdjustmentType_Values() []string {
32641	return []string{
32642		ScalingAdjustmentTypeChangeInCapacity,
32643		ScalingAdjustmentTypeExactCapacity,
32644		ScalingAdjustmentTypePercentChangeInCapacity,
32645	}
32646}
32647
32648const (
32649	// ScalingStatusTypeActive is a ScalingStatusType enum value
32650	ScalingStatusTypeActive = "ACTIVE"
32651
32652	// ScalingStatusTypeUpdateRequested is a ScalingStatusType enum value
32653	ScalingStatusTypeUpdateRequested = "UPDATE_REQUESTED"
32654
32655	// ScalingStatusTypeUpdating is a ScalingStatusType enum value
32656	ScalingStatusTypeUpdating = "UPDATING"
32657
32658	// ScalingStatusTypeDeleteRequested is a ScalingStatusType enum value
32659	ScalingStatusTypeDeleteRequested = "DELETE_REQUESTED"
32660
32661	// ScalingStatusTypeDeleting is a ScalingStatusType enum value
32662	ScalingStatusTypeDeleting = "DELETING"
32663
32664	// ScalingStatusTypeDeleted is a ScalingStatusType enum value
32665	ScalingStatusTypeDeleted = "DELETED"
32666
32667	// ScalingStatusTypeError is a ScalingStatusType enum value
32668	ScalingStatusTypeError = "ERROR"
32669)
32670
32671// ScalingStatusType_Values returns all elements of the ScalingStatusType enum
32672func ScalingStatusType_Values() []string {
32673	return []string{
32674		ScalingStatusTypeActive,
32675		ScalingStatusTypeUpdateRequested,
32676		ScalingStatusTypeUpdating,
32677		ScalingStatusTypeDeleteRequested,
32678		ScalingStatusTypeDeleting,
32679		ScalingStatusTypeDeleted,
32680		ScalingStatusTypeError,
32681	}
32682}
32683
32684const (
32685	// SortOrderAscending is a SortOrder enum value
32686	SortOrderAscending = "ASCENDING"
32687
32688	// SortOrderDescending is a SortOrder enum value
32689	SortOrderDescending = "DESCENDING"
32690)
32691
32692// SortOrder_Values returns all elements of the SortOrder enum
32693func SortOrder_Values() []string {
32694	return []string{
32695		SortOrderAscending,
32696		SortOrderDescending,
32697	}
32698}
32699