github.com/aavshr/aws-sdk-go@v1.41.3/service/gamelift/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package gamelift
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const 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
    42  func (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
   121  func (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.
   135  func (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  
   142  const 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
   168  func (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
   264  func (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.
   278  func (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  
   285  const 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
   311  func (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
   387  func (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.
   401  func (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  
   408  const 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
   434  func (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
   525  func (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.
   539  func (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  
   546  const 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
   572  func (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  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleet
   676  func (c *GameLift) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
   677  	req, out := c.CreateFleetRequest(input)
   678  	return out, req.Send()
   679  }
   680  
   681  // CreateFleetWithContext is the same as CreateFleet with the addition of
   682  // the ability to pass a context and additional request options.
   683  //
   684  // See CreateFleet for details on how to use this API operation.
   685  //
   686  // The context must be non-nil and will be used for request cancellation. If
   687  // the context is nil a panic will occur. In the future the SDK may create
   688  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   689  // for more information on using Contexts.
   690  func (c *GameLift) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
   691  	req, out := c.CreateFleetRequest(input)
   692  	req.SetContext(ctx)
   693  	req.ApplyOptions(opts...)
   694  	return out, req.Send()
   695  }
   696  
   697  const opCreateFleetLocations = "CreateFleetLocations"
   698  
   699  // CreateFleetLocationsRequest generates a "aws/request.Request" representing the
   700  // client's request for the CreateFleetLocations operation. The "output" return
   701  // value will be populated with the request's response once the request completes
   702  // successfully.
   703  //
   704  // Use "Send" method on the returned Request to send the API call to the service.
   705  // the "output" return value is not valid until after Send returns without error.
   706  //
   707  // See CreateFleetLocations for more information on using the CreateFleetLocations
   708  // API call, and error handling.
   709  //
   710  // This method is useful when you want to inject custom logic or configuration
   711  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   712  //
   713  //
   714  //    // Example sending a request using the CreateFleetLocationsRequest method.
   715  //    req, resp := client.CreateFleetLocationsRequest(params)
   716  //
   717  //    err := req.Send()
   718  //    if err == nil { // resp is now filled
   719  //        fmt.Println(resp)
   720  //    }
   721  //
   722  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetLocations
   723  func (c *GameLift) CreateFleetLocationsRequest(input *CreateFleetLocationsInput) (req *request.Request, output *CreateFleetLocationsOutput) {
   724  	op := &request.Operation{
   725  		Name:       opCreateFleetLocations,
   726  		HTTPMethod: "POST",
   727  		HTTPPath:   "/",
   728  	}
   729  
   730  	if input == nil {
   731  		input = &CreateFleetLocationsInput{}
   732  	}
   733  
   734  	output = &CreateFleetLocationsOutput{}
   735  	req = c.newRequest(op, input, output)
   736  	return
   737  }
   738  
   739  // CreateFleetLocations API operation for Amazon GameLift.
   740  //
   741  // Adds remote locations to a fleet and begins populating the new locations
   742  // with EC2 instances. The new instances conform to the fleet's instance type,
   743  // auto-scaling, and other configuration settings.
   744  //
   745  // This operation cannot be used with fleets that don't support remote locations.
   746  // Fleets can have multiple locations only if they reside in AWS Regions that
   747  // support this feature (see CreateFleet for the complete list) and were created
   748  // after the feature was released in March 2021.
   749  //
   750  // To add fleet locations, specify the fleet to be updated and provide a list
   751  // of one or more locations.
   752  //
   753  // If successful, this operation returns the list of added locations with their
   754  // status set to NEW. GameLift initiates the process of starting an instance
   755  // in each added location. You can track the status of each new location by
   756  // monitoring location creation events using DescribeFleetEvents. Alternatively,
   757  // you can poll location status by calling DescribeFleetLocationAttributes.
   758  // After a location status becomes ACTIVE, you can adjust the location's capacity
   759  // as needed with UpdateFleetCapacity.
   760  //
   761  // Learn more
   762  //
   763  // Setting up fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
   764  //
   765  // Multi-location fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
   766  //
   767  // Related actions
   768  //
   769  // CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
   770  // | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
   771  // | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
   772  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
   773  //
   774  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   775  // with awserr.Error's Code and Message methods to get detailed information about
   776  // the error.
   777  //
   778  // See the AWS API reference guide for Amazon GameLift's
   779  // API operation CreateFleetLocations for usage and error information.
   780  //
   781  // Returned Error Types:
   782  //   * InternalServiceException
   783  //   The service encountered an unrecoverable internal failure while processing
   784  //   the request. Clients can retry such requests immediately or after a waiting
   785  //   period.
   786  //
   787  //   * InvalidRequestException
   788  //   One or more parameter values in the request are invalid. Correct the invalid
   789  //   parameter values before retrying.
   790  //
   791  //   * UnauthorizedException
   792  //   The client failed authentication. Clients should not retry such requests.
   793  //
   794  //   * NotFoundException
   795  //   A service resource associated with the request could not be found. Clients
   796  //   should not retry such requests.
   797  //
   798  //   * InvalidFleetStatusException
   799  //   The requested operation would cause a conflict with the current state of
   800  //   a resource associated with the request and/or the fleet. Resolve the conflict
   801  //   before retrying.
   802  //
   803  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateFleetLocations
   804  func (c *GameLift) CreateFleetLocations(input *CreateFleetLocationsInput) (*CreateFleetLocationsOutput, error) {
   805  	req, out := c.CreateFleetLocationsRequest(input)
   806  	return out, req.Send()
   807  }
   808  
   809  // CreateFleetLocationsWithContext is the same as CreateFleetLocations with the addition of
   810  // the ability to pass a context and additional request options.
   811  //
   812  // See CreateFleetLocations for details on how to use this API operation.
   813  //
   814  // The context must be non-nil and will be used for request cancellation. If
   815  // the context is nil a panic will occur. In the future the SDK may create
   816  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   817  // for more information on using Contexts.
   818  func (c *GameLift) CreateFleetLocationsWithContext(ctx aws.Context, input *CreateFleetLocationsInput, opts ...request.Option) (*CreateFleetLocationsOutput, error) {
   819  	req, out := c.CreateFleetLocationsRequest(input)
   820  	req.SetContext(ctx)
   821  	req.ApplyOptions(opts...)
   822  	return out, req.Send()
   823  }
   824  
   825  const opCreateGameServerGroup = "CreateGameServerGroup"
   826  
   827  // CreateGameServerGroupRequest generates a "aws/request.Request" representing the
   828  // client's request for the CreateGameServerGroup operation. The "output" return
   829  // value will be populated with the request's response once the request completes
   830  // successfully.
   831  //
   832  // Use "Send" method on the returned Request to send the API call to the service.
   833  // the "output" return value is not valid until after Send returns without error.
   834  //
   835  // See CreateGameServerGroup for more information on using the CreateGameServerGroup
   836  // API call, and error handling.
   837  //
   838  // This method is useful when you want to inject custom logic or configuration
   839  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   840  //
   841  //
   842  //    // Example sending a request using the CreateGameServerGroupRequest method.
   843  //    req, resp := client.CreateGameServerGroupRequest(params)
   844  //
   845  //    err := req.Send()
   846  //    if err == nil { // resp is now filled
   847  //        fmt.Println(resp)
   848  //    }
   849  //
   850  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameServerGroup
   851  func (c *GameLift) CreateGameServerGroupRequest(input *CreateGameServerGroupInput) (req *request.Request, output *CreateGameServerGroupOutput) {
   852  	op := &request.Operation{
   853  		Name:       opCreateGameServerGroup,
   854  		HTTPMethod: "POST",
   855  		HTTPPath:   "/",
   856  	}
   857  
   858  	if input == nil {
   859  		input = &CreateGameServerGroupInput{}
   860  	}
   861  
   862  	output = &CreateGameServerGroupOutput{}
   863  	req = c.newRequest(op, input, output)
   864  	return
   865  }
   866  
   867  // CreateGameServerGroup API operation for Amazon GameLift.
   868  //
   869  // This operation is used with the GameLift FleetIQ solution and game server
   870  // groups.
   871  //
   872  // Creates a GameLift FleetIQ game server group for managing game hosting on
   873  // a collection of Amazon EC2 instances for game hosting. This operation creates
   874  // the game server group, creates an Auto Scaling group in your AWS account,
   875  // and establishes a link between the two groups. You can view the status of
   876  // your game server groups in the GameLift console. Game server group metrics
   877  // and events are emitted to Amazon CloudWatch.
   878  //
   879  // Before creating a new game server group, you must have the following:
   880  //
   881  //    * An Amazon EC2 launch template that specifies how to launch Amazon EC2
   882  //    instances with your game server build. For more information, see Launching
   883  //    an Instance from a Launch Template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
   884  //    in the Amazon EC2 User Guide.
   885  //
   886  //    * An IAM role that extends limited access to your AWS account to allow
   887  //    GameLift FleetIQ to create and interact with the Auto Scaling group. For
   888  //    more information, see Create IAM roles for cross-service interaction (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-iam-permissions-roles.html)
   889  //    in the GameLift FleetIQ Developer Guide.
   890  //
   891  // To create a new game server group, specify a unique group name, IAM role
   892  // and Amazon EC2 launch template, and provide a list of instance types that
   893  // can be used in the group. You must also set initial maximum and minimum limits
   894  // on the group's instance count. You can optionally set an Auto Scaling policy
   895  // with target tracking based on a GameLift FleetIQ metric.
   896  //
   897  // Once the game server group and corresponding Auto Scaling group are created,
   898  // you have full access to change the Auto Scaling group's configuration as
   899  // needed. Several properties that are set when creating a game server group,
   900  // including maximum/minimum size and auto-scaling policy settings, must be
   901  // updated directly in the Auto Scaling group. Keep in mind that some Auto Scaling
   902  // group properties are periodically updated by GameLift FleetIQ as part of
   903  // its balancing activities to optimize for availability and cost.
   904  //
   905  // Learn more
   906  //
   907  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
   908  //
   909  // Related actions
   910  //
   911  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
   912  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
   913  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
   914  //
   915  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   916  // with awserr.Error's Code and Message methods to get detailed information about
   917  // the error.
   918  //
   919  // See the AWS API reference guide for Amazon GameLift's
   920  // API operation CreateGameServerGroup for usage and error information.
   921  //
   922  // Returned Error Types:
   923  //   * InvalidRequestException
   924  //   One or more parameter values in the request are invalid. Correct the invalid
   925  //   parameter values before retrying.
   926  //
   927  //   * ConflictException
   928  //   The requested operation would cause a conflict with the current state of
   929  //   a service resource associated with the request. Resolve the conflict before
   930  //   retrying this request.
   931  //
   932  //   * UnauthorizedException
   933  //   The client failed authentication. Clients should not retry such requests.
   934  //
   935  //   * InternalServiceException
   936  //   The service encountered an unrecoverable internal failure while processing
   937  //   the request. Clients can retry such requests immediately or after a waiting
   938  //   period.
   939  //
   940  //   * LimitExceededException
   941  //   The requested operation would cause the resource to exceed the allowed service
   942  //   limit. Resolve the issue before retrying.
   943  //
   944  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameServerGroup
   945  func (c *GameLift) CreateGameServerGroup(input *CreateGameServerGroupInput) (*CreateGameServerGroupOutput, error) {
   946  	req, out := c.CreateGameServerGroupRequest(input)
   947  	return out, req.Send()
   948  }
   949  
   950  // CreateGameServerGroupWithContext is the same as CreateGameServerGroup with the addition of
   951  // the ability to pass a context and additional request options.
   952  //
   953  // See CreateGameServerGroup for details on how to use this API operation.
   954  //
   955  // The context must be non-nil and will be used for request cancellation. If
   956  // the context is nil a panic will occur. In the future the SDK may create
   957  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   958  // for more information on using Contexts.
   959  func (c *GameLift) CreateGameServerGroupWithContext(ctx aws.Context, input *CreateGameServerGroupInput, opts ...request.Option) (*CreateGameServerGroupOutput, error) {
   960  	req, out := c.CreateGameServerGroupRequest(input)
   961  	req.SetContext(ctx)
   962  	req.ApplyOptions(opts...)
   963  	return out, req.Send()
   964  }
   965  
   966  const opCreateGameSession = "CreateGameSession"
   967  
   968  // CreateGameSessionRequest generates a "aws/request.Request" representing the
   969  // client's request for the CreateGameSession operation. The "output" return
   970  // value will be populated with the request's response once the request completes
   971  // successfully.
   972  //
   973  // Use "Send" method on the returned Request to send the API call to the service.
   974  // the "output" return value is not valid until after Send returns without error.
   975  //
   976  // See CreateGameSession for more information on using the CreateGameSession
   977  // API call, and error handling.
   978  //
   979  // This method is useful when you want to inject custom logic or configuration
   980  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   981  //
   982  //
   983  //    // Example sending a request using the CreateGameSessionRequest method.
   984  //    req, resp := client.CreateGameSessionRequest(params)
   985  //
   986  //    err := req.Send()
   987  //    if err == nil { // resp is now filled
   988  //        fmt.Println(resp)
   989  //    }
   990  //
   991  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
   992  func (c *GameLift) CreateGameSessionRequest(input *CreateGameSessionInput) (req *request.Request, output *CreateGameSessionOutput) {
   993  	op := &request.Operation{
   994  		Name:       opCreateGameSession,
   995  		HTTPMethod: "POST",
   996  		HTTPPath:   "/",
   997  	}
   998  
   999  	if input == nil {
  1000  		input = &CreateGameSessionInput{}
  1001  	}
  1002  
  1003  	output = &CreateGameSessionOutput{}
  1004  	req = c.newRequest(op, input, output)
  1005  	return
  1006  }
  1007  
  1008  // CreateGameSession API operation for Amazon GameLift.
  1009  //
  1010  // Creates a multiplayer game session for players in a specific fleet location.
  1011  // This operation prompts an available server process to start a game session
  1012  // and retrieves connection information for the new game session. As an alternative,
  1013  // consider using the GameLift game session placement feature with
  1014  //
  1015  // with StartGameSessionPlacement, which uses FleetIQ algorithms and queues
  1016  // to optimize the placement process.
  1017  //
  1018  // When creating a game session, you specify exactly where you want to place
  1019  // it and provide a set of game session configuration settings. The fleet must
  1020  // be in ACTIVE status before a game session can be created in it.
  1021  //
  1022  // This operation can be used in the following ways:
  1023  //
  1024  //    * To create a game session on an instance in a fleet's home Region, provide
  1025  //    a fleet or alias ID along with your game session configuration.
  1026  //
  1027  //    * To create a game session on an instance in a fleet's remote location,
  1028  //    provide a fleet or alias ID and a location name, along with your game
  1029  //    session configuration.
  1030  //
  1031  // If successful, a workflow is initiated to start a new game session. A GameSession
  1032  // object is returned containing the game session configuration and status.
  1033  // When the status is ACTIVE, game session connection information is provided
  1034  // and player sessions can be created for the game session. By default, newly
  1035  // created game sessions are open to new players. You can restrict new player
  1036  // access by using UpdateGameSession to change the game session's player session
  1037  // creation policy.
  1038  //
  1039  // Game session logs are retained for all active game sessions for 14 days.
  1040  // To access the logs, call GetGameSessionLogUrl to download the log files.
  1041  //
  1042  // Available in GameLift Local.
  1043  //
  1044  // Learn more
  1045  //
  1046  // Start a game session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)
  1047  //
  1048  // Related actions
  1049  //
  1050  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
  1051  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
  1052  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
  1053  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1054  //
  1055  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1056  // with awserr.Error's Code and Message methods to get detailed information about
  1057  // the error.
  1058  //
  1059  // See the AWS API reference guide for Amazon GameLift's
  1060  // API operation CreateGameSession for usage and error information.
  1061  //
  1062  // Returned Error Types:
  1063  //   * ConflictException
  1064  //   The requested operation would cause a conflict with the current state of
  1065  //   a service resource associated with the request. Resolve the conflict before
  1066  //   retrying this request.
  1067  //
  1068  //   * InternalServiceException
  1069  //   The service encountered an unrecoverable internal failure while processing
  1070  //   the request. Clients can retry such requests immediately or after a waiting
  1071  //   period.
  1072  //
  1073  //   * UnauthorizedException
  1074  //   The client failed authentication. Clients should not retry such requests.
  1075  //
  1076  //   * InvalidFleetStatusException
  1077  //   The requested operation would cause a conflict with the current state of
  1078  //   a resource associated with the request and/or the fleet. Resolve the conflict
  1079  //   before retrying.
  1080  //
  1081  //   * TerminalRoutingStrategyException
  1082  //   The service is unable to resolve the routing for a particular alias because
  1083  //   it has a terminal RoutingStrategy associated with it. The message returned
  1084  //   in this exception is the message defined in the routing strategy itself.
  1085  //   Such requests should only be retried if the routing strategy for the specified
  1086  //   alias is modified.
  1087  //
  1088  //   * InvalidRequestException
  1089  //   One or more parameter values in the request are invalid. Correct the invalid
  1090  //   parameter values before retrying.
  1091  //
  1092  //   * NotFoundException
  1093  //   A service resource associated with the request could not be found. Clients
  1094  //   should not retry such requests.
  1095  //
  1096  //   * FleetCapacityExceededException
  1097  //   The specified fleet has no available instances to fulfill a CreateGameSession
  1098  //   request. Clients can retry such requests immediately or after a waiting period.
  1099  //
  1100  //   * LimitExceededException
  1101  //   The requested operation would cause the resource to exceed the allowed service
  1102  //   limit. Resolve the issue before retrying.
  1103  //
  1104  //   * IdempotentParameterMismatchException
  1105  //   A game session with this custom ID string already exists in this fleet. Resolve
  1106  //   this conflict before retrying this request.
  1107  //
  1108  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSession
  1109  func (c *GameLift) CreateGameSession(input *CreateGameSessionInput) (*CreateGameSessionOutput, error) {
  1110  	req, out := c.CreateGameSessionRequest(input)
  1111  	return out, req.Send()
  1112  }
  1113  
  1114  // CreateGameSessionWithContext is the same as CreateGameSession with the addition of
  1115  // the ability to pass a context and additional request options.
  1116  //
  1117  // See CreateGameSession for details on how to use this API operation.
  1118  //
  1119  // The context must be non-nil and will be used for request cancellation. If
  1120  // the context is nil a panic will occur. In the future the SDK may create
  1121  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1122  // for more information on using Contexts.
  1123  func (c *GameLift) CreateGameSessionWithContext(ctx aws.Context, input *CreateGameSessionInput, opts ...request.Option) (*CreateGameSessionOutput, error) {
  1124  	req, out := c.CreateGameSessionRequest(input)
  1125  	req.SetContext(ctx)
  1126  	req.ApplyOptions(opts...)
  1127  	return out, req.Send()
  1128  }
  1129  
  1130  const opCreateGameSessionQueue = "CreateGameSessionQueue"
  1131  
  1132  // CreateGameSessionQueueRequest generates a "aws/request.Request" representing the
  1133  // client's request for the CreateGameSessionQueue operation. The "output" return
  1134  // value will be populated with the request's response once the request completes
  1135  // successfully.
  1136  //
  1137  // Use "Send" method on the returned Request to send the API call to the service.
  1138  // the "output" return value is not valid until after Send returns without error.
  1139  //
  1140  // See CreateGameSessionQueue for more information on using the CreateGameSessionQueue
  1141  // API call, and error handling.
  1142  //
  1143  // This method is useful when you want to inject custom logic or configuration
  1144  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1145  //
  1146  //
  1147  //    // Example sending a request using the CreateGameSessionQueueRequest method.
  1148  //    req, resp := client.CreateGameSessionQueueRequest(params)
  1149  //
  1150  //    err := req.Send()
  1151  //    if err == nil { // resp is now filled
  1152  //        fmt.Println(resp)
  1153  //    }
  1154  //
  1155  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
  1156  func (c *GameLift) CreateGameSessionQueueRequest(input *CreateGameSessionQueueInput) (req *request.Request, output *CreateGameSessionQueueOutput) {
  1157  	op := &request.Operation{
  1158  		Name:       opCreateGameSessionQueue,
  1159  		HTTPMethod: "POST",
  1160  		HTTPPath:   "/",
  1161  	}
  1162  
  1163  	if input == nil {
  1164  		input = &CreateGameSessionQueueInput{}
  1165  	}
  1166  
  1167  	output = &CreateGameSessionQueueOutput{}
  1168  	req = c.newRequest(op, input, output)
  1169  	return
  1170  }
  1171  
  1172  // CreateGameSessionQueue API operation for Amazon GameLift.
  1173  //
  1174  // Creates a placement queue that processes requests for new game sessions.
  1175  // A queue uses FleetIQ algorithms to determine the best placement locations
  1176  // and find an available game server there, then prompts the game server process
  1177  // to start a new game session.
  1178  //
  1179  // A game session queue is configured with a set of destinations (GameLift fleets
  1180  // or aliases), which determine the locations where the queue can place new
  1181  // game sessions. These destinations can span multiple fleet types (Spot and
  1182  // On-Demand), instance types, and AWS Regions. If the queue includes multi-location
  1183  // fleets, the queue is able to place game sessions in all of a fleet's remote
  1184  // locations. You can opt to filter out individual locations if needed.
  1185  //
  1186  // The queue configuration also determines how FleetIQ selects the best available
  1187  // placement for a new game session. Before searching for an available game
  1188  // server, FleetIQ first prioritizes the queue's destinations and locations,
  1189  // with the best placement locations on top. You can set up the queue to use
  1190  // the FleetIQ default prioritization or provide an alternate set of priorities.
  1191  //
  1192  // To create a new queue, provide a name, timeout value, and a list of destinations.
  1193  // Optionally, specify a sort configuration and/or a filter, and define a set
  1194  // of latency cap policies. You can also include the ARN for an Amazon Simple
  1195  // Notification Service (SNS) topic to receive notifications of game session
  1196  // placement activity. Notifications using SNS or CloudWatch events is the preferred
  1197  // way to track placement activity.
  1198  //
  1199  // If successful, a new GameSessionQueue object is returned with an assigned
  1200  // queue ARN. New game session requests, which are submitted to the queue with
  1201  // StartGameSessionPlacement or StartMatchmaking, reference a queue's name or
  1202  // ARN.
  1203  //
  1204  // Learn more
  1205  //
  1206  //  Design a game session queue (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-design.html)
  1207  //
  1208  //  Create a game session queue (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-creating.html)
  1209  //
  1210  // Related actions
  1211  //
  1212  // CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
  1213  // | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1214  //
  1215  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1216  // with awserr.Error's Code and Message methods to get detailed information about
  1217  // the error.
  1218  //
  1219  // See the AWS API reference guide for Amazon GameLift's
  1220  // API operation CreateGameSessionQueue for usage and error information.
  1221  //
  1222  // Returned Error Types:
  1223  //   * InternalServiceException
  1224  //   The service encountered an unrecoverable internal failure while processing
  1225  //   the request. Clients can retry such requests immediately or after a waiting
  1226  //   period.
  1227  //
  1228  //   * InvalidRequestException
  1229  //   One or more parameter values in the request are invalid. Correct the invalid
  1230  //   parameter values before retrying.
  1231  //
  1232  //   * UnauthorizedException
  1233  //   The client failed authentication. Clients should not retry such requests.
  1234  //
  1235  //   * LimitExceededException
  1236  //   The requested operation would cause the resource to exceed the allowed service
  1237  //   limit. Resolve the issue before retrying.
  1238  //
  1239  //   * NotFoundException
  1240  //   A service resource associated with the request could not be found. Clients
  1241  //   should not retry such requests.
  1242  //
  1243  //   * TaggingFailedException
  1244  //   The requested tagging operation did not succeed. This may be due to invalid
  1245  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  1246  //   before retrying.
  1247  //
  1248  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionQueue
  1249  func (c *GameLift) CreateGameSessionQueue(input *CreateGameSessionQueueInput) (*CreateGameSessionQueueOutput, error) {
  1250  	req, out := c.CreateGameSessionQueueRequest(input)
  1251  	return out, req.Send()
  1252  }
  1253  
  1254  // CreateGameSessionQueueWithContext is the same as CreateGameSessionQueue with the addition of
  1255  // the ability to pass a context and additional request options.
  1256  //
  1257  // See CreateGameSessionQueue for details on how to use this API operation.
  1258  //
  1259  // The context must be non-nil and will be used for request cancellation. If
  1260  // the context is nil a panic will occur. In the future the SDK may create
  1261  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1262  // for more information on using Contexts.
  1263  func (c *GameLift) CreateGameSessionQueueWithContext(ctx aws.Context, input *CreateGameSessionQueueInput, opts ...request.Option) (*CreateGameSessionQueueOutput, error) {
  1264  	req, out := c.CreateGameSessionQueueRequest(input)
  1265  	req.SetContext(ctx)
  1266  	req.ApplyOptions(opts...)
  1267  	return out, req.Send()
  1268  }
  1269  
  1270  const opCreateMatchmakingConfiguration = "CreateMatchmakingConfiguration"
  1271  
  1272  // CreateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
  1273  // client's request for the CreateMatchmakingConfiguration operation. The "output" return
  1274  // value will be populated with the request's response once the request completes
  1275  // successfully.
  1276  //
  1277  // Use "Send" method on the returned Request to send the API call to the service.
  1278  // the "output" return value is not valid until after Send returns without error.
  1279  //
  1280  // See CreateMatchmakingConfiguration for more information on using the CreateMatchmakingConfiguration
  1281  // API call, and error handling.
  1282  //
  1283  // This method is useful when you want to inject custom logic or configuration
  1284  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1285  //
  1286  //
  1287  //    // Example sending a request using the CreateMatchmakingConfigurationRequest method.
  1288  //    req, resp := client.CreateMatchmakingConfigurationRequest(params)
  1289  //
  1290  //    err := req.Send()
  1291  //    if err == nil { // resp is now filled
  1292  //        fmt.Println(resp)
  1293  //    }
  1294  //
  1295  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
  1296  func (c *GameLift) CreateMatchmakingConfigurationRequest(input *CreateMatchmakingConfigurationInput) (req *request.Request, output *CreateMatchmakingConfigurationOutput) {
  1297  	op := &request.Operation{
  1298  		Name:       opCreateMatchmakingConfiguration,
  1299  		HTTPMethod: "POST",
  1300  		HTTPPath:   "/",
  1301  	}
  1302  
  1303  	if input == nil {
  1304  		input = &CreateMatchmakingConfigurationInput{}
  1305  	}
  1306  
  1307  	output = &CreateMatchmakingConfigurationOutput{}
  1308  	req = c.newRequest(op, input, output)
  1309  	return
  1310  }
  1311  
  1312  // CreateMatchmakingConfiguration API operation for Amazon GameLift.
  1313  //
  1314  // Defines a new matchmaking configuration for use with FlexMatch. Whether your
  1315  // are using FlexMatch with GameLift hosting or as a standalone matchmaking
  1316  // service, the matchmaking configuration sets out rules for matching players
  1317  // and forming teams. If you're also using GameLift hosting, it defines how
  1318  // to start game sessions for each match. Your matchmaking system can use multiple
  1319  // configurations to handle different game scenarios. All matchmaking requests
  1320  // (StartMatchmaking or StartMatchBackfill) identify the matchmaking configuration
  1321  // to use and provide player attributes consistent with that configuration.
  1322  //
  1323  // To create a matchmaking configuration, you must provide the following: configuration
  1324  // name and FlexMatch mode (with or without GameLift hosting); a rule set that
  1325  // specifies how to evaluate players and find acceptable matches; whether player
  1326  // acceptance is required; and the maximum time allowed for a matchmaking attempt.
  1327  // When using FlexMatch with GameLift hosting, you also need to identify the
  1328  // game session queue to use when starting a game session for the match.
  1329  //
  1330  // In addition, you must set up an Amazon Simple Notification Service (SNS)
  1331  // topic to receive matchmaking notifications. Provide the topic ARN in the
  1332  // matchmaking configuration. An alternative method, continuously polling ticket
  1333  // status with DescribeMatchmaking, is only suitable for games in development
  1334  // with low matchmaking usage.
  1335  //
  1336  // Learn more
  1337  //
  1338  //  Design a FlexMatch matchmaker (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html)
  1339  //
  1340  //  Set up FlexMatch event notification (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
  1341  //
  1342  // Related actions
  1343  //
  1344  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
  1345  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
  1346  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
  1347  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1348  //
  1349  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1350  // with awserr.Error's Code and Message methods to get detailed information about
  1351  // the error.
  1352  //
  1353  // See the AWS API reference guide for Amazon GameLift's
  1354  // API operation CreateMatchmakingConfiguration for usage and error information.
  1355  //
  1356  // Returned Error Types:
  1357  //   * InvalidRequestException
  1358  //   One or more parameter values in the request are invalid. Correct the invalid
  1359  //   parameter values before retrying.
  1360  //
  1361  //   * LimitExceededException
  1362  //   The requested operation would cause the resource to exceed the allowed service
  1363  //   limit. Resolve the issue before retrying.
  1364  //
  1365  //   * NotFoundException
  1366  //   A service resource associated with the request could not be found. Clients
  1367  //   should not retry such requests.
  1368  //
  1369  //   * InternalServiceException
  1370  //   The service encountered an unrecoverable internal failure while processing
  1371  //   the request. Clients can retry such requests immediately or after a waiting
  1372  //   period.
  1373  //
  1374  //   * UnsupportedRegionException
  1375  //   The requested operation is not supported in the Region specified.
  1376  //
  1377  //   * TaggingFailedException
  1378  //   The requested tagging operation did not succeed. This may be due to invalid
  1379  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  1380  //   before retrying.
  1381  //
  1382  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingConfiguration
  1383  func (c *GameLift) CreateMatchmakingConfiguration(input *CreateMatchmakingConfigurationInput) (*CreateMatchmakingConfigurationOutput, error) {
  1384  	req, out := c.CreateMatchmakingConfigurationRequest(input)
  1385  	return out, req.Send()
  1386  }
  1387  
  1388  // CreateMatchmakingConfigurationWithContext is the same as CreateMatchmakingConfiguration with the addition of
  1389  // the ability to pass a context and additional request options.
  1390  //
  1391  // See CreateMatchmakingConfiguration for details on how to use this API operation.
  1392  //
  1393  // The context must be non-nil and will be used for request cancellation. If
  1394  // the context is nil a panic will occur. In the future the SDK may create
  1395  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1396  // for more information on using Contexts.
  1397  func (c *GameLift) CreateMatchmakingConfigurationWithContext(ctx aws.Context, input *CreateMatchmakingConfigurationInput, opts ...request.Option) (*CreateMatchmakingConfigurationOutput, error) {
  1398  	req, out := c.CreateMatchmakingConfigurationRequest(input)
  1399  	req.SetContext(ctx)
  1400  	req.ApplyOptions(opts...)
  1401  	return out, req.Send()
  1402  }
  1403  
  1404  const opCreateMatchmakingRuleSet = "CreateMatchmakingRuleSet"
  1405  
  1406  // CreateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
  1407  // client's request for the CreateMatchmakingRuleSet operation. The "output" return
  1408  // value will be populated with the request's response once the request completes
  1409  // successfully.
  1410  //
  1411  // Use "Send" method on the returned Request to send the API call to the service.
  1412  // the "output" return value is not valid until after Send returns without error.
  1413  //
  1414  // See CreateMatchmakingRuleSet for more information on using the CreateMatchmakingRuleSet
  1415  // API call, and error handling.
  1416  //
  1417  // This method is useful when you want to inject custom logic or configuration
  1418  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1419  //
  1420  //
  1421  //    // Example sending a request using the CreateMatchmakingRuleSetRequest method.
  1422  //    req, resp := client.CreateMatchmakingRuleSetRequest(params)
  1423  //
  1424  //    err := req.Send()
  1425  //    if err == nil { // resp is now filled
  1426  //        fmt.Println(resp)
  1427  //    }
  1428  //
  1429  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
  1430  func (c *GameLift) CreateMatchmakingRuleSetRequest(input *CreateMatchmakingRuleSetInput) (req *request.Request, output *CreateMatchmakingRuleSetOutput) {
  1431  	op := &request.Operation{
  1432  		Name:       opCreateMatchmakingRuleSet,
  1433  		HTTPMethod: "POST",
  1434  		HTTPPath:   "/",
  1435  	}
  1436  
  1437  	if input == nil {
  1438  		input = &CreateMatchmakingRuleSetInput{}
  1439  	}
  1440  
  1441  	output = &CreateMatchmakingRuleSetOutput{}
  1442  	req = c.newRequest(op, input, output)
  1443  	return
  1444  }
  1445  
  1446  // CreateMatchmakingRuleSet API operation for Amazon GameLift.
  1447  //
  1448  // Creates a new rule set for FlexMatch matchmaking. A rule set describes the
  1449  // type of match to create, such as the number and size of teams. It also sets
  1450  // the parameters for acceptable player matches, such as minimum skill level
  1451  // or character type. A rule set is used by a MatchmakingConfiguration.
  1452  //
  1453  // To create a matchmaking rule set, provide unique rule set name and the rule
  1454  // set body in JSON format. Rule sets must be defined in the same Region as
  1455  // the matchmaking configuration they are used with.
  1456  //
  1457  // Since matchmaking rule sets cannot be edited, it is a good idea to check
  1458  // the rule set syntax using ValidateMatchmakingRuleSet before creating a new
  1459  // rule set.
  1460  //
  1461  // Learn more
  1462  //
  1463  //    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
  1464  //
  1465  //    * Design a matchmaker (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html)
  1466  //
  1467  //    * Matchmaking with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-intro.html)
  1468  //
  1469  // Related actions
  1470  //
  1471  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
  1472  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
  1473  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
  1474  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1475  //
  1476  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1477  // with awserr.Error's Code and Message methods to get detailed information about
  1478  // the error.
  1479  //
  1480  // See the AWS API reference guide for Amazon GameLift's
  1481  // API operation CreateMatchmakingRuleSet for usage and error information.
  1482  //
  1483  // Returned Error Types:
  1484  //   * InvalidRequestException
  1485  //   One or more parameter values in the request are invalid. Correct the invalid
  1486  //   parameter values before retrying.
  1487  //
  1488  //   * InternalServiceException
  1489  //   The service encountered an unrecoverable internal failure while processing
  1490  //   the request. Clients can retry such requests immediately or after a waiting
  1491  //   period.
  1492  //
  1493  //   * UnsupportedRegionException
  1494  //   The requested operation is not supported in the Region specified.
  1495  //
  1496  //   * TaggingFailedException
  1497  //   The requested tagging operation did not succeed. This may be due to invalid
  1498  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  1499  //   before retrying.
  1500  //
  1501  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateMatchmakingRuleSet
  1502  func (c *GameLift) CreateMatchmakingRuleSet(input *CreateMatchmakingRuleSetInput) (*CreateMatchmakingRuleSetOutput, error) {
  1503  	req, out := c.CreateMatchmakingRuleSetRequest(input)
  1504  	return out, req.Send()
  1505  }
  1506  
  1507  // CreateMatchmakingRuleSetWithContext is the same as CreateMatchmakingRuleSet with the addition of
  1508  // the ability to pass a context and additional request options.
  1509  //
  1510  // See CreateMatchmakingRuleSet for details on how to use this API operation.
  1511  //
  1512  // The context must be non-nil and will be used for request cancellation. If
  1513  // the context is nil a panic will occur. In the future the SDK may create
  1514  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1515  // for more information on using Contexts.
  1516  func (c *GameLift) CreateMatchmakingRuleSetWithContext(ctx aws.Context, input *CreateMatchmakingRuleSetInput, opts ...request.Option) (*CreateMatchmakingRuleSetOutput, error) {
  1517  	req, out := c.CreateMatchmakingRuleSetRequest(input)
  1518  	req.SetContext(ctx)
  1519  	req.ApplyOptions(opts...)
  1520  	return out, req.Send()
  1521  }
  1522  
  1523  const opCreatePlayerSession = "CreatePlayerSession"
  1524  
  1525  // CreatePlayerSessionRequest generates a "aws/request.Request" representing the
  1526  // client's request for the CreatePlayerSession operation. The "output" return
  1527  // value will be populated with the request's response once the request completes
  1528  // successfully.
  1529  //
  1530  // Use "Send" method on the returned Request to send the API call to the service.
  1531  // the "output" return value is not valid until after Send returns without error.
  1532  //
  1533  // See CreatePlayerSession for more information on using the CreatePlayerSession
  1534  // API call, and error handling.
  1535  //
  1536  // This method is useful when you want to inject custom logic or configuration
  1537  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1538  //
  1539  //
  1540  //    // Example sending a request using the CreatePlayerSessionRequest method.
  1541  //    req, resp := client.CreatePlayerSessionRequest(params)
  1542  //
  1543  //    err := req.Send()
  1544  //    if err == nil { // resp is now filled
  1545  //        fmt.Println(resp)
  1546  //    }
  1547  //
  1548  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
  1549  func (c *GameLift) CreatePlayerSessionRequest(input *CreatePlayerSessionInput) (req *request.Request, output *CreatePlayerSessionOutput) {
  1550  	op := &request.Operation{
  1551  		Name:       opCreatePlayerSession,
  1552  		HTTPMethod: "POST",
  1553  		HTTPPath:   "/",
  1554  	}
  1555  
  1556  	if input == nil {
  1557  		input = &CreatePlayerSessionInput{}
  1558  	}
  1559  
  1560  	output = &CreatePlayerSessionOutput{}
  1561  	req = c.newRequest(op, input, output)
  1562  	return
  1563  }
  1564  
  1565  // CreatePlayerSession API operation for Amazon GameLift.
  1566  //
  1567  // Reserves an open player slot in a game session for a player. New player sessions
  1568  // can be created in any game session with an open slot that is in ACTIVE status
  1569  // and has a player creation policy of ACCEPT_ALL. You can add a group of players
  1570  // to a game session with CreatePlayerSessions.
  1571  //
  1572  // To create a player session, specify a game session ID, player ID, and optionally
  1573  // a set of player data.
  1574  //
  1575  // If successful, a slot is reserved in the game session for the player and
  1576  // a new PlayerSession object is returned with a player session ID. The player
  1577  // references the player session ID when sending a connection request to the
  1578  // game session, and the game server can use it to validate the player reservation
  1579  // with the GameLift service. Player sessions cannot be updated.
  1580  //
  1581  // Available in Amazon GameLift Local.
  1582  //
  1583  // Related actions
  1584  //
  1585  // CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
  1586  // | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1587  //
  1588  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1589  // with awserr.Error's Code and Message methods to get detailed information about
  1590  // the error.
  1591  //
  1592  // See the AWS API reference guide for Amazon GameLift's
  1593  // API operation CreatePlayerSession for usage and error information.
  1594  //
  1595  // Returned Error Types:
  1596  //   * InternalServiceException
  1597  //   The service encountered an unrecoverable internal failure while processing
  1598  //   the request. Clients can retry such requests immediately or after a waiting
  1599  //   period.
  1600  //
  1601  //   * UnauthorizedException
  1602  //   The client failed authentication. Clients should not retry such requests.
  1603  //
  1604  //   * InvalidGameSessionStatusException
  1605  //   The requested operation would cause a conflict with the current state of
  1606  //   a resource associated with the request and/or the game instance. Resolve
  1607  //   the conflict before retrying.
  1608  //
  1609  //   * GameSessionFullException
  1610  //   The game instance is currently full and cannot allow the requested player(s)
  1611  //   to join. Clients can retry such requests immediately or after a waiting period.
  1612  //
  1613  //   * TerminalRoutingStrategyException
  1614  //   The service is unable to resolve the routing for a particular alias because
  1615  //   it has a terminal RoutingStrategy associated with it. The message returned
  1616  //   in this exception is the message defined in the routing strategy itself.
  1617  //   Such requests should only be retried if the routing strategy for the specified
  1618  //   alias is modified.
  1619  //
  1620  //   * InvalidRequestException
  1621  //   One or more parameter values in the request are invalid. Correct the invalid
  1622  //   parameter values before retrying.
  1623  //
  1624  //   * NotFoundException
  1625  //   A service resource associated with the request could not be found. Clients
  1626  //   should not retry such requests.
  1627  //
  1628  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSession
  1629  func (c *GameLift) CreatePlayerSession(input *CreatePlayerSessionInput) (*CreatePlayerSessionOutput, error) {
  1630  	req, out := c.CreatePlayerSessionRequest(input)
  1631  	return out, req.Send()
  1632  }
  1633  
  1634  // CreatePlayerSessionWithContext is the same as CreatePlayerSession with the addition of
  1635  // the ability to pass a context and additional request options.
  1636  //
  1637  // See CreatePlayerSession for details on how to use this API operation.
  1638  //
  1639  // The context must be non-nil and will be used for request cancellation. If
  1640  // the context is nil a panic will occur. In the future the SDK may create
  1641  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1642  // for more information on using Contexts.
  1643  func (c *GameLift) CreatePlayerSessionWithContext(ctx aws.Context, input *CreatePlayerSessionInput, opts ...request.Option) (*CreatePlayerSessionOutput, error) {
  1644  	req, out := c.CreatePlayerSessionRequest(input)
  1645  	req.SetContext(ctx)
  1646  	req.ApplyOptions(opts...)
  1647  	return out, req.Send()
  1648  }
  1649  
  1650  const opCreatePlayerSessions = "CreatePlayerSessions"
  1651  
  1652  // CreatePlayerSessionsRequest generates a "aws/request.Request" representing the
  1653  // client's request for the CreatePlayerSessions operation. The "output" return
  1654  // value will be populated with the request's response once the request completes
  1655  // successfully.
  1656  //
  1657  // Use "Send" method on the returned Request to send the API call to the service.
  1658  // the "output" return value is not valid until after Send returns without error.
  1659  //
  1660  // See CreatePlayerSessions for more information on using the CreatePlayerSessions
  1661  // API call, and error handling.
  1662  //
  1663  // This method is useful when you want to inject custom logic or configuration
  1664  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1665  //
  1666  //
  1667  //    // Example sending a request using the CreatePlayerSessionsRequest method.
  1668  //    req, resp := client.CreatePlayerSessionsRequest(params)
  1669  //
  1670  //    err := req.Send()
  1671  //    if err == nil { // resp is now filled
  1672  //        fmt.Println(resp)
  1673  //    }
  1674  //
  1675  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
  1676  func (c *GameLift) CreatePlayerSessionsRequest(input *CreatePlayerSessionsInput) (req *request.Request, output *CreatePlayerSessionsOutput) {
  1677  	op := &request.Operation{
  1678  		Name:       opCreatePlayerSessions,
  1679  		HTTPMethod: "POST",
  1680  		HTTPPath:   "/",
  1681  	}
  1682  
  1683  	if input == nil {
  1684  		input = &CreatePlayerSessionsInput{}
  1685  	}
  1686  
  1687  	output = &CreatePlayerSessionsOutput{}
  1688  	req = c.newRequest(op, input, output)
  1689  	return
  1690  }
  1691  
  1692  // CreatePlayerSessions API operation for Amazon GameLift.
  1693  //
  1694  // Reserves open slots in a game session for a group of players. New player
  1695  // sessions can be created in any game session with an open slot that is in
  1696  // ACTIVE status and has a player creation policy of ACCEPT_ALL. To add a single
  1697  // player to a game session, use CreatePlayerSession.
  1698  //
  1699  // To create player sessions, specify a game session ID and a list of player
  1700  // IDs. Optionally, provide a set of player data for each player ID.
  1701  //
  1702  // If successful, a slot is reserved in the game session for each player, and
  1703  // new PlayerSession objects are returned with player session IDs. Each player
  1704  // references their player session ID when sending a connection request to the
  1705  // game session, and the game server can use it to validate the player reservation
  1706  // with the GameLift service. Player sessions cannot be updated.
  1707  //
  1708  // Available in Amazon GameLift Local.
  1709  //
  1710  // Related actions
  1711  //
  1712  // CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
  1713  // | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1714  //
  1715  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1716  // with awserr.Error's Code and Message methods to get detailed information about
  1717  // the error.
  1718  //
  1719  // See the AWS API reference guide for Amazon GameLift's
  1720  // API operation CreatePlayerSessions for usage and error information.
  1721  //
  1722  // Returned Error Types:
  1723  //   * InternalServiceException
  1724  //   The service encountered an unrecoverable internal failure while processing
  1725  //   the request. Clients can retry such requests immediately or after a waiting
  1726  //   period.
  1727  //
  1728  //   * UnauthorizedException
  1729  //   The client failed authentication. Clients should not retry such requests.
  1730  //
  1731  //   * InvalidGameSessionStatusException
  1732  //   The requested operation would cause a conflict with the current state of
  1733  //   a resource associated with the request and/or the game instance. Resolve
  1734  //   the conflict before retrying.
  1735  //
  1736  //   * GameSessionFullException
  1737  //   The game instance is currently full and cannot allow the requested player(s)
  1738  //   to join. Clients can retry such requests immediately or after a waiting period.
  1739  //
  1740  //   * TerminalRoutingStrategyException
  1741  //   The service is unable to resolve the routing for a particular alias because
  1742  //   it has a terminal RoutingStrategy associated with it. The message returned
  1743  //   in this exception is the message defined in the routing strategy itself.
  1744  //   Such requests should only be retried if the routing strategy for the specified
  1745  //   alias is modified.
  1746  //
  1747  //   * InvalidRequestException
  1748  //   One or more parameter values in the request are invalid. Correct the invalid
  1749  //   parameter values before retrying.
  1750  //
  1751  //   * NotFoundException
  1752  //   A service resource associated with the request could not be found. Clients
  1753  //   should not retry such requests.
  1754  //
  1755  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreatePlayerSessions
  1756  func (c *GameLift) CreatePlayerSessions(input *CreatePlayerSessionsInput) (*CreatePlayerSessionsOutput, error) {
  1757  	req, out := c.CreatePlayerSessionsRequest(input)
  1758  	return out, req.Send()
  1759  }
  1760  
  1761  // CreatePlayerSessionsWithContext is the same as CreatePlayerSessions with the addition of
  1762  // the ability to pass a context and additional request options.
  1763  //
  1764  // See CreatePlayerSessions for details on how to use this API operation.
  1765  //
  1766  // The context must be non-nil and will be used for request cancellation. If
  1767  // the context is nil a panic will occur. In the future the SDK may create
  1768  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1769  // for more information on using Contexts.
  1770  func (c *GameLift) CreatePlayerSessionsWithContext(ctx aws.Context, input *CreatePlayerSessionsInput, opts ...request.Option) (*CreatePlayerSessionsOutput, error) {
  1771  	req, out := c.CreatePlayerSessionsRequest(input)
  1772  	req.SetContext(ctx)
  1773  	req.ApplyOptions(opts...)
  1774  	return out, req.Send()
  1775  }
  1776  
  1777  const opCreateScript = "CreateScript"
  1778  
  1779  // CreateScriptRequest generates a "aws/request.Request" representing the
  1780  // client's request for the CreateScript operation. The "output" return
  1781  // value will be populated with the request's response once the request completes
  1782  // successfully.
  1783  //
  1784  // Use "Send" method on the returned Request to send the API call to the service.
  1785  // the "output" return value is not valid until after Send returns without error.
  1786  //
  1787  // See CreateScript for more information on using the CreateScript
  1788  // API call, and error handling.
  1789  //
  1790  // This method is useful when you want to inject custom logic or configuration
  1791  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1792  //
  1793  //
  1794  //    // Example sending a request using the CreateScriptRequest method.
  1795  //    req, resp := client.CreateScriptRequest(params)
  1796  //
  1797  //    err := req.Send()
  1798  //    if err == nil { // resp is now filled
  1799  //        fmt.Println(resp)
  1800  //    }
  1801  //
  1802  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateScript
  1803  func (c *GameLift) CreateScriptRequest(input *CreateScriptInput) (req *request.Request, output *CreateScriptOutput) {
  1804  	op := &request.Operation{
  1805  		Name:       opCreateScript,
  1806  		HTTPMethod: "POST",
  1807  		HTTPPath:   "/",
  1808  	}
  1809  
  1810  	if input == nil {
  1811  		input = &CreateScriptInput{}
  1812  	}
  1813  
  1814  	output = &CreateScriptOutput{}
  1815  	req = c.newRequest(op, input, output)
  1816  	return
  1817  }
  1818  
  1819  // CreateScript API operation for Amazon GameLift.
  1820  //
  1821  // Creates a new script record for your Realtime Servers script. Realtime scripts
  1822  // are JavaScript that provide configuration settings and optional custom game
  1823  // logic for your game. The script is deployed when you create a Realtime Servers
  1824  // fleet to host your game sessions. Script logic is executed during an active
  1825  // game session.
  1826  //
  1827  // To create a new script record, specify a script name and provide the script
  1828  // file(s). The script files and all dependencies must be zipped into a single
  1829  // file. You can pull the zip file from either of these locations:
  1830  //
  1831  //    * A locally available directory. Use the ZipFile parameter for this option.
  1832  //
  1833  //    * An Amazon Simple Storage Service (Amazon S3) bucket under your AWS account.
  1834  //    Use the StorageLocation parameter for this option. You'll need to have
  1835  //    an Identity Access Management (IAM) role that allows the Amazon GameLift
  1836  //    service to access your S3 bucket.
  1837  //
  1838  // If the call is successful, a new script record is created with a unique script
  1839  // ID. If the script file is provided as a local file, the file is uploaded
  1840  // to an Amazon GameLift-owned S3 bucket and the script record's storage location
  1841  // reflects this location. If the script file is provided as an S3 bucket, Amazon
  1842  // GameLift accesses the file at this storage location as needed for deployment.
  1843  //
  1844  // Learn more
  1845  //
  1846  // Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
  1847  //
  1848  // Set Up a Role for Amazon GameLift Access (https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html)
  1849  //
  1850  // Related actions
  1851  //
  1852  // CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
  1853  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1854  //
  1855  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1856  // with awserr.Error's Code and Message methods to get detailed information about
  1857  // the error.
  1858  //
  1859  // See the AWS API reference guide for Amazon GameLift's
  1860  // API operation CreateScript for usage and error information.
  1861  //
  1862  // Returned Error Types:
  1863  //   * UnauthorizedException
  1864  //   The client failed authentication. Clients should not retry such requests.
  1865  //
  1866  //   * InvalidRequestException
  1867  //   One or more parameter values in the request are invalid. Correct the invalid
  1868  //   parameter values before retrying.
  1869  //
  1870  //   * ConflictException
  1871  //   The requested operation would cause a conflict with the current state of
  1872  //   a service resource associated with the request. Resolve the conflict before
  1873  //   retrying this request.
  1874  //
  1875  //   * TaggingFailedException
  1876  //   The requested tagging operation did not succeed. This may be due to invalid
  1877  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  1878  //   before retrying.
  1879  //
  1880  //   * InternalServiceException
  1881  //   The service encountered an unrecoverable internal failure while processing
  1882  //   the request. Clients can retry such requests immediately or after a waiting
  1883  //   period.
  1884  //
  1885  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateScript
  1886  func (c *GameLift) CreateScript(input *CreateScriptInput) (*CreateScriptOutput, error) {
  1887  	req, out := c.CreateScriptRequest(input)
  1888  	return out, req.Send()
  1889  }
  1890  
  1891  // CreateScriptWithContext is the same as CreateScript with the addition of
  1892  // the ability to pass a context and additional request options.
  1893  //
  1894  // See CreateScript for details on how to use this API operation.
  1895  //
  1896  // The context must be non-nil and will be used for request cancellation. If
  1897  // the context is nil a panic will occur. In the future the SDK may create
  1898  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1899  // for more information on using Contexts.
  1900  func (c *GameLift) CreateScriptWithContext(ctx aws.Context, input *CreateScriptInput, opts ...request.Option) (*CreateScriptOutput, error) {
  1901  	req, out := c.CreateScriptRequest(input)
  1902  	req.SetContext(ctx)
  1903  	req.ApplyOptions(opts...)
  1904  	return out, req.Send()
  1905  }
  1906  
  1907  const opCreateVpcPeeringAuthorization = "CreateVpcPeeringAuthorization"
  1908  
  1909  // CreateVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
  1910  // client's request for the CreateVpcPeeringAuthorization operation. The "output" return
  1911  // value will be populated with the request's response once the request completes
  1912  // successfully.
  1913  //
  1914  // Use "Send" method on the returned Request to send the API call to the service.
  1915  // the "output" return value is not valid until after Send returns without error.
  1916  //
  1917  // See CreateVpcPeeringAuthorization for more information on using the CreateVpcPeeringAuthorization
  1918  // API call, and error handling.
  1919  //
  1920  // This method is useful when you want to inject custom logic or configuration
  1921  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1922  //
  1923  //
  1924  //    // Example sending a request using the CreateVpcPeeringAuthorizationRequest method.
  1925  //    req, resp := client.CreateVpcPeeringAuthorizationRequest(params)
  1926  //
  1927  //    err := req.Send()
  1928  //    if err == nil { // resp is now filled
  1929  //        fmt.Println(resp)
  1930  //    }
  1931  //
  1932  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
  1933  func (c *GameLift) CreateVpcPeeringAuthorizationRequest(input *CreateVpcPeeringAuthorizationInput) (req *request.Request, output *CreateVpcPeeringAuthorizationOutput) {
  1934  	op := &request.Operation{
  1935  		Name:       opCreateVpcPeeringAuthorization,
  1936  		HTTPMethod: "POST",
  1937  		HTTPPath:   "/",
  1938  	}
  1939  
  1940  	if input == nil {
  1941  		input = &CreateVpcPeeringAuthorizationInput{}
  1942  	}
  1943  
  1944  	output = &CreateVpcPeeringAuthorizationOutput{}
  1945  	req = c.newRequest(op, input, output)
  1946  	return
  1947  }
  1948  
  1949  // CreateVpcPeeringAuthorization API operation for Amazon GameLift.
  1950  //
  1951  // Requests authorization to create or delete a peer connection between the
  1952  // VPC for your Amazon GameLift fleet and a virtual private cloud (VPC) in your
  1953  // AWS account. VPC peering enables the game servers on your fleet to communicate
  1954  // directly with other AWS resources. Once you've received authorization, call
  1955  // CreateVpcPeeringConnection to establish the peering connection. For more
  1956  // information, see VPC Peering with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
  1957  //
  1958  // You can peer with VPCs that are owned by any AWS account you have access
  1959  // to, including the account that you use to manage your Amazon GameLift fleets.
  1960  // You cannot peer with VPCs that are in different Regions.
  1961  //
  1962  // To request authorization to create a connection, call this operation from
  1963  // the AWS account with the VPC that you want to peer to your Amazon GameLift
  1964  // fleet. For example, to enable your game servers to retrieve data from a DynamoDB
  1965  // table, use the account that manages that DynamoDB resource. Identify the
  1966  // following values: (1) The ID of the VPC that you want to peer with, and (2)
  1967  // the ID of the AWS account that you use to manage Amazon GameLift. If successful,
  1968  // VPC peering is authorized for the specified VPC.
  1969  //
  1970  // To request authorization to delete a connection, call this operation from
  1971  // the AWS account with the VPC that is peered with your Amazon GameLift fleet.
  1972  // Identify the following values: (1) VPC ID that you want to delete the peering
  1973  // connection for, and (2) ID of the AWS account that you use to manage Amazon
  1974  // GameLift.
  1975  //
  1976  // The authorization remains valid for 24 hours unless it is canceled by a call
  1977  // to DeleteVpcPeeringAuthorization. You must create or delete the peering connection
  1978  // while the authorization is valid.
  1979  //
  1980  // Related actions
  1981  //
  1982  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
  1983  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
  1984  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  1985  //
  1986  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1987  // with awserr.Error's Code and Message methods to get detailed information about
  1988  // the error.
  1989  //
  1990  // See the AWS API reference guide for Amazon GameLift's
  1991  // API operation CreateVpcPeeringAuthorization for usage and error information.
  1992  //
  1993  // Returned Error Types:
  1994  //   * UnauthorizedException
  1995  //   The client failed authentication. Clients should not retry such requests.
  1996  //
  1997  //   * InvalidRequestException
  1998  //   One or more parameter values in the request are invalid. Correct the invalid
  1999  //   parameter values before retrying.
  2000  //
  2001  //   * NotFoundException
  2002  //   A service resource associated with the request could not be found. Clients
  2003  //   should not retry such requests.
  2004  //
  2005  //   * InternalServiceException
  2006  //   The service encountered an unrecoverable internal failure while processing
  2007  //   the request. Clients can retry such requests immediately or after a waiting
  2008  //   period.
  2009  //
  2010  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringAuthorization
  2011  func (c *GameLift) CreateVpcPeeringAuthorization(input *CreateVpcPeeringAuthorizationInput) (*CreateVpcPeeringAuthorizationOutput, error) {
  2012  	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
  2013  	return out, req.Send()
  2014  }
  2015  
  2016  // CreateVpcPeeringAuthorizationWithContext is the same as CreateVpcPeeringAuthorization with the addition of
  2017  // the ability to pass a context and additional request options.
  2018  //
  2019  // See CreateVpcPeeringAuthorization for details on how to use this API operation.
  2020  //
  2021  // The context must be non-nil and will be used for request cancellation. If
  2022  // the context is nil a panic will occur. In the future the SDK may create
  2023  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2024  // for more information on using Contexts.
  2025  func (c *GameLift) CreateVpcPeeringAuthorizationWithContext(ctx aws.Context, input *CreateVpcPeeringAuthorizationInput, opts ...request.Option) (*CreateVpcPeeringAuthorizationOutput, error) {
  2026  	req, out := c.CreateVpcPeeringAuthorizationRequest(input)
  2027  	req.SetContext(ctx)
  2028  	req.ApplyOptions(opts...)
  2029  	return out, req.Send()
  2030  }
  2031  
  2032  const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
  2033  
  2034  // CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  2035  // client's request for the CreateVpcPeeringConnection operation. The "output" return
  2036  // value will be populated with the request's response once the request completes
  2037  // successfully.
  2038  //
  2039  // Use "Send" method on the returned Request to send the API call to the service.
  2040  // the "output" return value is not valid until after Send returns without error.
  2041  //
  2042  // See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
  2043  // API call, and error handling.
  2044  //
  2045  // This method is useful when you want to inject custom logic or configuration
  2046  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2047  //
  2048  //
  2049  //    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
  2050  //    req, resp := client.CreateVpcPeeringConnectionRequest(params)
  2051  //
  2052  //    err := req.Send()
  2053  //    if err == nil { // resp is now filled
  2054  //        fmt.Println(resp)
  2055  //    }
  2056  //
  2057  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
  2058  func (c *GameLift) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
  2059  	op := &request.Operation{
  2060  		Name:       opCreateVpcPeeringConnection,
  2061  		HTTPMethod: "POST",
  2062  		HTTPPath:   "/",
  2063  	}
  2064  
  2065  	if input == nil {
  2066  		input = &CreateVpcPeeringConnectionInput{}
  2067  	}
  2068  
  2069  	output = &CreateVpcPeeringConnectionOutput{}
  2070  	req = c.newRequest(op, input, output)
  2071  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2072  	return
  2073  }
  2074  
  2075  // CreateVpcPeeringConnection API operation for Amazon GameLift.
  2076  //
  2077  // Establishes a VPC peering connection between a virtual private cloud (VPC)
  2078  // in an AWS account with the VPC for your Amazon GameLift fleet. VPC peering
  2079  // enables the game servers on your fleet to communicate directly with other
  2080  // AWS resources. You can peer with VPCs in any AWS account that you have access
  2081  // to, including the account that you use to manage your Amazon GameLift fleets.
  2082  // You cannot peer with VPCs that are in different Regions. For more information,
  2083  // see VPC Peering with Amazon GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
  2084  //
  2085  // Before calling this operation to establish the peering connection, you first
  2086  // need to call CreateVpcPeeringAuthorization and identify the VPC you want
  2087  // to peer with. Once the authorization for the specified VPC is issued, you
  2088  // have 24 hours to establish the connection. These two operations handle all
  2089  // tasks necessary to peer the two VPCs, including acceptance, updating routing
  2090  // tables, etc.
  2091  //
  2092  // To establish the connection, call this operation from the AWS account that
  2093  // is used to manage the Amazon GameLift fleets. Identify the following values:
  2094  // (1) The ID of the fleet you want to be enable a VPC peering connection for;
  2095  // (2) The AWS account with the VPC that you want to peer with; and (3) The
  2096  // ID of the VPC you want to peer with. This operation is asynchronous. If successful,
  2097  // a VpcPeeringConnection request is created. You can use continuous polling
  2098  // to track the request's status using DescribeVpcPeeringConnections, or by
  2099  // monitoring fleet events for success or failure using DescribeFleetEvents.
  2100  //
  2101  // Related actions
  2102  //
  2103  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
  2104  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
  2105  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  2106  //
  2107  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2108  // with awserr.Error's Code and Message methods to get detailed information about
  2109  // the error.
  2110  //
  2111  // See the AWS API reference guide for Amazon GameLift's
  2112  // API operation CreateVpcPeeringConnection for usage and error information.
  2113  //
  2114  // Returned Error Types:
  2115  //   * UnauthorizedException
  2116  //   The client failed authentication. Clients should not retry such requests.
  2117  //
  2118  //   * InvalidRequestException
  2119  //   One or more parameter values in the request are invalid. Correct the invalid
  2120  //   parameter values before retrying.
  2121  //
  2122  //   * NotFoundException
  2123  //   A service resource associated with the request could not be found. Clients
  2124  //   should not retry such requests.
  2125  //
  2126  //   * InternalServiceException
  2127  //   The service encountered an unrecoverable internal failure while processing
  2128  //   the request. Clients can retry such requests immediately or after a waiting
  2129  //   period.
  2130  //
  2131  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateVpcPeeringConnection
  2132  func (c *GameLift) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
  2133  	req, out := c.CreateVpcPeeringConnectionRequest(input)
  2134  	return out, req.Send()
  2135  }
  2136  
  2137  // CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
  2138  // the ability to pass a context and additional request options.
  2139  //
  2140  // See CreateVpcPeeringConnection for details on how to use this API operation.
  2141  //
  2142  // The context must be non-nil and will be used for request cancellation. If
  2143  // the context is nil a panic will occur. In the future the SDK may create
  2144  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2145  // for more information on using Contexts.
  2146  func (c *GameLift) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
  2147  	req, out := c.CreateVpcPeeringConnectionRequest(input)
  2148  	req.SetContext(ctx)
  2149  	req.ApplyOptions(opts...)
  2150  	return out, req.Send()
  2151  }
  2152  
  2153  const opDeleteAlias = "DeleteAlias"
  2154  
  2155  // DeleteAliasRequest generates a "aws/request.Request" representing the
  2156  // client's request for the DeleteAlias operation. The "output" return
  2157  // value will be populated with the request's response once the request completes
  2158  // successfully.
  2159  //
  2160  // Use "Send" method on the returned Request to send the API call to the service.
  2161  // the "output" return value is not valid until after Send returns without error.
  2162  //
  2163  // See DeleteAlias for more information on using the DeleteAlias
  2164  // API call, and error handling.
  2165  //
  2166  // This method is useful when you want to inject custom logic or configuration
  2167  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2168  //
  2169  //
  2170  //    // Example sending a request using the DeleteAliasRequest method.
  2171  //    req, resp := client.DeleteAliasRequest(params)
  2172  //
  2173  //    err := req.Send()
  2174  //    if err == nil { // resp is now filled
  2175  //        fmt.Println(resp)
  2176  //    }
  2177  //
  2178  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
  2179  func (c *GameLift) DeleteAliasRequest(input *DeleteAliasInput) (req *request.Request, output *DeleteAliasOutput) {
  2180  	op := &request.Operation{
  2181  		Name:       opDeleteAlias,
  2182  		HTTPMethod: "POST",
  2183  		HTTPPath:   "/",
  2184  	}
  2185  
  2186  	if input == nil {
  2187  		input = &DeleteAliasInput{}
  2188  	}
  2189  
  2190  	output = &DeleteAliasOutput{}
  2191  	req = c.newRequest(op, input, output)
  2192  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2193  	return
  2194  }
  2195  
  2196  // DeleteAlias API operation for Amazon GameLift.
  2197  //
  2198  // Deletes an alias. This operation removes all record of the alias. Game clients
  2199  // attempting to access a server process using the deleted alias receive an
  2200  // error. To delete an alias, specify the alias ID to be deleted.
  2201  //
  2202  // Related actions
  2203  //
  2204  // CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
  2205  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  2206  //
  2207  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2208  // with awserr.Error's Code and Message methods to get detailed information about
  2209  // the error.
  2210  //
  2211  // See the AWS API reference guide for Amazon GameLift's
  2212  // API operation DeleteAlias for usage and error information.
  2213  //
  2214  // Returned Error Types:
  2215  //   * UnauthorizedException
  2216  //   The client failed authentication. Clients should not retry such requests.
  2217  //
  2218  //   * NotFoundException
  2219  //   A service resource associated with the request could not be found. Clients
  2220  //   should not retry such requests.
  2221  //
  2222  //   * InvalidRequestException
  2223  //   One or more parameter values in the request are invalid. Correct the invalid
  2224  //   parameter values before retrying.
  2225  //
  2226  //   * TaggingFailedException
  2227  //   The requested tagging operation did not succeed. This may be due to invalid
  2228  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  2229  //   before retrying.
  2230  //
  2231  //   * InternalServiceException
  2232  //   The service encountered an unrecoverable internal failure while processing
  2233  //   the request. Clients can retry such requests immediately or after a waiting
  2234  //   period.
  2235  //
  2236  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteAlias
  2237  func (c *GameLift) DeleteAlias(input *DeleteAliasInput) (*DeleteAliasOutput, error) {
  2238  	req, out := c.DeleteAliasRequest(input)
  2239  	return out, req.Send()
  2240  }
  2241  
  2242  // DeleteAliasWithContext is the same as DeleteAlias with the addition of
  2243  // the ability to pass a context and additional request options.
  2244  //
  2245  // See DeleteAlias for details on how to use this API operation.
  2246  //
  2247  // The context must be non-nil and will be used for request cancellation. If
  2248  // the context is nil a panic will occur. In the future the SDK may create
  2249  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2250  // for more information on using Contexts.
  2251  func (c *GameLift) DeleteAliasWithContext(ctx aws.Context, input *DeleteAliasInput, opts ...request.Option) (*DeleteAliasOutput, error) {
  2252  	req, out := c.DeleteAliasRequest(input)
  2253  	req.SetContext(ctx)
  2254  	req.ApplyOptions(opts...)
  2255  	return out, req.Send()
  2256  }
  2257  
  2258  const opDeleteBuild = "DeleteBuild"
  2259  
  2260  // DeleteBuildRequest generates a "aws/request.Request" representing the
  2261  // client's request for the DeleteBuild operation. The "output" return
  2262  // value will be populated with the request's response once the request completes
  2263  // successfully.
  2264  //
  2265  // Use "Send" method on the returned Request to send the API call to the service.
  2266  // the "output" return value is not valid until after Send returns without error.
  2267  //
  2268  // See DeleteBuild for more information on using the DeleteBuild
  2269  // API call, and error handling.
  2270  //
  2271  // This method is useful when you want to inject custom logic or configuration
  2272  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2273  //
  2274  //
  2275  //    // Example sending a request using the DeleteBuildRequest method.
  2276  //    req, resp := client.DeleteBuildRequest(params)
  2277  //
  2278  //    err := req.Send()
  2279  //    if err == nil { // resp is now filled
  2280  //        fmt.Println(resp)
  2281  //    }
  2282  //
  2283  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
  2284  func (c *GameLift) DeleteBuildRequest(input *DeleteBuildInput) (req *request.Request, output *DeleteBuildOutput) {
  2285  	op := &request.Operation{
  2286  		Name:       opDeleteBuild,
  2287  		HTTPMethod: "POST",
  2288  		HTTPPath:   "/",
  2289  	}
  2290  
  2291  	if input == nil {
  2292  		input = &DeleteBuildInput{}
  2293  	}
  2294  
  2295  	output = &DeleteBuildOutput{}
  2296  	req = c.newRequest(op, input, output)
  2297  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2298  	return
  2299  }
  2300  
  2301  // DeleteBuild API operation for Amazon GameLift.
  2302  //
  2303  // Deletes a build. This operation permanently deletes the build resource and
  2304  // any uploaded build files. Deleting a build does not affect the status of
  2305  // any active fleets using the build, but you can no longer create new fleets
  2306  // with the deleted build.
  2307  //
  2308  // To delete a build, specify the build ID.
  2309  //
  2310  // Learn more
  2311  //
  2312  //  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
  2313  //
  2314  // Related actions
  2315  //
  2316  // CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
  2317  // APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  2318  //
  2319  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2320  // with awserr.Error's Code and Message methods to get detailed information about
  2321  // the error.
  2322  //
  2323  // See the AWS API reference guide for Amazon GameLift's
  2324  // API operation DeleteBuild for usage and error information.
  2325  //
  2326  // Returned Error Types:
  2327  //   * UnauthorizedException
  2328  //   The client failed authentication. Clients should not retry such requests.
  2329  //
  2330  //   * NotFoundException
  2331  //   A service resource associated with the request could not be found. Clients
  2332  //   should not retry such requests.
  2333  //
  2334  //   * InternalServiceException
  2335  //   The service encountered an unrecoverable internal failure while processing
  2336  //   the request. Clients can retry such requests immediately or after a waiting
  2337  //   period.
  2338  //
  2339  //   * TaggingFailedException
  2340  //   The requested tagging operation did not succeed. This may be due to invalid
  2341  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  2342  //   before retrying.
  2343  //
  2344  //   * InvalidRequestException
  2345  //   One or more parameter values in the request are invalid. Correct the invalid
  2346  //   parameter values before retrying.
  2347  //
  2348  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteBuild
  2349  func (c *GameLift) DeleteBuild(input *DeleteBuildInput) (*DeleteBuildOutput, error) {
  2350  	req, out := c.DeleteBuildRequest(input)
  2351  	return out, req.Send()
  2352  }
  2353  
  2354  // DeleteBuildWithContext is the same as DeleteBuild with the addition of
  2355  // the ability to pass a context and additional request options.
  2356  //
  2357  // See DeleteBuild for details on how to use this API operation.
  2358  //
  2359  // The context must be non-nil and will be used for request cancellation. If
  2360  // the context is nil a panic will occur. In the future the SDK may create
  2361  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2362  // for more information on using Contexts.
  2363  func (c *GameLift) DeleteBuildWithContext(ctx aws.Context, input *DeleteBuildInput, opts ...request.Option) (*DeleteBuildOutput, error) {
  2364  	req, out := c.DeleteBuildRequest(input)
  2365  	req.SetContext(ctx)
  2366  	req.ApplyOptions(opts...)
  2367  	return out, req.Send()
  2368  }
  2369  
  2370  const opDeleteFleet = "DeleteFleet"
  2371  
  2372  // DeleteFleetRequest generates a "aws/request.Request" representing the
  2373  // client's request for the DeleteFleet operation. The "output" return
  2374  // value will be populated with the request's response once the request completes
  2375  // successfully.
  2376  //
  2377  // Use "Send" method on the returned Request to send the API call to the service.
  2378  // the "output" return value is not valid until after Send returns without error.
  2379  //
  2380  // See DeleteFleet for more information on using the DeleteFleet
  2381  // API call, and error handling.
  2382  //
  2383  // This method is useful when you want to inject custom logic or configuration
  2384  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2385  //
  2386  //
  2387  //    // Example sending a request using the DeleteFleetRequest method.
  2388  //    req, resp := client.DeleteFleetRequest(params)
  2389  //
  2390  //    err := req.Send()
  2391  //    if err == nil { // resp is now filled
  2392  //        fmt.Println(resp)
  2393  //    }
  2394  //
  2395  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
  2396  func (c *GameLift) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
  2397  	op := &request.Operation{
  2398  		Name:       opDeleteFleet,
  2399  		HTTPMethod: "POST",
  2400  		HTTPPath:   "/",
  2401  	}
  2402  
  2403  	if input == nil {
  2404  		input = &DeleteFleetInput{}
  2405  	}
  2406  
  2407  	output = &DeleteFleetOutput{}
  2408  	req = c.newRequest(op, input, output)
  2409  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2410  	return
  2411  }
  2412  
  2413  // DeleteFleet API operation for Amazon GameLift.
  2414  //
  2415  // Deletes all resources and information related a fleet. Any current fleet
  2416  // instances, including those in remote locations, are shut down. You don't
  2417  // need to call DeleteFleetLocations separately.
  2418  //
  2419  // If the fleet being deleted has a VPC peering connection, you first need to
  2420  // get a valid authorization (good for 24 hours) by calling CreateVpcPeeringAuthorization.
  2421  // You do not need to explicitly delete the VPC peering connection--this is
  2422  // done as part of the delete fleet process.
  2423  //
  2424  // To delete a fleet, specify the fleet ID to be terminated. During the deletion
  2425  // process the fleet status is changed to DELETING. When completed, the status
  2426  // switches to TERMINATED and the fleet event FLEET_DELETED is sent.
  2427  //
  2428  // Learn more
  2429  //
  2430  // Setting up GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  2431  //
  2432  // Related actions
  2433  //
  2434  // CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
  2435  // | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
  2436  // | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
  2437  // task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  2438  //
  2439  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2440  // with awserr.Error's Code and Message methods to get detailed information about
  2441  // the error.
  2442  //
  2443  // See the AWS API reference guide for Amazon GameLift's
  2444  // API operation DeleteFleet for usage and error information.
  2445  //
  2446  // Returned Error Types:
  2447  //   * NotFoundException
  2448  //   A service resource associated with the request could not be found. Clients
  2449  //   should not retry such requests.
  2450  //
  2451  //   * InternalServiceException
  2452  //   The service encountered an unrecoverable internal failure while processing
  2453  //   the request. Clients can retry such requests immediately or after a waiting
  2454  //   period.
  2455  //
  2456  //   * InvalidFleetStatusException
  2457  //   The requested operation would cause a conflict with the current state of
  2458  //   a resource associated with the request and/or the fleet. Resolve the conflict
  2459  //   before retrying.
  2460  //
  2461  //   * UnauthorizedException
  2462  //   The client failed authentication. Clients should not retry such requests.
  2463  //
  2464  //   * InvalidRequestException
  2465  //   One or more parameter values in the request are invalid. Correct the invalid
  2466  //   parameter values before retrying.
  2467  //
  2468  //   * TaggingFailedException
  2469  //   The requested tagging operation did not succeed. This may be due to invalid
  2470  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  2471  //   before retrying.
  2472  //
  2473  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleet
  2474  func (c *GameLift) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
  2475  	req, out := c.DeleteFleetRequest(input)
  2476  	return out, req.Send()
  2477  }
  2478  
  2479  // DeleteFleetWithContext is the same as DeleteFleet with the addition of
  2480  // the ability to pass a context and additional request options.
  2481  //
  2482  // See DeleteFleet for details on how to use this API operation.
  2483  //
  2484  // The context must be non-nil and will be used for request cancellation. If
  2485  // the context is nil a panic will occur. In the future the SDK may create
  2486  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2487  // for more information on using Contexts.
  2488  func (c *GameLift) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
  2489  	req, out := c.DeleteFleetRequest(input)
  2490  	req.SetContext(ctx)
  2491  	req.ApplyOptions(opts...)
  2492  	return out, req.Send()
  2493  }
  2494  
  2495  const opDeleteFleetLocations = "DeleteFleetLocations"
  2496  
  2497  // DeleteFleetLocationsRequest generates a "aws/request.Request" representing the
  2498  // client's request for the DeleteFleetLocations operation. The "output" return
  2499  // value will be populated with the request's response once the request completes
  2500  // successfully.
  2501  //
  2502  // Use "Send" method on the returned Request to send the API call to the service.
  2503  // the "output" return value is not valid until after Send returns without error.
  2504  //
  2505  // See DeleteFleetLocations for more information on using the DeleteFleetLocations
  2506  // API call, and error handling.
  2507  //
  2508  // This method is useful when you want to inject custom logic or configuration
  2509  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2510  //
  2511  //
  2512  //    // Example sending a request using the DeleteFleetLocationsRequest method.
  2513  //    req, resp := client.DeleteFleetLocationsRequest(params)
  2514  //
  2515  //    err := req.Send()
  2516  //    if err == nil { // resp is now filled
  2517  //        fmt.Println(resp)
  2518  //    }
  2519  //
  2520  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleetLocations
  2521  func (c *GameLift) DeleteFleetLocationsRequest(input *DeleteFleetLocationsInput) (req *request.Request, output *DeleteFleetLocationsOutput) {
  2522  	op := &request.Operation{
  2523  		Name:       opDeleteFleetLocations,
  2524  		HTTPMethod: "POST",
  2525  		HTTPPath:   "/",
  2526  	}
  2527  
  2528  	if input == nil {
  2529  		input = &DeleteFleetLocationsInput{}
  2530  	}
  2531  
  2532  	output = &DeleteFleetLocationsOutput{}
  2533  	req = c.newRequest(op, input, output)
  2534  	return
  2535  }
  2536  
  2537  // DeleteFleetLocations API operation for Amazon GameLift.
  2538  //
  2539  // Removes locations from a multi-location fleet. When deleting a location,
  2540  // all game server process and all instances that are still active in the location
  2541  // are shut down.
  2542  //
  2543  // To delete fleet locations, identify the fleet ID and provide a list of the
  2544  // locations to be deleted.
  2545  //
  2546  // If successful, GameLift sets the location status to DELETING, and begins
  2547  // to shut down existing server processes and terminate instances in each location
  2548  // being deleted. When completed, the location status changes to TERMINATED.
  2549  //
  2550  // Learn more
  2551  //
  2552  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  2553  //
  2554  // Related actions
  2555  //
  2556  // CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
  2557  // | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
  2558  // | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
  2559  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  2560  //
  2561  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2562  // with awserr.Error's Code and Message methods to get detailed information about
  2563  // the error.
  2564  //
  2565  // See the AWS API reference guide for Amazon GameLift's
  2566  // API operation DeleteFleetLocations for usage and error information.
  2567  //
  2568  // Returned Error Types:
  2569  //   * InternalServiceException
  2570  //   The service encountered an unrecoverable internal failure while processing
  2571  //   the request. Clients can retry such requests immediately or after a waiting
  2572  //   period.
  2573  //
  2574  //   * InvalidRequestException
  2575  //   One or more parameter values in the request are invalid. Correct the invalid
  2576  //   parameter values before retrying.
  2577  //
  2578  //   * UnauthorizedException
  2579  //   The client failed authentication. Clients should not retry such requests.
  2580  //
  2581  //   * NotFoundException
  2582  //   A service resource associated with the request could not be found. Clients
  2583  //   should not retry such requests.
  2584  //
  2585  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteFleetLocations
  2586  func (c *GameLift) DeleteFleetLocations(input *DeleteFleetLocationsInput) (*DeleteFleetLocationsOutput, error) {
  2587  	req, out := c.DeleteFleetLocationsRequest(input)
  2588  	return out, req.Send()
  2589  }
  2590  
  2591  // DeleteFleetLocationsWithContext is the same as DeleteFleetLocations with the addition of
  2592  // the ability to pass a context and additional request options.
  2593  //
  2594  // See DeleteFleetLocations for details on how to use this API operation.
  2595  //
  2596  // The context must be non-nil and will be used for request cancellation. If
  2597  // the context is nil a panic will occur. In the future the SDK may create
  2598  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2599  // for more information on using Contexts.
  2600  func (c *GameLift) DeleteFleetLocationsWithContext(ctx aws.Context, input *DeleteFleetLocationsInput, opts ...request.Option) (*DeleteFleetLocationsOutput, error) {
  2601  	req, out := c.DeleteFleetLocationsRequest(input)
  2602  	req.SetContext(ctx)
  2603  	req.ApplyOptions(opts...)
  2604  	return out, req.Send()
  2605  }
  2606  
  2607  const opDeleteGameServerGroup = "DeleteGameServerGroup"
  2608  
  2609  // DeleteGameServerGroupRequest generates a "aws/request.Request" representing the
  2610  // client's request for the DeleteGameServerGroup operation. The "output" return
  2611  // value will be populated with the request's response once the request completes
  2612  // successfully.
  2613  //
  2614  // Use "Send" method on the returned Request to send the API call to the service.
  2615  // the "output" return value is not valid until after Send returns without error.
  2616  //
  2617  // See DeleteGameServerGroup for more information on using the DeleteGameServerGroup
  2618  // API call, and error handling.
  2619  //
  2620  // This method is useful when you want to inject custom logic or configuration
  2621  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2622  //
  2623  //
  2624  //    // Example sending a request using the DeleteGameServerGroupRequest method.
  2625  //    req, resp := client.DeleteGameServerGroupRequest(params)
  2626  //
  2627  //    err := req.Send()
  2628  //    if err == nil { // resp is now filled
  2629  //        fmt.Println(resp)
  2630  //    }
  2631  //
  2632  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameServerGroup
  2633  func (c *GameLift) DeleteGameServerGroupRequest(input *DeleteGameServerGroupInput) (req *request.Request, output *DeleteGameServerGroupOutput) {
  2634  	op := &request.Operation{
  2635  		Name:       opDeleteGameServerGroup,
  2636  		HTTPMethod: "POST",
  2637  		HTTPPath:   "/",
  2638  	}
  2639  
  2640  	if input == nil {
  2641  		input = &DeleteGameServerGroupInput{}
  2642  	}
  2643  
  2644  	output = &DeleteGameServerGroupOutput{}
  2645  	req = c.newRequest(op, input, output)
  2646  	return
  2647  }
  2648  
  2649  // DeleteGameServerGroup API operation for Amazon GameLift.
  2650  //
  2651  // This operation is used with the GameLift FleetIQ solution and game server
  2652  // groups.
  2653  //
  2654  // Terminates a game server group and permanently deletes the game server group
  2655  // record. You have several options for how these resources are impacted when
  2656  // deleting the game server group. Depending on the type of delete operation
  2657  // selected, this operation might affect these resources:
  2658  //
  2659  //    * The game server group
  2660  //
  2661  //    * The corresponding Auto Scaling group
  2662  //
  2663  //    * All game servers that are currently running in the group
  2664  //
  2665  // To delete a game server group, identify the game server group to delete and
  2666  // specify the type of delete operation to initiate. Game server groups can
  2667  // only be deleted if they are in ACTIVE or ERROR status.
  2668  //
  2669  // If the delete request is successful, a series of operations are kicked off.
  2670  // The game server group status is changed to DELETE_SCHEDULED, which prevents
  2671  // new game servers from being registered and stops automatic scaling activity.
  2672  // Once all game servers in the game server group are deregistered, GameLift
  2673  // FleetIQ can begin deleting resources. If any of the delete operations fail,
  2674  // the game server group is placed in ERROR status.
  2675  //
  2676  // GameLift FleetIQ emits delete events to Amazon CloudWatch.
  2677  //
  2678  // Learn more
  2679  //
  2680  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  2681  //
  2682  // Related actions
  2683  //
  2684  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
  2685  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
  2686  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  2687  //
  2688  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2689  // with awserr.Error's Code and Message methods to get detailed information about
  2690  // the error.
  2691  //
  2692  // See the AWS API reference guide for Amazon GameLift's
  2693  // API operation DeleteGameServerGroup for usage and error information.
  2694  //
  2695  // Returned Error Types:
  2696  //   * InvalidRequestException
  2697  //   One or more parameter values in the request are invalid. Correct the invalid
  2698  //   parameter values before retrying.
  2699  //
  2700  //   * NotFoundException
  2701  //   A service resource associated with the request could not be found. Clients
  2702  //   should not retry such requests.
  2703  //
  2704  //   * UnauthorizedException
  2705  //   The client failed authentication. Clients should not retry such requests.
  2706  //
  2707  //   * InternalServiceException
  2708  //   The service encountered an unrecoverable internal failure while processing
  2709  //   the request. Clients can retry such requests immediately or after a waiting
  2710  //   period.
  2711  //
  2712  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameServerGroup
  2713  func (c *GameLift) DeleteGameServerGroup(input *DeleteGameServerGroupInput) (*DeleteGameServerGroupOutput, error) {
  2714  	req, out := c.DeleteGameServerGroupRequest(input)
  2715  	return out, req.Send()
  2716  }
  2717  
  2718  // DeleteGameServerGroupWithContext is the same as DeleteGameServerGroup with the addition of
  2719  // the ability to pass a context and additional request options.
  2720  //
  2721  // See DeleteGameServerGroup for details on how to use this API operation.
  2722  //
  2723  // The context must be non-nil and will be used for request cancellation. If
  2724  // the context is nil a panic will occur. In the future the SDK may create
  2725  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2726  // for more information on using Contexts.
  2727  func (c *GameLift) DeleteGameServerGroupWithContext(ctx aws.Context, input *DeleteGameServerGroupInput, opts ...request.Option) (*DeleteGameServerGroupOutput, error) {
  2728  	req, out := c.DeleteGameServerGroupRequest(input)
  2729  	req.SetContext(ctx)
  2730  	req.ApplyOptions(opts...)
  2731  	return out, req.Send()
  2732  }
  2733  
  2734  const opDeleteGameSessionQueue = "DeleteGameSessionQueue"
  2735  
  2736  // DeleteGameSessionQueueRequest generates a "aws/request.Request" representing the
  2737  // client's request for the DeleteGameSessionQueue operation. The "output" return
  2738  // value will be populated with the request's response once the request completes
  2739  // successfully.
  2740  //
  2741  // Use "Send" method on the returned Request to send the API call to the service.
  2742  // the "output" return value is not valid until after Send returns without error.
  2743  //
  2744  // See DeleteGameSessionQueue for more information on using the DeleteGameSessionQueue
  2745  // API call, and error handling.
  2746  //
  2747  // This method is useful when you want to inject custom logic or configuration
  2748  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2749  //
  2750  //
  2751  //    // Example sending a request using the DeleteGameSessionQueueRequest method.
  2752  //    req, resp := client.DeleteGameSessionQueueRequest(params)
  2753  //
  2754  //    err := req.Send()
  2755  //    if err == nil { // resp is now filled
  2756  //        fmt.Println(resp)
  2757  //    }
  2758  //
  2759  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
  2760  func (c *GameLift) DeleteGameSessionQueueRequest(input *DeleteGameSessionQueueInput) (req *request.Request, output *DeleteGameSessionQueueOutput) {
  2761  	op := &request.Operation{
  2762  		Name:       opDeleteGameSessionQueue,
  2763  		HTTPMethod: "POST",
  2764  		HTTPPath:   "/",
  2765  	}
  2766  
  2767  	if input == nil {
  2768  		input = &DeleteGameSessionQueueInput{}
  2769  	}
  2770  
  2771  	output = &DeleteGameSessionQueueOutput{}
  2772  	req = c.newRequest(op, input, output)
  2773  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2774  	return
  2775  }
  2776  
  2777  // DeleteGameSessionQueue API operation for Amazon GameLift.
  2778  //
  2779  // Deletes a game session queue. Once a queue is successfully deleted, unfulfilled
  2780  // StartGameSessionPlacement requests that reference the queue will fail. To
  2781  // delete a queue, specify the queue name.
  2782  //
  2783  // Learn more
  2784  //
  2785  //  Using Multi-Region Queues (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html)
  2786  //
  2787  // Related actions
  2788  //
  2789  // CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
  2790  // | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  2791  //
  2792  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2793  // with awserr.Error's Code and Message methods to get detailed information about
  2794  // the error.
  2795  //
  2796  // See the AWS API reference guide for Amazon GameLift's
  2797  // API operation DeleteGameSessionQueue for usage and error information.
  2798  //
  2799  // Returned Error Types:
  2800  //   * InternalServiceException
  2801  //   The service encountered an unrecoverable internal failure while processing
  2802  //   the request. Clients can retry such requests immediately or after a waiting
  2803  //   period.
  2804  //
  2805  //   * InvalidRequestException
  2806  //   One or more parameter values in the request are invalid. Correct the invalid
  2807  //   parameter values before retrying.
  2808  //
  2809  //   * NotFoundException
  2810  //   A service resource associated with the request could not be found. Clients
  2811  //   should not retry such requests.
  2812  //
  2813  //   * UnauthorizedException
  2814  //   The client failed authentication. Clients should not retry such requests.
  2815  //
  2816  //   * TaggingFailedException
  2817  //   The requested tagging operation did not succeed. This may be due to invalid
  2818  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  2819  //   before retrying.
  2820  //
  2821  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameSessionQueue
  2822  func (c *GameLift) DeleteGameSessionQueue(input *DeleteGameSessionQueueInput) (*DeleteGameSessionQueueOutput, error) {
  2823  	req, out := c.DeleteGameSessionQueueRequest(input)
  2824  	return out, req.Send()
  2825  }
  2826  
  2827  // DeleteGameSessionQueueWithContext is the same as DeleteGameSessionQueue with the addition of
  2828  // the ability to pass a context and additional request options.
  2829  //
  2830  // See DeleteGameSessionQueue for details on how to use this API operation.
  2831  //
  2832  // The context must be non-nil and will be used for request cancellation. If
  2833  // the context is nil a panic will occur. In the future the SDK may create
  2834  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2835  // for more information on using Contexts.
  2836  func (c *GameLift) DeleteGameSessionQueueWithContext(ctx aws.Context, input *DeleteGameSessionQueueInput, opts ...request.Option) (*DeleteGameSessionQueueOutput, error) {
  2837  	req, out := c.DeleteGameSessionQueueRequest(input)
  2838  	req.SetContext(ctx)
  2839  	req.ApplyOptions(opts...)
  2840  	return out, req.Send()
  2841  }
  2842  
  2843  const opDeleteMatchmakingConfiguration = "DeleteMatchmakingConfiguration"
  2844  
  2845  // DeleteMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
  2846  // client's request for the DeleteMatchmakingConfiguration operation. The "output" return
  2847  // value will be populated with the request's response once the request completes
  2848  // successfully.
  2849  //
  2850  // Use "Send" method on the returned Request to send the API call to the service.
  2851  // the "output" return value is not valid until after Send returns without error.
  2852  //
  2853  // See DeleteMatchmakingConfiguration for more information on using the DeleteMatchmakingConfiguration
  2854  // API call, and error handling.
  2855  //
  2856  // This method is useful when you want to inject custom logic or configuration
  2857  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2858  //
  2859  //
  2860  //    // Example sending a request using the DeleteMatchmakingConfigurationRequest method.
  2861  //    req, resp := client.DeleteMatchmakingConfigurationRequest(params)
  2862  //
  2863  //    err := req.Send()
  2864  //    if err == nil { // resp is now filled
  2865  //        fmt.Println(resp)
  2866  //    }
  2867  //
  2868  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
  2869  func (c *GameLift) DeleteMatchmakingConfigurationRequest(input *DeleteMatchmakingConfigurationInput) (req *request.Request, output *DeleteMatchmakingConfigurationOutput) {
  2870  	op := &request.Operation{
  2871  		Name:       opDeleteMatchmakingConfiguration,
  2872  		HTTPMethod: "POST",
  2873  		HTTPPath:   "/",
  2874  	}
  2875  
  2876  	if input == nil {
  2877  		input = &DeleteMatchmakingConfigurationInput{}
  2878  	}
  2879  
  2880  	output = &DeleteMatchmakingConfigurationOutput{}
  2881  	req = c.newRequest(op, input, output)
  2882  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2883  	return
  2884  }
  2885  
  2886  // DeleteMatchmakingConfiguration API operation for Amazon GameLift.
  2887  //
  2888  // Permanently removes a FlexMatch matchmaking configuration. To delete, specify
  2889  // the configuration name. A matchmaking configuration cannot be deleted if
  2890  // it is being used in any active matchmaking tickets.
  2891  //
  2892  // Related actions
  2893  //
  2894  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
  2895  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
  2896  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
  2897  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  2898  //
  2899  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2900  // with awserr.Error's Code and Message methods to get detailed information about
  2901  // the error.
  2902  //
  2903  // See the AWS API reference guide for Amazon GameLift's
  2904  // API operation DeleteMatchmakingConfiguration for usage and error information.
  2905  //
  2906  // Returned Error Types:
  2907  //   * InvalidRequestException
  2908  //   One or more parameter values in the request are invalid. Correct the invalid
  2909  //   parameter values before retrying.
  2910  //
  2911  //   * NotFoundException
  2912  //   A service resource associated with the request could not be found. Clients
  2913  //   should not retry such requests.
  2914  //
  2915  //   * InternalServiceException
  2916  //   The service encountered an unrecoverable internal failure while processing
  2917  //   the request. Clients can retry such requests immediately or after a waiting
  2918  //   period.
  2919  //
  2920  //   * UnsupportedRegionException
  2921  //   The requested operation is not supported in the Region specified.
  2922  //
  2923  //   * TaggingFailedException
  2924  //   The requested tagging operation did not succeed. This may be due to invalid
  2925  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  2926  //   before retrying.
  2927  //
  2928  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingConfiguration
  2929  func (c *GameLift) DeleteMatchmakingConfiguration(input *DeleteMatchmakingConfigurationInput) (*DeleteMatchmakingConfigurationOutput, error) {
  2930  	req, out := c.DeleteMatchmakingConfigurationRequest(input)
  2931  	return out, req.Send()
  2932  }
  2933  
  2934  // DeleteMatchmakingConfigurationWithContext is the same as DeleteMatchmakingConfiguration with the addition of
  2935  // the ability to pass a context and additional request options.
  2936  //
  2937  // See DeleteMatchmakingConfiguration for details on how to use this API operation.
  2938  //
  2939  // The context must be non-nil and will be used for request cancellation. If
  2940  // the context is nil a panic will occur. In the future the SDK may create
  2941  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2942  // for more information on using Contexts.
  2943  func (c *GameLift) DeleteMatchmakingConfigurationWithContext(ctx aws.Context, input *DeleteMatchmakingConfigurationInput, opts ...request.Option) (*DeleteMatchmakingConfigurationOutput, error) {
  2944  	req, out := c.DeleteMatchmakingConfigurationRequest(input)
  2945  	req.SetContext(ctx)
  2946  	req.ApplyOptions(opts...)
  2947  	return out, req.Send()
  2948  }
  2949  
  2950  const opDeleteMatchmakingRuleSet = "DeleteMatchmakingRuleSet"
  2951  
  2952  // DeleteMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
  2953  // client's request for the DeleteMatchmakingRuleSet operation. The "output" return
  2954  // value will be populated with the request's response once the request completes
  2955  // successfully.
  2956  //
  2957  // Use "Send" method on the returned Request to send the API call to the service.
  2958  // the "output" return value is not valid until after Send returns without error.
  2959  //
  2960  // See DeleteMatchmakingRuleSet for more information on using the DeleteMatchmakingRuleSet
  2961  // API call, and error handling.
  2962  //
  2963  // This method is useful when you want to inject custom logic or configuration
  2964  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2965  //
  2966  //
  2967  //    // Example sending a request using the DeleteMatchmakingRuleSetRequest method.
  2968  //    req, resp := client.DeleteMatchmakingRuleSetRequest(params)
  2969  //
  2970  //    err := req.Send()
  2971  //    if err == nil { // resp is now filled
  2972  //        fmt.Println(resp)
  2973  //    }
  2974  //
  2975  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingRuleSet
  2976  func (c *GameLift) DeleteMatchmakingRuleSetRequest(input *DeleteMatchmakingRuleSetInput) (req *request.Request, output *DeleteMatchmakingRuleSetOutput) {
  2977  	op := &request.Operation{
  2978  		Name:       opDeleteMatchmakingRuleSet,
  2979  		HTTPMethod: "POST",
  2980  		HTTPPath:   "/",
  2981  	}
  2982  
  2983  	if input == nil {
  2984  		input = &DeleteMatchmakingRuleSetInput{}
  2985  	}
  2986  
  2987  	output = &DeleteMatchmakingRuleSetOutput{}
  2988  	req = c.newRequest(op, input, output)
  2989  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2990  	return
  2991  }
  2992  
  2993  // DeleteMatchmakingRuleSet API operation for Amazon GameLift.
  2994  //
  2995  // Deletes an existing matchmaking rule set. To delete the rule set, provide
  2996  // the rule set name. Rule sets cannot be deleted if they are currently being
  2997  // used by a matchmaking configuration.
  2998  //
  2999  // Learn more
  3000  //
  3001  //    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
  3002  //
  3003  // Related actions
  3004  //
  3005  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
  3006  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
  3007  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
  3008  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3009  //
  3010  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3011  // with awserr.Error's Code and Message methods to get detailed information about
  3012  // the error.
  3013  //
  3014  // See the AWS API reference guide for Amazon GameLift's
  3015  // API operation DeleteMatchmakingRuleSet for usage and error information.
  3016  //
  3017  // Returned Error Types:
  3018  //   * InvalidRequestException
  3019  //   One or more parameter values in the request are invalid. Correct the invalid
  3020  //   parameter values before retrying.
  3021  //
  3022  //   * InternalServiceException
  3023  //   The service encountered an unrecoverable internal failure while processing
  3024  //   the request. Clients can retry such requests immediately or after a waiting
  3025  //   period.
  3026  //
  3027  //   * UnsupportedRegionException
  3028  //   The requested operation is not supported in the Region specified.
  3029  //
  3030  //   * NotFoundException
  3031  //   A service resource associated with the request could not be found. Clients
  3032  //   should not retry such requests.
  3033  //
  3034  //   * TaggingFailedException
  3035  //   The requested tagging operation did not succeed. This may be due to invalid
  3036  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  3037  //   before retrying.
  3038  //
  3039  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteMatchmakingRuleSet
  3040  func (c *GameLift) DeleteMatchmakingRuleSet(input *DeleteMatchmakingRuleSetInput) (*DeleteMatchmakingRuleSetOutput, error) {
  3041  	req, out := c.DeleteMatchmakingRuleSetRequest(input)
  3042  	return out, req.Send()
  3043  }
  3044  
  3045  // DeleteMatchmakingRuleSetWithContext is the same as DeleteMatchmakingRuleSet with the addition of
  3046  // the ability to pass a context and additional request options.
  3047  //
  3048  // See DeleteMatchmakingRuleSet for details on how to use this API operation.
  3049  //
  3050  // The context must be non-nil and will be used for request cancellation. If
  3051  // the context is nil a panic will occur. In the future the SDK may create
  3052  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3053  // for more information on using Contexts.
  3054  func (c *GameLift) DeleteMatchmakingRuleSetWithContext(ctx aws.Context, input *DeleteMatchmakingRuleSetInput, opts ...request.Option) (*DeleteMatchmakingRuleSetOutput, error) {
  3055  	req, out := c.DeleteMatchmakingRuleSetRequest(input)
  3056  	req.SetContext(ctx)
  3057  	req.ApplyOptions(opts...)
  3058  	return out, req.Send()
  3059  }
  3060  
  3061  const opDeleteScalingPolicy = "DeleteScalingPolicy"
  3062  
  3063  // DeleteScalingPolicyRequest generates a "aws/request.Request" representing the
  3064  // client's request for the DeleteScalingPolicy operation. The "output" return
  3065  // value will be populated with the request's response once the request completes
  3066  // successfully.
  3067  //
  3068  // Use "Send" method on the returned Request to send the API call to the service.
  3069  // the "output" return value is not valid until after Send returns without error.
  3070  //
  3071  // See DeleteScalingPolicy for more information on using the DeleteScalingPolicy
  3072  // API call, and error handling.
  3073  //
  3074  // This method is useful when you want to inject custom logic or configuration
  3075  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3076  //
  3077  //
  3078  //    // Example sending a request using the DeleteScalingPolicyRequest method.
  3079  //    req, resp := client.DeleteScalingPolicyRequest(params)
  3080  //
  3081  //    err := req.Send()
  3082  //    if err == nil { // resp is now filled
  3083  //        fmt.Println(resp)
  3084  //    }
  3085  //
  3086  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
  3087  func (c *GameLift) DeleteScalingPolicyRequest(input *DeleteScalingPolicyInput) (req *request.Request, output *DeleteScalingPolicyOutput) {
  3088  	op := &request.Operation{
  3089  		Name:       opDeleteScalingPolicy,
  3090  		HTTPMethod: "POST",
  3091  		HTTPPath:   "/",
  3092  	}
  3093  
  3094  	if input == nil {
  3095  		input = &DeleteScalingPolicyInput{}
  3096  	}
  3097  
  3098  	output = &DeleteScalingPolicyOutput{}
  3099  	req = c.newRequest(op, input, output)
  3100  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3101  	return
  3102  }
  3103  
  3104  // DeleteScalingPolicy API operation for Amazon GameLift.
  3105  //
  3106  // Deletes a fleet scaling policy. Once deleted, the policy is no longer in
  3107  // force and GameLift removes all record of it. To delete a scaling policy,
  3108  // specify both the scaling policy name and the fleet ID it is associated with.
  3109  //
  3110  // To temporarily suspend scaling policies, call StopFleetActions. This operation
  3111  // suspends all policies for the fleet.
  3112  //
  3113  // Related actions
  3114  //
  3115  // DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
  3116  // PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
  3117  // | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3118  //
  3119  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3120  // with awserr.Error's Code and Message methods to get detailed information about
  3121  // the error.
  3122  //
  3123  // See the AWS API reference guide for Amazon GameLift's
  3124  // API operation DeleteScalingPolicy for usage and error information.
  3125  //
  3126  // Returned Error Types:
  3127  //   * InternalServiceException
  3128  //   The service encountered an unrecoverable internal failure while processing
  3129  //   the request. Clients can retry such requests immediately or after a waiting
  3130  //   period.
  3131  //
  3132  //   * InvalidRequestException
  3133  //   One or more parameter values in the request are invalid. Correct the invalid
  3134  //   parameter values before retrying.
  3135  //
  3136  //   * UnauthorizedException
  3137  //   The client failed authentication. Clients should not retry such requests.
  3138  //
  3139  //   * NotFoundException
  3140  //   A service resource associated with the request could not be found. Clients
  3141  //   should not retry such requests.
  3142  //
  3143  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScalingPolicy
  3144  func (c *GameLift) DeleteScalingPolicy(input *DeleteScalingPolicyInput) (*DeleteScalingPolicyOutput, error) {
  3145  	req, out := c.DeleteScalingPolicyRequest(input)
  3146  	return out, req.Send()
  3147  }
  3148  
  3149  // DeleteScalingPolicyWithContext is the same as DeleteScalingPolicy with the addition of
  3150  // the ability to pass a context and additional request options.
  3151  //
  3152  // See DeleteScalingPolicy for details on how to use this API operation.
  3153  //
  3154  // The context must be non-nil and will be used for request cancellation. If
  3155  // the context is nil a panic will occur. In the future the SDK may create
  3156  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3157  // for more information on using Contexts.
  3158  func (c *GameLift) DeleteScalingPolicyWithContext(ctx aws.Context, input *DeleteScalingPolicyInput, opts ...request.Option) (*DeleteScalingPolicyOutput, error) {
  3159  	req, out := c.DeleteScalingPolicyRequest(input)
  3160  	req.SetContext(ctx)
  3161  	req.ApplyOptions(opts...)
  3162  	return out, req.Send()
  3163  }
  3164  
  3165  const opDeleteScript = "DeleteScript"
  3166  
  3167  // DeleteScriptRequest generates a "aws/request.Request" representing the
  3168  // client's request for the DeleteScript operation. The "output" return
  3169  // value will be populated with the request's response once the request completes
  3170  // successfully.
  3171  //
  3172  // Use "Send" method on the returned Request to send the API call to the service.
  3173  // the "output" return value is not valid until after Send returns without error.
  3174  //
  3175  // See DeleteScript for more information on using the DeleteScript
  3176  // API call, and error handling.
  3177  //
  3178  // This method is useful when you want to inject custom logic or configuration
  3179  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3180  //
  3181  //
  3182  //    // Example sending a request using the DeleteScriptRequest method.
  3183  //    req, resp := client.DeleteScriptRequest(params)
  3184  //
  3185  //    err := req.Send()
  3186  //    if err == nil { // resp is now filled
  3187  //        fmt.Println(resp)
  3188  //    }
  3189  //
  3190  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScript
  3191  func (c *GameLift) DeleteScriptRequest(input *DeleteScriptInput) (req *request.Request, output *DeleteScriptOutput) {
  3192  	op := &request.Operation{
  3193  		Name:       opDeleteScript,
  3194  		HTTPMethod: "POST",
  3195  		HTTPPath:   "/",
  3196  	}
  3197  
  3198  	if input == nil {
  3199  		input = &DeleteScriptInput{}
  3200  	}
  3201  
  3202  	output = &DeleteScriptOutput{}
  3203  	req = c.newRequest(op, input, output)
  3204  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3205  	return
  3206  }
  3207  
  3208  // DeleteScript API operation for Amazon GameLift.
  3209  //
  3210  // Deletes a Realtime script. This operation permanently deletes the script
  3211  // record. If script files were uploaded, they are also deleted (files stored
  3212  // in an S3 bucket are not deleted).
  3213  //
  3214  // To delete a script, specify the script ID. Before deleting a script, be sure
  3215  // to terminate all fleets that are deployed with the script being deleted.
  3216  // Fleet instances periodically check for script updates, and if the script
  3217  // record no longer exists, the instance will go into an error state and be
  3218  // unable to host game sessions.
  3219  //
  3220  // Learn more
  3221  //
  3222  // Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
  3223  //
  3224  // Related actions
  3225  //
  3226  // CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
  3227  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3228  //
  3229  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3230  // with awserr.Error's Code and Message methods to get detailed information about
  3231  // the error.
  3232  //
  3233  // See the AWS API reference guide for Amazon GameLift's
  3234  // API operation DeleteScript for usage and error information.
  3235  //
  3236  // Returned Error Types:
  3237  //   * InvalidRequestException
  3238  //   One or more parameter values in the request are invalid. Correct the invalid
  3239  //   parameter values before retrying.
  3240  //
  3241  //   * UnauthorizedException
  3242  //   The client failed authentication. Clients should not retry such requests.
  3243  //
  3244  //   * NotFoundException
  3245  //   A service resource associated with the request could not be found. Clients
  3246  //   should not retry such requests.
  3247  //
  3248  //   * TaggingFailedException
  3249  //   The requested tagging operation did not succeed. This may be due to invalid
  3250  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  3251  //   before retrying.
  3252  //
  3253  //   * InternalServiceException
  3254  //   The service encountered an unrecoverable internal failure while processing
  3255  //   the request. Clients can retry such requests immediately or after a waiting
  3256  //   period.
  3257  //
  3258  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteScript
  3259  func (c *GameLift) DeleteScript(input *DeleteScriptInput) (*DeleteScriptOutput, error) {
  3260  	req, out := c.DeleteScriptRequest(input)
  3261  	return out, req.Send()
  3262  }
  3263  
  3264  // DeleteScriptWithContext is the same as DeleteScript with the addition of
  3265  // the ability to pass a context and additional request options.
  3266  //
  3267  // See DeleteScript for details on how to use this API operation.
  3268  //
  3269  // The context must be non-nil and will be used for request cancellation. If
  3270  // the context is nil a panic will occur. In the future the SDK may create
  3271  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3272  // for more information on using Contexts.
  3273  func (c *GameLift) DeleteScriptWithContext(ctx aws.Context, input *DeleteScriptInput, opts ...request.Option) (*DeleteScriptOutput, error) {
  3274  	req, out := c.DeleteScriptRequest(input)
  3275  	req.SetContext(ctx)
  3276  	req.ApplyOptions(opts...)
  3277  	return out, req.Send()
  3278  }
  3279  
  3280  const opDeleteVpcPeeringAuthorization = "DeleteVpcPeeringAuthorization"
  3281  
  3282  // DeleteVpcPeeringAuthorizationRequest generates a "aws/request.Request" representing the
  3283  // client's request for the DeleteVpcPeeringAuthorization operation. The "output" return
  3284  // value will be populated with the request's response once the request completes
  3285  // successfully.
  3286  //
  3287  // Use "Send" method on the returned Request to send the API call to the service.
  3288  // the "output" return value is not valid until after Send returns without error.
  3289  //
  3290  // See DeleteVpcPeeringAuthorization for more information on using the DeleteVpcPeeringAuthorization
  3291  // API call, and error handling.
  3292  //
  3293  // This method is useful when you want to inject custom logic or configuration
  3294  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3295  //
  3296  //
  3297  //    // Example sending a request using the DeleteVpcPeeringAuthorizationRequest method.
  3298  //    req, resp := client.DeleteVpcPeeringAuthorizationRequest(params)
  3299  //
  3300  //    err := req.Send()
  3301  //    if err == nil { // resp is now filled
  3302  //        fmt.Println(resp)
  3303  //    }
  3304  //
  3305  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
  3306  func (c *GameLift) DeleteVpcPeeringAuthorizationRequest(input *DeleteVpcPeeringAuthorizationInput) (req *request.Request, output *DeleteVpcPeeringAuthorizationOutput) {
  3307  	op := &request.Operation{
  3308  		Name:       opDeleteVpcPeeringAuthorization,
  3309  		HTTPMethod: "POST",
  3310  		HTTPPath:   "/",
  3311  	}
  3312  
  3313  	if input == nil {
  3314  		input = &DeleteVpcPeeringAuthorizationInput{}
  3315  	}
  3316  
  3317  	output = &DeleteVpcPeeringAuthorizationOutput{}
  3318  	req = c.newRequest(op, input, output)
  3319  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3320  	return
  3321  }
  3322  
  3323  // DeleteVpcPeeringAuthorization API operation for Amazon GameLift.
  3324  //
  3325  // Cancels a pending VPC peering authorization for the specified VPC. If you
  3326  // need to delete an existing VPC peering connection, call DeleteVpcPeeringConnection.
  3327  //
  3328  // Related actions
  3329  //
  3330  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
  3331  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
  3332  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3333  //
  3334  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3335  // with awserr.Error's Code and Message methods to get detailed information about
  3336  // the error.
  3337  //
  3338  // See the AWS API reference guide for Amazon GameLift's
  3339  // API operation DeleteVpcPeeringAuthorization for usage and error information.
  3340  //
  3341  // Returned Error Types:
  3342  //   * UnauthorizedException
  3343  //   The client failed authentication. Clients should not retry such requests.
  3344  //
  3345  //   * InvalidRequestException
  3346  //   One or more parameter values in the request are invalid. Correct the invalid
  3347  //   parameter values before retrying.
  3348  //
  3349  //   * NotFoundException
  3350  //   A service resource associated with the request could not be found. Clients
  3351  //   should not retry such requests.
  3352  //
  3353  //   * InternalServiceException
  3354  //   The service encountered an unrecoverable internal failure while processing
  3355  //   the request. Clients can retry such requests immediately or after a waiting
  3356  //   period.
  3357  //
  3358  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringAuthorization
  3359  func (c *GameLift) DeleteVpcPeeringAuthorization(input *DeleteVpcPeeringAuthorizationInput) (*DeleteVpcPeeringAuthorizationOutput, error) {
  3360  	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
  3361  	return out, req.Send()
  3362  }
  3363  
  3364  // DeleteVpcPeeringAuthorizationWithContext is the same as DeleteVpcPeeringAuthorization with the addition of
  3365  // the ability to pass a context and additional request options.
  3366  //
  3367  // See DeleteVpcPeeringAuthorization for details on how to use this API operation.
  3368  //
  3369  // The context must be non-nil and will be used for request cancellation. If
  3370  // the context is nil a panic will occur. In the future the SDK may create
  3371  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3372  // for more information on using Contexts.
  3373  func (c *GameLift) DeleteVpcPeeringAuthorizationWithContext(ctx aws.Context, input *DeleteVpcPeeringAuthorizationInput, opts ...request.Option) (*DeleteVpcPeeringAuthorizationOutput, error) {
  3374  	req, out := c.DeleteVpcPeeringAuthorizationRequest(input)
  3375  	req.SetContext(ctx)
  3376  	req.ApplyOptions(opts...)
  3377  	return out, req.Send()
  3378  }
  3379  
  3380  const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
  3381  
  3382  // DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
  3383  // client's request for the DeleteVpcPeeringConnection operation. The "output" return
  3384  // value will be populated with the request's response once the request completes
  3385  // successfully.
  3386  //
  3387  // Use "Send" method on the returned Request to send the API call to the service.
  3388  // the "output" return value is not valid until after Send returns without error.
  3389  //
  3390  // See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
  3391  // API call, and error handling.
  3392  //
  3393  // This method is useful when you want to inject custom logic or configuration
  3394  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3395  //
  3396  //
  3397  //    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
  3398  //    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
  3399  //
  3400  //    err := req.Send()
  3401  //    if err == nil { // resp is now filled
  3402  //        fmt.Println(resp)
  3403  //    }
  3404  //
  3405  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
  3406  func (c *GameLift) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
  3407  	op := &request.Operation{
  3408  		Name:       opDeleteVpcPeeringConnection,
  3409  		HTTPMethod: "POST",
  3410  		HTTPPath:   "/",
  3411  	}
  3412  
  3413  	if input == nil {
  3414  		input = &DeleteVpcPeeringConnectionInput{}
  3415  	}
  3416  
  3417  	output = &DeleteVpcPeeringConnectionOutput{}
  3418  	req = c.newRequest(op, input, output)
  3419  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3420  	return
  3421  }
  3422  
  3423  // DeleteVpcPeeringConnection API operation for Amazon GameLift.
  3424  //
  3425  // Removes a VPC peering connection. To delete the connection, you must have
  3426  // a valid authorization for the VPC peering connection that you want to delete.
  3427  // You can check for an authorization by calling DescribeVpcPeeringAuthorizations
  3428  // or request a new one using CreateVpcPeeringAuthorization.
  3429  //
  3430  // Once a valid authorization exists, call this operation from the AWS account
  3431  // that is used to manage the Amazon GameLift fleets. Identify the connection
  3432  // to delete by the connection ID and fleet ID. If successful, the connection
  3433  // is removed.
  3434  //
  3435  // Related actions
  3436  //
  3437  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
  3438  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
  3439  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3440  //
  3441  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3442  // with awserr.Error's Code and Message methods to get detailed information about
  3443  // the error.
  3444  //
  3445  // See the AWS API reference guide for Amazon GameLift's
  3446  // API operation DeleteVpcPeeringConnection for usage and error information.
  3447  //
  3448  // Returned Error Types:
  3449  //   * UnauthorizedException
  3450  //   The client failed authentication. Clients should not retry such requests.
  3451  //
  3452  //   * InvalidRequestException
  3453  //   One or more parameter values in the request are invalid. Correct the invalid
  3454  //   parameter values before retrying.
  3455  //
  3456  //   * NotFoundException
  3457  //   A service resource associated with the request could not be found. Clients
  3458  //   should not retry such requests.
  3459  //
  3460  //   * InternalServiceException
  3461  //   The service encountered an unrecoverable internal failure while processing
  3462  //   the request. Clients can retry such requests immediately or after a waiting
  3463  //   period.
  3464  //
  3465  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteVpcPeeringConnection
  3466  func (c *GameLift) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
  3467  	req, out := c.DeleteVpcPeeringConnectionRequest(input)
  3468  	return out, req.Send()
  3469  }
  3470  
  3471  // DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
  3472  // the ability to pass a context and additional request options.
  3473  //
  3474  // See DeleteVpcPeeringConnection for details on how to use this API operation.
  3475  //
  3476  // The context must be non-nil and will be used for request cancellation. If
  3477  // the context is nil a panic will occur. In the future the SDK may create
  3478  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3479  // for more information on using Contexts.
  3480  func (c *GameLift) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
  3481  	req, out := c.DeleteVpcPeeringConnectionRequest(input)
  3482  	req.SetContext(ctx)
  3483  	req.ApplyOptions(opts...)
  3484  	return out, req.Send()
  3485  }
  3486  
  3487  const opDeregisterGameServer = "DeregisterGameServer"
  3488  
  3489  // DeregisterGameServerRequest generates a "aws/request.Request" representing the
  3490  // client's request for the DeregisterGameServer operation. The "output" return
  3491  // value will be populated with the request's response once the request completes
  3492  // successfully.
  3493  //
  3494  // Use "Send" method on the returned Request to send the API call to the service.
  3495  // the "output" return value is not valid until after Send returns without error.
  3496  //
  3497  // See DeregisterGameServer for more information on using the DeregisterGameServer
  3498  // API call, and error handling.
  3499  //
  3500  // This method is useful when you want to inject custom logic or configuration
  3501  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3502  //
  3503  //
  3504  //    // Example sending a request using the DeregisterGameServerRequest method.
  3505  //    req, resp := client.DeregisterGameServerRequest(params)
  3506  //
  3507  //    err := req.Send()
  3508  //    if err == nil { // resp is now filled
  3509  //        fmt.Println(resp)
  3510  //    }
  3511  //
  3512  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeregisterGameServer
  3513  func (c *GameLift) DeregisterGameServerRequest(input *DeregisterGameServerInput) (req *request.Request, output *DeregisterGameServerOutput) {
  3514  	op := &request.Operation{
  3515  		Name:       opDeregisterGameServer,
  3516  		HTTPMethod: "POST",
  3517  		HTTPPath:   "/",
  3518  	}
  3519  
  3520  	if input == nil {
  3521  		input = &DeregisterGameServerInput{}
  3522  	}
  3523  
  3524  	output = &DeregisterGameServerOutput{}
  3525  	req = c.newRequest(op, input, output)
  3526  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3527  	return
  3528  }
  3529  
  3530  // DeregisterGameServer API operation for Amazon GameLift.
  3531  //
  3532  // This operation is used with the GameLift FleetIQ solution and game server
  3533  // groups.
  3534  //
  3535  // Removes the game server from a game server group. As a result of this operation,
  3536  // the deregistered game server can no longer be claimed and will not be returned
  3537  // in a list of active game servers.
  3538  //
  3539  // To deregister a game server, specify the game server group and game server
  3540  // ID. If successful, this operation emits a CloudWatch event with termination
  3541  // timestamp and reason.
  3542  //
  3543  // Learn more
  3544  //
  3545  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  3546  //
  3547  // Related actions
  3548  //
  3549  // RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
  3550  // | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  3551  //
  3552  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3553  // with awserr.Error's Code and Message methods to get detailed information about
  3554  // the error.
  3555  //
  3556  // See the AWS API reference guide for Amazon GameLift's
  3557  // API operation DeregisterGameServer for usage and error information.
  3558  //
  3559  // Returned Error Types:
  3560  //   * InvalidRequestException
  3561  //   One or more parameter values in the request are invalid. Correct the invalid
  3562  //   parameter values before retrying.
  3563  //
  3564  //   * NotFoundException
  3565  //   A service resource associated with the request could not be found. Clients
  3566  //   should not retry such requests.
  3567  //
  3568  //   * UnauthorizedException
  3569  //   The client failed authentication. Clients should not retry such requests.
  3570  //
  3571  //   * InternalServiceException
  3572  //   The service encountered an unrecoverable internal failure while processing
  3573  //   the request. Clients can retry such requests immediately or after a waiting
  3574  //   period.
  3575  //
  3576  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeregisterGameServer
  3577  func (c *GameLift) DeregisterGameServer(input *DeregisterGameServerInput) (*DeregisterGameServerOutput, error) {
  3578  	req, out := c.DeregisterGameServerRequest(input)
  3579  	return out, req.Send()
  3580  }
  3581  
  3582  // DeregisterGameServerWithContext is the same as DeregisterGameServer with the addition of
  3583  // the ability to pass a context and additional request options.
  3584  //
  3585  // See DeregisterGameServer for details on how to use this API operation.
  3586  //
  3587  // The context must be non-nil and will be used for request cancellation. If
  3588  // the context is nil a panic will occur. In the future the SDK may create
  3589  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3590  // for more information on using Contexts.
  3591  func (c *GameLift) DeregisterGameServerWithContext(ctx aws.Context, input *DeregisterGameServerInput, opts ...request.Option) (*DeregisterGameServerOutput, error) {
  3592  	req, out := c.DeregisterGameServerRequest(input)
  3593  	req.SetContext(ctx)
  3594  	req.ApplyOptions(opts...)
  3595  	return out, req.Send()
  3596  }
  3597  
  3598  const opDescribeAlias = "DescribeAlias"
  3599  
  3600  // DescribeAliasRequest generates a "aws/request.Request" representing the
  3601  // client's request for the DescribeAlias operation. The "output" return
  3602  // value will be populated with the request's response once the request completes
  3603  // successfully.
  3604  //
  3605  // Use "Send" method on the returned Request to send the API call to the service.
  3606  // the "output" return value is not valid until after Send returns without error.
  3607  //
  3608  // See DescribeAlias for more information on using the DescribeAlias
  3609  // API call, and error handling.
  3610  //
  3611  // This method is useful when you want to inject custom logic or configuration
  3612  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3613  //
  3614  //
  3615  //    // Example sending a request using the DescribeAliasRequest method.
  3616  //    req, resp := client.DescribeAliasRequest(params)
  3617  //
  3618  //    err := req.Send()
  3619  //    if err == nil { // resp is now filled
  3620  //        fmt.Println(resp)
  3621  //    }
  3622  //
  3623  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
  3624  func (c *GameLift) DescribeAliasRequest(input *DescribeAliasInput) (req *request.Request, output *DescribeAliasOutput) {
  3625  	op := &request.Operation{
  3626  		Name:       opDescribeAlias,
  3627  		HTTPMethod: "POST",
  3628  		HTTPPath:   "/",
  3629  	}
  3630  
  3631  	if input == nil {
  3632  		input = &DescribeAliasInput{}
  3633  	}
  3634  
  3635  	output = &DescribeAliasOutput{}
  3636  	req = c.newRequest(op, input, output)
  3637  	return
  3638  }
  3639  
  3640  // DescribeAlias API operation for Amazon GameLift.
  3641  //
  3642  // Retrieves properties for an alias. This operation returns all alias metadata
  3643  // and settings. To get an alias's target fleet ID only, use ResolveAlias.
  3644  //
  3645  // To get alias properties, specify the alias ID. If successful, the requested
  3646  // alias record is returned.
  3647  //
  3648  // Related actions
  3649  //
  3650  // CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
  3651  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3652  //
  3653  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3654  // with awserr.Error's Code and Message methods to get detailed information about
  3655  // the error.
  3656  //
  3657  // See the AWS API reference guide for Amazon GameLift's
  3658  // API operation DescribeAlias for usage and error information.
  3659  //
  3660  // Returned Error Types:
  3661  //   * UnauthorizedException
  3662  //   The client failed authentication. Clients should not retry such requests.
  3663  //
  3664  //   * InvalidRequestException
  3665  //   One or more parameter values in the request are invalid. Correct the invalid
  3666  //   parameter values before retrying.
  3667  //
  3668  //   * NotFoundException
  3669  //   A service resource associated with the request could not be found. Clients
  3670  //   should not retry such requests.
  3671  //
  3672  //   * InternalServiceException
  3673  //   The service encountered an unrecoverable internal failure while processing
  3674  //   the request. Clients can retry such requests immediately or after a waiting
  3675  //   period.
  3676  //
  3677  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeAlias
  3678  func (c *GameLift) DescribeAlias(input *DescribeAliasInput) (*DescribeAliasOutput, error) {
  3679  	req, out := c.DescribeAliasRequest(input)
  3680  	return out, req.Send()
  3681  }
  3682  
  3683  // DescribeAliasWithContext is the same as DescribeAlias with the addition of
  3684  // the ability to pass a context and additional request options.
  3685  //
  3686  // See DescribeAlias for details on how to use this API operation.
  3687  //
  3688  // The context must be non-nil and will be used for request cancellation. If
  3689  // the context is nil a panic will occur. In the future the SDK may create
  3690  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3691  // for more information on using Contexts.
  3692  func (c *GameLift) DescribeAliasWithContext(ctx aws.Context, input *DescribeAliasInput, opts ...request.Option) (*DescribeAliasOutput, error) {
  3693  	req, out := c.DescribeAliasRequest(input)
  3694  	req.SetContext(ctx)
  3695  	req.ApplyOptions(opts...)
  3696  	return out, req.Send()
  3697  }
  3698  
  3699  const opDescribeBuild = "DescribeBuild"
  3700  
  3701  // DescribeBuildRequest generates a "aws/request.Request" representing the
  3702  // client's request for the DescribeBuild operation. The "output" return
  3703  // value will be populated with the request's response once the request completes
  3704  // successfully.
  3705  //
  3706  // Use "Send" method on the returned Request to send the API call to the service.
  3707  // the "output" return value is not valid until after Send returns without error.
  3708  //
  3709  // See DescribeBuild for more information on using the DescribeBuild
  3710  // API call, and error handling.
  3711  //
  3712  // This method is useful when you want to inject custom logic or configuration
  3713  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3714  //
  3715  //
  3716  //    // Example sending a request using the DescribeBuildRequest method.
  3717  //    req, resp := client.DescribeBuildRequest(params)
  3718  //
  3719  //    err := req.Send()
  3720  //    if err == nil { // resp is now filled
  3721  //        fmt.Println(resp)
  3722  //    }
  3723  //
  3724  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
  3725  func (c *GameLift) DescribeBuildRequest(input *DescribeBuildInput) (req *request.Request, output *DescribeBuildOutput) {
  3726  	op := &request.Operation{
  3727  		Name:       opDescribeBuild,
  3728  		HTTPMethod: "POST",
  3729  		HTTPPath:   "/",
  3730  	}
  3731  
  3732  	if input == nil {
  3733  		input = &DescribeBuildInput{}
  3734  	}
  3735  
  3736  	output = &DescribeBuildOutput{}
  3737  	req = c.newRequest(op, input, output)
  3738  	return
  3739  }
  3740  
  3741  // DescribeBuild API operation for Amazon GameLift.
  3742  //
  3743  // Retrieves properties for a custom game build. To request a build resource,
  3744  // specify a build ID. If successful, an object containing the build properties
  3745  // is returned.
  3746  //
  3747  // Learn more
  3748  //
  3749  //  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
  3750  //
  3751  // Related actions
  3752  //
  3753  // CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
  3754  // APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3755  //
  3756  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3757  // with awserr.Error's Code and Message methods to get detailed information about
  3758  // the error.
  3759  //
  3760  // See the AWS API reference guide for Amazon GameLift's
  3761  // API operation DescribeBuild for usage and error information.
  3762  //
  3763  // Returned Error Types:
  3764  //   * UnauthorizedException
  3765  //   The client failed authentication. Clients should not retry such requests.
  3766  //
  3767  //   * InvalidRequestException
  3768  //   One or more parameter values in the request are invalid. Correct the invalid
  3769  //   parameter values before retrying.
  3770  //
  3771  //   * NotFoundException
  3772  //   A service resource associated with the request could not be found. Clients
  3773  //   should not retry such requests.
  3774  //
  3775  //   * InternalServiceException
  3776  //   The service encountered an unrecoverable internal failure while processing
  3777  //   the request. Clients can retry such requests immediately or after a waiting
  3778  //   period.
  3779  //
  3780  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeBuild
  3781  func (c *GameLift) DescribeBuild(input *DescribeBuildInput) (*DescribeBuildOutput, error) {
  3782  	req, out := c.DescribeBuildRequest(input)
  3783  	return out, req.Send()
  3784  }
  3785  
  3786  // DescribeBuildWithContext is the same as DescribeBuild with the addition of
  3787  // the ability to pass a context and additional request options.
  3788  //
  3789  // See DescribeBuild for details on how to use this API operation.
  3790  //
  3791  // The context must be non-nil and will be used for request cancellation. If
  3792  // the context is nil a panic will occur. In the future the SDK may create
  3793  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3794  // for more information on using Contexts.
  3795  func (c *GameLift) DescribeBuildWithContext(ctx aws.Context, input *DescribeBuildInput, opts ...request.Option) (*DescribeBuildOutput, error) {
  3796  	req, out := c.DescribeBuildRequest(input)
  3797  	req.SetContext(ctx)
  3798  	req.ApplyOptions(opts...)
  3799  	return out, req.Send()
  3800  }
  3801  
  3802  const opDescribeEC2InstanceLimits = "DescribeEC2InstanceLimits"
  3803  
  3804  // DescribeEC2InstanceLimitsRequest generates a "aws/request.Request" representing the
  3805  // client's request for the DescribeEC2InstanceLimits operation. The "output" return
  3806  // value will be populated with the request's response once the request completes
  3807  // successfully.
  3808  //
  3809  // Use "Send" method on the returned Request to send the API call to the service.
  3810  // the "output" return value is not valid until after Send returns without error.
  3811  //
  3812  // See DescribeEC2InstanceLimits for more information on using the DescribeEC2InstanceLimits
  3813  // API call, and error handling.
  3814  //
  3815  // This method is useful when you want to inject custom logic or configuration
  3816  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3817  //
  3818  //
  3819  //    // Example sending a request using the DescribeEC2InstanceLimitsRequest method.
  3820  //    req, resp := client.DescribeEC2InstanceLimitsRequest(params)
  3821  //
  3822  //    err := req.Send()
  3823  //    if err == nil { // resp is now filled
  3824  //        fmt.Println(resp)
  3825  //    }
  3826  //
  3827  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
  3828  func (c *GameLift) DescribeEC2InstanceLimitsRequest(input *DescribeEC2InstanceLimitsInput) (req *request.Request, output *DescribeEC2InstanceLimitsOutput) {
  3829  	op := &request.Operation{
  3830  		Name:       opDescribeEC2InstanceLimits,
  3831  		HTTPMethod: "POST",
  3832  		HTTPPath:   "/",
  3833  	}
  3834  
  3835  	if input == nil {
  3836  		input = &DescribeEC2InstanceLimitsInput{}
  3837  	}
  3838  
  3839  	output = &DescribeEC2InstanceLimitsOutput{}
  3840  	req = c.newRequest(op, input, output)
  3841  	return
  3842  }
  3843  
  3844  // DescribeEC2InstanceLimits API operation for Amazon GameLift.
  3845  //
  3846  // The GameLift service limits and current utilization for an AWS Region or
  3847  // location. Instance limits control the number of instances, per instance type,
  3848  // per location, that your AWS account can use. Learn more at Amazon EC2 Instance
  3849  // Types (http://aws.amazon.com/ec2/instance-types/). The information returned
  3850  // includes the maximum number of instances allowed and your account's current
  3851  // usage across all fleets. This information can affect your ability to scale
  3852  // your GameLift fleets. You can request a limit increase for your account by
  3853  // using the Service limits page in the GameLift console.
  3854  //
  3855  // Instance limits differ based on whether the instances are deployed in a fleet's
  3856  // home Region or in a remote location. For remote locations, limits also differ
  3857  // based on the combination of home Region and remote location. All requests
  3858  // must specify an AWS Region (either explicitly or as your default settings).
  3859  // To get the limit for a remote location, you must also specify the location.
  3860  // For example, the following requests all return different results:
  3861  //
  3862  //    * Request specifies the Region ap-northeast-1 with no location. The result
  3863  //    is limits and usage data on all instance types that are deployed in us-east-2,
  3864  //    by all of the fleets that reside in ap-northeast-1.
  3865  //
  3866  //    * Request specifies the Region us-east-1 with location ca-central-1. The
  3867  //    result is limits and usage data on all instance types that are deployed
  3868  //    in ca-central-1, by all of the fleets that reside in us-east-2. These
  3869  //    limits do not affect fleets in any other Regions that deploy instances
  3870  //    to ca-central-1.
  3871  //
  3872  //    * Request specifies the Region eu-west-1 with location ca-central-1. The
  3873  //    result is limits and usage data on all instance types that are deployed
  3874  //    in ca-central-1, by all of the fleets that reside in eu-west-1.
  3875  //
  3876  // This operation can be used in the following ways:
  3877  //
  3878  //    * To get limit and usage data for all instance types that are deployed
  3879  //    in an AWS Region by fleets that reside in the same Region: Specify the
  3880  //    Region only. Optionally, specify a single instance type to retrieve information
  3881  //    for.
  3882  //
  3883  //    * To get limit and usage data for all instance types that are deployed
  3884  //    to a remote location by fleets that reside in different AWS Region: Provide
  3885  //    both the AWS Region and the remote location. Optionally, specify a single
  3886  //    instance type to retrieve information for.
  3887  //
  3888  // If successful, an EC2InstanceLimits object is returned with limits and usage
  3889  // data for each requested instance type.
  3890  //
  3891  // Learn more
  3892  //
  3893  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  3894  //
  3895  // Related actions
  3896  //
  3897  // CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
  3898  // | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
  3899  // | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  3900  //
  3901  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3902  // with awserr.Error's Code and Message methods to get detailed information about
  3903  // the error.
  3904  //
  3905  // See the AWS API reference guide for Amazon GameLift's
  3906  // API operation DescribeEC2InstanceLimits for usage and error information.
  3907  //
  3908  // Returned Error Types:
  3909  //   * InvalidRequestException
  3910  //   One or more parameter values in the request are invalid. Correct the invalid
  3911  //   parameter values before retrying.
  3912  //
  3913  //   * InternalServiceException
  3914  //   The service encountered an unrecoverable internal failure while processing
  3915  //   the request. Clients can retry such requests immediately or after a waiting
  3916  //   period.
  3917  //
  3918  //   * UnauthorizedException
  3919  //   The client failed authentication. Clients should not retry such requests.
  3920  //
  3921  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeEC2InstanceLimits
  3922  func (c *GameLift) DescribeEC2InstanceLimits(input *DescribeEC2InstanceLimitsInput) (*DescribeEC2InstanceLimitsOutput, error) {
  3923  	req, out := c.DescribeEC2InstanceLimitsRequest(input)
  3924  	return out, req.Send()
  3925  }
  3926  
  3927  // DescribeEC2InstanceLimitsWithContext is the same as DescribeEC2InstanceLimits with the addition of
  3928  // the ability to pass a context and additional request options.
  3929  //
  3930  // See DescribeEC2InstanceLimits for details on how to use this API operation.
  3931  //
  3932  // The context must be non-nil and will be used for request cancellation. If
  3933  // the context is nil a panic will occur. In the future the SDK may create
  3934  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3935  // for more information on using Contexts.
  3936  func (c *GameLift) DescribeEC2InstanceLimitsWithContext(ctx aws.Context, input *DescribeEC2InstanceLimitsInput, opts ...request.Option) (*DescribeEC2InstanceLimitsOutput, error) {
  3937  	req, out := c.DescribeEC2InstanceLimitsRequest(input)
  3938  	req.SetContext(ctx)
  3939  	req.ApplyOptions(opts...)
  3940  	return out, req.Send()
  3941  }
  3942  
  3943  const opDescribeFleetAttributes = "DescribeFleetAttributes"
  3944  
  3945  // DescribeFleetAttributesRequest generates a "aws/request.Request" representing the
  3946  // client's request for the DescribeFleetAttributes operation. The "output" return
  3947  // value will be populated with the request's response once the request completes
  3948  // successfully.
  3949  //
  3950  // Use "Send" method on the returned Request to send the API call to the service.
  3951  // the "output" return value is not valid until after Send returns without error.
  3952  //
  3953  // See DescribeFleetAttributes for more information on using the DescribeFleetAttributes
  3954  // API call, and error handling.
  3955  //
  3956  // This method is useful when you want to inject custom logic or configuration
  3957  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3958  //
  3959  //
  3960  //    // Example sending a request using the DescribeFleetAttributesRequest method.
  3961  //    req, resp := client.DescribeFleetAttributesRequest(params)
  3962  //
  3963  //    err := req.Send()
  3964  //    if err == nil { // resp is now filled
  3965  //        fmt.Println(resp)
  3966  //    }
  3967  //
  3968  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
  3969  func (c *GameLift) DescribeFleetAttributesRequest(input *DescribeFleetAttributesInput) (req *request.Request, output *DescribeFleetAttributesOutput) {
  3970  	op := &request.Operation{
  3971  		Name:       opDescribeFleetAttributes,
  3972  		HTTPMethod: "POST",
  3973  		HTTPPath:   "/",
  3974  		Paginator: &request.Paginator{
  3975  			InputTokens:     []string{"NextToken"},
  3976  			OutputTokens:    []string{"NextToken"},
  3977  			LimitToken:      "Limit",
  3978  			TruncationToken: "",
  3979  		},
  3980  	}
  3981  
  3982  	if input == nil {
  3983  		input = &DescribeFleetAttributesInput{}
  3984  	}
  3985  
  3986  	output = &DescribeFleetAttributesOutput{}
  3987  	req = c.newRequest(op, input, output)
  3988  	return
  3989  }
  3990  
  3991  // DescribeFleetAttributes API operation for Amazon GameLift.
  3992  //
  3993  // Retrieves core fleet-wide properties, including the computing hardware and
  3994  // deployment configuration for all instances in the fleet.
  3995  //
  3996  // This operation can be used in the following ways:
  3997  //
  3998  //    * To get attributes for one or more specific fleets, provide a list of
  3999  //    fleet IDs or fleet ARNs.
  4000  //
  4001  //    * To get attributes for all fleets, do not provide a fleet identifier.
  4002  //
  4003  // When requesting attributes for multiple fleets, use the pagination parameters
  4004  // to retrieve results as a set of sequential pages.
  4005  //
  4006  // If successful, a FleetAttributes object is returned for each fleet requested,
  4007  // unless the fleet identifier is not found.
  4008  //
  4009  // Some API operations limit the number of fleet IDs that allowed in one request.
  4010  // If a request exceeds this limit, the request fails and the error message
  4011  // contains the maximum allowed number.
  4012  //
  4013  // Learn more
  4014  //
  4015  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  4016  //
  4017  // Related actions
  4018  //
  4019  // ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
  4020  // | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
  4021  // | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
  4022  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  4023  //
  4024  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4025  // with awserr.Error's Code and Message methods to get detailed information about
  4026  // the error.
  4027  //
  4028  // See the AWS API reference guide for Amazon GameLift's
  4029  // API operation DescribeFleetAttributes for usage and error information.
  4030  //
  4031  // Returned Error Types:
  4032  //   * InternalServiceException
  4033  //   The service encountered an unrecoverable internal failure while processing
  4034  //   the request. Clients can retry such requests immediately or after a waiting
  4035  //   period.
  4036  //
  4037  //   * NotFoundException
  4038  //   A service resource associated with the request could not be found. Clients
  4039  //   should not retry such requests.
  4040  //
  4041  //   * InvalidRequestException
  4042  //   One or more parameter values in the request are invalid. Correct the invalid
  4043  //   parameter values before retrying.
  4044  //
  4045  //   * UnauthorizedException
  4046  //   The client failed authentication. Clients should not retry such requests.
  4047  //
  4048  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetAttributes
  4049  func (c *GameLift) DescribeFleetAttributes(input *DescribeFleetAttributesInput) (*DescribeFleetAttributesOutput, error) {
  4050  	req, out := c.DescribeFleetAttributesRequest(input)
  4051  	return out, req.Send()
  4052  }
  4053  
  4054  // DescribeFleetAttributesWithContext is the same as DescribeFleetAttributes with the addition of
  4055  // the ability to pass a context and additional request options.
  4056  //
  4057  // See DescribeFleetAttributes for details on how to use this API operation.
  4058  //
  4059  // The context must be non-nil and will be used for request cancellation. If
  4060  // the context is nil a panic will occur. In the future the SDK may create
  4061  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4062  // for more information on using Contexts.
  4063  func (c *GameLift) DescribeFleetAttributesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, opts ...request.Option) (*DescribeFleetAttributesOutput, error) {
  4064  	req, out := c.DescribeFleetAttributesRequest(input)
  4065  	req.SetContext(ctx)
  4066  	req.ApplyOptions(opts...)
  4067  	return out, req.Send()
  4068  }
  4069  
  4070  // DescribeFleetAttributesPages iterates over the pages of a DescribeFleetAttributes operation,
  4071  // calling the "fn" function with the response data for each page. To stop
  4072  // iterating, return false from the fn function.
  4073  //
  4074  // See DescribeFleetAttributes method for more information on how to use this operation.
  4075  //
  4076  // Note: This operation can generate multiple requests to a service.
  4077  //
  4078  //    // Example iterating over at most 3 pages of a DescribeFleetAttributes operation.
  4079  //    pageNum := 0
  4080  //    err := client.DescribeFleetAttributesPages(params,
  4081  //        func(page *gamelift.DescribeFleetAttributesOutput, lastPage bool) bool {
  4082  //            pageNum++
  4083  //            fmt.Println(page)
  4084  //            return pageNum <= 3
  4085  //        })
  4086  //
  4087  func (c *GameLift) DescribeFleetAttributesPages(input *DescribeFleetAttributesInput, fn func(*DescribeFleetAttributesOutput, bool) bool) error {
  4088  	return c.DescribeFleetAttributesPagesWithContext(aws.BackgroundContext(), input, fn)
  4089  }
  4090  
  4091  // DescribeFleetAttributesPagesWithContext same as DescribeFleetAttributesPages except
  4092  // it takes a Context and allows setting request options on the pages.
  4093  //
  4094  // The context must be non-nil and will be used for request cancellation. If
  4095  // the context is nil a panic will occur. In the future the SDK may create
  4096  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4097  // for more information on using Contexts.
  4098  func (c *GameLift) DescribeFleetAttributesPagesWithContext(ctx aws.Context, input *DescribeFleetAttributesInput, fn func(*DescribeFleetAttributesOutput, bool) bool, opts ...request.Option) error {
  4099  	p := request.Pagination{
  4100  		NewRequest: func() (*request.Request, error) {
  4101  			var inCpy *DescribeFleetAttributesInput
  4102  			if input != nil {
  4103  				tmp := *input
  4104  				inCpy = &tmp
  4105  			}
  4106  			req, _ := c.DescribeFleetAttributesRequest(inCpy)
  4107  			req.SetContext(ctx)
  4108  			req.ApplyOptions(opts...)
  4109  			return req, nil
  4110  		},
  4111  	}
  4112  
  4113  	for p.Next() {
  4114  		if !fn(p.Page().(*DescribeFleetAttributesOutput), !p.HasNextPage()) {
  4115  			break
  4116  		}
  4117  	}
  4118  
  4119  	return p.Err()
  4120  }
  4121  
  4122  const opDescribeFleetCapacity = "DescribeFleetCapacity"
  4123  
  4124  // DescribeFleetCapacityRequest generates a "aws/request.Request" representing the
  4125  // client's request for the DescribeFleetCapacity operation. The "output" return
  4126  // value will be populated with the request's response once the request completes
  4127  // successfully.
  4128  //
  4129  // Use "Send" method on the returned Request to send the API call to the service.
  4130  // the "output" return value is not valid until after Send returns without error.
  4131  //
  4132  // See DescribeFleetCapacity for more information on using the DescribeFleetCapacity
  4133  // API call, and error handling.
  4134  //
  4135  // This method is useful when you want to inject custom logic or configuration
  4136  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4137  //
  4138  //
  4139  //    // Example sending a request using the DescribeFleetCapacityRequest method.
  4140  //    req, resp := client.DescribeFleetCapacityRequest(params)
  4141  //
  4142  //    err := req.Send()
  4143  //    if err == nil { // resp is now filled
  4144  //        fmt.Println(resp)
  4145  //    }
  4146  //
  4147  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
  4148  func (c *GameLift) DescribeFleetCapacityRequest(input *DescribeFleetCapacityInput) (req *request.Request, output *DescribeFleetCapacityOutput) {
  4149  	op := &request.Operation{
  4150  		Name:       opDescribeFleetCapacity,
  4151  		HTTPMethod: "POST",
  4152  		HTTPPath:   "/",
  4153  		Paginator: &request.Paginator{
  4154  			InputTokens:     []string{"NextToken"},
  4155  			OutputTokens:    []string{"NextToken"},
  4156  			LimitToken:      "Limit",
  4157  			TruncationToken: "",
  4158  		},
  4159  	}
  4160  
  4161  	if input == nil {
  4162  		input = &DescribeFleetCapacityInput{}
  4163  	}
  4164  
  4165  	output = &DescribeFleetCapacityOutput{}
  4166  	req = c.newRequest(op, input, output)
  4167  	return
  4168  }
  4169  
  4170  // DescribeFleetCapacity API operation for Amazon GameLift.
  4171  //
  4172  // Retrieves the resource capacity settings for one or more fleets. The data
  4173  // returned includes the current fleet capacity (number of EC2 instances), and
  4174  // settings that can control how capacity scaling. For fleets with remote locations,
  4175  // this operation retrieves data for the fleet's home Region only. See DescribeFleetLocationCapacity
  4176  // to get capacity settings for a fleet's remote locations.
  4177  //
  4178  // This operation can be used in the following ways:
  4179  //
  4180  //    * To get capacity data for one or more specific fleets, provide a list
  4181  //    of fleet IDs or fleet ARNs.
  4182  //
  4183  //    * To get capacity data for all fleets, do not provide a fleet identifier.
  4184  //
  4185  // When requesting multiple fleets, use the pagination parameters to retrieve
  4186  // results as a set of sequential pages.
  4187  //
  4188  // If successful, a FleetCapacity object is returned for each requested fleet
  4189  // ID. Each FleetCapacity object includes a Location property, which is set
  4190  // to the fleet's home Region. When a list of fleet IDs is provided, attribute
  4191  // objects are returned only for fleets that currently exist.
  4192  //
  4193  // Some API operations may limit the number of fleet IDs that are allowed in
  4194  // one request. If a request exceeds this limit, the request fails and the error
  4195  // message includes the maximum allowed.
  4196  //
  4197  // Learn more
  4198  //
  4199  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  4200  //
  4201  // GameLift metrics for fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
  4202  //
  4203  // Related actions
  4204  //
  4205  // ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
  4206  // | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
  4207  // | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
  4208  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  4209  //
  4210  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4211  // with awserr.Error's Code and Message methods to get detailed information about
  4212  // the error.
  4213  //
  4214  // See the AWS API reference guide for Amazon GameLift's
  4215  // API operation DescribeFleetCapacity for usage and error information.
  4216  //
  4217  // Returned Error Types:
  4218  //   * InternalServiceException
  4219  //   The service encountered an unrecoverable internal failure while processing
  4220  //   the request. Clients can retry such requests immediately or after a waiting
  4221  //   period.
  4222  //
  4223  //   * NotFoundException
  4224  //   A service resource associated with the request could not be found. Clients
  4225  //   should not retry such requests.
  4226  //
  4227  //   * InvalidRequestException
  4228  //   One or more parameter values in the request are invalid. Correct the invalid
  4229  //   parameter values before retrying.
  4230  //
  4231  //   * UnauthorizedException
  4232  //   The client failed authentication. Clients should not retry such requests.
  4233  //
  4234  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetCapacity
  4235  func (c *GameLift) DescribeFleetCapacity(input *DescribeFleetCapacityInput) (*DescribeFleetCapacityOutput, error) {
  4236  	req, out := c.DescribeFleetCapacityRequest(input)
  4237  	return out, req.Send()
  4238  }
  4239  
  4240  // DescribeFleetCapacityWithContext is the same as DescribeFleetCapacity with the addition of
  4241  // the ability to pass a context and additional request options.
  4242  //
  4243  // See DescribeFleetCapacity for details on how to use this API operation.
  4244  //
  4245  // The context must be non-nil and will be used for request cancellation. If
  4246  // the context is nil a panic will occur. In the future the SDK may create
  4247  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4248  // for more information on using Contexts.
  4249  func (c *GameLift) DescribeFleetCapacityWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, opts ...request.Option) (*DescribeFleetCapacityOutput, error) {
  4250  	req, out := c.DescribeFleetCapacityRequest(input)
  4251  	req.SetContext(ctx)
  4252  	req.ApplyOptions(opts...)
  4253  	return out, req.Send()
  4254  }
  4255  
  4256  // DescribeFleetCapacityPages iterates over the pages of a DescribeFleetCapacity operation,
  4257  // calling the "fn" function with the response data for each page. To stop
  4258  // iterating, return false from the fn function.
  4259  //
  4260  // See DescribeFleetCapacity method for more information on how to use this operation.
  4261  //
  4262  // Note: This operation can generate multiple requests to a service.
  4263  //
  4264  //    // Example iterating over at most 3 pages of a DescribeFleetCapacity operation.
  4265  //    pageNum := 0
  4266  //    err := client.DescribeFleetCapacityPages(params,
  4267  //        func(page *gamelift.DescribeFleetCapacityOutput, lastPage bool) bool {
  4268  //            pageNum++
  4269  //            fmt.Println(page)
  4270  //            return pageNum <= 3
  4271  //        })
  4272  //
  4273  func (c *GameLift) DescribeFleetCapacityPages(input *DescribeFleetCapacityInput, fn func(*DescribeFleetCapacityOutput, bool) bool) error {
  4274  	return c.DescribeFleetCapacityPagesWithContext(aws.BackgroundContext(), input, fn)
  4275  }
  4276  
  4277  // DescribeFleetCapacityPagesWithContext same as DescribeFleetCapacityPages except
  4278  // it takes a Context and allows setting request options on the pages.
  4279  //
  4280  // The context must be non-nil and will be used for request cancellation. If
  4281  // the context is nil a panic will occur. In the future the SDK may create
  4282  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4283  // for more information on using Contexts.
  4284  func (c *GameLift) DescribeFleetCapacityPagesWithContext(ctx aws.Context, input *DescribeFleetCapacityInput, fn func(*DescribeFleetCapacityOutput, bool) bool, opts ...request.Option) error {
  4285  	p := request.Pagination{
  4286  		NewRequest: func() (*request.Request, error) {
  4287  			var inCpy *DescribeFleetCapacityInput
  4288  			if input != nil {
  4289  				tmp := *input
  4290  				inCpy = &tmp
  4291  			}
  4292  			req, _ := c.DescribeFleetCapacityRequest(inCpy)
  4293  			req.SetContext(ctx)
  4294  			req.ApplyOptions(opts...)
  4295  			return req, nil
  4296  		},
  4297  	}
  4298  
  4299  	for p.Next() {
  4300  		if !fn(p.Page().(*DescribeFleetCapacityOutput), !p.HasNextPage()) {
  4301  			break
  4302  		}
  4303  	}
  4304  
  4305  	return p.Err()
  4306  }
  4307  
  4308  const opDescribeFleetEvents = "DescribeFleetEvents"
  4309  
  4310  // DescribeFleetEventsRequest generates a "aws/request.Request" representing the
  4311  // client's request for the DescribeFleetEvents operation. The "output" return
  4312  // value will be populated with the request's response once the request completes
  4313  // successfully.
  4314  //
  4315  // Use "Send" method on the returned Request to send the API call to the service.
  4316  // the "output" return value is not valid until after Send returns without error.
  4317  //
  4318  // See DescribeFleetEvents for more information on using the DescribeFleetEvents
  4319  // API call, and error handling.
  4320  //
  4321  // This method is useful when you want to inject custom logic or configuration
  4322  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4323  //
  4324  //
  4325  //    // Example sending a request using the DescribeFleetEventsRequest method.
  4326  //    req, resp := client.DescribeFleetEventsRequest(params)
  4327  //
  4328  //    err := req.Send()
  4329  //    if err == nil { // resp is now filled
  4330  //        fmt.Println(resp)
  4331  //    }
  4332  //
  4333  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
  4334  func (c *GameLift) DescribeFleetEventsRequest(input *DescribeFleetEventsInput) (req *request.Request, output *DescribeFleetEventsOutput) {
  4335  	op := &request.Operation{
  4336  		Name:       opDescribeFleetEvents,
  4337  		HTTPMethod: "POST",
  4338  		HTTPPath:   "/",
  4339  		Paginator: &request.Paginator{
  4340  			InputTokens:     []string{"NextToken"},
  4341  			OutputTokens:    []string{"NextToken"},
  4342  			LimitToken:      "Limit",
  4343  			TruncationToken: "",
  4344  		},
  4345  	}
  4346  
  4347  	if input == nil {
  4348  		input = &DescribeFleetEventsInput{}
  4349  	}
  4350  
  4351  	output = &DescribeFleetEventsOutput{}
  4352  	req = c.newRequest(op, input, output)
  4353  	return
  4354  }
  4355  
  4356  // DescribeFleetEvents API operation for Amazon GameLift.
  4357  //
  4358  // Retrieves entries from a fleet's event log. Fleet events are initiated by
  4359  // changes in status, such as during fleet creation and termination, changes
  4360  // in capacity, etc. If a fleet has multiple locations, events are also initiated
  4361  // by changes to status and capacity in remote locations.
  4362  //
  4363  // You can specify a time range to limit the result set. Use the pagination
  4364  // parameters to retrieve results as a set of sequential pages.
  4365  //
  4366  // If successful, a collection of event log entries matching the request are
  4367  // returned.
  4368  //
  4369  // Learn more
  4370  //
  4371  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  4372  //
  4373  // Related actions
  4374  //
  4375  // ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
  4376  // | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
  4377  // | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
  4378  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  4379  //
  4380  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4381  // with awserr.Error's Code and Message methods to get detailed information about
  4382  // the error.
  4383  //
  4384  // See the AWS API reference guide for Amazon GameLift's
  4385  // API operation DescribeFleetEvents for usage and error information.
  4386  //
  4387  // Returned Error Types:
  4388  //   * NotFoundException
  4389  //   A service resource associated with the request could not be found. Clients
  4390  //   should not retry such requests.
  4391  //
  4392  //   * InternalServiceException
  4393  //   The service encountered an unrecoverable internal failure while processing
  4394  //   the request. Clients can retry such requests immediately or after a waiting
  4395  //   period.
  4396  //
  4397  //   * UnauthorizedException
  4398  //   The client failed authentication. Clients should not retry such requests.
  4399  //
  4400  //   * InvalidRequestException
  4401  //   One or more parameter values in the request are invalid. Correct the invalid
  4402  //   parameter values before retrying.
  4403  //
  4404  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetEvents
  4405  func (c *GameLift) DescribeFleetEvents(input *DescribeFleetEventsInput) (*DescribeFleetEventsOutput, error) {
  4406  	req, out := c.DescribeFleetEventsRequest(input)
  4407  	return out, req.Send()
  4408  }
  4409  
  4410  // DescribeFleetEventsWithContext is the same as DescribeFleetEvents with the addition of
  4411  // the ability to pass a context and additional request options.
  4412  //
  4413  // See DescribeFleetEvents for details on how to use this API operation.
  4414  //
  4415  // The context must be non-nil and will be used for request cancellation. If
  4416  // the context is nil a panic will occur. In the future the SDK may create
  4417  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4418  // for more information on using Contexts.
  4419  func (c *GameLift) DescribeFleetEventsWithContext(ctx aws.Context, input *DescribeFleetEventsInput, opts ...request.Option) (*DescribeFleetEventsOutput, error) {
  4420  	req, out := c.DescribeFleetEventsRequest(input)
  4421  	req.SetContext(ctx)
  4422  	req.ApplyOptions(opts...)
  4423  	return out, req.Send()
  4424  }
  4425  
  4426  // DescribeFleetEventsPages iterates over the pages of a DescribeFleetEvents operation,
  4427  // calling the "fn" function with the response data for each page. To stop
  4428  // iterating, return false from the fn function.
  4429  //
  4430  // See DescribeFleetEvents method for more information on how to use this operation.
  4431  //
  4432  // Note: This operation can generate multiple requests to a service.
  4433  //
  4434  //    // Example iterating over at most 3 pages of a DescribeFleetEvents operation.
  4435  //    pageNum := 0
  4436  //    err := client.DescribeFleetEventsPages(params,
  4437  //        func(page *gamelift.DescribeFleetEventsOutput, lastPage bool) bool {
  4438  //            pageNum++
  4439  //            fmt.Println(page)
  4440  //            return pageNum <= 3
  4441  //        })
  4442  //
  4443  func (c *GameLift) DescribeFleetEventsPages(input *DescribeFleetEventsInput, fn func(*DescribeFleetEventsOutput, bool) bool) error {
  4444  	return c.DescribeFleetEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  4445  }
  4446  
  4447  // DescribeFleetEventsPagesWithContext same as DescribeFleetEventsPages except
  4448  // it takes a Context and allows setting request options on the pages.
  4449  //
  4450  // The context must be non-nil and will be used for request cancellation. If
  4451  // the context is nil a panic will occur. In the future the SDK may create
  4452  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4453  // for more information on using Contexts.
  4454  func (c *GameLift) DescribeFleetEventsPagesWithContext(ctx aws.Context, input *DescribeFleetEventsInput, fn func(*DescribeFleetEventsOutput, bool) bool, opts ...request.Option) error {
  4455  	p := request.Pagination{
  4456  		NewRequest: func() (*request.Request, error) {
  4457  			var inCpy *DescribeFleetEventsInput
  4458  			if input != nil {
  4459  				tmp := *input
  4460  				inCpy = &tmp
  4461  			}
  4462  			req, _ := c.DescribeFleetEventsRequest(inCpy)
  4463  			req.SetContext(ctx)
  4464  			req.ApplyOptions(opts...)
  4465  			return req, nil
  4466  		},
  4467  	}
  4468  
  4469  	for p.Next() {
  4470  		if !fn(p.Page().(*DescribeFleetEventsOutput), !p.HasNextPage()) {
  4471  			break
  4472  		}
  4473  	}
  4474  
  4475  	return p.Err()
  4476  }
  4477  
  4478  const opDescribeFleetLocationAttributes = "DescribeFleetLocationAttributes"
  4479  
  4480  // DescribeFleetLocationAttributesRequest generates a "aws/request.Request" representing the
  4481  // client's request for the DescribeFleetLocationAttributes operation. The "output" return
  4482  // value will be populated with the request's response once the request completes
  4483  // successfully.
  4484  //
  4485  // Use "Send" method on the returned Request to send the API call to the service.
  4486  // the "output" return value is not valid until after Send returns without error.
  4487  //
  4488  // See DescribeFleetLocationAttributes for more information on using the DescribeFleetLocationAttributes
  4489  // API call, and error handling.
  4490  //
  4491  // This method is useful when you want to inject custom logic or configuration
  4492  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4493  //
  4494  //
  4495  //    // Example sending a request using the DescribeFleetLocationAttributesRequest method.
  4496  //    req, resp := client.DescribeFleetLocationAttributesRequest(params)
  4497  //
  4498  //    err := req.Send()
  4499  //    if err == nil { // resp is now filled
  4500  //        fmt.Println(resp)
  4501  //    }
  4502  //
  4503  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationAttributes
  4504  func (c *GameLift) DescribeFleetLocationAttributesRequest(input *DescribeFleetLocationAttributesInput) (req *request.Request, output *DescribeFleetLocationAttributesOutput) {
  4505  	op := &request.Operation{
  4506  		Name:       opDescribeFleetLocationAttributes,
  4507  		HTTPMethod: "POST",
  4508  		HTTPPath:   "/",
  4509  		Paginator: &request.Paginator{
  4510  			InputTokens:     []string{"NextToken"},
  4511  			OutputTokens:    []string{"NextToken"},
  4512  			LimitToken:      "Limit",
  4513  			TruncationToken: "",
  4514  		},
  4515  	}
  4516  
  4517  	if input == nil {
  4518  		input = &DescribeFleetLocationAttributesInput{}
  4519  	}
  4520  
  4521  	output = &DescribeFleetLocationAttributesOutput{}
  4522  	req = c.newRequest(op, input, output)
  4523  	return
  4524  }
  4525  
  4526  // DescribeFleetLocationAttributes API operation for Amazon GameLift.
  4527  //
  4528  // Retrieves information on a fleet's remote locations, including life-cycle
  4529  // status and any suspended fleet activity.
  4530  //
  4531  // This operation can be used in the following ways:
  4532  //
  4533  //    * To get data for specific locations, provide a fleet identifier and a
  4534  //    list of locations. Location data is returned in the order that it is requested.
  4535  //
  4536  //    * To get data for all locations, provide a fleet identifier only. Location
  4537  //    data is returned in no particular order.
  4538  //
  4539  // When requesting attributes for multiple locations, use the pagination parameters
  4540  // to retrieve results as a set of sequential pages.
  4541  //
  4542  // If successful, a LocationAttributes object is returned for each requested
  4543  // location. If the fleet does not have a requested location, no information
  4544  // is returned. This operation does not return the home Region. To get information
  4545  // on a fleet's home Region, call DescribeFleetAttributes.
  4546  //
  4547  // Learn more
  4548  //
  4549  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  4550  //
  4551  // Related actions
  4552  //
  4553  // CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
  4554  // | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
  4555  // | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
  4556  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  4557  //
  4558  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4559  // with awserr.Error's Code and Message methods to get detailed information about
  4560  // the error.
  4561  //
  4562  // See the AWS API reference guide for Amazon GameLift's
  4563  // API operation DescribeFleetLocationAttributes for usage and error information.
  4564  //
  4565  // Returned Error Types:
  4566  //   * InternalServiceException
  4567  //   The service encountered an unrecoverable internal failure while processing
  4568  //   the request. Clients can retry such requests immediately or after a waiting
  4569  //   period.
  4570  //
  4571  //   * InvalidRequestException
  4572  //   One or more parameter values in the request are invalid. Correct the invalid
  4573  //   parameter values before retrying.
  4574  //
  4575  //   * UnauthorizedException
  4576  //   The client failed authentication. Clients should not retry such requests.
  4577  //
  4578  //   * NotFoundException
  4579  //   A service resource associated with the request could not be found. Clients
  4580  //   should not retry such requests.
  4581  //
  4582  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationAttributes
  4583  func (c *GameLift) DescribeFleetLocationAttributes(input *DescribeFleetLocationAttributesInput) (*DescribeFleetLocationAttributesOutput, error) {
  4584  	req, out := c.DescribeFleetLocationAttributesRequest(input)
  4585  	return out, req.Send()
  4586  }
  4587  
  4588  // DescribeFleetLocationAttributesWithContext is the same as DescribeFleetLocationAttributes with the addition of
  4589  // the ability to pass a context and additional request options.
  4590  //
  4591  // See DescribeFleetLocationAttributes for details on how to use this API operation.
  4592  //
  4593  // The context must be non-nil and will be used for request cancellation. If
  4594  // the context is nil a panic will occur. In the future the SDK may create
  4595  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4596  // for more information on using Contexts.
  4597  func (c *GameLift) DescribeFleetLocationAttributesWithContext(ctx aws.Context, input *DescribeFleetLocationAttributesInput, opts ...request.Option) (*DescribeFleetLocationAttributesOutput, error) {
  4598  	req, out := c.DescribeFleetLocationAttributesRequest(input)
  4599  	req.SetContext(ctx)
  4600  	req.ApplyOptions(opts...)
  4601  	return out, req.Send()
  4602  }
  4603  
  4604  // DescribeFleetLocationAttributesPages iterates over the pages of a DescribeFleetLocationAttributes operation,
  4605  // calling the "fn" function with the response data for each page. To stop
  4606  // iterating, return false from the fn function.
  4607  //
  4608  // See DescribeFleetLocationAttributes method for more information on how to use this operation.
  4609  //
  4610  // Note: This operation can generate multiple requests to a service.
  4611  //
  4612  //    // Example iterating over at most 3 pages of a DescribeFleetLocationAttributes operation.
  4613  //    pageNum := 0
  4614  //    err := client.DescribeFleetLocationAttributesPages(params,
  4615  //        func(page *gamelift.DescribeFleetLocationAttributesOutput, lastPage bool) bool {
  4616  //            pageNum++
  4617  //            fmt.Println(page)
  4618  //            return pageNum <= 3
  4619  //        })
  4620  //
  4621  func (c *GameLift) DescribeFleetLocationAttributesPages(input *DescribeFleetLocationAttributesInput, fn func(*DescribeFleetLocationAttributesOutput, bool) bool) error {
  4622  	return c.DescribeFleetLocationAttributesPagesWithContext(aws.BackgroundContext(), input, fn)
  4623  }
  4624  
  4625  // DescribeFleetLocationAttributesPagesWithContext same as DescribeFleetLocationAttributesPages except
  4626  // it takes a Context and allows setting request options on the pages.
  4627  //
  4628  // The context must be non-nil and will be used for request cancellation. If
  4629  // the context is nil a panic will occur. In the future the SDK may create
  4630  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4631  // for more information on using Contexts.
  4632  func (c *GameLift) DescribeFleetLocationAttributesPagesWithContext(ctx aws.Context, input *DescribeFleetLocationAttributesInput, fn func(*DescribeFleetLocationAttributesOutput, bool) bool, opts ...request.Option) error {
  4633  	p := request.Pagination{
  4634  		NewRequest: func() (*request.Request, error) {
  4635  			var inCpy *DescribeFleetLocationAttributesInput
  4636  			if input != nil {
  4637  				tmp := *input
  4638  				inCpy = &tmp
  4639  			}
  4640  			req, _ := c.DescribeFleetLocationAttributesRequest(inCpy)
  4641  			req.SetContext(ctx)
  4642  			req.ApplyOptions(opts...)
  4643  			return req, nil
  4644  		},
  4645  	}
  4646  
  4647  	for p.Next() {
  4648  		if !fn(p.Page().(*DescribeFleetLocationAttributesOutput), !p.HasNextPage()) {
  4649  			break
  4650  		}
  4651  	}
  4652  
  4653  	return p.Err()
  4654  }
  4655  
  4656  const opDescribeFleetLocationCapacity = "DescribeFleetLocationCapacity"
  4657  
  4658  // DescribeFleetLocationCapacityRequest generates a "aws/request.Request" representing the
  4659  // client's request for the DescribeFleetLocationCapacity operation. The "output" return
  4660  // value will be populated with the request's response once the request completes
  4661  // successfully.
  4662  //
  4663  // Use "Send" method on the returned Request to send the API call to the service.
  4664  // the "output" return value is not valid until after Send returns without error.
  4665  //
  4666  // See DescribeFleetLocationCapacity for more information on using the DescribeFleetLocationCapacity
  4667  // API call, and error handling.
  4668  //
  4669  // This method is useful when you want to inject custom logic or configuration
  4670  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4671  //
  4672  //
  4673  //    // Example sending a request using the DescribeFleetLocationCapacityRequest method.
  4674  //    req, resp := client.DescribeFleetLocationCapacityRequest(params)
  4675  //
  4676  //    err := req.Send()
  4677  //    if err == nil { // resp is now filled
  4678  //        fmt.Println(resp)
  4679  //    }
  4680  //
  4681  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationCapacity
  4682  func (c *GameLift) DescribeFleetLocationCapacityRequest(input *DescribeFleetLocationCapacityInput) (req *request.Request, output *DescribeFleetLocationCapacityOutput) {
  4683  	op := &request.Operation{
  4684  		Name:       opDescribeFleetLocationCapacity,
  4685  		HTTPMethod: "POST",
  4686  		HTTPPath:   "/",
  4687  	}
  4688  
  4689  	if input == nil {
  4690  		input = &DescribeFleetLocationCapacityInput{}
  4691  	}
  4692  
  4693  	output = &DescribeFleetLocationCapacityOutput{}
  4694  	req = c.newRequest(op, input, output)
  4695  	return
  4696  }
  4697  
  4698  // DescribeFleetLocationCapacity API operation for Amazon GameLift.
  4699  //
  4700  // Retrieves the resource capacity settings for a fleet location. The data returned
  4701  // includes the current capacity (number of EC2 instances) and some scaling
  4702  // settings for the requested fleet location. Use this operation to retrieve
  4703  // capacity information for a fleet's remote location or home Region (you can
  4704  // also retrieve home Region capacity by calling DescribeFleetCapacity).
  4705  //
  4706  // To retrieve capacity data, identify a fleet and location.
  4707  //
  4708  // If successful, a FleetCapacity object is returned for the requested fleet
  4709  // location.
  4710  //
  4711  // Learn more
  4712  //
  4713  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  4714  //
  4715  // GameLift metrics for fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
  4716  //
  4717  // Related actions
  4718  //
  4719  // CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
  4720  // | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
  4721  // | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
  4722  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  4723  //
  4724  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4725  // with awserr.Error's Code and Message methods to get detailed information about
  4726  // the error.
  4727  //
  4728  // See the AWS API reference guide for Amazon GameLift's
  4729  // API operation DescribeFleetLocationCapacity for usage and error information.
  4730  //
  4731  // Returned Error Types:
  4732  //   * InternalServiceException
  4733  //   The service encountered an unrecoverable internal failure while processing
  4734  //   the request. Clients can retry such requests immediately or after a waiting
  4735  //   period.
  4736  //
  4737  //   * InvalidRequestException
  4738  //   One or more parameter values in the request are invalid. Correct the invalid
  4739  //   parameter values before retrying.
  4740  //
  4741  //   * UnauthorizedException
  4742  //   The client failed authentication. Clients should not retry such requests.
  4743  //
  4744  //   * NotFoundException
  4745  //   A service resource associated with the request could not be found. Clients
  4746  //   should not retry such requests.
  4747  //
  4748  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationCapacity
  4749  func (c *GameLift) DescribeFleetLocationCapacity(input *DescribeFleetLocationCapacityInput) (*DescribeFleetLocationCapacityOutput, error) {
  4750  	req, out := c.DescribeFleetLocationCapacityRequest(input)
  4751  	return out, req.Send()
  4752  }
  4753  
  4754  // DescribeFleetLocationCapacityWithContext is the same as DescribeFleetLocationCapacity with the addition of
  4755  // the ability to pass a context and additional request options.
  4756  //
  4757  // See DescribeFleetLocationCapacity for details on how to use this API operation.
  4758  //
  4759  // The context must be non-nil and will be used for request cancellation. If
  4760  // the context is nil a panic will occur. In the future the SDK may create
  4761  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4762  // for more information on using Contexts.
  4763  func (c *GameLift) DescribeFleetLocationCapacityWithContext(ctx aws.Context, input *DescribeFleetLocationCapacityInput, opts ...request.Option) (*DescribeFleetLocationCapacityOutput, error) {
  4764  	req, out := c.DescribeFleetLocationCapacityRequest(input)
  4765  	req.SetContext(ctx)
  4766  	req.ApplyOptions(opts...)
  4767  	return out, req.Send()
  4768  }
  4769  
  4770  const opDescribeFleetLocationUtilization = "DescribeFleetLocationUtilization"
  4771  
  4772  // DescribeFleetLocationUtilizationRequest generates a "aws/request.Request" representing the
  4773  // client's request for the DescribeFleetLocationUtilization operation. The "output" return
  4774  // value will be populated with the request's response once the request completes
  4775  // successfully.
  4776  //
  4777  // Use "Send" method on the returned Request to send the API call to the service.
  4778  // the "output" return value is not valid until after Send returns without error.
  4779  //
  4780  // See DescribeFleetLocationUtilization for more information on using the DescribeFleetLocationUtilization
  4781  // API call, and error handling.
  4782  //
  4783  // This method is useful when you want to inject custom logic or configuration
  4784  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4785  //
  4786  //
  4787  //    // Example sending a request using the DescribeFleetLocationUtilizationRequest method.
  4788  //    req, resp := client.DescribeFleetLocationUtilizationRequest(params)
  4789  //
  4790  //    err := req.Send()
  4791  //    if err == nil { // resp is now filled
  4792  //        fmt.Println(resp)
  4793  //    }
  4794  //
  4795  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationUtilization
  4796  func (c *GameLift) DescribeFleetLocationUtilizationRequest(input *DescribeFleetLocationUtilizationInput) (req *request.Request, output *DescribeFleetLocationUtilizationOutput) {
  4797  	op := &request.Operation{
  4798  		Name:       opDescribeFleetLocationUtilization,
  4799  		HTTPMethod: "POST",
  4800  		HTTPPath:   "/",
  4801  	}
  4802  
  4803  	if input == nil {
  4804  		input = &DescribeFleetLocationUtilizationInput{}
  4805  	}
  4806  
  4807  	output = &DescribeFleetLocationUtilizationOutput{}
  4808  	req = c.newRequest(op, input, output)
  4809  	return
  4810  }
  4811  
  4812  // DescribeFleetLocationUtilization API operation for Amazon GameLift.
  4813  //
  4814  // Retrieves current usage data for a fleet location. Utilization data provides
  4815  // a snapshot of current game hosting activity at the requested location. Use
  4816  // this operation to retrieve utilization information for a fleet's remote location
  4817  // or home Region (you can also retrieve home Region utilization by calling
  4818  // DescribeFleetUtilization).
  4819  //
  4820  // To retrieve utilization data, identify a fleet and location.
  4821  //
  4822  // If successful, a FleetUtilization object is returned for the requested fleet
  4823  // location.
  4824  //
  4825  // Learn more
  4826  //
  4827  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  4828  //
  4829  // GameLift metrics for fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
  4830  //
  4831  // Related actions
  4832  //
  4833  // CreateFleetLocations | DescribeFleetLocationAttributes | DescribeFleetLocationCapacity
  4834  // | DescribeFleetLocationUtilization | DescribeFleetAttributes | DescribeFleetCapacity
  4835  // | DescribeFleetUtilization | UpdateFleetCapacity | StopFleetActions | DeleteFleetLocations
  4836  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  4837  //
  4838  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4839  // with awserr.Error's Code and Message methods to get detailed information about
  4840  // the error.
  4841  //
  4842  // See the AWS API reference guide for Amazon GameLift's
  4843  // API operation DescribeFleetLocationUtilization for usage and error information.
  4844  //
  4845  // Returned Error Types:
  4846  //   * InternalServiceException
  4847  //   The service encountered an unrecoverable internal failure while processing
  4848  //   the request. Clients can retry such requests immediately or after a waiting
  4849  //   period.
  4850  //
  4851  //   * InvalidRequestException
  4852  //   One or more parameter values in the request are invalid. Correct the invalid
  4853  //   parameter values before retrying.
  4854  //
  4855  //   * UnauthorizedException
  4856  //   The client failed authentication. Clients should not retry such requests.
  4857  //
  4858  //   * NotFoundException
  4859  //   A service resource associated with the request could not be found. Clients
  4860  //   should not retry such requests.
  4861  //
  4862  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetLocationUtilization
  4863  func (c *GameLift) DescribeFleetLocationUtilization(input *DescribeFleetLocationUtilizationInput) (*DescribeFleetLocationUtilizationOutput, error) {
  4864  	req, out := c.DescribeFleetLocationUtilizationRequest(input)
  4865  	return out, req.Send()
  4866  }
  4867  
  4868  // DescribeFleetLocationUtilizationWithContext is the same as DescribeFleetLocationUtilization with the addition of
  4869  // the ability to pass a context and additional request options.
  4870  //
  4871  // See DescribeFleetLocationUtilization for details on how to use this API operation.
  4872  //
  4873  // The context must be non-nil and will be used for request cancellation. If
  4874  // the context is nil a panic will occur. In the future the SDK may create
  4875  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4876  // for more information on using Contexts.
  4877  func (c *GameLift) DescribeFleetLocationUtilizationWithContext(ctx aws.Context, input *DescribeFleetLocationUtilizationInput, opts ...request.Option) (*DescribeFleetLocationUtilizationOutput, error) {
  4878  	req, out := c.DescribeFleetLocationUtilizationRequest(input)
  4879  	req.SetContext(ctx)
  4880  	req.ApplyOptions(opts...)
  4881  	return out, req.Send()
  4882  }
  4883  
  4884  const opDescribeFleetPortSettings = "DescribeFleetPortSettings"
  4885  
  4886  // DescribeFleetPortSettingsRequest generates a "aws/request.Request" representing the
  4887  // client's request for the DescribeFleetPortSettings operation. The "output" return
  4888  // value will be populated with the request's response once the request completes
  4889  // successfully.
  4890  //
  4891  // Use "Send" method on the returned Request to send the API call to the service.
  4892  // the "output" return value is not valid until after Send returns without error.
  4893  //
  4894  // See DescribeFleetPortSettings for more information on using the DescribeFleetPortSettings
  4895  // API call, and error handling.
  4896  //
  4897  // This method is useful when you want to inject custom logic or configuration
  4898  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4899  //
  4900  //
  4901  //    // Example sending a request using the DescribeFleetPortSettingsRequest method.
  4902  //    req, resp := client.DescribeFleetPortSettingsRequest(params)
  4903  //
  4904  //    err := req.Send()
  4905  //    if err == nil { // resp is now filled
  4906  //        fmt.Println(resp)
  4907  //    }
  4908  //
  4909  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
  4910  func (c *GameLift) DescribeFleetPortSettingsRequest(input *DescribeFleetPortSettingsInput) (req *request.Request, output *DescribeFleetPortSettingsOutput) {
  4911  	op := &request.Operation{
  4912  		Name:       opDescribeFleetPortSettings,
  4913  		HTTPMethod: "POST",
  4914  		HTTPPath:   "/",
  4915  	}
  4916  
  4917  	if input == nil {
  4918  		input = &DescribeFleetPortSettingsInput{}
  4919  	}
  4920  
  4921  	output = &DescribeFleetPortSettingsOutput{}
  4922  	req = c.newRequest(op, input, output)
  4923  	return
  4924  }
  4925  
  4926  // DescribeFleetPortSettings API operation for Amazon GameLift.
  4927  //
  4928  // Retrieves a fleet's inbound connection permissions. Connection permissions
  4929  // specify the range of IP addresses and port settings that incoming traffic
  4930  // can use to access server processes in the fleet. Game sessions that are running
  4931  // on instances in the fleet must use connections that fall in this range.
  4932  //
  4933  // This operation can be used in the following ways:
  4934  //
  4935  //    * To retrieve the inbound connection permissions for a fleet, identify
  4936  //    the fleet's unique identifier.
  4937  //
  4938  //    * To check the status of recent updates to a fleet remote location, specify
  4939  //    the fleet ID and a location. Port setting updates can take time to propagate
  4940  //    across all locations.
  4941  //
  4942  // If successful, a set of IpPermission objects is returned for the requested
  4943  // fleet ID. When a location is specified, a pending status is included. If
  4944  // the requested fleet has been deleted, the result set is empty.
  4945  //
  4946  // Learn more
  4947  //
  4948  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  4949  //
  4950  // Related actions
  4951  //
  4952  // ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
  4953  // | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
  4954  // | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
  4955  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  4956  //
  4957  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4958  // with awserr.Error's Code and Message methods to get detailed information about
  4959  // the error.
  4960  //
  4961  // See the AWS API reference guide for Amazon GameLift's
  4962  // API operation DescribeFleetPortSettings for usage and error information.
  4963  //
  4964  // Returned Error Types:
  4965  //   * InternalServiceException
  4966  //   The service encountered an unrecoverable internal failure while processing
  4967  //   the request. Clients can retry such requests immediately or after a waiting
  4968  //   period.
  4969  //
  4970  //   * NotFoundException
  4971  //   A service resource associated with the request could not be found. Clients
  4972  //   should not retry such requests.
  4973  //
  4974  //   * InvalidRequestException
  4975  //   One or more parameter values in the request are invalid. Correct the invalid
  4976  //   parameter values before retrying.
  4977  //
  4978  //   * UnauthorizedException
  4979  //   The client failed authentication. Clients should not retry such requests.
  4980  //
  4981  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetPortSettings
  4982  func (c *GameLift) DescribeFleetPortSettings(input *DescribeFleetPortSettingsInput) (*DescribeFleetPortSettingsOutput, error) {
  4983  	req, out := c.DescribeFleetPortSettingsRequest(input)
  4984  	return out, req.Send()
  4985  }
  4986  
  4987  // DescribeFleetPortSettingsWithContext is the same as DescribeFleetPortSettings with the addition of
  4988  // the ability to pass a context and additional request options.
  4989  //
  4990  // See DescribeFleetPortSettings for details on how to use this API operation.
  4991  //
  4992  // The context must be non-nil and will be used for request cancellation. If
  4993  // the context is nil a panic will occur. In the future the SDK may create
  4994  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4995  // for more information on using Contexts.
  4996  func (c *GameLift) DescribeFleetPortSettingsWithContext(ctx aws.Context, input *DescribeFleetPortSettingsInput, opts ...request.Option) (*DescribeFleetPortSettingsOutput, error) {
  4997  	req, out := c.DescribeFleetPortSettingsRequest(input)
  4998  	req.SetContext(ctx)
  4999  	req.ApplyOptions(opts...)
  5000  	return out, req.Send()
  5001  }
  5002  
  5003  const opDescribeFleetUtilization = "DescribeFleetUtilization"
  5004  
  5005  // DescribeFleetUtilizationRequest generates a "aws/request.Request" representing the
  5006  // client's request for the DescribeFleetUtilization operation. The "output" return
  5007  // value will be populated with the request's response once the request completes
  5008  // successfully.
  5009  //
  5010  // Use "Send" method on the returned Request to send the API call to the service.
  5011  // the "output" return value is not valid until after Send returns without error.
  5012  //
  5013  // See DescribeFleetUtilization for more information on using the DescribeFleetUtilization
  5014  // API call, and error handling.
  5015  //
  5016  // This method is useful when you want to inject custom logic or configuration
  5017  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5018  //
  5019  //
  5020  //    // Example sending a request using the DescribeFleetUtilizationRequest method.
  5021  //    req, resp := client.DescribeFleetUtilizationRequest(params)
  5022  //
  5023  //    err := req.Send()
  5024  //    if err == nil { // resp is now filled
  5025  //        fmt.Println(resp)
  5026  //    }
  5027  //
  5028  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
  5029  func (c *GameLift) DescribeFleetUtilizationRequest(input *DescribeFleetUtilizationInput) (req *request.Request, output *DescribeFleetUtilizationOutput) {
  5030  	op := &request.Operation{
  5031  		Name:       opDescribeFleetUtilization,
  5032  		HTTPMethod: "POST",
  5033  		HTTPPath:   "/",
  5034  		Paginator: &request.Paginator{
  5035  			InputTokens:     []string{"NextToken"},
  5036  			OutputTokens:    []string{"NextToken"},
  5037  			LimitToken:      "Limit",
  5038  			TruncationToken: "",
  5039  		},
  5040  	}
  5041  
  5042  	if input == nil {
  5043  		input = &DescribeFleetUtilizationInput{}
  5044  	}
  5045  
  5046  	output = &DescribeFleetUtilizationOutput{}
  5047  	req = c.newRequest(op, input, output)
  5048  	return
  5049  }
  5050  
  5051  // DescribeFleetUtilization API operation for Amazon GameLift.
  5052  //
  5053  // Retrieves utilization statistics for one or more fleets. Utilization data
  5054  // provides a snapshot of how the fleet's hosting resources are currently being
  5055  // used. For fleets with remote locations, this operation retrieves data for
  5056  // the fleet's home Region only. See DescribeFleetLocationUtilization to get
  5057  // utilization statistics for a fleet's remote locations.
  5058  //
  5059  // This operation can be used in the following ways:
  5060  //
  5061  //    * To get utilization data for one or more specific fleets, provide a list
  5062  //    of fleet IDs or fleet ARNs.
  5063  //
  5064  //    * To get utilization data for all fleets, do not provide a fleet identifier.
  5065  //
  5066  // When requesting multiple fleets, use the pagination parameters to retrieve
  5067  // results as a set of sequential pages.
  5068  //
  5069  // If successful, a FleetUtilization object is returned for each requested fleet
  5070  // ID, unless the fleet identifier is not found. Each fleet utilization object
  5071  // includes a Location property, which is set to the fleet's home Region.
  5072  //
  5073  // Some API operations may limit the number of fleet IDs allowed in one request.
  5074  // If a request exceeds this limit, the request fails and the error message
  5075  // includes the maximum allowed.
  5076  //
  5077  // Learn more
  5078  //
  5079  // Setting up GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  5080  //
  5081  // GameLift Metrics for Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html#gamelift-metrics-fleet)
  5082  //
  5083  // Related actions
  5084  //
  5085  // ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
  5086  // | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
  5087  // | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
  5088  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  5089  //
  5090  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5091  // with awserr.Error's Code and Message methods to get detailed information about
  5092  // the error.
  5093  //
  5094  // See the AWS API reference guide for Amazon GameLift's
  5095  // API operation DescribeFleetUtilization for usage and error information.
  5096  //
  5097  // Returned Error Types:
  5098  //   * InternalServiceException
  5099  //   The service encountered an unrecoverable internal failure while processing
  5100  //   the request. Clients can retry such requests immediately or after a waiting
  5101  //   period.
  5102  //
  5103  //   * NotFoundException
  5104  //   A service resource associated with the request could not be found. Clients
  5105  //   should not retry such requests.
  5106  //
  5107  //   * InvalidRequestException
  5108  //   One or more parameter values in the request are invalid. Correct the invalid
  5109  //   parameter values before retrying.
  5110  //
  5111  //   * UnauthorizedException
  5112  //   The client failed authentication. Clients should not retry such requests.
  5113  //
  5114  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeFleetUtilization
  5115  func (c *GameLift) DescribeFleetUtilization(input *DescribeFleetUtilizationInput) (*DescribeFleetUtilizationOutput, error) {
  5116  	req, out := c.DescribeFleetUtilizationRequest(input)
  5117  	return out, req.Send()
  5118  }
  5119  
  5120  // DescribeFleetUtilizationWithContext is the same as DescribeFleetUtilization with the addition of
  5121  // the ability to pass a context and additional request options.
  5122  //
  5123  // See DescribeFleetUtilization for details on how to use this API operation.
  5124  //
  5125  // The context must be non-nil and will be used for request cancellation. If
  5126  // the context is nil a panic will occur. In the future the SDK may create
  5127  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5128  // for more information on using Contexts.
  5129  func (c *GameLift) DescribeFleetUtilizationWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, opts ...request.Option) (*DescribeFleetUtilizationOutput, error) {
  5130  	req, out := c.DescribeFleetUtilizationRequest(input)
  5131  	req.SetContext(ctx)
  5132  	req.ApplyOptions(opts...)
  5133  	return out, req.Send()
  5134  }
  5135  
  5136  // DescribeFleetUtilizationPages iterates over the pages of a DescribeFleetUtilization operation,
  5137  // calling the "fn" function with the response data for each page. To stop
  5138  // iterating, return false from the fn function.
  5139  //
  5140  // See DescribeFleetUtilization method for more information on how to use this operation.
  5141  //
  5142  // Note: This operation can generate multiple requests to a service.
  5143  //
  5144  //    // Example iterating over at most 3 pages of a DescribeFleetUtilization operation.
  5145  //    pageNum := 0
  5146  //    err := client.DescribeFleetUtilizationPages(params,
  5147  //        func(page *gamelift.DescribeFleetUtilizationOutput, lastPage bool) bool {
  5148  //            pageNum++
  5149  //            fmt.Println(page)
  5150  //            return pageNum <= 3
  5151  //        })
  5152  //
  5153  func (c *GameLift) DescribeFleetUtilizationPages(input *DescribeFleetUtilizationInput, fn func(*DescribeFleetUtilizationOutput, bool) bool) error {
  5154  	return c.DescribeFleetUtilizationPagesWithContext(aws.BackgroundContext(), input, fn)
  5155  }
  5156  
  5157  // DescribeFleetUtilizationPagesWithContext same as DescribeFleetUtilizationPages except
  5158  // it takes a Context and allows setting request options on the pages.
  5159  //
  5160  // The context must be non-nil and will be used for request cancellation. If
  5161  // the context is nil a panic will occur. In the future the SDK may create
  5162  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5163  // for more information on using Contexts.
  5164  func (c *GameLift) DescribeFleetUtilizationPagesWithContext(ctx aws.Context, input *DescribeFleetUtilizationInput, fn func(*DescribeFleetUtilizationOutput, bool) bool, opts ...request.Option) error {
  5165  	p := request.Pagination{
  5166  		NewRequest: func() (*request.Request, error) {
  5167  			var inCpy *DescribeFleetUtilizationInput
  5168  			if input != nil {
  5169  				tmp := *input
  5170  				inCpy = &tmp
  5171  			}
  5172  			req, _ := c.DescribeFleetUtilizationRequest(inCpy)
  5173  			req.SetContext(ctx)
  5174  			req.ApplyOptions(opts...)
  5175  			return req, nil
  5176  		},
  5177  	}
  5178  
  5179  	for p.Next() {
  5180  		if !fn(p.Page().(*DescribeFleetUtilizationOutput), !p.HasNextPage()) {
  5181  			break
  5182  		}
  5183  	}
  5184  
  5185  	return p.Err()
  5186  }
  5187  
  5188  const opDescribeGameServer = "DescribeGameServer"
  5189  
  5190  // DescribeGameServerRequest generates a "aws/request.Request" representing the
  5191  // client's request for the DescribeGameServer operation. The "output" return
  5192  // value will be populated with the request's response once the request completes
  5193  // successfully.
  5194  //
  5195  // Use "Send" method on the returned Request to send the API call to the service.
  5196  // the "output" return value is not valid until after Send returns without error.
  5197  //
  5198  // See DescribeGameServer for more information on using the DescribeGameServer
  5199  // API call, and error handling.
  5200  //
  5201  // This method is useful when you want to inject custom logic or configuration
  5202  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5203  //
  5204  //
  5205  //    // Example sending a request using the DescribeGameServerRequest method.
  5206  //    req, resp := client.DescribeGameServerRequest(params)
  5207  //
  5208  //    err := req.Send()
  5209  //    if err == nil { // resp is now filled
  5210  //        fmt.Println(resp)
  5211  //    }
  5212  //
  5213  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServer
  5214  func (c *GameLift) DescribeGameServerRequest(input *DescribeGameServerInput) (req *request.Request, output *DescribeGameServerOutput) {
  5215  	op := &request.Operation{
  5216  		Name:       opDescribeGameServer,
  5217  		HTTPMethod: "POST",
  5218  		HTTPPath:   "/",
  5219  	}
  5220  
  5221  	if input == nil {
  5222  		input = &DescribeGameServerInput{}
  5223  	}
  5224  
  5225  	output = &DescribeGameServerOutput{}
  5226  	req = c.newRequest(op, input, output)
  5227  	return
  5228  }
  5229  
  5230  // DescribeGameServer API operation for Amazon GameLift.
  5231  //
  5232  // This operation is used with the GameLift FleetIQ solution and game server
  5233  // groups.
  5234  //
  5235  // Retrieves information for a registered game server. Information includes
  5236  // game server status, health check info, and the instance that the game server
  5237  // is running on.
  5238  //
  5239  // To retrieve game server information, specify the game server ID. If successful,
  5240  // the requested game server object is returned.
  5241  //
  5242  // Learn more
  5243  //
  5244  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  5245  //
  5246  // Related actions
  5247  //
  5248  // RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
  5249  // | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  5250  //
  5251  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5252  // with awserr.Error's Code and Message methods to get detailed information about
  5253  // the error.
  5254  //
  5255  // See the AWS API reference guide for Amazon GameLift's
  5256  // API operation DescribeGameServer for usage and error information.
  5257  //
  5258  // Returned Error Types:
  5259  //   * InvalidRequestException
  5260  //   One or more parameter values in the request are invalid. Correct the invalid
  5261  //   parameter values before retrying.
  5262  //
  5263  //   * NotFoundException
  5264  //   A service resource associated with the request could not be found. Clients
  5265  //   should not retry such requests.
  5266  //
  5267  //   * UnauthorizedException
  5268  //   The client failed authentication. Clients should not retry such requests.
  5269  //
  5270  //   * InternalServiceException
  5271  //   The service encountered an unrecoverable internal failure while processing
  5272  //   the request. Clients can retry such requests immediately or after a waiting
  5273  //   period.
  5274  //
  5275  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServer
  5276  func (c *GameLift) DescribeGameServer(input *DescribeGameServerInput) (*DescribeGameServerOutput, error) {
  5277  	req, out := c.DescribeGameServerRequest(input)
  5278  	return out, req.Send()
  5279  }
  5280  
  5281  // DescribeGameServerWithContext is the same as DescribeGameServer with the addition of
  5282  // the ability to pass a context and additional request options.
  5283  //
  5284  // See DescribeGameServer for details on how to use this API operation.
  5285  //
  5286  // The context must be non-nil and will be used for request cancellation. If
  5287  // the context is nil a panic will occur. In the future the SDK may create
  5288  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5289  // for more information on using Contexts.
  5290  func (c *GameLift) DescribeGameServerWithContext(ctx aws.Context, input *DescribeGameServerInput, opts ...request.Option) (*DescribeGameServerOutput, error) {
  5291  	req, out := c.DescribeGameServerRequest(input)
  5292  	req.SetContext(ctx)
  5293  	req.ApplyOptions(opts...)
  5294  	return out, req.Send()
  5295  }
  5296  
  5297  const opDescribeGameServerGroup = "DescribeGameServerGroup"
  5298  
  5299  // DescribeGameServerGroupRequest generates a "aws/request.Request" representing the
  5300  // client's request for the DescribeGameServerGroup operation. The "output" return
  5301  // value will be populated with the request's response once the request completes
  5302  // successfully.
  5303  //
  5304  // Use "Send" method on the returned Request to send the API call to the service.
  5305  // the "output" return value is not valid until after Send returns without error.
  5306  //
  5307  // See DescribeGameServerGroup for more information on using the DescribeGameServerGroup
  5308  // API call, and error handling.
  5309  //
  5310  // This method is useful when you want to inject custom logic or configuration
  5311  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5312  //
  5313  //
  5314  //    // Example sending a request using the DescribeGameServerGroupRequest method.
  5315  //    req, resp := client.DescribeGameServerGroupRequest(params)
  5316  //
  5317  //    err := req.Send()
  5318  //    if err == nil { // resp is now filled
  5319  //        fmt.Println(resp)
  5320  //    }
  5321  //
  5322  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerGroup
  5323  func (c *GameLift) DescribeGameServerGroupRequest(input *DescribeGameServerGroupInput) (req *request.Request, output *DescribeGameServerGroupOutput) {
  5324  	op := &request.Operation{
  5325  		Name:       opDescribeGameServerGroup,
  5326  		HTTPMethod: "POST",
  5327  		HTTPPath:   "/",
  5328  	}
  5329  
  5330  	if input == nil {
  5331  		input = &DescribeGameServerGroupInput{}
  5332  	}
  5333  
  5334  	output = &DescribeGameServerGroupOutput{}
  5335  	req = c.newRequest(op, input, output)
  5336  	return
  5337  }
  5338  
  5339  // DescribeGameServerGroup API operation for Amazon GameLift.
  5340  //
  5341  // This operation is used with the GameLift FleetIQ solution and game server
  5342  // groups.
  5343  //
  5344  // Retrieves information on a game server group. This operation returns only
  5345  // properties related to GameLift FleetIQ. To view or update properties for
  5346  // the corresponding Auto Scaling group, such as launch template, auto scaling
  5347  // policies, and maximum/minimum group size, access the Auto Scaling group directly.
  5348  //
  5349  // To get attributes for a game server group, provide a group name or ARN value.
  5350  // If successful, a GameServerGroup object is returned.
  5351  //
  5352  // Learn more
  5353  //
  5354  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  5355  //
  5356  // Related actions
  5357  //
  5358  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
  5359  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
  5360  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  5361  //
  5362  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5363  // with awserr.Error's Code and Message methods to get detailed information about
  5364  // the error.
  5365  //
  5366  // See the AWS API reference guide for Amazon GameLift's
  5367  // API operation DescribeGameServerGroup for usage and error information.
  5368  //
  5369  // Returned Error Types:
  5370  //   * InvalidRequestException
  5371  //   One or more parameter values in the request are invalid. Correct the invalid
  5372  //   parameter values before retrying.
  5373  //
  5374  //   * NotFoundException
  5375  //   A service resource associated with the request could not be found. Clients
  5376  //   should not retry such requests.
  5377  //
  5378  //   * UnauthorizedException
  5379  //   The client failed authentication. Clients should not retry such requests.
  5380  //
  5381  //   * InternalServiceException
  5382  //   The service encountered an unrecoverable internal failure while processing
  5383  //   the request. Clients can retry such requests immediately or after a waiting
  5384  //   period.
  5385  //
  5386  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerGroup
  5387  func (c *GameLift) DescribeGameServerGroup(input *DescribeGameServerGroupInput) (*DescribeGameServerGroupOutput, error) {
  5388  	req, out := c.DescribeGameServerGroupRequest(input)
  5389  	return out, req.Send()
  5390  }
  5391  
  5392  // DescribeGameServerGroupWithContext is the same as DescribeGameServerGroup with the addition of
  5393  // the ability to pass a context and additional request options.
  5394  //
  5395  // See DescribeGameServerGroup for details on how to use this API operation.
  5396  //
  5397  // The context must be non-nil and will be used for request cancellation. If
  5398  // the context is nil a panic will occur. In the future the SDK may create
  5399  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5400  // for more information on using Contexts.
  5401  func (c *GameLift) DescribeGameServerGroupWithContext(ctx aws.Context, input *DescribeGameServerGroupInput, opts ...request.Option) (*DescribeGameServerGroupOutput, error) {
  5402  	req, out := c.DescribeGameServerGroupRequest(input)
  5403  	req.SetContext(ctx)
  5404  	req.ApplyOptions(opts...)
  5405  	return out, req.Send()
  5406  }
  5407  
  5408  const opDescribeGameServerInstances = "DescribeGameServerInstances"
  5409  
  5410  // DescribeGameServerInstancesRequest generates a "aws/request.Request" representing the
  5411  // client's request for the DescribeGameServerInstances operation. The "output" return
  5412  // value will be populated with the request's response once the request completes
  5413  // successfully.
  5414  //
  5415  // Use "Send" method on the returned Request to send the API call to the service.
  5416  // the "output" return value is not valid until after Send returns without error.
  5417  //
  5418  // See DescribeGameServerInstances for more information on using the DescribeGameServerInstances
  5419  // API call, and error handling.
  5420  //
  5421  // This method is useful when you want to inject custom logic or configuration
  5422  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5423  //
  5424  //
  5425  //    // Example sending a request using the DescribeGameServerInstancesRequest method.
  5426  //    req, resp := client.DescribeGameServerInstancesRequest(params)
  5427  //
  5428  //    err := req.Send()
  5429  //    if err == nil { // resp is now filled
  5430  //        fmt.Println(resp)
  5431  //    }
  5432  //
  5433  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerInstances
  5434  func (c *GameLift) DescribeGameServerInstancesRequest(input *DescribeGameServerInstancesInput) (req *request.Request, output *DescribeGameServerInstancesOutput) {
  5435  	op := &request.Operation{
  5436  		Name:       opDescribeGameServerInstances,
  5437  		HTTPMethod: "POST",
  5438  		HTTPPath:   "/",
  5439  		Paginator: &request.Paginator{
  5440  			InputTokens:     []string{"NextToken"},
  5441  			OutputTokens:    []string{"NextToken"},
  5442  			LimitToken:      "Limit",
  5443  			TruncationToken: "",
  5444  		},
  5445  	}
  5446  
  5447  	if input == nil {
  5448  		input = &DescribeGameServerInstancesInput{}
  5449  	}
  5450  
  5451  	output = &DescribeGameServerInstancesOutput{}
  5452  	req = c.newRequest(op, input, output)
  5453  	return
  5454  }
  5455  
  5456  // DescribeGameServerInstances API operation for Amazon GameLift.
  5457  //
  5458  // This operation is used with the GameLift FleetIQ solution and game server
  5459  // groups.
  5460  //
  5461  // Retrieves status information about the Amazon EC2 instances associated with
  5462  // a GameLift FleetIQ game server group. Use this operation to detect when instances
  5463  // are active or not available to host new game servers. If you are looking
  5464  // for instance configuration information, call DescribeGameServerGroup or access
  5465  // the corresponding Auto Scaling group properties.
  5466  //
  5467  // To request status for all instances in the game server group, provide a game
  5468  // server group ID only. To request status for specific instances, provide the
  5469  // game server group ID and one or more instance IDs. Use the pagination parameters
  5470  // to retrieve results in sequential segments. If successful, a collection of
  5471  // GameServerInstance objects is returned.
  5472  //
  5473  // This operation is not designed to be called with every game server claim
  5474  // request; this practice can cause you to exceed your API limit, which results
  5475  // in errors. Instead, as a best practice, cache the results and refresh your
  5476  // cache no more than once every 10 seconds.
  5477  //
  5478  // Learn more
  5479  //
  5480  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  5481  //
  5482  // Related actions
  5483  //
  5484  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
  5485  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
  5486  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  5487  //
  5488  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5489  // with awserr.Error's Code and Message methods to get detailed information about
  5490  // the error.
  5491  //
  5492  // See the AWS API reference guide for Amazon GameLift's
  5493  // API operation DescribeGameServerInstances for usage and error information.
  5494  //
  5495  // Returned Error Types:
  5496  //   * InvalidRequestException
  5497  //   One or more parameter values in the request are invalid. Correct the invalid
  5498  //   parameter values before retrying.
  5499  //
  5500  //   * NotFoundException
  5501  //   A service resource associated with the request could not be found. Clients
  5502  //   should not retry such requests.
  5503  //
  5504  //   * UnauthorizedException
  5505  //   The client failed authentication. Clients should not retry such requests.
  5506  //
  5507  //   * InternalServiceException
  5508  //   The service encountered an unrecoverable internal failure while processing
  5509  //   the request. Clients can retry such requests immediately or after a waiting
  5510  //   period.
  5511  //
  5512  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerInstances
  5513  func (c *GameLift) DescribeGameServerInstances(input *DescribeGameServerInstancesInput) (*DescribeGameServerInstancesOutput, error) {
  5514  	req, out := c.DescribeGameServerInstancesRequest(input)
  5515  	return out, req.Send()
  5516  }
  5517  
  5518  // DescribeGameServerInstancesWithContext is the same as DescribeGameServerInstances with the addition of
  5519  // the ability to pass a context and additional request options.
  5520  //
  5521  // See DescribeGameServerInstances for details on how to use this API operation.
  5522  //
  5523  // The context must be non-nil and will be used for request cancellation. If
  5524  // the context is nil a panic will occur. In the future the SDK may create
  5525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5526  // for more information on using Contexts.
  5527  func (c *GameLift) DescribeGameServerInstancesWithContext(ctx aws.Context, input *DescribeGameServerInstancesInput, opts ...request.Option) (*DescribeGameServerInstancesOutput, error) {
  5528  	req, out := c.DescribeGameServerInstancesRequest(input)
  5529  	req.SetContext(ctx)
  5530  	req.ApplyOptions(opts...)
  5531  	return out, req.Send()
  5532  }
  5533  
  5534  // DescribeGameServerInstancesPages iterates over the pages of a DescribeGameServerInstances operation,
  5535  // calling the "fn" function with the response data for each page. To stop
  5536  // iterating, return false from the fn function.
  5537  //
  5538  // See DescribeGameServerInstances method for more information on how to use this operation.
  5539  //
  5540  // Note: This operation can generate multiple requests to a service.
  5541  //
  5542  //    // Example iterating over at most 3 pages of a DescribeGameServerInstances operation.
  5543  //    pageNum := 0
  5544  //    err := client.DescribeGameServerInstancesPages(params,
  5545  //        func(page *gamelift.DescribeGameServerInstancesOutput, lastPage bool) bool {
  5546  //            pageNum++
  5547  //            fmt.Println(page)
  5548  //            return pageNum <= 3
  5549  //        })
  5550  //
  5551  func (c *GameLift) DescribeGameServerInstancesPages(input *DescribeGameServerInstancesInput, fn func(*DescribeGameServerInstancesOutput, bool) bool) error {
  5552  	return c.DescribeGameServerInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  5553  }
  5554  
  5555  // DescribeGameServerInstancesPagesWithContext same as DescribeGameServerInstancesPages except
  5556  // it takes a Context and allows setting request options on the pages.
  5557  //
  5558  // The context must be non-nil and will be used for request cancellation. If
  5559  // the context is nil a panic will occur. In the future the SDK may create
  5560  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5561  // for more information on using Contexts.
  5562  func (c *GameLift) DescribeGameServerInstancesPagesWithContext(ctx aws.Context, input *DescribeGameServerInstancesInput, fn func(*DescribeGameServerInstancesOutput, bool) bool, opts ...request.Option) error {
  5563  	p := request.Pagination{
  5564  		NewRequest: func() (*request.Request, error) {
  5565  			var inCpy *DescribeGameServerInstancesInput
  5566  			if input != nil {
  5567  				tmp := *input
  5568  				inCpy = &tmp
  5569  			}
  5570  			req, _ := c.DescribeGameServerInstancesRequest(inCpy)
  5571  			req.SetContext(ctx)
  5572  			req.ApplyOptions(opts...)
  5573  			return req, nil
  5574  		},
  5575  	}
  5576  
  5577  	for p.Next() {
  5578  		if !fn(p.Page().(*DescribeGameServerInstancesOutput), !p.HasNextPage()) {
  5579  			break
  5580  		}
  5581  	}
  5582  
  5583  	return p.Err()
  5584  }
  5585  
  5586  const opDescribeGameSessionDetails = "DescribeGameSessionDetails"
  5587  
  5588  // DescribeGameSessionDetailsRequest generates a "aws/request.Request" representing the
  5589  // client's request for the DescribeGameSessionDetails operation. The "output" return
  5590  // value will be populated with the request's response once the request completes
  5591  // successfully.
  5592  //
  5593  // Use "Send" method on the returned Request to send the API call to the service.
  5594  // the "output" return value is not valid until after Send returns without error.
  5595  //
  5596  // See DescribeGameSessionDetails for more information on using the DescribeGameSessionDetails
  5597  // API call, and error handling.
  5598  //
  5599  // This method is useful when you want to inject custom logic or configuration
  5600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5601  //
  5602  //
  5603  //    // Example sending a request using the DescribeGameSessionDetailsRequest method.
  5604  //    req, resp := client.DescribeGameSessionDetailsRequest(params)
  5605  //
  5606  //    err := req.Send()
  5607  //    if err == nil { // resp is now filled
  5608  //        fmt.Println(resp)
  5609  //    }
  5610  //
  5611  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
  5612  func (c *GameLift) DescribeGameSessionDetailsRequest(input *DescribeGameSessionDetailsInput) (req *request.Request, output *DescribeGameSessionDetailsOutput) {
  5613  	op := &request.Operation{
  5614  		Name:       opDescribeGameSessionDetails,
  5615  		HTTPMethod: "POST",
  5616  		HTTPPath:   "/",
  5617  		Paginator: &request.Paginator{
  5618  			InputTokens:     []string{"NextToken"},
  5619  			OutputTokens:    []string{"NextToken"},
  5620  			LimitToken:      "Limit",
  5621  			TruncationToken: "",
  5622  		},
  5623  	}
  5624  
  5625  	if input == nil {
  5626  		input = &DescribeGameSessionDetailsInput{}
  5627  	}
  5628  
  5629  	output = &DescribeGameSessionDetailsOutput{}
  5630  	req = c.newRequest(op, input, output)
  5631  	return
  5632  }
  5633  
  5634  // DescribeGameSessionDetails API operation for Amazon GameLift.
  5635  //
  5636  // Retrieves additional game session properties, including the game session
  5637  // protection policy in force, a set of one or more game sessions in a specific
  5638  // fleet location. You can optionally filter the results by current game session
  5639  // status. Alternatively, use SearchGameSessions to request a set of active
  5640  // game sessions that are filtered by certain criteria. To retrieve all game
  5641  // session properties, use DescribeGameSessions.
  5642  //
  5643  // This operation can be used in the following ways:
  5644  //
  5645  //    * To retrieve details for all game sessions that are currently running
  5646  //    on all locations in a fleet, provide a fleet or alias ID, with an optional
  5647  //    status filter. This approach returns details from the fleet's home Region
  5648  //    and all remote locations.
  5649  //
  5650  //    * To retrieve details for all game sessions that are currently running
  5651  //    on a specific fleet location, provide a fleet or alias ID and a location
  5652  //    name, with optional status filter. The location can be the fleet's home
  5653  //    Region or any remote location.
  5654  //
  5655  //    * To retrieve details for a specific game session, provide the game session
  5656  //    ID. This approach looks for the game session ID in all fleets that reside
  5657  //    in the AWS Region defined in the request.
  5658  //
  5659  // Use the pagination parameters to retrieve results as a set of sequential
  5660  // pages.
  5661  //
  5662  // If successful, a GameSessionDetail object is returned for each game session
  5663  // that matches the request.
  5664  //
  5665  // Learn more
  5666  //
  5667  // Find a game session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-find)
  5668  //
  5669  // Related actions
  5670  //
  5671  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
  5672  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
  5673  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
  5674  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  5675  //
  5676  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5677  // with awserr.Error's Code and Message methods to get detailed information about
  5678  // the error.
  5679  //
  5680  // See the AWS API reference guide for Amazon GameLift's
  5681  // API operation DescribeGameSessionDetails for usage and error information.
  5682  //
  5683  // Returned Error Types:
  5684  //   * InternalServiceException
  5685  //   The service encountered an unrecoverable internal failure while processing
  5686  //   the request. Clients can retry such requests immediately or after a waiting
  5687  //   period.
  5688  //
  5689  //   * NotFoundException
  5690  //   A service resource associated with the request could not be found. Clients
  5691  //   should not retry such requests.
  5692  //
  5693  //   * InvalidRequestException
  5694  //   One or more parameter values in the request are invalid. Correct the invalid
  5695  //   parameter values before retrying.
  5696  //
  5697  //   * UnauthorizedException
  5698  //   The client failed authentication. Clients should not retry such requests.
  5699  //
  5700  //   * TerminalRoutingStrategyException
  5701  //   The service is unable to resolve the routing for a particular alias because
  5702  //   it has a terminal RoutingStrategy associated with it. The message returned
  5703  //   in this exception is the message defined in the routing strategy itself.
  5704  //   Such requests should only be retried if the routing strategy for the specified
  5705  //   alias is modified.
  5706  //
  5707  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionDetails
  5708  func (c *GameLift) DescribeGameSessionDetails(input *DescribeGameSessionDetailsInput) (*DescribeGameSessionDetailsOutput, error) {
  5709  	req, out := c.DescribeGameSessionDetailsRequest(input)
  5710  	return out, req.Send()
  5711  }
  5712  
  5713  // DescribeGameSessionDetailsWithContext is the same as DescribeGameSessionDetails with the addition of
  5714  // the ability to pass a context and additional request options.
  5715  //
  5716  // See DescribeGameSessionDetails for details on how to use this API operation.
  5717  //
  5718  // The context must be non-nil and will be used for request cancellation. If
  5719  // the context is nil a panic will occur. In the future the SDK may create
  5720  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5721  // for more information on using Contexts.
  5722  func (c *GameLift) DescribeGameSessionDetailsWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, opts ...request.Option) (*DescribeGameSessionDetailsOutput, error) {
  5723  	req, out := c.DescribeGameSessionDetailsRequest(input)
  5724  	req.SetContext(ctx)
  5725  	req.ApplyOptions(opts...)
  5726  	return out, req.Send()
  5727  }
  5728  
  5729  // DescribeGameSessionDetailsPages iterates over the pages of a DescribeGameSessionDetails operation,
  5730  // calling the "fn" function with the response data for each page. To stop
  5731  // iterating, return false from the fn function.
  5732  //
  5733  // See DescribeGameSessionDetails method for more information on how to use this operation.
  5734  //
  5735  // Note: This operation can generate multiple requests to a service.
  5736  //
  5737  //    // Example iterating over at most 3 pages of a DescribeGameSessionDetails operation.
  5738  //    pageNum := 0
  5739  //    err := client.DescribeGameSessionDetailsPages(params,
  5740  //        func(page *gamelift.DescribeGameSessionDetailsOutput, lastPage bool) bool {
  5741  //            pageNum++
  5742  //            fmt.Println(page)
  5743  //            return pageNum <= 3
  5744  //        })
  5745  //
  5746  func (c *GameLift) DescribeGameSessionDetailsPages(input *DescribeGameSessionDetailsInput, fn func(*DescribeGameSessionDetailsOutput, bool) bool) error {
  5747  	return c.DescribeGameSessionDetailsPagesWithContext(aws.BackgroundContext(), input, fn)
  5748  }
  5749  
  5750  // DescribeGameSessionDetailsPagesWithContext same as DescribeGameSessionDetailsPages except
  5751  // it takes a Context and allows setting request options on the pages.
  5752  //
  5753  // The context must be non-nil and will be used for request cancellation. If
  5754  // the context is nil a panic will occur. In the future the SDK may create
  5755  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5756  // for more information on using Contexts.
  5757  func (c *GameLift) DescribeGameSessionDetailsPagesWithContext(ctx aws.Context, input *DescribeGameSessionDetailsInput, fn func(*DescribeGameSessionDetailsOutput, bool) bool, opts ...request.Option) error {
  5758  	p := request.Pagination{
  5759  		NewRequest: func() (*request.Request, error) {
  5760  			var inCpy *DescribeGameSessionDetailsInput
  5761  			if input != nil {
  5762  				tmp := *input
  5763  				inCpy = &tmp
  5764  			}
  5765  			req, _ := c.DescribeGameSessionDetailsRequest(inCpy)
  5766  			req.SetContext(ctx)
  5767  			req.ApplyOptions(opts...)
  5768  			return req, nil
  5769  		},
  5770  	}
  5771  
  5772  	for p.Next() {
  5773  		if !fn(p.Page().(*DescribeGameSessionDetailsOutput), !p.HasNextPage()) {
  5774  			break
  5775  		}
  5776  	}
  5777  
  5778  	return p.Err()
  5779  }
  5780  
  5781  const opDescribeGameSessionPlacement = "DescribeGameSessionPlacement"
  5782  
  5783  // DescribeGameSessionPlacementRequest generates a "aws/request.Request" representing the
  5784  // client's request for the DescribeGameSessionPlacement operation. The "output" return
  5785  // value will be populated with the request's response once the request completes
  5786  // successfully.
  5787  //
  5788  // Use "Send" method on the returned Request to send the API call to the service.
  5789  // the "output" return value is not valid until after Send returns without error.
  5790  //
  5791  // See DescribeGameSessionPlacement for more information on using the DescribeGameSessionPlacement
  5792  // API call, and error handling.
  5793  //
  5794  // This method is useful when you want to inject custom logic or configuration
  5795  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5796  //
  5797  //
  5798  //    // Example sending a request using the DescribeGameSessionPlacementRequest method.
  5799  //    req, resp := client.DescribeGameSessionPlacementRequest(params)
  5800  //
  5801  //    err := req.Send()
  5802  //    if err == nil { // resp is now filled
  5803  //        fmt.Println(resp)
  5804  //    }
  5805  //
  5806  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
  5807  func (c *GameLift) DescribeGameSessionPlacementRequest(input *DescribeGameSessionPlacementInput) (req *request.Request, output *DescribeGameSessionPlacementOutput) {
  5808  	op := &request.Operation{
  5809  		Name:       opDescribeGameSessionPlacement,
  5810  		HTTPMethod: "POST",
  5811  		HTTPPath:   "/",
  5812  	}
  5813  
  5814  	if input == nil {
  5815  		input = &DescribeGameSessionPlacementInput{}
  5816  	}
  5817  
  5818  	output = &DescribeGameSessionPlacementOutput{}
  5819  	req = c.newRequest(op, input, output)
  5820  	return
  5821  }
  5822  
  5823  // DescribeGameSessionPlacement API operation for Amazon GameLift.
  5824  //
  5825  // Retrieves information, including current status, about a game session placement
  5826  // request.
  5827  //
  5828  // To get game session placement details, specify the placement ID.
  5829  //
  5830  // If successful, a GameSessionPlacement object is returned.
  5831  //
  5832  // Related actions
  5833  //
  5834  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
  5835  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
  5836  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
  5837  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  5838  //
  5839  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5840  // with awserr.Error's Code and Message methods to get detailed information about
  5841  // the error.
  5842  //
  5843  // See the AWS API reference guide for Amazon GameLift's
  5844  // API operation DescribeGameSessionPlacement for usage and error information.
  5845  //
  5846  // Returned Error Types:
  5847  //   * InternalServiceException
  5848  //   The service encountered an unrecoverable internal failure while processing
  5849  //   the request. Clients can retry such requests immediately or after a waiting
  5850  //   period.
  5851  //
  5852  //   * InvalidRequestException
  5853  //   One or more parameter values in the request are invalid. Correct the invalid
  5854  //   parameter values before retrying.
  5855  //
  5856  //   * NotFoundException
  5857  //   A service resource associated with the request could not be found. Clients
  5858  //   should not retry such requests.
  5859  //
  5860  //   * UnauthorizedException
  5861  //   The client failed authentication. Clients should not retry such requests.
  5862  //
  5863  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement
  5864  func (c *GameLift) DescribeGameSessionPlacement(input *DescribeGameSessionPlacementInput) (*DescribeGameSessionPlacementOutput, error) {
  5865  	req, out := c.DescribeGameSessionPlacementRequest(input)
  5866  	return out, req.Send()
  5867  }
  5868  
  5869  // DescribeGameSessionPlacementWithContext is the same as DescribeGameSessionPlacement with the addition of
  5870  // the ability to pass a context and additional request options.
  5871  //
  5872  // See DescribeGameSessionPlacement for details on how to use this API operation.
  5873  //
  5874  // The context must be non-nil and will be used for request cancellation. If
  5875  // the context is nil a panic will occur. In the future the SDK may create
  5876  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5877  // for more information on using Contexts.
  5878  func (c *GameLift) DescribeGameSessionPlacementWithContext(ctx aws.Context, input *DescribeGameSessionPlacementInput, opts ...request.Option) (*DescribeGameSessionPlacementOutput, error) {
  5879  	req, out := c.DescribeGameSessionPlacementRequest(input)
  5880  	req.SetContext(ctx)
  5881  	req.ApplyOptions(opts...)
  5882  	return out, req.Send()
  5883  }
  5884  
  5885  const opDescribeGameSessionQueues = "DescribeGameSessionQueues"
  5886  
  5887  // DescribeGameSessionQueuesRequest generates a "aws/request.Request" representing the
  5888  // client's request for the DescribeGameSessionQueues operation. The "output" return
  5889  // value will be populated with the request's response once the request completes
  5890  // successfully.
  5891  //
  5892  // Use "Send" method on the returned Request to send the API call to the service.
  5893  // the "output" return value is not valid until after Send returns without error.
  5894  //
  5895  // See DescribeGameSessionQueues for more information on using the DescribeGameSessionQueues
  5896  // API call, and error handling.
  5897  //
  5898  // This method is useful when you want to inject custom logic or configuration
  5899  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5900  //
  5901  //
  5902  //    // Example sending a request using the DescribeGameSessionQueuesRequest method.
  5903  //    req, resp := client.DescribeGameSessionQueuesRequest(params)
  5904  //
  5905  //    err := req.Send()
  5906  //    if err == nil { // resp is now filled
  5907  //        fmt.Println(resp)
  5908  //    }
  5909  //
  5910  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
  5911  func (c *GameLift) DescribeGameSessionQueuesRequest(input *DescribeGameSessionQueuesInput) (req *request.Request, output *DescribeGameSessionQueuesOutput) {
  5912  	op := &request.Operation{
  5913  		Name:       opDescribeGameSessionQueues,
  5914  		HTTPMethod: "POST",
  5915  		HTTPPath:   "/",
  5916  		Paginator: &request.Paginator{
  5917  			InputTokens:     []string{"NextToken"},
  5918  			OutputTokens:    []string{"NextToken"},
  5919  			LimitToken:      "Limit",
  5920  			TruncationToken: "",
  5921  		},
  5922  	}
  5923  
  5924  	if input == nil {
  5925  		input = &DescribeGameSessionQueuesInput{}
  5926  	}
  5927  
  5928  	output = &DescribeGameSessionQueuesOutput{}
  5929  	req = c.newRequest(op, input, output)
  5930  	return
  5931  }
  5932  
  5933  // DescribeGameSessionQueues API operation for Amazon GameLift.
  5934  //
  5935  // Retrieves the properties for one or more game session queues. When requesting
  5936  // multiple queues, use the pagination parameters to retrieve results as a set
  5937  // of sequential pages. If successful, a GameSessionQueue object is returned
  5938  // for each requested queue. When specifying a list of queues, objects are returned
  5939  // only for queues that currently exist in the Region.
  5940  //
  5941  // Learn more
  5942  //
  5943  //  View Your Queues (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-console.html)
  5944  //
  5945  // Related actions
  5946  //
  5947  // CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
  5948  // | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  5949  //
  5950  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5951  // with awserr.Error's Code and Message methods to get detailed information about
  5952  // the error.
  5953  //
  5954  // See the AWS API reference guide for Amazon GameLift's
  5955  // API operation DescribeGameSessionQueues for usage and error information.
  5956  //
  5957  // Returned Error Types:
  5958  //   * InternalServiceException
  5959  //   The service encountered an unrecoverable internal failure while processing
  5960  //   the request. Clients can retry such requests immediately or after a waiting
  5961  //   period.
  5962  //
  5963  //   * InvalidRequestException
  5964  //   One or more parameter values in the request are invalid. Correct the invalid
  5965  //   parameter values before retrying.
  5966  //
  5967  //   * NotFoundException
  5968  //   A service resource associated with the request could not be found. Clients
  5969  //   should not retry such requests.
  5970  //
  5971  //   * UnauthorizedException
  5972  //   The client failed authentication. Clients should not retry such requests.
  5973  //
  5974  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionQueues
  5975  func (c *GameLift) DescribeGameSessionQueues(input *DescribeGameSessionQueuesInput) (*DescribeGameSessionQueuesOutput, error) {
  5976  	req, out := c.DescribeGameSessionQueuesRequest(input)
  5977  	return out, req.Send()
  5978  }
  5979  
  5980  // DescribeGameSessionQueuesWithContext is the same as DescribeGameSessionQueues with the addition of
  5981  // the ability to pass a context and additional request options.
  5982  //
  5983  // See DescribeGameSessionQueues for details on how to use this API operation.
  5984  //
  5985  // The context must be non-nil and will be used for request cancellation. If
  5986  // the context is nil a panic will occur. In the future the SDK may create
  5987  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5988  // for more information on using Contexts.
  5989  func (c *GameLift) DescribeGameSessionQueuesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, opts ...request.Option) (*DescribeGameSessionQueuesOutput, error) {
  5990  	req, out := c.DescribeGameSessionQueuesRequest(input)
  5991  	req.SetContext(ctx)
  5992  	req.ApplyOptions(opts...)
  5993  	return out, req.Send()
  5994  }
  5995  
  5996  // DescribeGameSessionQueuesPages iterates over the pages of a DescribeGameSessionQueues operation,
  5997  // calling the "fn" function with the response data for each page. To stop
  5998  // iterating, return false from the fn function.
  5999  //
  6000  // See DescribeGameSessionQueues method for more information on how to use this operation.
  6001  //
  6002  // Note: This operation can generate multiple requests to a service.
  6003  //
  6004  //    // Example iterating over at most 3 pages of a DescribeGameSessionQueues operation.
  6005  //    pageNum := 0
  6006  //    err := client.DescribeGameSessionQueuesPages(params,
  6007  //        func(page *gamelift.DescribeGameSessionQueuesOutput, lastPage bool) bool {
  6008  //            pageNum++
  6009  //            fmt.Println(page)
  6010  //            return pageNum <= 3
  6011  //        })
  6012  //
  6013  func (c *GameLift) DescribeGameSessionQueuesPages(input *DescribeGameSessionQueuesInput, fn func(*DescribeGameSessionQueuesOutput, bool) bool) error {
  6014  	return c.DescribeGameSessionQueuesPagesWithContext(aws.BackgroundContext(), input, fn)
  6015  }
  6016  
  6017  // DescribeGameSessionQueuesPagesWithContext same as DescribeGameSessionQueuesPages except
  6018  // it takes a Context and allows setting request options on the pages.
  6019  //
  6020  // The context must be non-nil and will be used for request cancellation. If
  6021  // the context is nil a panic will occur. In the future the SDK may create
  6022  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6023  // for more information on using Contexts.
  6024  func (c *GameLift) DescribeGameSessionQueuesPagesWithContext(ctx aws.Context, input *DescribeGameSessionQueuesInput, fn func(*DescribeGameSessionQueuesOutput, bool) bool, opts ...request.Option) error {
  6025  	p := request.Pagination{
  6026  		NewRequest: func() (*request.Request, error) {
  6027  			var inCpy *DescribeGameSessionQueuesInput
  6028  			if input != nil {
  6029  				tmp := *input
  6030  				inCpy = &tmp
  6031  			}
  6032  			req, _ := c.DescribeGameSessionQueuesRequest(inCpy)
  6033  			req.SetContext(ctx)
  6034  			req.ApplyOptions(opts...)
  6035  			return req, nil
  6036  		},
  6037  	}
  6038  
  6039  	for p.Next() {
  6040  		if !fn(p.Page().(*DescribeGameSessionQueuesOutput), !p.HasNextPage()) {
  6041  			break
  6042  		}
  6043  	}
  6044  
  6045  	return p.Err()
  6046  }
  6047  
  6048  const opDescribeGameSessions = "DescribeGameSessions"
  6049  
  6050  // DescribeGameSessionsRequest generates a "aws/request.Request" representing the
  6051  // client's request for the DescribeGameSessions operation. The "output" return
  6052  // value will be populated with the request's response once the request completes
  6053  // successfully.
  6054  //
  6055  // Use "Send" method on the returned Request to send the API call to the service.
  6056  // the "output" return value is not valid until after Send returns without error.
  6057  //
  6058  // See DescribeGameSessions for more information on using the DescribeGameSessions
  6059  // API call, and error handling.
  6060  //
  6061  // This method is useful when you want to inject custom logic or configuration
  6062  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6063  //
  6064  //
  6065  //    // Example sending a request using the DescribeGameSessionsRequest method.
  6066  //    req, resp := client.DescribeGameSessionsRequest(params)
  6067  //
  6068  //    err := req.Send()
  6069  //    if err == nil { // resp is now filled
  6070  //        fmt.Println(resp)
  6071  //    }
  6072  //
  6073  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
  6074  func (c *GameLift) DescribeGameSessionsRequest(input *DescribeGameSessionsInput) (req *request.Request, output *DescribeGameSessionsOutput) {
  6075  	op := &request.Operation{
  6076  		Name:       opDescribeGameSessions,
  6077  		HTTPMethod: "POST",
  6078  		HTTPPath:   "/",
  6079  		Paginator: &request.Paginator{
  6080  			InputTokens:     []string{"NextToken"},
  6081  			OutputTokens:    []string{"NextToken"},
  6082  			LimitToken:      "Limit",
  6083  			TruncationToken: "",
  6084  		},
  6085  	}
  6086  
  6087  	if input == nil {
  6088  		input = &DescribeGameSessionsInput{}
  6089  	}
  6090  
  6091  	output = &DescribeGameSessionsOutput{}
  6092  	req = c.newRequest(op, input, output)
  6093  	return
  6094  }
  6095  
  6096  // DescribeGameSessions API operation for Amazon GameLift.
  6097  //
  6098  // Retrieves a set of one or more game sessions in a specific fleet location.
  6099  // You can optionally filter the results by current game session status. Alternatively,
  6100  // use SearchGameSessions to request a set of active game sessions that are
  6101  // filtered by certain criteria. To retrieve the protection policy for game
  6102  // sessions, use DescribeGameSessionDetails.
  6103  //
  6104  // This operation can be used in the following ways:
  6105  //
  6106  //    * To retrieve all game sessions that are currently running on all locations
  6107  //    in a fleet, provide a fleet or alias ID, with an optional status filter.
  6108  //    This approach returns all game sessions in the fleet's home Region and
  6109  //    all remote locations.
  6110  //
  6111  //    * To retrieve all game sessions that are currently running on a specific
  6112  //    fleet location, provide a fleet or alias ID and a location name, with
  6113  //    optional status filter. The location can be the fleet's home Region or
  6114  //    any remote location.
  6115  //
  6116  //    * To retrieve a specific game session, provide the game session ID. This
  6117  //    approach looks for the game session ID in all fleets that reside in the
  6118  //    AWS Region defined in the request.
  6119  //
  6120  // Use the pagination parameters to retrieve results as a set of sequential
  6121  // pages.
  6122  //
  6123  // If successful, a GameSession object is returned for each game session that
  6124  // matches the request.
  6125  //
  6126  // Available in GameLift Local.
  6127  //
  6128  // Learn more
  6129  //
  6130  // Find a game session (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-find)
  6131  //
  6132  // Related actions
  6133  //
  6134  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
  6135  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
  6136  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
  6137  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  6138  //
  6139  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6140  // with awserr.Error's Code and Message methods to get detailed information about
  6141  // the error.
  6142  //
  6143  // See the AWS API reference guide for Amazon GameLift's
  6144  // API operation DescribeGameSessions for usage and error information.
  6145  //
  6146  // Returned Error Types:
  6147  //   * InternalServiceException
  6148  //   The service encountered an unrecoverable internal failure while processing
  6149  //   the request. Clients can retry such requests immediately or after a waiting
  6150  //   period.
  6151  //
  6152  //   * NotFoundException
  6153  //   A service resource associated with the request could not be found. Clients
  6154  //   should not retry such requests.
  6155  //
  6156  //   * InvalidRequestException
  6157  //   One or more parameter values in the request are invalid. Correct the invalid
  6158  //   parameter values before retrying.
  6159  //
  6160  //   * UnauthorizedException
  6161  //   The client failed authentication. Clients should not retry such requests.
  6162  //
  6163  //   * TerminalRoutingStrategyException
  6164  //   The service is unable to resolve the routing for a particular alias because
  6165  //   it has a terminal RoutingStrategy associated with it. The message returned
  6166  //   in this exception is the message defined in the routing strategy itself.
  6167  //   Such requests should only be retried if the routing strategy for the specified
  6168  //   alias is modified.
  6169  //
  6170  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessions
  6171  func (c *GameLift) DescribeGameSessions(input *DescribeGameSessionsInput) (*DescribeGameSessionsOutput, error) {
  6172  	req, out := c.DescribeGameSessionsRequest(input)
  6173  	return out, req.Send()
  6174  }
  6175  
  6176  // DescribeGameSessionsWithContext is the same as DescribeGameSessions with the addition of
  6177  // the ability to pass a context and additional request options.
  6178  //
  6179  // See DescribeGameSessions for details on how to use this API operation.
  6180  //
  6181  // The context must be non-nil and will be used for request cancellation. If
  6182  // the context is nil a panic will occur. In the future the SDK may create
  6183  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6184  // for more information on using Contexts.
  6185  func (c *GameLift) DescribeGameSessionsWithContext(ctx aws.Context, input *DescribeGameSessionsInput, opts ...request.Option) (*DescribeGameSessionsOutput, error) {
  6186  	req, out := c.DescribeGameSessionsRequest(input)
  6187  	req.SetContext(ctx)
  6188  	req.ApplyOptions(opts...)
  6189  	return out, req.Send()
  6190  }
  6191  
  6192  // DescribeGameSessionsPages iterates over the pages of a DescribeGameSessions operation,
  6193  // calling the "fn" function with the response data for each page. To stop
  6194  // iterating, return false from the fn function.
  6195  //
  6196  // See DescribeGameSessions method for more information on how to use this operation.
  6197  //
  6198  // Note: This operation can generate multiple requests to a service.
  6199  //
  6200  //    // Example iterating over at most 3 pages of a DescribeGameSessions operation.
  6201  //    pageNum := 0
  6202  //    err := client.DescribeGameSessionsPages(params,
  6203  //        func(page *gamelift.DescribeGameSessionsOutput, lastPage bool) bool {
  6204  //            pageNum++
  6205  //            fmt.Println(page)
  6206  //            return pageNum <= 3
  6207  //        })
  6208  //
  6209  func (c *GameLift) DescribeGameSessionsPages(input *DescribeGameSessionsInput, fn func(*DescribeGameSessionsOutput, bool) bool) error {
  6210  	return c.DescribeGameSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
  6211  }
  6212  
  6213  // DescribeGameSessionsPagesWithContext same as DescribeGameSessionsPages except
  6214  // it takes a Context and allows setting request options on the pages.
  6215  //
  6216  // The context must be non-nil and will be used for request cancellation. If
  6217  // the context is nil a panic will occur. In the future the SDK may create
  6218  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6219  // for more information on using Contexts.
  6220  func (c *GameLift) DescribeGameSessionsPagesWithContext(ctx aws.Context, input *DescribeGameSessionsInput, fn func(*DescribeGameSessionsOutput, bool) bool, opts ...request.Option) error {
  6221  	p := request.Pagination{
  6222  		NewRequest: func() (*request.Request, error) {
  6223  			var inCpy *DescribeGameSessionsInput
  6224  			if input != nil {
  6225  				tmp := *input
  6226  				inCpy = &tmp
  6227  			}
  6228  			req, _ := c.DescribeGameSessionsRequest(inCpy)
  6229  			req.SetContext(ctx)
  6230  			req.ApplyOptions(opts...)
  6231  			return req, nil
  6232  		},
  6233  	}
  6234  
  6235  	for p.Next() {
  6236  		if !fn(p.Page().(*DescribeGameSessionsOutput), !p.HasNextPage()) {
  6237  			break
  6238  		}
  6239  	}
  6240  
  6241  	return p.Err()
  6242  }
  6243  
  6244  const opDescribeInstances = "DescribeInstances"
  6245  
  6246  // DescribeInstancesRequest generates a "aws/request.Request" representing the
  6247  // client's request for the DescribeInstances operation. The "output" return
  6248  // value will be populated with the request's response once the request completes
  6249  // successfully.
  6250  //
  6251  // Use "Send" method on the returned Request to send the API call to the service.
  6252  // the "output" return value is not valid until after Send returns without error.
  6253  //
  6254  // See DescribeInstances for more information on using the DescribeInstances
  6255  // API call, and error handling.
  6256  //
  6257  // This method is useful when you want to inject custom logic or configuration
  6258  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6259  //
  6260  //
  6261  //    // Example sending a request using the DescribeInstancesRequest method.
  6262  //    req, resp := client.DescribeInstancesRequest(params)
  6263  //
  6264  //    err := req.Send()
  6265  //    if err == nil { // resp is now filled
  6266  //        fmt.Println(resp)
  6267  //    }
  6268  //
  6269  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
  6270  func (c *GameLift) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
  6271  	op := &request.Operation{
  6272  		Name:       opDescribeInstances,
  6273  		HTTPMethod: "POST",
  6274  		HTTPPath:   "/",
  6275  		Paginator: &request.Paginator{
  6276  			InputTokens:     []string{"NextToken"},
  6277  			OutputTokens:    []string{"NextToken"},
  6278  			LimitToken:      "Limit",
  6279  			TruncationToken: "",
  6280  		},
  6281  	}
  6282  
  6283  	if input == nil {
  6284  		input = &DescribeInstancesInput{}
  6285  	}
  6286  
  6287  	output = &DescribeInstancesOutput{}
  6288  	req = c.newRequest(op, input, output)
  6289  	return
  6290  }
  6291  
  6292  // DescribeInstances API operation for Amazon GameLift.
  6293  //
  6294  // Retrieves information about a fleet's instances, including instance IDs,
  6295  // connection data, and status.
  6296  //
  6297  // This operation can be used in the following ways:
  6298  //
  6299  //    * To get information on all instances that are deployed to a fleet's home
  6300  //    Region, provide the fleet ID.
  6301  //
  6302  //    * To get information on all instances that are deployed to a fleet's remote
  6303  //    location, provide the fleet ID and location name.
  6304  //
  6305  //    * To get information on a specific instance in a fleet, provide the fleet
  6306  //    ID and instance ID.
  6307  //
  6308  // Use the pagination parameters to retrieve results as a set of sequential
  6309  // pages.
  6310  //
  6311  // If successful, an Instance object is returned for each requested instance.
  6312  // Instances are not returned in any particular order.
  6313  //
  6314  // Learn more
  6315  //
  6316  // Remotely Access Fleet Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html)
  6317  //
  6318  // Debug Fleet Issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html)
  6319  //
  6320  // Related actions
  6321  //
  6322  // DescribeInstances | GetInstanceAccess | DescribeEC2InstanceLimits | All APIs
  6323  // by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  6324  //
  6325  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6326  // with awserr.Error's Code and Message methods to get detailed information about
  6327  // the error.
  6328  //
  6329  // See the AWS API reference guide for Amazon GameLift's
  6330  // API operation DescribeInstances for usage and error information.
  6331  //
  6332  // Returned Error Types:
  6333  //   * UnauthorizedException
  6334  //   The client failed authentication. Clients should not retry such requests.
  6335  //
  6336  //   * InvalidRequestException
  6337  //   One or more parameter values in the request are invalid. Correct the invalid
  6338  //   parameter values before retrying.
  6339  //
  6340  //   * NotFoundException
  6341  //   A service resource associated with the request could not be found. Clients
  6342  //   should not retry such requests.
  6343  //
  6344  //   * InternalServiceException
  6345  //   The service encountered an unrecoverable internal failure while processing
  6346  //   the request. Clients can retry such requests immediately or after a waiting
  6347  //   period.
  6348  //
  6349  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeInstances
  6350  func (c *GameLift) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
  6351  	req, out := c.DescribeInstancesRequest(input)
  6352  	return out, req.Send()
  6353  }
  6354  
  6355  // DescribeInstancesWithContext is the same as DescribeInstances with the addition of
  6356  // the ability to pass a context and additional request options.
  6357  //
  6358  // See DescribeInstances for details on how to use this API operation.
  6359  //
  6360  // The context must be non-nil and will be used for request cancellation. If
  6361  // the context is nil a panic will occur. In the future the SDK may create
  6362  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6363  // for more information on using Contexts.
  6364  func (c *GameLift) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
  6365  	req, out := c.DescribeInstancesRequest(input)
  6366  	req.SetContext(ctx)
  6367  	req.ApplyOptions(opts...)
  6368  	return out, req.Send()
  6369  }
  6370  
  6371  // DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
  6372  // calling the "fn" function with the response data for each page. To stop
  6373  // iterating, return false from the fn function.
  6374  //
  6375  // See DescribeInstances method for more information on how to use this operation.
  6376  //
  6377  // Note: This operation can generate multiple requests to a service.
  6378  //
  6379  //    // Example iterating over at most 3 pages of a DescribeInstances operation.
  6380  //    pageNum := 0
  6381  //    err := client.DescribeInstancesPages(params,
  6382  //        func(page *gamelift.DescribeInstancesOutput, lastPage bool) bool {
  6383  //            pageNum++
  6384  //            fmt.Println(page)
  6385  //            return pageNum <= 3
  6386  //        })
  6387  //
  6388  func (c *GameLift) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
  6389  	return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  6390  }
  6391  
  6392  // DescribeInstancesPagesWithContext same as DescribeInstancesPages except
  6393  // it takes a Context and allows setting request options on the pages.
  6394  //
  6395  // The context must be non-nil and will be used for request cancellation. If
  6396  // the context is nil a panic will occur. In the future the SDK may create
  6397  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6398  // for more information on using Contexts.
  6399  func (c *GameLift) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
  6400  	p := request.Pagination{
  6401  		NewRequest: func() (*request.Request, error) {
  6402  			var inCpy *DescribeInstancesInput
  6403  			if input != nil {
  6404  				tmp := *input
  6405  				inCpy = &tmp
  6406  			}
  6407  			req, _ := c.DescribeInstancesRequest(inCpy)
  6408  			req.SetContext(ctx)
  6409  			req.ApplyOptions(opts...)
  6410  			return req, nil
  6411  		},
  6412  	}
  6413  
  6414  	for p.Next() {
  6415  		if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) {
  6416  			break
  6417  		}
  6418  	}
  6419  
  6420  	return p.Err()
  6421  }
  6422  
  6423  const opDescribeMatchmaking = "DescribeMatchmaking"
  6424  
  6425  // DescribeMatchmakingRequest generates a "aws/request.Request" representing the
  6426  // client's request for the DescribeMatchmaking operation. The "output" return
  6427  // value will be populated with the request's response once the request completes
  6428  // successfully.
  6429  //
  6430  // Use "Send" method on the returned Request to send the API call to the service.
  6431  // the "output" return value is not valid until after Send returns without error.
  6432  //
  6433  // See DescribeMatchmaking for more information on using the DescribeMatchmaking
  6434  // API call, and error handling.
  6435  //
  6436  // This method is useful when you want to inject custom logic or configuration
  6437  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6438  //
  6439  //
  6440  //    // Example sending a request using the DescribeMatchmakingRequest method.
  6441  //    req, resp := client.DescribeMatchmakingRequest(params)
  6442  //
  6443  //    err := req.Send()
  6444  //    if err == nil { // resp is now filled
  6445  //        fmt.Println(resp)
  6446  //    }
  6447  //
  6448  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
  6449  func (c *GameLift) DescribeMatchmakingRequest(input *DescribeMatchmakingInput) (req *request.Request, output *DescribeMatchmakingOutput) {
  6450  	op := &request.Operation{
  6451  		Name:       opDescribeMatchmaking,
  6452  		HTTPMethod: "POST",
  6453  		HTTPPath:   "/",
  6454  	}
  6455  
  6456  	if input == nil {
  6457  		input = &DescribeMatchmakingInput{}
  6458  	}
  6459  
  6460  	output = &DescribeMatchmakingOutput{}
  6461  	req = c.newRequest(op, input, output)
  6462  	return
  6463  }
  6464  
  6465  // DescribeMatchmaking API operation for Amazon GameLift.
  6466  //
  6467  // Retrieves one or more matchmaking tickets. Use this operation to retrieve
  6468  // ticket information, including--after a successful match is made--connection
  6469  // information for the resulting new game session.
  6470  //
  6471  // To request matchmaking tickets, provide a list of up to 10 ticket IDs. If
  6472  // the request is successful, a ticket object is returned for each requested
  6473  // ID that currently exists.
  6474  //
  6475  // This operation is not designed to be continually called to track matchmaking
  6476  // ticket status. This practice can cause you to exceed your API limit, which
  6477  // results in errors. Instead, as a best practice, set up an Amazon Simple Notification
  6478  // Service (SNS) to receive notifications, and provide the topic ARN in the
  6479  // matchmaking configuration. Continuously poling ticket status with DescribeMatchmaking
  6480  // should only be used for games in development with low matchmaking usage.
  6481  //
  6482  // Learn more
  6483  //
  6484  //  Add FlexMatch to a game client (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html)
  6485  //
  6486  //  Set Up FlexMatch event notification (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
  6487  //
  6488  // Related actions
  6489  //
  6490  // StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
  6491  // StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  6492  //
  6493  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6494  // with awserr.Error's Code and Message methods to get detailed information about
  6495  // the error.
  6496  //
  6497  // See the AWS API reference guide for Amazon GameLift's
  6498  // API operation DescribeMatchmaking for usage and error information.
  6499  //
  6500  // Returned Error Types:
  6501  //   * InvalidRequestException
  6502  //   One or more parameter values in the request are invalid. Correct the invalid
  6503  //   parameter values before retrying.
  6504  //
  6505  //   * InternalServiceException
  6506  //   The service encountered an unrecoverable internal failure while processing
  6507  //   the request. Clients can retry such requests immediately or after a waiting
  6508  //   period.
  6509  //
  6510  //   * UnsupportedRegionException
  6511  //   The requested operation is not supported in the Region specified.
  6512  //
  6513  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmaking
  6514  func (c *GameLift) DescribeMatchmaking(input *DescribeMatchmakingInput) (*DescribeMatchmakingOutput, error) {
  6515  	req, out := c.DescribeMatchmakingRequest(input)
  6516  	return out, req.Send()
  6517  }
  6518  
  6519  // DescribeMatchmakingWithContext is the same as DescribeMatchmaking with the addition of
  6520  // the ability to pass a context and additional request options.
  6521  //
  6522  // See DescribeMatchmaking for details on how to use this API operation.
  6523  //
  6524  // The context must be non-nil and will be used for request cancellation. If
  6525  // the context is nil a panic will occur. In the future the SDK may create
  6526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6527  // for more information on using Contexts.
  6528  func (c *GameLift) DescribeMatchmakingWithContext(ctx aws.Context, input *DescribeMatchmakingInput, opts ...request.Option) (*DescribeMatchmakingOutput, error) {
  6529  	req, out := c.DescribeMatchmakingRequest(input)
  6530  	req.SetContext(ctx)
  6531  	req.ApplyOptions(opts...)
  6532  	return out, req.Send()
  6533  }
  6534  
  6535  const opDescribeMatchmakingConfigurations = "DescribeMatchmakingConfigurations"
  6536  
  6537  // DescribeMatchmakingConfigurationsRequest generates a "aws/request.Request" representing the
  6538  // client's request for the DescribeMatchmakingConfigurations operation. The "output" return
  6539  // value will be populated with the request's response once the request completes
  6540  // successfully.
  6541  //
  6542  // Use "Send" method on the returned Request to send the API call to the service.
  6543  // the "output" return value is not valid until after Send returns without error.
  6544  //
  6545  // See DescribeMatchmakingConfigurations for more information on using the DescribeMatchmakingConfigurations
  6546  // API call, and error handling.
  6547  //
  6548  // This method is useful when you want to inject custom logic or configuration
  6549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6550  //
  6551  //
  6552  //    // Example sending a request using the DescribeMatchmakingConfigurationsRequest method.
  6553  //    req, resp := client.DescribeMatchmakingConfigurationsRequest(params)
  6554  //
  6555  //    err := req.Send()
  6556  //    if err == nil { // resp is now filled
  6557  //        fmt.Println(resp)
  6558  //    }
  6559  //
  6560  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
  6561  func (c *GameLift) DescribeMatchmakingConfigurationsRequest(input *DescribeMatchmakingConfigurationsInput) (req *request.Request, output *DescribeMatchmakingConfigurationsOutput) {
  6562  	op := &request.Operation{
  6563  		Name:       opDescribeMatchmakingConfigurations,
  6564  		HTTPMethod: "POST",
  6565  		HTTPPath:   "/",
  6566  		Paginator: &request.Paginator{
  6567  			InputTokens:     []string{"NextToken"},
  6568  			OutputTokens:    []string{"NextToken"},
  6569  			LimitToken:      "Limit",
  6570  			TruncationToken: "",
  6571  		},
  6572  	}
  6573  
  6574  	if input == nil {
  6575  		input = &DescribeMatchmakingConfigurationsInput{}
  6576  	}
  6577  
  6578  	output = &DescribeMatchmakingConfigurationsOutput{}
  6579  	req = c.newRequest(op, input, output)
  6580  	return
  6581  }
  6582  
  6583  // DescribeMatchmakingConfigurations API operation for Amazon GameLift.
  6584  //
  6585  // Retrieves the details of FlexMatch matchmaking configurations.
  6586  //
  6587  // This operation offers the following options: (1) retrieve all matchmaking
  6588  // configurations, (2) retrieve configurations for a specified list, or (3)
  6589  // retrieve all configurations that use a specified rule set name. When requesting
  6590  // multiple items, use the pagination parameters to retrieve results as a set
  6591  // of sequential pages.
  6592  //
  6593  // If successful, a configuration is returned for each requested name. When
  6594  // specifying a list of names, only configurations that currently exist are
  6595  // returned.
  6596  //
  6597  // Learn more
  6598  //
  6599  //  Setting up FlexMatch matchmakers (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/matchmaker-build.html)
  6600  //
  6601  // Related actions
  6602  //
  6603  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
  6604  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
  6605  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
  6606  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  6607  //
  6608  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6609  // with awserr.Error's Code and Message methods to get detailed information about
  6610  // the error.
  6611  //
  6612  // See the AWS API reference guide for Amazon GameLift's
  6613  // API operation DescribeMatchmakingConfigurations for usage and error information.
  6614  //
  6615  // Returned Error Types:
  6616  //   * InvalidRequestException
  6617  //   One or more parameter values in the request are invalid. Correct the invalid
  6618  //   parameter values before retrying.
  6619  //
  6620  //   * InternalServiceException
  6621  //   The service encountered an unrecoverable internal failure while processing
  6622  //   the request. Clients can retry such requests immediately or after a waiting
  6623  //   period.
  6624  //
  6625  //   * UnsupportedRegionException
  6626  //   The requested operation is not supported in the Region specified.
  6627  //
  6628  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingConfigurations
  6629  func (c *GameLift) DescribeMatchmakingConfigurations(input *DescribeMatchmakingConfigurationsInput) (*DescribeMatchmakingConfigurationsOutput, error) {
  6630  	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
  6631  	return out, req.Send()
  6632  }
  6633  
  6634  // DescribeMatchmakingConfigurationsWithContext is the same as DescribeMatchmakingConfigurations with the addition of
  6635  // the ability to pass a context and additional request options.
  6636  //
  6637  // See DescribeMatchmakingConfigurations for details on how to use this API operation.
  6638  //
  6639  // The context must be non-nil and will be used for request cancellation. If
  6640  // the context is nil a panic will occur. In the future the SDK may create
  6641  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6642  // for more information on using Contexts.
  6643  func (c *GameLift) DescribeMatchmakingConfigurationsWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, opts ...request.Option) (*DescribeMatchmakingConfigurationsOutput, error) {
  6644  	req, out := c.DescribeMatchmakingConfigurationsRequest(input)
  6645  	req.SetContext(ctx)
  6646  	req.ApplyOptions(opts...)
  6647  	return out, req.Send()
  6648  }
  6649  
  6650  // DescribeMatchmakingConfigurationsPages iterates over the pages of a DescribeMatchmakingConfigurations operation,
  6651  // calling the "fn" function with the response data for each page. To stop
  6652  // iterating, return false from the fn function.
  6653  //
  6654  // See DescribeMatchmakingConfigurations method for more information on how to use this operation.
  6655  //
  6656  // Note: This operation can generate multiple requests to a service.
  6657  //
  6658  //    // Example iterating over at most 3 pages of a DescribeMatchmakingConfigurations operation.
  6659  //    pageNum := 0
  6660  //    err := client.DescribeMatchmakingConfigurationsPages(params,
  6661  //        func(page *gamelift.DescribeMatchmakingConfigurationsOutput, lastPage bool) bool {
  6662  //            pageNum++
  6663  //            fmt.Println(page)
  6664  //            return pageNum <= 3
  6665  //        })
  6666  //
  6667  func (c *GameLift) DescribeMatchmakingConfigurationsPages(input *DescribeMatchmakingConfigurationsInput, fn func(*DescribeMatchmakingConfigurationsOutput, bool) bool) error {
  6668  	return c.DescribeMatchmakingConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
  6669  }
  6670  
  6671  // DescribeMatchmakingConfigurationsPagesWithContext same as DescribeMatchmakingConfigurationsPages except
  6672  // it takes a Context and allows setting request options on the pages.
  6673  //
  6674  // The context must be non-nil and will be used for request cancellation. If
  6675  // the context is nil a panic will occur. In the future the SDK may create
  6676  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6677  // for more information on using Contexts.
  6678  func (c *GameLift) DescribeMatchmakingConfigurationsPagesWithContext(ctx aws.Context, input *DescribeMatchmakingConfigurationsInput, fn func(*DescribeMatchmakingConfigurationsOutput, bool) bool, opts ...request.Option) error {
  6679  	p := request.Pagination{
  6680  		NewRequest: func() (*request.Request, error) {
  6681  			var inCpy *DescribeMatchmakingConfigurationsInput
  6682  			if input != nil {
  6683  				tmp := *input
  6684  				inCpy = &tmp
  6685  			}
  6686  			req, _ := c.DescribeMatchmakingConfigurationsRequest(inCpy)
  6687  			req.SetContext(ctx)
  6688  			req.ApplyOptions(opts...)
  6689  			return req, nil
  6690  		},
  6691  	}
  6692  
  6693  	for p.Next() {
  6694  		if !fn(p.Page().(*DescribeMatchmakingConfigurationsOutput), !p.HasNextPage()) {
  6695  			break
  6696  		}
  6697  	}
  6698  
  6699  	return p.Err()
  6700  }
  6701  
  6702  const opDescribeMatchmakingRuleSets = "DescribeMatchmakingRuleSets"
  6703  
  6704  // DescribeMatchmakingRuleSetsRequest generates a "aws/request.Request" representing the
  6705  // client's request for the DescribeMatchmakingRuleSets operation. The "output" return
  6706  // value will be populated with the request's response once the request completes
  6707  // successfully.
  6708  //
  6709  // Use "Send" method on the returned Request to send the API call to the service.
  6710  // the "output" return value is not valid until after Send returns without error.
  6711  //
  6712  // See DescribeMatchmakingRuleSets for more information on using the DescribeMatchmakingRuleSets
  6713  // API call, and error handling.
  6714  //
  6715  // This method is useful when you want to inject custom logic or configuration
  6716  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6717  //
  6718  //
  6719  //    // Example sending a request using the DescribeMatchmakingRuleSetsRequest method.
  6720  //    req, resp := client.DescribeMatchmakingRuleSetsRequest(params)
  6721  //
  6722  //    err := req.Send()
  6723  //    if err == nil { // resp is now filled
  6724  //        fmt.Println(resp)
  6725  //    }
  6726  //
  6727  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
  6728  func (c *GameLift) DescribeMatchmakingRuleSetsRequest(input *DescribeMatchmakingRuleSetsInput) (req *request.Request, output *DescribeMatchmakingRuleSetsOutput) {
  6729  	op := &request.Operation{
  6730  		Name:       opDescribeMatchmakingRuleSets,
  6731  		HTTPMethod: "POST",
  6732  		HTTPPath:   "/",
  6733  		Paginator: &request.Paginator{
  6734  			InputTokens:     []string{"NextToken"},
  6735  			OutputTokens:    []string{"NextToken"},
  6736  			LimitToken:      "Limit",
  6737  			TruncationToken: "",
  6738  		},
  6739  	}
  6740  
  6741  	if input == nil {
  6742  		input = &DescribeMatchmakingRuleSetsInput{}
  6743  	}
  6744  
  6745  	output = &DescribeMatchmakingRuleSetsOutput{}
  6746  	req = c.newRequest(op, input, output)
  6747  	return
  6748  }
  6749  
  6750  // DescribeMatchmakingRuleSets API operation for Amazon GameLift.
  6751  //
  6752  // Retrieves the details for FlexMatch matchmaking rule sets. You can request
  6753  // all existing rule sets for the Region, or provide a list of one or more rule
  6754  // set names. When requesting multiple items, use the pagination parameters
  6755  // to retrieve results as a set of sequential pages. If successful, a rule set
  6756  // is returned for each requested name.
  6757  //
  6758  // Learn more
  6759  //
  6760  //    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
  6761  //
  6762  // Related actions
  6763  //
  6764  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
  6765  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
  6766  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
  6767  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  6768  //
  6769  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6770  // with awserr.Error's Code and Message methods to get detailed information about
  6771  // the error.
  6772  //
  6773  // See the AWS API reference guide for Amazon GameLift's
  6774  // API operation DescribeMatchmakingRuleSets for usage and error information.
  6775  //
  6776  // Returned Error Types:
  6777  //   * InvalidRequestException
  6778  //   One or more parameter values in the request are invalid. Correct the invalid
  6779  //   parameter values before retrying.
  6780  //
  6781  //   * InternalServiceException
  6782  //   The service encountered an unrecoverable internal failure while processing
  6783  //   the request. Clients can retry such requests immediately or after a waiting
  6784  //   period.
  6785  //
  6786  //   * NotFoundException
  6787  //   A service resource associated with the request could not be found. Clients
  6788  //   should not retry such requests.
  6789  //
  6790  //   * UnsupportedRegionException
  6791  //   The requested operation is not supported in the Region specified.
  6792  //
  6793  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeMatchmakingRuleSets
  6794  func (c *GameLift) DescribeMatchmakingRuleSets(input *DescribeMatchmakingRuleSetsInput) (*DescribeMatchmakingRuleSetsOutput, error) {
  6795  	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
  6796  	return out, req.Send()
  6797  }
  6798  
  6799  // DescribeMatchmakingRuleSetsWithContext is the same as DescribeMatchmakingRuleSets with the addition of
  6800  // the ability to pass a context and additional request options.
  6801  //
  6802  // See DescribeMatchmakingRuleSets for details on how to use this API operation.
  6803  //
  6804  // The context must be non-nil and will be used for request cancellation. If
  6805  // the context is nil a panic will occur. In the future the SDK may create
  6806  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6807  // for more information on using Contexts.
  6808  func (c *GameLift) DescribeMatchmakingRuleSetsWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, opts ...request.Option) (*DescribeMatchmakingRuleSetsOutput, error) {
  6809  	req, out := c.DescribeMatchmakingRuleSetsRequest(input)
  6810  	req.SetContext(ctx)
  6811  	req.ApplyOptions(opts...)
  6812  	return out, req.Send()
  6813  }
  6814  
  6815  // DescribeMatchmakingRuleSetsPages iterates over the pages of a DescribeMatchmakingRuleSets operation,
  6816  // calling the "fn" function with the response data for each page. To stop
  6817  // iterating, return false from the fn function.
  6818  //
  6819  // See DescribeMatchmakingRuleSets method for more information on how to use this operation.
  6820  //
  6821  // Note: This operation can generate multiple requests to a service.
  6822  //
  6823  //    // Example iterating over at most 3 pages of a DescribeMatchmakingRuleSets operation.
  6824  //    pageNum := 0
  6825  //    err := client.DescribeMatchmakingRuleSetsPages(params,
  6826  //        func(page *gamelift.DescribeMatchmakingRuleSetsOutput, lastPage bool) bool {
  6827  //            pageNum++
  6828  //            fmt.Println(page)
  6829  //            return pageNum <= 3
  6830  //        })
  6831  //
  6832  func (c *GameLift) DescribeMatchmakingRuleSetsPages(input *DescribeMatchmakingRuleSetsInput, fn func(*DescribeMatchmakingRuleSetsOutput, bool) bool) error {
  6833  	return c.DescribeMatchmakingRuleSetsPagesWithContext(aws.BackgroundContext(), input, fn)
  6834  }
  6835  
  6836  // DescribeMatchmakingRuleSetsPagesWithContext same as DescribeMatchmakingRuleSetsPages except
  6837  // it takes a Context and allows setting request options on the pages.
  6838  //
  6839  // The context must be non-nil and will be used for request cancellation. If
  6840  // the context is nil a panic will occur. In the future the SDK may create
  6841  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6842  // for more information on using Contexts.
  6843  func (c *GameLift) DescribeMatchmakingRuleSetsPagesWithContext(ctx aws.Context, input *DescribeMatchmakingRuleSetsInput, fn func(*DescribeMatchmakingRuleSetsOutput, bool) bool, opts ...request.Option) error {
  6844  	p := request.Pagination{
  6845  		NewRequest: func() (*request.Request, error) {
  6846  			var inCpy *DescribeMatchmakingRuleSetsInput
  6847  			if input != nil {
  6848  				tmp := *input
  6849  				inCpy = &tmp
  6850  			}
  6851  			req, _ := c.DescribeMatchmakingRuleSetsRequest(inCpy)
  6852  			req.SetContext(ctx)
  6853  			req.ApplyOptions(opts...)
  6854  			return req, nil
  6855  		},
  6856  	}
  6857  
  6858  	for p.Next() {
  6859  		if !fn(p.Page().(*DescribeMatchmakingRuleSetsOutput), !p.HasNextPage()) {
  6860  			break
  6861  		}
  6862  	}
  6863  
  6864  	return p.Err()
  6865  }
  6866  
  6867  const opDescribePlayerSessions = "DescribePlayerSessions"
  6868  
  6869  // DescribePlayerSessionsRequest generates a "aws/request.Request" representing the
  6870  // client's request for the DescribePlayerSessions operation. The "output" return
  6871  // value will be populated with the request's response once the request completes
  6872  // successfully.
  6873  //
  6874  // Use "Send" method on the returned Request to send the API call to the service.
  6875  // the "output" return value is not valid until after Send returns without error.
  6876  //
  6877  // See DescribePlayerSessions for more information on using the DescribePlayerSessions
  6878  // API call, and error handling.
  6879  //
  6880  // This method is useful when you want to inject custom logic or configuration
  6881  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6882  //
  6883  //
  6884  //    // Example sending a request using the DescribePlayerSessionsRequest method.
  6885  //    req, resp := client.DescribePlayerSessionsRequest(params)
  6886  //
  6887  //    err := req.Send()
  6888  //    if err == nil { // resp is now filled
  6889  //        fmt.Println(resp)
  6890  //    }
  6891  //
  6892  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
  6893  func (c *GameLift) DescribePlayerSessionsRequest(input *DescribePlayerSessionsInput) (req *request.Request, output *DescribePlayerSessionsOutput) {
  6894  	op := &request.Operation{
  6895  		Name:       opDescribePlayerSessions,
  6896  		HTTPMethod: "POST",
  6897  		HTTPPath:   "/",
  6898  		Paginator: &request.Paginator{
  6899  			InputTokens:     []string{"NextToken"},
  6900  			OutputTokens:    []string{"NextToken"},
  6901  			LimitToken:      "Limit",
  6902  			TruncationToken: "",
  6903  		},
  6904  	}
  6905  
  6906  	if input == nil {
  6907  		input = &DescribePlayerSessionsInput{}
  6908  	}
  6909  
  6910  	output = &DescribePlayerSessionsOutput{}
  6911  	req = c.newRequest(op, input, output)
  6912  	return
  6913  }
  6914  
  6915  // DescribePlayerSessions API operation for Amazon GameLift.
  6916  //
  6917  // Retrieves properties for one or more player sessions.
  6918  //
  6919  // This action can be used in the following ways:
  6920  //
  6921  //    * To retrieve a specific player session, provide the player session ID
  6922  //    only.
  6923  //
  6924  //    * To retrieve all player sessions in a game session, provide the game
  6925  //    session ID only.
  6926  //
  6927  //    * To retrieve all player sessions for a specific player, provide a player
  6928  //    ID only.
  6929  //
  6930  // To request player sessions, specify either a player session ID, game session
  6931  // ID, or player ID. You can filter this request by player session status. Use
  6932  // the pagination parameters to retrieve results as a set of sequential pages.
  6933  //
  6934  // If successful, a PlayerSession object is returned for each session that matches
  6935  // the request.
  6936  //
  6937  // Available in Amazon GameLift Local.
  6938  //
  6939  // Related actions
  6940  //
  6941  // CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
  6942  // | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  6943  //
  6944  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6945  // with awserr.Error's Code and Message methods to get detailed information about
  6946  // the error.
  6947  //
  6948  // See the AWS API reference guide for Amazon GameLift's
  6949  // API operation DescribePlayerSessions for usage and error information.
  6950  //
  6951  // Returned Error Types:
  6952  //   * InternalServiceException
  6953  //   The service encountered an unrecoverable internal failure while processing
  6954  //   the request. Clients can retry such requests immediately or after a waiting
  6955  //   period.
  6956  //
  6957  //   * NotFoundException
  6958  //   A service resource associated with the request could not be found. Clients
  6959  //   should not retry such requests.
  6960  //
  6961  //   * InvalidRequestException
  6962  //   One or more parameter values in the request are invalid. Correct the invalid
  6963  //   parameter values before retrying.
  6964  //
  6965  //   * UnauthorizedException
  6966  //   The client failed authentication. Clients should not retry such requests.
  6967  //
  6968  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribePlayerSessions
  6969  func (c *GameLift) DescribePlayerSessions(input *DescribePlayerSessionsInput) (*DescribePlayerSessionsOutput, error) {
  6970  	req, out := c.DescribePlayerSessionsRequest(input)
  6971  	return out, req.Send()
  6972  }
  6973  
  6974  // DescribePlayerSessionsWithContext is the same as DescribePlayerSessions with the addition of
  6975  // the ability to pass a context and additional request options.
  6976  //
  6977  // See DescribePlayerSessions for details on how to use this API operation.
  6978  //
  6979  // The context must be non-nil and will be used for request cancellation. If
  6980  // the context is nil a panic will occur. In the future the SDK may create
  6981  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6982  // for more information on using Contexts.
  6983  func (c *GameLift) DescribePlayerSessionsWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, opts ...request.Option) (*DescribePlayerSessionsOutput, error) {
  6984  	req, out := c.DescribePlayerSessionsRequest(input)
  6985  	req.SetContext(ctx)
  6986  	req.ApplyOptions(opts...)
  6987  	return out, req.Send()
  6988  }
  6989  
  6990  // DescribePlayerSessionsPages iterates over the pages of a DescribePlayerSessions operation,
  6991  // calling the "fn" function with the response data for each page. To stop
  6992  // iterating, return false from the fn function.
  6993  //
  6994  // See DescribePlayerSessions method for more information on how to use this operation.
  6995  //
  6996  // Note: This operation can generate multiple requests to a service.
  6997  //
  6998  //    // Example iterating over at most 3 pages of a DescribePlayerSessions operation.
  6999  //    pageNum := 0
  7000  //    err := client.DescribePlayerSessionsPages(params,
  7001  //        func(page *gamelift.DescribePlayerSessionsOutput, lastPage bool) bool {
  7002  //            pageNum++
  7003  //            fmt.Println(page)
  7004  //            return pageNum <= 3
  7005  //        })
  7006  //
  7007  func (c *GameLift) DescribePlayerSessionsPages(input *DescribePlayerSessionsInput, fn func(*DescribePlayerSessionsOutput, bool) bool) error {
  7008  	return c.DescribePlayerSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
  7009  }
  7010  
  7011  // DescribePlayerSessionsPagesWithContext same as DescribePlayerSessionsPages except
  7012  // it takes a Context and allows setting request options on the pages.
  7013  //
  7014  // The context must be non-nil and will be used for request cancellation. If
  7015  // the context is nil a panic will occur. In the future the SDK may create
  7016  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7017  // for more information on using Contexts.
  7018  func (c *GameLift) DescribePlayerSessionsPagesWithContext(ctx aws.Context, input *DescribePlayerSessionsInput, fn func(*DescribePlayerSessionsOutput, bool) bool, opts ...request.Option) error {
  7019  	p := request.Pagination{
  7020  		NewRequest: func() (*request.Request, error) {
  7021  			var inCpy *DescribePlayerSessionsInput
  7022  			if input != nil {
  7023  				tmp := *input
  7024  				inCpy = &tmp
  7025  			}
  7026  			req, _ := c.DescribePlayerSessionsRequest(inCpy)
  7027  			req.SetContext(ctx)
  7028  			req.ApplyOptions(opts...)
  7029  			return req, nil
  7030  		},
  7031  	}
  7032  
  7033  	for p.Next() {
  7034  		if !fn(p.Page().(*DescribePlayerSessionsOutput), !p.HasNextPage()) {
  7035  			break
  7036  		}
  7037  	}
  7038  
  7039  	return p.Err()
  7040  }
  7041  
  7042  const opDescribeRuntimeConfiguration = "DescribeRuntimeConfiguration"
  7043  
  7044  // DescribeRuntimeConfigurationRequest generates a "aws/request.Request" representing the
  7045  // client's request for the DescribeRuntimeConfiguration operation. The "output" return
  7046  // value will be populated with the request's response once the request completes
  7047  // successfully.
  7048  //
  7049  // Use "Send" method on the returned Request to send the API call to the service.
  7050  // the "output" return value is not valid until after Send returns without error.
  7051  //
  7052  // See DescribeRuntimeConfiguration for more information on using the DescribeRuntimeConfiguration
  7053  // API call, and error handling.
  7054  //
  7055  // This method is useful when you want to inject custom logic or configuration
  7056  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7057  //
  7058  //
  7059  //    // Example sending a request using the DescribeRuntimeConfigurationRequest method.
  7060  //    req, resp := client.DescribeRuntimeConfigurationRequest(params)
  7061  //
  7062  //    err := req.Send()
  7063  //    if err == nil { // resp is now filled
  7064  //        fmt.Println(resp)
  7065  //    }
  7066  //
  7067  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
  7068  func (c *GameLift) DescribeRuntimeConfigurationRequest(input *DescribeRuntimeConfigurationInput) (req *request.Request, output *DescribeRuntimeConfigurationOutput) {
  7069  	op := &request.Operation{
  7070  		Name:       opDescribeRuntimeConfiguration,
  7071  		HTTPMethod: "POST",
  7072  		HTTPPath:   "/",
  7073  	}
  7074  
  7075  	if input == nil {
  7076  		input = &DescribeRuntimeConfigurationInput{}
  7077  	}
  7078  
  7079  	output = &DescribeRuntimeConfigurationOutput{}
  7080  	req = c.newRequest(op, input, output)
  7081  	return
  7082  }
  7083  
  7084  // DescribeRuntimeConfiguration API operation for Amazon GameLift.
  7085  //
  7086  // Retrieves a fleet's runtime configuration settings. The runtime configuration
  7087  // tells GameLift which server processes to run (and how) on each instance in
  7088  // the fleet.
  7089  //
  7090  // To get the runtime configuration that is currently in forces for a fleet,
  7091  // provide the fleet ID.
  7092  //
  7093  // If successful, a RuntimeConfiguration object is returned for the requested
  7094  // fleet. If the requested fleet has been deleted, the result set is empty.
  7095  //
  7096  // Learn more
  7097  //
  7098  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  7099  //
  7100  // Running multiple processes on a fleet (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html)
  7101  //
  7102  // Related actions
  7103  //
  7104  // ListFleets | DescribeEC2InstanceLimits | DescribeFleetAttributes | DescribeFleetCapacity
  7105  // | DescribeFleetEvents | DescribeFleetLocationAttributes | DescribeFleetPortSettings
  7106  // | DescribeFleetUtilization | DescribeRuntimeConfiguration | DescribeScalingPolicies
  7107  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7108  //
  7109  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7110  // with awserr.Error's Code and Message methods to get detailed information about
  7111  // the error.
  7112  //
  7113  // See the AWS API reference guide for Amazon GameLift's
  7114  // API operation DescribeRuntimeConfiguration for usage and error information.
  7115  //
  7116  // Returned Error Types:
  7117  //   * UnauthorizedException
  7118  //   The client failed authentication. Clients should not retry such requests.
  7119  //
  7120  //   * NotFoundException
  7121  //   A service resource associated with the request could not be found. Clients
  7122  //   should not retry such requests.
  7123  //
  7124  //   * InternalServiceException
  7125  //   The service encountered an unrecoverable internal failure while processing
  7126  //   the request. Clients can retry such requests immediately or after a waiting
  7127  //   period.
  7128  //
  7129  //   * InvalidRequestException
  7130  //   One or more parameter values in the request are invalid. Correct the invalid
  7131  //   parameter values before retrying.
  7132  //
  7133  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeRuntimeConfiguration
  7134  func (c *GameLift) DescribeRuntimeConfiguration(input *DescribeRuntimeConfigurationInput) (*DescribeRuntimeConfigurationOutput, error) {
  7135  	req, out := c.DescribeRuntimeConfigurationRequest(input)
  7136  	return out, req.Send()
  7137  }
  7138  
  7139  // DescribeRuntimeConfigurationWithContext is the same as DescribeRuntimeConfiguration with the addition of
  7140  // the ability to pass a context and additional request options.
  7141  //
  7142  // See DescribeRuntimeConfiguration for details on how to use this API operation.
  7143  //
  7144  // The context must be non-nil and will be used for request cancellation. If
  7145  // the context is nil a panic will occur. In the future the SDK may create
  7146  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7147  // for more information on using Contexts.
  7148  func (c *GameLift) DescribeRuntimeConfigurationWithContext(ctx aws.Context, input *DescribeRuntimeConfigurationInput, opts ...request.Option) (*DescribeRuntimeConfigurationOutput, error) {
  7149  	req, out := c.DescribeRuntimeConfigurationRequest(input)
  7150  	req.SetContext(ctx)
  7151  	req.ApplyOptions(opts...)
  7152  	return out, req.Send()
  7153  }
  7154  
  7155  const opDescribeScalingPolicies = "DescribeScalingPolicies"
  7156  
  7157  // DescribeScalingPoliciesRequest generates a "aws/request.Request" representing the
  7158  // client's request for the DescribeScalingPolicies operation. The "output" return
  7159  // value will be populated with the request's response once the request completes
  7160  // successfully.
  7161  //
  7162  // Use "Send" method on the returned Request to send the API call to the service.
  7163  // the "output" return value is not valid until after Send returns without error.
  7164  //
  7165  // See DescribeScalingPolicies for more information on using the DescribeScalingPolicies
  7166  // API call, and error handling.
  7167  //
  7168  // This method is useful when you want to inject custom logic or configuration
  7169  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7170  //
  7171  //
  7172  //    // Example sending a request using the DescribeScalingPoliciesRequest method.
  7173  //    req, resp := client.DescribeScalingPoliciesRequest(params)
  7174  //
  7175  //    err := req.Send()
  7176  //    if err == nil { // resp is now filled
  7177  //        fmt.Println(resp)
  7178  //    }
  7179  //
  7180  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
  7181  func (c *GameLift) DescribeScalingPoliciesRequest(input *DescribeScalingPoliciesInput) (req *request.Request, output *DescribeScalingPoliciesOutput) {
  7182  	op := &request.Operation{
  7183  		Name:       opDescribeScalingPolicies,
  7184  		HTTPMethod: "POST",
  7185  		HTTPPath:   "/",
  7186  		Paginator: &request.Paginator{
  7187  			InputTokens:     []string{"NextToken"},
  7188  			OutputTokens:    []string{"NextToken"},
  7189  			LimitToken:      "Limit",
  7190  			TruncationToken: "",
  7191  		},
  7192  	}
  7193  
  7194  	if input == nil {
  7195  		input = &DescribeScalingPoliciesInput{}
  7196  	}
  7197  
  7198  	output = &DescribeScalingPoliciesOutput{}
  7199  	req = c.newRequest(op, input, output)
  7200  	return
  7201  }
  7202  
  7203  // DescribeScalingPolicies API operation for Amazon GameLift.
  7204  //
  7205  // Retrieves all scaling policies applied to a fleet.
  7206  //
  7207  // To get a fleet's scaling policies, specify the fleet ID. You can filter this
  7208  // request by policy status, such as to retrieve only active scaling policies.
  7209  // Use the pagination parameters to retrieve results as a set of sequential
  7210  // pages. If successful, set of ScalingPolicy objects is returned for the fleet.
  7211  //
  7212  // A fleet may have all of its scaling policies suspended (StopFleetActions).
  7213  // This operation does not affect the status of the scaling policies, which
  7214  // remains ACTIVE. To see whether a fleet's scaling policies are in force or
  7215  // suspended, call DescribeFleetAttributes and check the stopped actions.
  7216  //
  7217  // Related actions
  7218  //
  7219  // DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
  7220  // PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
  7221  // | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7222  //
  7223  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7224  // with awserr.Error's Code and Message methods to get detailed information about
  7225  // the error.
  7226  //
  7227  // See the AWS API reference guide for Amazon GameLift's
  7228  // API operation DescribeScalingPolicies for usage and error information.
  7229  //
  7230  // Returned Error Types:
  7231  //   * InternalServiceException
  7232  //   The service encountered an unrecoverable internal failure while processing
  7233  //   the request. Clients can retry such requests immediately or after a waiting
  7234  //   period.
  7235  //
  7236  //   * InvalidRequestException
  7237  //   One or more parameter values in the request are invalid. Correct the invalid
  7238  //   parameter values before retrying.
  7239  //
  7240  //   * UnauthorizedException
  7241  //   The client failed authentication. Clients should not retry such requests.
  7242  //
  7243  //   * NotFoundException
  7244  //   A service resource associated with the request could not be found. Clients
  7245  //   should not retry such requests.
  7246  //
  7247  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScalingPolicies
  7248  func (c *GameLift) DescribeScalingPolicies(input *DescribeScalingPoliciesInput) (*DescribeScalingPoliciesOutput, error) {
  7249  	req, out := c.DescribeScalingPoliciesRequest(input)
  7250  	return out, req.Send()
  7251  }
  7252  
  7253  // DescribeScalingPoliciesWithContext is the same as DescribeScalingPolicies with the addition of
  7254  // the ability to pass a context and additional request options.
  7255  //
  7256  // See DescribeScalingPolicies for details on how to use this API operation.
  7257  //
  7258  // The context must be non-nil and will be used for request cancellation. If
  7259  // the context is nil a panic will occur. In the future the SDK may create
  7260  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7261  // for more information on using Contexts.
  7262  func (c *GameLift) DescribeScalingPoliciesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, opts ...request.Option) (*DescribeScalingPoliciesOutput, error) {
  7263  	req, out := c.DescribeScalingPoliciesRequest(input)
  7264  	req.SetContext(ctx)
  7265  	req.ApplyOptions(opts...)
  7266  	return out, req.Send()
  7267  }
  7268  
  7269  // DescribeScalingPoliciesPages iterates over the pages of a DescribeScalingPolicies operation,
  7270  // calling the "fn" function with the response data for each page. To stop
  7271  // iterating, return false from the fn function.
  7272  //
  7273  // See DescribeScalingPolicies method for more information on how to use this operation.
  7274  //
  7275  // Note: This operation can generate multiple requests to a service.
  7276  //
  7277  //    // Example iterating over at most 3 pages of a DescribeScalingPolicies operation.
  7278  //    pageNum := 0
  7279  //    err := client.DescribeScalingPoliciesPages(params,
  7280  //        func(page *gamelift.DescribeScalingPoliciesOutput, lastPage bool) bool {
  7281  //            pageNum++
  7282  //            fmt.Println(page)
  7283  //            return pageNum <= 3
  7284  //        })
  7285  //
  7286  func (c *GameLift) DescribeScalingPoliciesPages(input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool) error {
  7287  	return c.DescribeScalingPoliciesPagesWithContext(aws.BackgroundContext(), input, fn)
  7288  }
  7289  
  7290  // DescribeScalingPoliciesPagesWithContext same as DescribeScalingPoliciesPages except
  7291  // it takes a Context and allows setting request options on the pages.
  7292  //
  7293  // The context must be non-nil and will be used for request cancellation. If
  7294  // the context is nil a panic will occur. In the future the SDK may create
  7295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7296  // for more information on using Contexts.
  7297  func (c *GameLift) DescribeScalingPoliciesPagesWithContext(ctx aws.Context, input *DescribeScalingPoliciesInput, fn func(*DescribeScalingPoliciesOutput, bool) bool, opts ...request.Option) error {
  7298  	p := request.Pagination{
  7299  		NewRequest: func() (*request.Request, error) {
  7300  			var inCpy *DescribeScalingPoliciesInput
  7301  			if input != nil {
  7302  				tmp := *input
  7303  				inCpy = &tmp
  7304  			}
  7305  			req, _ := c.DescribeScalingPoliciesRequest(inCpy)
  7306  			req.SetContext(ctx)
  7307  			req.ApplyOptions(opts...)
  7308  			return req, nil
  7309  		},
  7310  	}
  7311  
  7312  	for p.Next() {
  7313  		if !fn(p.Page().(*DescribeScalingPoliciesOutput), !p.HasNextPage()) {
  7314  			break
  7315  		}
  7316  	}
  7317  
  7318  	return p.Err()
  7319  }
  7320  
  7321  const opDescribeScript = "DescribeScript"
  7322  
  7323  // DescribeScriptRequest generates a "aws/request.Request" representing the
  7324  // client's request for the DescribeScript operation. The "output" return
  7325  // value will be populated with the request's response once the request completes
  7326  // successfully.
  7327  //
  7328  // Use "Send" method on the returned Request to send the API call to the service.
  7329  // the "output" return value is not valid until after Send returns without error.
  7330  //
  7331  // See DescribeScript for more information on using the DescribeScript
  7332  // API call, and error handling.
  7333  //
  7334  // This method is useful when you want to inject custom logic or configuration
  7335  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7336  //
  7337  //
  7338  //    // Example sending a request using the DescribeScriptRequest method.
  7339  //    req, resp := client.DescribeScriptRequest(params)
  7340  //
  7341  //    err := req.Send()
  7342  //    if err == nil { // resp is now filled
  7343  //        fmt.Println(resp)
  7344  //    }
  7345  //
  7346  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScript
  7347  func (c *GameLift) DescribeScriptRequest(input *DescribeScriptInput) (req *request.Request, output *DescribeScriptOutput) {
  7348  	op := &request.Operation{
  7349  		Name:       opDescribeScript,
  7350  		HTTPMethod: "POST",
  7351  		HTTPPath:   "/",
  7352  	}
  7353  
  7354  	if input == nil {
  7355  		input = &DescribeScriptInput{}
  7356  	}
  7357  
  7358  	output = &DescribeScriptOutput{}
  7359  	req = c.newRequest(op, input, output)
  7360  	return
  7361  }
  7362  
  7363  // DescribeScript API operation for Amazon GameLift.
  7364  //
  7365  // Retrieves properties for a Realtime script.
  7366  //
  7367  // To request a script record, specify the script ID. If successful, an object
  7368  // containing the script properties is returned.
  7369  //
  7370  // Learn more
  7371  //
  7372  // Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
  7373  //
  7374  // Related actions
  7375  //
  7376  // CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
  7377  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7378  //
  7379  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7380  // with awserr.Error's Code and Message methods to get detailed information about
  7381  // the error.
  7382  //
  7383  // See the AWS API reference guide for Amazon GameLift's
  7384  // API operation DescribeScript for usage and error information.
  7385  //
  7386  // Returned Error Types:
  7387  //   * UnauthorizedException
  7388  //   The client failed authentication. Clients should not retry such requests.
  7389  //
  7390  //   * InvalidRequestException
  7391  //   One or more parameter values in the request are invalid. Correct the invalid
  7392  //   parameter values before retrying.
  7393  //
  7394  //   * InternalServiceException
  7395  //   The service encountered an unrecoverable internal failure while processing
  7396  //   the request. Clients can retry such requests immediately or after a waiting
  7397  //   period.
  7398  //
  7399  //   * NotFoundException
  7400  //   A service resource associated with the request could not be found. Clients
  7401  //   should not retry such requests.
  7402  //
  7403  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeScript
  7404  func (c *GameLift) DescribeScript(input *DescribeScriptInput) (*DescribeScriptOutput, error) {
  7405  	req, out := c.DescribeScriptRequest(input)
  7406  	return out, req.Send()
  7407  }
  7408  
  7409  // DescribeScriptWithContext is the same as DescribeScript with the addition of
  7410  // the ability to pass a context and additional request options.
  7411  //
  7412  // See DescribeScript for details on how to use this API operation.
  7413  //
  7414  // The context must be non-nil and will be used for request cancellation. If
  7415  // the context is nil a panic will occur. In the future the SDK may create
  7416  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7417  // for more information on using Contexts.
  7418  func (c *GameLift) DescribeScriptWithContext(ctx aws.Context, input *DescribeScriptInput, opts ...request.Option) (*DescribeScriptOutput, error) {
  7419  	req, out := c.DescribeScriptRequest(input)
  7420  	req.SetContext(ctx)
  7421  	req.ApplyOptions(opts...)
  7422  	return out, req.Send()
  7423  }
  7424  
  7425  const opDescribeVpcPeeringAuthorizations = "DescribeVpcPeeringAuthorizations"
  7426  
  7427  // DescribeVpcPeeringAuthorizationsRequest generates a "aws/request.Request" representing the
  7428  // client's request for the DescribeVpcPeeringAuthorizations operation. The "output" return
  7429  // value will be populated with the request's response once the request completes
  7430  // successfully.
  7431  //
  7432  // Use "Send" method on the returned Request to send the API call to the service.
  7433  // the "output" return value is not valid until after Send returns without error.
  7434  //
  7435  // See DescribeVpcPeeringAuthorizations for more information on using the DescribeVpcPeeringAuthorizations
  7436  // API call, and error handling.
  7437  //
  7438  // This method is useful when you want to inject custom logic or configuration
  7439  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7440  //
  7441  //
  7442  //    // Example sending a request using the DescribeVpcPeeringAuthorizationsRequest method.
  7443  //    req, resp := client.DescribeVpcPeeringAuthorizationsRequest(params)
  7444  //
  7445  //    err := req.Send()
  7446  //    if err == nil { // resp is now filled
  7447  //        fmt.Println(resp)
  7448  //    }
  7449  //
  7450  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
  7451  func (c *GameLift) DescribeVpcPeeringAuthorizationsRequest(input *DescribeVpcPeeringAuthorizationsInput) (req *request.Request, output *DescribeVpcPeeringAuthorizationsOutput) {
  7452  	op := &request.Operation{
  7453  		Name:       opDescribeVpcPeeringAuthorizations,
  7454  		HTTPMethod: "POST",
  7455  		HTTPPath:   "/",
  7456  	}
  7457  
  7458  	if input == nil {
  7459  		input = &DescribeVpcPeeringAuthorizationsInput{}
  7460  	}
  7461  
  7462  	output = &DescribeVpcPeeringAuthorizationsOutput{}
  7463  	req = c.newRequest(op, input, output)
  7464  	return
  7465  }
  7466  
  7467  // DescribeVpcPeeringAuthorizations API operation for Amazon GameLift.
  7468  //
  7469  // Retrieves valid VPC peering authorizations that are pending for the AWS account.
  7470  // This operation returns all VPC peering authorizations and requests for peering.
  7471  // This includes those initiated and received by this account.
  7472  //
  7473  // Related actions
  7474  //
  7475  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
  7476  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
  7477  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7478  //
  7479  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7480  // with awserr.Error's Code and Message methods to get detailed information about
  7481  // the error.
  7482  //
  7483  // See the AWS API reference guide for Amazon GameLift's
  7484  // API operation DescribeVpcPeeringAuthorizations for usage and error information.
  7485  //
  7486  // Returned Error Types:
  7487  //   * UnauthorizedException
  7488  //   The client failed authentication. Clients should not retry such requests.
  7489  //
  7490  //   * InvalidRequestException
  7491  //   One or more parameter values in the request are invalid. Correct the invalid
  7492  //   parameter values before retrying.
  7493  //
  7494  //   * InternalServiceException
  7495  //   The service encountered an unrecoverable internal failure while processing
  7496  //   the request. Clients can retry such requests immediately or after a waiting
  7497  //   period.
  7498  //
  7499  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringAuthorizations
  7500  func (c *GameLift) DescribeVpcPeeringAuthorizations(input *DescribeVpcPeeringAuthorizationsInput) (*DescribeVpcPeeringAuthorizationsOutput, error) {
  7501  	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
  7502  	return out, req.Send()
  7503  }
  7504  
  7505  // DescribeVpcPeeringAuthorizationsWithContext is the same as DescribeVpcPeeringAuthorizations with the addition of
  7506  // the ability to pass a context and additional request options.
  7507  //
  7508  // See DescribeVpcPeeringAuthorizations for details on how to use this API operation.
  7509  //
  7510  // The context must be non-nil and will be used for request cancellation. If
  7511  // the context is nil a panic will occur. In the future the SDK may create
  7512  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7513  // for more information on using Contexts.
  7514  func (c *GameLift) DescribeVpcPeeringAuthorizationsWithContext(ctx aws.Context, input *DescribeVpcPeeringAuthorizationsInput, opts ...request.Option) (*DescribeVpcPeeringAuthorizationsOutput, error) {
  7515  	req, out := c.DescribeVpcPeeringAuthorizationsRequest(input)
  7516  	req.SetContext(ctx)
  7517  	req.ApplyOptions(opts...)
  7518  	return out, req.Send()
  7519  }
  7520  
  7521  const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
  7522  
  7523  // DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
  7524  // client's request for the DescribeVpcPeeringConnections operation. The "output" return
  7525  // value will be populated with the request's response once the request completes
  7526  // successfully.
  7527  //
  7528  // Use "Send" method on the returned Request to send the API call to the service.
  7529  // the "output" return value is not valid until after Send returns without error.
  7530  //
  7531  // See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
  7532  // API call, and error handling.
  7533  //
  7534  // This method is useful when you want to inject custom logic or configuration
  7535  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7536  //
  7537  //
  7538  //    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
  7539  //    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
  7540  //
  7541  //    err := req.Send()
  7542  //    if err == nil { // resp is now filled
  7543  //        fmt.Println(resp)
  7544  //    }
  7545  //
  7546  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
  7547  func (c *GameLift) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
  7548  	op := &request.Operation{
  7549  		Name:       opDescribeVpcPeeringConnections,
  7550  		HTTPMethod: "POST",
  7551  		HTTPPath:   "/",
  7552  	}
  7553  
  7554  	if input == nil {
  7555  		input = &DescribeVpcPeeringConnectionsInput{}
  7556  	}
  7557  
  7558  	output = &DescribeVpcPeeringConnectionsOutput{}
  7559  	req = c.newRequest(op, input, output)
  7560  	return
  7561  }
  7562  
  7563  // DescribeVpcPeeringConnections API operation for Amazon GameLift.
  7564  //
  7565  // Retrieves information on VPC peering connections. Use this operation to get
  7566  // peering information for all fleets or for one specific fleet ID.
  7567  //
  7568  // To retrieve connection information, call this operation from the AWS account
  7569  // that is used to manage the Amazon GameLift fleets. Specify a fleet ID or
  7570  // leave the parameter empty to retrieve all connection records. If successful,
  7571  // the retrieved information includes both active and pending connections. Active
  7572  // connections identify the IpV4 CIDR block that the VPC uses to connect.
  7573  //
  7574  // Related actions
  7575  //
  7576  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
  7577  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
  7578  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7579  //
  7580  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7581  // with awserr.Error's Code and Message methods to get detailed information about
  7582  // the error.
  7583  //
  7584  // See the AWS API reference guide for Amazon GameLift's
  7585  // API operation DescribeVpcPeeringConnections for usage and error information.
  7586  //
  7587  // Returned Error Types:
  7588  //   * UnauthorizedException
  7589  //   The client failed authentication. Clients should not retry such requests.
  7590  //
  7591  //   * InvalidRequestException
  7592  //   One or more parameter values in the request are invalid. Correct the invalid
  7593  //   parameter values before retrying.
  7594  //
  7595  //   * NotFoundException
  7596  //   A service resource associated with the request could not be found. Clients
  7597  //   should not retry such requests.
  7598  //
  7599  //   * InternalServiceException
  7600  //   The service encountered an unrecoverable internal failure while processing
  7601  //   the request. Clients can retry such requests immediately or after a waiting
  7602  //   period.
  7603  //
  7604  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeVpcPeeringConnections
  7605  func (c *GameLift) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
  7606  	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  7607  	return out, req.Send()
  7608  }
  7609  
  7610  // DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
  7611  // the ability to pass a context and additional request options.
  7612  //
  7613  // See DescribeVpcPeeringConnections for details on how to use this API operation.
  7614  //
  7615  // The context must be non-nil and will be used for request cancellation. If
  7616  // the context is nil a panic will occur. In the future the SDK may create
  7617  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7618  // for more information on using Contexts.
  7619  func (c *GameLift) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
  7620  	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
  7621  	req.SetContext(ctx)
  7622  	req.ApplyOptions(opts...)
  7623  	return out, req.Send()
  7624  }
  7625  
  7626  const opGetGameSessionLogUrl = "GetGameSessionLogUrl"
  7627  
  7628  // GetGameSessionLogUrlRequest generates a "aws/request.Request" representing the
  7629  // client's request for the GetGameSessionLogUrl operation. The "output" return
  7630  // value will be populated with the request's response once the request completes
  7631  // successfully.
  7632  //
  7633  // Use "Send" method on the returned Request to send the API call to the service.
  7634  // the "output" return value is not valid until after Send returns without error.
  7635  //
  7636  // See GetGameSessionLogUrl for more information on using the GetGameSessionLogUrl
  7637  // API call, and error handling.
  7638  //
  7639  // This method is useful when you want to inject custom logic or configuration
  7640  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7641  //
  7642  //
  7643  //    // Example sending a request using the GetGameSessionLogUrlRequest method.
  7644  //    req, resp := client.GetGameSessionLogUrlRequest(params)
  7645  //
  7646  //    err := req.Send()
  7647  //    if err == nil { // resp is now filled
  7648  //        fmt.Println(resp)
  7649  //    }
  7650  //
  7651  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
  7652  func (c *GameLift) GetGameSessionLogUrlRequest(input *GetGameSessionLogUrlInput) (req *request.Request, output *GetGameSessionLogUrlOutput) {
  7653  	op := &request.Operation{
  7654  		Name:       opGetGameSessionLogUrl,
  7655  		HTTPMethod: "POST",
  7656  		HTTPPath:   "/",
  7657  	}
  7658  
  7659  	if input == nil {
  7660  		input = &GetGameSessionLogUrlInput{}
  7661  	}
  7662  
  7663  	output = &GetGameSessionLogUrlOutput{}
  7664  	req = c.newRequest(op, input, output)
  7665  	return
  7666  }
  7667  
  7668  // GetGameSessionLogUrl API operation for Amazon GameLift.
  7669  //
  7670  // Retrieves the location of stored game session logs for a specified game session.
  7671  // When a game session is terminated, GameLift automatically stores the logs
  7672  // in Amazon S3 and retains them for 14 days. Use this URL to download the logs.
  7673  //
  7674  // See the AWS Service Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift)
  7675  // page for maximum log file sizes. Log files that exceed this limit are not
  7676  // saved.
  7677  //
  7678  // Related actions
  7679  //
  7680  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
  7681  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
  7682  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
  7683  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7684  //
  7685  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7686  // with awserr.Error's Code and Message methods to get detailed information about
  7687  // the error.
  7688  //
  7689  // See the AWS API reference guide for Amazon GameLift's
  7690  // API operation GetGameSessionLogUrl for usage and error information.
  7691  //
  7692  // Returned Error Types:
  7693  //   * InternalServiceException
  7694  //   The service encountered an unrecoverable internal failure while processing
  7695  //   the request. Clients can retry such requests immediately or after a waiting
  7696  //   period.
  7697  //
  7698  //   * NotFoundException
  7699  //   A service resource associated with the request could not be found. Clients
  7700  //   should not retry such requests.
  7701  //
  7702  //   * UnauthorizedException
  7703  //   The client failed authentication. Clients should not retry such requests.
  7704  //
  7705  //   * InvalidRequestException
  7706  //   One or more parameter values in the request are invalid. Correct the invalid
  7707  //   parameter values before retrying.
  7708  //
  7709  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetGameSessionLogUrl
  7710  func (c *GameLift) GetGameSessionLogUrl(input *GetGameSessionLogUrlInput) (*GetGameSessionLogUrlOutput, error) {
  7711  	req, out := c.GetGameSessionLogUrlRequest(input)
  7712  	return out, req.Send()
  7713  }
  7714  
  7715  // GetGameSessionLogUrlWithContext is the same as GetGameSessionLogUrl with the addition of
  7716  // the ability to pass a context and additional request options.
  7717  //
  7718  // See GetGameSessionLogUrl for details on how to use this API operation.
  7719  //
  7720  // The context must be non-nil and will be used for request cancellation. If
  7721  // the context is nil a panic will occur. In the future the SDK may create
  7722  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7723  // for more information on using Contexts.
  7724  func (c *GameLift) GetGameSessionLogUrlWithContext(ctx aws.Context, input *GetGameSessionLogUrlInput, opts ...request.Option) (*GetGameSessionLogUrlOutput, error) {
  7725  	req, out := c.GetGameSessionLogUrlRequest(input)
  7726  	req.SetContext(ctx)
  7727  	req.ApplyOptions(opts...)
  7728  	return out, req.Send()
  7729  }
  7730  
  7731  const opGetInstanceAccess = "GetInstanceAccess"
  7732  
  7733  // GetInstanceAccessRequest generates a "aws/request.Request" representing the
  7734  // client's request for the GetInstanceAccess operation. The "output" return
  7735  // value will be populated with the request's response once the request completes
  7736  // successfully.
  7737  //
  7738  // Use "Send" method on the returned Request to send the API call to the service.
  7739  // the "output" return value is not valid until after Send returns without error.
  7740  //
  7741  // See GetInstanceAccess for more information on using the GetInstanceAccess
  7742  // API call, and error handling.
  7743  //
  7744  // This method is useful when you want to inject custom logic or configuration
  7745  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7746  //
  7747  //
  7748  //    // Example sending a request using the GetInstanceAccessRequest method.
  7749  //    req, resp := client.GetInstanceAccessRequest(params)
  7750  //
  7751  //    err := req.Send()
  7752  //    if err == nil { // resp is now filled
  7753  //        fmt.Println(resp)
  7754  //    }
  7755  //
  7756  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
  7757  func (c *GameLift) GetInstanceAccessRequest(input *GetInstanceAccessInput) (req *request.Request, output *GetInstanceAccessOutput) {
  7758  	op := &request.Operation{
  7759  		Name:       opGetInstanceAccess,
  7760  		HTTPMethod: "POST",
  7761  		HTTPPath:   "/",
  7762  	}
  7763  
  7764  	if input == nil {
  7765  		input = &GetInstanceAccessInput{}
  7766  	}
  7767  
  7768  	output = &GetInstanceAccessOutput{}
  7769  	req = c.newRequest(op, input, output)
  7770  	return
  7771  }
  7772  
  7773  // GetInstanceAccess API operation for Amazon GameLift.
  7774  //
  7775  // Requests remote access to a fleet instance. Remote access is useful for debugging,
  7776  // gathering benchmarking data, or observing activity in real time.
  7777  //
  7778  // To remotely access an instance, you need credentials that match the operating
  7779  // system of the instance. For a Windows instance, GameLift returns a user name
  7780  // and password as strings for use with a Windows Remote Desktop client. For
  7781  // a Linux instance, GameLift returns a user name and RSA private key, also
  7782  // as strings, for use with an SSH client. The private key must be saved in
  7783  // the proper format to a .pem file before using. If you're making this request
  7784  // using the AWS CLI, saving the secret can be handled as part of the GetInstanceAccess
  7785  // request, as shown in one of the examples for this operation.
  7786  //
  7787  // To request access to a specific instance, specify the IDs of both the instance
  7788  // and the fleet it belongs to. You can retrieve a fleet's instance IDs by calling
  7789  // DescribeInstances. If successful, an InstanceAccess object is returned that
  7790  // contains the instance's IP address and a set of credentials.
  7791  //
  7792  // Learn more
  7793  //
  7794  // Remotely Access Fleet Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html)
  7795  //
  7796  // Debug Fleet Issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html)
  7797  //
  7798  // Related actions
  7799  //
  7800  // DescribeInstances | GetInstanceAccess | DescribeEC2InstanceLimits | All APIs
  7801  // by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7802  //
  7803  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7804  // with awserr.Error's Code and Message methods to get detailed information about
  7805  // the error.
  7806  //
  7807  // See the AWS API reference guide for Amazon GameLift's
  7808  // API operation GetInstanceAccess for usage and error information.
  7809  //
  7810  // Returned Error Types:
  7811  //   * UnauthorizedException
  7812  //   The client failed authentication. Clients should not retry such requests.
  7813  //
  7814  //   * InvalidRequestException
  7815  //   One or more parameter values in the request are invalid. Correct the invalid
  7816  //   parameter values before retrying.
  7817  //
  7818  //   * NotFoundException
  7819  //   A service resource associated with the request could not be found. Clients
  7820  //   should not retry such requests.
  7821  //
  7822  //   * InternalServiceException
  7823  //   The service encountered an unrecoverable internal failure while processing
  7824  //   the request. Clients can retry such requests immediately or after a waiting
  7825  //   period.
  7826  //
  7827  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GetInstanceAccess
  7828  func (c *GameLift) GetInstanceAccess(input *GetInstanceAccessInput) (*GetInstanceAccessOutput, error) {
  7829  	req, out := c.GetInstanceAccessRequest(input)
  7830  	return out, req.Send()
  7831  }
  7832  
  7833  // GetInstanceAccessWithContext is the same as GetInstanceAccess with the addition of
  7834  // the ability to pass a context and additional request options.
  7835  //
  7836  // See GetInstanceAccess for details on how to use this API operation.
  7837  //
  7838  // The context must be non-nil and will be used for request cancellation. If
  7839  // the context is nil a panic will occur. In the future the SDK may create
  7840  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7841  // for more information on using Contexts.
  7842  func (c *GameLift) GetInstanceAccessWithContext(ctx aws.Context, input *GetInstanceAccessInput, opts ...request.Option) (*GetInstanceAccessOutput, error) {
  7843  	req, out := c.GetInstanceAccessRequest(input)
  7844  	req.SetContext(ctx)
  7845  	req.ApplyOptions(opts...)
  7846  	return out, req.Send()
  7847  }
  7848  
  7849  const opListAliases = "ListAliases"
  7850  
  7851  // ListAliasesRequest generates a "aws/request.Request" representing the
  7852  // client's request for the ListAliases operation. The "output" return
  7853  // value will be populated with the request's response once the request completes
  7854  // successfully.
  7855  //
  7856  // Use "Send" method on the returned Request to send the API call to the service.
  7857  // the "output" return value is not valid until after Send returns without error.
  7858  //
  7859  // See ListAliases for more information on using the ListAliases
  7860  // API call, and error handling.
  7861  //
  7862  // This method is useful when you want to inject custom logic or configuration
  7863  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7864  //
  7865  //
  7866  //    // Example sending a request using the ListAliasesRequest method.
  7867  //    req, resp := client.ListAliasesRequest(params)
  7868  //
  7869  //    err := req.Send()
  7870  //    if err == nil { // resp is now filled
  7871  //        fmt.Println(resp)
  7872  //    }
  7873  //
  7874  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
  7875  func (c *GameLift) ListAliasesRequest(input *ListAliasesInput) (req *request.Request, output *ListAliasesOutput) {
  7876  	op := &request.Operation{
  7877  		Name:       opListAliases,
  7878  		HTTPMethod: "POST",
  7879  		HTTPPath:   "/",
  7880  		Paginator: &request.Paginator{
  7881  			InputTokens:     []string{"NextToken"},
  7882  			OutputTokens:    []string{"NextToken"},
  7883  			LimitToken:      "Limit",
  7884  			TruncationToken: "",
  7885  		},
  7886  	}
  7887  
  7888  	if input == nil {
  7889  		input = &ListAliasesInput{}
  7890  	}
  7891  
  7892  	output = &ListAliasesOutput{}
  7893  	req = c.newRequest(op, input, output)
  7894  	return
  7895  }
  7896  
  7897  // ListAliases API operation for Amazon GameLift.
  7898  //
  7899  // Retrieves all aliases for this AWS account. You can filter the result set
  7900  // by alias name and/or routing strategy type. Use the pagination parameters
  7901  // to retrieve results in sequential pages.
  7902  //
  7903  // Returned aliases are not listed in any particular order.
  7904  //
  7905  // Related actions
  7906  //
  7907  // CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
  7908  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  7909  //
  7910  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7911  // with awserr.Error's Code and Message methods to get detailed information about
  7912  // the error.
  7913  //
  7914  // See the AWS API reference guide for Amazon GameLift's
  7915  // API operation ListAliases for usage and error information.
  7916  //
  7917  // Returned Error Types:
  7918  //   * UnauthorizedException
  7919  //   The client failed authentication. Clients should not retry such requests.
  7920  //
  7921  //   * InvalidRequestException
  7922  //   One or more parameter values in the request are invalid. Correct the invalid
  7923  //   parameter values before retrying.
  7924  //
  7925  //   * InternalServiceException
  7926  //   The service encountered an unrecoverable internal failure while processing
  7927  //   the request. Clients can retry such requests immediately or after a waiting
  7928  //   period.
  7929  //
  7930  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListAliases
  7931  func (c *GameLift) ListAliases(input *ListAliasesInput) (*ListAliasesOutput, error) {
  7932  	req, out := c.ListAliasesRequest(input)
  7933  	return out, req.Send()
  7934  }
  7935  
  7936  // ListAliasesWithContext is the same as ListAliases with the addition of
  7937  // the ability to pass a context and additional request options.
  7938  //
  7939  // See ListAliases for details on how to use this API operation.
  7940  //
  7941  // The context must be non-nil and will be used for request cancellation. If
  7942  // the context is nil a panic will occur. In the future the SDK may create
  7943  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7944  // for more information on using Contexts.
  7945  func (c *GameLift) ListAliasesWithContext(ctx aws.Context, input *ListAliasesInput, opts ...request.Option) (*ListAliasesOutput, error) {
  7946  	req, out := c.ListAliasesRequest(input)
  7947  	req.SetContext(ctx)
  7948  	req.ApplyOptions(opts...)
  7949  	return out, req.Send()
  7950  }
  7951  
  7952  // ListAliasesPages iterates over the pages of a ListAliases operation,
  7953  // calling the "fn" function with the response data for each page. To stop
  7954  // iterating, return false from the fn function.
  7955  //
  7956  // See ListAliases method for more information on how to use this operation.
  7957  //
  7958  // Note: This operation can generate multiple requests to a service.
  7959  //
  7960  //    // Example iterating over at most 3 pages of a ListAliases operation.
  7961  //    pageNum := 0
  7962  //    err := client.ListAliasesPages(params,
  7963  //        func(page *gamelift.ListAliasesOutput, lastPage bool) bool {
  7964  //            pageNum++
  7965  //            fmt.Println(page)
  7966  //            return pageNum <= 3
  7967  //        })
  7968  //
  7969  func (c *GameLift) ListAliasesPages(input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool) error {
  7970  	return c.ListAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
  7971  }
  7972  
  7973  // ListAliasesPagesWithContext same as ListAliasesPages except
  7974  // it takes a Context and allows setting request options on the pages.
  7975  //
  7976  // The context must be non-nil and will be used for request cancellation. If
  7977  // the context is nil a panic will occur. In the future the SDK may create
  7978  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7979  // for more information on using Contexts.
  7980  func (c *GameLift) ListAliasesPagesWithContext(ctx aws.Context, input *ListAliasesInput, fn func(*ListAliasesOutput, bool) bool, opts ...request.Option) error {
  7981  	p := request.Pagination{
  7982  		NewRequest: func() (*request.Request, error) {
  7983  			var inCpy *ListAliasesInput
  7984  			if input != nil {
  7985  				tmp := *input
  7986  				inCpy = &tmp
  7987  			}
  7988  			req, _ := c.ListAliasesRequest(inCpy)
  7989  			req.SetContext(ctx)
  7990  			req.ApplyOptions(opts...)
  7991  			return req, nil
  7992  		},
  7993  	}
  7994  
  7995  	for p.Next() {
  7996  		if !fn(p.Page().(*ListAliasesOutput), !p.HasNextPage()) {
  7997  			break
  7998  		}
  7999  	}
  8000  
  8001  	return p.Err()
  8002  }
  8003  
  8004  const opListBuilds = "ListBuilds"
  8005  
  8006  // ListBuildsRequest generates a "aws/request.Request" representing the
  8007  // client's request for the ListBuilds operation. The "output" return
  8008  // value will be populated with the request's response once the request completes
  8009  // successfully.
  8010  //
  8011  // Use "Send" method on the returned Request to send the API call to the service.
  8012  // the "output" return value is not valid until after Send returns without error.
  8013  //
  8014  // See ListBuilds for more information on using the ListBuilds
  8015  // API call, and error handling.
  8016  //
  8017  // This method is useful when you want to inject custom logic or configuration
  8018  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8019  //
  8020  //
  8021  //    // Example sending a request using the ListBuildsRequest method.
  8022  //    req, resp := client.ListBuildsRequest(params)
  8023  //
  8024  //    err := req.Send()
  8025  //    if err == nil { // resp is now filled
  8026  //        fmt.Println(resp)
  8027  //    }
  8028  //
  8029  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
  8030  func (c *GameLift) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) {
  8031  	op := &request.Operation{
  8032  		Name:       opListBuilds,
  8033  		HTTPMethod: "POST",
  8034  		HTTPPath:   "/",
  8035  		Paginator: &request.Paginator{
  8036  			InputTokens:     []string{"NextToken"},
  8037  			OutputTokens:    []string{"NextToken"},
  8038  			LimitToken:      "Limit",
  8039  			TruncationToken: "",
  8040  		},
  8041  	}
  8042  
  8043  	if input == nil {
  8044  		input = &ListBuildsInput{}
  8045  	}
  8046  
  8047  	output = &ListBuildsOutput{}
  8048  	req = c.newRequest(op, input, output)
  8049  	return
  8050  }
  8051  
  8052  // ListBuilds API operation for Amazon GameLift.
  8053  //
  8054  // Retrieves build resources for all builds associated with the AWS account
  8055  // in use. You can limit results to builds that are in a specific status by
  8056  // using the Status parameter. Use the pagination parameters to retrieve results
  8057  // in a set of sequential pages.
  8058  //
  8059  // Build resources are not listed in any particular order.
  8060  //
  8061  // Learn more
  8062  //
  8063  //  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
  8064  //
  8065  // Related actions
  8066  //
  8067  // CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
  8068  // APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  8069  //
  8070  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8071  // with awserr.Error's Code and Message methods to get detailed information about
  8072  // the error.
  8073  //
  8074  // See the AWS API reference guide for Amazon GameLift's
  8075  // API operation ListBuilds for usage and error information.
  8076  //
  8077  // Returned Error Types:
  8078  //   * UnauthorizedException
  8079  //   The client failed authentication. Clients should not retry such requests.
  8080  //
  8081  //   * InvalidRequestException
  8082  //   One or more parameter values in the request are invalid. Correct the invalid
  8083  //   parameter values before retrying.
  8084  //
  8085  //   * InternalServiceException
  8086  //   The service encountered an unrecoverable internal failure while processing
  8087  //   the request. Clients can retry such requests immediately or after a waiting
  8088  //   period.
  8089  //
  8090  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListBuilds
  8091  func (c *GameLift) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) {
  8092  	req, out := c.ListBuildsRequest(input)
  8093  	return out, req.Send()
  8094  }
  8095  
  8096  // ListBuildsWithContext is the same as ListBuilds with the addition of
  8097  // the ability to pass a context and additional request options.
  8098  //
  8099  // See ListBuilds for details on how to use this API operation.
  8100  //
  8101  // The context must be non-nil and will be used for request cancellation. If
  8102  // the context is nil a panic will occur. In the future the SDK may create
  8103  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8104  // for more information on using Contexts.
  8105  func (c *GameLift) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) {
  8106  	req, out := c.ListBuildsRequest(input)
  8107  	req.SetContext(ctx)
  8108  	req.ApplyOptions(opts...)
  8109  	return out, req.Send()
  8110  }
  8111  
  8112  // ListBuildsPages iterates over the pages of a ListBuilds operation,
  8113  // calling the "fn" function with the response data for each page. To stop
  8114  // iterating, return false from the fn function.
  8115  //
  8116  // See ListBuilds method for more information on how to use this operation.
  8117  //
  8118  // Note: This operation can generate multiple requests to a service.
  8119  //
  8120  //    // Example iterating over at most 3 pages of a ListBuilds operation.
  8121  //    pageNum := 0
  8122  //    err := client.ListBuildsPages(params,
  8123  //        func(page *gamelift.ListBuildsOutput, lastPage bool) bool {
  8124  //            pageNum++
  8125  //            fmt.Println(page)
  8126  //            return pageNum <= 3
  8127  //        })
  8128  //
  8129  func (c *GameLift) ListBuildsPages(input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool) error {
  8130  	return c.ListBuildsPagesWithContext(aws.BackgroundContext(), input, fn)
  8131  }
  8132  
  8133  // ListBuildsPagesWithContext same as ListBuildsPages except
  8134  // it takes a Context and allows setting request options on the pages.
  8135  //
  8136  // The context must be non-nil and will be used for request cancellation. If
  8137  // the context is nil a panic will occur. In the future the SDK may create
  8138  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8139  // for more information on using Contexts.
  8140  func (c *GameLift) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error {
  8141  	p := request.Pagination{
  8142  		NewRequest: func() (*request.Request, error) {
  8143  			var inCpy *ListBuildsInput
  8144  			if input != nil {
  8145  				tmp := *input
  8146  				inCpy = &tmp
  8147  			}
  8148  			req, _ := c.ListBuildsRequest(inCpy)
  8149  			req.SetContext(ctx)
  8150  			req.ApplyOptions(opts...)
  8151  			return req, nil
  8152  		},
  8153  	}
  8154  
  8155  	for p.Next() {
  8156  		if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) {
  8157  			break
  8158  		}
  8159  	}
  8160  
  8161  	return p.Err()
  8162  }
  8163  
  8164  const opListFleets = "ListFleets"
  8165  
  8166  // ListFleetsRequest generates a "aws/request.Request" representing the
  8167  // client's request for the ListFleets operation. The "output" return
  8168  // value will be populated with the request's response once the request completes
  8169  // successfully.
  8170  //
  8171  // Use "Send" method on the returned Request to send the API call to the service.
  8172  // the "output" return value is not valid until after Send returns without error.
  8173  //
  8174  // See ListFleets for more information on using the ListFleets
  8175  // API call, and error handling.
  8176  //
  8177  // This method is useful when you want to inject custom logic or configuration
  8178  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8179  //
  8180  //
  8181  //    // Example sending a request using the ListFleetsRequest method.
  8182  //    req, resp := client.ListFleetsRequest(params)
  8183  //
  8184  //    err := req.Send()
  8185  //    if err == nil { // resp is now filled
  8186  //        fmt.Println(resp)
  8187  //    }
  8188  //
  8189  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
  8190  func (c *GameLift) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
  8191  	op := &request.Operation{
  8192  		Name:       opListFleets,
  8193  		HTTPMethod: "POST",
  8194  		HTTPPath:   "/",
  8195  		Paginator: &request.Paginator{
  8196  			InputTokens:     []string{"NextToken"},
  8197  			OutputTokens:    []string{"NextToken"},
  8198  			LimitToken:      "Limit",
  8199  			TruncationToken: "",
  8200  		},
  8201  	}
  8202  
  8203  	if input == nil {
  8204  		input = &ListFleetsInput{}
  8205  	}
  8206  
  8207  	output = &ListFleetsOutput{}
  8208  	req = c.newRequest(op, input, output)
  8209  	return
  8210  }
  8211  
  8212  // ListFleets API operation for Amazon GameLift.
  8213  //
  8214  // Retrieves a collection of fleet resources in an AWS Region. You can call
  8215  // this operation to get fleets in a previously selected default Region (see
  8216  // https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html
  8217  // (https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html)or
  8218  // specify a Region in your request. You can filter the result set to find only
  8219  // those fleets that are deployed with a specific build or script. For fleets
  8220  // that have multiple locations, this operation retrieves fleets based on their
  8221  // home Region only.
  8222  //
  8223  // This operation can be used in the following ways:
  8224  //
  8225  //    * To get a list of all fleets in a Region, don't provide a build or script
  8226  //    identifier.
  8227  //
  8228  //    * To get a list of all fleets where a specific custom game build is deployed,
  8229  //    provide the build ID.
  8230  //
  8231  //    * To get a list of all Realtime Servers fleets with a specific configuration
  8232  //    script, provide the script ID.
  8233  //
  8234  // Use the pagination parameters to retrieve results as a set of sequential
  8235  // pages.
  8236  //
  8237  // If successful, a list of fleet IDs that match the request parameters is returned.
  8238  // A NextToken value is also returned if there are more result pages to retrieve.
  8239  //
  8240  // Fleet resources are not listed in a particular order.
  8241  //
  8242  // Learn more
  8243  //
  8244  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  8245  //
  8246  // Related actions
  8247  //
  8248  // CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
  8249  // | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
  8250  // | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  8251  //
  8252  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8253  // with awserr.Error's Code and Message methods to get detailed information about
  8254  // the error.
  8255  //
  8256  // See the AWS API reference guide for Amazon GameLift's
  8257  // API operation ListFleets for usage and error information.
  8258  //
  8259  // Returned Error Types:
  8260  //   * InternalServiceException
  8261  //   The service encountered an unrecoverable internal failure while processing
  8262  //   the request. Clients can retry such requests immediately or after a waiting
  8263  //   period.
  8264  //
  8265  //   * NotFoundException
  8266  //   A service resource associated with the request could not be found. Clients
  8267  //   should not retry such requests.
  8268  //
  8269  //   * InvalidRequestException
  8270  //   One or more parameter values in the request are invalid. Correct the invalid
  8271  //   parameter values before retrying.
  8272  //
  8273  //   * UnauthorizedException
  8274  //   The client failed authentication. Clients should not retry such requests.
  8275  //
  8276  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListFleets
  8277  func (c *GameLift) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
  8278  	req, out := c.ListFleetsRequest(input)
  8279  	return out, req.Send()
  8280  }
  8281  
  8282  // ListFleetsWithContext is the same as ListFleets with the addition of
  8283  // the ability to pass a context and additional request options.
  8284  //
  8285  // See ListFleets for details on how to use this API operation.
  8286  //
  8287  // The context must be non-nil and will be used for request cancellation. If
  8288  // the context is nil a panic will occur. In the future the SDK may create
  8289  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8290  // for more information on using Contexts.
  8291  func (c *GameLift) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
  8292  	req, out := c.ListFleetsRequest(input)
  8293  	req.SetContext(ctx)
  8294  	req.ApplyOptions(opts...)
  8295  	return out, req.Send()
  8296  }
  8297  
  8298  // ListFleetsPages iterates over the pages of a ListFleets operation,
  8299  // calling the "fn" function with the response data for each page. To stop
  8300  // iterating, return false from the fn function.
  8301  //
  8302  // See ListFleets method for more information on how to use this operation.
  8303  //
  8304  // Note: This operation can generate multiple requests to a service.
  8305  //
  8306  //    // Example iterating over at most 3 pages of a ListFleets operation.
  8307  //    pageNum := 0
  8308  //    err := client.ListFleetsPages(params,
  8309  //        func(page *gamelift.ListFleetsOutput, lastPage bool) bool {
  8310  //            pageNum++
  8311  //            fmt.Println(page)
  8312  //            return pageNum <= 3
  8313  //        })
  8314  //
  8315  func (c *GameLift) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error {
  8316  	return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
  8317  }
  8318  
  8319  // ListFleetsPagesWithContext same as ListFleetsPages except
  8320  // it takes a Context and allows setting request options on the pages.
  8321  //
  8322  // The context must be non-nil and will be used for request cancellation. If
  8323  // the context is nil a panic will occur. In the future the SDK may create
  8324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8325  // for more information on using Contexts.
  8326  func (c *GameLift) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error {
  8327  	p := request.Pagination{
  8328  		NewRequest: func() (*request.Request, error) {
  8329  			var inCpy *ListFleetsInput
  8330  			if input != nil {
  8331  				tmp := *input
  8332  				inCpy = &tmp
  8333  			}
  8334  			req, _ := c.ListFleetsRequest(inCpy)
  8335  			req.SetContext(ctx)
  8336  			req.ApplyOptions(opts...)
  8337  			return req, nil
  8338  		},
  8339  	}
  8340  
  8341  	for p.Next() {
  8342  		if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) {
  8343  			break
  8344  		}
  8345  	}
  8346  
  8347  	return p.Err()
  8348  }
  8349  
  8350  const opListGameServerGroups = "ListGameServerGroups"
  8351  
  8352  // ListGameServerGroupsRequest generates a "aws/request.Request" representing the
  8353  // client's request for the ListGameServerGroups operation. The "output" return
  8354  // value will be populated with the request's response once the request completes
  8355  // successfully.
  8356  //
  8357  // Use "Send" method on the returned Request to send the API call to the service.
  8358  // the "output" return value is not valid until after Send returns without error.
  8359  //
  8360  // See ListGameServerGroups for more information on using the ListGameServerGroups
  8361  // API call, and error handling.
  8362  //
  8363  // This method is useful when you want to inject custom logic or configuration
  8364  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8365  //
  8366  //
  8367  //    // Example sending a request using the ListGameServerGroupsRequest method.
  8368  //    req, resp := client.ListGameServerGroupsRequest(params)
  8369  //
  8370  //    err := req.Send()
  8371  //    if err == nil { // resp is now filled
  8372  //        fmt.Println(resp)
  8373  //    }
  8374  //
  8375  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServerGroups
  8376  func (c *GameLift) ListGameServerGroupsRequest(input *ListGameServerGroupsInput) (req *request.Request, output *ListGameServerGroupsOutput) {
  8377  	op := &request.Operation{
  8378  		Name:       opListGameServerGroups,
  8379  		HTTPMethod: "POST",
  8380  		HTTPPath:   "/",
  8381  		Paginator: &request.Paginator{
  8382  			InputTokens:     []string{"NextToken"},
  8383  			OutputTokens:    []string{"NextToken"},
  8384  			LimitToken:      "Limit",
  8385  			TruncationToken: "",
  8386  		},
  8387  	}
  8388  
  8389  	if input == nil {
  8390  		input = &ListGameServerGroupsInput{}
  8391  	}
  8392  
  8393  	output = &ListGameServerGroupsOutput{}
  8394  	req = c.newRequest(op, input, output)
  8395  	return
  8396  }
  8397  
  8398  // ListGameServerGroups API operation for Amazon GameLift.
  8399  //
  8400  // This operation is used with the GameLift FleetIQ solution and game server
  8401  // groups.
  8402  //
  8403  // Retrieves information on all game servers groups that exist in the current
  8404  // AWS account for the selected Region. Use the pagination parameters to retrieve
  8405  // results in a set of sequential segments.
  8406  //
  8407  // Learn more
  8408  //
  8409  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  8410  //
  8411  // Related actions
  8412  //
  8413  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
  8414  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
  8415  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  8416  //
  8417  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8418  // with awserr.Error's Code and Message methods to get detailed information about
  8419  // the error.
  8420  //
  8421  // See the AWS API reference guide for Amazon GameLift's
  8422  // API operation ListGameServerGroups for usage and error information.
  8423  //
  8424  // Returned Error Types:
  8425  //   * InvalidRequestException
  8426  //   One or more parameter values in the request are invalid. Correct the invalid
  8427  //   parameter values before retrying.
  8428  //
  8429  //   * UnauthorizedException
  8430  //   The client failed authentication. Clients should not retry such requests.
  8431  //
  8432  //   * InternalServiceException
  8433  //   The service encountered an unrecoverable internal failure while processing
  8434  //   the request. Clients can retry such requests immediately or after a waiting
  8435  //   period.
  8436  //
  8437  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServerGroups
  8438  func (c *GameLift) ListGameServerGroups(input *ListGameServerGroupsInput) (*ListGameServerGroupsOutput, error) {
  8439  	req, out := c.ListGameServerGroupsRequest(input)
  8440  	return out, req.Send()
  8441  }
  8442  
  8443  // ListGameServerGroupsWithContext is the same as ListGameServerGroups with the addition of
  8444  // the ability to pass a context and additional request options.
  8445  //
  8446  // See ListGameServerGroups for details on how to use this API operation.
  8447  //
  8448  // The context must be non-nil and will be used for request cancellation. If
  8449  // the context is nil a panic will occur. In the future the SDK may create
  8450  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8451  // for more information on using Contexts.
  8452  func (c *GameLift) ListGameServerGroupsWithContext(ctx aws.Context, input *ListGameServerGroupsInput, opts ...request.Option) (*ListGameServerGroupsOutput, error) {
  8453  	req, out := c.ListGameServerGroupsRequest(input)
  8454  	req.SetContext(ctx)
  8455  	req.ApplyOptions(opts...)
  8456  	return out, req.Send()
  8457  }
  8458  
  8459  // ListGameServerGroupsPages iterates over the pages of a ListGameServerGroups operation,
  8460  // calling the "fn" function with the response data for each page. To stop
  8461  // iterating, return false from the fn function.
  8462  //
  8463  // See ListGameServerGroups method for more information on how to use this operation.
  8464  //
  8465  // Note: This operation can generate multiple requests to a service.
  8466  //
  8467  //    // Example iterating over at most 3 pages of a ListGameServerGroups operation.
  8468  //    pageNum := 0
  8469  //    err := client.ListGameServerGroupsPages(params,
  8470  //        func(page *gamelift.ListGameServerGroupsOutput, lastPage bool) bool {
  8471  //            pageNum++
  8472  //            fmt.Println(page)
  8473  //            return pageNum <= 3
  8474  //        })
  8475  //
  8476  func (c *GameLift) ListGameServerGroupsPages(input *ListGameServerGroupsInput, fn func(*ListGameServerGroupsOutput, bool) bool) error {
  8477  	return c.ListGameServerGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  8478  }
  8479  
  8480  // ListGameServerGroupsPagesWithContext same as ListGameServerGroupsPages except
  8481  // it takes a Context and allows setting request options on the pages.
  8482  //
  8483  // The context must be non-nil and will be used for request cancellation. If
  8484  // the context is nil a panic will occur. In the future the SDK may create
  8485  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8486  // for more information on using Contexts.
  8487  func (c *GameLift) ListGameServerGroupsPagesWithContext(ctx aws.Context, input *ListGameServerGroupsInput, fn func(*ListGameServerGroupsOutput, bool) bool, opts ...request.Option) error {
  8488  	p := request.Pagination{
  8489  		NewRequest: func() (*request.Request, error) {
  8490  			var inCpy *ListGameServerGroupsInput
  8491  			if input != nil {
  8492  				tmp := *input
  8493  				inCpy = &tmp
  8494  			}
  8495  			req, _ := c.ListGameServerGroupsRequest(inCpy)
  8496  			req.SetContext(ctx)
  8497  			req.ApplyOptions(opts...)
  8498  			return req, nil
  8499  		},
  8500  	}
  8501  
  8502  	for p.Next() {
  8503  		if !fn(p.Page().(*ListGameServerGroupsOutput), !p.HasNextPage()) {
  8504  			break
  8505  		}
  8506  	}
  8507  
  8508  	return p.Err()
  8509  }
  8510  
  8511  const opListGameServers = "ListGameServers"
  8512  
  8513  // ListGameServersRequest generates a "aws/request.Request" representing the
  8514  // client's request for the ListGameServers operation. The "output" return
  8515  // value will be populated with the request's response once the request completes
  8516  // successfully.
  8517  //
  8518  // Use "Send" method on the returned Request to send the API call to the service.
  8519  // the "output" return value is not valid until after Send returns without error.
  8520  //
  8521  // See ListGameServers for more information on using the ListGameServers
  8522  // API call, and error handling.
  8523  //
  8524  // This method is useful when you want to inject custom logic or configuration
  8525  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8526  //
  8527  //
  8528  //    // Example sending a request using the ListGameServersRequest method.
  8529  //    req, resp := client.ListGameServersRequest(params)
  8530  //
  8531  //    err := req.Send()
  8532  //    if err == nil { // resp is now filled
  8533  //        fmt.Println(resp)
  8534  //    }
  8535  //
  8536  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServers
  8537  func (c *GameLift) ListGameServersRequest(input *ListGameServersInput) (req *request.Request, output *ListGameServersOutput) {
  8538  	op := &request.Operation{
  8539  		Name:       opListGameServers,
  8540  		HTTPMethod: "POST",
  8541  		HTTPPath:   "/",
  8542  		Paginator: &request.Paginator{
  8543  			InputTokens:     []string{"NextToken"},
  8544  			OutputTokens:    []string{"NextToken"},
  8545  			LimitToken:      "Limit",
  8546  			TruncationToken: "",
  8547  		},
  8548  	}
  8549  
  8550  	if input == nil {
  8551  		input = &ListGameServersInput{}
  8552  	}
  8553  
  8554  	output = &ListGameServersOutput{}
  8555  	req = c.newRequest(op, input, output)
  8556  	return
  8557  }
  8558  
  8559  // ListGameServers API operation for Amazon GameLift.
  8560  //
  8561  // This operation is used with the GameLift FleetIQ solution and game server
  8562  // groups.
  8563  //
  8564  // Retrieves information on all game servers that are currently active in a
  8565  // specified game server group. You can opt to sort the list by game server
  8566  // age. Use the pagination parameters to retrieve results in a set of sequential
  8567  // segments.
  8568  //
  8569  // Learn more
  8570  //
  8571  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  8572  //
  8573  // Related actions
  8574  //
  8575  // RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
  8576  // | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  8577  //
  8578  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8579  // with awserr.Error's Code and Message methods to get detailed information about
  8580  // the error.
  8581  //
  8582  // See the AWS API reference guide for Amazon GameLift's
  8583  // API operation ListGameServers for usage and error information.
  8584  //
  8585  // Returned Error Types:
  8586  //   * InvalidRequestException
  8587  //   One or more parameter values in the request are invalid. Correct the invalid
  8588  //   parameter values before retrying.
  8589  //
  8590  //   * UnauthorizedException
  8591  //   The client failed authentication. Clients should not retry such requests.
  8592  //
  8593  //   * InternalServiceException
  8594  //   The service encountered an unrecoverable internal failure while processing
  8595  //   the request. Clients can retry such requests immediately or after a waiting
  8596  //   period.
  8597  //
  8598  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServers
  8599  func (c *GameLift) ListGameServers(input *ListGameServersInput) (*ListGameServersOutput, error) {
  8600  	req, out := c.ListGameServersRequest(input)
  8601  	return out, req.Send()
  8602  }
  8603  
  8604  // ListGameServersWithContext is the same as ListGameServers with the addition of
  8605  // the ability to pass a context and additional request options.
  8606  //
  8607  // See ListGameServers for details on how to use this API operation.
  8608  //
  8609  // The context must be non-nil and will be used for request cancellation. If
  8610  // the context is nil a panic will occur. In the future the SDK may create
  8611  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8612  // for more information on using Contexts.
  8613  func (c *GameLift) ListGameServersWithContext(ctx aws.Context, input *ListGameServersInput, opts ...request.Option) (*ListGameServersOutput, error) {
  8614  	req, out := c.ListGameServersRequest(input)
  8615  	req.SetContext(ctx)
  8616  	req.ApplyOptions(opts...)
  8617  	return out, req.Send()
  8618  }
  8619  
  8620  // ListGameServersPages iterates over the pages of a ListGameServers operation,
  8621  // calling the "fn" function with the response data for each page. To stop
  8622  // iterating, return false from the fn function.
  8623  //
  8624  // See ListGameServers method for more information on how to use this operation.
  8625  //
  8626  // Note: This operation can generate multiple requests to a service.
  8627  //
  8628  //    // Example iterating over at most 3 pages of a ListGameServers operation.
  8629  //    pageNum := 0
  8630  //    err := client.ListGameServersPages(params,
  8631  //        func(page *gamelift.ListGameServersOutput, lastPage bool) bool {
  8632  //            pageNum++
  8633  //            fmt.Println(page)
  8634  //            return pageNum <= 3
  8635  //        })
  8636  //
  8637  func (c *GameLift) ListGameServersPages(input *ListGameServersInput, fn func(*ListGameServersOutput, bool) bool) error {
  8638  	return c.ListGameServersPagesWithContext(aws.BackgroundContext(), input, fn)
  8639  }
  8640  
  8641  // ListGameServersPagesWithContext same as ListGameServersPages except
  8642  // it takes a Context and allows setting request options on the pages.
  8643  //
  8644  // The context must be non-nil and will be used for request cancellation. If
  8645  // the context is nil a panic will occur. In the future the SDK may create
  8646  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8647  // for more information on using Contexts.
  8648  func (c *GameLift) ListGameServersPagesWithContext(ctx aws.Context, input *ListGameServersInput, fn func(*ListGameServersOutput, bool) bool, opts ...request.Option) error {
  8649  	p := request.Pagination{
  8650  		NewRequest: func() (*request.Request, error) {
  8651  			var inCpy *ListGameServersInput
  8652  			if input != nil {
  8653  				tmp := *input
  8654  				inCpy = &tmp
  8655  			}
  8656  			req, _ := c.ListGameServersRequest(inCpy)
  8657  			req.SetContext(ctx)
  8658  			req.ApplyOptions(opts...)
  8659  			return req, nil
  8660  		},
  8661  	}
  8662  
  8663  	for p.Next() {
  8664  		if !fn(p.Page().(*ListGameServersOutput), !p.HasNextPage()) {
  8665  			break
  8666  		}
  8667  	}
  8668  
  8669  	return p.Err()
  8670  }
  8671  
  8672  const opListScripts = "ListScripts"
  8673  
  8674  // ListScriptsRequest generates a "aws/request.Request" representing the
  8675  // client's request for the ListScripts operation. The "output" return
  8676  // value will be populated with the request's response once the request completes
  8677  // successfully.
  8678  //
  8679  // Use "Send" method on the returned Request to send the API call to the service.
  8680  // the "output" return value is not valid until after Send returns without error.
  8681  //
  8682  // See ListScripts for more information on using the ListScripts
  8683  // API call, and error handling.
  8684  //
  8685  // This method is useful when you want to inject custom logic or configuration
  8686  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8687  //
  8688  //
  8689  //    // Example sending a request using the ListScriptsRequest method.
  8690  //    req, resp := client.ListScriptsRequest(params)
  8691  //
  8692  //    err := req.Send()
  8693  //    if err == nil { // resp is now filled
  8694  //        fmt.Println(resp)
  8695  //    }
  8696  //
  8697  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListScripts
  8698  func (c *GameLift) ListScriptsRequest(input *ListScriptsInput) (req *request.Request, output *ListScriptsOutput) {
  8699  	op := &request.Operation{
  8700  		Name:       opListScripts,
  8701  		HTTPMethod: "POST",
  8702  		HTTPPath:   "/",
  8703  		Paginator: &request.Paginator{
  8704  			InputTokens:     []string{"NextToken"},
  8705  			OutputTokens:    []string{"NextToken"},
  8706  			LimitToken:      "Limit",
  8707  			TruncationToken: "",
  8708  		},
  8709  	}
  8710  
  8711  	if input == nil {
  8712  		input = &ListScriptsInput{}
  8713  	}
  8714  
  8715  	output = &ListScriptsOutput{}
  8716  	req = c.newRequest(op, input, output)
  8717  	return
  8718  }
  8719  
  8720  // ListScripts API operation for Amazon GameLift.
  8721  //
  8722  // Retrieves script records for all Realtime scripts that are associated with
  8723  // the AWS account in use.
  8724  //
  8725  // Learn more
  8726  //
  8727  // Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
  8728  //
  8729  // Related actions
  8730  //
  8731  // CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
  8732  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  8733  //
  8734  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8735  // with awserr.Error's Code and Message methods to get detailed information about
  8736  // the error.
  8737  //
  8738  // See the AWS API reference guide for Amazon GameLift's
  8739  // API operation ListScripts for usage and error information.
  8740  //
  8741  // Returned Error Types:
  8742  //   * UnauthorizedException
  8743  //   The client failed authentication. Clients should not retry such requests.
  8744  //
  8745  //   * InvalidRequestException
  8746  //   One or more parameter values in the request are invalid. Correct the invalid
  8747  //   parameter values before retrying.
  8748  //
  8749  //   * InternalServiceException
  8750  //   The service encountered an unrecoverable internal failure while processing
  8751  //   the request. Clients can retry such requests immediately or after a waiting
  8752  //   period.
  8753  //
  8754  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListScripts
  8755  func (c *GameLift) ListScripts(input *ListScriptsInput) (*ListScriptsOutput, error) {
  8756  	req, out := c.ListScriptsRequest(input)
  8757  	return out, req.Send()
  8758  }
  8759  
  8760  // ListScriptsWithContext is the same as ListScripts with the addition of
  8761  // the ability to pass a context and additional request options.
  8762  //
  8763  // See ListScripts for details on how to use this API operation.
  8764  //
  8765  // The context must be non-nil and will be used for request cancellation. If
  8766  // the context is nil a panic will occur. In the future the SDK may create
  8767  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8768  // for more information on using Contexts.
  8769  func (c *GameLift) ListScriptsWithContext(ctx aws.Context, input *ListScriptsInput, opts ...request.Option) (*ListScriptsOutput, error) {
  8770  	req, out := c.ListScriptsRequest(input)
  8771  	req.SetContext(ctx)
  8772  	req.ApplyOptions(opts...)
  8773  	return out, req.Send()
  8774  }
  8775  
  8776  // ListScriptsPages iterates over the pages of a ListScripts operation,
  8777  // calling the "fn" function with the response data for each page. To stop
  8778  // iterating, return false from the fn function.
  8779  //
  8780  // See ListScripts method for more information on how to use this operation.
  8781  //
  8782  // Note: This operation can generate multiple requests to a service.
  8783  //
  8784  //    // Example iterating over at most 3 pages of a ListScripts operation.
  8785  //    pageNum := 0
  8786  //    err := client.ListScriptsPages(params,
  8787  //        func(page *gamelift.ListScriptsOutput, lastPage bool) bool {
  8788  //            pageNum++
  8789  //            fmt.Println(page)
  8790  //            return pageNum <= 3
  8791  //        })
  8792  //
  8793  func (c *GameLift) ListScriptsPages(input *ListScriptsInput, fn func(*ListScriptsOutput, bool) bool) error {
  8794  	return c.ListScriptsPagesWithContext(aws.BackgroundContext(), input, fn)
  8795  }
  8796  
  8797  // ListScriptsPagesWithContext same as ListScriptsPages except
  8798  // it takes a Context and allows setting request options on the pages.
  8799  //
  8800  // The context must be non-nil and will be used for request cancellation. If
  8801  // the context is nil a panic will occur. In the future the SDK may create
  8802  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8803  // for more information on using Contexts.
  8804  func (c *GameLift) ListScriptsPagesWithContext(ctx aws.Context, input *ListScriptsInput, fn func(*ListScriptsOutput, bool) bool, opts ...request.Option) error {
  8805  	p := request.Pagination{
  8806  		NewRequest: func() (*request.Request, error) {
  8807  			var inCpy *ListScriptsInput
  8808  			if input != nil {
  8809  				tmp := *input
  8810  				inCpy = &tmp
  8811  			}
  8812  			req, _ := c.ListScriptsRequest(inCpy)
  8813  			req.SetContext(ctx)
  8814  			req.ApplyOptions(opts...)
  8815  			return req, nil
  8816  		},
  8817  	}
  8818  
  8819  	for p.Next() {
  8820  		if !fn(p.Page().(*ListScriptsOutput), !p.HasNextPage()) {
  8821  			break
  8822  		}
  8823  	}
  8824  
  8825  	return p.Err()
  8826  }
  8827  
  8828  const opListTagsForResource = "ListTagsForResource"
  8829  
  8830  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  8831  // client's request for the ListTagsForResource operation. The "output" return
  8832  // value will be populated with the request's response once the request completes
  8833  // successfully.
  8834  //
  8835  // Use "Send" method on the returned Request to send the API call to the service.
  8836  // the "output" return value is not valid until after Send returns without error.
  8837  //
  8838  // See ListTagsForResource for more information on using the ListTagsForResource
  8839  // API call, and error handling.
  8840  //
  8841  // This method is useful when you want to inject custom logic or configuration
  8842  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8843  //
  8844  //
  8845  //    // Example sending a request using the ListTagsForResourceRequest method.
  8846  //    req, resp := client.ListTagsForResourceRequest(params)
  8847  //
  8848  //    err := req.Send()
  8849  //    if err == nil { // resp is now filled
  8850  //        fmt.Println(resp)
  8851  //    }
  8852  //
  8853  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListTagsForResource
  8854  func (c *GameLift) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  8855  	op := &request.Operation{
  8856  		Name:       opListTagsForResource,
  8857  		HTTPMethod: "POST",
  8858  		HTTPPath:   "/",
  8859  	}
  8860  
  8861  	if input == nil {
  8862  		input = &ListTagsForResourceInput{}
  8863  	}
  8864  
  8865  	output = &ListTagsForResourceOutput{}
  8866  	req = c.newRequest(op, input, output)
  8867  	return
  8868  }
  8869  
  8870  // ListTagsForResource API operation for Amazon GameLift.
  8871  //
  8872  // Retrieves all tags that are assigned to a GameLift resource. Resource tags
  8873  // are used to organize AWS resources for a range of purposes. This operation
  8874  // handles the permissions necessary to manage tags for the following GameLift
  8875  // resource types:
  8876  //
  8877  //    * Build
  8878  //
  8879  //    * Script
  8880  //
  8881  //    * Fleet
  8882  //
  8883  //    * Alias
  8884  //
  8885  //    * GameSessionQueue
  8886  //
  8887  //    * MatchmakingConfiguration
  8888  //
  8889  //    * MatchmakingRuleSet
  8890  //
  8891  // To list tags for a resource, specify the unique ARN value for the resource.
  8892  //
  8893  // Learn more
  8894  //
  8895  // Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
  8896  // in the AWS General Reference
  8897  //
  8898  //  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
  8899  //
  8900  // Related actions
  8901  //
  8902  // TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  8903  //
  8904  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8905  // with awserr.Error's Code and Message methods to get detailed information about
  8906  // the error.
  8907  //
  8908  // See the AWS API reference guide for Amazon GameLift's
  8909  // API operation ListTagsForResource for usage and error information.
  8910  //
  8911  // Returned Error Types:
  8912  //   * NotFoundException
  8913  //   A service resource associated with the request could not be found. Clients
  8914  //   should not retry such requests.
  8915  //
  8916  //   * InvalidRequestException
  8917  //   One or more parameter values in the request are invalid. Correct the invalid
  8918  //   parameter values before retrying.
  8919  //
  8920  //   * TaggingFailedException
  8921  //   The requested tagging operation did not succeed. This may be due to invalid
  8922  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
  8923  //   before retrying.
  8924  //
  8925  //   * InternalServiceException
  8926  //   The service encountered an unrecoverable internal failure while processing
  8927  //   the request. Clients can retry such requests immediately or after a waiting
  8928  //   period.
  8929  //
  8930  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListTagsForResource
  8931  func (c *GameLift) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  8932  	req, out := c.ListTagsForResourceRequest(input)
  8933  	return out, req.Send()
  8934  }
  8935  
  8936  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  8937  // the ability to pass a context and additional request options.
  8938  //
  8939  // See ListTagsForResource for details on how to use this API operation.
  8940  //
  8941  // The context must be non-nil and will be used for request cancellation. If
  8942  // the context is nil a panic will occur. In the future the SDK may create
  8943  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8944  // for more information on using Contexts.
  8945  func (c *GameLift) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  8946  	req, out := c.ListTagsForResourceRequest(input)
  8947  	req.SetContext(ctx)
  8948  	req.ApplyOptions(opts...)
  8949  	return out, req.Send()
  8950  }
  8951  
  8952  const opPutScalingPolicy = "PutScalingPolicy"
  8953  
  8954  // PutScalingPolicyRequest generates a "aws/request.Request" representing the
  8955  // client's request for the PutScalingPolicy operation. The "output" return
  8956  // value will be populated with the request's response once the request completes
  8957  // successfully.
  8958  //
  8959  // Use "Send" method on the returned Request to send the API call to the service.
  8960  // the "output" return value is not valid until after Send returns without error.
  8961  //
  8962  // See PutScalingPolicy for more information on using the PutScalingPolicy
  8963  // API call, and error handling.
  8964  //
  8965  // This method is useful when you want to inject custom logic or configuration
  8966  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8967  //
  8968  //
  8969  //    // Example sending a request using the PutScalingPolicyRequest method.
  8970  //    req, resp := client.PutScalingPolicyRequest(params)
  8971  //
  8972  //    err := req.Send()
  8973  //    if err == nil { // resp is now filled
  8974  //        fmt.Println(resp)
  8975  //    }
  8976  //
  8977  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
  8978  func (c *GameLift) PutScalingPolicyRequest(input *PutScalingPolicyInput) (req *request.Request, output *PutScalingPolicyOutput) {
  8979  	op := &request.Operation{
  8980  		Name:       opPutScalingPolicy,
  8981  		HTTPMethod: "POST",
  8982  		HTTPPath:   "/",
  8983  	}
  8984  
  8985  	if input == nil {
  8986  		input = &PutScalingPolicyInput{}
  8987  	}
  8988  
  8989  	output = &PutScalingPolicyOutput{}
  8990  	req = c.newRequest(op, input, output)
  8991  	return
  8992  }
  8993  
  8994  // PutScalingPolicy API operation for Amazon GameLift.
  8995  //
  8996  // Creates or updates a scaling policy for a fleet. Scaling policies are used
  8997  // to automatically scale a fleet's hosting capacity to meet player demand.
  8998  // An active scaling policy instructs Amazon GameLift to track a fleet metric
  8999  // and automatically change the fleet's capacity when a certain threshold is
  9000  // reached. There are two types of scaling policies: target-based and rule-based.
  9001  // Use a target-based policy to quickly and efficiently manage fleet scaling;
  9002  // this option is the most commonly used. Use rule-based policies when you need
  9003  // to exert fine-grained control over auto-scaling.
  9004  //
  9005  // Fleets can have multiple scaling policies of each type in force at the same
  9006  // time; you can have one target-based policy, one or multiple rule-based scaling
  9007  // policies, or both. We recommend caution, however, because multiple auto-scaling
  9008  // policies can have unintended consequences.
  9009  //
  9010  // You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions
  9011  // with the fleet action AUTO_SCALING. To resume scaling policies, call StartFleetActions
  9012  // with the same fleet action. To stop just one scaling policy--or to permanently
  9013  // remove it, you must delete the policy with DeleteScalingPolicy.
  9014  //
  9015  // Learn more about how to work with auto-scaling in Set Up Fleet Automatic
  9016  // Scaling (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-autoscaling.html).
  9017  //
  9018  // Target-based policy
  9019  //
  9020  // A target-based policy tracks a single metric: PercentAvailableGameSessions.
  9021  // This metric tells us how much of a fleet's hosting capacity is ready to host
  9022  // game sessions but is not currently in use. This is the fleet's buffer; it
  9023  // measures the additional player demand that the fleet could handle at current
  9024  // capacity. With a target-based policy, you set your ideal buffer size and
  9025  // leave it to Amazon GameLift to take whatever action is needed to maintain
  9026  // that target.
  9027  //
  9028  // For example, you might choose to maintain a 10% buffer for a fleet that has
  9029  // the capacity to host 100 simultaneous game sessions. This policy tells Amazon
  9030  // GameLift to take action whenever the fleet's available capacity falls below
  9031  // or rises above 10 game sessions. Amazon GameLift will start new instances
  9032  // or stop unused instances in order to return to the 10% buffer.
  9033  //
  9034  // To create or update a target-based policy, specify a fleet ID and name, and
  9035  // set the policy type to "TargetBased". Specify the metric to track (PercentAvailableGameSessions)
  9036  // and reference a TargetConfiguration object with your desired buffer value.
  9037  // Exclude all other parameters. On a successful request, the policy name is
  9038  // returned. The scaling policy is automatically in force as soon as it's successfully
  9039  // created. If the fleet's auto-scaling actions are temporarily suspended, the
  9040  // new policy will be in force once the fleet actions are restarted.
  9041  //
  9042  // Rule-based policy
  9043  //
  9044  // A rule-based policy tracks specified fleet metric, sets a threshold value,
  9045  // and specifies the type of action to initiate when triggered. With a rule-based
  9046  // policy, you can select from several available fleet metrics. Each policy
  9047  // specifies whether to scale up or scale down (and by how much), so you need
  9048  // one policy for each type of action.
  9049  //
  9050  // For example, a policy may make the following statement: "If the percentage
  9051  // of idle instances is greater than 20% for more than 15 minutes, then reduce
  9052  // the fleet capacity by 10%."
  9053  //
  9054  // A policy's rule statement has the following structure:
  9055  //
  9056  // If [MetricName] is [ComparisonOperator] [Threshold] for [EvaluationPeriods]
  9057  // minutes, then [ScalingAdjustmentType] to/by [ScalingAdjustment].
  9058  //
  9059  // To implement the example, the rule statement would look like this:
  9060  //
  9061  // If [PercentIdleInstances] is [GreaterThanThreshold] [20] for [15] minutes,
  9062  // then [PercentChangeInCapacity] to/by [10].
  9063  //
  9064  // To create or update a scaling policy, specify a unique combination of name
  9065  // and fleet ID, and set the policy type to "RuleBased". Specify the parameter
  9066  // values for a policy rule statement. On a successful request, the policy name
  9067  // is returned. Scaling policies are automatically in force as soon as they're
  9068  // successfully created. If the fleet's auto-scaling actions are temporarily
  9069  // suspended, the new policy will be in force once the fleet actions are restarted.
  9070  //
  9071  // Related actions
  9072  //
  9073  // DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
  9074  // PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
  9075  // | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  9076  //
  9077  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9078  // with awserr.Error's Code and Message methods to get detailed information about
  9079  // the error.
  9080  //
  9081  // See the AWS API reference guide for Amazon GameLift's
  9082  // API operation PutScalingPolicy for usage and error information.
  9083  //
  9084  // Returned Error Types:
  9085  //   * InternalServiceException
  9086  //   The service encountered an unrecoverable internal failure while processing
  9087  //   the request. Clients can retry such requests immediately or after a waiting
  9088  //   period.
  9089  //
  9090  //   * InvalidRequestException
  9091  //   One or more parameter values in the request are invalid. Correct the invalid
  9092  //   parameter values before retrying.
  9093  //
  9094  //   * UnauthorizedException
  9095  //   The client failed authentication. Clients should not retry such requests.
  9096  //
  9097  //   * NotFoundException
  9098  //   A service resource associated with the request could not be found. Clients
  9099  //   should not retry such requests.
  9100  //
  9101  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PutScalingPolicy
  9102  func (c *GameLift) PutScalingPolicy(input *PutScalingPolicyInput) (*PutScalingPolicyOutput, error) {
  9103  	req, out := c.PutScalingPolicyRequest(input)
  9104  	return out, req.Send()
  9105  }
  9106  
  9107  // PutScalingPolicyWithContext is the same as PutScalingPolicy with the addition of
  9108  // the ability to pass a context and additional request options.
  9109  //
  9110  // See PutScalingPolicy for details on how to use this API operation.
  9111  //
  9112  // The context must be non-nil and will be used for request cancellation. If
  9113  // the context is nil a panic will occur. In the future the SDK may create
  9114  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9115  // for more information on using Contexts.
  9116  func (c *GameLift) PutScalingPolicyWithContext(ctx aws.Context, input *PutScalingPolicyInput, opts ...request.Option) (*PutScalingPolicyOutput, error) {
  9117  	req, out := c.PutScalingPolicyRequest(input)
  9118  	req.SetContext(ctx)
  9119  	req.ApplyOptions(opts...)
  9120  	return out, req.Send()
  9121  }
  9122  
  9123  const opRegisterGameServer = "RegisterGameServer"
  9124  
  9125  // RegisterGameServerRequest generates a "aws/request.Request" representing the
  9126  // client's request for the RegisterGameServer operation. The "output" return
  9127  // value will be populated with the request's response once the request completes
  9128  // successfully.
  9129  //
  9130  // Use "Send" method on the returned Request to send the API call to the service.
  9131  // the "output" return value is not valid until after Send returns without error.
  9132  //
  9133  // See RegisterGameServer for more information on using the RegisterGameServer
  9134  // API call, and error handling.
  9135  //
  9136  // This method is useful when you want to inject custom logic or configuration
  9137  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9138  //
  9139  //
  9140  //    // Example sending a request using the RegisterGameServerRequest method.
  9141  //    req, resp := client.RegisterGameServerRequest(params)
  9142  //
  9143  //    err := req.Send()
  9144  //    if err == nil { // resp is now filled
  9145  //        fmt.Println(resp)
  9146  //    }
  9147  //
  9148  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServer
  9149  func (c *GameLift) RegisterGameServerRequest(input *RegisterGameServerInput) (req *request.Request, output *RegisterGameServerOutput) {
  9150  	op := &request.Operation{
  9151  		Name:       opRegisterGameServer,
  9152  		HTTPMethod: "POST",
  9153  		HTTPPath:   "/",
  9154  	}
  9155  
  9156  	if input == nil {
  9157  		input = &RegisterGameServerInput{}
  9158  	}
  9159  
  9160  	output = &RegisterGameServerOutput{}
  9161  	req = c.newRequest(op, input, output)
  9162  	return
  9163  }
  9164  
  9165  // RegisterGameServer API operation for Amazon GameLift.
  9166  //
  9167  // This operation is used with the GameLift FleetIQ solution and game server
  9168  // groups.
  9169  //
  9170  // Creates a new game server resource and notifies GameLift FleetIQ that the
  9171  // game server is ready to host gameplay and players. This operation is called
  9172  // by a game server process that is running on an instance in a game server
  9173  // group. Registering game servers enables GameLift FleetIQ to track available
  9174  // game servers and enables game clients and services to claim a game server
  9175  // for a new game session.
  9176  //
  9177  // To register a game server, identify the game server group and instance where
  9178  // the game server is running, and provide a unique identifier for the game
  9179  // server. You can also include connection and game server data. When a game
  9180  // client or service requests a game server by calling ClaimGameServer, this
  9181  // information is returned in the response.
  9182  //
  9183  // Once a game server is successfully registered, it is put in status AVAILABLE.
  9184  // A request to register a game server may fail if the instance it is running
  9185  // on is in the process of shutting down as part of instance balancing or scale-down
  9186  // activity.
  9187  //
  9188  // Learn more
  9189  //
  9190  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  9191  //
  9192  // Related actions
  9193  //
  9194  // RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
  9195  // | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  9196  //
  9197  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9198  // with awserr.Error's Code and Message methods to get detailed information about
  9199  // the error.
  9200  //
  9201  // See the AWS API reference guide for Amazon GameLift's
  9202  // API operation RegisterGameServer for usage and error information.
  9203  //
  9204  // Returned Error Types:
  9205  //   * InvalidRequestException
  9206  //   One or more parameter values in the request are invalid. Correct the invalid
  9207  //   parameter values before retrying.
  9208  //
  9209  //   * ConflictException
  9210  //   The requested operation would cause a conflict with the current state of
  9211  //   a service resource associated with the request. Resolve the conflict before
  9212  //   retrying this request.
  9213  //
  9214  //   * UnauthorizedException
  9215  //   The client failed authentication. Clients should not retry such requests.
  9216  //
  9217  //   * InternalServiceException
  9218  //   The service encountered an unrecoverable internal failure while processing
  9219  //   the request. Clients can retry such requests immediately or after a waiting
  9220  //   period.
  9221  //
  9222  //   * LimitExceededException
  9223  //   The requested operation would cause the resource to exceed the allowed service
  9224  //   limit. Resolve the issue before retrying.
  9225  //
  9226  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServer
  9227  func (c *GameLift) RegisterGameServer(input *RegisterGameServerInput) (*RegisterGameServerOutput, error) {
  9228  	req, out := c.RegisterGameServerRequest(input)
  9229  	return out, req.Send()
  9230  }
  9231  
  9232  // RegisterGameServerWithContext is the same as RegisterGameServer with the addition of
  9233  // the ability to pass a context and additional request options.
  9234  //
  9235  // See RegisterGameServer for details on how to use this API operation.
  9236  //
  9237  // The context must be non-nil and will be used for request cancellation. If
  9238  // the context is nil a panic will occur. In the future the SDK may create
  9239  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9240  // for more information on using Contexts.
  9241  func (c *GameLift) RegisterGameServerWithContext(ctx aws.Context, input *RegisterGameServerInput, opts ...request.Option) (*RegisterGameServerOutput, error) {
  9242  	req, out := c.RegisterGameServerRequest(input)
  9243  	req.SetContext(ctx)
  9244  	req.ApplyOptions(opts...)
  9245  	return out, req.Send()
  9246  }
  9247  
  9248  const opRequestUploadCredentials = "RequestUploadCredentials"
  9249  
  9250  // RequestUploadCredentialsRequest generates a "aws/request.Request" representing the
  9251  // client's request for the RequestUploadCredentials operation. The "output" return
  9252  // value will be populated with the request's response once the request completes
  9253  // successfully.
  9254  //
  9255  // Use "Send" method on the returned Request to send the API call to the service.
  9256  // the "output" return value is not valid until after Send returns without error.
  9257  //
  9258  // See RequestUploadCredentials for more information on using the RequestUploadCredentials
  9259  // API call, and error handling.
  9260  //
  9261  // This method is useful when you want to inject custom logic or configuration
  9262  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9263  //
  9264  //
  9265  //    // Example sending a request using the RequestUploadCredentialsRequest method.
  9266  //    req, resp := client.RequestUploadCredentialsRequest(params)
  9267  //
  9268  //    err := req.Send()
  9269  //    if err == nil { // resp is now filled
  9270  //        fmt.Println(resp)
  9271  //    }
  9272  //
  9273  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
  9274  func (c *GameLift) RequestUploadCredentialsRequest(input *RequestUploadCredentialsInput) (req *request.Request, output *RequestUploadCredentialsOutput) {
  9275  	op := &request.Operation{
  9276  		Name:       opRequestUploadCredentials,
  9277  		HTTPMethod: "POST",
  9278  		HTTPPath:   "/",
  9279  	}
  9280  
  9281  	if input == nil {
  9282  		input = &RequestUploadCredentialsInput{}
  9283  	}
  9284  
  9285  	output = &RequestUploadCredentialsOutput{}
  9286  	req = c.newRequest(op, input, output)
  9287  	return
  9288  }
  9289  
  9290  // RequestUploadCredentials API operation for Amazon GameLift.
  9291  //
  9292  // Retrieves a fresh set of credentials for use when uploading a new set of
  9293  // game build files to Amazon GameLift's Amazon S3. This is done as part of
  9294  // the build creation process; see CreateBuild.
  9295  //
  9296  // To request new credentials, specify the build ID as returned with an initial
  9297  // CreateBuild request. If successful, a new set of credentials are returned,
  9298  // along with the S3 storage location associated with the build ID.
  9299  //
  9300  // Learn more
  9301  //
  9302  //  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)
  9303  //
  9304  // Related actions
  9305  //
  9306  // CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
  9307  // APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  9308  //
  9309  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9310  // with awserr.Error's Code and Message methods to get detailed information about
  9311  // the error.
  9312  //
  9313  // See the AWS API reference guide for Amazon GameLift's
  9314  // API operation RequestUploadCredentials for usage and error information.
  9315  //
  9316  // Returned Error Types:
  9317  //   * UnauthorizedException
  9318  //   The client failed authentication. Clients should not retry such requests.
  9319  //
  9320  //   * InvalidRequestException
  9321  //   One or more parameter values in the request are invalid. Correct the invalid
  9322  //   parameter values before retrying.
  9323  //
  9324  //   * NotFoundException
  9325  //   A service resource associated with the request could not be found. Clients
  9326  //   should not retry such requests.
  9327  //
  9328  //   * InternalServiceException
  9329  //   The service encountered an unrecoverable internal failure while processing
  9330  //   the request. Clients can retry such requests immediately or after a waiting
  9331  //   period.
  9332  //
  9333  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RequestUploadCredentials
  9334  func (c *GameLift) RequestUploadCredentials(input *RequestUploadCredentialsInput) (*RequestUploadCredentialsOutput, error) {
  9335  	req, out := c.RequestUploadCredentialsRequest(input)
  9336  	return out, req.Send()
  9337  }
  9338  
  9339  // RequestUploadCredentialsWithContext is the same as RequestUploadCredentials with the addition of
  9340  // the ability to pass a context and additional request options.
  9341  //
  9342  // See RequestUploadCredentials for details on how to use this API operation.
  9343  //
  9344  // The context must be non-nil and will be used for request cancellation. If
  9345  // the context is nil a panic will occur. In the future the SDK may create
  9346  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9347  // for more information on using Contexts.
  9348  func (c *GameLift) RequestUploadCredentialsWithContext(ctx aws.Context, input *RequestUploadCredentialsInput, opts ...request.Option) (*RequestUploadCredentialsOutput, error) {
  9349  	req, out := c.RequestUploadCredentialsRequest(input)
  9350  	req.SetContext(ctx)
  9351  	req.ApplyOptions(opts...)
  9352  	return out, req.Send()
  9353  }
  9354  
  9355  const opResolveAlias = "ResolveAlias"
  9356  
  9357  // ResolveAliasRequest generates a "aws/request.Request" representing the
  9358  // client's request for the ResolveAlias operation. The "output" return
  9359  // value will be populated with the request's response once the request completes
  9360  // successfully.
  9361  //
  9362  // Use "Send" method on the returned Request to send the API call to the service.
  9363  // the "output" return value is not valid until after Send returns without error.
  9364  //
  9365  // See ResolveAlias for more information on using the ResolveAlias
  9366  // API call, and error handling.
  9367  //
  9368  // This method is useful when you want to inject custom logic or configuration
  9369  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9370  //
  9371  //
  9372  //    // Example sending a request using the ResolveAliasRequest method.
  9373  //    req, resp := client.ResolveAliasRequest(params)
  9374  //
  9375  //    err := req.Send()
  9376  //    if err == nil { // resp is now filled
  9377  //        fmt.Println(resp)
  9378  //    }
  9379  //
  9380  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
  9381  func (c *GameLift) ResolveAliasRequest(input *ResolveAliasInput) (req *request.Request, output *ResolveAliasOutput) {
  9382  	op := &request.Operation{
  9383  		Name:       opResolveAlias,
  9384  		HTTPMethod: "POST",
  9385  		HTTPPath:   "/",
  9386  	}
  9387  
  9388  	if input == nil {
  9389  		input = &ResolveAliasInput{}
  9390  	}
  9391  
  9392  	output = &ResolveAliasOutput{}
  9393  	req = c.newRequest(op, input, output)
  9394  	return
  9395  }
  9396  
  9397  // ResolveAlias API operation for Amazon GameLift.
  9398  //
  9399  // Retrieves the fleet ID that an alias is currently pointing to.
  9400  //
  9401  // Related actions
  9402  //
  9403  // CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
  9404  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  9405  //
  9406  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9407  // with awserr.Error's Code and Message methods to get detailed information about
  9408  // the error.
  9409  //
  9410  // See the AWS API reference guide for Amazon GameLift's
  9411  // API operation ResolveAlias for usage and error information.
  9412  //
  9413  // Returned Error Types:
  9414  //   * UnauthorizedException
  9415  //   The client failed authentication. Clients should not retry such requests.
  9416  //
  9417  //   * InvalidRequestException
  9418  //   One or more parameter values in the request are invalid. Correct the invalid
  9419  //   parameter values before retrying.
  9420  //
  9421  //   * NotFoundException
  9422  //   A service resource associated with the request could not be found. Clients
  9423  //   should not retry such requests.
  9424  //
  9425  //   * TerminalRoutingStrategyException
  9426  //   The service is unable to resolve the routing for a particular alias because
  9427  //   it has a terminal RoutingStrategy associated with it. The message returned
  9428  //   in this exception is the message defined in the routing strategy itself.
  9429  //   Such requests should only be retried if the routing strategy for the specified
  9430  //   alias is modified.
  9431  //
  9432  //   * InternalServiceException
  9433  //   The service encountered an unrecoverable internal failure while processing
  9434  //   the request. Clients can retry such requests immediately or after a waiting
  9435  //   period.
  9436  //
  9437  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResolveAlias
  9438  func (c *GameLift) ResolveAlias(input *ResolveAliasInput) (*ResolveAliasOutput, error) {
  9439  	req, out := c.ResolveAliasRequest(input)
  9440  	return out, req.Send()
  9441  }
  9442  
  9443  // ResolveAliasWithContext is the same as ResolveAlias with the addition of
  9444  // the ability to pass a context and additional request options.
  9445  //
  9446  // See ResolveAlias for details on how to use this API operation.
  9447  //
  9448  // The context must be non-nil and will be used for request cancellation. If
  9449  // the context is nil a panic will occur. In the future the SDK may create
  9450  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9451  // for more information on using Contexts.
  9452  func (c *GameLift) ResolveAliasWithContext(ctx aws.Context, input *ResolveAliasInput, opts ...request.Option) (*ResolveAliasOutput, error) {
  9453  	req, out := c.ResolveAliasRequest(input)
  9454  	req.SetContext(ctx)
  9455  	req.ApplyOptions(opts...)
  9456  	return out, req.Send()
  9457  }
  9458  
  9459  const opResumeGameServerGroup = "ResumeGameServerGroup"
  9460  
  9461  // ResumeGameServerGroupRequest generates a "aws/request.Request" representing the
  9462  // client's request for the ResumeGameServerGroup operation. The "output" return
  9463  // value will be populated with the request's response once the request completes
  9464  // successfully.
  9465  //
  9466  // Use "Send" method on the returned Request to send the API call to the service.
  9467  // the "output" return value is not valid until after Send returns without error.
  9468  //
  9469  // See ResumeGameServerGroup for more information on using the ResumeGameServerGroup
  9470  // API call, and error handling.
  9471  //
  9472  // This method is useful when you want to inject custom logic or configuration
  9473  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9474  //
  9475  //
  9476  //    // Example sending a request using the ResumeGameServerGroupRequest method.
  9477  //    req, resp := client.ResumeGameServerGroupRequest(params)
  9478  //
  9479  //    err := req.Send()
  9480  //    if err == nil { // resp is now filled
  9481  //        fmt.Println(resp)
  9482  //    }
  9483  //
  9484  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResumeGameServerGroup
  9485  func (c *GameLift) ResumeGameServerGroupRequest(input *ResumeGameServerGroupInput) (req *request.Request, output *ResumeGameServerGroupOutput) {
  9486  	op := &request.Operation{
  9487  		Name:       opResumeGameServerGroup,
  9488  		HTTPMethod: "POST",
  9489  		HTTPPath:   "/",
  9490  	}
  9491  
  9492  	if input == nil {
  9493  		input = &ResumeGameServerGroupInput{}
  9494  	}
  9495  
  9496  	output = &ResumeGameServerGroupOutput{}
  9497  	req = c.newRequest(op, input, output)
  9498  	return
  9499  }
  9500  
  9501  // ResumeGameServerGroup API operation for Amazon GameLift.
  9502  //
  9503  // This operation is used with the GameLift FleetIQ solution and game server
  9504  // groups.
  9505  //
  9506  // Reinstates activity on a game server group after it has been suspended. A
  9507  // game server group might be suspended by theSuspendGameServerGroup operation,
  9508  // or it might be suspended involuntarily due to a configuration problem. In
  9509  // the second case, you can manually resume activity on the group once the configuration
  9510  // problem has been resolved. Refer to the game server group status and status
  9511  // reason for more information on why group activity is suspended.
  9512  //
  9513  // To resume activity, specify a game server group ARN and the type of activity
  9514  // to be resumed. If successful, a GameServerGroup object is returned showing
  9515  // that the resumed activity is no longer listed in SuspendedActions.
  9516  //
  9517  // Learn more
  9518  //
  9519  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
  9520  //
  9521  // Related actions
  9522  //
  9523  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
  9524  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
  9525  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
  9526  //
  9527  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9528  // with awserr.Error's Code and Message methods to get detailed information about
  9529  // the error.
  9530  //
  9531  // See the AWS API reference guide for Amazon GameLift's
  9532  // API operation ResumeGameServerGroup for usage and error information.
  9533  //
  9534  // Returned Error Types:
  9535  //   * InvalidRequestException
  9536  //   One or more parameter values in the request are invalid. Correct the invalid
  9537  //   parameter values before retrying.
  9538  //
  9539  //   * NotFoundException
  9540  //   A service resource associated with the request could not be found. Clients
  9541  //   should not retry such requests.
  9542  //
  9543  //   * UnauthorizedException
  9544  //   The client failed authentication. Clients should not retry such requests.
  9545  //
  9546  //   * InternalServiceException
  9547  //   The service encountered an unrecoverable internal failure while processing
  9548  //   the request. Clients can retry such requests immediately or after a waiting
  9549  //   period.
  9550  //
  9551  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResumeGameServerGroup
  9552  func (c *GameLift) ResumeGameServerGroup(input *ResumeGameServerGroupInput) (*ResumeGameServerGroupOutput, error) {
  9553  	req, out := c.ResumeGameServerGroupRequest(input)
  9554  	return out, req.Send()
  9555  }
  9556  
  9557  // ResumeGameServerGroupWithContext is the same as ResumeGameServerGroup with the addition of
  9558  // the ability to pass a context and additional request options.
  9559  //
  9560  // See ResumeGameServerGroup for details on how to use this API operation.
  9561  //
  9562  // The context must be non-nil and will be used for request cancellation. If
  9563  // the context is nil a panic will occur. In the future the SDK may create
  9564  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9565  // for more information on using Contexts.
  9566  func (c *GameLift) ResumeGameServerGroupWithContext(ctx aws.Context, input *ResumeGameServerGroupInput, opts ...request.Option) (*ResumeGameServerGroupOutput, error) {
  9567  	req, out := c.ResumeGameServerGroupRequest(input)
  9568  	req.SetContext(ctx)
  9569  	req.ApplyOptions(opts...)
  9570  	return out, req.Send()
  9571  }
  9572  
  9573  const opSearchGameSessions = "SearchGameSessions"
  9574  
  9575  // SearchGameSessionsRequest generates a "aws/request.Request" representing the
  9576  // client's request for the SearchGameSessions operation. The "output" return
  9577  // value will be populated with the request's response once the request completes
  9578  // successfully.
  9579  //
  9580  // Use "Send" method on the returned Request to send the API call to the service.
  9581  // the "output" return value is not valid until after Send returns without error.
  9582  //
  9583  // See SearchGameSessions for more information on using the SearchGameSessions
  9584  // API call, and error handling.
  9585  //
  9586  // This method is useful when you want to inject custom logic or configuration
  9587  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9588  //
  9589  //
  9590  //    // Example sending a request using the SearchGameSessionsRequest method.
  9591  //    req, resp := client.SearchGameSessionsRequest(params)
  9592  //
  9593  //    err := req.Send()
  9594  //    if err == nil { // resp is now filled
  9595  //        fmt.Println(resp)
  9596  //    }
  9597  //
  9598  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
  9599  func (c *GameLift) SearchGameSessionsRequest(input *SearchGameSessionsInput) (req *request.Request, output *SearchGameSessionsOutput) {
  9600  	op := &request.Operation{
  9601  		Name:       opSearchGameSessions,
  9602  		HTTPMethod: "POST",
  9603  		HTTPPath:   "/",
  9604  		Paginator: &request.Paginator{
  9605  			InputTokens:     []string{"NextToken"},
  9606  			OutputTokens:    []string{"NextToken"},
  9607  			LimitToken:      "Limit",
  9608  			TruncationToken: "",
  9609  		},
  9610  	}
  9611  
  9612  	if input == nil {
  9613  		input = &SearchGameSessionsInput{}
  9614  	}
  9615  
  9616  	output = &SearchGameSessionsOutput{}
  9617  	req = c.newRequest(op, input, output)
  9618  	return
  9619  }
  9620  
  9621  // SearchGameSessions API operation for Amazon GameLift.
  9622  //
  9623  // Retrieves all active game sessions that match a set of search criteria and
  9624  // sorts them into a specified order.
  9625  //
  9626  // When searching for game sessions, you specify exactly where you want to search
  9627  // and provide a search filter expression, a sort expression, or both. A search
  9628  // request can search only one fleet, but it can search all of a fleet's locations.
  9629  //
  9630  // This operation can be used in the following ways:
  9631  //
  9632  //    * To search all game sessions that are currently running on all locations
  9633  //    in a fleet, provide a fleet or alias ID. This approach returns game sessions
  9634  //    in the fleet's home Region and all remote locations that fit the search
  9635  //    criteria.
  9636  //
  9637  //    * To search all game sessions that are currently running on a specific
  9638  //    fleet location, provide a fleet or alias ID and a location name. For location,
  9639  //    you can specify a fleet's home Region or any remote location.
  9640  //
  9641  // Use the pagination parameters to retrieve results as a set of sequential
  9642  // pages.
  9643  //
  9644  // If successful, a GameSession object is returned for each game session that
  9645  // matches the request. Search finds game sessions that are in ACTIVE status
  9646  // only. To retrieve information on game sessions in other statuses, use DescribeGameSessions.
  9647  //
  9648  // You can search or sort by the following game session attributes:
  9649  //
  9650  //    * gameSessionId -- A unique identifier for the game session. You can use
  9651  //    either a GameSessionId or GameSessionArn value.
  9652  //
  9653  //    * gameSessionName -- Name assigned to a game session. This value is set
  9654  //    when requesting a new game session with CreateGameSession or updating
  9655  //    with UpdateGameSession. Game session names do not need to be unique to
  9656  //    a game session.
  9657  //
  9658  //    * gameSessionProperties -- Custom data defined in a game session's GameProperty
  9659  //    parameter. GameProperty values are stored as key:value pairs; the filter
  9660  //    expression must indicate the key and a string to search the data values
  9661  //    for. For example, to search for game sessions with custom data containing
  9662  //    the key:value pair "gameMode:brawl", specify the following: gameSessionProperties.gameMode
  9663  //    = "brawl". All custom data values are searched as strings.
  9664  //
  9665  //    * maximumSessions -- Maximum number of player sessions allowed for a game
  9666  //    session. This value is set when requesting a new game session with CreateGameSession
  9667  //    or updating with UpdateGameSession.
  9668  //
  9669  //    * creationTimeMillis -- Value indicating when a game session was created.
  9670  //    It is expressed in Unix time as milliseconds.
  9671  //
  9672  //    * playerSessionCount -- Number of players currently connected to a game
  9673  //    session. This value changes rapidly as players join the session or drop
  9674  //    out.
  9675  //
  9676  //    * hasAvailablePlayerSessions -- Boolean value indicating whether a game
  9677  //    session has reached its maximum number of players. It is highly recommended
  9678  //    that all search requests include this filter attribute to optimize search
  9679  //    performance and return only sessions that players can join.
  9680  //
  9681  // Returned values for playerSessionCount and hasAvailablePlayerSessions change
  9682  // quickly as players join sessions and others drop out. Results should be considered
  9683  // a snapshot in time. Be sure to refresh search results often, and handle sessions
  9684  // that fill up before a player can join.
  9685  //
  9686  // Related actions
  9687  //
  9688  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
  9689  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
  9690  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
  9691  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  9692  //
  9693  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9694  // with awserr.Error's Code and Message methods to get detailed information about
  9695  // the error.
  9696  //
  9697  // See the AWS API reference guide for Amazon GameLift's
  9698  // API operation SearchGameSessions for usage and error information.
  9699  //
  9700  // Returned Error Types:
  9701  //   * InternalServiceException
  9702  //   The service encountered an unrecoverable internal failure while processing
  9703  //   the request. Clients can retry such requests immediately or after a waiting
  9704  //   period.
  9705  //
  9706  //   * NotFoundException
  9707  //   A service resource associated with the request could not be found. Clients
  9708  //   should not retry such requests.
  9709  //
  9710  //   * InvalidRequestException
  9711  //   One or more parameter values in the request are invalid. Correct the invalid
  9712  //   parameter values before retrying.
  9713  //
  9714  //   * UnauthorizedException
  9715  //   The client failed authentication. Clients should not retry such requests.
  9716  //
  9717  //   * TerminalRoutingStrategyException
  9718  //   The service is unable to resolve the routing for a particular alias because
  9719  //   it has a terminal RoutingStrategy associated with it. The message returned
  9720  //   in this exception is the message defined in the routing strategy itself.
  9721  //   Such requests should only be retried if the routing strategy for the specified
  9722  //   alias is modified.
  9723  //
  9724  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SearchGameSessions
  9725  func (c *GameLift) SearchGameSessions(input *SearchGameSessionsInput) (*SearchGameSessionsOutput, error) {
  9726  	req, out := c.SearchGameSessionsRequest(input)
  9727  	return out, req.Send()
  9728  }
  9729  
  9730  // SearchGameSessionsWithContext is the same as SearchGameSessions with the addition of
  9731  // the ability to pass a context and additional request options.
  9732  //
  9733  // See SearchGameSessions for details on how to use this API operation.
  9734  //
  9735  // The context must be non-nil and will be used for request cancellation. If
  9736  // the context is nil a panic will occur. In the future the SDK may create
  9737  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9738  // for more information on using Contexts.
  9739  func (c *GameLift) SearchGameSessionsWithContext(ctx aws.Context, input *SearchGameSessionsInput, opts ...request.Option) (*SearchGameSessionsOutput, error) {
  9740  	req, out := c.SearchGameSessionsRequest(input)
  9741  	req.SetContext(ctx)
  9742  	req.ApplyOptions(opts...)
  9743  	return out, req.Send()
  9744  }
  9745  
  9746  // SearchGameSessionsPages iterates over the pages of a SearchGameSessions operation,
  9747  // calling the "fn" function with the response data for each page. To stop
  9748  // iterating, return false from the fn function.
  9749  //
  9750  // See SearchGameSessions method for more information on how to use this operation.
  9751  //
  9752  // Note: This operation can generate multiple requests to a service.
  9753  //
  9754  //    // Example iterating over at most 3 pages of a SearchGameSessions operation.
  9755  //    pageNum := 0
  9756  //    err := client.SearchGameSessionsPages(params,
  9757  //        func(page *gamelift.SearchGameSessionsOutput, lastPage bool) bool {
  9758  //            pageNum++
  9759  //            fmt.Println(page)
  9760  //            return pageNum <= 3
  9761  //        })
  9762  //
  9763  func (c *GameLift) SearchGameSessionsPages(input *SearchGameSessionsInput, fn func(*SearchGameSessionsOutput, bool) bool) error {
  9764  	return c.SearchGameSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
  9765  }
  9766  
  9767  // SearchGameSessionsPagesWithContext same as SearchGameSessionsPages except
  9768  // it takes a Context and allows setting request options on the pages.
  9769  //
  9770  // The context must be non-nil and will be used for request cancellation. If
  9771  // the context is nil a panic will occur. In the future the SDK may create
  9772  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9773  // for more information on using Contexts.
  9774  func (c *GameLift) SearchGameSessionsPagesWithContext(ctx aws.Context, input *SearchGameSessionsInput, fn func(*SearchGameSessionsOutput, bool) bool, opts ...request.Option) error {
  9775  	p := request.Pagination{
  9776  		NewRequest: func() (*request.Request, error) {
  9777  			var inCpy *SearchGameSessionsInput
  9778  			if input != nil {
  9779  				tmp := *input
  9780  				inCpy = &tmp
  9781  			}
  9782  			req, _ := c.SearchGameSessionsRequest(inCpy)
  9783  			req.SetContext(ctx)
  9784  			req.ApplyOptions(opts...)
  9785  			return req, nil
  9786  		},
  9787  	}
  9788  
  9789  	for p.Next() {
  9790  		if !fn(p.Page().(*SearchGameSessionsOutput), !p.HasNextPage()) {
  9791  			break
  9792  		}
  9793  	}
  9794  
  9795  	return p.Err()
  9796  }
  9797  
  9798  const opStartFleetActions = "StartFleetActions"
  9799  
  9800  // StartFleetActionsRequest generates a "aws/request.Request" representing the
  9801  // client's request for the StartFleetActions operation. The "output" return
  9802  // value will be populated with the request's response once the request completes
  9803  // successfully.
  9804  //
  9805  // Use "Send" method on the returned Request to send the API call to the service.
  9806  // the "output" return value is not valid until after Send returns without error.
  9807  //
  9808  // See StartFleetActions for more information on using the StartFleetActions
  9809  // API call, and error handling.
  9810  //
  9811  // This method is useful when you want to inject custom logic or configuration
  9812  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9813  //
  9814  //
  9815  //    // Example sending a request using the StartFleetActionsRequest method.
  9816  //    req, resp := client.StartFleetActionsRequest(params)
  9817  //
  9818  //    err := req.Send()
  9819  //    if err == nil { // resp is now filled
  9820  //        fmt.Println(resp)
  9821  //    }
  9822  //
  9823  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartFleetActions
  9824  func (c *GameLift) StartFleetActionsRequest(input *StartFleetActionsInput) (req *request.Request, output *StartFleetActionsOutput) {
  9825  	op := &request.Operation{
  9826  		Name:       opStartFleetActions,
  9827  		HTTPMethod: "POST",
  9828  		HTTPPath:   "/",
  9829  	}
  9830  
  9831  	if input == nil {
  9832  		input = &StartFleetActionsInput{}
  9833  	}
  9834  
  9835  	output = &StartFleetActionsOutput{}
  9836  	req = c.newRequest(op, input, output)
  9837  	return
  9838  }
  9839  
  9840  // StartFleetActions API operation for Amazon GameLift.
  9841  //
  9842  // Resumes certain types of activity on fleet instances that were suspended
  9843  // with StopFleetActions. For multi-location fleets, fleet actions are managed
  9844  // separately for each location. Currently, this operation is used to restart
  9845  // a fleet's auto-scaling activity.
  9846  //
  9847  // This operation can be used in the following ways:
  9848  //
  9849  //    * To restart actions on instances in the fleet's home Region, provide
  9850  //    a fleet ID and the type of actions to resume.
  9851  //
  9852  //    * To restart actions on instances in one of the fleet's remote locations,
  9853  //    provide a fleet ID, a location name, and the type of actions to resume.
  9854  //
  9855  // If successful, GameLift once again initiates scaling events as triggered
  9856  // by the fleet's scaling policies. If actions on the fleet location were never
  9857  // stopped, this operation will have no effect. You can view a fleet's stopped
  9858  // actions using DescribeFleetAttributes or DescribeFleetLocationAttributes.
  9859  //
  9860  // Learn more
  9861  //
  9862  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
  9863  //
  9864  // Related actions
  9865  //
  9866  // CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
  9867  // | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
  9868  // | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
  9869  //
  9870  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9871  // with awserr.Error's Code and Message methods to get detailed information about
  9872  // the error.
  9873  //
  9874  // See the AWS API reference guide for Amazon GameLift's
  9875  // API operation StartFleetActions for usage and error information.
  9876  //
  9877  // Returned Error Types:
  9878  //   * InternalServiceException
  9879  //   The service encountered an unrecoverable internal failure while processing
  9880  //   the request. Clients can retry such requests immediately or after a waiting
  9881  //   period.
  9882  //
  9883  //   * InvalidRequestException
  9884  //   One or more parameter values in the request are invalid. Correct the invalid
  9885  //   parameter values before retrying.
  9886  //
  9887  //   * UnauthorizedException
  9888  //   The client failed authentication. Clients should not retry such requests.
  9889  //
  9890  //   * NotFoundException
  9891  //   A service resource associated with the request could not be found. Clients
  9892  //   should not retry such requests.
  9893  //
  9894  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartFleetActions
  9895  func (c *GameLift) StartFleetActions(input *StartFleetActionsInput) (*StartFleetActionsOutput, error) {
  9896  	req, out := c.StartFleetActionsRequest(input)
  9897  	return out, req.Send()
  9898  }
  9899  
  9900  // StartFleetActionsWithContext is the same as StartFleetActions with the addition of
  9901  // the ability to pass a context and additional request options.
  9902  //
  9903  // See StartFleetActions for details on how to use this API operation.
  9904  //
  9905  // The context must be non-nil and will be used for request cancellation. If
  9906  // the context is nil a panic will occur. In the future the SDK may create
  9907  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9908  // for more information on using Contexts.
  9909  func (c *GameLift) StartFleetActionsWithContext(ctx aws.Context, input *StartFleetActionsInput, opts ...request.Option) (*StartFleetActionsOutput, error) {
  9910  	req, out := c.StartFleetActionsRequest(input)
  9911  	req.SetContext(ctx)
  9912  	req.ApplyOptions(opts...)
  9913  	return out, req.Send()
  9914  }
  9915  
  9916  const opStartGameSessionPlacement = "StartGameSessionPlacement"
  9917  
  9918  // StartGameSessionPlacementRequest generates a "aws/request.Request" representing the
  9919  // client's request for the StartGameSessionPlacement operation. The "output" return
  9920  // value will be populated with the request's response once the request completes
  9921  // successfully.
  9922  //
  9923  // Use "Send" method on the returned Request to send the API call to the service.
  9924  // the "output" return value is not valid until after Send returns without error.
  9925  //
  9926  // See StartGameSessionPlacement for more information on using the StartGameSessionPlacement
  9927  // API call, and error handling.
  9928  //
  9929  // This method is useful when you want to inject custom logic or configuration
  9930  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9931  //
  9932  //
  9933  //    // Example sending a request using the StartGameSessionPlacementRequest method.
  9934  //    req, resp := client.StartGameSessionPlacementRequest(params)
  9935  //
  9936  //    err := req.Send()
  9937  //    if err == nil { // resp is now filled
  9938  //        fmt.Println(resp)
  9939  //    }
  9940  //
  9941  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
  9942  func (c *GameLift) StartGameSessionPlacementRequest(input *StartGameSessionPlacementInput) (req *request.Request, output *StartGameSessionPlacementOutput) {
  9943  	op := &request.Operation{
  9944  		Name:       opStartGameSessionPlacement,
  9945  		HTTPMethod: "POST",
  9946  		HTTPPath:   "/",
  9947  	}
  9948  
  9949  	if input == nil {
  9950  		input = &StartGameSessionPlacementInput{}
  9951  	}
  9952  
  9953  	output = &StartGameSessionPlacementOutput{}
  9954  	req = c.newRequest(op, input, output)
  9955  	return
  9956  }
  9957  
  9958  // StartGameSessionPlacement API operation for Amazon GameLift.
  9959  //
  9960  // Places a request for a new game session in a queue (see CreateGameSessionQueue).
  9961  // When processing a placement request, Amazon GameLift searches for available
  9962  // resources on the queue's destinations, scanning each until it finds resources
  9963  // or the placement request times out.
  9964  //
  9965  // A game session placement request can also request player sessions. When a
  9966  // new game session is successfully created, Amazon GameLift creates a player
  9967  // session for each player included in the request.
  9968  //
  9969  // When placing a game session, by default Amazon GameLift tries each fleet
  9970  // in the order they are listed in the queue configuration. Ideally, a queue's
  9971  // destinations are listed in preference order.
  9972  //
  9973  // Alternatively, when requesting a game session with players, you can also
  9974  // provide latency data for each player in relevant Regions. Latency data indicates
  9975  // the performance lag a player experiences when connected to a fleet in the
  9976  // Region. Amazon GameLift uses latency data to reorder the list of destinations
  9977  // to place the game session in a Region with minimal lag. If latency data is
  9978  // provided for multiple players, Amazon GameLift calculates each Region's average
  9979  // lag for all players and reorders to get the best game play across all players.
  9980  //
  9981  // To place a new game session request, specify the following:
  9982  //
  9983  //    * The queue name and a set of game session properties and settings
  9984  //
  9985  //    * A unique ID (such as a UUID) for the placement. You use this ID to track
  9986  //    the status of the placement request
  9987  //
  9988  //    * (Optional) A set of player data and a unique player ID for each player
  9989  //    that you are joining to the new game session (player data is optional,
  9990  //    but if you include it, you must also provide a unique ID for each player)
  9991  //
  9992  //    * Latency data for all players (if you want to optimize game play for
  9993  //    the players)
  9994  //
  9995  // If successful, a new game session placement is created.
  9996  //
  9997  // To track the status of a placement request, call DescribeGameSessionPlacement
  9998  // and check the request's status. If the status is FULFILLED, a new game session
  9999  // has been created and a game session ARN and Region are referenced. If the
 10000  // placement request times out, you can resubmit the request or retry it with
 10001  // a different queue.
 10002  //
 10003  // Related actions
 10004  //
 10005  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
 10006  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
 10007  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
 10008  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10009  //
 10010  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10011  // with awserr.Error's Code and Message methods to get detailed information about
 10012  // the error.
 10013  //
 10014  // See the AWS API reference guide for Amazon GameLift's
 10015  // API operation StartGameSessionPlacement for usage and error information.
 10016  //
 10017  // Returned Error Types:
 10018  //   * InternalServiceException
 10019  //   The service encountered an unrecoverable internal failure while processing
 10020  //   the request. Clients can retry such requests immediately or after a waiting
 10021  //   period.
 10022  //
 10023  //   * InvalidRequestException
 10024  //   One or more parameter values in the request are invalid. Correct the invalid
 10025  //   parameter values before retrying.
 10026  //
 10027  //   * NotFoundException
 10028  //   A service resource associated with the request could not be found. Clients
 10029  //   should not retry such requests.
 10030  //
 10031  //   * UnauthorizedException
 10032  //   The client failed authentication. Clients should not retry such requests.
 10033  //
 10034  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement
 10035  func (c *GameLift) StartGameSessionPlacement(input *StartGameSessionPlacementInput) (*StartGameSessionPlacementOutput, error) {
 10036  	req, out := c.StartGameSessionPlacementRequest(input)
 10037  	return out, req.Send()
 10038  }
 10039  
 10040  // StartGameSessionPlacementWithContext is the same as StartGameSessionPlacement with the addition of
 10041  // the ability to pass a context and additional request options.
 10042  //
 10043  // See StartGameSessionPlacement for details on how to use this API operation.
 10044  //
 10045  // The context must be non-nil and will be used for request cancellation. If
 10046  // the context is nil a panic will occur. In the future the SDK may create
 10047  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10048  // for more information on using Contexts.
 10049  func (c *GameLift) StartGameSessionPlacementWithContext(ctx aws.Context, input *StartGameSessionPlacementInput, opts ...request.Option) (*StartGameSessionPlacementOutput, error) {
 10050  	req, out := c.StartGameSessionPlacementRequest(input)
 10051  	req.SetContext(ctx)
 10052  	req.ApplyOptions(opts...)
 10053  	return out, req.Send()
 10054  }
 10055  
 10056  const opStartMatchBackfill = "StartMatchBackfill"
 10057  
 10058  // StartMatchBackfillRequest generates a "aws/request.Request" representing the
 10059  // client's request for the StartMatchBackfill operation. The "output" return
 10060  // value will be populated with the request's response once the request completes
 10061  // successfully.
 10062  //
 10063  // Use "Send" method on the returned Request to send the API call to the service.
 10064  // the "output" return value is not valid until after Send returns without error.
 10065  //
 10066  // See StartMatchBackfill for more information on using the StartMatchBackfill
 10067  // API call, and error handling.
 10068  //
 10069  // This method is useful when you want to inject custom logic or configuration
 10070  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10071  //
 10072  //
 10073  //    // Example sending a request using the StartMatchBackfillRequest method.
 10074  //    req, resp := client.StartMatchBackfillRequest(params)
 10075  //
 10076  //    err := req.Send()
 10077  //    if err == nil { // resp is now filled
 10078  //        fmt.Println(resp)
 10079  //    }
 10080  //
 10081  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
 10082  func (c *GameLift) StartMatchBackfillRequest(input *StartMatchBackfillInput) (req *request.Request, output *StartMatchBackfillOutput) {
 10083  	op := &request.Operation{
 10084  		Name:       opStartMatchBackfill,
 10085  		HTTPMethod: "POST",
 10086  		HTTPPath:   "/",
 10087  	}
 10088  
 10089  	if input == nil {
 10090  		input = &StartMatchBackfillInput{}
 10091  	}
 10092  
 10093  	output = &StartMatchBackfillOutput{}
 10094  	req = c.newRequest(op, input, output)
 10095  	return
 10096  }
 10097  
 10098  // StartMatchBackfill API operation for Amazon GameLift.
 10099  //
 10100  // Finds new players to fill open slots in currently running game sessions.
 10101  // The backfill match process is essentially identical to the process of forming
 10102  // new matches. Backfill requests use the same matchmaker that was used to make
 10103  // the original match, and they provide matchmaking data for all players currently
 10104  // in the game session. FlexMatch uses this information to select new players
 10105  // so that backfilled match continues to meet the original match requirements.
 10106  //
 10107  // When using FlexMatch with GameLift managed hosting, you can request a backfill
 10108  // match from a client service by calling this operation with a GameSession
 10109  // identifier. You also have the option of making backfill requests directly
 10110  // from your game server. In response to a request, FlexMatch creates player
 10111  // sessions for the new players, updates the GameSession resource, and sends
 10112  // updated matchmaking data to the game server. You can request a backfill match
 10113  // at any point after a game session is started. Each game session can have
 10114  // only one active backfill request at a time; a subsequent request automatically
 10115  // replaces the earlier request.
 10116  //
 10117  // When using FlexMatch as a standalone component, request a backfill match
 10118  // by calling this operation without a game session identifier. As with newly
 10119  // formed matches, matchmaking results are returned in a matchmaking event so
 10120  // that your game can update the game session that is being backfilled.
 10121  //
 10122  // To request a backfill match, specify a unique ticket ID, the original matchmaking
 10123  // configuration, and matchmaking data for all current players in the game session
 10124  // being backfilled. Optionally, specify the GameSession ARN. If successful,
 10125  // a match backfill ticket is created and returned with status set to QUEUED.
 10126  // Track the status of backfill tickets using the same method for tracking tickets
 10127  // for new matches.
 10128  //
 10129  // Learn more
 10130  //
 10131  //  Backfill existing games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html)
 10132  //
 10133  //  Matchmaking events (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html)
 10134  //  (reference)
 10135  //
 10136  //  How GameLift FlexMatch works (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/gamelift-match.html)
 10137  //
 10138  // Related actions
 10139  //
 10140  // StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
 10141  // StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10142  //
 10143  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10144  // with awserr.Error's Code and Message methods to get detailed information about
 10145  // the error.
 10146  //
 10147  // See the AWS API reference guide for Amazon GameLift's
 10148  // API operation StartMatchBackfill for usage and error information.
 10149  //
 10150  // Returned Error Types:
 10151  //   * InvalidRequestException
 10152  //   One or more parameter values in the request are invalid. Correct the invalid
 10153  //   parameter values before retrying.
 10154  //
 10155  //   * NotFoundException
 10156  //   A service resource associated with the request could not be found. Clients
 10157  //   should not retry such requests.
 10158  //
 10159  //   * InternalServiceException
 10160  //   The service encountered an unrecoverable internal failure while processing
 10161  //   the request. Clients can retry such requests immediately or after a waiting
 10162  //   period.
 10163  //
 10164  //   * UnsupportedRegionException
 10165  //   The requested operation is not supported in the Region specified.
 10166  //
 10167  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchBackfill
 10168  func (c *GameLift) StartMatchBackfill(input *StartMatchBackfillInput) (*StartMatchBackfillOutput, error) {
 10169  	req, out := c.StartMatchBackfillRequest(input)
 10170  	return out, req.Send()
 10171  }
 10172  
 10173  // StartMatchBackfillWithContext is the same as StartMatchBackfill with the addition of
 10174  // the ability to pass a context and additional request options.
 10175  //
 10176  // See StartMatchBackfill for details on how to use this API operation.
 10177  //
 10178  // The context must be non-nil and will be used for request cancellation. If
 10179  // the context is nil a panic will occur. In the future the SDK may create
 10180  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10181  // for more information on using Contexts.
 10182  func (c *GameLift) StartMatchBackfillWithContext(ctx aws.Context, input *StartMatchBackfillInput, opts ...request.Option) (*StartMatchBackfillOutput, error) {
 10183  	req, out := c.StartMatchBackfillRequest(input)
 10184  	req.SetContext(ctx)
 10185  	req.ApplyOptions(opts...)
 10186  	return out, req.Send()
 10187  }
 10188  
 10189  const opStartMatchmaking = "StartMatchmaking"
 10190  
 10191  // StartMatchmakingRequest generates a "aws/request.Request" representing the
 10192  // client's request for the StartMatchmaking operation. The "output" return
 10193  // value will be populated with the request's response once the request completes
 10194  // successfully.
 10195  //
 10196  // Use "Send" method on the returned Request to send the API call to the service.
 10197  // the "output" return value is not valid until after Send returns without error.
 10198  //
 10199  // See StartMatchmaking for more information on using the StartMatchmaking
 10200  // API call, and error handling.
 10201  //
 10202  // This method is useful when you want to inject custom logic or configuration
 10203  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10204  //
 10205  //
 10206  //    // Example sending a request using the StartMatchmakingRequest method.
 10207  //    req, resp := client.StartMatchmakingRequest(params)
 10208  //
 10209  //    err := req.Send()
 10210  //    if err == nil { // resp is now filled
 10211  //        fmt.Println(resp)
 10212  //    }
 10213  //
 10214  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
 10215  func (c *GameLift) StartMatchmakingRequest(input *StartMatchmakingInput) (req *request.Request, output *StartMatchmakingOutput) {
 10216  	op := &request.Operation{
 10217  		Name:       opStartMatchmaking,
 10218  		HTTPMethod: "POST",
 10219  		HTTPPath:   "/",
 10220  	}
 10221  
 10222  	if input == nil {
 10223  		input = &StartMatchmakingInput{}
 10224  	}
 10225  
 10226  	output = &StartMatchmakingOutput{}
 10227  	req = c.newRequest(op, input, output)
 10228  	return
 10229  }
 10230  
 10231  // StartMatchmaking API operation for Amazon GameLift.
 10232  //
 10233  // Uses FlexMatch to create a game match for a group of players based on custom
 10234  // matchmaking rules. With games that use GameLift managed hosting, this operation
 10235  // also triggers GameLift to find hosting resources and start a new game session
 10236  // for the new match. Each matchmaking request includes information on one or
 10237  // more players and specifies the FlexMatch matchmaker to use. When a request
 10238  // is for multiple players, FlexMatch attempts to build a match that includes
 10239  // all players in the request, placing them in the same team and finding additional
 10240  // players as needed to fill the match.
 10241  //
 10242  // To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,
 10243  // and include the players to be matched. You must also include any player attributes
 10244  // that are required by the matchmaking configuration's rule set. If successful,
 10245  // a matchmaking ticket is returned with status set to QUEUED.
 10246  //
 10247  // Track matchmaking events to respond as needed and acquire game session connection
 10248  // information for successfully completed matches. Ticket status updates are
 10249  // tracked using event notification through Amazon Simple Notification Service
 10250  // (SNS), which is defined in the matchmaking configuration.
 10251  //
 10252  // Learn more
 10253  //
 10254  //  Add FlexMatch to a game client (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html)
 10255  //
 10256  //  Set Up FlexMatch event notification (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
 10257  //
 10258  //  How GameLift FlexMatch works (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/gamelift-match.html)
 10259  //
 10260  // Related actions
 10261  //
 10262  // StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
 10263  // StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10264  //
 10265  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10266  // with awserr.Error's Code and Message methods to get detailed information about
 10267  // the error.
 10268  //
 10269  // See the AWS API reference guide for Amazon GameLift's
 10270  // API operation StartMatchmaking for usage and error information.
 10271  //
 10272  // Returned Error Types:
 10273  //   * InvalidRequestException
 10274  //   One or more parameter values in the request are invalid. Correct the invalid
 10275  //   parameter values before retrying.
 10276  //
 10277  //   * NotFoundException
 10278  //   A service resource associated with the request could not be found. Clients
 10279  //   should not retry such requests.
 10280  //
 10281  //   * InternalServiceException
 10282  //   The service encountered an unrecoverable internal failure while processing
 10283  //   the request. Clients can retry such requests immediately or after a waiting
 10284  //   period.
 10285  //
 10286  //   * UnsupportedRegionException
 10287  //   The requested operation is not supported in the Region specified.
 10288  //
 10289  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartMatchmaking
 10290  func (c *GameLift) StartMatchmaking(input *StartMatchmakingInput) (*StartMatchmakingOutput, error) {
 10291  	req, out := c.StartMatchmakingRequest(input)
 10292  	return out, req.Send()
 10293  }
 10294  
 10295  // StartMatchmakingWithContext is the same as StartMatchmaking with the addition of
 10296  // the ability to pass a context and additional request options.
 10297  //
 10298  // See StartMatchmaking for details on how to use this API operation.
 10299  //
 10300  // The context must be non-nil and will be used for request cancellation. If
 10301  // the context is nil a panic will occur. In the future the SDK may create
 10302  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10303  // for more information on using Contexts.
 10304  func (c *GameLift) StartMatchmakingWithContext(ctx aws.Context, input *StartMatchmakingInput, opts ...request.Option) (*StartMatchmakingOutput, error) {
 10305  	req, out := c.StartMatchmakingRequest(input)
 10306  	req.SetContext(ctx)
 10307  	req.ApplyOptions(opts...)
 10308  	return out, req.Send()
 10309  }
 10310  
 10311  const opStopFleetActions = "StopFleetActions"
 10312  
 10313  // StopFleetActionsRequest generates a "aws/request.Request" representing the
 10314  // client's request for the StopFleetActions operation. The "output" return
 10315  // value will be populated with the request's response once the request completes
 10316  // successfully.
 10317  //
 10318  // Use "Send" method on the returned Request to send the API call to the service.
 10319  // the "output" return value is not valid until after Send returns without error.
 10320  //
 10321  // See StopFleetActions for more information on using the StopFleetActions
 10322  // API call, and error handling.
 10323  //
 10324  // This method is useful when you want to inject custom logic or configuration
 10325  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10326  //
 10327  //
 10328  //    // Example sending a request using the StopFleetActionsRequest method.
 10329  //    req, resp := client.StopFleetActionsRequest(params)
 10330  //
 10331  //    err := req.Send()
 10332  //    if err == nil { // resp is now filled
 10333  //        fmt.Println(resp)
 10334  //    }
 10335  //
 10336  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopFleetActions
 10337  func (c *GameLift) StopFleetActionsRequest(input *StopFleetActionsInput) (req *request.Request, output *StopFleetActionsOutput) {
 10338  	op := &request.Operation{
 10339  		Name:       opStopFleetActions,
 10340  		HTTPMethod: "POST",
 10341  		HTTPPath:   "/",
 10342  	}
 10343  
 10344  	if input == nil {
 10345  		input = &StopFleetActionsInput{}
 10346  	}
 10347  
 10348  	output = &StopFleetActionsOutput{}
 10349  	req = c.newRequest(op, input, output)
 10350  	return
 10351  }
 10352  
 10353  // StopFleetActions API operation for Amazon GameLift.
 10354  //
 10355  // Suspends certain types of activity in a fleet location. Currently, this operation
 10356  // is used to stop auto-scaling activity. For multi-location fleets, fleet actions
 10357  // are managed separately for each location.
 10358  //
 10359  // Stopping fleet actions has several potential purposes. It allows you to temporarily
 10360  // stop auto-scaling activity but retain your scaling policies for use in the
 10361  // future. For multi-location fleets, you can set up fleet-wide auto-scaling,
 10362  // and then opt out of it for certain locations.
 10363  //
 10364  // This operation can be used in the following ways:
 10365  //
 10366  //    * To stop actions on instances in the fleet's home Region, provide a fleet
 10367  //    ID and the type of actions to suspend.
 10368  //
 10369  //    * To stop actions on instances in one of the fleet's remote locations,
 10370  //    provide a fleet ID, a location name, and the type of actions to suspend.
 10371  //
 10372  // If successful, GameLift no longer initiates scaling events except in response
 10373  // to manual changes using UpdateFleetCapacity. You can view a fleet's stopped
 10374  // actions using DescribeFleetAttributes or DescribeFleetLocationAttributes.
 10375  // Suspended activity can be restarted using StartFleetActions.
 10376  //
 10377  // Learn more
 10378  //
 10379  // Setting up GameLift Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
 10380  //
 10381  // Related actions
 10382  //
 10383  // CreateFleet | UpdateFleetCapacity | PutScalingPolicy | DescribeEC2InstanceLimits
 10384  // | DescribeFleetAttributes | DescribeFleetLocationAttributes | UpdateFleetAttributes
 10385  // | StopFleetActions | DeleteFleet | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10386  //
 10387  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10388  // with awserr.Error's Code and Message methods to get detailed information about
 10389  // the error.
 10390  //
 10391  // See the AWS API reference guide for Amazon GameLift's
 10392  // API operation StopFleetActions for usage and error information.
 10393  //
 10394  // Returned Error Types:
 10395  //   * InternalServiceException
 10396  //   The service encountered an unrecoverable internal failure while processing
 10397  //   the request. Clients can retry such requests immediately or after a waiting
 10398  //   period.
 10399  //
 10400  //   * InvalidRequestException
 10401  //   One or more parameter values in the request are invalid. Correct the invalid
 10402  //   parameter values before retrying.
 10403  //
 10404  //   * UnauthorizedException
 10405  //   The client failed authentication. Clients should not retry such requests.
 10406  //
 10407  //   * NotFoundException
 10408  //   A service resource associated with the request could not be found. Clients
 10409  //   should not retry such requests.
 10410  //
 10411  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopFleetActions
 10412  func (c *GameLift) StopFleetActions(input *StopFleetActionsInput) (*StopFleetActionsOutput, error) {
 10413  	req, out := c.StopFleetActionsRequest(input)
 10414  	return out, req.Send()
 10415  }
 10416  
 10417  // StopFleetActionsWithContext is the same as StopFleetActions with the addition of
 10418  // the ability to pass a context and additional request options.
 10419  //
 10420  // See StopFleetActions for details on how to use this API operation.
 10421  //
 10422  // The context must be non-nil and will be used for request cancellation. If
 10423  // the context is nil a panic will occur. In the future the SDK may create
 10424  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10425  // for more information on using Contexts.
 10426  func (c *GameLift) StopFleetActionsWithContext(ctx aws.Context, input *StopFleetActionsInput, opts ...request.Option) (*StopFleetActionsOutput, error) {
 10427  	req, out := c.StopFleetActionsRequest(input)
 10428  	req.SetContext(ctx)
 10429  	req.ApplyOptions(opts...)
 10430  	return out, req.Send()
 10431  }
 10432  
 10433  const opStopGameSessionPlacement = "StopGameSessionPlacement"
 10434  
 10435  // StopGameSessionPlacementRequest generates a "aws/request.Request" representing the
 10436  // client's request for the StopGameSessionPlacement operation. The "output" return
 10437  // value will be populated with the request's response once the request completes
 10438  // successfully.
 10439  //
 10440  // Use "Send" method on the returned Request to send the API call to the service.
 10441  // the "output" return value is not valid until after Send returns without error.
 10442  //
 10443  // See StopGameSessionPlacement for more information on using the StopGameSessionPlacement
 10444  // API call, and error handling.
 10445  //
 10446  // This method is useful when you want to inject custom logic or configuration
 10447  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10448  //
 10449  //
 10450  //    // Example sending a request using the StopGameSessionPlacementRequest method.
 10451  //    req, resp := client.StopGameSessionPlacementRequest(params)
 10452  //
 10453  //    err := req.Send()
 10454  //    if err == nil { // resp is now filled
 10455  //        fmt.Println(resp)
 10456  //    }
 10457  //
 10458  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
 10459  func (c *GameLift) StopGameSessionPlacementRequest(input *StopGameSessionPlacementInput) (req *request.Request, output *StopGameSessionPlacementOutput) {
 10460  	op := &request.Operation{
 10461  		Name:       opStopGameSessionPlacement,
 10462  		HTTPMethod: "POST",
 10463  		HTTPPath:   "/",
 10464  	}
 10465  
 10466  	if input == nil {
 10467  		input = &StopGameSessionPlacementInput{}
 10468  	}
 10469  
 10470  	output = &StopGameSessionPlacementOutput{}
 10471  	req = c.newRequest(op, input, output)
 10472  	return
 10473  }
 10474  
 10475  // StopGameSessionPlacement API operation for Amazon GameLift.
 10476  //
 10477  // Cancels a game session placement that is in PENDING status. To stop a placement,
 10478  // provide the placement ID values. If successful, the placement is moved to
 10479  // CANCELLED status.
 10480  //
 10481  // Related actions
 10482  //
 10483  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
 10484  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
 10485  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
 10486  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10487  //
 10488  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10489  // with awserr.Error's Code and Message methods to get detailed information about
 10490  // the error.
 10491  //
 10492  // See the AWS API reference guide for Amazon GameLift's
 10493  // API operation StopGameSessionPlacement for usage and error information.
 10494  //
 10495  // Returned Error Types:
 10496  //   * InternalServiceException
 10497  //   The service encountered an unrecoverable internal failure while processing
 10498  //   the request. Clients can retry such requests immediately or after a waiting
 10499  //   period.
 10500  //
 10501  //   * InvalidRequestException
 10502  //   One or more parameter values in the request are invalid. Correct the invalid
 10503  //   parameter values before retrying.
 10504  //
 10505  //   * NotFoundException
 10506  //   A service resource associated with the request could not be found. Clients
 10507  //   should not retry such requests.
 10508  //
 10509  //   * UnauthorizedException
 10510  //   The client failed authentication. Clients should not retry such requests.
 10511  //
 10512  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement
 10513  func (c *GameLift) StopGameSessionPlacement(input *StopGameSessionPlacementInput) (*StopGameSessionPlacementOutput, error) {
 10514  	req, out := c.StopGameSessionPlacementRequest(input)
 10515  	return out, req.Send()
 10516  }
 10517  
 10518  // StopGameSessionPlacementWithContext is the same as StopGameSessionPlacement with the addition of
 10519  // the ability to pass a context and additional request options.
 10520  //
 10521  // See StopGameSessionPlacement for details on how to use this API operation.
 10522  //
 10523  // The context must be non-nil and will be used for request cancellation. If
 10524  // the context is nil a panic will occur. In the future the SDK may create
 10525  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10526  // for more information on using Contexts.
 10527  func (c *GameLift) StopGameSessionPlacementWithContext(ctx aws.Context, input *StopGameSessionPlacementInput, opts ...request.Option) (*StopGameSessionPlacementOutput, error) {
 10528  	req, out := c.StopGameSessionPlacementRequest(input)
 10529  	req.SetContext(ctx)
 10530  	req.ApplyOptions(opts...)
 10531  	return out, req.Send()
 10532  }
 10533  
 10534  const opStopMatchmaking = "StopMatchmaking"
 10535  
 10536  // StopMatchmakingRequest generates a "aws/request.Request" representing the
 10537  // client's request for the StopMatchmaking operation. The "output" return
 10538  // value will be populated with the request's response once the request completes
 10539  // successfully.
 10540  //
 10541  // Use "Send" method on the returned Request to send the API call to the service.
 10542  // the "output" return value is not valid until after Send returns without error.
 10543  //
 10544  // See StopMatchmaking for more information on using the StopMatchmaking
 10545  // API call, and error handling.
 10546  //
 10547  // This method is useful when you want to inject custom logic or configuration
 10548  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10549  //
 10550  //
 10551  //    // Example sending a request using the StopMatchmakingRequest method.
 10552  //    req, resp := client.StopMatchmakingRequest(params)
 10553  //
 10554  //    err := req.Send()
 10555  //    if err == nil { // resp is now filled
 10556  //        fmt.Println(resp)
 10557  //    }
 10558  //
 10559  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
 10560  func (c *GameLift) StopMatchmakingRequest(input *StopMatchmakingInput) (req *request.Request, output *StopMatchmakingOutput) {
 10561  	op := &request.Operation{
 10562  		Name:       opStopMatchmaking,
 10563  		HTTPMethod: "POST",
 10564  		HTTPPath:   "/",
 10565  	}
 10566  
 10567  	if input == nil {
 10568  		input = &StopMatchmakingInput{}
 10569  	}
 10570  
 10571  	output = &StopMatchmakingOutput{}
 10572  	req = c.newRequest(op, input, output)
 10573  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10574  	return
 10575  }
 10576  
 10577  // StopMatchmaking API operation for Amazon GameLift.
 10578  //
 10579  // Cancels a matchmaking ticket or match backfill ticket that is currently being
 10580  // processed. To stop the matchmaking operation, specify the ticket ID. If successful,
 10581  // work on the ticket is stopped, and the ticket status is changed to CANCELLED.
 10582  //
 10583  // This call is also used to turn off automatic backfill for an individual game
 10584  // session. This is for game sessions that are created with a matchmaking configuration
 10585  // that has automatic backfill enabled. The ticket ID is included in the MatchmakerData
 10586  // of an updated game session object, which is provided to the game server.
 10587  //
 10588  // If the operation is successful, the service sends back an empty JSON struct
 10589  // with the HTTP 200 response (not an empty HTTP body).
 10590  //
 10591  // Learn more
 10592  //
 10593  //  Add FlexMatch to a game client (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html)
 10594  //
 10595  // Related actions
 10596  //
 10597  // StartMatchmaking | DescribeMatchmaking | StopMatchmaking | AcceptMatch |
 10598  // StartMatchBackfill | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10599  //
 10600  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10601  // with awserr.Error's Code and Message methods to get detailed information about
 10602  // the error.
 10603  //
 10604  // See the AWS API reference guide for Amazon GameLift's
 10605  // API operation StopMatchmaking for usage and error information.
 10606  //
 10607  // Returned Error Types:
 10608  //   * InvalidRequestException
 10609  //   One or more parameter values in the request are invalid. Correct the invalid
 10610  //   parameter values before retrying.
 10611  //
 10612  //   * NotFoundException
 10613  //   A service resource associated with the request could not be found. Clients
 10614  //   should not retry such requests.
 10615  //
 10616  //   * InternalServiceException
 10617  //   The service encountered an unrecoverable internal failure while processing
 10618  //   the request. Clients can retry such requests immediately or after a waiting
 10619  //   period.
 10620  //
 10621  //   * UnsupportedRegionException
 10622  //   The requested operation is not supported in the Region specified.
 10623  //
 10624  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopMatchmaking
 10625  func (c *GameLift) StopMatchmaking(input *StopMatchmakingInput) (*StopMatchmakingOutput, error) {
 10626  	req, out := c.StopMatchmakingRequest(input)
 10627  	return out, req.Send()
 10628  }
 10629  
 10630  // StopMatchmakingWithContext is the same as StopMatchmaking with the addition of
 10631  // the ability to pass a context and additional request options.
 10632  //
 10633  // See StopMatchmaking for details on how to use this API operation.
 10634  //
 10635  // The context must be non-nil and will be used for request cancellation. If
 10636  // the context is nil a panic will occur. In the future the SDK may create
 10637  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10638  // for more information on using Contexts.
 10639  func (c *GameLift) StopMatchmakingWithContext(ctx aws.Context, input *StopMatchmakingInput, opts ...request.Option) (*StopMatchmakingOutput, error) {
 10640  	req, out := c.StopMatchmakingRequest(input)
 10641  	req.SetContext(ctx)
 10642  	req.ApplyOptions(opts...)
 10643  	return out, req.Send()
 10644  }
 10645  
 10646  const opSuspendGameServerGroup = "SuspendGameServerGroup"
 10647  
 10648  // SuspendGameServerGroupRequest generates a "aws/request.Request" representing the
 10649  // client's request for the SuspendGameServerGroup operation. The "output" return
 10650  // value will be populated with the request's response once the request completes
 10651  // successfully.
 10652  //
 10653  // Use "Send" method on the returned Request to send the API call to the service.
 10654  // the "output" return value is not valid until after Send returns without error.
 10655  //
 10656  // See SuspendGameServerGroup for more information on using the SuspendGameServerGroup
 10657  // API call, and error handling.
 10658  //
 10659  // This method is useful when you want to inject custom logic or configuration
 10660  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10661  //
 10662  //
 10663  //    // Example sending a request using the SuspendGameServerGroupRequest method.
 10664  //    req, resp := client.SuspendGameServerGroupRequest(params)
 10665  //
 10666  //    err := req.Send()
 10667  //    if err == nil { // resp is now filled
 10668  //        fmt.Println(resp)
 10669  //    }
 10670  //
 10671  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SuspendGameServerGroup
 10672  func (c *GameLift) SuspendGameServerGroupRequest(input *SuspendGameServerGroupInput) (req *request.Request, output *SuspendGameServerGroupOutput) {
 10673  	op := &request.Operation{
 10674  		Name:       opSuspendGameServerGroup,
 10675  		HTTPMethod: "POST",
 10676  		HTTPPath:   "/",
 10677  	}
 10678  
 10679  	if input == nil {
 10680  		input = &SuspendGameServerGroupInput{}
 10681  	}
 10682  
 10683  	output = &SuspendGameServerGroupOutput{}
 10684  	req = c.newRequest(op, input, output)
 10685  	return
 10686  }
 10687  
 10688  // SuspendGameServerGroup API operation for Amazon GameLift.
 10689  //
 10690  // This operation is used with the GameLift FleetIQ solution and game server
 10691  // groups.
 10692  //
 10693  // Temporarily stops activity on a game server group without terminating instances
 10694  // or the game server group. You can restart activity by calling ResumeGameServerGroup.
 10695  // You can suspend the following activity:
 10696  //
 10697  //    * Instance type replacement - This activity evaluates the current game
 10698  //    hosting viability of all Spot instance types that are defined for the
 10699  //    game server group. It updates the Auto Scaling group to remove nonviable
 10700  //    Spot Instance types, which have a higher chance of game server interruptions.
 10701  //    It then balances capacity across the remaining viable Spot Instance types.
 10702  //    When this activity is suspended, the Auto Scaling group continues with
 10703  //    its current balance, regardless of viability. Instance protection, utilization
 10704  //    metrics, and capacity scaling activities continue to be active.
 10705  //
 10706  // To suspend activity, specify a game server group ARN and the type of activity
 10707  // to be suspended. If successful, a GameServerGroup object is returned showing
 10708  // that the activity is listed in SuspendedActions.
 10709  //
 10710  // Learn more
 10711  //
 10712  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
 10713  //
 10714  // Related actions
 10715  //
 10716  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
 10717  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
 10718  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
 10719  //
 10720  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10721  // with awserr.Error's Code and Message methods to get detailed information about
 10722  // the error.
 10723  //
 10724  // See the AWS API reference guide for Amazon GameLift's
 10725  // API operation SuspendGameServerGroup for usage and error information.
 10726  //
 10727  // Returned Error Types:
 10728  //   * InvalidRequestException
 10729  //   One or more parameter values in the request are invalid. Correct the invalid
 10730  //   parameter values before retrying.
 10731  //
 10732  //   * NotFoundException
 10733  //   A service resource associated with the request could not be found. Clients
 10734  //   should not retry such requests.
 10735  //
 10736  //   * UnauthorizedException
 10737  //   The client failed authentication. Clients should not retry such requests.
 10738  //
 10739  //   * InternalServiceException
 10740  //   The service encountered an unrecoverable internal failure while processing
 10741  //   the request. Clients can retry such requests immediately or after a waiting
 10742  //   period.
 10743  //
 10744  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SuspendGameServerGroup
 10745  func (c *GameLift) SuspendGameServerGroup(input *SuspendGameServerGroupInput) (*SuspendGameServerGroupOutput, error) {
 10746  	req, out := c.SuspendGameServerGroupRequest(input)
 10747  	return out, req.Send()
 10748  }
 10749  
 10750  // SuspendGameServerGroupWithContext is the same as SuspendGameServerGroup with the addition of
 10751  // the ability to pass a context and additional request options.
 10752  //
 10753  // See SuspendGameServerGroup for details on how to use this API operation.
 10754  //
 10755  // The context must be non-nil and will be used for request cancellation. If
 10756  // the context is nil a panic will occur. In the future the SDK may create
 10757  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10758  // for more information on using Contexts.
 10759  func (c *GameLift) SuspendGameServerGroupWithContext(ctx aws.Context, input *SuspendGameServerGroupInput, opts ...request.Option) (*SuspendGameServerGroupOutput, error) {
 10760  	req, out := c.SuspendGameServerGroupRequest(input)
 10761  	req.SetContext(ctx)
 10762  	req.ApplyOptions(opts...)
 10763  	return out, req.Send()
 10764  }
 10765  
 10766  const opTagResource = "TagResource"
 10767  
 10768  // TagResourceRequest generates a "aws/request.Request" representing the
 10769  // client's request for the TagResource operation. The "output" return
 10770  // value will be populated with the request's response once the request completes
 10771  // successfully.
 10772  //
 10773  // Use "Send" method on the returned Request to send the API call to the service.
 10774  // the "output" return value is not valid until after Send returns without error.
 10775  //
 10776  // See TagResource for more information on using the TagResource
 10777  // API call, and error handling.
 10778  //
 10779  // This method is useful when you want to inject custom logic or configuration
 10780  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10781  //
 10782  //
 10783  //    // Example sending a request using the TagResourceRequest method.
 10784  //    req, resp := client.TagResourceRequest(params)
 10785  //
 10786  //    err := req.Send()
 10787  //    if err == nil { // resp is now filled
 10788  //        fmt.Println(resp)
 10789  //    }
 10790  //
 10791  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/TagResource
 10792  func (c *GameLift) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
 10793  	op := &request.Operation{
 10794  		Name:       opTagResource,
 10795  		HTTPMethod: "POST",
 10796  		HTTPPath:   "/",
 10797  	}
 10798  
 10799  	if input == nil {
 10800  		input = &TagResourceInput{}
 10801  	}
 10802  
 10803  	output = &TagResourceOutput{}
 10804  	req = c.newRequest(op, input, output)
 10805  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10806  	return
 10807  }
 10808  
 10809  // TagResource API operation for Amazon GameLift.
 10810  //
 10811  // Assigns a tag to a GameLift resource. AWS resource tags provide an additional
 10812  // management tool set. You can use tags to organize resources, create IAM permissions
 10813  // policies to manage access to groups of resources, customize AWS cost breakdowns,
 10814  // etc. This operation handles the permissions necessary to manage tags for
 10815  // the following GameLift resource types:
 10816  //
 10817  //    * Build
 10818  //
 10819  //    * Script
 10820  //
 10821  //    * Fleet
 10822  //
 10823  //    * Alias
 10824  //
 10825  //    * GameSessionQueue
 10826  //
 10827  //    * MatchmakingConfiguration
 10828  //
 10829  //    * MatchmakingRuleSet
 10830  //
 10831  // To add a tag to a resource, specify the unique ARN value for the resource
 10832  // and provide a tag list containing one or more tags. The operation succeeds
 10833  // even if the list includes tags that are already assigned to the specified
 10834  // resource.
 10835  //
 10836  // Learn more
 10837  //
 10838  // Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 10839  // in the AWS General Reference
 10840  //
 10841  //  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
 10842  //
 10843  // Related actions
 10844  //
 10845  // TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10846  //
 10847  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10848  // with awserr.Error's Code and Message methods to get detailed information about
 10849  // the error.
 10850  //
 10851  // See the AWS API reference guide for Amazon GameLift's
 10852  // API operation TagResource for usage and error information.
 10853  //
 10854  // Returned Error Types:
 10855  //   * NotFoundException
 10856  //   A service resource associated with the request could not be found. Clients
 10857  //   should not retry such requests.
 10858  //
 10859  //   * InvalidRequestException
 10860  //   One or more parameter values in the request are invalid. Correct the invalid
 10861  //   parameter values before retrying.
 10862  //
 10863  //   * TaggingFailedException
 10864  //   The requested tagging operation did not succeed. This may be due to invalid
 10865  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
 10866  //   before retrying.
 10867  //
 10868  //   * InternalServiceException
 10869  //   The service encountered an unrecoverable internal failure while processing
 10870  //   the request. Clients can retry such requests immediately or after a waiting
 10871  //   period.
 10872  //
 10873  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/TagResource
 10874  func (c *GameLift) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
 10875  	req, out := c.TagResourceRequest(input)
 10876  	return out, req.Send()
 10877  }
 10878  
 10879  // TagResourceWithContext is the same as TagResource with the addition of
 10880  // the ability to pass a context and additional request options.
 10881  //
 10882  // See TagResource for details on how to use this API operation.
 10883  //
 10884  // The context must be non-nil and will be used for request cancellation. If
 10885  // the context is nil a panic will occur. In the future the SDK may create
 10886  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10887  // for more information on using Contexts.
 10888  func (c *GameLift) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
 10889  	req, out := c.TagResourceRequest(input)
 10890  	req.SetContext(ctx)
 10891  	req.ApplyOptions(opts...)
 10892  	return out, req.Send()
 10893  }
 10894  
 10895  const opUntagResource = "UntagResource"
 10896  
 10897  // UntagResourceRequest generates a "aws/request.Request" representing the
 10898  // client's request for the UntagResource operation. The "output" return
 10899  // value will be populated with the request's response once the request completes
 10900  // successfully.
 10901  //
 10902  // Use "Send" method on the returned Request to send the API call to the service.
 10903  // the "output" return value is not valid until after Send returns without error.
 10904  //
 10905  // See UntagResource for more information on using the UntagResource
 10906  // API call, and error handling.
 10907  //
 10908  // This method is useful when you want to inject custom logic or configuration
 10909  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10910  //
 10911  //
 10912  //    // Example sending a request using the UntagResourceRequest method.
 10913  //    req, resp := client.UntagResourceRequest(params)
 10914  //
 10915  //    err := req.Send()
 10916  //    if err == nil { // resp is now filled
 10917  //        fmt.Println(resp)
 10918  //    }
 10919  //
 10920  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UntagResource
 10921  func (c *GameLift) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
 10922  	op := &request.Operation{
 10923  		Name:       opUntagResource,
 10924  		HTTPMethod: "POST",
 10925  		HTTPPath:   "/",
 10926  	}
 10927  
 10928  	if input == nil {
 10929  		input = &UntagResourceInput{}
 10930  	}
 10931  
 10932  	output = &UntagResourceOutput{}
 10933  	req = c.newRequest(op, input, output)
 10934  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 10935  	return
 10936  }
 10937  
 10938  // UntagResource API operation for Amazon GameLift.
 10939  //
 10940  // Removes a tag that is assigned to a GameLift resource. Resource tags are
 10941  // used to organize AWS resources for a range of purposes. This operation handles
 10942  // the permissions necessary to manage tags for the following GameLift resource
 10943  // types:
 10944  //
 10945  //    * Build
 10946  //
 10947  //    * Script
 10948  //
 10949  //    * Fleet
 10950  //
 10951  //    * Alias
 10952  //
 10953  //    * GameSessionQueue
 10954  //
 10955  //    * MatchmakingConfiguration
 10956  //
 10957  //    * MatchmakingRuleSet
 10958  //
 10959  // To remove a tag from a resource, specify the unique ARN value for the resource
 10960  // and provide a string list containing one or more tags to be removed. This
 10961  // operation succeeds even if the list includes tags that are not currently
 10962  // assigned to the specified resource.
 10963  //
 10964  // Learn more
 10965  //
 10966  // Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 10967  // in the AWS General Reference
 10968  //
 10969  //  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
 10970  //
 10971  // Related actions
 10972  //
 10973  // TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 10974  //
 10975  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10976  // with awserr.Error's Code and Message methods to get detailed information about
 10977  // the error.
 10978  //
 10979  // See the AWS API reference guide for Amazon GameLift's
 10980  // API operation UntagResource for usage and error information.
 10981  //
 10982  // Returned Error Types:
 10983  //   * NotFoundException
 10984  //   A service resource associated with the request could not be found. Clients
 10985  //   should not retry such requests.
 10986  //
 10987  //   * InvalidRequestException
 10988  //   One or more parameter values in the request are invalid. Correct the invalid
 10989  //   parameter values before retrying.
 10990  //
 10991  //   * TaggingFailedException
 10992  //   The requested tagging operation did not succeed. This may be due to invalid
 10993  //   tag format or the maximum tag limit may have been exceeded. Resolve the issue
 10994  //   before retrying.
 10995  //
 10996  //   * InternalServiceException
 10997  //   The service encountered an unrecoverable internal failure while processing
 10998  //   the request. Clients can retry such requests immediately or after a waiting
 10999  //   period.
 11000  //
 11001  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UntagResource
 11002  func (c *GameLift) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
 11003  	req, out := c.UntagResourceRequest(input)
 11004  	return out, req.Send()
 11005  }
 11006  
 11007  // UntagResourceWithContext is the same as UntagResource with the addition of
 11008  // the ability to pass a context and additional request options.
 11009  //
 11010  // See UntagResource for details on how to use this API operation.
 11011  //
 11012  // The context must be non-nil and will be used for request cancellation. If
 11013  // the context is nil a panic will occur. In the future the SDK may create
 11014  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11015  // for more information on using Contexts.
 11016  func (c *GameLift) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
 11017  	req, out := c.UntagResourceRequest(input)
 11018  	req.SetContext(ctx)
 11019  	req.ApplyOptions(opts...)
 11020  	return out, req.Send()
 11021  }
 11022  
 11023  const opUpdateAlias = "UpdateAlias"
 11024  
 11025  // UpdateAliasRequest generates a "aws/request.Request" representing the
 11026  // client's request for the UpdateAlias operation. The "output" return
 11027  // value will be populated with the request's response once the request completes
 11028  // successfully.
 11029  //
 11030  // Use "Send" method on the returned Request to send the API call to the service.
 11031  // the "output" return value is not valid until after Send returns without error.
 11032  //
 11033  // See UpdateAlias for more information on using the UpdateAlias
 11034  // API call, and error handling.
 11035  //
 11036  // This method is useful when you want to inject custom logic or configuration
 11037  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11038  //
 11039  //
 11040  //    // Example sending a request using the UpdateAliasRequest method.
 11041  //    req, resp := client.UpdateAliasRequest(params)
 11042  //
 11043  //    err := req.Send()
 11044  //    if err == nil { // resp is now filled
 11045  //        fmt.Println(resp)
 11046  //    }
 11047  //
 11048  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
 11049  func (c *GameLift) UpdateAliasRequest(input *UpdateAliasInput) (req *request.Request, output *UpdateAliasOutput) {
 11050  	op := &request.Operation{
 11051  		Name:       opUpdateAlias,
 11052  		HTTPMethod: "POST",
 11053  		HTTPPath:   "/",
 11054  	}
 11055  
 11056  	if input == nil {
 11057  		input = &UpdateAliasInput{}
 11058  	}
 11059  
 11060  	output = &UpdateAliasOutput{}
 11061  	req = c.newRequest(op, input, output)
 11062  	return
 11063  }
 11064  
 11065  // UpdateAlias API operation for Amazon GameLift.
 11066  //
 11067  // Updates properties for an alias. To update properties, specify the alias
 11068  // ID to be updated and provide the information to be changed. To reassign an
 11069  // alias to another fleet, provide an updated routing strategy. If successful,
 11070  // the updated alias record is returned.
 11071  //
 11072  // Related actions
 11073  //
 11074  // CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
 11075  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 11076  //
 11077  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11078  // with awserr.Error's Code and Message methods to get detailed information about
 11079  // the error.
 11080  //
 11081  // See the AWS API reference guide for Amazon GameLift's
 11082  // API operation UpdateAlias for usage and error information.
 11083  //
 11084  // Returned Error Types:
 11085  //   * UnauthorizedException
 11086  //   The client failed authentication. Clients should not retry such requests.
 11087  //
 11088  //   * InvalidRequestException
 11089  //   One or more parameter values in the request are invalid. Correct the invalid
 11090  //   parameter values before retrying.
 11091  //
 11092  //   * NotFoundException
 11093  //   A service resource associated with the request could not be found. Clients
 11094  //   should not retry such requests.
 11095  //
 11096  //   * InternalServiceException
 11097  //   The service encountered an unrecoverable internal failure while processing
 11098  //   the request. Clients can retry such requests immediately or after a waiting
 11099  //   period.
 11100  //
 11101  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateAlias
 11102  func (c *GameLift) UpdateAlias(input *UpdateAliasInput) (*UpdateAliasOutput, error) {
 11103  	req, out := c.UpdateAliasRequest(input)
 11104  	return out, req.Send()
 11105  }
 11106  
 11107  // UpdateAliasWithContext is the same as UpdateAlias with the addition of
 11108  // the ability to pass a context and additional request options.
 11109  //
 11110  // See UpdateAlias for details on how to use this API operation.
 11111  //
 11112  // The context must be non-nil and will be used for request cancellation. If
 11113  // the context is nil a panic will occur. In the future the SDK may create
 11114  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11115  // for more information on using Contexts.
 11116  func (c *GameLift) UpdateAliasWithContext(ctx aws.Context, input *UpdateAliasInput, opts ...request.Option) (*UpdateAliasOutput, error) {
 11117  	req, out := c.UpdateAliasRequest(input)
 11118  	req.SetContext(ctx)
 11119  	req.ApplyOptions(opts...)
 11120  	return out, req.Send()
 11121  }
 11122  
 11123  const opUpdateBuild = "UpdateBuild"
 11124  
 11125  // UpdateBuildRequest generates a "aws/request.Request" representing the
 11126  // client's request for the UpdateBuild operation. The "output" return
 11127  // value will be populated with the request's response once the request completes
 11128  // successfully.
 11129  //
 11130  // Use "Send" method on the returned Request to send the API call to the service.
 11131  // the "output" return value is not valid until after Send returns without error.
 11132  //
 11133  // See UpdateBuild for more information on using the UpdateBuild
 11134  // API call, and error handling.
 11135  //
 11136  // This method is useful when you want to inject custom logic or configuration
 11137  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11138  //
 11139  //
 11140  //    // Example sending a request using the UpdateBuildRequest method.
 11141  //    req, resp := client.UpdateBuildRequest(params)
 11142  //
 11143  //    err := req.Send()
 11144  //    if err == nil { // resp is now filled
 11145  //        fmt.Println(resp)
 11146  //    }
 11147  //
 11148  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
 11149  func (c *GameLift) UpdateBuildRequest(input *UpdateBuildInput) (req *request.Request, output *UpdateBuildOutput) {
 11150  	op := &request.Operation{
 11151  		Name:       opUpdateBuild,
 11152  		HTTPMethod: "POST",
 11153  		HTTPPath:   "/",
 11154  	}
 11155  
 11156  	if input == nil {
 11157  		input = &UpdateBuildInput{}
 11158  	}
 11159  
 11160  	output = &UpdateBuildOutput{}
 11161  	req = c.newRequest(op, input, output)
 11162  	return
 11163  }
 11164  
 11165  // UpdateBuild API operation for Amazon GameLift.
 11166  //
 11167  // Updates metadata in a build resource, including the build name and version.
 11168  // To update the metadata, specify the build ID to update and provide the new
 11169  // values. If successful, a build object containing the updated metadata is
 11170  // returned.
 11171  //
 11172  // Learn more
 11173  //
 11174  //  Upload a Custom Server Build (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html)
 11175  //
 11176  // Related actions
 11177  //
 11178  // CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
 11179  // APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 11180  //
 11181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11182  // with awserr.Error's Code and Message methods to get detailed information about
 11183  // the error.
 11184  //
 11185  // See the AWS API reference guide for Amazon GameLift's
 11186  // API operation UpdateBuild for usage and error information.
 11187  //
 11188  // Returned Error Types:
 11189  //   * UnauthorizedException
 11190  //   The client failed authentication. Clients should not retry such requests.
 11191  //
 11192  //   * InvalidRequestException
 11193  //   One or more parameter values in the request are invalid. Correct the invalid
 11194  //   parameter values before retrying.
 11195  //
 11196  //   * NotFoundException
 11197  //   A service resource associated with the request could not be found. Clients
 11198  //   should not retry such requests.
 11199  //
 11200  //   * InternalServiceException
 11201  //   The service encountered an unrecoverable internal failure while processing
 11202  //   the request. Clients can retry such requests immediately or after a waiting
 11203  //   period.
 11204  //
 11205  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuild
 11206  func (c *GameLift) UpdateBuild(input *UpdateBuildInput) (*UpdateBuildOutput, error) {
 11207  	req, out := c.UpdateBuildRequest(input)
 11208  	return out, req.Send()
 11209  }
 11210  
 11211  // UpdateBuildWithContext is the same as UpdateBuild with the addition of
 11212  // the ability to pass a context and additional request options.
 11213  //
 11214  // See UpdateBuild for details on how to use this API operation.
 11215  //
 11216  // The context must be non-nil and will be used for request cancellation. If
 11217  // the context is nil a panic will occur. In the future the SDK may create
 11218  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11219  // for more information on using Contexts.
 11220  func (c *GameLift) UpdateBuildWithContext(ctx aws.Context, input *UpdateBuildInput, opts ...request.Option) (*UpdateBuildOutput, error) {
 11221  	req, out := c.UpdateBuildRequest(input)
 11222  	req.SetContext(ctx)
 11223  	req.ApplyOptions(opts...)
 11224  	return out, req.Send()
 11225  }
 11226  
 11227  const opUpdateFleetAttributes = "UpdateFleetAttributes"
 11228  
 11229  // UpdateFleetAttributesRequest generates a "aws/request.Request" representing the
 11230  // client's request for the UpdateFleetAttributes operation. The "output" return
 11231  // value will be populated with the request's response once the request completes
 11232  // successfully.
 11233  //
 11234  // Use "Send" method on the returned Request to send the API call to the service.
 11235  // the "output" return value is not valid until after Send returns without error.
 11236  //
 11237  // See UpdateFleetAttributes for more information on using the UpdateFleetAttributes
 11238  // API call, and error handling.
 11239  //
 11240  // This method is useful when you want to inject custom logic or configuration
 11241  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11242  //
 11243  //
 11244  //    // Example sending a request using the UpdateFleetAttributesRequest method.
 11245  //    req, resp := client.UpdateFleetAttributesRequest(params)
 11246  //
 11247  //    err := req.Send()
 11248  //    if err == nil { // resp is now filled
 11249  //        fmt.Println(resp)
 11250  //    }
 11251  //
 11252  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
 11253  func (c *GameLift) UpdateFleetAttributesRequest(input *UpdateFleetAttributesInput) (req *request.Request, output *UpdateFleetAttributesOutput) {
 11254  	op := &request.Operation{
 11255  		Name:       opUpdateFleetAttributes,
 11256  		HTTPMethod: "POST",
 11257  		HTTPPath:   "/",
 11258  	}
 11259  
 11260  	if input == nil {
 11261  		input = &UpdateFleetAttributesInput{}
 11262  	}
 11263  
 11264  	output = &UpdateFleetAttributesOutput{}
 11265  	req = c.newRequest(op, input, output)
 11266  	return
 11267  }
 11268  
 11269  // UpdateFleetAttributes API operation for Amazon GameLift.
 11270  //
 11271  // Updates a fleet's mutable attributes, including game session protection and
 11272  // resource creation limits.
 11273  //
 11274  // To update fleet attributes, specify the fleet ID and the property values
 11275  // that you want to change.
 11276  //
 11277  // If successful, an updated FleetAttributes object is returned.
 11278  //
 11279  // Learn more
 11280  //
 11281  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
 11282  //
 11283  // Related actions
 11284  //
 11285  // CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
 11286  // | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
 11287  // | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
 11288  // task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 11289  //
 11290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11291  // with awserr.Error's Code and Message methods to get detailed information about
 11292  // the error.
 11293  //
 11294  // See the AWS API reference guide for Amazon GameLift's
 11295  // API operation UpdateFleetAttributes for usage and error information.
 11296  //
 11297  // Returned Error Types:
 11298  //   * NotFoundException
 11299  //   A service resource associated with the request could not be found. Clients
 11300  //   should not retry such requests.
 11301  //
 11302  //   * ConflictException
 11303  //   The requested operation would cause a conflict with the current state of
 11304  //   a service resource associated with the request. Resolve the conflict before
 11305  //   retrying this request.
 11306  //
 11307  //   * InvalidFleetStatusException
 11308  //   The requested operation would cause a conflict with the current state of
 11309  //   a resource associated with the request and/or the fleet. Resolve the conflict
 11310  //   before retrying.
 11311  //
 11312  //   * LimitExceededException
 11313  //   The requested operation would cause the resource to exceed the allowed service
 11314  //   limit. Resolve the issue before retrying.
 11315  //
 11316  //   * InternalServiceException
 11317  //   The service encountered an unrecoverable internal failure while processing
 11318  //   the request. Clients can retry such requests immediately or after a waiting
 11319  //   period.
 11320  //
 11321  //   * InvalidRequestException
 11322  //   One or more parameter values in the request are invalid. Correct the invalid
 11323  //   parameter values before retrying.
 11324  //
 11325  //   * UnauthorizedException
 11326  //   The client failed authentication. Clients should not retry such requests.
 11327  //
 11328  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetAttributes
 11329  func (c *GameLift) UpdateFleetAttributes(input *UpdateFleetAttributesInput) (*UpdateFleetAttributesOutput, error) {
 11330  	req, out := c.UpdateFleetAttributesRequest(input)
 11331  	return out, req.Send()
 11332  }
 11333  
 11334  // UpdateFleetAttributesWithContext is the same as UpdateFleetAttributes with the addition of
 11335  // the ability to pass a context and additional request options.
 11336  //
 11337  // See UpdateFleetAttributes for details on how to use this API operation.
 11338  //
 11339  // The context must be non-nil and will be used for request cancellation. If
 11340  // the context is nil a panic will occur. In the future the SDK may create
 11341  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11342  // for more information on using Contexts.
 11343  func (c *GameLift) UpdateFleetAttributesWithContext(ctx aws.Context, input *UpdateFleetAttributesInput, opts ...request.Option) (*UpdateFleetAttributesOutput, error) {
 11344  	req, out := c.UpdateFleetAttributesRequest(input)
 11345  	req.SetContext(ctx)
 11346  	req.ApplyOptions(opts...)
 11347  	return out, req.Send()
 11348  }
 11349  
 11350  const opUpdateFleetCapacity = "UpdateFleetCapacity"
 11351  
 11352  // UpdateFleetCapacityRequest generates a "aws/request.Request" representing the
 11353  // client's request for the UpdateFleetCapacity operation. The "output" return
 11354  // value will be populated with the request's response once the request completes
 11355  // successfully.
 11356  //
 11357  // Use "Send" method on the returned Request to send the API call to the service.
 11358  // the "output" return value is not valid until after Send returns without error.
 11359  //
 11360  // See UpdateFleetCapacity for more information on using the UpdateFleetCapacity
 11361  // API call, and error handling.
 11362  //
 11363  // This method is useful when you want to inject custom logic or configuration
 11364  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11365  //
 11366  //
 11367  //    // Example sending a request using the UpdateFleetCapacityRequest method.
 11368  //    req, resp := client.UpdateFleetCapacityRequest(params)
 11369  //
 11370  //    err := req.Send()
 11371  //    if err == nil { // resp is now filled
 11372  //        fmt.Println(resp)
 11373  //    }
 11374  //
 11375  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
 11376  func (c *GameLift) UpdateFleetCapacityRequest(input *UpdateFleetCapacityInput) (req *request.Request, output *UpdateFleetCapacityOutput) {
 11377  	op := &request.Operation{
 11378  		Name:       opUpdateFleetCapacity,
 11379  		HTTPMethod: "POST",
 11380  		HTTPPath:   "/",
 11381  	}
 11382  
 11383  	if input == nil {
 11384  		input = &UpdateFleetCapacityInput{}
 11385  	}
 11386  
 11387  	output = &UpdateFleetCapacityOutput{}
 11388  	req = c.newRequest(op, input, output)
 11389  	return
 11390  }
 11391  
 11392  // UpdateFleetCapacity API operation for Amazon GameLift.
 11393  //
 11394  // Updates capacity settings for a fleet. For fleets with multiple locations,
 11395  // use this operation to manage capacity settings in each location individually.
 11396  // Fleet capacity determines the number of game sessions and players that can
 11397  // be hosted based on the fleet configuration. Use this operation to set the
 11398  // following fleet capacity properties:
 11399  //
 11400  //    * Minimum/maximum size: Set hard limits on fleet capacity. GameLift cannot
 11401  //    set the fleet's capacity to a value outside of this range, whether the
 11402  //    capacity is changed manually or through automatic scaling.
 11403  //
 11404  //    * Desired capacity: Manually set the number of EC2 instances to be maintained
 11405  //    in a fleet location. Before changing a fleet's desired capacity, you may
 11406  //    want to call DescribeEC2InstanceLimits to get the maximum capacity of
 11407  //    the fleet's EC2 instance type. Alternatively, consider using automatic
 11408  //    scaling to adjust capacity based on player demand.
 11409  //
 11410  // This operation can be used in the following ways:
 11411  //
 11412  //    * To update capacity for a fleet's home Region, or if the fleet has no
 11413  //    remote locations, omit the Location parameter. The fleet must be in ACTIVE
 11414  //    status.
 11415  //
 11416  //    * To update capacity for a fleet's remote location, include the Location
 11417  //    parameter set to the location to be updated. The location must be in ACTIVE
 11418  //    status.
 11419  //
 11420  // If successful, capacity settings are updated immediately. In response a change
 11421  // in desired capacity, GameLift initiates steps to start new instances or terminate
 11422  // existing instances in the requested fleet location. This continues until
 11423  // the location's active instance count matches the new desired instance count.
 11424  // You can track a fleet's current capacity by calling DescribeFleetCapacity
 11425  // or DescribeFleetLocationCapacity. If the requested desired instance count
 11426  // is higher than the instance type's limit, the LimitExceeded exception occurs.
 11427  //
 11428  // Learn more
 11429  //
 11430  // Scaling fleet capacity (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-manage-capacity.html)
 11431  //
 11432  // Related actions
 11433  //
 11434  // CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
 11435  // | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
 11436  // | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
 11437  // task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 11438  //
 11439  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11440  // with awserr.Error's Code and Message methods to get detailed information about
 11441  // the error.
 11442  //
 11443  // See the AWS API reference guide for Amazon GameLift's
 11444  // API operation UpdateFleetCapacity for usage and error information.
 11445  //
 11446  // Returned Error Types:
 11447  //   * NotFoundException
 11448  //   A service resource associated with the request could not be found. Clients
 11449  //   should not retry such requests.
 11450  //
 11451  //   * ConflictException
 11452  //   The requested operation would cause a conflict with the current state of
 11453  //   a service resource associated with the request. Resolve the conflict before
 11454  //   retrying this request.
 11455  //
 11456  //   * LimitExceededException
 11457  //   The requested operation would cause the resource to exceed the allowed service
 11458  //   limit. Resolve the issue before retrying.
 11459  //
 11460  //   * InvalidFleetStatusException
 11461  //   The requested operation would cause a conflict with the current state of
 11462  //   a resource associated with the request and/or the fleet. Resolve the conflict
 11463  //   before retrying.
 11464  //
 11465  //   * InternalServiceException
 11466  //   The service encountered an unrecoverable internal failure while processing
 11467  //   the request. Clients can retry such requests immediately or after a waiting
 11468  //   period.
 11469  //
 11470  //   * InvalidRequestException
 11471  //   One or more parameter values in the request are invalid. Correct the invalid
 11472  //   parameter values before retrying.
 11473  //
 11474  //   * UnauthorizedException
 11475  //   The client failed authentication. Clients should not retry such requests.
 11476  //
 11477  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetCapacity
 11478  func (c *GameLift) UpdateFleetCapacity(input *UpdateFleetCapacityInput) (*UpdateFleetCapacityOutput, error) {
 11479  	req, out := c.UpdateFleetCapacityRequest(input)
 11480  	return out, req.Send()
 11481  }
 11482  
 11483  // UpdateFleetCapacityWithContext is the same as UpdateFleetCapacity with the addition of
 11484  // the ability to pass a context and additional request options.
 11485  //
 11486  // See UpdateFleetCapacity for details on how to use this API operation.
 11487  //
 11488  // The context must be non-nil and will be used for request cancellation. If
 11489  // the context is nil a panic will occur. In the future the SDK may create
 11490  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11491  // for more information on using Contexts.
 11492  func (c *GameLift) UpdateFleetCapacityWithContext(ctx aws.Context, input *UpdateFleetCapacityInput, opts ...request.Option) (*UpdateFleetCapacityOutput, error) {
 11493  	req, out := c.UpdateFleetCapacityRequest(input)
 11494  	req.SetContext(ctx)
 11495  	req.ApplyOptions(opts...)
 11496  	return out, req.Send()
 11497  }
 11498  
 11499  const opUpdateFleetPortSettings = "UpdateFleetPortSettings"
 11500  
 11501  // UpdateFleetPortSettingsRequest generates a "aws/request.Request" representing the
 11502  // client's request for the UpdateFleetPortSettings operation. The "output" return
 11503  // value will be populated with the request's response once the request completes
 11504  // successfully.
 11505  //
 11506  // Use "Send" method on the returned Request to send the API call to the service.
 11507  // the "output" return value is not valid until after Send returns without error.
 11508  //
 11509  // See UpdateFleetPortSettings for more information on using the UpdateFleetPortSettings
 11510  // API call, and error handling.
 11511  //
 11512  // This method is useful when you want to inject custom logic or configuration
 11513  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11514  //
 11515  //
 11516  //    // Example sending a request using the UpdateFleetPortSettingsRequest method.
 11517  //    req, resp := client.UpdateFleetPortSettingsRequest(params)
 11518  //
 11519  //    err := req.Send()
 11520  //    if err == nil { // resp is now filled
 11521  //        fmt.Println(resp)
 11522  //    }
 11523  //
 11524  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
 11525  func (c *GameLift) UpdateFleetPortSettingsRequest(input *UpdateFleetPortSettingsInput) (req *request.Request, output *UpdateFleetPortSettingsOutput) {
 11526  	op := &request.Operation{
 11527  		Name:       opUpdateFleetPortSettings,
 11528  		HTTPMethod: "POST",
 11529  		HTTPPath:   "/",
 11530  	}
 11531  
 11532  	if input == nil {
 11533  		input = &UpdateFleetPortSettingsInput{}
 11534  	}
 11535  
 11536  	output = &UpdateFleetPortSettingsOutput{}
 11537  	req = c.newRequest(op, input, output)
 11538  	return
 11539  }
 11540  
 11541  // UpdateFleetPortSettings API operation for Amazon GameLift.
 11542  //
 11543  // Updates permissions that allow inbound traffic to connect to game sessions
 11544  // that are being hosted on instances in the fleet.
 11545  //
 11546  // To update settings, specify the fleet ID to be updated and specify the changes
 11547  // to be made. List the permissions you want to add in InboundPermissionAuthorizations,
 11548  // and permissions you want to remove in InboundPermissionRevocations. Permissions
 11549  // to be removed must match existing fleet permissions.
 11550  //
 11551  // If successful, the fleet ID for the updated fleet is returned. For fleets
 11552  // with remote locations, port setting updates can take time to propagate across
 11553  // all locations. You can check the status of updates in each location by calling
 11554  // DescribeFleetPortSettings with a location name.
 11555  //
 11556  // Learn more
 11557  //
 11558  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
 11559  //
 11560  // Related actions
 11561  //
 11562  // CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
 11563  // | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
 11564  // | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
 11565  // task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 11566  //
 11567  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11568  // with awserr.Error's Code and Message methods to get detailed information about
 11569  // the error.
 11570  //
 11571  // See the AWS API reference guide for Amazon GameLift's
 11572  // API operation UpdateFleetPortSettings for usage and error information.
 11573  //
 11574  // Returned Error Types:
 11575  //   * NotFoundException
 11576  //   A service resource associated with the request could not be found. Clients
 11577  //   should not retry such requests.
 11578  //
 11579  //   * ConflictException
 11580  //   The requested operation would cause a conflict with the current state of
 11581  //   a service resource associated with the request. Resolve the conflict before
 11582  //   retrying this request.
 11583  //
 11584  //   * InvalidFleetStatusException
 11585  //   The requested operation would cause a conflict with the current state of
 11586  //   a resource associated with the request and/or the fleet. Resolve the conflict
 11587  //   before retrying.
 11588  //
 11589  //   * LimitExceededException
 11590  //   The requested operation would cause the resource to exceed the allowed service
 11591  //   limit. Resolve the issue before retrying.
 11592  //
 11593  //   * InternalServiceException
 11594  //   The service encountered an unrecoverable internal failure while processing
 11595  //   the request. Clients can retry such requests immediately or after a waiting
 11596  //   period.
 11597  //
 11598  //   * InvalidRequestException
 11599  //   One or more parameter values in the request are invalid. Correct the invalid
 11600  //   parameter values before retrying.
 11601  //
 11602  //   * UnauthorizedException
 11603  //   The client failed authentication. Clients should not retry such requests.
 11604  //
 11605  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettings
 11606  func (c *GameLift) UpdateFleetPortSettings(input *UpdateFleetPortSettingsInput) (*UpdateFleetPortSettingsOutput, error) {
 11607  	req, out := c.UpdateFleetPortSettingsRequest(input)
 11608  	return out, req.Send()
 11609  }
 11610  
 11611  // UpdateFleetPortSettingsWithContext is the same as UpdateFleetPortSettings with the addition of
 11612  // the ability to pass a context and additional request options.
 11613  //
 11614  // See UpdateFleetPortSettings for details on how to use this API operation.
 11615  //
 11616  // The context must be non-nil and will be used for request cancellation. If
 11617  // the context is nil a panic will occur. In the future the SDK may create
 11618  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11619  // for more information on using Contexts.
 11620  func (c *GameLift) UpdateFleetPortSettingsWithContext(ctx aws.Context, input *UpdateFleetPortSettingsInput, opts ...request.Option) (*UpdateFleetPortSettingsOutput, error) {
 11621  	req, out := c.UpdateFleetPortSettingsRequest(input)
 11622  	req.SetContext(ctx)
 11623  	req.ApplyOptions(opts...)
 11624  	return out, req.Send()
 11625  }
 11626  
 11627  const opUpdateGameServer = "UpdateGameServer"
 11628  
 11629  // UpdateGameServerRequest generates a "aws/request.Request" representing the
 11630  // client's request for the UpdateGameServer operation. The "output" return
 11631  // value will be populated with the request's response once the request completes
 11632  // successfully.
 11633  //
 11634  // Use "Send" method on the returned Request to send the API call to the service.
 11635  // the "output" return value is not valid until after Send returns without error.
 11636  //
 11637  // See UpdateGameServer for more information on using the UpdateGameServer
 11638  // API call, and error handling.
 11639  //
 11640  // This method is useful when you want to inject custom logic or configuration
 11641  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11642  //
 11643  //
 11644  //    // Example sending a request using the UpdateGameServerRequest method.
 11645  //    req, resp := client.UpdateGameServerRequest(params)
 11646  //
 11647  //    err := req.Send()
 11648  //    if err == nil { // resp is now filled
 11649  //        fmt.Println(resp)
 11650  //    }
 11651  //
 11652  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServer
 11653  func (c *GameLift) UpdateGameServerRequest(input *UpdateGameServerInput) (req *request.Request, output *UpdateGameServerOutput) {
 11654  	op := &request.Operation{
 11655  		Name:       opUpdateGameServer,
 11656  		HTTPMethod: "POST",
 11657  		HTTPPath:   "/",
 11658  	}
 11659  
 11660  	if input == nil {
 11661  		input = &UpdateGameServerInput{}
 11662  	}
 11663  
 11664  	output = &UpdateGameServerOutput{}
 11665  	req = c.newRequest(op, input, output)
 11666  	return
 11667  }
 11668  
 11669  // UpdateGameServer API operation for Amazon GameLift.
 11670  //
 11671  // This operation is used with the GameLift FleetIQ solution and game server
 11672  // groups.
 11673  //
 11674  // Updates information about a registered game server to help GameLift FleetIQ
 11675  // to track game server availability. This operation is called by a game server
 11676  // process that is running on an instance in a game server group.
 11677  //
 11678  // Use this operation to update the following types of game server information.
 11679  // You can make all three types of updates in the same request:
 11680  //
 11681  //    * To update the game server's utilization status, identify the game server
 11682  //    and game server group and specify the current utilization status. Use
 11683  //    this status to identify when game servers are currently hosting games
 11684  //    and when they are available to be claimed.
 11685  //
 11686  //    * To report health status, identify the game server and game server group
 11687  //    and set health check to HEALTHY. If a game server does not report health
 11688  //    status for a certain length of time, the game server is no longer considered
 11689  //    healthy. As a result, it will be eventually deregistered from the game
 11690  //    server group to avoid affecting utilization metrics. The best practice
 11691  //    is to report health every 60 seconds.
 11692  //
 11693  //    * To change game server metadata, provide updated game server data.
 11694  //
 11695  // Once a game server is successfully updated, the relevant statuses and timestamps
 11696  // are updated.
 11697  //
 11698  // Learn more
 11699  //
 11700  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
 11701  //
 11702  // Related actions
 11703  //
 11704  // RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
 11705  // | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
 11706  //
 11707  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11708  // with awserr.Error's Code and Message methods to get detailed information about
 11709  // the error.
 11710  //
 11711  // See the AWS API reference guide for Amazon GameLift's
 11712  // API operation UpdateGameServer for usage and error information.
 11713  //
 11714  // Returned Error Types:
 11715  //   * InvalidRequestException
 11716  //   One or more parameter values in the request are invalid. Correct the invalid
 11717  //   parameter values before retrying.
 11718  //
 11719  //   * NotFoundException
 11720  //   A service resource associated with the request could not be found. Clients
 11721  //   should not retry such requests.
 11722  //
 11723  //   * UnauthorizedException
 11724  //   The client failed authentication. Clients should not retry such requests.
 11725  //
 11726  //   * InternalServiceException
 11727  //   The service encountered an unrecoverable internal failure while processing
 11728  //   the request. Clients can retry such requests immediately or after a waiting
 11729  //   period.
 11730  //
 11731  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServer
 11732  func (c *GameLift) UpdateGameServer(input *UpdateGameServerInput) (*UpdateGameServerOutput, error) {
 11733  	req, out := c.UpdateGameServerRequest(input)
 11734  	return out, req.Send()
 11735  }
 11736  
 11737  // UpdateGameServerWithContext is the same as UpdateGameServer with the addition of
 11738  // the ability to pass a context and additional request options.
 11739  //
 11740  // See UpdateGameServer for details on how to use this API operation.
 11741  //
 11742  // The context must be non-nil and will be used for request cancellation. If
 11743  // the context is nil a panic will occur. In the future the SDK may create
 11744  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11745  // for more information on using Contexts.
 11746  func (c *GameLift) UpdateGameServerWithContext(ctx aws.Context, input *UpdateGameServerInput, opts ...request.Option) (*UpdateGameServerOutput, error) {
 11747  	req, out := c.UpdateGameServerRequest(input)
 11748  	req.SetContext(ctx)
 11749  	req.ApplyOptions(opts...)
 11750  	return out, req.Send()
 11751  }
 11752  
 11753  const opUpdateGameServerGroup = "UpdateGameServerGroup"
 11754  
 11755  // UpdateGameServerGroupRequest generates a "aws/request.Request" representing the
 11756  // client's request for the UpdateGameServerGroup operation. The "output" return
 11757  // value will be populated with the request's response once the request completes
 11758  // successfully.
 11759  //
 11760  // Use "Send" method on the returned Request to send the API call to the service.
 11761  // the "output" return value is not valid until after Send returns without error.
 11762  //
 11763  // See UpdateGameServerGroup for more information on using the UpdateGameServerGroup
 11764  // API call, and error handling.
 11765  //
 11766  // This method is useful when you want to inject custom logic or configuration
 11767  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11768  //
 11769  //
 11770  //    // Example sending a request using the UpdateGameServerGroupRequest method.
 11771  //    req, resp := client.UpdateGameServerGroupRequest(params)
 11772  //
 11773  //    err := req.Send()
 11774  //    if err == nil { // resp is now filled
 11775  //        fmt.Println(resp)
 11776  //    }
 11777  //
 11778  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerGroup
 11779  func (c *GameLift) UpdateGameServerGroupRequest(input *UpdateGameServerGroupInput) (req *request.Request, output *UpdateGameServerGroupOutput) {
 11780  	op := &request.Operation{
 11781  		Name:       opUpdateGameServerGroup,
 11782  		HTTPMethod: "POST",
 11783  		HTTPPath:   "/",
 11784  	}
 11785  
 11786  	if input == nil {
 11787  		input = &UpdateGameServerGroupInput{}
 11788  	}
 11789  
 11790  	output = &UpdateGameServerGroupOutput{}
 11791  	req = c.newRequest(op, input, output)
 11792  	return
 11793  }
 11794  
 11795  // UpdateGameServerGroup API operation for Amazon GameLift.
 11796  //
 11797  // This operation is used with the GameLift FleetIQ solution and game server
 11798  // groups.
 11799  //
 11800  // Updates GameLift FleetIQ-specific properties for a game server group. Many
 11801  // Auto Scaling group properties are updated on the Auto Scaling group directly,
 11802  // including the launch template, Auto Scaling policies, and maximum/minimum/desired
 11803  // instance counts.
 11804  //
 11805  // To update the game server group, specify the game server group ID and provide
 11806  // the updated values. Before applying the updates, the new values are validated
 11807  // to ensure that GameLift FleetIQ can continue to perform instance balancing
 11808  // activity. If successful, a GameServerGroup object is returned.
 11809  //
 11810  // Learn more
 11811  //
 11812  // GameLift FleetIQ Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html)
 11813  //
 11814  // Related actions
 11815  //
 11816  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
 11817  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
 11818  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
 11819  //
 11820  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11821  // with awserr.Error's Code and Message methods to get detailed information about
 11822  // the error.
 11823  //
 11824  // See the AWS API reference guide for Amazon GameLift's
 11825  // API operation UpdateGameServerGroup for usage and error information.
 11826  //
 11827  // Returned Error Types:
 11828  //   * InvalidRequestException
 11829  //   One or more parameter values in the request are invalid. Correct the invalid
 11830  //   parameter values before retrying.
 11831  //
 11832  //   * NotFoundException
 11833  //   A service resource associated with the request could not be found. Clients
 11834  //   should not retry such requests.
 11835  //
 11836  //   * UnauthorizedException
 11837  //   The client failed authentication. Clients should not retry such requests.
 11838  //
 11839  //   * InternalServiceException
 11840  //   The service encountered an unrecoverable internal failure while processing
 11841  //   the request. Clients can retry such requests immediately or after a waiting
 11842  //   period.
 11843  //
 11844  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerGroup
 11845  func (c *GameLift) UpdateGameServerGroup(input *UpdateGameServerGroupInput) (*UpdateGameServerGroupOutput, error) {
 11846  	req, out := c.UpdateGameServerGroupRequest(input)
 11847  	return out, req.Send()
 11848  }
 11849  
 11850  // UpdateGameServerGroupWithContext is the same as UpdateGameServerGroup with the addition of
 11851  // the ability to pass a context and additional request options.
 11852  //
 11853  // See UpdateGameServerGroup for details on how to use this API operation.
 11854  //
 11855  // The context must be non-nil and will be used for request cancellation. If
 11856  // the context is nil a panic will occur. In the future the SDK may create
 11857  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11858  // for more information on using Contexts.
 11859  func (c *GameLift) UpdateGameServerGroupWithContext(ctx aws.Context, input *UpdateGameServerGroupInput, opts ...request.Option) (*UpdateGameServerGroupOutput, error) {
 11860  	req, out := c.UpdateGameServerGroupRequest(input)
 11861  	req.SetContext(ctx)
 11862  	req.ApplyOptions(opts...)
 11863  	return out, req.Send()
 11864  }
 11865  
 11866  const opUpdateGameSession = "UpdateGameSession"
 11867  
 11868  // UpdateGameSessionRequest generates a "aws/request.Request" representing the
 11869  // client's request for the UpdateGameSession operation. The "output" return
 11870  // value will be populated with the request's response once the request completes
 11871  // successfully.
 11872  //
 11873  // Use "Send" method on the returned Request to send the API call to the service.
 11874  // the "output" return value is not valid until after Send returns without error.
 11875  //
 11876  // See UpdateGameSession for more information on using the UpdateGameSession
 11877  // API call, and error handling.
 11878  //
 11879  // This method is useful when you want to inject custom logic or configuration
 11880  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11881  //
 11882  //
 11883  //    // Example sending a request using the UpdateGameSessionRequest method.
 11884  //    req, resp := client.UpdateGameSessionRequest(params)
 11885  //
 11886  //    err := req.Send()
 11887  //    if err == nil { // resp is now filled
 11888  //        fmt.Println(resp)
 11889  //    }
 11890  //
 11891  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
 11892  func (c *GameLift) UpdateGameSessionRequest(input *UpdateGameSessionInput) (req *request.Request, output *UpdateGameSessionOutput) {
 11893  	op := &request.Operation{
 11894  		Name:       opUpdateGameSession,
 11895  		HTTPMethod: "POST",
 11896  		HTTPPath:   "/",
 11897  	}
 11898  
 11899  	if input == nil {
 11900  		input = &UpdateGameSessionInput{}
 11901  	}
 11902  
 11903  	output = &UpdateGameSessionOutput{}
 11904  	req = c.newRequest(op, input, output)
 11905  	return
 11906  }
 11907  
 11908  // UpdateGameSession API operation for Amazon GameLift.
 11909  //
 11910  // Updates the mutable properties of a game session.
 11911  //
 11912  // To update a game session, specify the game session ID and the values you
 11913  // want to change.
 11914  //
 11915  // If successful, the updated GameSession object is returned.
 11916  //
 11917  // Related actions
 11918  //
 11919  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
 11920  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
 11921  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
 11922  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 11923  //
 11924  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11925  // with awserr.Error's Code and Message methods to get detailed information about
 11926  // the error.
 11927  //
 11928  // See the AWS API reference guide for Amazon GameLift's
 11929  // API operation UpdateGameSession for usage and error information.
 11930  //
 11931  // Returned Error Types:
 11932  //   * NotFoundException
 11933  //   A service resource associated with the request could not be found. Clients
 11934  //   should not retry such requests.
 11935  //
 11936  //   * ConflictException
 11937  //   The requested operation would cause a conflict with the current state of
 11938  //   a service resource associated with the request. Resolve the conflict before
 11939  //   retrying this request.
 11940  //
 11941  //   * InternalServiceException
 11942  //   The service encountered an unrecoverable internal failure while processing
 11943  //   the request. Clients can retry such requests immediately or after a waiting
 11944  //   period.
 11945  //
 11946  //   * UnauthorizedException
 11947  //   The client failed authentication. Clients should not retry such requests.
 11948  //
 11949  //   * InvalidGameSessionStatusException
 11950  //   The requested operation would cause a conflict with the current state of
 11951  //   a resource associated with the request and/or the game instance. Resolve
 11952  //   the conflict before retrying.
 11953  //
 11954  //   * InvalidRequestException
 11955  //   One or more parameter values in the request are invalid. Correct the invalid
 11956  //   parameter values before retrying.
 11957  //
 11958  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSession
 11959  func (c *GameLift) UpdateGameSession(input *UpdateGameSessionInput) (*UpdateGameSessionOutput, error) {
 11960  	req, out := c.UpdateGameSessionRequest(input)
 11961  	return out, req.Send()
 11962  }
 11963  
 11964  // UpdateGameSessionWithContext is the same as UpdateGameSession with the addition of
 11965  // the ability to pass a context and additional request options.
 11966  //
 11967  // See UpdateGameSession for details on how to use this API operation.
 11968  //
 11969  // The context must be non-nil and will be used for request cancellation. If
 11970  // the context is nil a panic will occur. In the future the SDK may create
 11971  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11972  // for more information on using Contexts.
 11973  func (c *GameLift) UpdateGameSessionWithContext(ctx aws.Context, input *UpdateGameSessionInput, opts ...request.Option) (*UpdateGameSessionOutput, error) {
 11974  	req, out := c.UpdateGameSessionRequest(input)
 11975  	req.SetContext(ctx)
 11976  	req.ApplyOptions(opts...)
 11977  	return out, req.Send()
 11978  }
 11979  
 11980  const opUpdateGameSessionQueue = "UpdateGameSessionQueue"
 11981  
 11982  // UpdateGameSessionQueueRequest generates a "aws/request.Request" representing the
 11983  // client's request for the UpdateGameSessionQueue operation. The "output" return
 11984  // value will be populated with the request's response once the request completes
 11985  // successfully.
 11986  //
 11987  // Use "Send" method on the returned Request to send the API call to the service.
 11988  // the "output" return value is not valid until after Send returns without error.
 11989  //
 11990  // See UpdateGameSessionQueue for more information on using the UpdateGameSessionQueue
 11991  // API call, and error handling.
 11992  //
 11993  // This method is useful when you want to inject custom logic or configuration
 11994  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11995  //
 11996  //
 11997  //    // Example sending a request using the UpdateGameSessionQueueRequest method.
 11998  //    req, resp := client.UpdateGameSessionQueueRequest(params)
 11999  //
 12000  //    err := req.Send()
 12001  //    if err == nil { // resp is now filled
 12002  //        fmt.Println(resp)
 12003  //    }
 12004  //
 12005  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
 12006  func (c *GameLift) UpdateGameSessionQueueRequest(input *UpdateGameSessionQueueInput) (req *request.Request, output *UpdateGameSessionQueueOutput) {
 12007  	op := &request.Operation{
 12008  		Name:       opUpdateGameSessionQueue,
 12009  		HTTPMethod: "POST",
 12010  		HTTPPath:   "/",
 12011  	}
 12012  
 12013  	if input == nil {
 12014  		input = &UpdateGameSessionQueueInput{}
 12015  	}
 12016  
 12017  	output = &UpdateGameSessionQueueOutput{}
 12018  	req = c.newRequest(op, input, output)
 12019  	return
 12020  }
 12021  
 12022  // UpdateGameSessionQueue API operation for Amazon GameLift.
 12023  //
 12024  // Updates the configuration of a game session queue, which determines how the
 12025  // queue processes new game session requests. To update settings, specify the
 12026  // queue name to be updated and provide the new settings. When updating destinations,
 12027  // provide a complete list of destinations.
 12028  //
 12029  // Learn more
 12030  //
 12031  //  Using Multi-Region Queues (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html)
 12032  //
 12033  // Related actions
 12034  //
 12035  // CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
 12036  // | DeleteGameSessionQueue | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 12037  //
 12038  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12039  // with awserr.Error's Code and Message methods to get detailed information about
 12040  // the error.
 12041  //
 12042  // See the AWS API reference guide for Amazon GameLift's
 12043  // API operation UpdateGameSessionQueue for usage and error information.
 12044  //
 12045  // Returned Error Types:
 12046  //   * InternalServiceException
 12047  //   The service encountered an unrecoverable internal failure while processing
 12048  //   the request. Clients can retry such requests immediately or after a waiting
 12049  //   period.
 12050  //
 12051  //   * InvalidRequestException
 12052  //   One or more parameter values in the request are invalid. Correct the invalid
 12053  //   parameter values before retrying.
 12054  //
 12055  //   * NotFoundException
 12056  //   A service resource associated with the request could not be found. Clients
 12057  //   should not retry such requests.
 12058  //
 12059  //   * UnauthorizedException
 12060  //   The client failed authentication. Clients should not retry such requests.
 12061  //
 12062  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueue
 12063  func (c *GameLift) UpdateGameSessionQueue(input *UpdateGameSessionQueueInput) (*UpdateGameSessionQueueOutput, error) {
 12064  	req, out := c.UpdateGameSessionQueueRequest(input)
 12065  	return out, req.Send()
 12066  }
 12067  
 12068  // UpdateGameSessionQueueWithContext is the same as UpdateGameSessionQueue with the addition of
 12069  // the ability to pass a context and additional request options.
 12070  //
 12071  // See UpdateGameSessionQueue for details on how to use this API operation.
 12072  //
 12073  // The context must be non-nil and will be used for request cancellation. If
 12074  // the context is nil a panic will occur. In the future the SDK may create
 12075  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12076  // for more information on using Contexts.
 12077  func (c *GameLift) UpdateGameSessionQueueWithContext(ctx aws.Context, input *UpdateGameSessionQueueInput, opts ...request.Option) (*UpdateGameSessionQueueOutput, error) {
 12078  	req, out := c.UpdateGameSessionQueueRequest(input)
 12079  	req.SetContext(ctx)
 12080  	req.ApplyOptions(opts...)
 12081  	return out, req.Send()
 12082  }
 12083  
 12084  const opUpdateMatchmakingConfiguration = "UpdateMatchmakingConfiguration"
 12085  
 12086  // UpdateMatchmakingConfigurationRequest generates a "aws/request.Request" representing the
 12087  // client's request for the UpdateMatchmakingConfiguration operation. The "output" return
 12088  // value will be populated with the request's response once the request completes
 12089  // successfully.
 12090  //
 12091  // Use "Send" method on the returned Request to send the API call to the service.
 12092  // the "output" return value is not valid until after Send returns without error.
 12093  //
 12094  // See UpdateMatchmakingConfiguration for more information on using the UpdateMatchmakingConfiguration
 12095  // API call, and error handling.
 12096  //
 12097  // This method is useful when you want to inject custom logic or configuration
 12098  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12099  //
 12100  //
 12101  //    // Example sending a request using the UpdateMatchmakingConfigurationRequest method.
 12102  //    req, resp := client.UpdateMatchmakingConfigurationRequest(params)
 12103  //
 12104  //    err := req.Send()
 12105  //    if err == nil { // resp is now filled
 12106  //        fmt.Println(resp)
 12107  //    }
 12108  //
 12109  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
 12110  func (c *GameLift) UpdateMatchmakingConfigurationRequest(input *UpdateMatchmakingConfigurationInput) (req *request.Request, output *UpdateMatchmakingConfigurationOutput) {
 12111  	op := &request.Operation{
 12112  		Name:       opUpdateMatchmakingConfiguration,
 12113  		HTTPMethod: "POST",
 12114  		HTTPPath:   "/",
 12115  	}
 12116  
 12117  	if input == nil {
 12118  		input = &UpdateMatchmakingConfigurationInput{}
 12119  	}
 12120  
 12121  	output = &UpdateMatchmakingConfigurationOutput{}
 12122  	req = c.newRequest(op, input, output)
 12123  	return
 12124  }
 12125  
 12126  // UpdateMatchmakingConfiguration API operation for Amazon GameLift.
 12127  //
 12128  // Updates settings for a FlexMatch matchmaking configuration. These changes
 12129  // affect all matches and game sessions that are created after the update. To
 12130  // update settings, specify the configuration name to be updated and provide
 12131  // the new settings.
 12132  //
 12133  // Learn more
 12134  //
 12135  //  Design a FlexMatch matchmaker (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-configuration.html)
 12136  //
 12137  // Related actions
 12138  //
 12139  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
 12140  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
 12141  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
 12142  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 12143  //
 12144  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12145  // with awserr.Error's Code and Message methods to get detailed information about
 12146  // the error.
 12147  //
 12148  // See the AWS API reference guide for Amazon GameLift's
 12149  // API operation UpdateMatchmakingConfiguration for usage and error information.
 12150  //
 12151  // Returned Error Types:
 12152  //   * InvalidRequestException
 12153  //   One or more parameter values in the request are invalid. Correct the invalid
 12154  //   parameter values before retrying.
 12155  //
 12156  //   * NotFoundException
 12157  //   A service resource associated with the request could not be found. Clients
 12158  //   should not retry such requests.
 12159  //
 12160  //   * InternalServiceException
 12161  //   The service encountered an unrecoverable internal failure while processing
 12162  //   the request. Clients can retry such requests immediately or after a waiting
 12163  //   period.
 12164  //
 12165  //   * UnsupportedRegionException
 12166  //   The requested operation is not supported in the Region specified.
 12167  //
 12168  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateMatchmakingConfiguration
 12169  func (c *GameLift) UpdateMatchmakingConfiguration(input *UpdateMatchmakingConfigurationInput) (*UpdateMatchmakingConfigurationOutput, error) {
 12170  	req, out := c.UpdateMatchmakingConfigurationRequest(input)
 12171  	return out, req.Send()
 12172  }
 12173  
 12174  // UpdateMatchmakingConfigurationWithContext is the same as UpdateMatchmakingConfiguration with the addition of
 12175  // the ability to pass a context and additional request options.
 12176  //
 12177  // See UpdateMatchmakingConfiguration for details on how to use this API operation.
 12178  //
 12179  // The context must be non-nil and will be used for request cancellation. If
 12180  // the context is nil a panic will occur. In the future the SDK may create
 12181  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12182  // for more information on using Contexts.
 12183  func (c *GameLift) UpdateMatchmakingConfigurationWithContext(ctx aws.Context, input *UpdateMatchmakingConfigurationInput, opts ...request.Option) (*UpdateMatchmakingConfigurationOutput, error) {
 12184  	req, out := c.UpdateMatchmakingConfigurationRequest(input)
 12185  	req.SetContext(ctx)
 12186  	req.ApplyOptions(opts...)
 12187  	return out, req.Send()
 12188  }
 12189  
 12190  const opUpdateRuntimeConfiguration = "UpdateRuntimeConfiguration"
 12191  
 12192  // UpdateRuntimeConfigurationRequest generates a "aws/request.Request" representing the
 12193  // client's request for the UpdateRuntimeConfiguration operation. The "output" return
 12194  // value will be populated with the request's response once the request completes
 12195  // successfully.
 12196  //
 12197  // Use "Send" method on the returned Request to send the API call to the service.
 12198  // the "output" return value is not valid until after Send returns without error.
 12199  //
 12200  // See UpdateRuntimeConfiguration for more information on using the UpdateRuntimeConfiguration
 12201  // API call, and error handling.
 12202  //
 12203  // This method is useful when you want to inject custom logic or configuration
 12204  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12205  //
 12206  //
 12207  //    // Example sending a request using the UpdateRuntimeConfigurationRequest method.
 12208  //    req, resp := client.UpdateRuntimeConfigurationRequest(params)
 12209  //
 12210  //    err := req.Send()
 12211  //    if err == nil { // resp is now filled
 12212  //        fmt.Println(resp)
 12213  //    }
 12214  //
 12215  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
 12216  func (c *GameLift) UpdateRuntimeConfigurationRequest(input *UpdateRuntimeConfigurationInput) (req *request.Request, output *UpdateRuntimeConfigurationOutput) {
 12217  	op := &request.Operation{
 12218  		Name:       opUpdateRuntimeConfiguration,
 12219  		HTTPMethod: "POST",
 12220  		HTTPPath:   "/",
 12221  	}
 12222  
 12223  	if input == nil {
 12224  		input = &UpdateRuntimeConfigurationInput{}
 12225  	}
 12226  
 12227  	output = &UpdateRuntimeConfigurationOutput{}
 12228  	req = c.newRequest(op, input, output)
 12229  	return
 12230  }
 12231  
 12232  // UpdateRuntimeConfiguration API operation for Amazon GameLift.
 12233  //
 12234  // Updates the current runtime configuration for the specified fleet, which
 12235  // tells GameLift how to launch server processes on all instances in the fleet.
 12236  // You can update a fleet's runtime configuration at any time after the fleet
 12237  // is created; it does not need to be in ACTIVE status.
 12238  //
 12239  // To update runtime configuration, specify the fleet ID and provide a RuntimeConfiguration
 12240  // with an updated set of server process configurations.
 12241  //
 12242  // If successful, the fleet's runtime configuration settings are updated. Each
 12243  // instance in the fleet regularly checks for and retrieves updated runtime
 12244  // configurations. Instances immediately begin complying with the new configuration
 12245  // by launching new server processes or not replacing existing processes when
 12246  // they shut down. Updating a fleet's runtime configuration never affects existing
 12247  // server processes.
 12248  //
 12249  // Learn more
 12250  //
 12251  // Setting up GameLift fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html)
 12252  //
 12253  // Related actions
 12254  //
 12255  // CreateFleetLocations | UpdateFleetAttributes | UpdateFleetCapacity | UpdateFleetPortSettings
 12256  // | UpdateRuntimeConfiguration | StopFleetActions | StartFleetActions | PutScalingPolicy
 12257  // | DeleteFleet | DeleteFleetLocations | DeleteScalingPolicy | All APIs by
 12258  // task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 12259  //
 12260  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12261  // with awserr.Error's Code and Message methods to get detailed information about
 12262  // the error.
 12263  //
 12264  // See the AWS API reference guide for Amazon GameLift's
 12265  // API operation UpdateRuntimeConfiguration for usage and error information.
 12266  //
 12267  // Returned Error Types:
 12268  //   * UnauthorizedException
 12269  //   The client failed authentication. Clients should not retry such requests.
 12270  //
 12271  //   * NotFoundException
 12272  //   A service resource associated with the request could not be found. Clients
 12273  //   should not retry such requests.
 12274  //
 12275  //   * InternalServiceException
 12276  //   The service encountered an unrecoverable internal failure while processing
 12277  //   the request. Clients can retry such requests immediately or after a waiting
 12278  //   period.
 12279  //
 12280  //   * InvalidRequestException
 12281  //   One or more parameter values in the request are invalid. Correct the invalid
 12282  //   parameter values before retrying.
 12283  //
 12284  //   * InvalidFleetStatusException
 12285  //   The requested operation would cause a conflict with the current state of
 12286  //   a resource associated with the request and/or the fleet. Resolve the conflict
 12287  //   before retrying.
 12288  //
 12289  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateRuntimeConfiguration
 12290  func (c *GameLift) UpdateRuntimeConfiguration(input *UpdateRuntimeConfigurationInput) (*UpdateRuntimeConfigurationOutput, error) {
 12291  	req, out := c.UpdateRuntimeConfigurationRequest(input)
 12292  	return out, req.Send()
 12293  }
 12294  
 12295  // UpdateRuntimeConfigurationWithContext is the same as UpdateRuntimeConfiguration with the addition of
 12296  // the ability to pass a context and additional request options.
 12297  //
 12298  // See UpdateRuntimeConfiguration for details on how to use this API operation.
 12299  //
 12300  // The context must be non-nil and will be used for request cancellation. If
 12301  // the context is nil a panic will occur. In the future the SDK may create
 12302  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12303  // for more information on using Contexts.
 12304  func (c *GameLift) UpdateRuntimeConfigurationWithContext(ctx aws.Context, input *UpdateRuntimeConfigurationInput, opts ...request.Option) (*UpdateRuntimeConfigurationOutput, error) {
 12305  	req, out := c.UpdateRuntimeConfigurationRequest(input)
 12306  	req.SetContext(ctx)
 12307  	req.ApplyOptions(opts...)
 12308  	return out, req.Send()
 12309  }
 12310  
 12311  const opUpdateScript = "UpdateScript"
 12312  
 12313  // UpdateScriptRequest generates a "aws/request.Request" representing the
 12314  // client's request for the UpdateScript operation. The "output" return
 12315  // value will be populated with the request's response once the request completes
 12316  // successfully.
 12317  //
 12318  // Use "Send" method on the returned Request to send the API call to the service.
 12319  // the "output" return value is not valid until after Send returns without error.
 12320  //
 12321  // See UpdateScript for more information on using the UpdateScript
 12322  // API call, and error handling.
 12323  //
 12324  // This method is useful when you want to inject custom logic or configuration
 12325  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12326  //
 12327  //
 12328  //    // Example sending a request using the UpdateScriptRequest method.
 12329  //    req, resp := client.UpdateScriptRequest(params)
 12330  //
 12331  //    err := req.Send()
 12332  //    if err == nil { // resp is now filled
 12333  //        fmt.Println(resp)
 12334  //    }
 12335  //
 12336  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateScript
 12337  func (c *GameLift) UpdateScriptRequest(input *UpdateScriptInput) (req *request.Request, output *UpdateScriptOutput) {
 12338  	op := &request.Operation{
 12339  		Name:       opUpdateScript,
 12340  		HTTPMethod: "POST",
 12341  		HTTPPath:   "/",
 12342  	}
 12343  
 12344  	if input == nil {
 12345  		input = &UpdateScriptInput{}
 12346  	}
 12347  
 12348  	output = &UpdateScriptOutput{}
 12349  	req = c.newRequest(op, input, output)
 12350  	return
 12351  }
 12352  
 12353  // UpdateScript API operation for Amazon GameLift.
 12354  //
 12355  // Updates Realtime script metadata and content.
 12356  //
 12357  // To update script metadata, specify the script ID and provide updated name
 12358  // and/or version values.
 12359  //
 12360  // To update script content, provide an updated zip file by pointing to either
 12361  // a local file or an Amazon S3 bucket location. You can use either method regardless
 12362  // of how the original script was uploaded. Use the Version parameter to track
 12363  // updates to the script.
 12364  //
 12365  // If the call is successful, the updated metadata is stored in the script record
 12366  // and a revised script is uploaded to the Amazon GameLift service. Once the
 12367  // script is updated and acquired by a fleet instance, the new version is used
 12368  // for all new game sessions.
 12369  //
 12370  // Learn more
 12371  //
 12372  // Amazon GameLift Realtime Servers (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)
 12373  //
 12374  // Related actions
 12375  //
 12376  // CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
 12377  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 12378  //
 12379  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12380  // with awserr.Error's Code and Message methods to get detailed information about
 12381  // the error.
 12382  //
 12383  // See the AWS API reference guide for Amazon GameLift's
 12384  // API operation UpdateScript for usage and error information.
 12385  //
 12386  // Returned Error Types:
 12387  //   * UnauthorizedException
 12388  //   The client failed authentication. Clients should not retry such requests.
 12389  //
 12390  //   * InvalidRequestException
 12391  //   One or more parameter values in the request are invalid. Correct the invalid
 12392  //   parameter values before retrying.
 12393  //
 12394  //   * NotFoundException
 12395  //   A service resource associated with the request could not be found. Clients
 12396  //   should not retry such requests.
 12397  //
 12398  //   * InternalServiceException
 12399  //   The service encountered an unrecoverable internal failure while processing
 12400  //   the request. Clients can retry such requests immediately or after a waiting
 12401  //   period.
 12402  //
 12403  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateScript
 12404  func (c *GameLift) UpdateScript(input *UpdateScriptInput) (*UpdateScriptOutput, error) {
 12405  	req, out := c.UpdateScriptRequest(input)
 12406  	return out, req.Send()
 12407  }
 12408  
 12409  // UpdateScriptWithContext is the same as UpdateScript with the addition of
 12410  // the ability to pass a context and additional request options.
 12411  //
 12412  // See UpdateScript for details on how to use this API operation.
 12413  //
 12414  // The context must be non-nil and will be used for request cancellation. If
 12415  // the context is nil a panic will occur. In the future the SDK may create
 12416  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12417  // for more information on using Contexts.
 12418  func (c *GameLift) UpdateScriptWithContext(ctx aws.Context, input *UpdateScriptInput, opts ...request.Option) (*UpdateScriptOutput, error) {
 12419  	req, out := c.UpdateScriptRequest(input)
 12420  	req.SetContext(ctx)
 12421  	req.ApplyOptions(opts...)
 12422  	return out, req.Send()
 12423  }
 12424  
 12425  const opValidateMatchmakingRuleSet = "ValidateMatchmakingRuleSet"
 12426  
 12427  // ValidateMatchmakingRuleSetRequest generates a "aws/request.Request" representing the
 12428  // client's request for the ValidateMatchmakingRuleSet operation. The "output" return
 12429  // value will be populated with the request's response once the request completes
 12430  // successfully.
 12431  //
 12432  // Use "Send" method on the returned Request to send the API call to the service.
 12433  // the "output" return value is not valid until after Send returns without error.
 12434  //
 12435  // See ValidateMatchmakingRuleSet for more information on using the ValidateMatchmakingRuleSet
 12436  // API call, and error handling.
 12437  //
 12438  // This method is useful when you want to inject custom logic or configuration
 12439  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12440  //
 12441  //
 12442  //    // Example sending a request using the ValidateMatchmakingRuleSetRequest method.
 12443  //    req, resp := client.ValidateMatchmakingRuleSetRequest(params)
 12444  //
 12445  //    err := req.Send()
 12446  //    if err == nil { // resp is now filled
 12447  //        fmt.Println(resp)
 12448  //    }
 12449  //
 12450  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
 12451  func (c *GameLift) ValidateMatchmakingRuleSetRequest(input *ValidateMatchmakingRuleSetInput) (req *request.Request, output *ValidateMatchmakingRuleSetOutput) {
 12452  	op := &request.Operation{
 12453  		Name:       opValidateMatchmakingRuleSet,
 12454  		HTTPMethod: "POST",
 12455  		HTTPPath:   "/",
 12456  	}
 12457  
 12458  	if input == nil {
 12459  		input = &ValidateMatchmakingRuleSetInput{}
 12460  	}
 12461  
 12462  	output = &ValidateMatchmakingRuleSetOutput{}
 12463  	req = c.newRequest(op, input, output)
 12464  	return
 12465  }
 12466  
 12467  // ValidateMatchmakingRuleSet API operation for Amazon GameLift.
 12468  //
 12469  // Validates the syntax of a matchmaking rule or rule set. This operation checks
 12470  // that the rule set is using syntactically correct JSON and that it conforms
 12471  // to allowed property expressions. To validate syntax, provide a rule set JSON
 12472  // string.
 12473  //
 12474  // Learn more
 12475  //
 12476  //    * Build a rule set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html)
 12477  //
 12478  // Related actions
 12479  //
 12480  // CreateMatchmakingConfiguration | DescribeMatchmakingConfigurations | UpdateMatchmakingConfiguration
 12481  // | DeleteMatchmakingConfiguration | CreateMatchmakingRuleSet | DescribeMatchmakingRuleSets
 12482  // | ValidateMatchmakingRuleSet | DeleteMatchmakingRuleSet | All APIs by task
 12483  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 12484  //
 12485  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12486  // with awserr.Error's Code and Message methods to get detailed information about
 12487  // the error.
 12488  //
 12489  // See the AWS API reference guide for Amazon GameLift's
 12490  // API operation ValidateMatchmakingRuleSet for usage and error information.
 12491  //
 12492  // Returned Error Types:
 12493  //   * InternalServiceException
 12494  //   The service encountered an unrecoverable internal failure while processing
 12495  //   the request. Clients can retry such requests immediately or after a waiting
 12496  //   period.
 12497  //
 12498  //   * UnsupportedRegionException
 12499  //   The requested operation is not supported in the Region specified.
 12500  //
 12501  //   * InvalidRequestException
 12502  //   One or more parameter values in the request are invalid. Correct the invalid
 12503  //   parameter values before retrying.
 12504  //
 12505  // See also, https://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ValidateMatchmakingRuleSet
 12506  func (c *GameLift) ValidateMatchmakingRuleSet(input *ValidateMatchmakingRuleSetInput) (*ValidateMatchmakingRuleSetOutput, error) {
 12507  	req, out := c.ValidateMatchmakingRuleSetRequest(input)
 12508  	return out, req.Send()
 12509  }
 12510  
 12511  // ValidateMatchmakingRuleSetWithContext is the same as ValidateMatchmakingRuleSet with the addition of
 12512  // the ability to pass a context and additional request options.
 12513  //
 12514  // See ValidateMatchmakingRuleSet for details on how to use this API operation.
 12515  //
 12516  // The context must be non-nil and will be used for request cancellation. If
 12517  // the context is nil a panic will occur. In the future the SDK may create
 12518  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12519  // for more information on using Contexts.
 12520  func (c *GameLift) ValidateMatchmakingRuleSetWithContext(ctx aws.Context, input *ValidateMatchmakingRuleSetInput, opts ...request.Option) (*ValidateMatchmakingRuleSetOutput, error) {
 12521  	req, out := c.ValidateMatchmakingRuleSetRequest(input)
 12522  	req.SetContext(ctx)
 12523  	req.ApplyOptions(opts...)
 12524  	return out, req.Send()
 12525  }
 12526  
 12527  // Represents the input for a request operation.
 12528  type AcceptMatchInput struct {
 12529  	_ struct{} `type:"structure"`
 12530  
 12531  	// Player response to the proposed match.
 12532  	//
 12533  	// AcceptanceType is a required field
 12534  	AcceptanceType *string `type:"string" required:"true" enum:"AcceptanceType"`
 12535  
 12536  	// A unique identifier for a player delivering the response. This parameter
 12537  	// can include one or multiple player IDs.
 12538  	//
 12539  	// PlayerIds is a required field
 12540  	PlayerIds []*string `type:"list" required:"true"`
 12541  
 12542  	// A unique identifier for a matchmaking ticket. The ticket must be in status
 12543  	// REQUIRES_ACCEPTANCE; otherwise this request will fail.
 12544  	//
 12545  	// TicketId is a required field
 12546  	TicketId *string `type:"string" required:"true"`
 12547  }
 12548  
 12549  // String returns the string representation.
 12550  //
 12551  // API parameter values that are decorated as "sensitive" in the API will not
 12552  // be included in the string output. The member name will be present, but the
 12553  // value will be replaced with "sensitive".
 12554  func (s AcceptMatchInput) String() string {
 12555  	return awsutil.Prettify(s)
 12556  }
 12557  
 12558  // GoString returns the string representation.
 12559  //
 12560  // API parameter values that are decorated as "sensitive" in the API will not
 12561  // be included in the string output. The member name will be present, but the
 12562  // value will be replaced with "sensitive".
 12563  func (s AcceptMatchInput) GoString() string {
 12564  	return s.String()
 12565  }
 12566  
 12567  // Validate inspects the fields of the type to determine if they are valid.
 12568  func (s *AcceptMatchInput) Validate() error {
 12569  	invalidParams := request.ErrInvalidParams{Context: "AcceptMatchInput"}
 12570  	if s.AcceptanceType == nil {
 12571  		invalidParams.Add(request.NewErrParamRequired("AcceptanceType"))
 12572  	}
 12573  	if s.PlayerIds == nil {
 12574  		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
 12575  	}
 12576  	if s.TicketId == nil {
 12577  		invalidParams.Add(request.NewErrParamRequired("TicketId"))
 12578  	}
 12579  
 12580  	if invalidParams.Len() > 0 {
 12581  		return invalidParams
 12582  	}
 12583  	return nil
 12584  }
 12585  
 12586  // SetAcceptanceType sets the AcceptanceType field's value.
 12587  func (s *AcceptMatchInput) SetAcceptanceType(v string) *AcceptMatchInput {
 12588  	s.AcceptanceType = &v
 12589  	return s
 12590  }
 12591  
 12592  // SetPlayerIds sets the PlayerIds field's value.
 12593  func (s *AcceptMatchInput) SetPlayerIds(v []*string) *AcceptMatchInput {
 12594  	s.PlayerIds = v
 12595  	return s
 12596  }
 12597  
 12598  // SetTicketId sets the TicketId field's value.
 12599  func (s *AcceptMatchInput) SetTicketId(v string) *AcceptMatchInput {
 12600  	s.TicketId = &v
 12601  	return s
 12602  }
 12603  
 12604  type AcceptMatchOutput struct {
 12605  	_ struct{} `type:"structure"`
 12606  }
 12607  
 12608  // String returns the string representation.
 12609  //
 12610  // API parameter values that are decorated as "sensitive" in the API will not
 12611  // be included in the string output. The member name will be present, but the
 12612  // value will be replaced with "sensitive".
 12613  func (s AcceptMatchOutput) String() string {
 12614  	return awsutil.Prettify(s)
 12615  }
 12616  
 12617  // GoString returns the string representation.
 12618  //
 12619  // API parameter values that are decorated as "sensitive" in the API will not
 12620  // be included in the string output. The member name will be present, but the
 12621  // value will be replaced with "sensitive".
 12622  func (s AcceptMatchOutput) GoString() string {
 12623  	return s.String()
 12624  }
 12625  
 12626  // Properties that describe an alias resource.
 12627  //
 12628  // Related actions
 12629  //
 12630  // CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
 12631  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 12632  type Alias struct {
 12633  	_ struct{} `type:"structure"`
 12634  
 12635  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 12636  	// that is assigned to a GameLift alias resource and uniquely identifies it.
 12637  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::alias/alias-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 12638  	// In a GameLift alias ARN, the resource ID matches the alias ID value.
 12639  	AliasArn *string `type:"string"`
 12640  
 12641  	// A unique identifier for the alias. Alias IDs are unique within a Region.
 12642  	AliasId *string `type:"string"`
 12643  
 12644  	// A time stamp indicating when this data object was created. Format is a number
 12645  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 12646  	CreationTime *time.Time `type:"timestamp"`
 12647  
 12648  	// A human-readable description of an alias.
 12649  	Description *string `type:"string"`
 12650  
 12651  	// The time that this data object was last modified. Format is a number expressed
 12652  	// in Unix time as milliseconds (for example "1469498468.057").
 12653  	LastUpdatedTime *time.Time `type:"timestamp"`
 12654  
 12655  	// A descriptive label that is associated with an alias. Alias names do not
 12656  	// need to be unique.
 12657  	Name *string `min:"1" type:"string"`
 12658  
 12659  	// The routing configuration, including routing type and fleet target, for the
 12660  	// alias.
 12661  	RoutingStrategy *RoutingStrategy `type:"structure"`
 12662  }
 12663  
 12664  // String returns the string representation.
 12665  //
 12666  // API parameter values that are decorated as "sensitive" in the API will not
 12667  // be included in the string output. The member name will be present, but the
 12668  // value will be replaced with "sensitive".
 12669  func (s Alias) String() string {
 12670  	return awsutil.Prettify(s)
 12671  }
 12672  
 12673  // GoString returns the string representation.
 12674  //
 12675  // API parameter values that are decorated as "sensitive" in the API will not
 12676  // be included in the string output. The member name will be present, but the
 12677  // value will be replaced with "sensitive".
 12678  func (s Alias) GoString() string {
 12679  	return s.String()
 12680  }
 12681  
 12682  // SetAliasArn sets the AliasArn field's value.
 12683  func (s *Alias) SetAliasArn(v string) *Alias {
 12684  	s.AliasArn = &v
 12685  	return s
 12686  }
 12687  
 12688  // SetAliasId sets the AliasId field's value.
 12689  func (s *Alias) SetAliasId(v string) *Alias {
 12690  	s.AliasId = &v
 12691  	return s
 12692  }
 12693  
 12694  // SetCreationTime sets the CreationTime field's value.
 12695  func (s *Alias) SetCreationTime(v time.Time) *Alias {
 12696  	s.CreationTime = &v
 12697  	return s
 12698  }
 12699  
 12700  // SetDescription sets the Description field's value.
 12701  func (s *Alias) SetDescription(v string) *Alias {
 12702  	s.Description = &v
 12703  	return s
 12704  }
 12705  
 12706  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
 12707  func (s *Alias) SetLastUpdatedTime(v time.Time) *Alias {
 12708  	s.LastUpdatedTime = &v
 12709  	return s
 12710  }
 12711  
 12712  // SetName sets the Name field's value.
 12713  func (s *Alias) SetName(v string) *Alias {
 12714  	s.Name = &v
 12715  	return s
 12716  }
 12717  
 12718  // SetRoutingStrategy sets the RoutingStrategy field's value.
 12719  func (s *Alias) SetRoutingStrategy(v *RoutingStrategy) *Alias {
 12720  	s.RoutingStrategy = v
 12721  	return s
 12722  }
 12723  
 12724  // Values for use in Player attribute key-value pairs. This object lets you
 12725  // specify an attribute value using any of the valid data types: string, number,
 12726  // string array, or data map. Each AttributeValue object can use only one of
 12727  // the available properties.
 12728  type AttributeValue struct {
 12729  	_ struct{} `type:"structure"`
 12730  
 12731  	// For number values, expressed as double.
 12732  	N *float64 `type:"double"`
 12733  
 12734  	// For single string values. Maximum string length is 100 characters.
 12735  	S *string `min:"1" type:"string"`
 12736  
 12737  	// For a map of up to 10 data type:value pairs. Maximum length for each string
 12738  	// value is 100 characters.
 12739  	SDM map[string]*float64 `type:"map"`
 12740  
 12741  	// For a list of up to 10 strings. Maximum length for each string is 100 characters.
 12742  	// Duplicate values are not recognized; all occurrences of the repeated value
 12743  	// after the first of a repeated value are ignored.
 12744  	SL []*string `type:"list"`
 12745  }
 12746  
 12747  // String returns the string representation.
 12748  //
 12749  // API parameter values that are decorated as "sensitive" in the API will not
 12750  // be included in the string output. The member name will be present, but the
 12751  // value will be replaced with "sensitive".
 12752  func (s AttributeValue) String() string {
 12753  	return awsutil.Prettify(s)
 12754  }
 12755  
 12756  // GoString returns the string representation.
 12757  //
 12758  // API parameter values that are decorated as "sensitive" in the API will not
 12759  // be included in the string output. The member name will be present, but the
 12760  // value will be replaced with "sensitive".
 12761  func (s AttributeValue) GoString() string {
 12762  	return s.String()
 12763  }
 12764  
 12765  // Validate inspects the fields of the type to determine if they are valid.
 12766  func (s *AttributeValue) Validate() error {
 12767  	invalidParams := request.ErrInvalidParams{Context: "AttributeValue"}
 12768  	if s.S != nil && len(*s.S) < 1 {
 12769  		invalidParams.Add(request.NewErrParamMinLen("S", 1))
 12770  	}
 12771  
 12772  	if invalidParams.Len() > 0 {
 12773  		return invalidParams
 12774  	}
 12775  	return nil
 12776  }
 12777  
 12778  // SetN sets the N field's value.
 12779  func (s *AttributeValue) SetN(v float64) *AttributeValue {
 12780  	s.N = &v
 12781  	return s
 12782  }
 12783  
 12784  // SetS sets the S field's value.
 12785  func (s *AttributeValue) SetS(v string) *AttributeValue {
 12786  	s.S = &v
 12787  	return s
 12788  }
 12789  
 12790  // SetSDM sets the SDM field's value.
 12791  func (s *AttributeValue) SetSDM(v map[string]*float64) *AttributeValue {
 12792  	s.SDM = v
 12793  	return s
 12794  }
 12795  
 12796  // SetSL sets the SL field's value.
 12797  func (s *AttributeValue) SetSL(v []*string) *AttributeValue {
 12798  	s.SL = v
 12799  	return s
 12800  }
 12801  
 12802  // Temporary access credentials used for uploading game build files to Amazon
 12803  // GameLift. They are valid for a limited time. If they expire before you upload
 12804  // your game build, get a new set by calling RequestUploadCredentials.
 12805  type AwsCredentials struct {
 12806  	_ struct{} `type:"structure" sensitive:"true"`
 12807  
 12808  	// Temporary key allowing access to the Amazon GameLift S3 account.
 12809  	AccessKeyId *string `min:"1" type:"string"`
 12810  
 12811  	// Temporary secret key allowing access to the Amazon GameLift S3 account.
 12812  	SecretAccessKey *string `min:"1" type:"string"`
 12813  
 12814  	// Token used to associate a specific build ID with the files uploaded using
 12815  	// these credentials.
 12816  	SessionToken *string `min:"1" type:"string"`
 12817  }
 12818  
 12819  // String returns the string representation.
 12820  //
 12821  // API parameter values that are decorated as "sensitive" in the API will not
 12822  // be included in the string output. The member name will be present, but the
 12823  // value will be replaced with "sensitive".
 12824  func (s AwsCredentials) String() string {
 12825  	return awsutil.Prettify(s)
 12826  }
 12827  
 12828  // GoString returns the string representation.
 12829  //
 12830  // API parameter values that are decorated as "sensitive" in the API will not
 12831  // be included in the string output. The member name will be present, but the
 12832  // value will be replaced with "sensitive".
 12833  func (s AwsCredentials) GoString() string {
 12834  	return s.String()
 12835  }
 12836  
 12837  // SetAccessKeyId sets the AccessKeyId field's value.
 12838  func (s *AwsCredentials) SetAccessKeyId(v string) *AwsCredentials {
 12839  	s.AccessKeyId = &v
 12840  	return s
 12841  }
 12842  
 12843  // SetSecretAccessKey sets the SecretAccessKey field's value.
 12844  func (s *AwsCredentials) SetSecretAccessKey(v string) *AwsCredentials {
 12845  	s.SecretAccessKey = &v
 12846  	return s
 12847  }
 12848  
 12849  // SetSessionToken sets the SessionToken field's value.
 12850  func (s *AwsCredentials) SetSessionToken(v string) *AwsCredentials {
 12851  	s.SessionToken = &v
 12852  	return s
 12853  }
 12854  
 12855  // Properties describing a custom game build.
 12856  //
 12857  // Related actions
 12858  //
 12859  // CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | DeleteBuild | All
 12860  // APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 12861  type Build struct {
 12862  	_ struct{} `type:"structure"`
 12863  
 12864  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 12865  	// that is assigned to a GameLift build resource and uniquely identifies it.
 12866  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::build/build-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 12867  	// In a GameLift build ARN, the resource ID matches the BuildId value.
 12868  	BuildArn *string `type:"string"`
 12869  
 12870  	// A unique identifier for the build.
 12871  	BuildId *string `type:"string"`
 12872  
 12873  	// A time stamp indicating when this data object was created. Format is a number
 12874  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 12875  	CreationTime *time.Time `type:"timestamp"`
 12876  
 12877  	// A descriptive label that is associated with a build. Build names do not need
 12878  	// to be unique. It can be set using CreateBuild or UpdateBuild.
 12879  	Name *string `type:"string"`
 12880  
 12881  	// Operating system that the game server binaries are built to run on. This
 12882  	// value determines the type of fleet resources that you can use for this build.
 12883  	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
 12884  
 12885  	// File size of the uploaded game build, expressed in bytes. When the build
 12886  	// status is INITIALIZED, this value is 0.
 12887  	SizeOnDisk *int64 `min:"1" type:"long"`
 12888  
 12889  	// Current status of the build.
 12890  	//
 12891  	// Possible build statuses include the following:
 12892  	//
 12893  	//    * INITIALIZED -- A new build has been defined, but no files have been
 12894  	//    uploaded. You cannot create fleets for builds that are in this status.
 12895  	//    When a build is successfully created, the build status is set to this
 12896  	//    value.
 12897  	//
 12898  	//    * READY -- The game build has been successfully uploaded. You can now
 12899  	//    create new fleets for this build.
 12900  	//
 12901  	//    * FAILED -- The game build upload failed. You cannot create new fleets
 12902  	//    for this build.
 12903  	Status *string `type:"string" enum:"BuildStatus"`
 12904  
 12905  	// Version information that is associated with a build or script. Version strings
 12906  	// do not need to be unique. This value can be set using CreateBuild or UpdateBuild.
 12907  	Version *string `type:"string"`
 12908  }
 12909  
 12910  // String returns the string representation.
 12911  //
 12912  // API parameter values that are decorated as "sensitive" in the API will not
 12913  // be included in the string output. The member name will be present, but the
 12914  // value will be replaced with "sensitive".
 12915  func (s Build) String() string {
 12916  	return awsutil.Prettify(s)
 12917  }
 12918  
 12919  // GoString returns the string representation.
 12920  //
 12921  // API parameter values that are decorated as "sensitive" in the API will not
 12922  // be included in the string output. The member name will be present, but the
 12923  // value will be replaced with "sensitive".
 12924  func (s Build) GoString() string {
 12925  	return s.String()
 12926  }
 12927  
 12928  // SetBuildArn sets the BuildArn field's value.
 12929  func (s *Build) SetBuildArn(v string) *Build {
 12930  	s.BuildArn = &v
 12931  	return s
 12932  }
 12933  
 12934  // SetBuildId sets the BuildId field's value.
 12935  func (s *Build) SetBuildId(v string) *Build {
 12936  	s.BuildId = &v
 12937  	return s
 12938  }
 12939  
 12940  // SetCreationTime sets the CreationTime field's value.
 12941  func (s *Build) SetCreationTime(v time.Time) *Build {
 12942  	s.CreationTime = &v
 12943  	return s
 12944  }
 12945  
 12946  // SetName sets the Name field's value.
 12947  func (s *Build) SetName(v string) *Build {
 12948  	s.Name = &v
 12949  	return s
 12950  }
 12951  
 12952  // SetOperatingSystem sets the OperatingSystem field's value.
 12953  func (s *Build) SetOperatingSystem(v string) *Build {
 12954  	s.OperatingSystem = &v
 12955  	return s
 12956  }
 12957  
 12958  // SetSizeOnDisk sets the SizeOnDisk field's value.
 12959  func (s *Build) SetSizeOnDisk(v int64) *Build {
 12960  	s.SizeOnDisk = &v
 12961  	return s
 12962  }
 12963  
 12964  // SetStatus sets the Status field's value.
 12965  func (s *Build) SetStatus(v string) *Build {
 12966  	s.Status = &v
 12967  	return s
 12968  }
 12969  
 12970  // SetVersion sets the Version field's value.
 12971  func (s *Build) SetVersion(v string) *Build {
 12972  	s.Version = &v
 12973  	return s
 12974  }
 12975  
 12976  // Determines whether a TLS/SSL certificate is generated for a fleet. This feature
 12977  // must be enabled when creating the fleet. All instances in a fleet share the
 12978  // same certificate. The certificate can be retrieved by calling the GameLift
 12979  // Server SDK (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-serversdk.html)
 12980  // operation GetInstanceCertificate.
 12981  //
 12982  // A fleet's certificate configuration is part of FleetAttributes.
 12983  type CertificateConfiguration struct {
 12984  	_ struct{} `type:"structure"`
 12985  
 12986  	// Indicates whether a TLS/SSL certificate is generated for a fleet.
 12987  	//
 12988  	// Valid values include:
 12989  	//
 12990  	//    * GENERATED - Generate a TLS/SSL certificate for this fleet.
 12991  	//
 12992  	//    * DISABLED - (default) Do not generate a TLS/SSL certificate for this
 12993  	//    fleet.
 12994  	//
 12995  	// CertificateType is a required field
 12996  	CertificateType *string `type:"string" required:"true" enum:"CertificateType"`
 12997  }
 12998  
 12999  // String returns the string representation.
 13000  //
 13001  // API parameter values that are decorated as "sensitive" in the API will not
 13002  // be included in the string output. The member name will be present, but the
 13003  // value will be replaced with "sensitive".
 13004  func (s CertificateConfiguration) String() string {
 13005  	return awsutil.Prettify(s)
 13006  }
 13007  
 13008  // GoString returns the string representation.
 13009  //
 13010  // API parameter values that are decorated as "sensitive" in the API will not
 13011  // be included in the string output. The member name will be present, but the
 13012  // value will be replaced with "sensitive".
 13013  func (s CertificateConfiguration) GoString() string {
 13014  	return s.String()
 13015  }
 13016  
 13017  // Validate inspects the fields of the type to determine if they are valid.
 13018  func (s *CertificateConfiguration) Validate() error {
 13019  	invalidParams := request.ErrInvalidParams{Context: "CertificateConfiguration"}
 13020  	if s.CertificateType == nil {
 13021  		invalidParams.Add(request.NewErrParamRequired("CertificateType"))
 13022  	}
 13023  
 13024  	if invalidParams.Len() > 0 {
 13025  		return invalidParams
 13026  	}
 13027  	return nil
 13028  }
 13029  
 13030  // SetCertificateType sets the CertificateType field's value.
 13031  func (s *CertificateConfiguration) SetCertificateType(v string) *CertificateConfiguration {
 13032  	s.CertificateType = &v
 13033  	return s
 13034  }
 13035  
 13036  type ClaimGameServerInput struct {
 13037  	_ struct{} `type:"structure"`
 13038  
 13039  	// A set of custom game server properties, formatted as a single string value.
 13040  	// This data is passed to a game client or service when it requests information
 13041  	// on game servers using ListGameServers or ClaimGameServer.
 13042  	GameServerData *string `min:"1" type:"string"`
 13043  
 13044  	// A unique identifier for the game server group where the game server is running.
 13045  	// Use either the GameServerGroup name or ARN value. If you are not specifying
 13046  	// a game server to claim, this value identifies where you want GameLift FleetIQ
 13047  	// to look for an available game server to claim.
 13048  	//
 13049  	// GameServerGroupName is a required field
 13050  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 13051  
 13052  	// A custom string that uniquely identifies the game server to claim. If this
 13053  	// parameter is left empty, GameLift FleetIQ searches for an available game
 13054  	// server in the specified game server group.
 13055  	GameServerId *string `min:"3" type:"string"`
 13056  }
 13057  
 13058  // String returns the string representation.
 13059  //
 13060  // API parameter values that are decorated as "sensitive" in the API will not
 13061  // be included in the string output. The member name will be present, but the
 13062  // value will be replaced with "sensitive".
 13063  func (s ClaimGameServerInput) String() string {
 13064  	return awsutil.Prettify(s)
 13065  }
 13066  
 13067  // GoString returns the string representation.
 13068  //
 13069  // API parameter values that are decorated as "sensitive" in the API will not
 13070  // be included in the string output. The member name will be present, but the
 13071  // value will be replaced with "sensitive".
 13072  func (s ClaimGameServerInput) GoString() string {
 13073  	return s.String()
 13074  }
 13075  
 13076  // Validate inspects the fields of the type to determine if they are valid.
 13077  func (s *ClaimGameServerInput) Validate() error {
 13078  	invalidParams := request.ErrInvalidParams{Context: "ClaimGameServerInput"}
 13079  	if s.GameServerData != nil && len(*s.GameServerData) < 1 {
 13080  		invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1))
 13081  	}
 13082  	if s.GameServerGroupName == nil {
 13083  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 13084  	}
 13085  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 13086  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 13087  	}
 13088  	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
 13089  		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
 13090  	}
 13091  
 13092  	if invalidParams.Len() > 0 {
 13093  		return invalidParams
 13094  	}
 13095  	return nil
 13096  }
 13097  
 13098  // SetGameServerData sets the GameServerData field's value.
 13099  func (s *ClaimGameServerInput) SetGameServerData(v string) *ClaimGameServerInput {
 13100  	s.GameServerData = &v
 13101  	return s
 13102  }
 13103  
 13104  // SetGameServerGroupName sets the GameServerGroupName field's value.
 13105  func (s *ClaimGameServerInput) SetGameServerGroupName(v string) *ClaimGameServerInput {
 13106  	s.GameServerGroupName = &v
 13107  	return s
 13108  }
 13109  
 13110  // SetGameServerId sets the GameServerId field's value.
 13111  func (s *ClaimGameServerInput) SetGameServerId(v string) *ClaimGameServerInput {
 13112  	s.GameServerId = &v
 13113  	return s
 13114  }
 13115  
 13116  type ClaimGameServerOutput struct {
 13117  	_ struct{} `type:"structure"`
 13118  
 13119  	// Object that describes the newly claimed game server.
 13120  	GameServer *GameServer `type:"structure"`
 13121  }
 13122  
 13123  // String returns the string representation.
 13124  //
 13125  // API parameter values that are decorated as "sensitive" in the API will not
 13126  // be included in the string output. The member name will be present, but the
 13127  // value will be replaced with "sensitive".
 13128  func (s ClaimGameServerOutput) String() string {
 13129  	return awsutil.Prettify(s)
 13130  }
 13131  
 13132  // GoString returns the string representation.
 13133  //
 13134  // API parameter values that are decorated as "sensitive" in the API will not
 13135  // be included in the string output. The member name will be present, but the
 13136  // value will be replaced with "sensitive".
 13137  func (s ClaimGameServerOutput) GoString() string {
 13138  	return s.String()
 13139  }
 13140  
 13141  // SetGameServer sets the GameServer field's value.
 13142  func (s *ClaimGameServerOutput) SetGameServer(v *GameServer) *ClaimGameServerOutput {
 13143  	s.GameServer = v
 13144  	return s
 13145  }
 13146  
 13147  // The requested operation would cause a conflict with the current state of
 13148  // a service resource associated with the request. Resolve the conflict before
 13149  // retrying this request.
 13150  type ConflictException struct {
 13151  	_            struct{}                  `type:"structure"`
 13152  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13153  
 13154  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 13155  }
 13156  
 13157  // String returns the string representation.
 13158  //
 13159  // API parameter values that are decorated as "sensitive" in the API will not
 13160  // be included in the string output. The member name will be present, but the
 13161  // value will be replaced with "sensitive".
 13162  func (s ConflictException) String() string {
 13163  	return awsutil.Prettify(s)
 13164  }
 13165  
 13166  // GoString returns the string representation.
 13167  //
 13168  // API parameter values that are decorated as "sensitive" in the API will not
 13169  // be included in the string output. The member name will be present, but the
 13170  // value will be replaced with "sensitive".
 13171  func (s ConflictException) GoString() string {
 13172  	return s.String()
 13173  }
 13174  
 13175  func newErrorConflictException(v protocol.ResponseMetadata) error {
 13176  	return &ConflictException{
 13177  		RespMetadata: v,
 13178  	}
 13179  }
 13180  
 13181  // Code returns the exception type name.
 13182  func (s *ConflictException) Code() string {
 13183  	return "ConflictException"
 13184  }
 13185  
 13186  // Message returns the exception's message.
 13187  func (s *ConflictException) Message() string {
 13188  	if s.Message_ != nil {
 13189  		return *s.Message_
 13190  	}
 13191  	return ""
 13192  }
 13193  
 13194  // OrigErr always returns nil, satisfies awserr.Error interface.
 13195  func (s *ConflictException) OrigErr() error {
 13196  	return nil
 13197  }
 13198  
 13199  func (s *ConflictException) Error() string {
 13200  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13201  }
 13202  
 13203  // Status code returns the HTTP status code for the request's response error.
 13204  func (s *ConflictException) StatusCode() int {
 13205  	return s.RespMetadata.StatusCode
 13206  }
 13207  
 13208  // RequestID returns the service's response RequestID for request.
 13209  func (s *ConflictException) RequestID() string {
 13210  	return s.RespMetadata.RequestID
 13211  }
 13212  
 13213  // Represents the input for a request operation.
 13214  type CreateAliasInput struct {
 13215  	_ struct{} `type:"structure"`
 13216  
 13217  	// A human-readable description of the alias.
 13218  	Description *string `min:"1" type:"string"`
 13219  
 13220  	// A descriptive label that is associated with an alias. Alias names do not
 13221  	// need to be unique.
 13222  	//
 13223  	// Name is a required field
 13224  	Name *string `min:"1" type:"string" required:"true"`
 13225  
 13226  	// The routing configuration, including routing type and fleet target, for the
 13227  	// alias.
 13228  	//
 13229  	// RoutingStrategy is a required field
 13230  	RoutingStrategy *RoutingStrategy `type:"structure" required:"true"`
 13231  
 13232  	// A list of labels to assign to the new alias resource. Tags are developer-defined
 13233  	// key-value pairs. Tagging AWS resources are useful for resource management,
 13234  	// access management and cost allocation. For more information, see Tagging
 13235  	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 13236  	// in the AWS General Reference. Once the resource is created, you can use TagResource,
 13237  	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
 13238  	// maximum tag limit may be lower than stated. See the AWS General Reference
 13239  	// for actual tagging limits.
 13240  	Tags []*Tag `type:"list"`
 13241  }
 13242  
 13243  // String returns the string representation.
 13244  //
 13245  // API parameter values that are decorated as "sensitive" in the API will not
 13246  // be included in the string output. The member name will be present, but the
 13247  // value will be replaced with "sensitive".
 13248  func (s CreateAliasInput) String() string {
 13249  	return awsutil.Prettify(s)
 13250  }
 13251  
 13252  // GoString returns the string representation.
 13253  //
 13254  // API parameter values that are decorated as "sensitive" in the API will not
 13255  // be included in the string output. The member name will be present, but the
 13256  // value will be replaced with "sensitive".
 13257  func (s CreateAliasInput) GoString() string {
 13258  	return s.String()
 13259  }
 13260  
 13261  // Validate inspects the fields of the type to determine if they are valid.
 13262  func (s *CreateAliasInput) Validate() error {
 13263  	invalidParams := request.ErrInvalidParams{Context: "CreateAliasInput"}
 13264  	if s.Description != nil && len(*s.Description) < 1 {
 13265  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 13266  	}
 13267  	if s.Name == nil {
 13268  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13269  	}
 13270  	if s.Name != nil && len(*s.Name) < 1 {
 13271  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13272  	}
 13273  	if s.RoutingStrategy == nil {
 13274  		invalidParams.Add(request.NewErrParamRequired("RoutingStrategy"))
 13275  	}
 13276  	if s.Tags != nil {
 13277  		for i, v := range s.Tags {
 13278  			if v == nil {
 13279  				continue
 13280  			}
 13281  			if err := v.Validate(); err != nil {
 13282  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 13283  			}
 13284  		}
 13285  	}
 13286  
 13287  	if invalidParams.Len() > 0 {
 13288  		return invalidParams
 13289  	}
 13290  	return nil
 13291  }
 13292  
 13293  // SetDescription sets the Description field's value.
 13294  func (s *CreateAliasInput) SetDescription(v string) *CreateAliasInput {
 13295  	s.Description = &v
 13296  	return s
 13297  }
 13298  
 13299  // SetName sets the Name field's value.
 13300  func (s *CreateAliasInput) SetName(v string) *CreateAliasInput {
 13301  	s.Name = &v
 13302  	return s
 13303  }
 13304  
 13305  // SetRoutingStrategy sets the RoutingStrategy field's value.
 13306  func (s *CreateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *CreateAliasInput {
 13307  	s.RoutingStrategy = v
 13308  	return s
 13309  }
 13310  
 13311  // SetTags sets the Tags field's value.
 13312  func (s *CreateAliasInput) SetTags(v []*Tag) *CreateAliasInput {
 13313  	s.Tags = v
 13314  	return s
 13315  }
 13316  
 13317  // Represents the returned data in response to a request operation.
 13318  type CreateAliasOutput struct {
 13319  	_ struct{} `type:"structure"`
 13320  
 13321  	// The newly created alias resource.
 13322  	Alias *Alias `type:"structure"`
 13323  }
 13324  
 13325  // String returns the string representation.
 13326  //
 13327  // API parameter values that are decorated as "sensitive" in the API will not
 13328  // be included in the string output. The member name will be present, but the
 13329  // value will be replaced with "sensitive".
 13330  func (s CreateAliasOutput) String() string {
 13331  	return awsutil.Prettify(s)
 13332  }
 13333  
 13334  // GoString returns the string representation.
 13335  //
 13336  // API parameter values that are decorated as "sensitive" in the API will not
 13337  // be included in the string output. The member name will be present, but the
 13338  // value will be replaced with "sensitive".
 13339  func (s CreateAliasOutput) GoString() string {
 13340  	return s.String()
 13341  }
 13342  
 13343  // SetAlias sets the Alias field's value.
 13344  func (s *CreateAliasOutput) SetAlias(v *Alias) *CreateAliasOutput {
 13345  	s.Alias = v
 13346  	return s
 13347  }
 13348  
 13349  // Represents the input for a request operation.
 13350  type CreateBuildInput struct {
 13351  	_ struct{} `type:"structure"`
 13352  
 13353  	// A descriptive label that is associated with a build. Build names do not need
 13354  	// to be unique. You can use UpdateBuild to change this value later.
 13355  	Name *string `min:"1" type:"string"`
 13356  
 13357  	// The operating system that the game server binaries are built to run on. This
 13358  	// value determines the type of fleet resources that you can use for this build.
 13359  	// If your game build contains multiple executables, they all must run on the
 13360  	// same operating system. If an operating system is not specified when creating
 13361  	// a build, Amazon GameLift uses the default value (WINDOWS_2012). This value
 13362  	// cannot be changed later.
 13363  	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
 13364  
 13365  	// Information indicating where your game build files are stored. Use this parameter
 13366  	// only when creating a build with files stored in an Amazon S3 bucket that
 13367  	// you own. The storage location must specify an Amazon S3 bucket name and key.
 13368  	// The location must also specify a role ARN that you set up to allow Amazon
 13369  	// GameLift to access your Amazon S3 bucket. The S3 bucket and your new build
 13370  	// must be in the same Region.
 13371  	StorageLocation *S3Location `type:"structure"`
 13372  
 13373  	// A list of labels to assign to the new build resource. Tags are developer-defined
 13374  	// key-value pairs. Tagging AWS resources are useful for resource management,
 13375  	// access management and cost allocation. For more information, see Tagging
 13376  	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 13377  	// in the AWS General Reference. Once the resource is created, you can use TagResource,
 13378  	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
 13379  	// maximum tag limit may be lower than stated. See the AWS General Reference
 13380  	// for actual tagging limits.
 13381  	Tags []*Tag `type:"list"`
 13382  
 13383  	// Version information that is associated with a build or script. Version strings
 13384  	// do not need to be unique. You can use UpdateBuild to change this value later.
 13385  	Version *string `min:"1" type:"string"`
 13386  }
 13387  
 13388  // String returns the string representation.
 13389  //
 13390  // API parameter values that are decorated as "sensitive" in the API will not
 13391  // be included in the string output. The member name will be present, but the
 13392  // value will be replaced with "sensitive".
 13393  func (s CreateBuildInput) String() string {
 13394  	return awsutil.Prettify(s)
 13395  }
 13396  
 13397  // GoString returns the string representation.
 13398  //
 13399  // API parameter values that are decorated as "sensitive" in the API will not
 13400  // be included in the string output. The member name will be present, but the
 13401  // value will be replaced with "sensitive".
 13402  func (s CreateBuildInput) GoString() string {
 13403  	return s.String()
 13404  }
 13405  
 13406  // Validate inspects the fields of the type to determine if they are valid.
 13407  func (s *CreateBuildInput) Validate() error {
 13408  	invalidParams := request.ErrInvalidParams{Context: "CreateBuildInput"}
 13409  	if s.Name != nil && len(*s.Name) < 1 {
 13410  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13411  	}
 13412  	if s.Version != nil && len(*s.Version) < 1 {
 13413  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 13414  	}
 13415  	if s.StorageLocation != nil {
 13416  		if err := s.StorageLocation.Validate(); err != nil {
 13417  			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
 13418  		}
 13419  	}
 13420  	if s.Tags != nil {
 13421  		for i, v := range s.Tags {
 13422  			if v == nil {
 13423  				continue
 13424  			}
 13425  			if err := v.Validate(); err != nil {
 13426  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 13427  			}
 13428  		}
 13429  	}
 13430  
 13431  	if invalidParams.Len() > 0 {
 13432  		return invalidParams
 13433  	}
 13434  	return nil
 13435  }
 13436  
 13437  // SetName sets the Name field's value.
 13438  func (s *CreateBuildInput) SetName(v string) *CreateBuildInput {
 13439  	s.Name = &v
 13440  	return s
 13441  }
 13442  
 13443  // SetOperatingSystem sets the OperatingSystem field's value.
 13444  func (s *CreateBuildInput) SetOperatingSystem(v string) *CreateBuildInput {
 13445  	s.OperatingSystem = &v
 13446  	return s
 13447  }
 13448  
 13449  // SetStorageLocation sets the StorageLocation field's value.
 13450  func (s *CreateBuildInput) SetStorageLocation(v *S3Location) *CreateBuildInput {
 13451  	s.StorageLocation = v
 13452  	return s
 13453  }
 13454  
 13455  // SetTags sets the Tags field's value.
 13456  func (s *CreateBuildInput) SetTags(v []*Tag) *CreateBuildInput {
 13457  	s.Tags = v
 13458  	return s
 13459  }
 13460  
 13461  // SetVersion sets the Version field's value.
 13462  func (s *CreateBuildInput) SetVersion(v string) *CreateBuildInput {
 13463  	s.Version = &v
 13464  	return s
 13465  }
 13466  
 13467  // Represents the returned data in response to a request operation.
 13468  type CreateBuildOutput struct {
 13469  	_ struct{} `type:"structure"`
 13470  
 13471  	// The newly created build resource, including a unique build IDs and status.
 13472  	Build *Build `type:"structure"`
 13473  
 13474  	// Amazon S3 location for your game build file, including bucket name and key.
 13475  	StorageLocation *S3Location `type:"structure"`
 13476  
 13477  	// This element is returned only when the operation is called without a storage
 13478  	// location. It contains credentials to use when you are uploading a build file
 13479  	// to an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have
 13480  	// a limited life span. To refresh these credentials, call RequestUploadCredentials.
 13481  	//
 13482  	// UploadCredentials is a sensitive parameter and its value will be
 13483  	// replaced with "sensitive" in string returned by CreateBuildOutput's
 13484  	// String and GoString methods.
 13485  	UploadCredentials *AwsCredentials `type:"structure" sensitive:"true"`
 13486  }
 13487  
 13488  // String returns the string representation.
 13489  //
 13490  // API parameter values that are decorated as "sensitive" in the API will not
 13491  // be included in the string output. The member name will be present, but the
 13492  // value will be replaced with "sensitive".
 13493  func (s CreateBuildOutput) String() string {
 13494  	return awsutil.Prettify(s)
 13495  }
 13496  
 13497  // GoString returns the string representation.
 13498  //
 13499  // API parameter values that are decorated as "sensitive" in the API will not
 13500  // be included in the string output. The member name will be present, but the
 13501  // value will be replaced with "sensitive".
 13502  func (s CreateBuildOutput) GoString() string {
 13503  	return s.String()
 13504  }
 13505  
 13506  // SetBuild sets the Build field's value.
 13507  func (s *CreateBuildOutput) SetBuild(v *Build) *CreateBuildOutput {
 13508  	s.Build = v
 13509  	return s
 13510  }
 13511  
 13512  // SetStorageLocation sets the StorageLocation field's value.
 13513  func (s *CreateBuildOutput) SetStorageLocation(v *S3Location) *CreateBuildOutput {
 13514  	s.StorageLocation = v
 13515  	return s
 13516  }
 13517  
 13518  // SetUploadCredentials sets the UploadCredentials field's value.
 13519  func (s *CreateBuildOutput) SetUploadCredentials(v *AwsCredentials) *CreateBuildOutput {
 13520  	s.UploadCredentials = v
 13521  	return s
 13522  }
 13523  
 13524  // Represents the input for a request operation.
 13525  type CreateFleetInput struct {
 13526  	_ struct{} `type:"structure"`
 13527  
 13528  	// The unique identifier for a custom game server build to be deployed on fleet
 13529  	// instances. You can use either the build ID or ARN. The build must be uploaded
 13530  	// to GameLift and in READY status. This fleet property cannot be changed later.
 13531  	BuildId *string `type:"string"`
 13532  
 13533  	// Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS certificates
 13534  	// are used for encrypting traffic between game clients and the game servers
 13535  	// that are running on GameLift. By default, the CertificateConfiguration is
 13536  	// set to DISABLED. Learn more at Securing Client/Server Communication (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security).
 13537  	// This property cannot be changed after the fleet is created.
 13538  	//
 13539  	// Note: This feature requires the AWS Certificate Manager (ACM) service, which
 13540  	// is not available in all AWS regions. When working in a region that does not
 13541  	// support this feature, a fleet creation request with certificate generation
 13542  	// fails with a 4xx error.
 13543  	CertificateConfiguration *CertificateConfiguration `type:"structure"`
 13544  
 13545  	// A human-readable description of the fleet.
 13546  	Description *string `min:"1" type:"string"`
 13547  
 13548  	// The allowed IP address ranges and port settings that allow inbound traffic
 13549  	// to access game sessions on this fleet. If the fleet is hosting a custom game
 13550  	// build, this property must be set before players can connect to game sessions.
 13551  	// For Realtime Servers fleets, GameLift automatically sets TCP and UDP ranges.
 13552  	EC2InboundPermissions []*IpPermission `type:"list"`
 13553  
 13554  	// The GameLift-supported EC2 instance type to use for all fleet instances.
 13555  	// Instance type determines the computing resources that will be used to host
 13556  	// your game servers, including CPU, memory, storage, and networking capacity.
 13557  	// See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
 13558  	// for detailed descriptions of EC2 instance types.
 13559  	//
 13560  	// EC2InstanceType is a required field
 13561  	EC2InstanceType *string `type:"string" required:"true" enum:"EC2InstanceType"`
 13562  
 13563  	// Indicates whether to use On-Demand or Spot instances for this fleet. By default,
 13564  	// this property is set to ON_DEMAND. Learn more about when to use On-Demand
 13565  	// versus Spot Instances (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-ec2-instances.html#gamelift-ec2-instances-spot).
 13566  	// This property cannot be changed after the fleet is created.
 13567  	FleetType *string `type:"string" enum:"FleetType"`
 13568  
 13569  	// A unique identifier for an AWS IAM role that manages access to your AWS services.
 13570  	// With an instance role ARN set, any application that runs on an instance in
 13571  	// this fleet can assume the role, including install scripts, server processes,
 13572  	// and daemons (background processes). Create a role or look up a role's ARN
 13573  	// by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the AWS
 13574  	// Management Console. Learn more about using on-box credentials for your game
 13575  	// servers at Access external resources from a game server (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html).
 13576  	// This property cannot be changed after the fleet is created.
 13577  	InstanceRoleArn *string `min:"1" type:"string"`
 13578  
 13579  	// A set of remote locations to deploy additional instances to and manage as
 13580  	// part of the fleet. This parameter can only be used when creating fleets in
 13581  	// AWS Regions that support multiple locations. You can add any GameLift-supported
 13582  	// AWS Region as a remote location, in the form of an AWS Region code such as
 13583  	// us-west-2. To create a fleet with instances in the home Region only, omit
 13584  	// this parameter.
 13585  	Locations []*LocationConfiguration `min:"1" type:"list"`
 13586  
 13587  	// This parameter is no longer used. To specify where GameLift should store
 13588  	// log files once a server process shuts down, use the GameLift server API ProcessReady()
 13589  	// and specify one or more directory paths in logParameters. See more information
 13590  	// 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).
 13591  	LogPaths []*string `type:"list"`
 13592  
 13593  	// The name of an AWS CloudWatch metric group to add this fleet to. A metric
 13594  	// group is used to aggregate the metrics for multiple fleets. You can specify
 13595  	// an existing metric group name or set a new name to create a new metric group.
 13596  	// A fleet can be included in only one metric group at a time.
 13597  	MetricGroups []*string `type:"list"`
 13598  
 13599  	// A descriptive label that is associated with a fleet. Fleet names do not need
 13600  	// to be unique.
 13601  	//
 13602  	// Name is a required field
 13603  	Name *string `min:"1" type:"string" required:"true"`
 13604  
 13605  	// The status of termination protection for active game sessions on the fleet.
 13606  	// By default, this property is set to NoProtection. You can also set game session
 13607  	// protection for an individual game session by calling UpdateGameSession.
 13608  	//
 13609  	//    * NoProtection - Game sessions can be terminated during active gameplay
 13610  	//    as a result of a scale-down event.
 13611  	//
 13612  	//    * FullProtection - Game sessions in ACTIVE status cannot be terminated
 13613  	//    during a scale-down event.
 13614  	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
 13615  
 13616  	// Used when peering your GameLift fleet with a VPC, the unique identifier for
 13617  	// the AWS account that owns the VPC. You can find your account ID in the AWS
 13618  	// Management Console under account settings.
 13619  	PeerVpcAwsAccountId *string `min:"1" type:"string"`
 13620  
 13621  	// A unique identifier for a VPC with resources to be accessed by your GameLift
 13622  	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
 13623  	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
 13624  	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
 13625  	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
 13626  	PeerVpcId *string `min:"1" type:"string"`
 13627  
 13628  	// A policy that limits the number of game sessions that an individual player
 13629  	// can create on instances in this fleet within a specified span of time.
 13630  	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
 13631  
 13632  	// Instructions for how to launch and maintain server processes on instances
 13633  	// in the fleet. The runtime configuration defines one or more server process
 13634  	// configurations, each identifying a build executable or Realtime script file
 13635  	// and the number of processes of that type to run concurrently.
 13636  	//
 13637  	// The RuntimeConfiguration parameter is required unless the fleet is being
 13638  	// configured using the older parameters ServerLaunchPath and ServerLaunchParameters,
 13639  	// which are still supported for backward compatibility.
 13640  	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
 13641  
 13642  	// The unique identifier for a Realtime configuration script to be deployed
 13643  	// on fleet instances. You can use either the script ID or ARN. Scripts must
 13644  	// be uploaded to GameLift prior to creating the fleet. This fleet property
 13645  	// cannot be changed later.
 13646  	ScriptId *string `type:"string"`
 13647  
 13648  	// This parameter is no longer used. Specify server launch parameters using
 13649  	// the RuntimeConfiguration parameter. Requests that use this parameter instead
 13650  	// continue to be valid.
 13651  	ServerLaunchParameters *string `min:"1" type:"string"`
 13652  
 13653  	// This parameter is no longer used. Specify a server launch path using the
 13654  	// RuntimeConfiguration parameter. Requests that use this parameter instead
 13655  	// continue to be valid.
 13656  	ServerLaunchPath *string `min:"1" type:"string"`
 13657  
 13658  	// A list of labels to assign to the new fleet resource. Tags are developer-defined
 13659  	// key-value pairs. Tagging AWS resources are useful for resource management,
 13660  	// access management and cost allocation. For more information, see Tagging
 13661  	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 13662  	// in the AWS General Reference. Once the fleet is created, you can use TagResource,
 13663  	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
 13664  	// maximum tag limit may be lower than stated. See the AWS General Reference
 13665  	// for actual tagging limits.
 13666  	Tags []*Tag `type:"list"`
 13667  }
 13668  
 13669  // String returns the string representation.
 13670  //
 13671  // API parameter values that are decorated as "sensitive" in the API will not
 13672  // be included in the string output. The member name will be present, but the
 13673  // value will be replaced with "sensitive".
 13674  func (s CreateFleetInput) String() string {
 13675  	return awsutil.Prettify(s)
 13676  }
 13677  
 13678  // GoString returns the string representation.
 13679  //
 13680  // API parameter values that are decorated as "sensitive" in the API will not
 13681  // be included in the string output. The member name will be present, but the
 13682  // value will be replaced with "sensitive".
 13683  func (s CreateFleetInput) GoString() string {
 13684  	return s.String()
 13685  }
 13686  
 13687  // Validate inspects the fields of the type to determine if they are valid.
 13688  func (s *CreateFleetInput) Validate() error {
 13689  	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
 13690  	if s.Description != nil && len(*s.Description) < 1 {
 13691  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 13692  	}
 13693  	if s.EC2InstanceType == nil {
 13694  		invalidParams.Add(request.NewErrParamRequired("EC2InstanceType"))
 13695  	}
 13696  	if s.InstanceRoleArn != nil && len(*s.InstanceRoleArn) < 1 {
 13697  		invalidParams.Add(request.NewErrParamMinLen("InstanceRoleArn", 1))
 13698  	}
 13699  	if s.Locations != nil && len(s.Locations) < 1 {
 13700  		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
 13701  	}
 13702  	if s.Name == nil {
 13703  		invalidParams.Add(request.NewErrParamRequired("Name"))
 13704  	}
 13705  	if s.Name != nil && len(*s.Name) < 1 {
 13706  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 13707  	}
 13708  	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
 13709  		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
 13710  	}
 13711  	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
 13712  		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
 13713  	}
 13714  	if s.ServerLaunchParameters != nil && len(*s.ServerLaunchParameters) < 1 {
 13715  		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchParameters", 1))
 13716  	}
 13717  	if s.ServerLaunchPath != nil && len(*s.ServerLaunchPath) < 1 {
 13718  		invalidParams.Add(request.NewErrParamMinLen("ServerLaunchPath", 1))
 13719  	}
 13720  	if s.CertificateConfiguration != nil {
 13721  		if err := s.CertificateConfiguration.Validate(); err != nil {
 13722  			invalidParams.AddNested("CertificateConfiguration", err.(request.ErrInvalidParams))
 13723  		}
 13724  	}
 13725  	if s.EC2InboundPermissions != nil {
 13726  		for i, v := range s.EC2InboundPermissions {
 13727  			if v == nil {
 13728  				continue
 13729  			}
 13730  			if err := v.Validate(); err != nil {
 13731  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EC2InboundPermissions", i), err.(request.ErrInvalidParams))
 13732  			}
 13733  		}
 13734  	}
 13735  	if s.Locations != nil {
 13736  		for i, v := range s.Locations {
 13737  			if v == nil {
 13738  				continue
 13739  			}
 13740  			if err := v.Validate(); err != nil {
 13741  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Locations", i), err.(request.ErrInvalidParams))
 13742  			}
 13743  		}
 13744  	}
 13745  	if s.RuntimeConfiguration != nil {
 13746  		if err := s.RuntimeConfiguration.Validate(); err != nil {
 13747  			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
 13748  		}
 13749  	}
 13750  	if s.Tags != nil {
 13751  		for i, v := range s.Tags {
 13752  			if v == nil {
 13753  				continue
 13754  			}
 13755  			if err := v.Validate(); err != nil {
 13756  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 13757  			}
 13758  		}
 13759  	}
 13760  
 13761  	if invalidParams.Len() > 0 {
 13762  		return invalidParams
 13763  	}
 13764  	return nil
 13765  }
 13766  
 13767  // SetBuildId sets the BuildId field's value.
 13768  func (s *CreateFleetInput) SetBuildId(v string) *CreateFleetInput {
 13769  	s.BuildId = &v
 13770  	return s
 13771  }
 13772  
 13773  // SetCertificateConfiguration sets the CertificateConfiguration field's value.
 13774  func (s *CreateFleetInput) SetCertificateConfiguration(v *CertificateConfiguration) *CreateFleetInput {
 13775  	s.CertificateConfiguration = v
 13776  	return s
 13777  }
 13778  
 13779  // SetDescription sets the Description field's value.
 13780  func (s *CreateFleetInput) SetDescription(v string) *CreateFleetInput {
 13781  	s.Description = &v
 13782  	return s
 13783  }
 13784  
 13785  // SetEC2InboundPermissions sets the EC2InboundPermissions field's value.
 13786  func (s *CreateFleetInput) SetEC2InboundPermissions(v []*IpPermission) *CreateFleetInput {
 13787  	s.EC2InboundPermissions = v
 13788  	return s
 13789  }
 13790  
 13791  // SetEC2InstanceType sets the EC2InstanceType field's value.
 13792  func (s *CreateFleetInput) SetEC2InstanceType(v string) *CreateFleetInput {
 13793  	s.EC2InstanceType = &v
 13794  	return s
 13795  }
 13796  
 13797  // SetFleetType sets the FleetType field's value.
 13798  func (s *CreateFleetInput) SetFleetType(v string) *CreateFleetInput {
 13799  	s.FleetType = &v
 13800  	return s
 13801  }
 13802  
 13803  // SetInstanceRoleArn sets the InstanceRoleArn field's value.
 13804  func (s *CreateFleetInput) SetInstanceRoleArn(v string) *CreateFleetInput {
 13805  	s.InstanceRoleArn = &v
 13806  	return s
 13807  }
 13808  
 13809  // SetLocations sets the Locations field's value.
 13810  func (s *CreateFleetInput) SetLocations(v []*LocationConfiguration) *CreateFleetInput {
 13811  	s.Locations = v
 13812  	return s
 13813  }
 13814  
 13815  // SetLogPaths sets the LogPaths field's value.
 13816  func (s *CreateFleetInput) SetLogPaths(v []*string) *CreateFleetInput {
 13817  	s.LogPaths = v
 13818  	return s
 13819  }
 13820  
 13821  // SetMetricGroups sets the MetricGroups field's value.
 13822  func (s *CreateFleetInput) SetMetricGroups(v []*string) *CreateFleetInput {
 13823  	s.MetricGroups = v
 13824  	return s
 13825  }
 13826  
 13827  // SetName sets the Name field's value.
 13828  func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
 13829  	s.Name = &v
 13830  	return s
 13831  }
 13832  
 13833  // SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
 13834  func (s *CreateFleetInput) SetNewGameSessionProtectionPolicy(v string) *CreateFleetInput {
 13835  	s.NewGameSessionProtectionPolicy = &v
 13836  	return s
 13837  }
 13838  
 13839  // SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
 13840  func (s *CreateFleetInput) SetPeerVpcAwsAccountId(v string) *CreateFleetInput {
 13841  	s.PeerVpcAwsAccountId = &v
 13842  	return s
 13843  }
 13844  
 13845  // SetPeerVpcId sets the PeerVpcId field's value.
 13846  func (s *CreateFleetInput) SetPeerVpcId(v string) *CreateFleetInput {
 13847  	s.PeerVpcId = &v
 13848  	return s
 13849  }
 13850  
 13851  // SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
 13852  func (s *CreateFleetInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *CreateFleetInput {
 13853  	s.ResourceCreationLimitPolicy = v
 13854  	return s
 13855  }
 13856  
 13857  // SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
 13858  func (s *CreateFleetInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *CreateFleetInput {
 13859  	s.RuntimeConfiguration = v
 13860  	return s
 13861  }
 13862  
 13863  // SetScriptId sets the ScriptId field's value.
 13864  func (s *CreateFleetInput) SetScriptId(v string) *CreateFleetInput {
 13865  	s.ScriptId = &v
 13866  	return s
 13867  }
 13868  
 13869  // SetServerLaunchParameters sets the ServerLaunchParameters field's value.
 13870  func (s *CreateFleetInput) SetServerLaunchParameters(v string) *CreateFleetInput {
 13871  	s.ServerLaunchParameters = &v
 13872  	return s
 13873  }
 13874  
 13875  // SetServerLaunchPath sets the ServerLaunchPath field's value.
 13876  func (s *CreateFleetInput) SetServerLaunchPath(v string) *CreateFleetInput {
 13877  	s.ServerLaunchPath = &v
 13878  	return s
 13879  }
 13880  
 13881  // SetTags sets the Tags field's value.
 13882  func (s *CreateFleetInput) SetTags(v []*Tag) *CreateFleetInput {
 13883  	s.Tags = v
 13884  	return s
 13885  }
 13886  
 13887  // Represents the input for a request operation.
 13888  type CreateFleetLocationsInput struct {
 13889  	_ struct{} `type:"structure"`
 13890  
 13891  	// A unique identifier for the fleet to add locations to. You can use either
 13892  	// the fleet ID or ARN value.
 13893  	//
 13894  	// FleetId is a required field
 13895  	FleetId *string `type:"string" required:"true"`
 13896  
 13897  	// A list of locations to deploy additional instances to and manage as part
 13898  	// of the fleet. You can add any GameLift-supported AWS Region as a remote location,
 13899  	// in the form of an AWS Region code such as us-west-2.
 13900  	//
 13901  	// Locations is a required field
 13902  	Locations []*LocationConfiguration `min:"1" type:"list" required:"true"`
 13903  }
 13904  
 13905  // String returns the string representation.
 13906  //
 13907  // API parameter values that are decorated as "sensitive" in the API will not
 13908  // be included in the string output. The member name will be present, but the
 13909  // value will be replaced with "sensitive".
 13910  func (s CreateFleetLocationsInput) String() string {
 13911  	return awsutil.Prettify(s)
 13912  }
 13913  
 13914  // GoString returns the string representation.
 13915  //
 13916  // API parameter values that are decorated as "sensitive" in the API will not
 13917  // be included in the string output. The member name will be present, but the
 13918  // value will be replaced with "sensitive".
 13919  func (s CreateFleetLocationsInput) GoString() string {
 13920  	return s.String()
 13921  }
 13922  
 13923  // Validate inspects the fields of the type to determine if they are valid.
 13924  func (s *CreateFleetLocationsInput) Validate() error {
 13925  	invalidParams := request.ErrInvalidParams{Context: "CreateFleetLocationsInput"}
 13926  	if s.FleetId == nil {
 13927  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 13928  	}
 13929  	if s.Locations == nil {
 13930  		invalidParams.Add(request.NewErrParamRequired("Locations"))
 13931  	}
 13932  	if s.Locations != nil && len(s.Locations) < 1 {
 13933  		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
 13934  	}
 13935  	if s.Locations != nil {
 13936  		for i, v := range s.Locations {
 13937  			if v == nil {
 13938  				continue
 13939  			}
 13940  			if err := v.Validate(); err != nil {
 13941  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Locations", i), err.(request.ErrInvalidParams))
 13942  			}
 13943  		}
 13944  	}
 13945  
 13946  	if invalidParams.Len() > 0 {
 13947  		return invalidParams
 13948  	}
 13949  	return nil
 13950  }
 13951  
 13952  // SetFleetId sets the FleetId field's value.
 13953  func (s *CreateFleetLocationsInput) SetFleetId(v string) *CreateFleetLocationsInput {
 13954  	s.FleetId = &v
 13955  	return s
 13956  }
 13957  
 13958  // SetLocations sets the Locations field's value.
 13959  func (s *CreateFleetLocationsInput) SetLocations(v []*LocationConfiguration) *CreateFleetLocationsInput {
 13960  	s.Locations = v
 13961  	return s
 13962  }
 13963  
 13964  // Represents the returned data in response to a request operation.
 13965  type CreateFleetLocationsOutput struct {
 13966  	_ struct{} `type:"structure"`
 13967  
 13968  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 13969  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 13970  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 13971  	FleetArn *string `type:"string"`
 13972  
 13973  	// A unique identifier for the fleet that was updated with new locations.
 13974  	FleetId *string `type:"string"`
 13975  
 13976  	// The remote locations that are being added to the fleet, and the life-cycle
 13977  	// status of each location. For new locations, the status is set to NEW. During
 13978  	// location creation, GameLift updates each location's status as instances are
 13979  	// deployed there and prepared for game hosting. This list does not include
 13980  	// the fleet home Region or any remote locations that were already added to
 13981  	// the fleet.
 13982  	LocationStates []*LocationState `type:"list"`
 13983  }
 13984  
 13985  // String returns the string representation.
 13986  //
 13987  // API parameter values that are decorated as "sensitive" in the API will not
 13988  // be included in the string output. The member name will be present, but the
 13989  // value will be replaced with "sensitive".
 13990  func (s CreateFleetLocationsOutput) String() string {
 13991  	return awsutil.Prettify(s)
 13992  }
 13993  
 13994  // GoString returns the string representation.
 13995  //
 13996  // API parameter values that are decorated as "sensitive" in the API will not
 13997  // be included in the string output. The member name will be present, but the
 13998  // value will be replaced with "sensitive".
 13999  func (s CreateFleetLocationsOutput) GoString() string {
 14000  	return s.String()
 14001  }
 14002  
 14003  // SetFleetArn sets the FleetArn field's value.
 14004  func (s *CreateFleetLocationsOutput) SetFleetArn(v string) *CreateFleetLocationsOutput {
 14005  	s.FleetArn = &v
 14006  	return s
 14007  }
 14008  
 14009  // SetFleetId sets the FleetId field's value.
 14010  func (s *CreateFleetLocationsOutput) SetFleetId(v string) *CreateFleetLocationsOutput {
 14011  	s.FleetId = &v
 14012  	return s
 14013  }
 14014  
 14015  // SetLocationStates sets the LocationStates field's value.
 14016  func (s *CreateFleetLocationsOutput) SetLocationStates(v []*LocationState) *CreateFleetLocationsOutput {
 14017  	s.LocationStates = v
 14018  	return s
 14019  }
 14020  
 14021  // Represents the returned data in response to a request operation.
 14022  type CreateFleetOutput struct {
 14023  	_ struct{} `type:"structure"`
 14024  
 14025  	// The properties for the new fleet, including the current status. All fleets
 14026  	// are placed in NEW status on creation.
 14027  	FleetAttributes *FleetAttributes `type:"structure"`
 14028  
 14029  	// The fleet's locations and life-cycle status of each location. For new fleets,
 14030  	// the status of all locations is set to NEW. During fleet creation, GameLift
 14031  	// updates each location status as instances are deployed there and prepared
 14032  	// for game hosting. This list includes an entry for the fleet's home Region.
 14033  	// For fleets with no remote locations, only one entry, representing the home
 14034  	// Region, is returned.
 14035  	LocationStates []*LocationState `type:"list"`
 14036  }
 14037  
 14038  // String returns the string representation.
 14039  //
 14040  // API parameter values that are decorated as "sensitive" in the API will not
 14041  // be included in the string output. The member name will be present, but the
 14042  // value will be replaced with "sensitive".
 14043  func (s CreateFleetOutput) String() string {
 14044  	return awsutil.Prettify(s)
 14045  }
 14046  
 14047  // GoString returns the string representation.
 14048  //
 14049  // API parameter values that are decorated as "sensitive" in the API will not
 14050  // be included in the string output. The member name will be present, but the
 14051  // value will be replaced with "sensitive".
 14052  func (s CreateFleetOutput) GoString() string {
 14053  	return s.String()
 14054  }
 14055  
 14056  // SetFleetAttributes sets the FleetAttributes field's value.
 14057  func (s *CreateFleetOutput) SetFleetAttributes(v *FleetAttributes) *CreateFleetOutput {
 14058  	s.FleetAttributes = v
 14059  	return s
 14060  }
 14061  
 14062  // SetLocationStates sets the LocationStates field's value.
 14063  func (s *CreateFleetOutput) SetLocationStates(v []*LocationState) *CreateFleetOutput {
 14064  	s.LocationStates = v
 14065  	return s
 14066  }
 14067  
 14068  type CreateGameServerGroupInput struct {
 14069  	_ struct{} `type:"structure"`
 14070  
 14071  	// Configuration settings to define a scaling policy for the Auto Scaling group
 14072  	// that is optimized for game hosting. The scaling policy uses the metric "PercentUtilizedGameServers"
 14073  	// to maintain a buffer of idle game servers that can immediately accommodate
 14074  	// new games and players. After the Auto Scaling group is created, update this
 14075  	// value directly in the Auto Scaling group using the AWS console or APIs.
 14076  	AutoScalingPolicy *GameServerGroupAutoScalingPolicy `type:"structure"`
 14077  
 14078  	// Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand
 14079  	// Instances in the game server group. Method options include the following:
 14080  	//
 14081  	//    * SPOT_ONLY - Only Spot Instances are used in the game server group. If
 14082  	//    Spot Instances are unavailable or not viable for game hosting, the game
 14083  	//    server group provides no hosting capacity until Spot Instances can again
 14084  	//    be used. Until then, no new instances are started, and the existing nonviable
 14085  	//    Spot Instances are terminated (after current gameplay ends) and are not
 14086  	//    replaced.
 14087  	//
 14088  	//    * SPOT_PREFERRED - (default value) Spot Instances are used whenever available
 14089  	//    in the game server group. If Spot Instances are unavailable, the game
 14090  	//    server group continues to provide hosting capacity by falling back to
 14091  	//    On-Demand Instances. Existing nonviable Spot Instances are terminated
 14092  	//    (after current gameplay ends) and are replaced with new On-Demand Instances.
 14093  	//
 14094  	//    * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server
 14095  	//    group. No Spot Instances are used, even when available, while this balancing
 14096  	//    strategy is in force.
 14097  	BalancingStrategy *string `type:"string" enum:"BalancingStrategy"`
 14098  
 14099  	// An identifier for the new game server group. This value is used to generate
 14100  	// unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ
 14101  	// game server group. The name must be unique per Region per AWS account.
 14102  	//
 14103  	// GameServerGroupName is a required field
 14104  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 14105  
 14106  	// A flag that indicates whether instances in the game server group are protected
 14107  	// from early termination. Unprotected instances that have active game servers
 14108  	// running might be terminated during a scale-down event, causing players to
 14109  	// be dropped from the game. Protected instances cannot be terminated while
 14110  	// there are active game servers running except in the event of a forced game
 14111  	// server group deletion (see ). An exception to this is with Spot Instances,
 14112  	// which can be terminated by AWS regardless of protection status. This property
 14113  	// is set to NO_PROTECTION by default.
 14114  	GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"`
 14115  
 14116  	// The EC2 instance types and sizes to use in the Auto Scaling group. The instance
 14117  	// definitions must specify at least two different instance types that are supported
 14118  	// by GameLift FleetIQ. For more information on instance types, see EC2 Instance
 14119  	// Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
 14120  	// in the Amazon EC2 User Guide. You can optionally specify capacity weighting
 14121  	// for each instance type. If no weight value is specified for an instance type,
 14122  	// it is set to the default value "1". For more information about capacity weighting,
 14123  	// see Instance Weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
 14124  	// in the Amazon EC2 Auto Scaling User Guide.
 14125  	//
 14126  	// InstanceDefinitions is a required field
 14127  	InstanceDefinitions []*InstanceDefinition `min:"2" type:"list" required:"true"`
 14128  
 14129  	// The EC2 launch template that contains configuration settings and game server
 14130  	// code to be deployed to all instances in the game server group. You can specify
 14131  	// the template using either the template name or ID. For help with creating
 14132  	// a launch template, see Creating a Launch Template for an Auto Scaling Group
 14133  	// (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
 14134  	// in the Amazon EC2 Auto Scaling User Guide. After the Auto Scaling group is
 14135  	// created, update this value directly in the Auto Scaling group using the AWS
 14136  	// console or APIs.
 14137  	//
 14138  	// If you specify network interfaces in your launch template, you must explicitly
 14139  	// set the property AssociatePublicIpAddress to "true". If no network interface
 14140  	// is specified in the launch template, GameLift FleetIQ uses your account's
 14141  	// default VPC.
 14142  	//
 14143  	// LaunchTemplate is a required field
 14144  	LaunchTemplate *LaunchTemplateSpecification `type:"structure" required:"true"`
 14145  
 14146  	// The maximum number of instances allowed in the EC2 Auto Scaling group. During
 14147  	// automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group
 14148  	// above this maximum. After the Auto Scaling group is created, update this
 14149  	// value directly in the Auto Scaling group using the AWS console or APIs.
 14150  	//
 14151  	// MaxSize is a required field
 14152  	MaxSize *int64 `min:"1" type:"integer" required:"true"`
 14153  
 14154  	// The minimum number of instances allowed in the EC2 Auto Scaling group. During
 14155  	// automatic scaling events, GameLift FleetIQ and EC2 do not scale down the
 14156  	// group below this minimum. In production, this value should be set to at least
 14157  	// 1. After the Auto Scaling group is created, update this value directly in
 14158  	// the Auto Scaling group using the AWS console or APIs.
 14159  	//
 14160  	// MinSize is a required field
 14161  	MinSize *int64 `type:"integer" required:"true"`
 14162  
 14163  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 14164  	// for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling
 14165  	// groups.
 14166  	//
 14167  	// RoleArn is a required field
 14168  	RoleArn *string `min:"1" type:"string" required:"true"`
 14169  
 14170  	// A list of labels to assign to the new game server group resource. Tags are
 14171  	// developer-defined key-value pairs. Tagging AWS resources is useful for resource
 14172  	// management, access management, and cost allocation. For more information,
 14173  	// see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 14174  	// in the AWS General Reference. Once the resource is created, you can use TagResource,
 14175  	// UntagResource, and ListTagsForResource to add, remove, and view tags, respectively.
 14176  	// The maximum tag limit may be lower than stated. See the AWS General Reference
 14177  	// for actual tagging limits.
 14178  	Tags []*Tag `type:"list"`
 14179  
 14180  	// A list of virtual private cloud (VPC) subnets to use with instances in the
 14181  	// game server group. By default, all GameLift FleetIQ-supported Availability
 14182  	// Zones are used. You can use this parameter to specify VPCs that you've set
 14183  	// up. This property cannot be updated after the game server group is created,
 14184  	// and the corresponding Auto Scaling group will always use the property value
 14185  	// that is set with this request, even if the Auto Scaling group is updated
 14186  	// directly.
 14187  	VpcSubnets []*string `min:"1" type:"list"`
 14188  }
 14189  
 14190  // String returns the string representation.
 14191  //
 14192  // API parameter values that are decorated as "sensitive" in the API will not
 14193  // be included in the string output. The member name will be present, but the
 14194  // value will be replaced with "sensitive".
 14195  func (s CreateGameServerGroupInput) String() string {
 14196  	return awsutil.Prettify(s)
 14197  }
 14198  
 14199  // GoString returns the string representation.
 14200  //
 14201  // API parameter values that are decorated as "sensitive" in the API will not
 14202  // be included in the string output. The member name will be present, but the
 14203  // value will be replaced with "sensitive".
 14204  func (s CreateGameServerGroupInput) GoString() string {
 14205  	return s.String()
 14206  }
 14207  
 14208  // Validate inspects the fields of the type to determine if they are valid.
 14209  func (s *CreateGameServerGroupInput) Validate() error {
 14210  	invalidParams := request.ErrInvalidParams{Context: "CreateGameServerGroupInput"}
 14211  	if s.GameServerGroupName == nil {
 14212  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 14213  	}
 14214  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 14215  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 14216  	}
 14217  	if s.InstanceDefinitions == nil {
 14218  		invalidParams.Add(request.NewErrParamRequired("InstanceDefinitions"))
 14219  	}
 14220  	if s.InstanceDefinitions != nil && len(s.InstanceDefinitions) < 2 {
 14221  		invalidParams.Add(request.NewErrParamMinLen("InstanceDefinitions", 2))
 14222  	}
 14223  	if s.LaunchTemplate == nil {
 14224  		invalidParams.Add(request.NewErrParamRequired("LaunchTemplate"))
 14225  	}
 14226  	if s.MaxSize == nil {
 14227  		invalidParams.Add(request.NewErrParamRequired("MaxSize"))
 14228  	}
 14229  	if s.MaxSize != nil && *s.MaxSize < 1 {
 14230  		invalidParams.Add(request.NewErrParamMinValue("MaxSize", 1))
 14231  	}
 14232  	if s.MinSize == nil {
 14233  		invalidParams.Add(request.NewErrParamRequired("MinSize"))
 14234  	}
 14235  	if s.RoleArn == nil {
 14236  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 14237  	}
 14238  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 14239  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 14240  	}
 14241  	if s.VpcSubnets != nil && len(s.VpcSubnets) < 1 {
 14242  		invalidParams.Add(request.NewErrParamMinLen("VpcSubnets", 1))
 14243  	}
 14244  	if s.AutoScalingPolicy != nil {
 14245  		if err := s.AutoScalingPolicy.Validate(); err != nil {
 14246  			invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams))
 14247  		}
 14248  	}
 14249  	if s.InstanceDefinitions != nil {
 14250  		for i, v := range s.InstanceDefinitions {
 14251  			if v == nil {
 14252  				continue
 14253  			}
 14254  			if err := v.Validate(); err != nil {
 14255  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceDefinitions", i), err.(request.ErrInvalidParams))
 14256  			}
 14257  		}
 14258  	}
 14259  	if s.LaunchTemplate != nil {
 14260  		if err := s.LaunchTemplate.Validate(); err != nil {
 14261  			invalidParams.AddNested("LaunchTemplate", err.(request.ErrInvalidParams))
 14262  		}
 14263  	}
 14264  	if s.Tags != nil {
 14265  		for i, v := range s.Tags {
 14266  			if v == nil {
 14267  				continue
 14268  			}
 14269  			if err := v.Validate(); err != nil {
 14270  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 14271  			}
 14272  		}
 14273  	}
 14274  
 14275  	if invalidParams.Len() > 0 {
 14276  		return invalidParams
 14277  	}
 14278  	return nil
 14279  }
 14280  
 14281  // SetAutoScalingPolicy sets the AutoScalingPolicy field's value.
 14282  func (s *CreateGameServerGroupInput) SetAutoScalingPolicy(v *GameServerGroupAutoScalingPolicy) *CreateGameServerGroupInput {
 14283  	s.AutoScalingPolicy = v
 14284  	return s
 14285  }
 14286  
 14287  // SetBalancingStrategy sets the BalancingStrategy field's value.
 14288  func (s *CreateGameServerGroupInput) SetBalancingStrategy(v string) *CreateGameServerGroupInput {
 14289  	s.BalancingStrategy = &v
 14290  	return s
 14291  }
 14292  
 14293  // SetGameServerGroupName sets the GameServerGroupName field's value.
 14294  func (s *CreateGameServerGroupInput) SetGameServerGroupName(v string) *CreateGameServerGroupInput {
 14295  	s.GameServerGroupName = &v
 14296  	return s
 14297  }
 14298  
 14299  // SetGameServerProtectionPolicy sets the GameServerProtectionPolicy field's value.
 14300  func (s *CreateGameServerGroupInput) SetGameServerProtectionPolicy(v string) *CreateGameServerGroupInput {
 14301  	s.GameServerProtectionPolicy = &v
 14302  	return s
 14303  }
 14304  
 14305  // SetInstanceDefinitions sets the InstanceDefinitions field's value.
 14306  func (s *CreateGameServerGroupInput) SetInstanceDefinitions(v []*InstanceDefinition) *CreateGameServerGroupInput {
 14307  	s.InstanceDefinitions = v
 14308  	return s
 14309  }
 14310  
 14311  // SetLaunchTemplate sets the LaunchTemplate field's value.
 14312  func (s *CreateGameServerGroupInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *CreateGameServerGroupInput {
 14313  	s.LaunchTemplate = v
 14314  	return s
 14315  }
 14316  
 14317  // SetMaxSize sets the MaxSize field's value.
 14318  func (s *CreateGameServerGroupInput) SetMaxSize(v int64) *CreateGameServerGroupInput {
 14319  	s.MaxSize = &v
 14320  	return s
 14321  }
 14322  
 14323  // SetMinSize sets the MinSize field's value.
 14324  func (s *CreateGameServerGroupInput) SetMinSize(v int64) *CreateGameServerGroupInput {
 14325  	s.MinSize = &v
 14326  	return s
 14327  }
 14328  
 14329  // SetRoleArn sets the RoleArn field's value.
 14330  func (s *CreateGameServerGroupInput) SetRoleArn(v string) *CreateGameServerGroupInput {
 14331  	s.RoleArn = &v
 14332  	return s
 14333  }
 14334  
 14335  // SetTags sets the Tags field's value.
 14336  func (s *CreateGameServerGroupInput) SetTags(v []*Tag) *CreateGameServerGroupInput {
 14337  	s.Tags = v
 14338  	return s
 14339  }
 14340  
 14341  // SetVpcSubnets sets the VpcSubnets field's value.
 14342  func (s *CreateGameServerGroupInput) SetVpcSubnets(v []*string) *CreateGameServerGroupInput {
 14343  	s.VpcSubnets = v
 14344  	return s
 14345  }
 14346  
 14347  type CreateGameServerGroupOutput struct {
 14348  	_ struct{} `type:"structure"`
 14349  
 14350  	// The newly created game server group object, including the new ARN value for
 14351  	// the GameLift FleetIQ game server group and the object's status. The EC2 Auto
 14352  	// Scaling group ARN is initially null, since the group has not yet been created.
 14353  	// This value is added once the game server group status reaches ACTIVE.
 14354  	GameServerGroup *GameServerGroup `type:"structure"`
 14355  }
 14356  
 14357  // String returns the string representation.
 14358  //
 14359  // API parameter values that are decorated as "sensitive" in the API will not
 14360  // be included in the string output. The member name will be present, but the
 14361  // value will be replaced with "sensitive".
 14362  func (s CreateGameServerGroupOutput) String() string {
 14363  	return awsutil.Prettify(s)
 14364  }
 14365  
 14366  // GoString returns the string representation.
 14367  //
 14368  // API parameter values that are decorated as "sensitive" in the API will not
 14369  // be included in the string output. The member name will be present, but the
 14370  // value will be replaced with "sensitive".
 14371  func (s CreateGameServerGroupOutput) GoString() string {
 14372  	return s.String()
 14373  }
 14374  
 14375  // SetGameServerGroup sets the GameServerGroup field's value.
 14376  func (s *CreateGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *CreateGameServerGroupOutput {
 14377  	s.GameServerGroup = v
 14378  	return s
 14379  }
 14380  
 14381  // Represents the input for a request operation.
 14382  type CreateGameSessionInput struct {
 14383  	_ struct{} `type:"structure"`
 14384  
 14385  	// A unique identifier for the alias associated with the fleet to create a game
 14386  	// session in. You can use either the alias ID or ARN value. Each request must
 14387  	// reference either a fleet ID or alias ID, but not both.
 14388  	AliasId *string `type:"string"`
 14389  
 14390  	// A unique identifier for a player or entity creating the game session. This
 14391  	// parameter is required when requesting a new game session on a fleet with
 14392  	// a resource creation limit policy. This type of policy limits the number of
 14393  	// concurrent active game sessions that one player can create within a certain
 14394  	// time span. GameLift uses the CreatorId to evaluate the new request against
 14395  	// the policy.
 14396  	CreatorId *string `min:"1" type:"string"`
 14397  
 14398  	// A unique identifier for the fleet to create a game session in. You can use
 14399  	// either the fleet ID or ARN value. Each request must reference either a fleet
 14400  	// ID or alias ID, but not both.
 14401  	FleetId *string `type:"string"`
 14402  
 14403  	// A set of custom properties for a game session, formatted as key:value pairs.
 14404  	// These properties are passed to a game server process in the GameSession object
 14405  	// with a request to start a new game session.
 14406  	GameProperties []*GameProperty `type:"list"`
 14407  
 14408  	// A set of custom game session properties, formatted as a single string value.
 14409  	// This data is passed to a game server process in the GameSession object with
 14410  	// a request to start a new game session.
 14411  	GameSessionData *string `min:"1" type:"string"`
 14412  
 14413  	// This parameter is no longer preferred. Please use IdempotencyToken instead.
 14414  	// Custom string that uniquely identifies a request for a new game session.
 14415  	// Maximum token length is 48 characters. If provided, this string is included
 14416  	// in the new game session's ID.
 14417  	GameSessionId *string `min:"1" type:"string"`
 14418  
 14419  	// Custom string that uniquely identifies the new game session request. This
 14420  	// is useful for ensuring that game session requests with the same idempotency
 14421  	// token are processed only once. Subsequent requests with the same string return
 14422  	// the original GameSession object, with an updated status. Maximum token length
 14423  	// is 48 characters. If provided, this string is included in the new game session's
 14424  	// ID. A game session ARN has the following format: arn:aws:gamelift:<region>::gamesession/<fleet
 14425  	// ID>/<custom ID string or idempotency token>. Idempotency tokens remain in
 14426  	// use for 30 days after a game session has ended; game session objects are
 14427  	// retained for this time period and then deleted.
 14428  	IdempotencyToken *string `min:"1" type:"string"`
 14429  
 14430  	// A fleet's remote location to place the new game session in. If this parameter
 14431  	// is not set, the new game session is placed in the fleet's home Region. Specify
 14432  	// a remote location with an AWS Region code such as us-west-2.
 14433  	Location *string `min:"1" type:"string"`
 14434  
 14435  	// The maximum number of players that can be connected simultaneously to the
 14436  	// game session.
 14437  	//
 14438  	// MaximumPlayerSessionCount is a required field
 14439  	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
 14440  
 14441  	// A descriptive label that is associated with a game session. Session names
 14442  	// do not need to be unique.
 14443  	Name *string `min:"1" type:"string"`
 14444  }
 14445  
 14446  // String returns the string representation.
 14447  //
 14448  // API parameter values that are decorated as "sensitive" in the API will not
 14449  // be included in the string output. The member name will be present, but the
 14450  // value will be replaced with "sensitive".
 14451  func (s CreateGameSessionInput) String() string {
 14452  	return awsutil.Prettify(s)
 14453  }
 14454  
 14455  // GoString returns the string representation.
 14456  //
 14457  // API parameter values that are decorated as "sensitive" in the API will not
 14458  // be included in the string output. The member name will be present, but the
 14459  // value will be replaced with "sensitive".
 14460  func (s CreateGameSessionInput) GoString() string {
 14461  	return s.String()
 14462  }
 14463  
 14464  // Validate inspects the fields of the type to determine if they are valid.
 14465  func (s *CreateGameSessionInput) Validate() error {
 14466  	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionInput"}
 14467  	if s.CreatorId != nil && len(*s.CreatorId) < 1 {
 14468  		invalidParams.Add(request.NewErrParamMinLen("CreatorId", 1))
 14469  	}
 14470  	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
 14471  		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
 14472  	}
 14473  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 14474  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 14475  	}
 14476  	if s.IdempotencyToken != nil && len(*s.IdempotencyToken) < 1 {
 14477  		invalidParams.Add(request.NewErrParamMinLen("IdempotencyToken", 1))
 14478  	}
 14479  	if s.Location != nil && len(*s.Location) < 1 {
 14480  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 14481  	}
 14482  	if s.MaximumPlayerSessionCount == nil {
 14483  		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
 14484  	}
 14485  	if s.Name != nil && len(*s.Name) < 1 {
 14486  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 14487  	}
 14488  	if s.GameProperties != nil {
 14489  		for i, v := range s.GameProperties {
 14490  			if v == nil {
 14491  				continue
 14492  			}
 14493  			if err := v.Validate(); err != nil {
 14494  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
 14495  			}
 14496  		}
 14497  	}
 14498  
 14499  	if invalidParams.Len() > 0 {
 14500  		return invalidParams
 14501  	}
 14502  	return nil
 14503  }
 14504  
 14505  // SetAliasId sets the AliasId field's value.
 14506  func (s *CreateGameSessionInput) SetAliasId(v string) *CreateGameSessionInput {
 14507  	s.AliasId = &v
 14508  	return s
 14509  }
 14510  
 14511  // SetCreatorId sets the CreatorId field's value.
 14512  func (s *CreateGameSessionInput) SetCreatorId(v string) *CreateGameSessionInput {
 14513  	s.CreatorId = &v
 14514  	return s
 14515  }
 14516  
 14517  // SetFleetId sets the FleetId field's value.
 14518  func (s *CreateGameSessionInput) SetFleetId(v string) *CreateGameSessionInput {
 14519  	s.FleetId = &v
 14520  	return s
 14521  }
 14522  
 14523  // SetGameProperties sets the GameProperties field's value.
 14524  func (s *CreateGameSessionInput) SetGameProperties(v []*GameProperty) *CreateGameSessionInput {
 14525  	s.GameProperties = v
 14526  	return s
 14527  }
 14528  
 14529  // SetGameSessionData sets the GameSessionData field's value.
 14530  func (s *CreateGameSessionInput) SetGameSessionData(v string) *CreateGameSessionInput {
 14531  	s.GameSessionData = &v
 14532  	return s
 14533  }
 14534  
 14535  // SetGameSessionId sets the GameSessionId field's value.
 14536  func (s *CreateGameSessionInput) SetGameSessionId(v string) *CreateGameSessionInput {
 14537  	s.GameSessionId = &v
 14538  	return s
 14539  }
 14540  
 14541  // SetIdempotencyToken sets the IdempotencyToken field's value.
 14542  func (s *CreateGameSessionInput) SetIdempotencyToken(v string) *CreateGameSessionInput {
 14543  	s.IdempotencyToken = &v
 14544  	return s
 14545  }
 14546  
 14547  // SetLocation sets the Location field's value.
 14548  func (s *CreateGameSessionInput) SetLocation(v string) *CreateGameSessionInput {
 14549  	s.Location = &v
 14550  	return s
 14551  }
 14552  
 14553  // SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
 14554  func (s *CreateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *CreateGameSessionInput {
 14555  	s.MaximumPlayerSessionCount = &v
 14556  	return s
 14557  }
 14558  
 14559  // SetName sets the Name field's value.
 14560  func (s *CreateGameSessionInput) SetName(v string) *CreateGameSessionInput {
 14561  	s.Name = &v
 14562  	return s
 14563  }
 14564  
 14565  // Represents the returned data in response to a request operation.
 14566  type CreateGameSessionOutput struct {
 14567  	_ struct{} `type:"structure"`
 14568  
 14569  	// Object that describes the newly created game session record.
 14570  	GameSession *GameSession `type:"structure"`
 14571  }
 14572  
 14573  // String returns the string representation.
 14574  //
 14575  // API parameter values that are decorated as "sensitive" in the API will not
 14576  // be included in the string output. The member name will be present, but the
 14577  // value will be replaced with "sensitive".
 14578  func (s CreateGameSessionOutput) String() string {
 14579  	return awsutil.Prettify(s)
 14580  }
 14581  
 14582  // GoString returns the string representation.
 14583  //
 14584  // API parameter values that are decorated as "sensitive" in the API will not
 14585  // be included in the string output. The member name will be present, but the
 14586  // value will be replaced with "sensitive".
 14587  func (s CreateGameSessionOutput) GoString() string {
 14588  	return s.String()
 14589  }
 14590  
 14591  // SetGameSession sets the GameSession field's value.
 14592  func (s *CreateGameSessionOutput) SetGameSession(v *GameSession) *CreateGameSessionOutput {
 14593  	s.GameSession = v
 14594  	return s
 14595  }
 14596  
 14597  // Represents the input for a request operation.
 14598  type CreateGameSessionQueueInput struct {
 14599  	_ struct{} `type:"structure"`
 14600  
 14601  	// Information to be added to all events that are related to this game session
 14602  	// queue.
 14603  	CustomEventData *string `type:"string"`
 14604  
 14605  	// A list of fleets and/or fleet aliases that can be used to fulfill game session
 14606  	// placement requests in the queue. Destinations are identified by either a
 14607  	// fleet ARN or a fleet alias ARN, and are listed in order of placement preference.
 14608  	Destinations []*GameSessionQueueDestination `type:"list"`
 14609  
 14610  	// A list of locations where a queue is allowed to place new game sessions.
 14611  	// Locations are specified in the form of AWS Region codes, such as us-west-2.
 14612  	// If this parameter is not set, game sessions can be placed in any queue location.
 14613  	FilterConfiguration *FilterConfiguration `type:"structure"`
 14614  
 14615  	// A descriptive label that is associated with game session queue. Queue names
 14616  	// must be unique within each Region.
 14617  	//
 14618  	// Name is a required field
 14619  	Name *string `min:"1" type:"string" required:"true"`
 14620  
 14621  	// An SNS topic ARN that is set up to receive game session placement notifications.
 14622  	// See Setting up notifications for game session placement (https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html).
 14623  	NotificationTarget *string `type:"string"`
 14624  
 14625  	// A set of policies that act as a sliding cap on player latency. FleetIQ works
 14626  	// to deliver low latency for most players in a game session. These policies
 14627  	// ensure that no individual player can be placed into a game with unreasonably
 14628  	// high latency. Use multiple policies to gradually relax latency requirements
 14629  	// a step at a time. Multiple policies are applied based on their maximum allowed
 14630  	// latency, starting with the lowest value.
 14631  	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
 14632  
 14633  	// Custom settings to use when prioritizing destinations and locations for game
 14634  	// session placements. This configuration replaces the FleetIQ default prioritization
 14635  	// process. Priority types that are not explicitly named will be automatically
 14636  	// applied at the end of the prioritization process.
 14637  	PriorityConfiguration *PriorityConfiguration `type:"structure"`
 14638  
 14639  	// A list of labels to assign to the new game session queue resource. Tags are
 14640  	// developer-defined key-value pairs. Tagging AWS resources are useful for resource
 14641  	// management, access management and cost allocation. For more information,
 14642  	// see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 14643  	// in the AWS General Reference. Once the resource is created, you can use TagResource,
 14644  	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
 14645  	// maximum tag limit may be lower than stated. See the AWS General Reference
 14646  	// for actual tagging limits.
 14647  	Tags []*Tag `type:"list"`
 14648  
 14649  	// The maximum time, in seconds, that a new game session placement request remains
 14650  	// in the queue. When a request exceeds this time, the game session placement
 14651  	// changes to a TIMED_OUT status.
 14652  	TimeoutInSeconds *int64 `type:"integer"`
 14653  }
 14654  
 14655  // String returns the string representation.
 14656  //
 14657  // API parameter values that are decorated as "sensitive" in the API will not
 14658  // be included in the string output. The member name will be present, but the
 14659  // value will be replaced with "sensitive".
 14660  func (s CreateGameSessionQueueInput) String() string {
 14661  	return awsutil.Prettify(s)
 14662  }
 14663  
 14664  // GoString returns the string representation.
 14665  //
 14666  // API parameter values that are decorated as "sensitive" in the API will not
 14667  // be included in the string output. The member name will be present, but the
 14668  // value will be replaced with "sensitive".
 14669  func (s CreateGameSessionQueueInput) GoString() string {
 14670  	return s.String()
 14671  }
 14672  
 14673  // Validate inspects the fields of the type to determine if they are valid.
 14674  func (s *CreateGameSessionQueueInput) Validate() error {
 14675  	invalidParams := request.ErrInvalidParams{Context: "CreateGameSessionQueueInput"}
 14676  	if s.Name == nil {
 14677  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14678  	}
 14679  	if s.Name != nil && len(*s.Name) < 1 {
 14680  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 14681  	}
 14682  	if s.Destinations != nil {
 14683  		for i, v := range s.Destinations {
 14684  			if v == nil {
 14685  				continue
 14686  			}
 14687  			if err := v.Validate(); err != nil {
 14688  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
 14689  			}
 14690  		}
 14691  	}
 14692  	if s.FilterConfiguration != nil {
 14693  		if err := s.FilterConfiguration.Validate(); err != nil {
 14694  			invalidParams.AddNested("FilterConfiguration", err.(request.ErrInvalidParams))
 14695  		}
 14696  	}
 14697  	if s.PriorityConfiguration != nil {
 14698  		if err := s.PriorityConfiguration.Validate(); err != nil {
 14699  			invalidParams.AddNested("PriorityConfiguration", err.(request.ErrInvalidParams))
 14700  		}
 14701  	}
 14702  	if s.Tags != nil {
 14703  		for i, v := range s.Tags {
 14704  			if v == nil {
 14705  				continue
 14706  			}
 14707  			if err := v.Validate(); err != nil {
 14708  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 14709  			}
 14710  		}
 14711  	}
 14712  
 14713  	if invalidParams.Len() > 0 {
 14714  		return invalidParams
 14715  	}
 14716  	return nil
 14717  }
 14718  
 14719  // SetCustomEventData sets the CustomEventData field's value.
 14720  func (s *CreateGameSessionQueueInput) SetCustomEventData(v string) *CreateGameSessionQueueInput {
 14721  	s.CustomEventData = &v
 14722  	return s
 14723  }
 14724  
 14725  // SetDestinations sets the Destinations field's value.
 14726  func (s *CreateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *CreateGameSessionQueueInput {
 14727  	s.Destinations = v
 14728  	return s
 14729  }
 14730  
 14731  // SetFilterConfiguration sets the FilterConfiguration field's value.
 14732  func (s *CreateGameSessionQueueInput) SetFilterConfiguration(v *FilterConfiguration) *CreateGameSessionQueueInput {
 14733  	s.FilterConfiguration = v
 14734  	return s
 14735  }
 14736  
 14737  // SetName sets the Name field's value.
 14738  func (s *CreateGameSessionQueueInput) SetName(v string) *CreateGameSessionQueueInput {
 14739  	s.Name = &v
 14740  	return s
 14741  }
 14742  
 14743  // SetNotificationTarget sets the NotificationTarget field's value.
 14744  func (s *CreateGameSessionQueueInput) SetNotificationTarget(v string) *CreateGameSessionQueueInput {
 14745  	s.NotificationTarget = &v
 14746  	return s
 14747  }
 14748  
 14749  // SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
 14750  func (s *CreateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *CreateGameSessionQueueInput {
 14751  	s.PlayerLatencyPolicies = v
 14752  	return s
 14753  }
 14754  
 14755  // SetPriorityConfiguration sets the PriorityConfiguration field's value.
 14756  func (s *CreateGameSessionQueueInput) SetPriorityConfiguration(v *PriorityConfiguration) *CreateGameSessionQueueInput {
 14757  	s.PriorityConfiguration = v
 14758  	return s
 14759  }
 14760  
 14761  // SetTags sets the Tags field's value.
 14762  func (s *CreateGameSessionQueueInput) SetTags(v []*Tag) *CreateGameSessionQueueInput {
 14763  	s.Tags = v
 14764  	return s
 14765  }
 14766  
 14767  // SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
 14768  func (s *CreateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *CreateGameSessionQueueInput {
 14769  	s.TimeoutInSeconds = &v
 14770  	return s
 14771  }
 14772  
 14773  // Represents the returned data in response to a request operation.
 14774  type CreateGameSessionQueueOutput struct {
 14775  	_ struct{} `type:"structure"`
 14776  
 14777  	// An object that describes the newly created game session queue.
 14778  	GameSessionQueue *GameSessionQueue `type:"structure"`
 14779  }
 14780  
 14781  // String returns the string representation.
 14782  //
 14783  // API parameter values that are decorated as "sensitive" in the API will not
 14784  // be included in the string output. The member name will be present, but the
 14785  // value will be replaced with "sensitive".
 14786  func (s CreateGameSessionQueueOutput) String() string {
 14787  	return awsutil.Prettify(s)
 14788  }
 14789  
 14790  // GoString returns the string representation.
 14791  //
 14792  // API parameter values that are decorated as "sensitive" in the API will not
 14793  // be included in the string output. The member name will be present, but the
 14794  // value will be replaced with "sensitive".
 14795  func (s CreateGameSessionQueueOutput) GoString() string {
 14796  	return s.String()
 14797  }
 14798  
 14799  // SetGameSessionQueue sets the GameSessionQueue field's value.
 14800  func (s *CreateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *CreateGameSessionQueueOutput {
 14801  	s.GameSessionQueue = v
 14802  	return s
 14803  }
 14804  
 14805  // Represents the input for a request operation.
 14806  type CreateMatchmakingConfigurationInput struct {
 14807  	_ struct{} `type:"structure"`
 14808  
 14809  	// A flag that determines whether a match that was created with this configuration
 14810  	// must be accepted by the matched players. To require acceptance, set to TRUE.
 14811  	// With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE
 14812  	// to indicate when a completed potential match is waiting for player acceptance.
 14813  	//
 14814  	// AcceptanceRequired is a required field
 14815  	AcceptanceRequired *bool `type:"boolean" required:"true"`
 14816  
 14817  	// The length of time (in seconds) to wait for players to accept a proposed
 14818  	// match, if acceptance is required.
 14819  	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
 14820  
 14821  	// The number of player slots in a match to keep open for future players. For
 14822  	// example, if the configuration's rule set specifies a match for a single 12-person
 14823  	// team, and the additional player count is set to 2, only 10 players are selected
 14824  	// for the match. This parameter is not used if FlexMatchMode is set to STANDALONE.
 14825  	AdditionalPlayerCount *int64 `type:"integer"`
 14826  
 14827  	// The method used to backfill game sessions that are created with this matchmaking
 14828  	// configuration. Specify MANUAL when your game manages backfill requests manually
 14829  	// or does not use the match backfill feature. Specify AUTOMATIC to have GameLift
 14830  	// create a StartMatchBackfill request whenever a game session has one or more
 14831  	// open slots. Learn more about manual and automatic backfill in Backfill Existing
 14832  	// Games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html).
 14833  	// Automatic backfill is not available when FlexMatchMode is set to STANDALONE.
 14834  	BackfillMode *string `type:"string" enum:"BackfillMode"`
 14835  
 14836  	// Information to be added to all events related to this matchmaking configuration.
 14837  	CustomEventData *string `type:"string"`
 14838  
 14839  	// A human-readable description of the matchmaking configuration.
 14840  	Description *string `min:"1" type:"string"`
 14841  
 14842  	// Indicates whether this matchmaking configuration is being used with GameLift
 14843  	// hosting or as a standalone matchmaking solution.
 14844  	//
 14845  	//    * STANDALONE - FlexMatch forms matches and returns match information,
 14846  	//    including players and team assignments, in a MatchmakingSucceeded (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded)
 14847  	//    event.
 14848  	//
 14849  	//    * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift
 14850  	//    queue to start a game session for the match.
 14851  	FlexMatchMode *string `type:"string" enum:"FlexMatchMode"`
 14852  
 14853  	// A set of custom properties for a game session, formatted as key:value pairs.
 14854  	// These properties are passed to a game server process in the GameSession object
 14855  	// 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)).
 14856  	// This information is added to the new GameSession object that is created for
 14857  	// a successful match. This parameter is not used if FlexMatchMode is set to
 14858  	// STANDALONE.
 14859  	GameProperties []*GameProperty `type:"list"`
 14860  
 14861  	// A set of custom game session properties, formatted as a single string value.
 14862  	// This data is passed to a game server process in the GameSession object with
 14863  	// 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)).
 14864  	// This information is added to the new GameSession object that is created for
 14865  	// a successful match. This parameter is not used if FlexMatchMode is set to
 14866  	// STANDALONE.
 14867  	GameSessionData *string `min:"1" type:"string"`
 14868  
 14869  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 14870  	// that is assigned to a GameLift game session queue resource and uniquely identifies
 14871  	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
 14872  	// name>. Queues can be located in any Region. Queues are used to start new
 14873  	// GameLift-hosted game sessions for matches that are created with this matchmaking
 14874  	// configuration. If FlexMatchMode is set to STANDALONE, do not set this parameter.
 14875  	GameSessionQueueArns []*string `type:"list"`
 14876  
 14877  	// A unique identifier for the matchmaking configuration. This name is used
 14878  	// to identify the configuration associated with a matchmaking request or ticket.
 14879  	//
 14880  	// Name is a required field
 14881  	Name *string `type:"string" required:"true"`
 14882  
 14883  	// An SNS topic ARN that is set up to receive matchmaking notifications. See
 14884  	// Setting up notifications for matchmaking (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
 14885  	// for more information.
 14886  	NotificationTarget *string `type:"string"`
 14887  
 14888  	// The maximum duration, in seconds, that a matchmaking ticket can remain in
 14889  	// process before timing out. Requests that fail due to timing out can be resubmitted
 14890  	// as needed.
 14891  	//
 14892  	// RequestTimeoutSeconds is a required field
 14893  	RequestTimeoutSeconds *int64 `min:"1" type:"integer" required:"true"`
 14894  
 14895  	// A unique identifier for the matchmaking rule set to use with this configuration.
 14896  	// You can use either the rule set name or ARN value. A matchmaking configuration
 14897  	// can only use rule sets that are defined in the same Region.
 14898  	//
 14899  	// RuleSetName is a required field
 14900  	RuleSetName *string `min:"1" type:"string" required:"true"`
 14901  
 14902  	// A list of labels to assign to the new matchmaking configuration resource.
 14903  	// Tags are developer-defined key-value pairs. Tagging AWS resources are useful
 14904  	// for resource management, access management and cost allocation. For more
 14905  	// information, see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 14906  	// in the AWS General Reference. Once the resource is created, you can use TagResource,
 14907  	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
 14908  	// maximum tag limit may be lower than stated. See the AWS General Reference
 14909  	// for actual tagging limits.
 14910  	Tags []*Tag `type:"list"`
 14911  }
 14912  
 14913  // String returns the string representation.
 14914  //
 14915  // API parameter values that are decorated as "sensitive" in the API will not
 14916  // be included in the string output. The member name will be present, but the
 14917  // value will be replaced with "sensitive".
 14918  func (s CreateMatchmakingConfigurationInput) String() string {
 14919  	return awsutil.Prettify(s)
 14920  }
 14921  
 14922  // GoString returns the string representation.
 14923  //
 14924  // API parameter values that are decorated as "sensitive" in the API will not
 14925  // be included in the string output. The member name will be present, but the
 14926  // value will be replaced with "sensitive".
 14927  func (s CreateMatchmakingConfigurationInput) GoString() string {
 14928  	return s.String()
 14929  }
 14930  
 14931  // Validate inspects the fields of the type to determine if they are valid.
 14932  func (s *CreateMatchmakingConfigurationInput) Validate() error {
 14933  	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingConfigurationInput"}
 14934  	if s.AcceptanceRequired == nil {
 14935  		invalidParams.Add(request.NewErrParamRequired("AcceptanceRequired"))
 14936  	}
 14937  	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
 14938  		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
 14939  	}
 14940  	if s.Description != nil && len(*s.Description) < 1 {
 14941  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 14942  	}
 14943  	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
 14944  		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
 14945  	}
 14946  	if s.Name == nil {
 14947  		invalidParams.Add(request.NewErrParamRequired("Name"))
 14948  	}
 14949  	if s.RequestTimeoutSeconds == nil {
 14950  		invalidParams.Add(request.NewErrParamRequired("RequestTimeoutSeconds"))
 14951  	}
 14952  	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
 14953  		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
 14954  	}
 14955  	if s.RuleSetName == nil {
 14956  		invalidParams.Add(request.NewErrParamRequired("RuleSetName"))
 14957  	}
 14958  	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
 14959  		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
 14960  	}
 14961  	if s.GameProperties != nil {
 14962  		for i, v := range s.GameProperties {
 14963  			if v == nil {
 14964  				continue
 14965  			}
 14966  			if err := v.Validate(); err != nil {
 14967  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
 14968  			}
 14969  		}
 14970  	}
 14971  	if s.Tags != nil {
 14972  		for i, v := range s.Tags {
 14973  			if v == nil {
 14974  				continue
 14975  			}
 14976  			if err := v.Validate(); err != nil {
 14977  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 14978  			}
 14979  		}
 14980  	}
 14981  
 14982  	if invalidParams.Len() > 0 {
 14983  		return invalidParams
 14984  	}
 14985  	return nil
 14986  }
 14987  
 14988  // SetAcceptanceRequired sets the AcceptanceRequired field's value.
 14989  func (s *CreateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *CreateMatchmakingConfigurationInput {
 14990  	s.AcceptanceRequired = &v
 14991  	return s
 14992  }
 14993  
 14994  // SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
 14995  func (s *CreateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
 14996  	s.AcceptanceTimeoutSeconds = &v
 14997  	return s
 14998  }
 14999  
 15000  // SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
 15001  func (s *CreateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *CreateMatchmakingConfigurationInput {
 15002  	s.AdditionalPlayerCount = &v
 15003  	return s
 15004  }
 15005  
 15006  // SetBackfillMode sets the BackfillMode field's value.
 15007  func (s *CreateMatchmakingConfigurationInput) SetBackfillMode(v string) *CreateMatchmakingConfigurationInput {
 15008  	s.BackfillMode = &v
 15009  	return s
 15010  }
 15011  
 15012  // SetCustomEventData sets the CustomEventData field's value.
 15013  func (s *CreateMatchmakingConfigurationInput) SetCustomEventData(v string) *CreateMatchmakingConfigurationInput {
 15014  	s.CustomEventData = &v
 15015  	return s
 15016  }
 15017  
 15018  // SetDescription sets the Description field's value.
 15019  func (s *CreateMatchmakingConfigurationInput) SetDescription(v string) *CreateMatchmakingConfigurationInput {
 15020  	s.Description = &v
 15021  	return s
 15022  }
 15023  
 15024  // SetFlexMatchMode sets the FlexMatchMode field's value.
 15025  func (s *CreateMatchmakingConfigurationInput) SetFlexMatchMode(v string) *CreateMatchmakingConfigurationInput {
 15026  	s.FlexMatchMode = &v
 15027  	return s
 15028  }
 15029  
 15030  // SetGameProperties sets the GameProperties field's value.
 15031  func (s *CreateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *CreateMatchmakingConfigurationInput {
 15032  	s.GameProperties = v
 15033  	return s
 15034  }
 15035  
 15036  // SetGameSessionData sets the GameSessionData field's value.
 15037  func (s *CreateMatchmakingConfigurationInput) SetGameSessionData(v string) *CreateMatchmakingConfigurationInput {
 15038  	s.GameSessionData = &v
 15039  	return s
 15040  }
 15041  
 15042  // SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
 15043  func (s *CreateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *CreateMatchmakingConfigurationInput {
 15044  	s.GameSessionQueueArns = v
 15045  	return s
 15046  }
 15047  
 15048  // SetName sets the Name field's value.
 15049  func (s *CreateMatchmakingConfigurationInput) SetName(v string) *CreateMatchmakingConfigurationInput {
 15050  	s.Name = &v
 15051  	return s
 15052  }
 15053  
 15054  // SetNotificationTarget sets the NotificationTarget field's value.
 15055  func (s *CreateMatchmakingConfigurationInput) SetNotificationTarget(v string) *CreateMatchmakingConfigurationInput {
 15056  	s.NotificationTarget = &v
 15057  	return s
 15058  }
 15059  
 15060  // SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
 15061  func (s *CreateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *CreateMatchmakingConfigurationInput {
 15062  	s.RequestTimeoutSeconds = &v
 15063  	return s
 15064  }
 15065  
 15066  // SetRuleSetName sets the RuleSetName field's value.
 15067  func (s *CreateMatchmakingConfigurationInput) SetRuleSetName(v string) *CreateMatchmakingConfigurationInput {
 15068  	s.RuleSetName = &v
 15069  	return s
 15070  }
 15071  
 15072  // SetTags sets the Tags field's value.
 15073  func (s *CreateMatchmakingConfigurationInput) SetTags(v []*Tag) *CreateMatchmakingConfigurationInput {
 15074  	s.Tags = v
 15075  	return s
 15076  }
 15077  
 15078  // Represents the returned data in response to a request operation.
 15079  type CreateMatchmakingConfigurationOutput struct {
 15080  	_ struct{} `type:"structure"`
 15081  
 15082  	// Object that describes the newly created matchmaking configuration.
 15083  	Configuration *MatchmakingConfiguration `type:"structure"`
 15084  }
 15085  
 15086  // String returns the string representation.
 15087  //
 15088  // API parameter values that are decorated as "sensitive" in the API will not
 15089  // be included in the string output. The member name will be present, but the
 15090  // value will be replaced with "sensitive".
 15091  func (s CreateMatchmakingConfigurationOutput) String() string {
 15092  	return awsutil.Prettify(s)
 15093  }
 15094  
 15095  // GoString returns the string representation.
 15096  //
 15097  // API parameter values that are decorated as "sensitive" in the API will not
 15098  // be included in the string output. The member name will be present, but the
 15099  // value will be replaced with "sensitive".
 15100  func (s CreateMatchmakingConfigurationOutput) GoString() string {
 15101  	return s.String()
 15102  }
 15103  
 15104  // SetConfiguration sets the Configuration field's value.
 15105  func (s *CreateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *CreateMatchmakingConfigurationOutput {
 15106  	s.Configuration = v
 15107  	return s
 15108  }
 15109  
 15110  // Represents the input for a request operation.
 15111  type CreateMatchmakingRuleSetInput struct {
 15112  	_ struct{} `type:"structure"`
 15113  
 15114  	// A unique identifier for the matchmaking rule set. A matchmaking configuration
 15115  	// identifies the rule set it uses by this name value. Note that the rule set
 15116  	// name is different from the optional name field in the rule set body.
 15117  	//
 15118  	// Name is a required field
 15119  	Name *string `type:"string" required:"true"`
 15120  
 15121  	// A collection of matchmaking rules, formatted as a JSON string. Comments are
 15122  	// not allowed in JSON, but most elements support a description field.
 15123  	//
 15124  	// RuleSetBody is a required field
 15125  	RuleSetBody *string `min:"1" type:"string" required:"true"`
 15126  
 15127  	// A list of labels to assign to the new matchmaking rule set resource. Tags
 15128  	// are developer-defined key-value pairs. Tagging AWS resources are useful for
 15129  	// resource management, access management and cost allocation. For more information,
 15130  	// see Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 15131  	// in the AWS General Reference. Once the resource is created, you can use TagResource,
 15132  	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
 15133  	// maximum tag limit may be lower than stated. See the AWS General Reference
 15134  	// for actual tagging limits.
 15135  	Tags []*Tag `type:"list"`
 15136  }
 15137  
 15138  // String returns the string representation.
 15139  //
 15140  // API parameter values that are decorated as "sensitive" in the API will not
 15141  // be included in the string output. The member name will be present, but the
 15142  // value will be replaced with "sensitive".
 15143  func (s CreateMatchmakingRuleSetInput) String() string {
 15144  	return awsutil.Prettify(s)
 15145  }
 15146  
 15147  // GoString returns the string representation.
 15148  //
 15149  // API parameter values that are decorated as "sensitive" in the API will not
 15150  // be included in the string output. The member name will be present, but the
 15151  // value will be replaced with "sensitive".
 15152  func (s CreateMatchmakingRuleSetInput) GoString() string {
 15153  	return s.String()
 15154  }
 15155  
 15156  // Validate inspects the fields of the type to determine if they are valid.
 15157  func (s *CreateMatchmakingRuleSetInput) Validate() error {
 15158  	invalidParams := request.ErrInvalidParams{Context: "CreateMatchmakingRuleSetInput"}
 15159  	if s.Name == nil {
 15160  		invalidParams.Add(request.NewErrParamRequired("Name"))
 15161  	}
 15162  	if s.RuleSetBody == nil {
 15163  		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
 15164  	}
 15165  	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
 15166  		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
 15167  	}
 15168  	if s.Tags != nil {
 15169  		for i, v := range s.Tags {
 15170  			if v == nil {
 15171  				continue
 15172  			}
 15173  			if err := v.Validate(); err != nil {
 15174  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 15175  			}
 15176  		}
 15177  	}
 15178  
 15179  	if invalidParams.Len() > 0 {
 15180  		return invalidParams
 15181  	}
 15182  	return nil
 15183  }
 15184  
 15185  // SetName sets the Name field's value.
 15186  func (s *CreateMatchmakingRuleSetInput) SetName(v string) *CreateMatchmakingRuleSetInput {
 15187  	s.Name = &v
 15188  	return s
 15189  }
 15190  
 15191  // SetRuleSetBody sets the RuleSetBody field's value.
 15192  func (s *CreateMatchmakingRuleSetInput) SetRuleSetBody(v string) *CreateMatchmakingRuleSetInput {
 15193  	s.RuleSetBody = &v
 15194  	return s
 15195  }
 15196  
 15197  // SetTags sets the Tags field's value.
 15198  func (s *CreateMatchmakingRuleSetInput) SetTags(v []*Tag) *CreateMatchmakingRuleSetInput {
 15199  	s.Tags = v
 15200  	return s
 15201  }
 15202  
 15203  // Represents the returned data in response to a request operation.
 15204  type CreateMatchmakingRuleSetOutput struct {
 15205  	_ struct{} `type:"structure"`
 15206  
 15207  	// The newly created matchmaking rule set.
 15208  	//
 15209  	// RuleSet is a required field
 15210  	RuleSet *MatchmakingRuleSet `type:"structure" required:"true"`
 15211  }
 15212  
 15213  // String returns the string representation.
 15214  //
 15215  // API parameter values that are decorated as "sensitive" in the API will not
 15216  // be included in the string output. The member name will be present, but the
 15217  // value will be replaced with "sensitive".
 15218  func (s CreateMatchmakingRuleSetOutput) String() string {
 15219  	return awsutil.Prettify(s)
 15220  }
 15221  
 15222  // GoString returns the string representation.
 15223  //
 15224  // API parameter values that are decorated as "sensitive" in the API will not
 15225  // be included in the string output. The member name will be present, but the
 15226  // value will be replaced with "sensitive".
 15227  func (s CreateMatchmakingRuleSetOutput) GoString() string {
 15228  	return s.String()
 15229  }
 15230  
 15231  // SetRuleSet sets the RuleSet field's value.
 15232  func (s *CreateMatchmakingRuleSetOutput) SetRuleSet(v *MatchmakingRuleSet) *CreateMatchmakingRuleSetOutput {
 15233  	s.RuleSet = v
 15234  	return s
 15235  }
 15236  
 15237  // Represents the input for a request operation.
 15238  type CreatePlayerSessionInput struct {
 15239  	_ struct{} `type:"structure"`
 15240  
 15241  	// A unique identifier for the game session to add a player to.
 15242  	//
 15243  	// GameSessionId is a required field
 15244  	GameSessionId *string `min:"1" type:"string" required:"true"`
 15245  
 15246  	// Developer-defined information related to a player. GameLift does not use
 15247  	// this data, so it can be formatted as needed for use in the game.
 15248  	PlayerData *string `min:"1" type:"string"`
 15249  
 15250  	// A unique identifier for a player. Player IDs are developer-defined.
 15251  	//
 15252  	// PlayerId is a required field
 15253  	PlayerId *string `min:"1" type:"string" required:"true"`
 15254  }
 15255  
 15256  // String returns the string representation.
 15257  //
 15258  // API parameter values that are decorated as "sensitive" in the API will not
 15259  // be included in the string output. The member name will be present, but the
 15260  // value will be replaced with "sensitive".
 15261  func (s CreatePlayerSessionInput) String() string {
 15262  	return awsutil.Prettify(s)
 15263  }
 15264  
 15265  // GoString returns the string representation.
 15266  //
 15267  // API parameter values that are decorated as "sensitive" in the API will not
 15268  // be included in the string output. The member name will be present, but the
 15269  // value will be replaced with "sensitive".
 15270  func (s CreatePlayerSessionInput) GoString() string {
 15271  	return s.String()
 15272  }
 15273  
 15274  // Validate inspects the fields of the type to determine if they are valid.
 15275  func (s *CreatePlayerSessionInput) Validate() error {
 15276  	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionInput"}
 15277  	if s.GameSessionId == nil {
 15278  		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
 15279  	}
 15280  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 15281  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 15282  	}
 15283  	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
 15284  		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
 15285  	}
 15286  	if s.PlayerId == nil {
 15287  		invalidParams.Add(request.NewErrParamRequired("PlayerId"))
 15288  	}
 15289  	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
 15290  		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
 15291  	}
 15292  
 15293  	if invalidParams.Len() > 0 {
 15294  		return invalidParams
 15295  	}
 15296  	return nil
 15297  }
 15298  
 15299  // SetGameSessionId sets the GameSessionId field's value.
 15300  func (s *CreatePlayerSessionInput) SetGameSessionId(v string) *CreatePlayerSessionInput {
 15301  	s.GameSessionId = &v
 15302  	return s
 15303  }
 15304  
 15305  // SetPlayerData sets the PlayerData field's value.
 15306  func (s *CreatePlayerSessionInput) SetPlayerData(v string) *CreatePlayerSessionInput {
 15307  	s.PlayerData = &v
 15308  	return s
 15309  }
 15310  
 15311  // SetPlayerId sets the PlayerId field's value.
 15312  func (s *CreatePlayerSessionInput) SetPlayerId(v string) *CreatePlayerSessionInput {
 15313  	s.PlayerId = &v
 15314  	return s
 15315  }
 15316  
 15317  // Represents the returned data in response to a request operation.
 15318  type CreatePlayerSessionOutput struct {
 15319  	_ struct{} `type:"structure"`
 15320  
 15321  	// Object that describes the newly created player session record.
 15322  	PlayerSession *PlayerSession `type:"structure"`
 15323  }
 15324  
 15325  // String returns the string representation.
 15326  //
 15327  // API parameter values that are decorated as "sensitive" in the API will not
 15328  // be included in the string output. The member name will be present, but the
 15329  // value will be replaced with "sensitive".
 15330  func (s CreatePlayerSessionOutput) String() string {
 15331  	return awsutil.Prettify(s)
 15332  }
 15333  
 15334  // GoString returns the string representation.
 15335  //
 15336  // API parameter values that are decorated as "sensitive" in the API will not
 15337  // be included in the string output. The member name will be present, but the
 15338  // value will be replaced with "sensitive".
 15339  func (s CreatePlayerSessionOutput) GoString() string {
 15340  	return s.String()
 15341  }
 15342  
 15343  // SetPlayerSession sets the PlayerSession field's value.
 15344  func (s *CreatePlayerSessionOutput) SetPlayerSession(v *PlayerSession) *CreatePlayerSessionOutput {
 15345  	s.PlayerSession = v
 15346  	return s
 15347  }
 15348  
 15349  // Represents the input for a request operation.
 15350  type CreatePlayerSessionsInput struct {
 15351  	_ struct{} `type:"structure"`
 15352  
 15353  	// A unique identifier for the game session to add players to.
 15354  	//
 15355  	// GameSessionId is a required field
 15356  	GameSessionId *string `min:"1" type:"string" required:"true"`
 15357  
 15358  	// Map of string pairs, each specifying a player ID and a set of developer-defined
 15359  	// information related to the player. Amazon GameLift does not use this data,
 15360  	// so it can be formatted as needed for use in the game. Any player data strings
 15361  	// for player IDs that are not included in the PlayerIds parameter are ignored.
 15362  	PlayerDataMap map[string]*string `type:"map"`
 15363  
 15364  	// List of unique identifiers for the players to be added.
 15365  	//
 15366  	// PlayerIds is a required field
 15367  	PlayerIds []*string `min:"1" type:"list" required:"true"`
 15368  }
 15369  
 15370  // String returns the string representation.
 15371  //
 15372  // API parameter values that are decorated as "sensitive" in the API will not
 15373  // be included in the string output. The member name will be present, but the
 15374  // value will be replaced with "sensitive".
 15375  func (s CreatePlayerSessionsInput) String() string {
 15376  	return awsutil.Prettify(s)
 15377  }
 15378  
 15379  // GoString returns the string representation.
 15380  //
 15381  // API parameter values that are decorated as "sensitive" in the API will not
 15382  // be included in the string output. The member name will be present, but the
 15383  // value will be replaced with "sensitive".
 15384  func (s CreatePlayerSessionsInput) GoString() string {
 15385  	return s.String()
 15386  }
 15387  
 15388  // Validate inspects the fields of the type to determine if they are valid.
 15389  func (s *CreatePlayerSessionsInput) Validate() error {
 15390  	invalidParams := request.ErrInvalidParams{Context: "CreatePlayerSessionsInput"}
 15391  	if s.GameSessionId == nil {
 15392  		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
 15393  	}
 15394  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 15395  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 15396  	}
 15397  	if s.PlayerIds == nil {
 15398  		invalidParams.Add(request.NewErrParamRequired("PlayerIds"))
 15399  	}
 15400  	if s.PlayerIds != nil && len(s.PlayerIds) < 1 {
 15401  		invalidParams.Add(request.NewErrParamMinLen("PlayerIds", 1))
 15402  	}
 15403  
 15404  	if invalidParams.Len() > 0 {
 15405  		return invalidParams
 15406  	}
 15407  	return nil
 15408  }
 15409  
 15410  // SetGameSessionId sets the GameSessionId field's value.
 15411  func (s *CreatePlayerSessionsInput) SetGameSessionId(v string) *CreatePlayerSessionsInput {
 15412  	s.GameSessionId = &v
 15413  	return s
 15414  }
 15415  
 15416  // SetPlayerDataMap sets the PlayerDataMap field's value.
 15417  func (s *CreatePlayerSessionsInput) SetPlayerDataMap(v map[string]*string) *CreatePlayerSessionsInput {
 15418  	s.PlayerDataMap = v
 15419  	return s
 15420  }
 15421  
 15422  // SetPlayerIds sets the PlayerIds field's value.
 15423  func (s *CreatePlayerSessionsInput) SetPlayerIds(v []*string) *CreatePlayerSessionsInput {
 15424  	s.PlayerIds = v
 15425  	return s
 15426  }
 15427  
 15428  // Represents the returned data in response to a request operation.
 15429  type CreatePlayerSessionsOutput struct {
 15430  	_ struct{} `type:"structure"`
 15431  
 15432  	// A collection of player session objects created for the added players.
 15433  	PlayerSessions []*PlayerSession `type:"list"`
 15434  }
 15435  
 15436  // String returns the string representation.
 15437  //
 15438  // API parameter values that are decorated as "sensitive" in the API will not
 15439  // be included in the string output. The member name will be present, but the
 15440  // value will be replaced with "sensitive".
 15441  func (s CreatePlayerSessionsOutput) String() string {
 15442  	return awsutil.Prettify(s)
 15443  }
 15444  
 15445  // GoString returns the string representation.
 15446  //
 15447  // API parameter values that are decorated as "sensitive" in the API will not
 15448  // be included in the string output. The member name will be present, but the
 15449  // value will be replaced with "sensitive".
 15450  func (s CreatePlayerSessionsOutput) GoString() string {
 15451  	return s.String()
 15452  }
 15453  
 15454  // SetPlayerSessions sets the PlayerSessions field's value.
 15455  func (s *CreatePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *CreatePlayerSessionsOutput {
 15456  	s.PlayerSessions = v
 15457  	return s
 15458  }
 15459  
 15460  type CreateScriptInput struct {
 15461  	_ struct{} `type:"structure"`
 15462  
 15463  	// A descriptive label that is associated with a script. Script names do not
 15464  	// need to be unique. You can use UpdateScript to change this value later.
 15465  	Name *string `min:"1" type:"string"`
 15466  
 15467  	// The location of the Amazon S3 bucket where a zipped file containing your
 15468  	// Realtime scripts is stored. The storage location must specify the Amazon
 15469  	// S3 bucket name, the zip file name (the "key"), and a role ARN that allows
 15470  	// Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must
 15471  	// be in the same Region where you want to create a new script. By default,
 15472  	// Amazon GameLift uploads the latest version of the zip file; if you have S3
 15473  	// object versioning turned on, you can use the ObjectVersion parameter to specify
 15474  	// an earlier version.
 15475  	StorageLocation *S3Location `type:"structure"`
 15476  
 15477  	// A list of labels to assign to the new script resource. Tags are developer-defined
 15478  	// key-value pairs. Tagging AWS resources are useful for resource management,
 15479  	// access management and cost allocation. For more information, see Tagging
 15480  	// AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 15481  	// in the AWS General Reference. Once the resource is created, you can use TagResource,
 15482  	// UntagResource, and ListTagsForResource to add, remove, and view tags. The
 15483  	// maximum tag limit may be lower than stated. See the AWS General Reference
 15484  	// for actual tagging limits.
 15485  	Tags []*Tag `type:"list"`
 15486  
 15487  	// Version information that is associated with a build or script. Version strings
 15488  	// do not need to be unique. You can use UpdateScript to change this value later.
 15489  	Version *string `min:"1" type:"string"`
 15490  
 15491  	// A data object containing your Realtime scripts and dependencies as a zip
 15492  	// file. The zip file can have one or multiple files. Maximum size of a zip
 15493  	// file is 5 MB.
 15494  	//
 15495  	// When using the AWS CLI tool to create a script, this parameter is set to
 15496  	// the zip file name. It must be prepended with the string "fileb://" to indicate
 15497  	// that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.
 15498  	// ZipFile is automatically base64 encoded/decoded by the SDK.
 15499  	ZipFile []byte `type:"blob"`
 15500  }
 15501  
 15502  // String returns the string representation.
 15503  //
 15504  // API parameter values that are decorated as "sensitive" in the API will not
 15505  // be included in the string output. The member name will be present, but the
 15506  // value will be replaced with "sensitive".
 15507  func (s CreateScriptInput) String() string {
 15508  	return awsutil.Prettify(s)
 15509  }
 15510  
 15511  // GoString returns the string representation.
 15512  //
 15513  // API parameter values that are decorated as "sensitive" in the API will not
 15514  // be included in the string output. The member name will be present, but the
 15515  // value will be replaced with "sensitive".
 15516  func (s CreateScriptInput) GoString() string {
 15517  	return s.String()
 15518  }
 15519  
 15520  // Validate inspects the fields of the type to determine if they are valid.
 15521  func (s *CreateScriptInput) Validate() error {
 15522  	invalidParams := request.ErrInvalidParams{Context: "CreateScriptInput"}
 15523  	if s.Name != nil && len(*s.Name) < 1 {
 15524  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15525  	}
 15526  	if s.Version != nil && len(*s.Version) < 1 {
 15527  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 15528  	}
 15529  	if s.StorageLocation != nil {
 15530  		if err := s.StorageLocation.Validate(); err != nil {
 15531  			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
 15532  		}
 15533  	}
 15534  	if s.Tags != nil {
 15535  		for i, v := range s.Tags {
 15536  			if v == nil {
 15537  				continue
 15538  			}
 15539  			if err := v.Validate(); err != nil {
 15540  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 15541  			}
 15542  		}
 15543  	}
 15544  
 15545  	if invalidParams.Len() > 0 {
 15546  		return invalidParams
 15547  	}
 15548  	return nil
 15549  }
 15550  
 15551  // SetName sets the Name field's value.
 15552  func (s *CreateScriptInput) SetName(v string) *CreateScriptInput {
 15553  	s.Name = &v
 15554  	return s
 15555  }
 15556  
 15557  // SetStorageLocation sets the StorageLocation field's value.
 15558  func (s *CreateScriptInput) SetStorageLocation(v *S3Location) *CreateScriptInput {
 15559  	s.StorageLocation = v
 15560  	return s
 15561  }
 15562  
 15563  // SetTags sets the Tags field's value.
 15564  func (s *CreateScriptInput) SetTags(v []*Tag) *CreateScriptInput {
 15565  	s.Tags = v
 15566  	return s
 15567  }
 15568  
 15569  // SetVersion sets the Version field's value.
 15570  func (s *CreateScriptInput) SetVersion(v string) *CreateScriptInput {
 15571  	s.Version = &v
 15572  	return s
 15573  }
 15574  
 15575  // SetZipFile sets the ZipFile field's value.
 15576  func (s *CreateScriptInput) SetZipFile(v []byte) *CreateScriptInput {
 15577  	s.ZipFile = v
 15578  	return s
 15579  }
 15580  
 15581  type CreateScriptOutput struct {
 15582  	_ struct{} `type:"structure"`
 15583  
 15584  	// The newly created script record with a unique script ID and ARN. The new
 15585  	// script's storage location reflects an Amazon S3 location: (1) If the script
 15586  	// was uploaded from an S3 bucket under your account, the storage location reflects
 15587  	// the information that was provided in the CreateScript request; (2) If the
 15588  	// script file was uploaded from a local zip file, the storage location reflects
 15589  	// an S3 location controls by the Amazon GameLift service.
 15590  	Script *Script `type:"structure"`
 15591  }
 15592  
 15593  // String returns the string representation.
 15594  //
 15595  // API parameter values that are decorated as "sensitive" in the API will not
 15596  // be included in the string output. The member name will be present, but the
 15597  // value will be replaced with "sensitive".
 15598  func (s CreateScriptOutput) String() string {
 15599  	return awsutil.Prettify(s)
 15600  }
 15601  
 15602  // GoString returns the string representation.
 15603  //
 15604  // API parameter values that are decorated as "sensitive" in the API will not
 15605  // be included in the string output. The member name will be present, but the
 15606  // value will be replaced with "sensitive".
 15607  func (s CreateScriptOutput) GoString() string {
 15608  	return s.String()
 15609  }
 15610  
 15611  // SetScript sets the Script field's value.
 15612  func (s *CreateScriptOutput) SetScript(v *Script) *CreateScriptOutput {
 15613  	s.Script = v
 15614  	return s
 15615  }
 15616  
 15617  // Represents the input for a request operation.
 15618  type CreateVpcPeeringAuthorizationInput struct {
 15619  	_ struct{} `type:"structure"`
 15620  
 15621  	// A unique identifier for the AWS account that you use to manage your GameLift
 15622  	// fleet. You can find your Account ID in the AWS Management Console under account
 15623  	// settings.
 15624  	//
 15625  	// GameLiftAwsAccountId is a required field
 15626  	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
 15627  
 15628  	// A unique identifier for a VPC with resources to be accessed by your GameLift
 15629  	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
 15630  	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
 15631  	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
 15632  	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
 15633  	//
 15634  	// PeerVpcId is a required field
 15635  	PeerVpcId *string `min:"1" type:"string" required:"true"`
 15636  }
 15637  
 15638  // String returns the string representation.
 15639  //
 15640  // API parameter values that are decorated as "sensitive" in the API will not
 15641  // be included in the string output. The member name will be present, but the
 15642  // value will be replaced with "sensitive".
 15643  func (s CreateVpcPeeringAuthorizationInput) String() string {
 15644  	return awsutil.Prettify(s)
 15645  }
 15646  
 15647  // GoString returns the string representation.
 15648  //
 15649  // API parameter values that are decorated as "sensitive" in the API will not
 15650  // be included in the string output. The member name will be present, but the
 15651  // value will be replaced with "sensitive".
 15652  func (s CreateVpcPeeringAuthorizationInput) GoString() string {
 15653  	return s.String()
 15654  }
 15655  
 15656  // Validate inspects the fields of the type to determine if they are valid.
 15657  func (s *CreateVpcPeeringAuthorizationInput) Validate() error {
 15658  	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringAuthorizationInput"}
 15659  	if s.GameLiftAwsAccountId == nil {
 15660  		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
 15661  	}
 15662  	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
 15663  		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
 15664  	}
 15665  	if s.PeerVpcId == nil {
 15666  		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
 15667  	}
 15668  	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
 15669  		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
 15670  	}
 15671  
 15672  	if invalidParams.Len() > 0 {
 15673  		return invalidParams
 15674  	}
 15675  	return nil
 15676  }
 15677  
 15678  // SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
 15679  func (s *CreateVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *CreateVpcPeeringAuthorizationInput {
 15680  	s.GameLiftAwsAccountId = &v
 15681  	return s
 15682  }
 15683  
 15684  // SetPeerVpcId sets the PeerVpcId field's value.
 15685  func (s *CreateVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *CreateVpcPeeringAuthorizationInput {
 15686  	s.PeerVpcId = &v
 15687  	return s
 15688  }
 15689  
 15690  // Represents the returned data in response to a request operation.
 15691  type CreateVpcPeeringAuthorizationOutput struct {
 15692  	_ struct{} `type:"structure"`
 15693  
 15694  	// Details on the requested VPC peering authorization, including expiration.
 15695  	VpcPeeringAuthorization *VpcPeeringAuthorization `type:"structure"`
 15696  }
 15697  
 15698  // String returns the string representation.
 15699  //
 15700  // API parameter values that are decorated as "sensitive" in the API will not
 15701  // be included in the string output. The member name will be present, but the
 15702  // value will be replaced with "sensitive".
 15703  func (s CreateVpcPeeringAuthorizationOutput) String() string {
 15704  	return awsutil.Prettify(s)
 15705  }
 15706  
 15707  // GoString returns the string representation.
 15708  //
 15709  // API parameter values that are decorated as "sensitive" in the API will not
 15710  // be included in the string output. The member name will be present, but the
 15711  // value will be replaced with "sensitive".
 15712  func (s CreateVpcPeeringAuthorizationOutput) GoString() string {
 15713  	return s.String()
 15714  }
 15715  
 15716  // SetVpcPeeringAuthorization sets the VpcPeeringAuthorization field's value.
 15717  func (s *CreateVpcPeeringAuthorizationOutput) SetVpcPeeringAuthorization(v *VpcPeeringAuthorization) *CreateVpcPeeringAuthorizationOutput {
 15718  	s.VpcPeeringAuthorization = v
 15719  	return s
 15720  }
 15721  
 15722  // Represents the input for a request operation.
 15723  type CreateVpcPeeringConnectionInput struct {
 15724  	_ struct{} `type:"structure"`
 15725  
 15726  	// A unique identifier for the fleet. You can use either the fleet ID or ARN
 15727  	// value. This tells Amazon GameLift which GameLift VPC to peer with.
 15728  	//
 15729  	// FleetId is a required field
 15730  	FleetId *string `type:"string" required:"true"`
 15731  
 15732  	// A unique identifier for the AWS account with the VPC that you want to peer
 15733  	// your Amazon GameLift fleet with. You can find your Account ID in the AWS
 15734  	// Management Console under account settings.
 15735  	//
 15736  	// PeerVpcAwsAccountId is a required field
 15737  	PeerVpcAwsAccountId *string `min:"1" type:"string" required:"true"`
 15738  
 15739  	// A unique identifier for a VPC with resources to be accessed by your GameLift
 15740  	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
 15741  	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
 15742  	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
 15743  	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
 15744  	//
 15745  	// PeerVpcId is a required field
 15746  	PeerVpcId *string `min:"1" type:"string" required:"true"`
 15747  }
 15748  
 15749  // String returns the string representation.
 15750  //
 15751  // API parameter values that are decorated as "sensitive" in the API will not
 15752  // be included in the string output. The member name will be present, but the
 15753  // value will be replaced with "sensitive".
 15754  func (s CreateVpcPeeringConnectionInput) String() string {
 15755  	return awsutil.Prettify(s)
 15756  }
 15757  
 15758  // GoString returns the string representation.
 15759  //
 15760  // API parameter values that are decorated as "sensitive" in the API will not
 15761  // be included in the string output. The member name will be present, but the
 15762  // value will be replaced with "sensitive".
 15763  func (s CreateVpcPeeringConnectionInput) GoString() string {
 15764  	return s.String()
 15765  }
 15766  
 15767  // Validate inspects the fields of the type to determine if they are valid.
 15768  func (s *CreateVpcPeeringConnectionInput) Validate() error {
 15769  	invalidParams := request.ErrInvalidParams{Context: "CreateVpcPeeringConnectionInput"}
 15770  	if s.FleetId == nil {
 15771  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 15772  	}
 15773  	if s.PeerVpcAwsAccountId == nil {
 15774  		invalidParams.Add(request.NewErrParamRequired("PeerVpcAwsAccountId"))
 15775  	}
 15776  	if s.PeerVpcAwsAccountId != nil && len(*s.PeerVpcAwsAccountId) < 1 {
 15777  		invalidParams.Add(request.NewErrParamMinLen("PeerVpcAwsAccountId", 1))
 15778  	}
 15779  	if s.PeerVpcId == nil {
 15780  		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
 15781  	}
 15782  	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
 15783  		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
 15784  	}
 15785  
 15786  	if invalidParams.Len() > 0 {
 15787  		return invalidParams
 15788  	}
 15789  	return nil
 15790  }
 15791  
 15792  // SetFleetId sets the FleetId field's value.
 15793  func (s *CreateVpcPeeringConnectionInput) SetFleetId(v string) *CreateVpcPeeringConnectionInput {
 15794  	s.FleetId = &v
 15795  	return s
 15796  }
 15797  
 15798  // SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
 15799  func (s *CreateVpcPeeringConnectionInput) SetPeerVpcAwsAccountId(v string) *CreateVpcPeeringConnectionInput {
 15800  	s.PeerVpcAwsAccountId = &v
 15801  	return s
 15802  }
 15803  
 15804  // SetPeerVpcId sets the PeerVpcId field's value.
 15805  func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
 15806  	s.PeerVpcId = &v
 15807  	return s
 15808  }
 15809  
 15810  type CreateVpcPeeringConnectionOutput struct {
 15811  	_ struct{} `type:"structure"`
 15812  }
 15813  
 15814  // String returns the string representation.
 15815  //
 15816  // API parameter values that are decorated as "sensitive" in the API will not
 15817  // be included in the string output. The member name will be present, but the
 15818  // value will be replaced with "sensitive".
 15819  func (s CreateVpcPeeringConnectionOutput) String() string {
 15820  	return awsutil.Prettify(s)
 15821  }
 15822  
 15823  // GoString returns the string representation.
 15824  //
 15825  // API parameter values that are decorated as "sensitive" in the API will not
 15826  // be included in the string output. The member name will be present, but the
 15827  // value will be replaced with "sensitive".
 15828  func (s CreateVpcPeeringConnectionOutput) GoString() string {
 15829  	return s.String()
 15830  }
 15831  
 15832  // Represents the input for a request operation.
 15833  type DeleteAliasInput struct {
 15834  	_ struct{} `type:"structure"`
 15835  
 15836  	// A unique identifier of the alias that you want to delete. You can use either
 15837  	// the alias ID or ARN value.
 15838  	//
 15839  	// AliasId is a required field
 15840  	AliasId *string `type:"string" required:"true"`
 15841  }
 15842  
 15843  // String returns the string representation.
 15844  //
 15845  // API parameter values that are decorated as "sensitive" in the API will not
 15846  // be included in the string output. The member name will be present, but the
 15847  // value will be replaced with "sensitive".
 15848  func (s DeleteAliasInput) String() string {
 15849  	return awsutil.Prettify(s)
 15850  }
 15851  
 15852  // GoString returns the string representation.
 15853  //
 15854  // API parameter values that are decorated as "sensitive" in the API will not
 15855  // be included in the string output. The member name will be present, but the
 15856  // value will be replaced with "sensitive".
 15857  func (s DeleteAliasInput) GoString() string {
 15858  	return s.String()
 15859  }
 15860  
 15861  // Validate inspects the fields of the type to determine if they are valid.
 15862  func (s *DeleteAliasInput) Validate() error {
 15863  	invalidParams := request.ErrInvalidParams{Context: "DeleteAliasInput"}
 15864  	if s.AliasId == nil {
 15865  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
 15866  	}
 15867  
 15868  	if invalidParams.Len() > 0 {
 15869  		return invalidParams
 15870  	}
 15871  	return nil
 15872  }
 15873  
 15874  // SetAliasId sets the AliasId field's value.
 15875  func (s *DeleteAliasInput) SetAliasId(v string) *DeleteAliasInput {
 15876  	s.AliasId = &v
 15877  	return s
 15878  }
 15879  
 15880  type DeleteAliasOutput struct {
 15881  	_ struct{} `type:"structure"`
 15882  }
 15883  
 15884  // String returns the string representation.
 15885  //
 15886  // API parameter values that are decorated as "sensitive" in the API will not
 15887  // be included in the string output. The member name will be present, but the
 15888  // value will be replaced with "sensitive".
 15889  func (s DeleteAliasOutput) String() string {
 15890  	return awsutil.Prettify(s)
 15891  }
 15892  
 15893  // GoString returns the string representation.
 15894  //
 15895  // API parameter values that are decorated as "sensitive" in the API will not
 15896  // be included in the string output. The member name will be present, but the
 15897  // value will be replaced with "sensitive".
 15898  func (s DeleteAliasOutput) GoString() string {
 15899  	return s.String()
 15900  }
 15901  
 15902  // Represents the input for a request operation.
 15903  type DeleteBuildInput struct {
 15904  	_ struct{} `type:"structure"`
 15905  
 15906  	// A unique identifier for the build to delete. You can use either the build
 15907  	// ID or ARN value.
 15908  	//
 15909  	// BuildId is a required field
 15910  	BuildId *string `type:"string" required:"true"`
 15911  }
 15912  
 15913  // String returns the string representation.
 15914  //
 15915  // API parameter values that are decorated as "sensitive" in the API will not
 15916  // be included in the string output. The member name will be present, but the
 15917  // value will be replaced with "sensitive".
 15918  func (s DeleteBuildInput) String() string {
 15919  	return awsutil.Prettify(s)
 15920  }
 15921  
 15922  // GoString returns the string representation.
 15923  //
 15924  // API parameter values that are decorated as "sensitive" in the API will not
 15925  // be included in the string output. The member name will be present, but the
 15926  // value will be replaced with "sensitive".
 15927  func (s DeleteBuildInput) GoString() string {
 15928  	return s.String()
 15929  }
 15930  
 15931  // Validate inspects the fields of the type to determine if they are valid.
 15932  func (s *DeleteBuildInput) Validate() error {
 15933  	invalidParams := request.ErrInvalidParams{Context: "DeleteBuildInput"}
 15934  	if s.BuildId == nil {
 15935  		invalidParams.Add(request.NewErrParamRequired("BuildId"))
 15936  	}
 15937  
 15938  	if invalidParams.Len() > 0 {
 15939  		return invalidParams
 15940  	}
 15941  	return nil
 15942  }
 15943  
 15944  // SetBuildId sets the BuildId field's value.
 15945  func (s *DeleteBuildInput) SetBuildId(v string) *DeleteBuildInput {
 15946  	s.BuildId = &v
 15947  	return s
 15948  }
 15949  
 15950  type DeleteBuildOutput struct {
 15951  	_ struct{} `type:"structure"`
 15952  }
 15953  
 15954  // String returns the string representation.
 15955  //
 15956  // API parameter values that are decorated as "sensitive" in the API will not
 15957  // be included in the string output. The member name will be present, but the
 15958  // value will be replaced with "sensitive".
 15959  func (s DeleteBuildOutput) String() string {
 15960  	return awsutil.Prettify(s)
 15961  }
 15962  
 15963  // GoString returns the string representation.
 15964  //
 15965  // API parameter values that are decorated as "sensitive" in the API will not
 15966  // be included in the string output. The member name will be present, but the
 15967  // value will be replaced with "sensitive".
 15968  func (s DeleteBuildOutput) GoString() string {
 15969  	return s.String()
 15970  }
 15971  
 15972  // Represents the input for a request operation.
 15973  type DeleteFleetInput struct {
 15974  	_ struct{} `type:"structure"`
 15975  
 15976  	// A unique identifier for the fleet to be deleted. You can use either the fleet
 15977  	// ID or ARN value.
 15978  	//
 15979  	// FleetId is a required field
 15980  	FleetId *string `type:"string" required:"true"`
 15981  }
 15982  
 15983  // String returns the string representation.
 15984  //
 15985  // API parameter values that are decorated as "sensitive" in the API will not
 15986  // be included in the string output. The member name will be present, but the
 15987  // value will be replaced with "sensitive".
 15988  func (s DeleteFleetInput) String() string {
 15989  	return awsutil.Prettify(s)
 15990  }
 15991  
 15992  // GoString returns the string representation.
 15993  //
 15994  // API parameter values that are decorated as "sensitive" in the API will not
 15995  // be included in the string output. The member name will be present, but the
 15996  // value will be replaced with "sensitive".
 15997  func (s DeleteFleetInput) GoString() string {
 15998  	return s.String()
 15999  }
 16000  
 16001  // Validate inspects the fields of the type to determine if they are valid.
 16002  func (s *DeleteFleetInput) Validate() error {
 16003  	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
 16004  	if s.FleetId == nil {
 16005  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 16006  	}
 16007  
 16008  	if invalidParams.Len() > 0 {
 16009  		return invalidParams
 16010  	}
 16011  	return nil
 16012  }
 16013  
 16014  // SetFleetId sets the FleetId field's value.
 16015  func (s *DeleteFleetInput) SetFleetId(v string) *DeleteFleetInput {
 16016  	s.FleetId = &v
 16017  	return s
 16018  }
 16019  
 16020  // Represents the input for a request operation.
 16021  type DeleteFleetLocationsInput struct {
 16022  	_ struct{} `type:"structure"`
 16023  
 16024  	// A unique identifier for the fleet to delete locations for. You can use either
 16025  	// the fleet ID or ARN value.
 16026  	//
 16027  	// FleetId is a required field
 16028  	FleetId *string `type:"string" required:"true"`
 16029  
 16030  	// The list of fleet locations to delete. Specify locations in the form of an
 16031  	// AWS Region code, such as us-west-2.
 16032  	//
 16033  	// Locations is a required field
 16034  	Locations []*string `min:"1" type:"list" required:"true"`
 16035  }
 16036  
 16037  // String returns the string representation.
 16038  //
 16039  // API parameter values that are decorated as "sensitive" in the API will not
 16040  // be included in the string output. The member name will be present, but the
 16041  // value will be replaced with "sensitive".
 16042  func (s DeleteFleetLocationsInput) String() string {
 16043  	return awsutil.Prettify(s)
 16044  }
 16045  
 16046  // GoString returns the string representation.
 16047  //
 16048  // API parameter values that are decorated as "sensitive" in the API will not
 16049  // be included in the string output. The member name will be present, but the
 16050  // value will be replaced with "sensitive".
 16051  func (s DeleteFleetLocationsInput) GoString() string {
 16052  	return s.String()
 16053  }
 16054  
 16055  // Validate inspects the fields of the type to determine if they are valid.
 16056  func (s *DeleteFleetLocationsInput) Validate() error {
 16057  	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetLocationsInput"}
 16058  	if s.FleetId == nil {
 16059  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 16060  	}
 16061  	if s.Locations == nil {
 16062  		invalidParams.Add(request.NewErrParamRequired("Locations"))
 16063  	}
 16064  	if s.Locations != nil && len(s.Locations) < 1 {
 16065  		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
 16066  	}
 16067  
 16068  	if invalidParams.Len() > 0 {
 16069  		return invalidParams
 16070  	}
 16071  	return nil
 16072  }
 16073  
 16074  // SetFleetId sets the FleetId field's value.
 16075  func (s *DeleteFleetLocationsInput) SetFleetId(v string) *DeleteFleetLocationsInput {
 16076  	s.FleetId = &v
 16077  	return s
 16078  }
 16079  
 16080  // SetLocations sets the Locations field's value.
 16081  func (s *DeleteFleetLocationsInput) SetLocations(v []*string) *DeleteFleetLocationsInput {
 16082  	s.Locations = v
 16083  	return s
 16084  }
 16085  
 16086  // Represents the returned data in response to a request operation.
 16087  type DeleteFleetLocationsOutput struct {
 16088  	_ struct{} `type:"structure"`
 16089  
 16090  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 16091  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 16092  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 16093  	FleetArn *string `type:"string"`
 16094  
 16095  	// A unique identifier for the fleet that location attributes are being deleted
 16096  	// for.
 16097  	FleetId *string `type:"string"`
 16098  
 16099  	// The remote locations that are being deleted, with each location status set
 16100  	// to DELETING.
 16101  	LocationStates []*LocationState `type:"list"`
 16102  }
 16103  
 16104  // String returns the string representation.
 16105  //
 16106  // API parameter values that are decorated as "sensitive" in the API will not
 16107  // be included in the string output. The member name will be present, but the
 16108  // value will be replaced with "sensitive".
 16109  func (s DeleteFleetLocationsOutput) String() string {
 16110  	return awsutil.Prettify(s)
 16111  }
 16112  
 16113  // GoString returns the string representation.
 16114  //
 16115  // API parameter values that are decorated as "sensitive" in the API will not
 16116  // be included in the string output. The member name will be present, but the
 16117  // value will be replaced with "sensitive".
 16118  func (s DeleteFleetLocationsOutput) GoString() string {
 16119  	return s.String()
 16120  }
 16121  
 16122  // SetFleetArn sets the FleetArn field's value.
 16123  func (s *DeleteFleetLocationsOutput) SetFleetArn(v string) *DeleteFleetLocationsOutput {
 16124  	s.FleetArn = &v
 16125  	return s
 16126  }
 16127  
 16128  // SetFleetId sets the FleetId field's value.
 16129  func (s *DeleteFleetLocationsOutput) SetFleetId(v string) *DeleteFleetLocationsOutput {
 16130  	s.FleetId = &v
 16131  	return s
 16132  }
 16133  
 16134  // SetLocationStates sets the LocationStates field's value.
 16135  func (s *DeleteFleetLocationsOutput) SetLocationStates(v []*LocationState) *DeleteFleetLocationsOutput {
 16136  	s.LocationStates = v
 16137  	return s
 16138  }
 16139  
 16140  type DeleteFleetOutput struct {
 16141  	_ struct{} `type:"structure"`
 16142  }
 16143  
 16144  // String returns the string representation.
 16145  //
 16146  // API parameter values that are decorated as "sensitive" in the API will not
 16147  // be included in the string output. The member name will be present, but the
 16148  // value will be replaced with "sensitive".
 16149  func (s DeleteFleetOutput) String() string {
 16150  	return awsutil.Prettify(s)
 16151  }
 16152  
 16153  // GoString returns the string representation.
 16154  //
 16155  // API parameter values that are decorated as "sensitive" in the API will not
 16156  // be included in the string output. The member name will be present, but the
 16157  // value will be replaced with "sensitive".
 16158  func (s DeleteFleetOutput) GoString() string {
 16159  	return s.String()
 16160  }
 16161  
 16162  type DeleteGameServerGroupInput struct {
 16163  	_ struct{} `type:"structure"`
 16164  
 16165  	// The type of delete to perform. Options include the following:
 16166  	//
 16167  	//    * SAFE_DELETE – (default) Terminates the game server group and EC2 Auto
 16168  	//    Scaling group only when it has no game servers that are in UTILIZED status.
 16169  	//
 16170  	//    * FORCE_DELETE – Terminates the game server group, including all active
 16171  	//    game servers regardless of their utilization status, and the EC2 Auto
 16172  	//    Scaling group.
 16173  	//
 16174  	//    * RETAIN – Does a safe delete of the game server group but retains the
 16175  	//    EC2 Auto Scaling group as is.
 16176  	DeleteOption *string `type:"string" enum:"GameServerGroupDeleteOption"`
 16177  
 16178  	// A unique identifier for the game server group. Use either the GameServerGroup
 16179  	// name or ARN value.
 16180  	//
 16181  	// GameServerGroupName is a required field
 16182  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 16183  }
 16184  
 16185  // String returns the string representation.
 16186  //
 16187  // API parameter values that are decorated as "sensitive" in the API will not
 16188  // be included in the string output. The member name will be present, but the
 16189  // value will be replaced with "sensitive".
 16190  func (s DeleteGameServerGroupInput) String() string {
 16191  	return awsutil.Prettify(s)
 16192  }
 16193  
 16194  // GoString returns the string representation.
 16195  //
 16196  // API parameter values that are decorated as "sensitive" in the API will not
 16197  // be included in the string output. The member name will be present, but the
 16198  // value will be replaced with "sensitive".
 16199  func (s DeleteGameServerGroupInput) GoString() string {
 16200  	return s.String()
 16201  }
 16202  
 16203  // Validate inspects the fields of the type to determine if they are valid.
 16204  func (s *DeleteGameServerGroupInput) Validate() error {
 16205  	invalidParams := request.ErrInvalidParams{Context: "DeleteGameServerGroupInput"}
 16206  	if s.GameServerGroupName == nil {
 16207  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 16208  	}
 16209  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 16210  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 16211  	}
 16212  
 16213  	if invalidParams.Len() > 0 {
 16214  		return invalidParams
 16215  	}
 16216  	return nil
 16217  }
 16218  
 16219  // SetDeleteOption sets the DeleteOption field's value.
 16220  func (s *DeleteGameServerGroupInput) SetDeleteOption(v string) *DeleteGameServerGroupInput {
 16221  	s.DeleteOption = &v
 16222  	return s
 16223  }
 16224  
 16225  // SetGameServerGroupName sets the GameServerGroupName field's value.
 16226  func (s *DeleteGameServerGroupInput) SetGameServerGroupName(v string) *DeleteGameServerGroupInput {
 16227  	s.GameServerGroupName = &v
 16228  	return s
 16229  }
 16230  
 16231  type DeleteGameServerGroupOutput struct {
 16232  	_ struct{} `type:"structure"`
 16233  
 16234  	// An object that describes the deleted game server group resource, with status
 16235  	// updated to DELETE_SCHEDULED.
 16236  	GameServerGroup *GameServerGroup `type:"structure"`
 16237  }
 16238  
 16239  // String returns the string representation.
 16240  //
 16241  // API parameter values that are decorated as "sensitive" in the API will not
 16242  // be included in the string output. The member name will be present, but the
 16243  // value will be replaced with "sensitive".
 16244  func (s DeleteGameServerGroupOutput) String() string {
 16245  	return awsutil.Prettify(s)
 16246  }
 16247  
 16248  // GoString returns the string representation.
 16249  //
 16250  // API parameter values that are decorated as "sensitive" in the API will not
 16251  // be included in the string output. The member name will be present, but the
 16252  // value will be replaced with "sensitive".
 16253  func (s DeleteGameServerGroupOutput) GoString() string {
 16254  	return s.String()
 16255  }
 16256  
 16257  // SetGameServerGroup sets the GameServerGroup field's value.
 16258  func (s *DeleteGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *DeleteGameServerGroupOutput {
 16259  	s.GameServerGroup = v
 16260  	return s
 16261  }
 16262  
 16263  // Represents the input for a request operation.
 16264  type DeleteGameSessionQueueInput struct {
 16265  	_ struct{} `type:"structure"`
 16266  
 16267  	// A descriptive label that is associated with game session queue. Queue names
 16268  	// must be unique within each Region. You can use either the queue ID or ARN
 16269  	// value.
 16270  	//
 16271  	// Name is a required field
 16272  	Name *string `min:"1" type:"string" required:"true"`
 16273  }
 16274  
 16275  // String returns the string representation.
 16276  //
 16277  // API parameter values that are decorated as "sensitive" in the API will not
 16278  // be included in the string output. The member name will be present, but the
 16279  // value will be replaced with "sensitive".
 16280  func (s DeleteGameSessionQueueInput) String() string {
 16281  	return awsutil.Prettify(s)
 16282  }
 16283  
 16284  // GoString returns the string representation.
 16285  //
 16286  // API parameter values that are decorated as "sensitive" in the API will not
 16287  // be included in the string output. The member name will be present, but the
 16288  // value will be replaced with "sensitive".
 16289  func (s DeleteGameSessionQueueInput) GoString() string {
 16290  	return s.String()
 16291  }
 16292  
 16293  // Validate inspects the fields of the type to determine if they are valid.
 16294  func (s *DeleteGameSessionQueueInput) Validate() error {
 16295  	invalidParams := request.ErrInvalidParams{Context: "DeleteGameSessionQueueInput"}
 16296  	if s.Name == nil {
 16297  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16298  	}
 16299  	if s.Name != nil && len(*s.Name) < 1 {
 16300  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 16301  	}
 16302  
 16303  	if invalidParams.Len() > 0 {
 16304  		return invalidParams
 16305  	}
 16306  	return nil
 16307  }
 16308  
 16309  // SetName sets the Name field's value.
 16310  func (s *DeleteGameSessionQueueInput) SetName(v string) *DeleteGameSessionQueueInput {
 16311  	s.Name = &v
 16312  	return s
 16313  }
 16314  
 16315  type DeleteGameSessionQueueOutput struct {
 16316  	_ struct{} `type:"structure"`
 16317  }
 16318  
 16319  // String returns the string representation.
 16320  //
 16321  // API parameter values that are decorated as "sensitive" in the API will not
 16322  // be included in the string output. The member name will be present, but the
 16323  // value will be replaced with "sensitive".
 16324  func (s DeleteGameSessionQueueOutput) String() string {
 16325  	return awsutil.Prettify(s)
 16326  }
 16327  
 16328  // GoString returns the string representation.
 16329  //
 16330  // API parameter values that are decorated as "sensitive" in the API will not
 16331  // be included in the string output. The member name will be present, but the
 16332  // value will be replaced with "sensitive".
 16333  func (s DeleteGameSessionQueueOutput) GoString() string {
 16334  	return s.String()
 16335  }
 16336  
 16337  // Represents the input for a request operation.
 16338  type DeleteMatchmakingConfigurationInput struct {
 16339  	_ struct{} `type:"structure"`
 16340  
 16341  	// A unique identifier for the matchmaking configuration. You can use either
 16342  	// the configuration name or ARN value.
 16343  	//
 16344  	// Name is a required field
 16345  	Name *string `min:"1" type:"string" required:"true"`
 16346  }
 16347  
 16348  // String returns the string representation.
 16349  //
 16350  // API parameter values that are decorated as "sensitive" in the API will not
 16351  // be included in the string output. The member name will be present, but the
 16352  // value will be replaced with "sensitive".
 16353  func (s DeleteMatchmakingConfigurationInput) String() string {
 16354  	return awsutil.Prettify(s)
 16355  }
 16356  
 16357  // GoString returns the string representation.
 16358  //
 16359  // API parameter values that are decorated as "sensitive" in the API will not
 16360  // be included in the string output. The member name will be present, but the
 16361  // value will be replaced with "sensitive".
 16362  func (s DeleteMatchmakingConfigurationInput) GoString() string {
 16363  	return s.String()
 16364  }
 16365  
 16366  // Validate inspects the fields of the type to determine if they are valid.
 16367  func (s *DeleteMatchmakingConfigurationInput) Validate() error {
 16368  	invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingConfigurationInput"}
 16369  	if s.Name == nil {
 16370  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16371  	}
 16372  	if s.Name != nil && len(*s.Name) < 1 {
 16373  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 16374  	}
 16375  
 16376  	if invalidParams.Len() > 0 {
 16377  		return invalidParams
 16378  	}
 16379  	return nil
 16380  }
 16381  
 16382  // SetName sets the Name field's value.
 16383  func (s *DeleteMatchmakingConfigurationInput) SetName(v string) *DeleteMatchmakingConfigurationInput {
 16384  	s.Name = &v
 16385  	return s
 16386  }
 16387  
 16388  type DeleteMatchmakingConfigurationOutput struct {
 16389  	_ struct{} `type:"structure"`
 16390  }
 16391  
 16392  // String returns the string representation.
 16393  //
 16394  // API parameter values that are decorated as "sensitive" in the API will not
 16395  // be included in the string output. The member name will be present, but the
 16396  // value will be replaced with "sensitive".
 16397  func (s DeleteMatchmakingConfigurationOutput) String() string {
 16398  	return awsutil.Prettify(s)
 16399  }
 16400  
 16401  // GoString returns the string representation.
 16402  //
 16403  // API parameter values that are decorated as "sensitive" in the API will not
 16404  // be included in the string output. The member name will be present, but the
 16405  // value will be replaced with "sensitive".
 16406  func (s DeleteMatchmakingConfigurationOutput) GoString() string {
 16407  	return s.String()
 16408  }
 16409  
 16410  // Represents the input for a request operation.
 16411  type DeleteMatchmakingRuleSetInput struct {
 16412  	_ struct{} `type:"structure"`
 16413  
 16414  	// A unique identifier for the matchmaking rule set to be deleted. (Note: The
 16415  	// rule set name is different from the optional "name" field in the rule set
 16416  	// body.) You can use either the rule set name or ARN value.
 16417  	//
 16418  	// Name is a required field
 16419  	Name *string `min:"1" type:"string" required:"true"`
 16420  }
 16421  
 16422  // String returns the string representation.
 16423  //
 16424  // API parameter values that are decorated as "sensitive" in the API will not
 16425  // be included in the string output. The member name will be present, but the
 16426  // value will be replaced with "sensitive".
 16427  func (s DeleteMatchmakingRuleSetInput) String() string {
 16428  	return awsutil.Prettify(s)
 16429  }
 16430  
 16431  // GoString returns the string representation.
 16432  //
 16433  // API parameter values that are decorated as "sensitive" in the API will not
 16434  // be included in the string output. The member name will be present, but the
 16435  // value will be replaced with "sensitive".
 16436  func (s DeleteMatchmakingRuleSetInput) GoString() string {
 16437  	return s.String()
 16438  }
 16439  
 16440  // Validate inspects the fields of the type to determine if they are valid.
 16441  func (s *DeleteMatchmakingRuleSetInput) Validate() error {
 16442  	invalidParams := request.ErrInvalidParams{Context: "DeleteMatchmakingRuleSetInput"}
 16443  	if s.Name == nil {
 16444  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16445  	}
 16446  	if s.Name != nil && len(*s.Name) < 1 {
 16447  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 16448  	}
 16449  
 16450  	if invalidParams.Len() > 0 {
 16451  		return invalidParams
 16452  	}
 16453  	return nil
 16454  }
 16455  
 16456  // SetName sets the Name field's value.
 16457  func (s *DeleteMatchmakingRuleSetInput) SetName(v string) *DeleteMatchmakingRuleSetInput {
 16458  	s.Name = &v
 16459  	return s
 16460  }
 16461  
 16462  // Represents the returned data in response to a request operation.
 16463  type DeleteMatchmakingRuleSetOutput struct {
 16464  	_ struct{} `type:"structure"`
 16465  }
 16466  
 16467  // String returns the string representation.
 16468  //
 16469  // API parameter values that are decorated as "sensitive" in the API will not
 16470  // be included in the string output. The member name will be present, but the
 16471  // value will be replaced with "sensitive".
 16472  func (s DeleteMatchmakingRuleSetOutput) String() string {
 16473  	return awsutil.Prettify(s)
 16474  }
 16475  
 16476  // GoString returns the string representation.
 16477  //
 16478  // API parameter values that are decorated as "sensitive" in the API will not
 16479  // be included in the string output. The member name will be present, but the
 16480  // value will be replaced with "sensitive".
 16481  func (s DeleteMatchmakingRuleSetOutput) GoString() string {
 16482  	return s.String()
 16483  }
 16484  
 16485  // Represents the input for a request operation.
 16486  type DeleteScalingPolicyInput struct {
 16487  	_ struct{} `type:"structure"`
 16488  
 16489  	// A unique identifier for the fleet to be deleted. You can use either the fleet
 16490  	// ID or ARN value.
 16491  	//
 16492  	// FleetId is a required field
 16493  	FleetId *string `type:"string" required:"true"`
 16494  
 16495  	// A descriptive label that is associated with a fleet's scaling policy. Policy
 16496  	// names do not need to be unique.
 16497  	//
 16498  	// Name is a required field
 16499  	Name *string `min:"1" type:"string" required:"true"`
 16500  }
 16501  
 16502  // String returns the string representation.
 16503  //
 16504  // API parameter values that are decorated as "sensitive" in the API will not
 16505  // be included in the string output. The member name will be present, but the
 16506  // value will be replaced with "sensitive".
 16507  func (s DeleteScalingPolicyInput) String() string {
 16508  	return awsutil.Prettify(s)
 16509  }
 16510  
 16511  // GoString returns the string representation.
 16512  //
 16513  // API parameter values that are decorated as "sensitive" in the API will not
 16514  // be included in the string output. The member name will be present, but the
 16515  // value will be replaced with "sensitive".
 16516  func (s DeleteScalingPolicyInput) GoString() string {
 16517  	return s.String()
 16518  }
 16519  
 16520  // Validate inspects the fields of the type to determine if they are valid.
 16521  func (s *DeleteScalingPolicyInput) Validate() error {
 16522  	invalidParams := request.ErrInvalidParams{Context: "DeleteScalingPolicyInput"}
 16523  	if s.FleetId == nil {
 16524  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 16525  	}
 16526  	if s.Name == nil {
 16527  		invalidParams.Add(request.NewErrParamRequired("Name"))
 16528  	}
 16529  	if s.Name != nil && len(*s.Name) < 1 {
 16530  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 16531  	}
 16532  
 16533  	if invalidParams.Len() > 0 {
 16534  		return invalidParams
 16535  	}
 16536  	return nil
 16537  }
 16538  
 16539  // SetFleetId sets the FleetId field's value.
 16540  func (s *DeleteScalingPolicyInput) SetFleetId(v string) *DeleteScalingPolicyInput {
 16541  	s.FleetId = &v
 16542  	return s
 16543  }
 16544  
 16545  // SetName sets the Name field's value.
 16546  func (s *DeleteScalingPolicyInput) SetName(v string) *DeleteScalingPolicyInput {
 16547  	s.Name = &v
 16548  	return s
 16549  }
 16550  
 16551  type DeleteScalingPolicyOutput struct {
 16552  	_ struct{} `type:"structure"`
 16553  }
 16554  
 16555  // String returns the string representation.
 16556  //
 16557  // API parameter values that are decorated as "sensitive" in the API will not
 16558  // be included in the string output. The member name will be present, but the
 16559  // value will be replaced with "sensitive".
 16560  func (s DeleteScalingPolicyOutput) String() string {
 16561  	return awsutil.Prettify(s)
 16562  }
 16563  
 16564  // GoString returns the string representation.
 16565  //
 16566  // API parameter values that are decorated as "sensitive" in the API will not
 16567  // be included in the string output. The member name will be present, but the
 16568  // value will be replaced with "sensitive".
 16569  func (s DeleteScalingPolicyOutput) GoString() string {
 16570  	return s.String()
 16571  }
 16572  
 16573  type DeleteScriptInput struct {
 16574  	_ struct{} `type:"structure"`
 16575  
 16576  	// A unique identifier for the Realtime script to delete. You can use either
 16577  	// the script ID or ARN value.
 16578  	//
 16579  	// ScriptId is a required field
 16580  	ScriptId *string `type:"string" required:"true"`
 16581  }
 16582  
 16583  // String returns the string representation.
 16584  //
 16585  // API parameter values that are decorated as "sensitive" in the API will not
 16586  // be included in the string output. The member name will be present, but the
 16587  // value will be replaced with "sensitive".
 16588  func (s DeleteScriptInput) String() string {
 16589  	return awsutil.Prettify(s)
 16590  }
 16591  
 16592  // GoString returns the string representation.
 16593  //
 16594  // API parameter values that are decorated as "sensitive" in the API will not
 16595  // be included in the string output. The member name will be present, but the
 16596  // value will be replaced with "sensitive".
 16597  func (s DeleteScriptInput) GoString() string {
 16598  	return s.String()
 16599  }
 16600  
 16601  // Validate inspects the fields of the type to determine if they are valid.
 16602  func (s *DeleteScriptInput) Validate() error {
 16603  	invalidParams := request.ErrInvalidParams{Context: "DeleteScriptInput"}
 16604  	if s.ScriptId == nil {
 16605  		invalidParams.Add(request.NewErrParamRequired("ScriptId"))
 16606  	}
 16607  
 16608  	if invalidParams.Len() > 0 {
 16609  		return invalidParams
 16610  	}
 16611  	return nil
 16612  }
 16613  
 16614  // SetScriptId sets the ScriptId field's value.
 16615  func (s *DeleteScriptInput) SetScriptId(v string) *DeleteScriptInput {
 16616  	s.ScriptId = &v
 16617  	return s
 16618  }
 16619  
 16620  type DeleteScriptOutput struct {
 16621  	_ struct{} `type:"structure"`
 16622  }
 16623  
 16624  // String returns the string representation.
 16625  //
 16626  // API parameter values that are decorated as "sensitive" in the API will not
 16627  // be included in the string output. The member name will be present, but the
 16628  // value will be replaced with "sensitive".
 16629  func (s DeleteScriptOutput) String() string {
 16630  	return awsutil.Prettify(s)
 16631  }
 16632  
 16633  // GoString returns the string representation.
 16634  //
 16635  // API parameter values that are decorated as "sensitive" in the API will not
 16636  // be included in the string output. The member name will be present, but the
 16637  // value will be replaced with "sensitive".
 16638  func (s DeleteScriptOutput) GoString() string {
 16639  	return s.String()
 16640  }
 16641  
 16642  // Represents the input for a request operation.
 16643  type DeleteVpcPeeringAuthorizationInput struct {
 16644  	_ struct{} `type:"structure"`
 16645  
 16646  	// A unique identifier for the AWS account that you use to manage your GameLift
 16647  	// fleet. You can find your Account ID in the AWS Management Console under account
 16648  	// settings.
 16649  	//
 16650  	// GameLiftAwsAccountId is a required field
 16651  	GameLiftAwsAccountId *string `min:"1" type:"string" required:"true"`
 16652  
 16653  	// A unique identifier for a VPC with resources to be accessed by your GameLift
 16654  	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
 16655  	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
 16656  	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
 16657  	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
 16658  	//
 16659  	// PeerVpcId is a required field
 16660  	PeerVpcId *string `min:"1" type:"string" required:"true"`
 16661  }
 16662  
 16663  // String returns the string representation.
 16664  //
 16665  // API parameter values that are decorated as "sensitive" in the API will not
 16666  // be included in the string output. The member name will be present, but the
 16667  // value will be replaced with "sensitive".
 16668  func (s DeleteVpcPeeringAuthorizationInput) String() string {
 16669  	return awsutil.Prettify(s)
 16670  }
 16671  
 16672  // GoString 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".
 16677  func (s DeleteVpcPeeringAuthorizationInput) GoString() string {
 16678  	return s.String()
 16679  }
 16680  
 16681  // Validate inspects the fields of the type to determine if they are valid.
 16682  func (s *DeleteVpcPeeringAuthorizationInput) Validate() error {
 16683  	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringAuthorizationInput"}
 16684  	if s.GameLiftAwsAccountId == nil {
 16685  		invalidParams.Add(request.NewErrParamRequired("GameLiftAwsAccountId"))
 16686  	}
 16687  	if s.GameLiftAwsAccountId != nil && len(*s.GameLiftAwsAccountId) < 1 {
 16688  		invalidParams.Add(request.NewErrParamMinLen("GameLiftAwsAccountId", 1))
 16689  	}
 16690  	if s.PeerVpcId == nil {
 16691  		invalidParams.Add(request.NewErrParamRequired("PeerVpcId"))
 16692  	}
 16693  	if s.PeerVpcId != nil && len(*s.PeerVpcId) < 1 {
 16694  		invalidParams.Add(request.NewErrParamMinLen("PeerVpcId", 1))
 16695  	}
 16696  
 16697  	if invalidParams.Len() > 0 {
 16698  		return invalidParams
 16699  	}
 16700  	return nil
 16701  }
 16702  
 16703  // SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
 16704  func (s *DeleteVpcPeeringAuthorizationInput) SetGameLiftAwsAccountId(v string) *DeleteVpcPeeringAuthorizationInput {
 16705  	s.GameLiftAwsAccountId = &v
 16706  	return s
 16707  }
 16708  
 16709  // SetPeerVpcId sets the PeerVpcId field's value.
 16710  func (s *DeleteVpcPeeringAuthorizationInput) SetPeerVpcId(v string) *DeleteVpcPeeringAuthorizationInput {
 16711  	s.PeerVpcId = &v
 16712  	return s
 16713  }
 16714  
 16715  type DeleteVpcPeeringAuthorizationOutput struct {
 16716  	_ struct{} `type:"structure"`
 16717  }
 16718  
 16719  // String returns the string representation.
 16720  //
 16721  // API parameter values that are decorated as "sensitive" in the API will not
 16722  // be included in the string output. The member name will be present, but the
 16723  // value will be replaced with "sensitive".
 16724  func (s DeleteVpcPeeringAuthorizationOutput) String() string {
 16725  	return awsutil.Prettify(s)
 16726  }
 16727  
 16728  // GoString returns the string representation.
 16729  //
 16730  // API parameter values that are decorated as "sensitive" in the API will not
 16731  // be included in the string output. The member name will be present, but the
 16732  // value will be replaced with "sensitive".
 16733  func (s DeleteVpcPeeringAuthorizationOutput) GoString() string {
 16734  	return s.String()
 16735  }
 16736  
 16737  // Represents the input for a request operation.
 16738  type DeleteVpcPeeringConnectionInput struct {
 16739  	_ struct{} `type:"structure"`
 16740  
 16741  	// A unique identifier for the fleet. This fleet specified must match the fleet
 16742  	// referenced in the VPC peering connection record. You can use either the fleet
 16743  	// ID or ARN value.
 16744  	//
 16745  	// FleetId is a required field
 16746  	FleetId *string `type:"string" required:"true"`
 16747  
 16748  	// A unique identifier for a VPC peering connection. This value is included
 16749  	// in the VpcPeeringConnection object, which can be retrieved by calling DescribeVpcPeeringConnections.
 16750  	//
 16751  	// VpcPeeringConnectionId is a required field
 16752  	VpcPeeringConnectionId *string `min:"1" type:"string" required:"true"`
 16753  }
 16754  
 16755  // String returns the string representation.
 16756  //
 16757  // API parameter values that are decorated as "sensitive" in the API will not
 16758  // be included in the string output. The member name will be present, but the
 16759  // value will be replaced with "sensitive".
 16760  func (s DeleteVpcPeeringConnectionInput) String() string {
 16761  	return awsutil.Prettify(s)
 16762  }
 16763  
 16764  // GoString returns the string representation.
 16765  //
 16766  // API parameter values that are decorated as "sensitive" in the API will not
 16767  // be included in the string output. The member name will be present, but the
 16768  // value will be replaced with "sensitive".
 16769  func (s DeleteVpcPeeringConnectionInput) GoString() string {
 16770  	return s.String()
 16771  }
 16772  
 16773  // Validate inspects the fields of the type to determine if they are valid.
 16774  func (s *DeleteVpcPeeringConnectionInput) Validate() error {
 16775  	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
 16776  	if s.FleetId == nil {
 16777  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 16778  	}
 16779  	if s.VpcPeeringConnectionId == nil {
 16780  		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
 16781  	}
 16782  	if s.VpcPeeringConnectionId != nil && len(*s.VpcPeeringConnectionId) < 1 {
 16783  		invalidParams.Add(request.NewErrParamMinLen("VpcPeeringConnectionId", 1))
 16784  	}
 16785  
 16786  	if invalidParams.Len() > 0 {
 16787  		return invalidParams
 16788  	}
 16789  	return nil
 16790  }
 16791  
 16792  // SetFleetId sets the FleetId field's value.
 16793  func (s *DeleteVpcPeeringConnectionInput) SetFleetId(v string) *DeleteVpcPeeringConnectionInput {
 16794  	s.FleetId = &v
 16795  	return s
 16796  }
 16797  
 16798  // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
 16799  func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
 16800  	s.VpcPeeringConnectionId = &v
 16801  	return s
 16802  }
 16803  
 16804  type DeleteVpcPeeringConnectionOutput struct {
 16805  	_ struct{} `type:"structure"`
 16806  }
 16807  
 16808  // String returns the string representation.
 16809  //
 16810  // API parameter values that are decorated as "sensitive" in the API will not
 16811  // be included in the string output. The member name will be present, but the
 16812  // value will be replaced with "sensitive".
 16813  func (s DeleteVpcPeeringConnectionOutput) String() string {
 16814  	return awsutil.Prettify(s)
 16815  }
 16816  
 16817  // GoString returns the string representation.
 16818  //
 16819  // API parameter values that are decorated as "sensitive" in the API will not
 16820  // be included in the string output. The member name will be present, but the
 16821  // value will be replaced with "sensitive".
 16822  func (s DeleteVpcPeeringConnectionOutput) GoString() string {
 16823  	return s.String()
 16824  }
 16825  
 16826  type DeregisterGameServerInput struct {
 16827  	_ struct{} `type:"structure"`
 16828  
 16829  	// A unique identifier for the game server group where the game server is running.
 16830  	// Use either the GameServerGroup name or ARN value.
 16831  	//
 16832  	// GameServerGroupName is a required field
 16833  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 16834  
 16835  	// A custom string that uniquely identifies the game server to deregister.
 16836  	//
 16837  	// GameServerId is a required field
 16838  	GameServerId *string `min:"3" type:"string" required:"true"`
 16839  }
 16840  
 16841  // String returns the string representation.
 16842  //
 16843  // API parameter values that are decorated as "sensitive" in the API will not
 16844  // be included in the string output. The member name will be present, but the
 16845  // value will be replaced with "sensitive".
 16846  func (s DeregisterGameServerInput) String() string {
 16847  	return awsutil.Prettify(s)
 16848  }
 16849  
 16850  // GoString returns the string representation.
 16851  //
 16852  // API parameter values that are decorated as "sensitive" in the API will not
 16853  // be included in the string output. The member name will be present, but the
 16854  // value will be replaced with "sensitive".
 16855  func (s DeregisterGameServerInput) GoString() string {
 16856  	return s.String()
 16857  }
 16858  
 16859  // Validate inspects the fields of the type to determine if they are valid.
 16860  func (s *DeregisterGameServerInput) Validate() error {
 16861  	invalidParams := request.ErrInvalidParams{Context: "DeregisterGameServerInput"}
 16862  	if s.GameServerGroupName == nil {
 16863  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 16864  	}
 16865  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 16866  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 16867  	}
 16868  	if s.GameServerId == nil {
 16869  		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
 16870  	}
 16871  	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
 16872  		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
 16873  	}
 16874  
 16875  	if invalidParams.Len() > 0 {
 16876  		return invalidParams
 16877  	}
 16878  	return nil
 16879  }
 16880  
 16881  // SetGameServerGroupName sets the GameServerGroupName field's value.
 16882  func (s *DeregisterGameServerInput) SetGameServerGroupName(v string) *DeregisterGameServerInput {
 16883  	s.GameServerGroupName = &v
 16884  	return s
 16885  }
 16886  
 16887  // SetGameServerId sets the GameServerId field's value.
 16888  func (s *DeregisterGameServerInput) SetGameServerId(v string) *DeregisterGameServerInput {
 16889  	s.GameServerId = &v
 16890  	return s
 16891  }
 16892  
 16893  type DeregisterGameServerOutput struct {
 16894  	_ struct{} `type:"structure"`
 16895  }
 16896  
 16897  // String returns the string representation.
 16898  //
 16899  // API parameter values that are decorated as "sensitive" in the API will not
 16900  // be included in the string output. The member name will be present, but the
 16901  // value will be replaced with "sensitive".
 16902  func (s DeregisterGameServerOutput) String() string {
 16903  	return awsutil.Prettify(s)
 16904  }
 16905  
 16906  // GoString returns the string representation.
 16907  //
 16908  // API parameter values that are decorated as "sensitive" in the API will not
 16909  // be included in the string output. The member name will be present, but the
 16910  // value will be replaced with "sensitive".
 16911  func (s DeregisterGameServerOutput) GoString() string {
 16912  	return s.String()
 16913  }
 16914  
 16915  // Represents the input for a request operation.
 16916  type DescribeAliasInput struct {
 16917  	_ struct{} `type:"structure"`
 16918  
 16919  	// The unique identifier for the fleet alias that you want to retrieve. You
 16920  	// can use either the alias ID or ARN value.
 16921  	//
 16922  	// AliasId is a required field
 16923  	AliasId *string `type:"string" required:"true"`
 16924  }
 16925  
 16926  // String returns the string representation.
 16927  //
 16928  // API parameter values that are decorated as "sensitive" in the API will not
 16929  // be included in the string output. The member name will be present, but the
 16930  // value will be replaced with "sensitive".
 16931  func (s DescribeAliasInput) String() string {
 16932  	return awsutil.Prettify(s)
 16933  }
 16934  
 16935  // GoString returns the string representation.
 16936  //
 16937  // API parameter values that are decorated as "sensitive" in the API will not
 16938  // be included in the string output. The member name will be present, but the
 16939  // value will be replaced with "sensitive".
 16940  func (s DescribeAliasInput) GoString() string {
 16941  	return s.String()
 16942  }
 16943  
 16944  // Validate inspects the fields of the type to determine if they are valid.
 16945  func (s *DescribeAliasInput) Validate() error {
 16946  	invalidParams := request.ErrInvalidParams{Context: "DescribeAliasInput"}
 16947  	if s.AliasId == nil {
 16948  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
 16949  	}
 16950  
 16951  	if invalidParams.Len() > 0 {
 16952  		return invalidParams
 16953  	}
 16954  	return nil
 16955  }
 16956  
 16957  // SetAliasId sets the AliasId field's value.
 16958  func (s *DescribeAliasInput) SetAliasId(v string) *DescribeAliasInput {
 16959  	s.AliasId = &v
 16960  	return s
 16961  }
 16962  
 16963  // Represents the returned data in response to a request operation.
 16964  type DescribeAliasOutput struct {
 16965  	_ struct{} `type:"structure"`
 16966  
 16967  	// The requested alias resource.
 16968  	Alias *Alias `type:"structure"`
 16969  }
 16970  
 16971  // String returns the string representation.
 16972  //
 16973  // API parameter values that are decorated as "sensitive" in the API will not
 16974  // be included in the string output. The member name will be present, but the
 16975  // value will be replaced with "sensitive".
 16976  func (s DescribeAliasOutput) String() string {
 16977  	return awsutil.Prettify(s)
 16978  }
 16979  
 16980  // GoString returns the string representation.
 16981  //
 16982  // API parameter values that are decorated as "sensitive" in the API will not
 16983  // be included in the string output. The member name will be present, but the
 16984  // value will be replaced with "sensitive".
 16985  func (s DescribeAliasOutput) GoString() string {
 16986  	return s.String()
 16987  }
 16988  
 16989  // SetAlias sets the Alias field's value.
 16990  func (s *DescribeAliasOutput) SetAlias(v *Alias) *DescribeAliasOutput {
 16991  	s.Alias = v
 16992  	return s
 16993  }
 16994  
 16995  // Represents the input for a request operation.
 16996  type DescribeBuildInput struct {
 16997  	_ struct{} `type:"structure"`
 16998  
 16999  	// A unique identifier for the build to retrieve properties for. You can use
 17000  	// either the build ID or ARN value.
 17001  	//
 17002  	// BuildId is a required field
 17003  	BuildId *string `type:"string" required:"true"`
 17004  }
 17005  
 17006  // String returns the string representation.
 17007  //
 17008  // API parameter values that are decorated as "sensitive" in the API will not
 17009  // be included in the string output. The member name will be present, but the
 17010  // value will be replaced with "sensitive".
 17011  func (s DescribeBuildInput) String() string {
 17012  	return awsutil.Prettify(s)
 17013  }
 17014  
 17015  // GoString returns the string representation.
 17016  //
 17017  // API parameter values that are decorated as "sensitive" in the API will not
 17018  // be included in the string output. The member name will be present, but the
 17019  // value will be replaced with "sensitive".
 17020  func (s DescribeBuildInput) GoString() string {
 17021  	return s.String()
 17022  }
 17023  
 17024  // Validate inspects the fields of the type to determine if they are valid.
 17025  func (s *DescribeBuildInput) Validate() error {
 17026  	invalidParams := request.ErrInvalidParams{Context: "DescribeBuildInput"}
 17027  	if s.BuildId == nil {
 17028  		invalidParams.Add(request.NewErrParamRequired("BuildId"))
 17029  	}
 17030  
 17031  	if invalidParams.Len() > 0 {
 17032  		return invalidParams
 17033  	}
 17034  	return nil
 17035  }
 17036  
 17037  // SetBuildId sets the BuildId field's value.
 17038  func (s *DescribeBuildInput) SetBuildId(v string) *DescribeBuildInput {
 17039  	s.BuildId = &v
 17040  	return s
 17041  }
 17042  
 17043  // Represents the returned data in response to a request operation.
 17044  type DescribeBuildOutput struct {
 17045  	_ struct{} `type:"structure"`
 17046  
 17047  	// Set of properties describing the requested build.
 17048  	Build *Build `type:"structure"`
 17049  }
 17050  
 17051  // String returns the string representation.
 17052  //
 17053  // API parameter values that are decorated as "sensitive" in the API will not
 17054  // be included in the string output. The member name will be present, but the
 17055  // value will be replaced with "sensitive".
 17056  func (s DescribeBuildOutput) String() string {
 17057  	return awsutil.Prettify(s)
 17058  }
 17059  
 17060  // GoString returns the string representation.
 17061  //
 17062  // API parameter values that are decorated as "sensitive" in the API will not
 17063  // be included in the string output. The member name will be present, but the
 17064  // value will be replaced with "sensitive".
 17065  func (s DescribeBuildOutput) GoString() string {
 17066  	return s.String()
 17067  }
 17068  
 17069  // SetBuild sets the Build field's value.
 17070  func (s *DescribeBuildOutput) SetBuild(v *Build) *DescribeBuildOutput {
 17071  	s.Build = v
 17072  	return s
 17073  }
 17074  
 17075  // Represents the input for a request operation.
 17076  type DescribeEC2InstanceLimitsInput struct {
 17077  	_ struct{} `type:"structure"`
 17078  
 17079  	// Name of an EC2 instance type that is supported in GameLift. A fleet instance
 17080  	// type determines the computing resources of each instance in the fleet, including
 17081  	// CPU, memory, storage, and networking capacity. Do not specify a value for
 17082  	// this parameter to retrieve limits for all instance types.
 17083  	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
 17084  
 17085  	// The name of a remote location to request instance limits for, in the form
 17086  	// of an AWS Region code such as us-west-2.
 17087  	Location *string `min:"1" type:"string"`
 17088  }
 17089  
 17090  // String returns the string representation.
 17091  //
 17092  // API parameter values that are decorated as "sensitive" in the API will not
 17093  // be included in the string output. The member name will be present, but the
 17094  // value will be replaced with "sensitive".
 17095  func (s DescribeEC2InstanceLimitsInput) String() string {
 17096  	return awsutil.Prettify(s)
 17097  }
 17098  
 17099  // GoString 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".
 17104  func (s DescribeEC2InstanceLimitsInput) GoString() string {
 17105  	return s.String()
 17106  }
 17107  
 17108  // Validate inspects the fields of the type to determine if they are valid.
 17109  func (s *DescribeEC2InstanceLimitsInput) Validate() error {
 17110  	invalidParams := request.ErrInvalidParams{Context: "DescribeEC2InstanceLimitsInput"}
 17111  	if s.Location != nil && len(*s.Location) < 1 {
 17112  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 17113  	}
 17114  
 17115  	if invalidParams.Len() > 0 {
 17116  		return invalidParams
 17117  	}
 17118  	return nil
 17119  }
 17120  
 17121  // SetEC2InstanceType sets the EC2InstanceType field's value.
 17122  func (s *DescribeEC2InstanceLimitsInput) SetEC2InstanceType(v string) *DescribeEC2InstanceLimitsInput {
 17123  	s.EC2InstanceType = &v
 17124  	return s
 17125  }
 17126  
 17127  // SetLocation sets the Location field's value.
 17128  func (s *DescribeEC2InstanceLimitsInput) SetLocation(v string) *DescribeEC2InstanceLimitsInput {
 17129  	s.Location = &v
 17130  	return s
 17131  }
 17132  
 17133  // Represents the returned data in response to a request operation.
 17134  type DescribeEC2InstanceLimitsOutput struct {
 17135  	_ struct{} `type:"structure"`
 17136  
 17137  	// The maximum number of instances for the specified instance type.
 17138  	EC2InstanceLimits []*EC2InstanceLimit `type:"list"`
 17139  }
 17140  
 17141  // String returns the string representation.
 17142  //
 17143  // API parameter values that are decorated as "sensitive" in the API will not
 17144  // be included in the string output. The member name will be present, but the
 17145  // value will be replaced with "sensitive".
 17146  func (s DescribeEC2InstanceLimitsOutput) String() string {
 17147  	return awsutil.Prettify(s)
 17148  }
 17149  
 17150  // GoString returns the string representation.
 17151  //
 17152  // API parameter values that are decorated as "sensitive" in the API will not
 17153  // be included in the string output. The member name will be present, but the
 17154  // value will be replaced with "sensitive".
 17155  func (s DescribeEC2InstanceLimitsOutput) GoString() string {
 17156  	return s.String()
 17157  }
 17158  
 17159  // SetEC2InstanceLimits sets the EC2InstanceLimits field's value.
 17160  func (s *DescribeEC2InstanceLimitsOutput) SetEC2InstanceLimits(v []*EC2InstanceLimit) *DescribeEC2InstanceLimitsOutput {
 17161  	s.EC2InstanceLimits = v
 17162  	return s
 17163  }
 17164  
 17165  // Represents the input for a request operation.
 17166  type DescribeFleetAttributesInput struct {
 17167  	_ struct{} `type:"structure"`
 17168  
 17169  	// A list of unique fleet identifiers to retrieve attributes for. You can use
 17170  	// either the fleet ID or ARN value. To retrieve attributes for all current
 17171  	// fleets, do not include this parameter.
 17172  	FleetIds []*string `min:"1" type:"list"`
 17173  
 17174  	// The maximum number of results to return. Use this parameter with NextToken
 17175  	// to get results as a set of sequential pages. This parameter is ignored when
 17176  	// the request specifies one or a list of fleet IDs.
 17177  	Limit *int64 `min:"1" type:"integer"`
 17178  
 17179  	// A token that indicates the start of the next sequential page of results.
 17180  	// Use the token that is returned with a previous call to this operation. To
 17181  	// start at the beginning of the result set, do not specify a value. This parameter
 17182  	// is ignored when the request specifies one or a list of fleet IDs.
 17183  	NextToken *string `min:"1" type:"string"`
 17184  }
 17185  
 17186  // String returns the string representation.
 17187  //
 17188  // API parameter values that are decorated as "sensitive" in the API will not
 17189  // be included in the string output. The member name will be present, but the
 17190  // value will be replaced with "sensitive".
 17191  func (s DescribeFleetAttributesInput) String() string {
 17192  	return awsutil.Prettify(s)
 17193  }
 17194  
 17195  // GoString returns the string representation.
 17196  //
 17197  // API parameter values that are decorated as "sensitive" in the API will not
 17198  // be included in the string output. The member name will be present, but the
 17199  // value will be replaced with "sensitive".
 17200  func (s DescribeFleetAttributesInput) GoString() string {
 17201  	return s.String()
 17202  }
 17203  
 17204  // Validate inspects the fields of the type to determine if they are valid.
 17205  func (s *DescribeFleetAttributesInput) Validate() error {
 17206  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetAttributesInput"}
 17207  	if s.FleetIds != nil && len(s.FleetIds) < 1 {
 17208  		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
 17209  	}
 17210  	if s.Limit != nil && *s.Limit < 1 {
 17211  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 17212  	}
 17213  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 17214  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 17215  	}
 17216  
 17217  	if invalidParams.Len() > 0 {
 17218  		return invalidParams
 17219  	}
 17220  	return nil
 17221  }
 17222  
 17223  // SetFleetIds sets the FleetIds field's value.
 17224  func (s *DescribeFleetAttributesInput) SetFleetIds(v []*string) *DescribeFleetAttributesInput {
 17225  	s.FleetIds = v
 17226  	return s
 17227  }
 17228  
 17229  // SetLimit sets the Limit field's value.
 17230  func (s *DescribeFleetAttributesInput) SetLimit(v int64) *DescribeFleetAttributesInput {
 17231  	s.Limit = &v
 17232  	return s
 17233  }
 17234  
 17235  // SetNextToken sets the NextToken field's value.
 17236  func (s *DescribeFleetAttributesInput) SetNextToken(v string) *DescribeFleetAttributesInput {
 17237  	s.NextToken = &v
 17238  	return s
 17239  }
 17240  
 17241  // Represents the returned data in response to a request operation.
 17242  type DescribeFleetAttributesOutput struct {
 17243  	_ struct{} `type:"structure"`
 17244  
 17245  	// A collection of objects containing attribute metadata for each requested
 17246  	// fleet ID. Attribute objects are returned only for fleets that currently exist.
 17247  	FleetAttributes []*FleetAttributes `type:"list"`
 17248  
 17249  	// A token that indicates where to resume retrieving results on the next call
 17250  	// to this operation. If no token is returned, these results represent the end
 17251  	// of the list.
 17252  	NextToken *string `min:"1" type:"string"`
 17253  }
 17254  
 17255  // String returns the string representation.
 17256  //
 17257  // API parameter values that are decorated as "sensitive" in the API will not
 17258  // be included in the string output. The member name will be present, but the
 17259  // value will be replaced with "sensitive".
 17260  func (s DescribeFleetAttributesOutput) String() string {
 17261  	return awsutil.Prettify(s)
 17262  }
 17263  
 17264  // GoString returns the string representation.
 17265  //
 17266  // API parameter values that are decorated as "sensitive" in the API will not
 17267  // be included in the string output. The member name will be present, but the
 17268  // value will be replaced with "sensitive".
 17269  func (s DescribeFleetAttributesOutput) GoString() string {
 17270  	return s.String()
 17271  }
 17272  
 17273  // SetFleetAttributes sets the FleetAttributes field's value.
 17274  func (s *DescribeFleetAttributesOutput) SetFleetAttributes(v []*FleetAttributes) *DescribeFleetAttributesOutput {
 17275  	s.FleetAttributes = v
 17276  	return s
 17277  }
 17278  
 17279  // SetNextToken sets the NextToken field's value.
 17280  func (s *DescribeFleetAttributesOutput) SetNextToken(v string) *DescribeFleetAttributesOutput {
 17281  	s.NextToken = &v
 17282  	return s
 17283  }
 17284  
 17285  // Represents the input for a request operation.
 17286  type DescribeFleetCapacityInput struct {
 17287  	_ struct{} `type:"structure"`
 17288  
 17289  	// A unique identifier for the fleet(s) to retrieve capacity information for.
 17290  	// You can use either the fleet ID or ARN value. Leave this parameter empty
 17291  	// to retrieve capacity information for all fleets.
 17292  	FleetIds []*string `min:"1" type:"list"`
 17293  
 17294  	// The maximum number of results to return. Use this parameter with NextToken
 17295  	// to get results as a set of sequential pages. This parameter is ignored when
 17296  	// the request specifies one or a list of fleet IDs.
 17297  	Limit *int64 `min:"1" type:"integer"`
 17298  
 17299  	// A token that indicates the start of the next sequential page of results.
 17300  	// Use the token that is returned with a previous call to this operation. To
 17301  	// start at the beginning of the result set, do not specify a value. This parameter
 17302  	// is ignored when the request specifies one or a list of fleet IDs.
 17303  	NextToken *string `min:"1" type:"string"`
 17304  }
 17305  
 17306  // String returns the string representation.
 17307  //
 17308  // API parameter values that are decorated as "sensitive" in the API will not
 17309  // be included in the string output. The member name will be present, but the
 17310  // value will be replaced with "sensitive".
 17311  func (s DescribeFleetCapacityInput) String() string {
 17312  	return awsutil.Prettify(s)
 17313  }
 17314  
 17315  // GoString returns the string representation.
 17316  //
 17317  // API parameter values that are decorated as "sensitive" in the API will not
 17318  // be included in the string output. The member name will be present, but the
 17319  // value will be replaced with "sensitive".
 17320  func (s DescribeFleetCapacityInput) GoString() string {
 17321  	return s.String()
 17322  }
 17323  
 17324  // Validate inspects the fields of the type to determine if they are valid.
 17325  func (s *DescribeFleetCapacityInput) Validate() error {
 17326  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetCapacityInput"}
 17327  	if s.FleetIds != nil && len(s.FleetIds) < 1 {
 17328  		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
 17329  	}
 17330  	if s.Limit != nil && *s.Limit < 1 {
 17331  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 17332  	}
 17333  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 17334  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 17335  	}
 17336  
 17337  	if invalidParams.Len() > 0 {
 17338  		return invalidParams
 17339  	}
 17340  	return nil
 17341  }
 17342  
 17343  // SetFleetIds sets the FleetIds field's value.
 17344  func (s *DescribeFleetCapacityInput) SetFleetIds(v []*string) *DescribeFleetCapacityInput {
 17345  	s.FleetIds = v
 17346  	return s
 17347  }
 17348  
 17349  // SetLimit sets the Limit field's value.
 17350  func (s *DescribeFleetCapacityInput) SetLimit(v int64) *DescribeFleetCapacityInput {
 17351  	s.Limit = &v
 17352  	return s
 17353  }
 17354  
 17355  // SetNextToken sets the NextToken field's value.
 17356  func (s *DescribeFleetCapacityInput) SetNextToken(v string) *DescribeFleetCapacityInput {
 17357  	s.NextToken = &v
 17358  	return s
 17359  }
 17360  
 17361  // Represents the returned data in response to a request operation.
 17362  type DescribeFleetCapacityOutput struct {
 17363  	_ struct{} `type:"structure"`
 17364  
 17365  	// A collection of objects that contains capacity information for each requested
 17366  	// fleet ID. Capacity objects are returned only for fleets that currently exist.
 17367  	FleetCapacity []*FleetCapacity `type:"list"`
 17368  
 17369  	// A token that indicates where to resume retrieving results on the next call
 17370  	// to this operation. If no token is returned, these results represent the end
 17371  	// of the list.
 17372  	NextToken *string `min:"1" type:"string"`
 17373  }
 17374  
 17375  // String returns the string representation.
 17376  //
 17377  // API parameter values that are decorated as "sensitive" in the API will not
 17378  // be included in the string output. The member name will be present, but the
 17379  // value will be replaced with "sensitive".
 17380  func (s DescribeFleetCapacityOutput) String() string {
 17381  	return awsutil.Prettify(s)
 17382  }
 17383  
 17384  // GoString returns the string representation.
 17385  //
 17386  // API parameter values that are decorated as "sensitive" in the API will not
 17387  // be included in the string output. The member name will be present, but the
 17388  // value will be replaced with "sensitive".
 17389  func (s DescribeFleetCapacityOutput) GoString() string {
 17390  	return s.String()
 17391  }
 17392  
 17393  // SetFleetCapacity sets the FleetCapacity field's value.
 17394  func (s *DescribeFleetCapacityOutput) SetFleetCapacity(v []*FleetCapacity) *DescribeFleetCapacityOutput {
 17395  	s.FleetCapacity = v
 17396  	return s
 17397  }
 17398  
 17399  // SetNextToken sets the NextToken field's value.
 17400  func (s *DescribeFleetCapacityOutput) SetNextToken(v string) *DescribeFleetCapacityOutput {
 17401  	s.NextToken = &v
 17402  	return s
 17403  }
 17404  
 17405  // Represents the input for a request operation.
 17406  type DescribeFleetEventsInput struct {
 17407  	_ struct{} `type:"structure"`
 17408  
 17409  	// The most recent date to retrieve event logs for. If no end time is specified,
 17410  	// this call returns entries from the specified start time up to the present.
 17411  	// Format is a number expressed in Unix time as milliseconds (ex: "1469498468.057").
 17412  	EndTime *time.Time `type:"timestamp"`
 17413  
 17414  	// A unique identifier for the fleet to get event logs for. You can use either
 17415  	// the fleet ID or ARN value.
 17416  	//
 17417  	// FleetId is a required field
 17418  	FleetId *string `type:"string" required:"true"`
 17419  
 17420  	// The maximum number of results to return. Use this parameter with NextToken
 17421  	// to get results as a set of sequential pages.
 17422  	Limit *int64 `min:"1" type:"integer"`
 17423  
 17424  	// A token that indicates the start of the next sequential page of results.
 17425  	// Use the token that is returned with a previous call to this operation. To
 17426  	// start at the beginning of the result set, do not specify a value.
 17427  	NextToken *string `min:"1" type:"string"`
 17428  
 17429  	// The earliest date to retrieve event logs for. If no start time is specified,
 17430  	// this call returns entries starting from when the fleet was created to the
 17431  	// specified end time. Format is a number expressed in Unix time as milliseconds
 17432  	// (ex: "1469498468.057").
 17433  	StartTime *time.Time `type:"timestamp"`
 17434  }
 17435  
 17436  // String returns the string representation.
 17437  //
 17438  // API parameter values that are decorated as "sensitive" in the API will not
 17439  // be included in the string output. The member name will be present, but the
 17440  // value will be replaced with "sensitive".
 17441  func (s DescribeFleetEventsInput) String() string {
 17442  	return awsutil.Prettify(s)
 17443  }
 17444  
 17445  // GoString returns the string representation.
 17446  //
 17447  // API parameter values that are decorated as "sensitive" in the API will not
 17448  // be included in the string output. The member name will be present, but the
 17449  // value will be replaced with "sensitive".
 17450  func (s DescribeFleetEventsInput) GoString() string {
 17451  	return s.String()
 17452  }
 17453  
 17454  // Validate inspects the fields of the type to determine if they are valid.
 17455  func (s *DescribeFleetEventsInput) Validate() error {
 17456  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetEventsInput"}
 17457  	if s.FleetId == nil {
 17458  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 17459  	}
 17460  	if s.Limit != nil && *s.Limit < 1 {
 17461  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 17462  	}
 17463  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 17464  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 17465  	}
 17466  
 17467  	if invalidParams.Len() > 0 {
 17468  		return invalidParams
 17469  	}
 17470  	return nil
 17471  }
 17472  
 17473  // SetEndTime sets the EndTime field's value.
 17474  func (s *DescribeFleetEventsInput) SetEndTime(v time.Time) *DescribeFleetEventsInput {
 17475  	s.EndTime = &v
 17476  	return s
 17477  }
 17478  
 17479  // SetFleetId sets the FleetId field's value.
 17480  func (s *DescribeFleetEventsInput) SetFleetId(v string) *DescribeFleetEventsInput {
 17481  	s.FleetId = &v
 17482  	return s
 17483  }
 17484  
 17485  // SetLimit sets the Limit field's value.
 17486  func (s *DescribeFleetEventsInput) SetLimit(v int64) *DescribeFleetEventsInput {
 17487  	s.Limit = &v
 17488  	return s
 17489  }
 17490  
 17491  // SetNextToken sets the NextToken field's value.
 17492  func (s *DescribeFleetEventsInput) SetNextToken(v string) *DescribeFleetEventsInput {
 17493  	s.NextToken = &v
 17494  	return s
 17495  }
 17496  
 17497  // SetStartTime sets the StartTime field's value.
 17498  func (s *DescribeFleetEventsInput) SetStartTime(v time.Time) *DescribeFleetEventsInput {
 17499  	s.StartTime = &v
 17500  	return s
 17501  }
 17502  
 17503  // Represents the returned data in response to a request operation.
 17504  type DescribeFleetEventsOutput struct {
 17505  	_ struct{} `type:"structure"`
 17506  
 17507  	// A collection of objects containing event log entries for the specified fleet.
 17508  	Events []*Event `type:"list"`
 17509  
 17510  	// A token that indicates where to resume retrieving results on the next call
 17511  	// to this operation. If no token is returned, these results represent the end
 17512  	// of the list.
 17513  	NextToken *string `min:"1" type:"string"`
 17514  }
 17515  
 17516  // String returns the string representation.
 17517  //
 17518  // API parameter values that are decorated as "sensitive" in the API will not
 17519  // be included in the string output. The member name will be present, but the
 17520  // value will be replaced with "sensitive".
 17521  func (s DescribeFleetEventsOutput) String() string {
 17522  	return awsutil.Prettify(s)
 17523  }
 17524  
 17525  // GoString returns the string representation.
 17526  //
 17527  // API parameter values that are decorated as "sensitive" in the API will not
 17528  // be included in the string output. The member name will be present, but the
 17529  // value will be replaced with "sensitive".
 17530  func (s DescribeFleetEventsOutput) GoString() string {
 17531  	return s.String()
 17532  }
 17533  
 17534  // SetEvents sets the Events field's value.
 17535  func (s *DescribeFleetEventsOutput) SetEvents(v []*Event) *DescribeFleetEventsOutput {
 17536  	s.Events = v
 17537  	return s
 17538  }
 17539  
 17540  // SetNextToken sets the NextToken field's value.
 17541  func (s *DescribeFleetEventsOutput) SetNextToken(v string) *DescribeFleetEventsOutput {
 17542  	s.NextToken = &v
 17543  	return s
 17544  }
 17545  
 17546  // Represents the input for a request operation.
 17547  type DescribeFleetLocationAttributesInput struct {
 17548  	_ struct{} `type:"structure"`
 17549  
 17550  	// A unique identifier for the fleet to retrieve remote locations for. You can
 17551  	// use either the fleet ID or ARN value.
 17552  	//
 17553  	// FleetId is a required field
 17554  	FleetId *string `type:"string" required:"true"`
 17555  
 17556  	// The maximum number of results to return. Use this parameter with NextToken
 17557  	// to get results as a set of sequential pages. This limit is not currently
 17558  	// enforced.
 17559  	Limit *int64 `min:"1" type:"integer"`
 17560  
 17561  	// A list of fleet locations to retrieve information for. Specify locations
 17562  	// in the form of an AWS Region code, such as us-west-2.
 17563  	Locations []*string `min:"1" type:"list"`
 17564  
 17565  	// A token that indicates the start of the next sequential page of results.
 17566  	// Use the token that is returned with a previous call to this operation. To
 17567  	// start at the beginning of the result set, do not specify a value.
 17568  	NextToken *string `min:"1" type:"string"`
 17569  }
 17570  
 17571  // String returns the string representation.
 17572  //
 17573  // API parameter values that are decorated as "sensitive" in the API will not
 17574  // be included in the string output. The member name will be present, but the
 17575  // value will be replaced with "sensitive".
 17576  func (s DescribeFleetLocationAttributesInput) String() string {
 17577  	return awsutil.Prettify(s)
 17578  }
 17579  
 17580  // GoString returns the string representation.
 17581  //
 17582  // API parameter values that are decorated as "sensitive" in the API will not
 17583  // be included in the string output. The member name will be present, but the
 17584  // value will be replaced with "sensitive".
 17585  func (s DescribeFleetLocationAttributesInput) GoString() string {
 17586  	return s.String()
 17587  }
 17588  
 17589  // Validate inspects the fields of the type to determine if they are valid.
 17590  func (s *DescribeFleetLocationAttributesInput) Validate() error {
 17591  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetLocationAttributesInput"}
 17592  	if s.FleetId == nil {
 17593  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 17594  	}
 17595  	if s.Limit != nil && *s.Limit < 1 {
 17596  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 17597  	}
 17598  	if s.Locations != nil && len(s.Locations) < 1 {
 17599  		invalidParams.Add(request.NewErrParamMinLen("Locations", 1))
 17600  	}
 17601  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 17602  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 17603  	}
 17604  
 17605  	if invalidParams.Len() > 0 {
 17606  		return invalidParams
 17607  	}
 17608  	return nil
 17609  }
 17610  
 17611  // SetFleetId sets the FleetId field's value.
 17612  func (s *DescribeFleetLocationAttributesInput) SetFleetId(v string) *DescribeFleetLocationAttributesInput {
 17613  	s.FleetId = &v
 17614  	return s
 17615  }
 17616  
 17617  // SetLimit sets the Limit field's value.
 17618  func (s *DescribeFleetLocationAttributesInput) SetLimit(v int64) *DescribeFleetLocationAttributesInput {
 17619  	s.Limit = &v
 17620  	return s
 17621  }
 17622  
 17623  // SetLocations sets the Locations field's value.
 17624  func (s *DescribeFleetLocationAttributesInput) SetLocations(v []*string) *DescribeFleetLocationAttributesInput {
 17625  	s.Locations = v
 17626  	return s
 17627  }
 17628  
 17629  // SetNextToken sets the NextToken field's value.
 17630  func (s *DescribeFleetLocationAttributesInput) SetNextToken(v string) *DescribeFleetLocationAttributesInput {
 17631  	s.NextToken = &v
 17632  	return s
 17633  }
 17634  
 17635  // Represents the returned data in response to a request operation.
 17636  type DescribeFleetLocationAttributesOutput struct {
 17637  	_ struct{} `type:"structure"`
 17638  
 17639  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 17640  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 17641  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 17642  	FleetArn *string `type:"string"`
 17643  
 17644  	// A unique identifier for the fleet that location attributes were requested
 17645  	// for.
 17646  	FleetId *string `type:"string"`
 17647  
 17648  	// Location-specific information on the requested fleet's remote locations.
 17649  	LocationAttributes []*LocationAttributes `type:"list"`
 17650  
 17651  	// A token that indicates where to resume retrieving results on the next call
 17652  	// to this operation. If no token is returned, these results represent the end
 17653  	// of the list.
 17654  	NextToken *string `min:"1" type:"string"`
 17655  }
 17656  
 17657  // String returns the string representation.
 17658  //
 17659  // API parameter values that are decorated as "sensitive" in the API will not
 17660  // be included in the string output. The member name will be present, but the
 17661  // value will be replaced with "sensitive".
 17662  func (s DescribeFleetLocationAttributesOutput) String() string {
 17663  	return awsutil.Prettify(s)
 17664  }
 17665  
 17666  // GoString returns the string representation.
 17667  //
 17668  // API parameter values that are decorated as "sensitive" in the API will not
 17669  // be included in the string output. The member name will be present, but the
 17670  // value will be replaced with "sensitive".
 17671  func (s DescribeFleetLocationAttributesOutput) GoString() string {
 17672  	return s.String()
 17673  }
 17674  
 17675  // SetFleetArn sets the FleetArn field's value.
 17676  func (s *DescribeFleetLocationAttributesOutput) SetFleetArn(v string) *DescribeFleetLocationAttributesOutput {
 17677  	s.FleetArn = &v
 17678  	return s
 17679  }
 17680  
 17681  // SetFleetId sets the FleetId field's value.
 17682  func (s *DescribeFleetLocationAttributesOutput) SetFleetId(v string) *DescribeFleetLocationAttributesOutput {
 17683  	s.FleetId = &v
 17684  	return s
 17685  }
 17686  
 17687  // SetLocationAttributes sets the LocationAttributes field's value.
 17688  func (s *DescribeFleetLocationAttributesOutput) SetLocationAttributes(v []*LocationAttributes) *DescribeFleetLocationAttributesOutput {
 17689  	s.LocationAttributes = v
 17690  	return s
 17691  }
 17692  
 17693  // SetNextToken sets the NextToken field's value.
 17694  func (s *DescribeFleetLocationAttributesOutput) SetNextToken(v string) *DescribeFleetLocationAttributesOutput {
 17695  	s.NextToken = &v
 17696  	return s
 17697  }
 17698  
 17699  // Represents the input for a request operation.
 17700  type DescribeFleetLocationCapacityInput struct {
 17701  	_ struct{} `type:"structure"`
 17702  
 17703  	// A unique identifier for the fleet to request location capacity for. You can
 17704  	// use either the fleet ID or ARN value.
 17705  	//
 17706  	// FleetId is a required field
 17707  	FleetId *string `type:"string" required:"true"`
 17708  
 17709  	// The fleet location to retrieve capacity information for. Specify a location
 17710  	// in the form of an AWS Region code, such as us-west-2.
 17711  	//
 17712  	// Location is a required field
 17713  	Location *string `min:"1" type:"string" required:"true"`
 17714  }
 17715  
 17716  // String returns the string representation.
 17717  //
 17718  // API parameter values that are decorated as "sensitive" in the API will not
 17719  // be included in the string output. The member name will be present, but the
 17720  // value will be replaced with "sensitive".
 17721  func (s DescribeFleetLocationCapacityInput) String() string {
 17722  	return awsutil.Prettify(s)
 17723  }
 17724  
 17725  // GoString returns the string representation.
 17726  //
 17727  // API parameter values that are decorated as "sensitive" in the API will not
 17728  // be included in the string output. The member name will be present, but the
 17729  // value will be replaced with "sensitive".
 17730  func (s DescribeFleetLocationCapacityInput) GoString() string {
 17731  	return s.String()
 17732  }
 17733  
 17734  // Validate inspects the fields of the type to determine if they are valid.
 17735  func (s *DescribeFleetLocationCapacityInput) Validate() error {
 17736  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetLocationCapacityInput"}
 17737  	if s.FleetId == nil {
 17738  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 17739  	}
 17740  	if s.Location == nil {
 17741  		invalidParams.Add(request.NewErrParamRequired("Location"))
 17742  	}
 17743  	if s.Location != nil && len(*s.Location) < 1 {
 17744  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 17745  	}
 17746  
 17747  	if invalidParams.Len() > 0 {
 17748  		return invalidParams
 17749  	}
 17750  	return nil
 17751  }
 17752  
 17753  // SetFleetId sets the FleetId field's value.
 17754  func (s *DescribeFleetLocationCapacityInput) SetFleetId(v string) *DescribeFleetLocationCapacityInput {
 17755  	s.FleetId = &v
 17756  	return s
 17757  }
 17758  
 17759  // SetLocation sets the Location field's value.
 17760  func (s *DescribeFleetLocationCapacityInput) SetLocation(v string) *DescribeFleetLocationCapacityInput {
 17761  	s.Location = &v
 17762  	return s
 17763  }
 17764  
 17765  // Represents the returned data in response to a request operation.
 17766  type DescribeFleetLocationCapacityOutput struct {
 17767  	_ struct{} `type:"structure"`
 17768  
 17769  	// Resource capacity information for the requested fleet location. Capacity
 17770  	// objects are returned only for fleets and locations that currently exist.
 17771  	FleetCapacity *FleetCapacity `type:"structure"`
 17772  }
 17773  
 17774  // String returns the string representation.
 17775  //
 17776  // API parameter values that are decorated as "sensitive" in the API will not
 17777  // be included in the string output. The member name will be present, but the
 17778  // value will be replaced with "sensitive".
 17779  func (s DescribeFleetLocationCapacityOutput) String() string {
 17780  	return awsutil.Prettify(s)
 17781  }
 17782  
 17783  // GoString returns the string representation.
 17784  //
 17785  // API parameter values that are decorated as "sensitive" in the API will not
 17786  // be included in the string output. The member name will be present, but the
 17787  // value will be replaced with "sensitive".
 17788  func (s DescribeFleetLocationCapacityOutput) GoString() string {
 17789  	return s.String()
 17790  }
 17791  
 17792  // SetFleetCapacity sets the FleetCapacity field's value.
 17793  func (s *DescribeFleetLocationCapacityOutput) SetFleetCapacity(v *FleetCapacity) *DescribeFleetLocationCapacityOutput {
 17794  	s.FleetCapacity = v
 17795  	return s
 17796  }
 17797  
 17798  // Represents the input for a request operation.
 17799  type DescribeFleetLocationUtilizationInput struct {
 17800  	_ struct{} `type:"structure"`
 17801  
 17802  	// A unique identifier for the fleet to request location utilization for. You
 17803  	// can use either the fleet ID or ARN value.
 17804  	//
 17805  	// FleetId is a required field
 17806  	FleetId *string `type:"string" required:"true"`
 17807  
 17808  	// The fleet location to retrieve utilization information for. Specify a location
 17809  	// in the form of an AWS Region code, such as us-west-2.
 17810  	//
 17811  	// Location is a required field
 17812  	Location *string `min:"1" type:"string" required:"true"`
 17813  }
 17814  
 17815  // String returns the string representation.
 17816  //
 17817  // API parameter values that are decorated as "sensitive" in the API will not
 17818  // be included in the string output. The member name will be present, but the
 17819  // value will be replaced with "sensitive".
 17820  func (s DescribeFleetLocationUtilizationInput) String() string {
 17821  	return awsutil.Prettify(s)
 17822  }
 17823  
 17824  // GoString returns the string representation.
 17825  //
 17826  // API parameter values that are decorated as "sensitive" in the API will not
 17827  // be included in the string output. The member name will be present, but the
 17828  // value will be replaced with "sensitive".
 17829  func (s DescribeFleetLocationUtilizationInput) GoString() string {
 17830  	return s.String()
 17831  }
 17832  
 17833  // Validate inspects the fields of the type to determine if they are valid.
 17834  func (s *DescribeFleetLocationUtilizationInput) Validate() error {
 17835  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetLocationUtilizationInput"}
 17836  	if s.FleetId == nil {
 17837  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 17838  	}
 17839  	if s.Location == nil {
 17840  		invalidParams.Add(request.NewErrParamRequired("Location"))
 17841  	}
 17842  	if s.Location != nil && len(*s.Location) < 1 {
 17843  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 17844  	}
 17845  
 17846  	if invalidParams.Len() > 0 {
 17847  		return invalidParams
 17848  	}
 17849  	return nil
 17850  }
 17851  
 17852  // SetFleetId sets the FleetId field's value.
 17853  func (s *DescribeFleetLocationUtilizationInput) SetFleetId(v string) *DescribeFleetLocationUtilizationInput {
 17854  	s.FleetId = &v
 17855  	return s
 17856  }
 17857  
 17858  // SetLocation sets the Location field's value.
 17859  func (s *DescribeFleetLocationUtilizationInput) SetLocation(v string) *DescribeFleetLocationUtilizationInput {
 17860  	s.Location = &v
 17861  	return s
 17862  }
 17863  
 17864  // Represents the returned data in response to a request operation.
 17865  type DescribeFleetLocationUtilizationOutput struct {
 17866  	_ struct{} `type:"structure"`
 17867  
 17868  	// Utilization information for the requested fleet location. Utilization objects
 17869  	// are returned only for fleets and locations that currently exist.
 17870  	FleetUtilization *FleetUtilization `type:"structure"`
 17871  }
 17872  
 17873  // String returns the string representation.
 17874  //
 17875  // API parameter values that are decorated as "sensitive" in the API will not
 17876  // be included in the string output. The member name will be present, but the
 17877  // value will be replaced with "sensitive".
 17878  func (s DescribeFleetLocationUtilizationOutput) String() string {
 17879  	return awsutil.Prettify(s)
 17880  }
 17881  
 17882  // GoString returns the string representation.
 17883  //
 17884  // API parameter values that are decorated as "sensitive" in the API will not
 17885  // be included in the string output. The member name will be present, but the
 17886  // value will be replaced with "sensitive".
 17887  func (s DescribeFleetLocationUtilizationOutput) GoString() string {
 17888  	return s.String()
 17889  }
 17890  
 17891  // SetFleetUtilization sets the FleetUtilization field's value.
 17892  func (s *DescribeFleetLocationUtilizationOutput) SetFleetUtilization(v *FleetUtilization) *DescribeFleetLocationUtilizationOutput {
 17893  	s.FleetUtilization = v
 17894  	return s
 17895  }
 17896  
 17897  // Represents the input for a request operation.
 17898  type DescribeFleetPortSettingsInput struct {
 17899  	_ struct{} `type:"structure"`
 17900  
 17901  	// A unique identifier for the fleet to retrieve port settings for. You can
 17902  	// use either the fleet ID or ARN value.
 17903  	//
 17904  	// FleetId is a required field
 17905  	FleetId *string `type:"string" required:"true"`
 17906  
 17907  	// A remote location to check for status of port setting updates. Use the AWS
 17908  	// Region code format, such as us-west-2.
 17909  	Location *string `min:"1" type:"string"`
 17910  }
 17911  
 17912  // String returns the string representation.
 17913  //
 17914  // API parameter values that are decorated as "sensitive" in the API will not
 17915  // be included in the string output. The member name will be present, but the
 17916  // value will be replaced with "sensitive".
 17917  func (s DescribeFleetPortSettingsInput) String() string {
 17918  	return awsutil.Prettify(s)
 17919  }
 17920  
 17921  // GoString 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".
 17926  func (s DescribeFleetPortSettingsInput) GoString() string {
 17927  	return s.String()
 17928  }
 17929  
 17930  // Validate inspects the fields of the type to determine if they are valid.
 17931  func (s *DescribeFleetPortSettingsInput) Validate() error {
 17932  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetPortSettingsInput"}
 17933  	if s.FleetId == nil {
 17934  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 17935  	}
 17936  	if s.Location != nil && len(*s.Location) < 1 {
 17937  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 17938  	}
 17939  
 17940  	if invalidParams.Len() > 0 {
 17941  		return invalidParams
 17942  	}
 17943  	return nil
 17944  }
 17945  
 17946  // SetFleetId sets the FleetId field's value.
 17947  func (s *DescribeFleetPortSettingsInput) SetFleetId(v string) *DescribeFleetPortSettingsInput {
 17948  	s.FleetId = &v
 17949  	return s
 17950  }
 17951  
 17952  // SetLocation sets the Location field's value.
 17953  func (s *DescribeFleetPortSettingsInput) SetLocation(v string) *DescribeFleetPortSettingsInput {
 17954  	s.Location = &v
 17955  	return s
 17956  }
 17957  
 17958  // Represents the returned data in response to a request operation.
 17959  type DescribeFleetPortSettingsOutput struct {
 17960  	_ struct{} `type:"structure"`
 17961  
 17962  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 17963  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 17964  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 17965  	FleetArn *string `type:"string"`
 17966  
 17967  	// A unique identifier for the fleet that was requested.
 17968  	FleetId *string `type:"string"`
 17969  
 17970  	// The port settings for the requested fleet ID.
 17971  	InboundPermissions []*IpPermission `type:"list"`
 17972  
 17973  	// The requested fleet location, expressed as an AWS Region code, such as us-west-2.
 17974  	Location *string `min:"1" type:"string"`
 17975  
 17976  	// The current status of updates to the fleet's port settings in the requested
 17977  	// fleet location. A status of PENDING_UPDATE indicates that an update was requested
 17978  	// for the fleet but has not yet been completed for the location.
 17979  	UpdateStatus *string `type:"string" enum:"LocationUpdateStatus"`
 17980  }
 17981  
 17982  // String returns the string representation.
 17983  //
 17984  // API parameter values that are decorated as "sensitive" in the API will not
 17985  // be included in the string output. The member name will be present, but the
 17986  // value will be replaced with "sensitive".
 17987  func (s DescribeFleetPortSettingsOutput) String() string {
 17988  	return awsutil.Prettify(s)
 17989  }
 17990  
 17991  // GoString returns the string representation.
 17992  //
 17993  // API parameter values that are decorated as "sensitive" in the API will not
 17994  // be included in the string output. The member name will be present, but the
 17995  // value will be replaced with "sensitive".
 17996  func (s DescribeFleetPortSettingsOutput) GoString() string {
 17997  	return s.String()
 17998  }
 17999  
 18000  // SetFleetArn sets the FleetArn field's value.
 18001  func (s *DescribeFleetPortSettingsOutput) SetFleetArn(v string) *DescribeFleetPortSettingsOutput {
 18002  	s.FleetArn = &v
 18003  	return s
 18004  }
 18005  
 18006  // SetFleetId sets the FleetId field's value.
 18007  func (s *DescribeFleetPortSettingsOutput) SetFleetId(v string) *DescribeFleetPortSettingsOutput {
 18008  	s.FleetId = &v
 18009  	return s
 18010  }
 18011  
 18012  // SetInboundPermissions sets the InboundPermissions field's value.
 18013  func (s *DescribeFleetPortSettingsOutput) SetInboundPermissions(v []*IpPermission) *DescribeFleetPortSettingsOutput {
 18014  	s.InboundPermissions = v
 18015  	return s
 18016  }
 18017  
 18018  // SetLocation sets the Location field's value.
 18019  func (s *DescribeFleetPortSettingsOutput) SetLocation(v string) *DescribeFleetPortSettingsOutput {
 18020  	s.Location = &v
 18021  	return s
 18022  }
 18023  
 18024  // SetUpdateStatus sets the UpdateStatus field's value.
 18025  func (s *DescribeFleetPortSettingsOutput) SetUpdateStatus(v string) *DescribeFleetPortSettingsOutput {
 18026  	s.UpdateStatus = &v
 18027  	return s
 18028  }
 18029  
 18030  // Represents the input for a request operation.
 18031  type DescribeFleetUtilizationInput struct {
 18032  	_ struct{} `type:"structure"`
 18033  
 18034  	// A unique identifier for the fleet(s) to retrieve utilization data for. You
 18035  	// can use either the fleet ID or ARN value. To retrieve attributes for all
 18036  	// current fleets, do not include this parameter.
 18037  	FleetIds []*string `min:"1" type:"list"`
 18038  
 18039  	// The maximum number of results to return. Use this parameter with NextToken
 18040  	// to get results as a set of sequential pages. This parameter is ignored when
 18041  	// the request specifies one or a list of fleet IDs.
 18042  	Limit *int64 `min:"1" type:"integer"`
 18043  
 18044  	// A token that indicates the start of the next sequential page of results.
 18045  	// Use the token that is returned with a previous call to this operation. To
 18046  	// start at the beginning of the result set, do not specify a value. This parameter
 18047  	// is ignored when the request specifies one or a list of fleet IDs.
 18048  	NextToken *string `min:"1" type:"string"`
 18049  }
 18050  
 18051  // String returns the string representation.
 18052  //
 18053  // API parameter values that are decorated as "sensitive" in the API will not
 18054  // be included in the string output. The member name will be present, but the
 18055  // value will be replaced with "sensitive".
 18056  func (s DescribeFleetUtilizationInput) String() string {
 18057  	return awsutil.Prettify(s)
 18058  }
 18059  
 18060  // GoString returns the string representation.
 18061  //
 18062  // API parameter values that are decorated as "sensitive" in the API will not
 18063  // be included in the string output. The member name will be present, but the
 18064  // value will be replaced with "sensitive".
 18065  func (s DescribeFleetUtilizationInput) GoString() string {
 18066  	return s.String()
 18067  }
 18068  
 18069  // Validate inspects the fields of the type to determine if they are valid.
 18070  func (s *DescribeFleetUtilizationInput) Validate() error {
 18071  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetUtilizationInput"}
 18072  	if s.FleetIds != nil && len(s.FleetIds) < 1 {
 18073  		invalidParams.Add(request.NewErrParamMinLen("FleetIds", 1))
 18074  	}
 18075  	if s.Limit != nil && *s.Limit < 1 {
 18076  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 18077  	}
 18078  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 18079  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 18080  	}
 18081  
 18082  	if invalidParams.Len() > 0 {
 18083  		return invalidParams
 18084  	}
 18085  	return nil
 18086  }
 18087  
 18088  // SetFleetIds sets the FleetIds field's value.
 18089  func (s *DescribeFleetUtilizationInput) SetFleetIds(v []*string) *DescribeFleetUtilizationInput {
 18090  	s.FleetIds = v
 18091  	return s
 18092  }
 18093  
 18094  // SetLimit sets the Limit field's value.
 18095  func (s *DescribeFleetUtilizationInput) SetLimit(v int64) *DescribeFleetUtilizationInput {
 18096  	s.Limit = &v
 18097  	return s
 18098  }
 18099  
 18100  // SetNextToken sets the NextToken field's value.
 18101  func (s *DescribeFleetUtilizationInput) SetNextToken(v string) *DescribeFleetUtilizationInput {
 18102  	s.NextToken = &v
 18103  	return s
 18104  }
 18105  
 18106  // Represents the returned data in response to a request operation.
 18107  type DescribeFleetUtilizationOutput struct {
 18108  	_ struct{} `type:"structure"`
 18109  
 18110  	// A collection of objects containing utilization information for each requested
 18111  	// fleet ID. Utilization objects are returned only for fleets that currently
 18112  	// exist.
 18113  	FleetUtilization []*FleetUtilization `type:"list"`
 18114  
 18115  	// A token that indicates where to resume retrieving results on the next call
 18116  	// to this operation. If no token is returned, these results represent the end
 18117  	// of the list.
 18118  	NextToken *string `min:"1" type:"string"`
 18119  }
 18120  
 18121  // String returns the string representation.
 18122  //
 18123  // API parameter values that are decorated as "sensitive" in the API will not
 18124  // be included in the string output. The member name will be present, but the
 18125  // value will be replaced with "sensitive".
 18126  func (s DescribeFleetUtilizationOutput) String() string {
 18127  	return awsutil.Prettify(s)
 18128  }
 18129  
 18130  // GoString returns the string representation.
 18131  //
 18132  // API parameter values that are decorated as "sensitive" in the API will not
 18133  // be included in the string output. The member name will be present, but the
 18134  // value will be replaced with "sensitive".
 18135  func (s DescribeFleetUtilizationOutput) GoString() string {
 18136  	return s.String()
 18137  }
 18138  
 18139  // SetFleetUtilization sets the FleetUtilization field's value.
 18140  func (s *DescribeFleetUtilizationOutput) SetFleetUtilization(v []*FleetUtilization) *DescribeFleetUtilizationOutput {
 18141  	s.FleetUtilization = v
 18142  	return s
 18143  }
 18144  
 18145  // SetNextToken sets the NextToken field's value.
 18146  func (s *DescribeFleetUtilizationOutput) SetNextToken(v string) *DescribeFleetUtilizationOutput {
 18147  	s.NextToken = &v
 18148  	return s
 18149  }
 18150  
 18151  type DescribeGameServerGroupInput struct {
 18152  	_ struct{} `type:"structure"`
 18153  
 18154  	// A unique identifier for the game server group. Use either the GameServerGroup
 18155  	// name or ARN value.
 18156  	//
 18157  	// GameServerGroupName is a required field
 18158  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 18159  }
 18160  
 18161  // String returns the string representation.
 18162  //
 18163  // API parameter values that are decorated as "sensitive" in the API will not
 18164  // be included in the string output. The member name will be present, but the
 18165  // value will be replaced with "sensitive".
 18166  func (s DescribeGameServerGroupInput) String() string {
 18167  	return awsutil.Prettify(s)
 18168  }
 18169  
 18170  // GoString returns the string representation.
 18171  //
 18172  // API parameter values that are decorated as "sensitive" in the API will not
 18173  // be included in the string output. The member name will be present, but the
 18174  // value will be replaced with "sensitive".
 18175  func (s DescribeGameServerGroupInput) GoString() string {
 18176  	return s.String()
 18177  }
 18178  
 18179  // Validate inspects the fields of the type to determine if they are valid.
 18180  func (s *DescribeGameServerGroupInput) Validate() error {
 18181  	invalidParams := request.ErrInvalidParams{Context: "DescribeGameServerGroupInput"}
 18182  	if s.GameServerGroupName == nil {
 18183  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 18184  	}
 18185  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 18186  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 18187  	}
 18188  
 18189  	if invalidParams.Len() > 0 {
 18190  		return invalidParams
 18191  	}
 18192  	return nil
 18193  }
 18194  
 18195  // SetGameServerGroupName sets the GameServerGroupName field's value.
 18196  func (s *DescribeGameServerGroupInput) SetGameServerGroupName(v string) *DescribeGameServerGroupInput {
 18197  	s.GameServerGroupName = &v
 18198  	return s
 18199  }
 18200  
 18201  type DescribeGameServerGroupOutput struct {
 18202  	_ struct{} `type:"structure"`
 18203  
 18204  	// An object with the property settings for the requested game server group
 18205  	// resource.
 18206  	GameServerGroup *GameServerGroup `type:"structure"`
 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".
 18214  func (s DescribeGameServerGroupOutput) 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".
 18223  func (s DescribeGameServerGroupOutput) GoString() string {
 18224  	return s.String()
 18225  }
 18226  
 18227  // SetGameServerGroup sets the GameServerGroup field's value.
 18228  func (s *DescribeGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *DescribeGameServerGroupOutput {
 18229  	s.GameServerGroup = v
 18230  	return s
 18231  }
 18232  
 18233  type DescribeGameServerInput struct {
 18234  	_ struct{} `type:"structure"`
 18235  
 18236  	// A unique identifier for the game server group where the game server is running.
 18237  	// Use either the GameServerGroup name or ARN value.
 18238  	//
 18239  	// GameServerGroupName is a required field
 18240  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 18241  
 18242  	// A custom string that uniquely identifies the game server information to be
 18243  	// retrieved.
 18244  	//
 18245  	// GameServerId is a required field
 18246  	GameServerId *string `min:"3" type:"string" required:"true"`
 18247  }
 18248  
 18249  // String returns the string representation.
 18250  //
 18251  // API parameter values that are decorated as "sensitive" in the API will not
 18252  // be included in the string output. The member name will be present, but the
 18253  // value will be replaced with "sensitive".
 18254  func (s DescribeGameServerInput) String() string {
 18255  	return awsutil.Prettify(s)
 18256  }
 18257  
 18258  // GoString returns the string representation.
 18259  //
 18260  // API parameter values that are decorated as "sensitive" in the API will not
 18261  // be included in the string output. The member name will be present, but the
 18262  // value will be replaced with "sensitive".
 18263  func (s DescribeGameServerInput) GoString() string {
 18264  	return s.String()
 18265  }
 18266  
 18267  // Validate inspects the fields of the type to determine if they are valid.
 18268  func (s *DescribeGameServerInput) Validate() error {
 18269  	invalidParams := request.ErrInvalidParams{Context: "DescribeGameServerInput"}
 18270  	if s.GameServerGroupName == nil {
 18271  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 18272  	}
 18273  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 18274  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 18275  	}
 18276  	if s.GameServerId == nil {
 18277  		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
 18278  	}
 18279  	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
 18280  		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
 18281  	}
 18282  
 18283  	if invalidParams.Len() > 0 {
 18284  		return invalidParams
 18285  	}
 18286  	return nil
 18287  }
 18288  
 18289  // SetGameServerGroupName sets the GameServerGroupName field's value.
 18290  func (s *DescribeGameServerInput) SetGameServerGroupName(v string) *DescribeGameServerInput {
 18291  	s.GameServerGroupName = &v
 18292  	return s
 18293  }
 18294  
 18295  // SetGameServerId sets the GameServerId field's value.
 18296  func (s *DescribeGameServerInput) SetGameServerId(v string) *DescribeGameServerInput {
 18297  	s.GameServerId = &v
 18298  	return s
 18299  }
 18300  
 18301  type DescribeGameServerInstancesInput struct {
 18302  	_ struct{} `type:"structure"`
 18303  
 18304  	// A unique identifier for the game server group. Use either the GameServerGroup
 18305  	// name or ARN value.
 18306  	//
 18307  	// GameServerGroupName is a required field
 18308  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 18309  
 18310  	// The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs
 18311  	// use a 17-character format, for example: i-1234567890abcdef0. To retrieve
 18312  	// all instances in the game server group, leave this parameter empty.
 18313  	InstanceIds []*string `min:"1" type:"list"`
 18314  
 18315  	// The maximum number of results to return. Use this parameter with NextToken
 18316  	// to get results as a set of sequential pages.
 18317  	Limit *int64 `min:"1" type:"integer"`
 18318  
 18319  	// A token that indicates the start of the next sequential page of results.
 18320  	// Use the token that is returned with a previous call to this operation. To
 18321  	// start at the beginning of the result set, do not specify a value.
 18322  	NextToken *string `min:"1" type:"string"`
 18323  }
 18324  
 18325  // String returns the string representation.
 18326  //
 18327  // API parameter values that are decorated as "sensitive" in the API will not
 18328  // be included in the string output. The member name will be present, but the
 18329  // value will be replaced with "sensitive".
 18330  func (s DescribeGameServerInstancesInput) String() string {
 18331  	return awsutil.Prettify(s)
 18332  }
 18333  
 18334  // GoString returns the string representation.
 18335  //
 18336  // API parameter values that are decorated as "sensitive" in the API will not
 18337  // be included in the string output. The member name will be present, but the
 18338  // value will be replaced with "sensitive".
 18339  func (s DescribeGameServerInstancesInput) GoString() string {
 18340  	return s.String()
 18341  }
 18342  
 18343  // Validate inspects the fields of the type to determine if they are valid.
 18344  func (s *DescribeGameServerInstancesInput) Validate() error {
 18345  	invalidParams := request.ErrInvalidParams{Context: "DescribeGameServerInstancesInput"}
 18346  	if s.GameServerGroupName == nil {
 18347  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 18348  	}
 18349  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 18350  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 18351  	}
 18352  	if s.InstanceIds != nil && len(s.InstanceIds) < 1 {
 18353  		invalidParams.Add(request.NewErrParamMinLen("InstanceIds", 1))
 18354  	}
 18355  	if s.Limit != nil && *s.Limit < 1 {
 18356  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 18357  	}
 18358  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 18359  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 18360  	}
 18361  
 18362  	if invalidParams.Len() > 0 {
 18363  		return invalidParams
 18364  	}
 18365  	return nil
 18366  }
 18367  
 18368  // SetGameServerGroupName sets the GameServerGroupName field's value.
 18369  func (s *DescribeGameServerInstancesInput) SetGameServerGroupName(v string) *DescribeGameServerInstancesInput {
 18370  	s.GameServerGroupName = &v
 18371  	return s
 18372  }
 18373  
 18374  // SetInstanceIds sets the InstanceIds field's value.
 18375  func (s *DescribeGameServerInstancesInput) SetInstanceIds(v []*string) *DescribeGameServerInstancesInput {
 18376  	s.InstanceIds = v
 18377  	return s
 18378  }
 18379  
 18380  // SetLimit sets the Limit field's value.
 18381  func (s *DescribeGameServerInstancesInput) SetLimit(v int64) *DescribeGameServerInstancesInput {
 18382  	s.Limit = &v
 18383  	return s
 18384  }
 18385  
 18386  // SetNextToken sets the NextToken field's value.
 18387  func (s *DescribeGameServerInstancesInput) SetNextToken(v string) *DescribeGameServerInstancesInput {
 18388  	s.NextToken = &v
 18389  	return s
 18390  }
 18391  
 18392  type DescribeGameServerInstancesOutput struct {
 18393  	_ struct{} `type:"structure"`
 18394  
 18395  	// The collection of requested game server instances.
 18396  	GameServerInstances []*GameServerInstance `type:"list"`
 18397  
 18398  	// A token that indicates where to resume retrieving results on the next call
 18399  	// to this operation. If no token is returned, these results represent the end
 18400  	// of the list.
 18401  	NextToken *string `min:"1" type:"string"`
 18402  }
 18403  
 18404  // String returns the string representation.
 18405  //
 18406  // API parameter values that are decorated as "sensitive" in the API will not
 18407  // be included in the string output. The member name will be present, but the
 18408  // value will be replaced with "sensitive".
 18409  func (s DescribeGameServerInstancesOutput) String() string {
 18410  	return awsutil.Prettify(s)
 18411  }
 18412  
 18413  // GoString returns the string representation.
 18414  //
 18415  // API parameter values that are decorated as "sensitive" in the API will not
 18416  // be included in the string output. The member name will be present, but the
 18417  // value will be replaced with "sensitive".
 18418  func (s DescribeGameServerInstancesOutput) GoString() string {
 18419  	return s.String()
 18420  }
 18421  
 18422  // SetGameServerInstances sets the GameServerInstances field's value.
 18423  func (s *DescribeGameServerInstancesOutput) SetGameServerInstances(v []*GameServerInstance) *DescribeGameServerInstancesOutput {
 18424  	s.GameServerInstances = v
 18425  	return s
 18426  }
 18427  
 18428  // SetNextToken sets the NextToken field's value.
 18429  func (s *DescribeGameServerInstancesOutput) SetNextToken(v string) *DescribeGameServerInstancesOutput {
 18430  	s.NextToken = &v
 18431  	return s
 18432  }
 18433  
 18434  type DescribeGameServerOutput struct {
 18435  	_ struct{} `type:"structure"`
 18436  
 18437  	// Object that describes the requested game server.
 18438  	GameServer *GameServer `type:"structure"`
 18439  }
 18440  
 18441  // String returns the string representation.
 18442  //
 18443  // API parameter values that are decorated as "sensitive" in the API will not
 18444  // be included in the string output. The member name will be present, but the
 18445  // value will be replaced with "sensitive".
 18446  func (s DescribeGameServerOutput) String() string {
 18447  	return awsutil.Prettify(s)
 18448  }
 18449  
 18450  // GoString returns the string representation.
 18451  //
 18452  // API parameter values that are decorated as "sensitive" in the API will not
 18453  // be included in the string output. The member name will be present, but the
 18454  // value will be replaced with "sensitive".
 18455  func (s DescribeGameServerOutput) GoString() string {
 18456  	return s.String()
 18457  }
 18458  
 18459  // SetGameServer sets the GameServer field's value.
 18460  func (s *DescribeGameServerOutput) SetGameServer(v *GameServer) *DescribeGameServerOutput {
 18461  	s.GameServer = v
 18462  	return s
 18463  }
 18464  
 18465  // Represents the input for a request operation.
 18466  type DescribeGameSessionDetailsInput struct {
 18467  	_ struct{} `type:"structure"`
 18468  
 18469  	// A unique identifier for the alias associated with the fleet to retrieve all
 18470  	// game sessions for. You can use either the alias ID or ARN value.
 18471  	AliasId *string `type:"string"`
 18472  
 18473  	// A unique identifier for the fleet to retrieve all game sessions active on
 18474  	// the fleet. You can use either the fleet ID or ARN value.
 18475  	FleetId *string `type:"string"`
 18476  
 18477  	// A unique identifier for the game session to retrieve.
 18478  	GameSessionId *string `min:"1" type:"string"`
 18479  
 18480  	// The maximum number of results to return. Use this parameter with NextToken
 18481  	// to get results as a set of sequential pages.
 18482  	Limit *int64 `min:"1" type:"integer"`
 18483  
 18484  	// A fleet location to get game sessions for. You can specify a fleet's home
 18485  	// Region or a remote location. Use the AWS Region code format, such as us-west-2.
 18486  	Location *string `min:"1" type:"string"`
 18487  
 18488  	// A token that indicates the start of the next sequential page of results.
 18489  	// Use the token that is returned with a previous call to this operation. To
 18490  	// start at the beginning of the result set, do not specify a value.
 18491  	NextToken *string `min:"1" type:"string"`
 18492  
 18493  	// Game session status to filter results on. Possible game session statuses
 18494  	// include ACTIVE, TERMINATED, ACTIVATING and TERMINATING (the last two are
 18495  	// transitory).
 18496  	StatusFilter *string `min:"1" type:"string"`
 18497  }
 18498  
 18499  // String returns the string representation.
 18500  //
 18501  // API parameter values that are decorated as "sensitive" in the API will not
 18502  // be included in the string output. The member name will be present, but the
 18503  // value will be replaced with "sensitive".
 18504  func (s DescribeGameSessionDetailsInput) String() string {
 18505  	return awsutil.Prettify(s)
 18506  }
 18507  
 18508  // GoString returns the string representation.
 18509  //
 18510  // API parameter values that are decorated as "sensitive" in the API will not
 18511  // be included in the string output. The member name will be present, but the
 18512  // value will be replaced with "sensitive".
 18513  func (s DescribeGameSessionDetailsInput) GoString() string {
 18514  	return s.String()
 18515  }
 18516  
 18517  // Validate inspects the fields of the type to determine if they are valid.
 18518  func (s *DescribeGameSessionDetailsInput) Validate() error {
 18519  	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionDetailsInput"}
 18520  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 18521  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 18522  	}
 18523  	if s.Limit != nil && *s.Limit < 1 {
 18524  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 18525  	}
 18526  	if s.Location != nil && len(*s.Location) < 1 {
 18527  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 18528  	}
 18529  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 18530  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 18531  	}
 18532  	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
 18533  		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
 18534  	}
 18535  
 18536  	if invalidParams.Len() > 0 {
 18537  		return invalidParams
 18538  	}
 18539  	return nil
 18540  }
 18541  
 18542  // SetAliasId sets the AliasId field's value.
 18543  func (s *DescribeGameSessionDetailsInput) SetAliasId(v string) *DescribeGameSessionDetailsInput {
 18544  	s.AliasId = &v
 18545  	return s
 18546  }
 18547  
 18548  // SetFleetId sets the FleetId field's value.
 18549  func (s *DescribeGameSessionDetailsInput) SetFleetId(v string) *DescribeGameSessionDetailsInput {
 18550  	s.FleetId = &v
 18551  	return s
 18552  }
 18553  
 18554  // SetGameSessionId sets the GameSessionId field's value.
 18555  func (s *DescribeGameSessionDetailsInput) SetGameSessionId(v string) *DescribeGameSessionDetailsInput {
 18556  	s.GameSessionId = &v
 18557  	return s
 18558  }
 18559  
 18560  // SetLimit sets the Limit field's value.
 18561  func (s *DescribeGameSessionDetailsInput) SetLimit(v int64) *DescribeGameSessionDetailsInput {
 18562  	s.Limit = &v
 18563  	return s
 18564  }
 18565  
 18566  // SetLocation sets the Location field's value.
 18567  func (s *DescribeGameSessionDetailsInput) SetLocation(v string) *DescribeGameSessionDetailsInput {
 18568  	s.Location = &v
 18569  	return s
 18570  }
 18571  
 18572  // SetNextToken sets the NextToken field's value.
 18573  func (s *DescribeGameSessionDetailsInput) SetNextToken(v string) *DescribeGameSessionDetailsInput {
 18574  	s.NextToken = &v
 18575  	return s
 18576  }
 18577  
 18578  // SetStatusFilter sets the StatusFilter field's value.
 18579  func (s *DescribeGameSessionDetailsInput) SetStatusFilter(v string) *DescribeGameSessionDetailsInput {
 18580  	s.StatusFilter = &v
 18581  	return s
 18582  }
 18583  
 18584  // Represents the returned data in response to a request operation.
 18585  type DescribeGameSessionDetailsOutput struct {
 18586  	_ struct{} `type:"structure"`
 18587  
 18588  	// A collection of properties for each game session that matches the request.
 18589  	GameSessionDetails []*GameSessionDetail `type:"list"`
 18590  
 18591  	// A token that indicates where to resume retrieving results on the next call
 18592  	// to this operation. If no token is returned, these results represent the end
 18593  	// of the list.
 18594  	NextToken *string `min:"1" type:"string"`
 18595  }
 18596  
 18597  // String returns the string representation.
 18598  //
 18599  // API parameter values that are decorated as "sensitive" in the API will not
 18600  // be included in the string output. The member name will be present, but the
 18601  // value will be replaced with "sensitive".
 18602  func (s DescribeGameSessionDetailsOutput) String() string {
 18603  	return awsutil.Prettify(s)
 18604  }
 18605  
 18606  // GoString returns the string representation.
 18607  //
 18608  // API parameter values that are decorated as "sensitive" in the API will not
 18609  // be included in the string output. The member name will be present, but the
 18610  // value will be replaced with "sensitive".
 18611  func (s DescribeGameSessionDetailsOutput) GoString() string {
 18612  	return s.String()
 18613  }
 18614  
 18615  // SetGameSessionDetails sets the GameSessionDetails field's value.
 18616  func (s *DescribeGameSessionDetailsOutput) SetGameSessionDetails(v []*GameSessionDetail) *DescribeGameSessionDetailsOutput {
 18617  	s.GameSessionDetails = v
 18618  	return s
 18619  }
 18620  
 18621  // SetNextToken sets the NextToken field's value.
 18622  func (s *DescribeGameSessionDetailsOutput) SetNextToken(v string) *DescribeGameSessionDetailsOutput {
 18623  	s.NextToken = &v
 18624  	return s
 18625  }
 18626  
 18627  // Represents the input for a request operation.
 18628  type DescribeGameSessionPlacementInput struct {
 18629  	_ struct{} `type:"structure"`
 18630  
 18631  	// A unique identifier for a game session placement to retrieve.
 18632  	//
 18633  	// PlacementId is a required field
 18634  	PlacementId *string `min:"1" type:"string" required:"true"`
 18635  }
 18636  
 18637  // String returns the string representation.
 18638  //
 18639  // API parameter values that are decorated as "sensitive" in the API will not
 18640  // be included in the string output. The member name will be present, but the
 18641  // value will be replaced with "sensitive".
 18642  func (s DescribeGameSessionPlacementInput) String() string {
 18643  	return awsutil.Prettify(s)
 18644  }
 18645  
 18646  // GoString returns the string representation.
 18647  //
 18648  // API parameter values that are decorated as "sensitive" in the API will not
 18649  // be included in the string output. The member name will be present, but the
 18650  // value will be replaced with "sensitive".
 18651  func (s DescribeGameSessionPlacementInput) GoString() string {
 18652  	return s.String()
 18653  }
 18654  
 18655  // Validate inspects the fields of the type to determine if they are valid.
 18656  func (s *DescribeGameSessionPlacementInput) Validate() error {
 18657  	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionPlacementInput"}
 18658  	if s.PlacementId == nil {
 18659  		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
 18660  	}
 18661  	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
 18662  		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
 18663  	}
 18664  
 18665  	if invalidParams.Len() > 0 {
 18666  		return invalidParams
 18667  	}
 18668  	return nil
 18669  }
 18670  
 18671  // SetPlacementId sets the PlacementId field's value.
 18672  func (s *DescribeGameSessionPlacementInput) SetPlacementId(v string) *DescribeGameSessionPlacementInput {
 18673  	s.PlacementId = &v
 18674  	return s
 18675  }
 18676  
 18677  // Represents the returned data in response to a request operation.
 18678  type DescribeGameSessionPlacementOutput struct {
 18679  	_ struct{} `type:"structure"`
 18680  
 18681  	// Object that describes the requested game session placement.
 18682  	GameSessionPlacement *GameSessionPlacement `type:"structure"`
 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".
 18690  func (s DescribeGameSessionPlacementOutput) 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".
 18699  func (s DescribeGameSessionPlacementOutput) GoString() string {
 18700  	return s.String()
 18701  }
 18702  
 18703  // SetGameSessionPlacement sets the GameSessionPlacement field's value.
 18704  func (s *DescribeGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *DescribeGameSessionPlacementOutput {
 18705  	s.GameSessionPlacement = v
 18706  	return s
 18707  }
 18708  
 18709  // Represents the input for a request operation.
 18710  type DescribeGameSessionQueuesInput struct {
 18711  	_ struct{} `type:"structure"`
 18712  
 18713  	// The maximum number of results to return. Use this parameter with NextToken
 18714  	// to get results as a set of sequential pages. You can request up to 50 results.
 18715  	Limit *int64 `min:"1" type:"integer"`
 18716  
 18717  	// A list of queue names to retrieve information for. You can use either the
 18718  	// queue ID or ARN value. To request settings for all queues, leave this parameter
 18719  	// empty.
 18720  	Names []*string `type:"list"`
 18721  
 18722  	// A token that indicates the start of the next sequential page of results.
 18723  	// Use the token that is returned with a previous call to this operation. To
 18724  	// start at the beginning of the result set, do not specify a value.
 18725  	NextToken *string `min:"1" type:"string"`
 18726  }
 18727  
 18728  // String returns the string representation.
 18729  //
 18730  // API parameter values that are decorated as "sensitive" in the API will not
 18731  // be included in the string output. The member name will be present, but the
 18732  // value will be replaced with "sensitive".
 18733  func (s DescribeGameSessionQueuesInput) String() string {
 18734  	return awsutil.Prettify(s)
 18735  }
 18736  
 18737  // GoString returns the string representation.
 18738  //
 18739  // API parameter values that are decorated as "sensitive" in the API will not
 18740  // be included in the string output. The member name will be present, but the
 18741  // value will be replaced with "sensitive".
 18742  func (s DescribeGameSessionQueuesInput) GoString() string {
 18743  	return s.String()
 18744  }
 18745  
 18746  // Validate inspects the fields of the type to determine if they are valid.
 18747  func (s *DescribeGameSessionQueuesInput) Validate() error {
 18748  	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionQueuesInput"}
 18749  	if s.Limit != nil && *s.Limit < 1 {
 18750  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 18751  	}
 18752  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 18753  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 18754  	}
 18755  
 18756  	if invalidParams.Len() > 0 {
 18757  		return invalidParams
 18758  	}
 18759  	return nil
 18760  }
 18761  
 18762  // SetLimit sets the Limit field's value.
 18763  func (s *DescribeGameSessionQueuesInput) SetLimit(v int64) *DescribeGameSessionQueuesInput {
 18764  	s.Limit = &v
 18765  	return s
 18766  }
 18767  
 18768  // SetNames sets the Names field's value.
 18769  func (s *DescribeGameSessionQueuesInput) SetNames(v []*string) *DescribeGameSessionQueuesInput {
 18770  	s.Names = v
 18771  	return s
 18772  }
 18773  
 18774  // SetNextToken sets the NextToken field's value.
 18775  func (s *DescribeGameSessionQueuesInput) SetNextToken(v string) *DescribeGameSessionQueuesInput {
 18776  	s.NextToken = &v
 18777  	return s
 18778  }
 18779  
 18780  // Represents the returned data in response to a request operation.
 18781  type DescribeGameSessionQueuesOutput struct {
 18782  	_ struct{} `type:"structure"`
 18783  
 18784  	// A collection of objects that describe the requested game session queues.
 18785  	GameSessionQueues []*GameSessionQueue `type:"list"`
 18786  
 18787  	// A token that indicates where to resume retrieving results on the next call
 18788  	// to this operation. If no token is returned, these results represent the end
 18789  	// of the list.
 18790  	NextToken *string `min:"1" type:"string"`
 18791  }
 18792  
 18793  // String returns the string representation.
 18794  //
 18795  // API parameter values that are decorated as "sensitive" in the API will not
 18796  // be included in the string output. The member name will be present, but the
 18797  // value will be replaced with "sensitive".
 18798  func (s DescribeGameSessionQueuesOutput) String() string {
 18799  	return awsutil.Prettify(s)
 18800  }
 18801  
 18802  // GoString returns the string representation.
 18803  //
 18804  // API parameter values that are decorated as "sensitive" in the API will not
 18805  // be included in the string output. The member name will be present, but the
 18806  // value will be replaced with "sensitive".
 18807  func (s DescribeGameSessionQueuesOutput) GoString() string {
 18808  	return s.String()
 18809  }
 18810  
 18811  // SetGameSessionQueues sets the GameSessionQueues field's value.
 18812  func (s *DescribeGameSessionQueuesOutput) SetGameSessionQueues(v []*GameSessionQueue) *DescribeGameSessionQueuesOutput {
 18813  	s.GameSessionQueues = v
 18814  	return s
 18815  }
 18816  
 18817  // SetNextToken sets the NextToken field's value.
 18818  func (s *DescribeGameSessionQueuesOutput) SetNextToken(v string) *DescribeGameSessionQueuesOutput {
 18819  	s.NextToken = &v
 18820  	return s
 18821  }
 18822  
 18823  // Represents the input for a request operation.
 18824  type DescribeGameSessionsInput struct {
 18825  	_ struct{} `type:"structure"`
 18826  
 18827  	// A unique identifier for the alias associated with the fleet to retrieve game
 18828  	// sessions for. You can use either the alias ID or ARN value.
 18829  	AliasId *string `type:"string"`
 18830  
 18831  	// A unique identifier for the fleet to retrieve game sessions for. You can
 18832  	// use either the fleet ID or ARN value.
 18833  	FleetId *string `type:"string"`
 18834  
 18835  	// A unique identifier for the game session to retrieve.
 18836  	GameSessionId *string `min:"1" type:"string"`
 18837  
 18838  	// The maximum number of results to return. Use this parameter with NextToken
 18839  	// to get results as a set of sequential pages.
 18840  	Limit *int64 `min:"1" type:"integer"`
 18841  
 18842  	// A fleet location to get game session details for. You can specify a fleet's
 18843  	// home Region or a remote location. Use the AWS Region code format, such as
 18844  	// us-west-2.
 18845  	Location *string `min:"1" type:"string"`
 18846  
 18847  	// A token that indicates the start of the next sequential page of results.
 18848  	// Use the token that is returned with a previous call to this operation. To
 18849  	// start at the beginning of the result set, do not specify a value.
 18850  	NextToken *string `min:"1" type:"string"`
 18851  
 18852  	// Game session status to filter results on. You can filter on the following
 18853  	// states: ACTIVE, TERMINATED, ACTIVATING, and TERMINATING. The last two are
 18854  	// transitory and used for only very brief periods of time.
 18855  	StatusFilter *string `min:"1" type:"string"`
 18856  }
 18857  
 18858  // String returns the string representation.
 18859  //
 18860  // API parameter values that are decorated as "sensitive" in the API will not
 18861  // be included in the string output. The member name will be present, but the
 18862  // value will be replaced with "sensitive".
 18863  func (s DescribeGameSessionsInput) String() string {
 18864  	return awsutil.Prettify(s)
 18865  }
 18866  
 18867  // GoString returns the string representation.
 18868  //
 18869  // API parameter values that are decorated as "sensitive" in the API will not
 18870  // be included in the string output. The member name will be present, but the
 18871  // value will be replaced with "sensitive".
 18872  func (s DescribeGameSessionsInput) GoString() string {
 18873  	return s.String()
 18874  }
 18875  
 18876  // Validate inspects the fields of the type to determine if they are valid.
 18877  func (s *DescribeGameSessionsInput) Validate() error {
 18878  	invalidParams := request.ErrInvalidParams{Context: "DescribeGameSessionsInput"}
 18879  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 18880  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 18881  	}
 18882  	if s.Limit != nil && *s.Limit < 1 {
 18883  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 18884  	}
 18885  	if s.Location != nil && len(*s.Location) < 1 {
 18886  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 18887  	}
 18888  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 18889  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 18890  	}
 18891  	if s.StatusFilter != nil && len(*s.StatusFilter) < 1 {
 18892  		invalidParams.Add(request.NewErrParamMinLen("StatusFilter", 1))
 18893  	}
 18894  
 18895  	if invalidParams.Len() > 0 {
 18896  		return invalidParams
 18897  	}
 18898  	return nil
 18899  }
 18900  
 18901  // SetAliasId sets the AliasId field's value.
 18902  func (s *DescribeGameSessionsInput) SetAliasId(v string) *DescribeGameSessionsInput {
 18903  	s.AliasId = &v
 18904  	return s
 18905  }
 18906  
 18907  // SetFleetId sets the FleetId field's value.
 18908  func (s *DescribeGameSessionsInput) SetFleetId(v string) *DescribeGameSessionsInput {
 18909  	s.FleetId = &v
 18910  	return s
 18911  }
 18912  
 18913  // SetGameSessionId sets the GameSessionId field's value.
 18914  func (s *DescribeGameSessionsInput) SetGameSessionId(v string) *DescribeGameSessionsInput {
 18915  	s.GameSessionId = &v
 18916  	return s
 18917  }
 18918  
 18919  // SetLimit sets the Limit field's value.
 18920  func (s *DescribeGameSessionsInput) SetLimit(v int64) *DescribeGameSessionsInput {
 18921  	s.Limit = &v
 18922  	return s
 18923  }
 18924  
 18925  // SetLocation sets the Location field's value.
 18926  func (s *DescribeGameSessionsInput) SetLocation(v string) *DescribeGameSessionsInput {
 18927  	s.Location = &v
 18928  	return s
 18929  }
 18930  
 18931  // SetNextToken sets the NextToken field's value.
 18932  func (s *DescribeGameSessionsInput) SetNextToken(v string) *DescribeGameSessionsInput {
 18933  	s.NextToken = &v
 18934  	return s
 18935  }
 18936  
 18937  // SetStatusFilter sets the StatusFilter field's value.
 18938  func (s *DescribeGameSessionsInput) SetStatusFilter(v string) *DescribeGameSessionsInput {
 18939  	s.StatusFilter = &v
 18940  	return s
 18941  }
 18942  
 18943  // Represents the returned data in response to a request operation.
 18944  type DescribeGameSessionsOutput struct {
 18945  	_ struct{} `type:"structure"`
 18946  
 18947  	// A collection of properties for each game session that matches the request.
 18948  	GameSessions []*GameSession `type:"list"`
 18949  
 18950  	// A token that indicates where to resume retrieving results on the next call
 18951  	// to this operation. If no token is returned, these results represent the end
 18952  	// of the list.
 18953  	NextToken *string `min:"1" type:"string"`
 18954  }
 18955  
 18956  // String returns the string representation.
 18957  //
 18958  // API parameter values that are decorated as "sensitive" in the API will not
 18959  // be included in the string output. The member name will be present, but the
 18960  // value will be replaced with "sensitive".
 18961  func (s DescribeGameSessionsOutput) String() string {
 18962  	return awsutil.Prettify(s)
 18963  }
 18964  
 18965  // GoString returns the string representation.
 18966  //
 18967  // API parameter values that are decorated as "sensitive" in the API will not
 18968  // be included in the string output. The member name will be present, but the
 18969  // value will be replaced with "sensitive".
 18970  func (s DescribeGameSessionsOutput) GoString() string {
 18971  	return s.String()
 18972  }
 18973  
 18974  // SetGameSessions sets the GameSessions field's value.
 18975  func (s *DescribeGameSessionsOutput) SetGameSessions(v []*GameSession) *DescribeGameSessionsOutput {
 18976  	s.GameSessions = v
 18977  	return s
 18978  }
 18979  
 18980  // SetNextToken sets the NextToken field's value.
 18981  func (s *DescribeGameSessionsOutput) SetNextToken(v string) *DescribeGameSessionsOutput {
 18982  	s.NextToken = &v
 18983  	return s
 18984  }
 18985  
 18986  // Represents the input for a request operation.
 18987  type DescribeInstancesInput struct {
 18988  	_ struct{} `type:"structure"`
 18989  
 18990  	// A unique identifier for the fleet to retrieve instance information for. You
 18991  	// can use either the fleet ID or ARN value.
 18992  	//
 18993  	// FleetId is a required field
 18994  	FleetId *string `type:"string" required:"true"`
 18995  
 18996  	// A unique identifier for an instance to retrieve. Specify an instance ID or
 18997  	// leave blank to retrieve all instances in the fleet.
 18998  	InstanceId *string `type:"string"`
 18999  
 19000  	// The maximum number of results to return. Use this parameter with NextToken
 19001  	// to get results as a set of sequential pages.
 19002  	Limit *int64 `min:"1" type:"integer"`
 19003  
 19004  	// The name of a location to retrieve instance information for, in the form
 19005  	// of an AWS Region code such as us-west-2.
 19006  	Location *string `min:"1" type:"string"`
 19007  
 19008  	// A token that indicates the start of the next sequential page of results.
 19009  	// Use the token that is returned with a previous call to this operation. To
 19010  	// start at the beginning of the result set, do not specify a value.
 19011  	NextToken *string `min:"1" type:"string"`
 19012  }
 19013  
 19014  // String returns the string representation.
 19015  //
 19016  // API parameter values that are decorated as "sensitive" in the API will not
 19017  // be included in the string output. The member name will be present, but the
 19018  // value will be replaced with "sensitive".
 19019  func (s DescribeInstancesInput) String() string {
 19020  	return awsutil.Prettify(s)
 19021  }
 19022  
 19023  // GoString returns the string representation.
 19024  //
 19025  // API parameter values that are decorated as "sensitive" in the API will not
 19026  // be included in the string output. The member name will be present, but the
 19027  // value will be replaced with "sensitive".
 19028  func (s DescribeInstancesInput) GoString() string {
 19029  	return s.String()
 19030  }
 19031  
 19032  // Validate inspects the fields of the type to determine if they are valid.
 19033  func (s *DescribeInstancesInput) Validate() error {
 19034  	invalidParams := request.ErrInvalidParams{Context: "DescribeInstancesInput"}
 19035  	if s.FleetId == nil {
 19036  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 19037  	}
 19038  	if s.Limit != nil && *s.Limit < 1 {
 19039  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 19040  	}
 19041  	if s.Location != nil && len(*s.Location) < 1 {
 19042  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 19043  	}
 19044  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 19045  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 19046  	}
 19047  
 19048  	if invalidParams.Len() > 0 {
 19049  		return invalidParams
 19050  	}
 19051  	return nil
 19052  }
 19053  
 19054  // SetFleetId sets the FleetId field's value.
 19055  func (s *DescribeInstancesInput) SetFleetId(v string) *DescribeInstancesInput {
 19056  	s.FleetId = &v
 19057  	return s
 19058  }
 19059  
 19060  // SetInstanceId sets the InstanceId field's value.
 19061  func (s *DescribeInstancesInput) SetInstanceId(v string) *DescribeInstancesInput {
 19062  	s.InstanceId = &v
 19063  	return s
 19064  }
 19065  
 19066  // SetLimit sets the Limit field's value.
 19067  func (s *DescribeInstancesInput) SetLimit(v int64) *DescribeInstancesInput {
 19068  	s.Limit = &v
 19069  	return s
 19070  }
 19071  
 19072  // SetLocation sets the Location field's value.
 19073  func (s *DescribeInstancesInput) SetLocation(v string) *DescribeInstancesInput {
 19074  	s.Location = &v
 19075  	return s
 19076  }
 19077  
 19078  // SetNextToken sets the NextToken field's value.
 19079  func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
 19080  	s.NextToken = &v
 19081  	return s
 19082  }
 19083  
 19084  // Represents the returned data in response to a request operation.
 19085  type DescribeInstancesOutput struct {
 19086  	_ struct{} `type:"structure"`
 19087  
 19088  	// A collection of objects containing properties for each instance returned.
 19089  	Instances []*Instance `type:"list"`
 19090  
 19091  	// A token that indicates where to resume retrieving results on the next call
 19092  	// to this operation. If no token is returned, these results represent the end
 19093  	// of the list.
 19094  	NextToken *string `min:"1" type:"string"`
 19095  }
 19096  
 19097  // String returns the string representation.
 19098  //
 19099  // API parameter values that are decorated as "sensitive" in the API will not
 19100  // be included in the string output. The member name will be present, but the
 19101  // value will be replaced with "sensitive".
 19102  func (s DescribeInstancesOutput) String() string {
 19103  	return awsutil.Prettify(s)
 19104  }
 19105  
 19106  // GoString returns the string representation.
 19107  //
 19108  // API parameter values that are decorated as "sensitive" in the API will not
 19109  // be included in the string output. The member name will be present, but the
 19110  // value will be replaced with "sensitive".
 19111  func (s DescribeInstancesOutput) GoString() string {
 19112  	return s.String()
 19113  }
 19114  
 19115  // SetInstances sets the Instances field's value.
 19116  func (s *DescribeInstancesOutput) SetInstances(v []*Instance) *DescribeInstancesOutput {
 19117  	s.Instances = v
 19118  	return s
 19119  }
 19120  
 19121  // SetNextToken sets the NextToken field's value.
 19122  func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
 19123  	s.NextToken = &v
 19124  	return s
 19125  }
 19126  
 19127  // Represents the input for a request operation.
 19128  type DescribeMatchmakingConfigurationsInput struct {
 19129  	_ struct{} `type:"structure"`
 19130  
 19131  	// The maximum number of results to return. Use this parameter with NextToken
 19132  	// to get results as a set of sequential pages. This parameter is limited to
 19133  	// 10.
 19134  	Limit *int64 `min:"1" type:"integer"`
 19135  
 19136  	// A unique identifier for the matchmaking configuration(s) to retrieve. You
 19137  	// can use either the configuration name or ARN value. To request all existing
 19138  	// configurations, leave this parameter empty.
 19139  	Names []*string `type:"list"`
 19140  
 19141  	// A token that indicates the start of the next sequential page of results.
 19142  	// Use the token that is returned with a previous call to this operation. To
 19143  	// start at the beginning of the result set, do not specify a value.
 19144  	NextToken *string `min:"1" type:"string"`
 19145  
 19146  	// A unique identifier for the matchmaking rule set. You can use either the
 19147  	// rule set name or ARN value. Use this parameter to retrieve all matchmaking
 19148  	// configurations that use this rule set.
 19149  	RuleSetName *string `min:"1" type:"string"`
 19150  }
 19151  
 19152  // String returns the string representation.
 19153  //
 19154  // API parameter values that are decorated as "sensitive" in the API will not
 19155  // be included in the string output. The member name will be present, but the
 19156  // value will be replaced with "sensitive".
 19157  func (s DescribeMatchmakingConfigurationsInput) String() string {
 19158  	return awsutil.Prettify(s)
 19159  }
 19160  
 19161  // GoString returns the string representation.
 19162  //
 19163  // API parameter values that are decorated as "sensitive" in the API will not
 19164  // be included in the string output. The member name will be present, but the
 19165  // value will be replaced with "sensitive".
 19166  func (s DescribeMatchmakingConfigurationsInput) GoString() string {
 19167  	return s.String()
 19168  }
 19169  
 19170  // Validate inspects the fields of the type to determine if they are valid.
 19171  func (s *DescribeMatchmakingConfigurationsInput) Validate() error {
 19172  	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingConfigurationsInput"}
 19173  	if s.Limit != nil && *s.Limit < 1 {
 19174  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 19175  	}
 19176  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 19177  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 19178  	}
 19179  	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
 19180  		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
 19181  	}
 19182  
 19183  	if invalidParams.Len() > 0 {
 19184  		return invalidParams
 19185  	}
 19186  	return nil
 19187  }
 19188  
 19189  // SetLimit sets the Limit field's value.
 19190  func (s *DescribeMatchmakingConfigurationsInput) SetLimit(v int64) *DescribeMatchmakingConfigurationsInput {
 19191  	s.Limit = &v
 19192  	return s
 19193  }
 19194  
 19195  // SetNames sets the Names field's value.
 19196  func (s *DescribeMatchmakingConfigurationsInput) SetNames(v []*string) *DescribeMatchmakingConfigurationsInput {
 19197  	s.Names = v
 19198  	return s
 19199  }
 19200  
 19201  // SetNextToken sets the NextToken field's value.
 19202  func (s *DescribeMatchmakingConfigurationsInput) SetNextToken(v string) *DescribeMatchmakingConfigurationsInput {
 19203  	s.NextToken = &v
 19204  	return s
 19205  }
 19206  
 19207  // SetRuleSetName sets the RuleSetName field's value.
 19208  func (s *DescribeMatchmakingConfigurationsInput) SetRuleSetName(v string) *DescribeMatchmakingConfigurationsInput {
 19209  	s.RuleSetName = &v
 19210  	return s
 19211  }
 19212  
 19213  // Represents the returned data in response to a request operation.
 19214  type DescribeMatchmakingConfigurationsOutput struct {
 19215  	_ struct{} `type:"structure"`
 19216  
 19217  	// A collection of requested matchmaking configurations.
 19218  	Configurations []*MatchmakingConfiguration `type:"list"`
 19219  
 19220  	// A token that indicates where to resume retrieving results on the next call
 19221  	// to this operation. If no token is returned, these results represent the end
 19222  	// of the list.
 19223  	NextToken *string `min:"1" type:"string"`
 19224  }
 19225  
 19226  // String returns the string representation.
 19227  //
 19228  // API parameter values that are decorated as "sensitive" in the API will not
 19229  // be included in the string output. The member name will be present, but the
 19230  // value will be replaced with "sensitive".
 19231  func (s DescribeMatchmakingConfigurationsOutput) String() string {
 19232  	return awsutil.Prettify(s)
 19233  }
 19234  
 19235  // GoString returns the string representation.
 19236  //
 19237  // API parameter values that are decorated as "sensitive" in the API will not
 19238  // be included in the string output. The member name will be present, but the
 19239  // value will be replaced with "sensitive".
 19240  func (s DescribeMatchmakingConfigurationsOutput) GoString() string {
 19241  	return s.String()
 19242  }
 19243  
 19244  // SetConfigurations sets the Configurations field's value.
 19245  func (s *DescribeMatchmakingConfigurationsOutput) SetConfigurations(v []*MatchmakingConfiguration) *DescribeMatchmakingConfigurationsOutput {
 19246  	s.Configurations = v
 19247  	return s
 19248  }
 19249  
 19250  // SetNextToken sets the NextToken field's value.
 19251  func (s *DescribeMatchmakingConfigurationsOutput) SetNextToken(v string) *DescribeMatchmakingConfigurationsOutput {
 19252  	s.NextToken = &v
 19253  	return s
 19254  }
 19255  
 19256  // Represents the input for a request operation.
 19257  type DescribeMatchmakingInput struct {
 19258  	_ struct{} `type:"structure"`
 19259  
 19260  	// A unique identifier for a matchmaking ticket. You can include up to 10 ID
 19261  	// values.
 19262  	//
 19263  	// TicketIds is a required field
 19264  	TicketIds []*string `type:"list" required:"true"`
 19265  }
 19266  
 19267  // String returns the string representation.
 19268  //
 19269  // API parameter values that are decorated as "sensitive" in the API will not
 19270  // be included in the string output. The member name will be present, but the
 19271  // value will be replaced with "sensitive".
 19272  func (s DescribeMatchmakingInput) String() string {
 19273  	return awsutil.Prettify(s)
 19274  }
 19275  
 19276  // GoString returns the string representation.
 19277  //
 19278  // API parameter values that are decorated as "sensitive" in the API will not
 19279  // be included in the string output. The member name will be present, but the
 19280  // value will be replaced with "sensitive".
 19281  func (s DescribeMatchmakingInput) GoString() string {
 19282  	return s.String()
 19283  }
 19284  
 19285  // Validate inspects the fields of the type to determine if they are valid.
 19286  func (s *DescribeMatchmakingInput) Validate() error {
 19287  	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingInput"}
 19288  	if s.TicketIds == nil {
 19289  		invalidParams.Add(request.NewErrParamRequired("TicketIds"))
 19290  	}
 19291  
 19292  	if invalidParams.Len() > 0 {
 19293  		return invalidParams
 19294  	}
 19295  	return nil
 19296  }
 19297  
 19298  // SetTicketIds sets the TicketIds field's value.
 19299  func (s *DescribeMatchmakingInput) SetTicketIds(v []*string) *DescribeMatchmakingInput {
 19300  	s.TicketIds = v
 19301  	return s
 19302  }
 19303  
 19304  // Represents the returned data in response to a request operation.
 19305  type DescribeMatchmakingOutput struct {
 19306  	_ struct{} `type:"structure"`
 19307  
 19308  	// A collection of existing matchmaking ticket objects matching the request.
 19309  	TicketList []*MatchmakingTicket `type:"list"`
 19310  }
 19311  
 19312  // String returns the string representation.
 19313  //
 19314  // API parameter values that are decorated as "sensitive" in the API will not
 19315  // be included in the string output. The member name will be present, but the
 19316  // value will be replaced with "sensitive".
 19317  func (s DescribeMatchmakingOutput) String() string {
 19318  	return awsutil.Prettify(s)
 19319  }
 19320  
 19321  // GoString returns the string representation.
 19322  //
 19323  // API parameter values that are decorated as "sensitive" in the API will not
 19324  // be included in the string output. The member name will be present, but the
 19325  // value will be replaced with "sensitive".
 19326  func (s DescribeMatchmakingOutput) GoString() string {
 19327  	return s.String()
 19328  }
 19329  
 19330  // SetTicketList sets the TicketList field's value.
 19331  func (s *DescribeMatchmakingOutput) SetTicketList(v []*MatchmakingTicket) *DescribeMatchmakingOutput {
 19332  	s.TicketList = v
 19333  	return s
 19334  }
 19335  
 19336  // Represents the input for a request operation.
 19337  type DescribeMatchmakingRuleSetsInput struct {
 19338  	_ struct{} `type:"structure"`
 19339  
 19340  	// The maximum number of results to return. Use this parameter with NextToken
 19341  	// to get results as a set of sequential pages.
 19342  	Limit *int64 `min:"1" type:"integer"`
 19343  
 19344  	// A list of one or more matchmaking rule set names to retrieve details for.
 19345  	// (Note: The rule set name is different from the optional "name" field in the
 19346  	// rule set body.) You can use either the rule set name or ARN value.
 19347  	Names []*string `min:"1" type:"list"`
 19348  
 19349  	// A token that indicates the start of the next sequential page of results.
 19350  	// Use the token that is returned with a previous call to this operation. To
 19351  	// start at the beginning of the result set, do not specify a value.
 19352  	NextToken *string `min:"1" type:"string"`
 19353  }
 19354  
 19355  // String returns the string representation.
 19356  //
 19357  // API parameter values that are decorated as "sensitive" in the API will not
 19358  // be included in the string output. The member name will be present, but the
 19359  // value will be replaced with "sensitive".
 19360  func (s DescribeMatchmakingRuleSetsInput) String() string {
 19361  	return awsutil.Prettify(s)
 19362  }
 19363  
 19364  // GoString returns the string representation.
 19365  //
 19366  // API parameter values that are decorated as "sensitive" in the API will not
 19367  // be included in the string output. The member name will be present, but the
 19368  // value will be replaced with "sensitive".
 19369  func (s DescribeMatchmakingRuleSetsInput) GoString() string {
 19370  	return s.String()
 19371  }
 19372  
 19373  // Validate inspects the fields of the type to determine if they are valid.
 19374  func (s *DescribeMatchmakingRuleSetsInput) Validate() error {
 19375  	invalidParams := request.ErrInvalidParams{Context: "DescribeMatchmakingRuleSetsInput"}
 19376  	if s.Limit != nil && *s.Limit < 1 {
 19377  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 19378  	}
 19379  	if s.Names != nil && len(s.Names) < 1 {
 19380  		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
 19381  	}
 19382  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 19383  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 19384  	}
 19385  
 19386  	if invalidParams.Len() > 0 {
 19387  		return invalidParams
 19388  	}
 19389  	return nil
 19390  }
 19391  
 19392  // SetLimit sets the Limit field's value.
 19393  func (s *DescribeMatchmakingRuleSetsInput) SetLimit(v int64) *DescribeMatchmakingRuleSetsInput {
 19394  	s.Limit = &v
 19395  	return s
 19396  }
 19397  
 19398  // SetNames sets the Names field's value.
 19399  func (s *DescribeMatchmakingRuleSetsInput) SetNames(v []*string) *DescribeMatchmakingRuleSetsInput {
 19400  	s.Names = v
 19401  	return s
 19402  }
 19403  
 19404  // SetNextToken sets the NextToken field's value.
 19405  func (s *DescribeMatchmakingRuleSetsInput) SetNextToken(v string) *DescribeMatchmakingRuleSetsInput {
 19406  	s.NextToken = &v
 19407  	return s
 19408  }
 19409  
 19410  // Represents the returned data in response to a request operation.
 19411  type DescribeMatchmakingRuleSetsOutput struct {
 19412  	_ struct{} `type:"structure"`
 19413  
 19414  	// A token that indicates where to resume retrieving results on the next call
 19415  	// to this operation. If no token is returned, these results represent the end
 19416  	// of the list.
 19417  	NextToken *string `min:"1" type:"string"`
 19418  
 19419  	// A collection of requested matchmaking rule set objects.
 19420  	//
 19421  	// RuleSets is a required field
 19422  	RuleSets []*MatchmakingRuleSet `type:"list" required:"true"`
 19423  }
 19424  
 19425  // String returns the string representation.
 19426  //
 19427  // API parameter values that are decorated as "sensitive" in the API will not
 19428  // be included in the string output. The member name will be present, but the
 19429  // value will be replaced with "sensitive".
 19430  func (s DescribeMatchmakingRuleSetsOutput) String() string {
 19431  	return awsutil.Prettify(s)
 19432  }
 19433  
 19434  // GoString returns the string representation.
 19435  //
 19436  // API parameter values that are decorated as "sensitive" in the API will not
 19437  // be included in the string output. The member name will be present, but the
 19438  // value will be replaced with "sensitive".
 19439  func (s DescribeMatchmakingRuleSetsOutput) GoString() string {
 19440  	return s.String()
 19441  }
 19442  
 19443  // SetNextToken sets the NextToken field's value.
 19444  func (s *DescribeMatchmakingRuleSetsOutput) SetNextToken(v string) *DescribeMatchmakingRuleSetsOutput {
 19445  	s.NextToken = &v
 19446  	return s
 19447  }
 19448  
 19449  // SetRuleSets sets the RuleSets field's value.
 19450  func (s *DescribeMatchmakingRuleSetsOutput) SetRuleSets(v []*MatchmakingRuleSet) *DescribeMatchmakingRuleSetsOutput {
 19451  	s.RuleSets = v
 19452  	return s
 19453  }
 19454  
 19455  // Represents the input for a request operation.
 19456  type DescribePlayerSessionsInput struct {
 19457  	_ struct{} `type:"structure"`
 19458  
 19459  	// A unique identifier for the game session to retrieve player sessions for.
 19460  	GameSessionId *string `min:"1" type:"string"`
 19461  
 19462  	// The maximum number of results to return. Use this parameter with NextToken
 19463  	// to get results as a set of sequential pages. If a player session ID is specified,
 19464  	// this parameter is ignored.
 19465  	Limit *int64 `min:"1" type:"integer"`
 19466  
 19467  	// A token that indicates the start of the next sequential page of results.
 19468  	// Use the token that is returned with a previous call to this operation. To
 19469  	// start at the beginning of the result set, do not specify a value. If a player
 19470  	// session ID is specified, this parameter is ignored.
 19471  	NextToken *string `min:"1" type:"string"`
 19472  
 19473  	// A unique identifier for a player to retrieve player sessions for.
 19474  	PlayerId *string `min:"1" type:"string"`
 19475  
 19476  	// A unique identifier for a player session to retrieve.
 19477  	PlayerSessionId *string `type:"string"`
 19478  
 19479  	// Player session status to filter results on.
 19480  	//
 19481  	// Possible player session statuses include the following:
 19482  	//
 19483  	//    * RESERVED -- The player session request has been received, but the player
 19484  	//    has not yet connected to the server process and/or been validated.
 19485  	//
 19486  	//    * ACTIVE -- The player has been validated by the server process and is
 19487  	//    currently connected.
 19488  	//
 19489  	//    * COMPLETED -- The player connection has been dropped.
 19490  	//
 19491  	//    * TIMEDOUT -- A player session request was received, but the player did
 19492  	//    not connect and/or was not validated within the timeout limit (60 seconds).
 19493  	PlayerSessionStatusFilter *string `min:"1" type:"string"`
 19494  }
 19495  
 19496  // String returns the string representation.
 19497  //
 19498  // API parameter values that are decorated as "sensitive" in the API will not
 19499  // be included in the string output. The member name will be present, but the
 19500  // value will be replaced with "sensitive".
 19501  func (s DescribePlayerSessionsInput) String() string {
 19502  	return awsutil.Prettify(s)
 19503  }
 19504  
 19505  // GoString returns the string representation.
 19506  //
 19507  // API parameter values that are decorated as "sensitive" in the API will not
 19508  // be included in the string output. The member name will be present, but the
 19509  // value will be replaced with "sensitive".
 19510  func (s DescribePlayerSessionsInput) GoString() string {
 19511  	return s.String()
 19512  }
 19513  
 19514  // Validate inspects the fields of the type to determine if they are valid.
 19515  func (s *DescribePlayerSessionsInput) Validate() error {
 19516  	invalidParams := request.ErrInvalidParams{Context: "DescribePlayerSessionsInput"}
 19517  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 19518  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 19519  	}
 19520  	if s.Limit != nil && *s.Limit < 1 {
 19521  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 19522  	}
 19523  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 19524  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 19525  	}
 19526  	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
 19527  		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
 19528  	}
 19529  	if s.PlayerSessionStatusFilter != nil && len(*s.PlayerSessionStatusFilter) < 1 {
 19530  		invalidParams.Add(request.NewErrParamMinLen("PlayerSessionStatusFilter", 1))
 19531  	}
 19532  
 19533  	if invalidParams.Len() > 0 {
 19534  		return invalidParams
 19535  	}
 19536  	return nil
 19537  }
 19538  
 19539  // SetGameSessionId sets the GameSessionId field's value.
 19540  func (s *DescribePlayerSessionsInput) SetGameSessionId(v string) *DescribePlayerSessionsInput {
 19541  	s.GameSessionId = &v
 19542  	return s
 19543  }
 19544  
 19545  // SetLimit sets the Limit field's value.
 19546  func (s *DescribePlayerSessionsInput) SetLimit(v int64) *DescribePlayerSessionsInput {
 19547  	s.Limit = &v
 19548  	return s
 19549  }
 19550  
 19551  // SetNextToken sets the NextToken field's value.
 19552  func (s *DescribePlayerSessionsInput) SetNextToken(v string) *DescribePlayerSessionsInput {
 19553  	s.NextToken = &v
 19554  	return s
 19555  }
 19556  
 19557  // SetPlayerId sets the PlayerId field's value.
 19558  func (s *DescribePlayerSessionsInput) SetPlayerId(v string) *DescribePlayerSessionsInput {
 19559  	s.PlayerId = &v
 19560  	return s
 19561  }
 19562  
 19563  // SetPlayerSessionId sets the PlayerSessionId field's value.
 19564  func (s *DescribePlayerSessionsInput) SetPlayerSessionId(v string) *DescribePlayerSessionsInput {
 19565  	s.PlayerSessionId = &v
 19566  	return s
 19567  }
 19568  
 19569  // SetPlayerSessionStatusFilter sets the PlayerSessionStatusFilter field's value.
 19570  func (s *DescribePlayerSessionsInput) SetPlayerSessionStatusFilter(v string) *DescribePlayerSessionsInput {
 19571  	s.PlayerSessionStatusFilter = &v
 19572  	return s
 19573  }
 19574  
 19575  // Represents the returned data in response to a request operation.
 19576  type DescribePlayerSessionsOutput struct {
 19577  	_ struct{} `type:"structure"`
 19578  
 19579  	// A token that indicates where to resume retrieving results on the next call
 19580  	// to this operation. If no token is returned, these results represent the end
 19581  	// of the list.
 19582  	NextToken *string `min:"1" type:"string"`
 19583  
 19584  	// A collection of objects containing properties for each player session that
 19585  	// matches the request.
 19586  	PlayerSessions []*PlayerSession `type:"list"`
 19587  }
 19588  
 19589  // String returns the string representation.
 19590  //
 19591  // API parameter values that are decorated as "sensitive" in the API will not
 19592  // be included in the string output. The member name will be present, but the
 19593  // value will be replaced with "sensitive".
 19594  func (s DescribePlayerSessionsOutput) String() string {
 19595  	return awsutil.Prettify(s)
 19596  }
 19597  
 19598  // GoString returns the string representation.
 19599  //
 19600  // API parameter values that are decorated as "sensitive" in the API will not
 19601  // be included in the string output. The member name will be present, but the
 19602  // value will be replaced with "sensitive".
 19603  func (s DescribePlayerSessionsOutput) GoString() string {
 19604  	return s.String()
 19605  }
 19606  
 19607  // SetNextToken sets the NextToken field's value.
 19608  func (s *DescribePlayerSessionsOutput) SetNextToken(v string) *DescribePlayerSessionsOutput {
 19609  	s.NextToken = &v
 19610  	return s
 19611  }
 19612  
 19613  // SetPlayerSessions sets the PlayerSessions field's value.
 19614  func (s *DescribePlayerSessionsOutput) SetPlayerSessions(v []*PlayerSession) *DescribePlayerSessionsOutput {
 19615  	s.PlayerSessions = v
 19616  	return s
 19617  }
 19618  
 19619  // Represents the input for a request operation.
 19620  type DescribeRuntimeConfigurationInput struct {
 19621  	_ struct{} `type:"structure"`
 19622  
 19623  	// A unique identifier for the fleet to get the runtime configuration for. You
 19624  	// can use either the fleet ID or ARN value.
 19625  	//
 19626  	// FleetId is a required field
 19627  	FleetId *string `type:"string" required:"true"`
 19628  }
 19629  
 19630  // String returns the string representation.
 19631  //
 19632  // API parameter values that are decorated as "sensitive" in the API will not
 19633  // be included in the string output. The member name will be present, but the
 19634  // value will be replaced with "sensitive".
 19635  func (s DescribeRuntimeConfigurationInput) String() string {
 19636  	return awsutil.Prettify(s)
 19637  }
 19638  
 19639  // GoString returns the string representation.
 19640  //
 19641  // API parameter values that are decorated as "sensitive" in the API will not
 19642  // be included in the string output. The member name will be present, but the
 19643  // value will be replaced with "sensitive".
 19644  func (s DescribeRuntimeConfigurationInput) GoString() string {
 19645  	return s.String()
 19646  }
 19647  
 19648  // Validate inspects the fields of the type to determine if they are valid.
 19649  func (s *DescribeRuntimeConfigurationInput) Validate() error {
 19650  	invalidParams := request.ErrInvalidParams{Context: "DescribeRuntimeConfigurationInput"}
 19651  	if s.FleetId == nil {
 19652  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 19653  	}
 19654  
 19655  	if invalidParams.Len() > 0 {
 19656  		return invalidParams
 19657  	}
 19658  	return nil
 19659  }
 19660  
 19661  // SetFleetId sets the FleetId field's value.
 19662  func (s *DescribeRuntimeConfigurationInput) SetFleetId(v string) *DescribeRuntimeConfigurationInput {
 19663  	s.FleetId = &v
 19664  	return s
 19665  }
 19666  
 19667  // Represents the returned data in response to a request operation.
 19668  type DescribeRuntimeConfigurationOutput struct {
 19669  	_ struct{} `type:"structure"`
 19670  
 19671  	// Instructions that describe how server processes should be launched and maintained
 19672  	// on each instance in the fleet.
 19673  	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
 19674  }
 19675  
 19676  // String returns the string representation.
 19677  //
 19678  // API parameter values that are decorated as "sensitive" in the API will not
 19679  // be included in the string output. The member name will be present, but the
 19680  // value will be replaced with "sensitive".
 19681  func (s DescribeRuntimeConfigurationOutput) String() string {
 19682  	return awsutil.Prettify(s)
 19683  }
 19684  
 19685  // GoString returns the string representation.
 19686  //
 19687  // API parameter values that are decorated as "sensitive" in the API will not
 19688  // be included in the string output. The member name will be present, but the
 19689  // value will be replaced with "sensitive".
 19690  func (s DescribeRuntimeConfigurationOutput) GoString() string {
 19691  	return s.String()
 19692  }
 19693  
 19694  // SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
 19695  func (s *DescribeRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *DescribeRuntimeConfigurationOutput {
 19696  	s.RuntimeConfiguration = v
 19697  	return s
 19698  }
 19699  
 19700  // Represents the input for a request operation.
 19701  type DescribeScalingPoliciesInput struct {
 19702  	_ struct{} `type:"structure"`
 19703  
 19704  	// A unique identifier for the fleet to retrieve scaling policies for. You can
 19705  	// use either the fleet ID or ARN value.
 19706  	//
 19707  	// FleetId is a required field
 19708  	FleetId *string `type:"string" required:"true"`
 19709  
 19710  	// The maximum number of results to return. Use this parameter with NextToken
 19711  	// to get results as a set of sequential pages.
 19712  	Limit *int64 `min:"1" type:"integer"`
 19713  
 19714  	// CONTENT TODO
 19715  	Location *string `min:"1" type:"string"`
 19716  
 19717  	// A token that indicates the start of the next sequential page of results.
 19718  	// Use the token that is returned with a previous call to this operation. To
 19719  	// start at the beginning of the result set, do not specify a value.
 19720  	NextToken *string `min:"1" type:"string"`
 19721  
 19722  	// Scaling policy status to filter results on. A scaling policy is only in force
 19723  	// when in an ACTIVE status.
 19724  	//
 19725  	//    * ACTIVE -- The scaling policy is currently in force.
 19726  	//
 19727  	//    * UPDATEREQUESTED -- A request to update the scaling policy has been received.
 19728  	//
 19729  	//    * UPDATING -- A change is being made to the scaling policy.
 19730  	//
 19731  	//    * DELETEREQUESTED -- A request to delete the scaling policy has been received.
 19732  	//
 19733  	//    * DELETING -- The scaling policy is being deleted.
 19734  	//
 19735  	//    * DELETED -- The scaling policy has been deleted.
 19736  	//
 19737  	//    * ERROR -- An error occurred in creating the policy. It should be removed
 19738  	//    and recreated.
 19739  	StatusFilter *string `type:"string" enum:"ScalingStatusType"`
 19740  }
 19741  
 19742  // String returns the string representation.
 19743  //
 19744  // API parameter values that are decorated as "sensitive" in the API will not
 19745  // be included in the string output. The member name will be present, but the
 19746  // value will be replaced with "sensitive".
 19747  func (s DescribeScalingPoliciesInput) String() string {
 19748  	return awsutil.Prettify(s)
 19749  }
 19750  
 19751  // GoString returns the string representation.
 19752  //
 19753  // API parameter values that are decorated as "sensitive" in the API will not
 19754  // be included in the string output. The member name will be present, but the
 19755  // value will be replaced with "sensitive".
 19756  func (s DescribeScalingPoliciesInput) GoString() string {
 19757  	return s.String()
 19758  }
 19759  
 19760  // Validate inspects the fields of the type to determine if they are valid.
 19761  func (s *DescribeScalingPoliciesInput) Validate() error {
 19762  	invalidParams := request.ErrInvalidParams{Context: "DescribeScalingPoliciesInput"}
 19763  	if s.FleetId == nil {
 19764  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 19765  	}
 19766  	if s.Limit != nil && *s.Limit < 1 {
 19767  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 19768  	}
 19769  	if s.Location != nil && len(*s.Location) < 1 {
 19770  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 19771  	}
 19772  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 19773  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 19774  	}
 19775  
 19776  	if invalidParams.Len() > 0 {
 19777  		return invalidParams
 19778  	}
 19779  	return nil
 19780  }
 19781  
 19782  // SetFleetId sets the FleetId field's value.
 19783  func (s *DescribeScalingPoliciesInput) SetFleetId(v string) *DescribeScalingPoliciesInput {
 19784  	s.FleetId = &v
 19785  	return s
 19786  }
 19787  
 19788  // SetLimit sets the Limit field's value.
 19789  func (s *DescribeScalingPoliciesInput) SetLimit(v int64) *DescribeScalingPoliciesInput {
 19790  	s.Limit = &v
 19791  	return s
 19792  }
 19793  
 19794  // SetLocation sets the Location field's value.
 19795  func (s *DescribeScalingPoliciesInput) SetLocation(v string) *DescribeScalingPoliciesInput {
 19796  	s.Location = &v
 19797  	return s
 19798  }
 19799  
 19800  // SetNextToken sets the NextToken field's value.
 19801  func (s *DescribeScalingPoliciesInput) SetNextToken(v string) *DescribeScalingPoliciesInput {
 19802  	s.NextToken = &v
 19803  	return s
 19804  }
 19805  
 19806  // SetStatusFilter sets the StatusFilter field's value.
 19807  func (s *DescribeScalingPoliciesInput) SetStatusFilter(v string) *DescribeScalingPoliciesInput {
 19808  	s.StatusFilter = &v
 19809  	return s
 19810  }
 19811  
 19812  // Represents the returned data in response to a request operation.
 19813  type DescribeScalingPoliciesOutput struct {
 19814  	_ struct{} `type:"structure"`
 19815  
 19816  	// A token that indicates where to resume retrieving results on the next call
 19817  	// to this operation. If no token is returned, these results represent the end
 19818  	// of the list.
 19819  	NextToken *string `min:"1" type:"string"`
 19820  
 19821  	// A collection of objects containing the scaling policies matching the request.
 19822  	ScalingPolicies []*ScalingPolicy `type:"list"`
 19823  }
 19824  
 19825  // String returns the string representation.
 19826  //
 19827  // API parameter values that are decorated as "sensitive" in the API will not
 19828  // be included in the string output. The member name will be present, but the
 19829  // value will be replaced with "sensitive".
 19830  func (s DescribeScalingPoliciesOutput) String() string {
 19831  	return awsutil.Prettify(s)
 19832  }
 19833  
 19834  // GoString returns the string representation.
 19835  //
 19836  // API parameter values that are decorated as "sensitive" in the API will not
 19837  // be included in the string output. The member name will be present, but the
 19838  // value will be replaced with "sensitive".
 19839  func (s DescribeScalingPoliciesOutput) GoString() string {
 19840  	return s.String()
 19841  }
 19842  
 19843  // SetNextToken sets the NextToken field's value.
 19844  func (s *DescribeScalingPoliciesOutput) SetNextToken(v string) *DescribeScalingPoliciesOutput {
 19845  	s.NextToken = &v
 19846  	return s
 19847  }
 19848  
 19849  // SetScalingPolicies sets the ScalingPolicies field's value.
 19850  func (s *DescribeScalingPoliciesOutput) SetScalingPolicies(v []*ScalingPolicy) *DescribeScalingPoliciesOutput {
 19851  	s.ScalingPolicies = v
 19852  	return s
 19853  }
 19854  
 19855  type DescribeScriptInput struct {
 19856  	_ struct{} `type:"structure"`
 19857  
 19858  	// A unique identifier for the Realtime script to retrieve properties for. You
 19859  	// can use either the script ID or ARN value.
 19860  	//
 19861  	// ScriptId is a required field
 19862  	ScriptId *string `type:"string" required:"true"`
 19863  }
 19864  
 19865  // String returns the string representation.
 19866  //
 19867  // API parameter values that are decorated as "sensitive" in the API will not
 19868  // be included in the string output. The member name will be present, but the
 19869  // value will be replaced with "sensitive".
 19870  func (s DescribeScriptInput) String() string {
 19871  	return awsutil.Prettify(s)
 19872  }
 19873  
 19874  // GoString returns the string representation.
 19875  //
 19876  // API parameter values that are decorated as "sensitive" in the API will not
 19877  // be included in the string output. The member name will be present, but the
 19878  // value will be replaced with "sensitive".
 19879  func (s DescribeScriptInput) GoString() string {
 19880  	return s.String()
 19881  }
 19882  
 19883  // Validate inspects the fields of the type to determine if they are valid.
 19884  func (s *DescribeScriptInput) Validate() error {
 19885  	invalidParams := request.ErrInvalidParams{Context: "DescribeScriptInput"}
 19886  	if s.ScriptId == nil {
 19887  		invalidParams.Add(request.NewErrParamRequired("ScriptId"))
 19888  	}
 19889  
 19890  	if invalidParams.Len() > 0 {
 19891  		return invalidParams
 19892  	}
 19893  	return nil
 19894  }
 19895  
 19896  // SetScriptId sets the ScriptId field's value.
 19897  func (s *DescribeScriptInput) SetScriptId(v string) *DescribeScriptInput {
 19898  	s.ScriptId = &v
 19899  	return s
 19900  }
 19901  
 19902  type DescribeScriptOutput struct {
 19903  	_ struct{} `type:"structure"`
 19904  
 19905  	// A set of properties describing the requested script.
 19906  	Script *Script `type:"structure"`
 19907  }
 19908  
 19909  // String returns the string representation.
 19910  //
 19911  // API parameter values that are decorated as "sensitive" in the API will not
 19912  // be included in the string output. The member name will be present, but the
 19913  // value will be replaced with "sensitive".
 19914  func (s DescribeScriptOutput) String() string {
 19915  	return awsutil.Prettify(s)
 19916  }
 19917  
 19918  // GoString returns the string representation.
 19919  //
 19920  // API parameter values that are decorated as "sensitive" in the API will not
 19921  // be included in the string output. The member name will be present, but the
 19922  // value will be replaced with "sensitive".
 19923  func (s DescribeScriptOutput) GoString() string {
 19924  	return s.String()
 19925  }
 19926  
 19927  // SetScript sets the Script field's value.
 19928  func (s *DescribeScriptOutput) SetScript(v *Script) *DescribeScriptOutput {
 19929  	s.Script = v
 19930  	return s
 19931  }
 19932  
 19933  type DescribeVpcPeeringAuthorizationsInput struct {
 19934  	_ struct{} `type:"structure"`
 19935  }
 19936  
 19937  // String returns the string representation.
 19938  //
 19939  // API parameter values that are decorated as "sensitive" in the API will not
 19940  // be included in the string output. The member name will be present, but the
 19941  // value will be replaced with "sensitive".
 19942  func (s DescribeVpcPeeringAuthorizationsInput) String() string {
 19943  	return awsutil.Prettify(s)
 19944  }
 19945  
 19946  // GoString returns the string representation.
 19947  //
 19948  // API parameter values that are decorated as "sensitive" in the API will not
 19949  // be included in the string output. The member name will be present, but the
 19950  // value will be replaced with "sensitive".
 19951  func (s DescribeVpcPeeringAuthorizationsInput) GoString() string {
 19952  	return s.String()
 19953  }
 19954  
 19955  type DescribeVpcPeeringAuthorizationsOutput struct {
 19956  	_ struct{} `type:"structure"`
 19957  
 19958  	// A collection of objects that describe all valid VPC peering operations for
 19959  	// the current AWS account.
 19960  	VpcPeeringAuthorizations []*VpcPeeringAuthorization `type:"list"`
 19961  }
 19962  
 19963  // String returns the string representation.
 19964  //
 19965  // API parameter values that are decorated as "sensitive" in the API will not
 19966  // be included in the string output. The member name will be present, but the
 19967  // value will be replaced with "sensitive".
 19968  func (s DescribeVpcPeeringAuthorizationsOutput) String() string {
 19969  	return awsutil.Prettify(s)
 19970  }
 19971  
 19972  // GoString returns the string representation.
 19973  //
 19974  // API parameter values that are decorated as "sensitive" in the API will not
 19975  // be included in the string output. The member name will be present, but the
 19976  // value will be replaced with "sensitive".
 19977  func (s DescribeVpcPeeringAuthorizationsOutput) GoString() string {
 19978  	return s.String()
 19979  }
 19980  
 19981  // SetVpcPeeringAuthorizations sets the VpcPeeringAuthorizations field's value.
 19982  func (s *DescribeVpcPeeringAuthorizationsOutput) SetVpcPeeringAuthorizations(v []*VpcPeeringAuthorization) *DescribeVpcPeeringAuthorizationsOutput {
 19983  	s.VpcPeeringAuthorizations = v
 19984  	return s
 19985  }
 19986  
 19987  // Represents the input for a request operation.
 19988  type DescribeVpcPeeringConnectionsInput struct {
 19989  	_ struct{} `type:"structure"`
 19990  
 19991  	// A unique identifier for the fleet. You can use either the fleet ID or ARN
 19992  	// value.
 19993  	FleetId *string `type:"string"`
 19994  }
 19995  
 19996  // String returns the string representation.
 19997  //
 19998  // API parameter values that are decorated as "sensitive" in the API will not
 19999  // be included in the string output. The member name will be present, but the
 20000  // value will be replaced with "sensitive".
 20001  func (s DescribeVpcPeeringConnectionsInput) String() string {
 20002  	return awsutil.Prettify(s)
 20003  }
 20004  
 20005  // GoString returns the string representation.
 20006  //
 20007  // API parameter values that are decorated as "sensitive" in the API will not
 20008  // be included in the string output. The member name will be present, but the
 20009  // value will be replaced with "sensitive".
 20010  func (s DescribeVpcPeeringConnectionsInput) GoString() string {
 20011  	return s.String()
 20012  }
 20013  
 20014  // SetFleetId sets the FleetId field's value.
 20015  func (s *DescribeVpcPeeringConnectionsInput) SetFleetId(v string) *DescribeVpcPeeringConnectionsInput {
 20016  	s.FleetId = &v
 20017  	return s
 20018  }
 20019  
 20020  // Represents the returned data in response to a request operation.
 20021  type DescribeVpcPeeringConnectionsOutput struct {
 20022  	_ struct{} `type:"structure"`
 20023  
 20024  	// A collection of VPC peering connection records that match the request.
 20025  	VpcPeeringConnections []*VpcPeeringConnection `type:"list"`
 20026  }
 20027  
 20028  // String returns the string representation.
 20029  //
 20030  // API parameter values that are decorated as "sensitive" in the API will not
 20031  // be included in the string output. The member name will be present, but the
 20032  // value will be replaced with "sensitive".
 20033  func (s DescribeVpcPeeringConnectionsOutput) String() string {
 20034  	return awsutil.Prettify(s)
 20035  }
 20036  
 20037  // GoString returns the string representation.
 20038  //
 20039  // API parameter values that are decorated as "sensitive" in the API will not
 20040  // be included in the string output. The member name will be present, but the
 20041  // value will be replaced with "sensitive".
 20042  func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
 20043  	return s.String()
 20044  }
 20045  
 20046  // SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
 20047  func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
 20048  	s.VpcPeeringConnections = v
 20049  	return s
 20050  }
 20051  
 20052  // Player information for use when creating player sessions using a game session
 20053  // placement request with StartGameSessionPlacement.
 20054  type DesiredPlayerSession struct {
 20055  	_ struct{} `type:"structure"`
 20056  
 20057  	// Developer-defined information related to a player. GameLift does not use
 20058  	// this data, so it can be formatted as needed for use in the game.
 20059  	PlayerData *string `min:"1" type:"string"`
 20060  
 20061  	// A unique identifier for a player to associate with the player session.
 20062  	PlayerId *string `min:"1" type:"string"`
 20063  }
 20064  
 20065  // String returns the string representation.
 20066  //
 20067  // API parameter values that are decorated as "sensitive" in the API will not
 20068  // be included in the string output. The member name will be present, but the
 20069  // value will be replaced with "sensitive".
 20070  func (s DesiredPlayerSession) String() string {
 20071  	return awsutil.Prettify(s)
 20072  }
 20073  
 20074  // GoString returns the string representation.
 20075  //
 20076  // API parameter values that are decorated as "sensitive" in the API will not
 20077  // be included in the string output. The member name will be present, but the
 20078  // value will be replaced with "sensitive".
 20079  func (s DesiredPlayerSession) GoString() string {
 20080  	return s.String()
 20081  }
 20082  
 20083  // Validate inspects the fields of the type to determine if they are valid.
 20084  func (s *DesiredPlayerSession) Validate() error {
 20085  	invalidParams := request.ErrInvalidParams{Context: "DesiredPlayerSession"}
 20086  	if s.PlayerData != nil && len(*s.PlayerData) < 1 {
 20087  		invalidParams.Add(request.NewErrParamMinLen("PlayerData", 1))
 20088  	}
 20089  	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
 20090  		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
 20091  	}
 20092  
 20093  	if invalidParams.Len() > 0 {
 20094  		return invalidParams
 20095  	}
 20096  	return nil
 20097  }
 20098  
 20099  // SetPlayerData sets the PlayerData field's value.
 20100  func (s *DesiredPlayerSession) SetPlayerData(v string) *DesiredPlayerSession {
 20101  	s.PlayerData = &v
 20102  	return s
 20103  }
 20104  
 20105  // SetPlayerId sets the PlayerId field's value.
 20106  func (s *DesiredPlayerSession) SetPlayerId(v string) *DesiredPlayerSession {
 20107  	s.PlayerId = &v
 20108  	return s
 20109  }
 20110  
 20111  // Resource capacity settings. Fleet capacity is measured in EC2 instances.
 20112  // Pending and terminating counts are non-zero when the fleet capacity is adjusting
 20113  // to a scaling event or if access to resources is temporarily affected.
 20114  //
 20115  // EC2 instance counts are part of FleetCapacity.
 20116  type EC2InstanceCounts struct {
 20117  	_ struct{} `type:"structure"`
 20118  
 20119  	// Actual number of instances that are ready to host game sessions.
 20120  	ACTIVE *int64 `type:"integer"`
 20121  
 20122  	// Ideal number of active instances. GameLift will always try to maintain the
 20123  	// desired number of instances. Capacity is scaled up or down by changing the
 20124  	// desired instances.
 20125  	DESIRED *int64 `type:"integer"`
 20126  
 20127  	// Number of active instances that are not currently hosting a game session.
 20128  	IDLE *int64 `type:"integer"`
 20129  
 20130  	// The maximum instance count value allowed.
 20131  	MAXIMUM *int64 `type:"integer"`
 20132  
 20133  	// The minimum instance count value allowed.
 20134  	MINIMUM *int64 `type:"integer"`
 20135  
 20136  	// Number of instances that are starting but not yet active.
 20137  	PENDING *int64 `type:"integer"`
 20138  
 20139  	// Number of instances that are no longer active but haven't yet been terminated.
 20140  	TERMINATING *int64 `type:"integer"`
 20141  }
 20142  
 20143  // String returns the string representation.
 20144  //
 20145  // API parameter values that are decorated as "sensitive" in the API will not
 20146  // be included in the string output. The member name will be present, but the
 20147  // value will be replaced with "sensitive".
 20148  func (s EC2InstanceCounts) String() string {
 20149  	return awsutil.Prettify(s)
 20150  }
 20151  
 20152  // GoString returns the string representation.
 20153  //
 20154  // API parameter values that are decorated as "sensitive" in the API will not
 20155  // be included in the string output. The member name will be present, but the
 20156  // value will be replaced with "sensitive".
 20157  func (s EC2InstanceCounts) GoString() string {
 20158  	return s.String()
 20159  }
 20160  
 20161  // SetACTIVE sets the ACTIVE field's value.
 20162  func (s *EC2InstanceCounts) SetACTIVE(v int64) *EC2InstanceCounts {
 20163  	s.ACTIVE = &v
 20164  	return s
 20165  }
 20166  
 20167  // SetDESIRED sets the DESIRED field's value.
 20168  func (s *EC2InstanceCounts) SetDESIRED(v int64) *EC2InstanceCounts {
 20169  	s.DESIRED = &v
 20170  	return s
 20171  }
 20172  
 20173  // SetIDLE sets the IDLE field's value.
 20174  func (s *EC2InstanceCounts) SetIDLE(v int64) *EC2InstanceCounts {
 20175  	s.IDLE = &v
 20176  	return s
 20177  }
 20178  
 20179  // SetMAXIMUM sets the MAXIMUM field's value.
 20180  func (s *EC2InstanceCounts) SetMAXIMUM(v int64) *EC2InstanceCounts {
 20181  	s.MAXIMUM = &v
 20182  	return s
 20183  }
 20184  
 20185  // SetMINIMUM sets the MINIMUM field's value.
 20186  func (s *EC2InstanceCounts) SetMINIMUM(v int64) *EC2InstanceCounts {
 20187  	s.MINIMUM = &v
 20188  	return s
 20189  }
 20190  
 20191  // SetPENDING sets the PENDING field's value.
 20192  func (s *EC2InstanceCounts) SetPENDING(v int64) *EC2InstanceCounts {
 20193  	s.PENDING = &v
 20194  	return s
 20195  }
 20196  
 20197  // SetTERMINATING sets the TERMINATING field's value.
 20198  func (s *EC2InstanceCounts) SetTERMINATING(v int64) *EC2InstanceCounts {
 20199  	s.TERMINATING = &v
 20200  	return s
 20201  }
 20202  
 20203  // The GameLift service limits for an EC2 instance type and current utilization.
 20204  // GameLift allows AWS accounts a maximum number of instances, per instance
 20205  // type, per AWS Region or location, for use with GameLift. You can request
 20206  // an limit increase for your account by using the Service limits page in the
 20207  // GameLift console.
 20208  //
 20209  // Related actions
 20210  //
 20211  // DescribeEC2InstanceLimits
 20212  type EC2InstanceLimit struct {
 20213  	_ struct{} `type:"structure"`
 20214  
 20215  	// The number of instances for the specified type and location that are currently
 20216  	// being used by the AWS account.
 20217  	CurrentInstances *int64 `type:"integer"`
 20218  
 20219  	// The name of an EC2 instance type. See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
 20220  	// for detailed descriptions.
 20221  	EC2InstanceType *string `type:"string" enum:"EC2InstanceType"`
 20222  
 20223  	// The number of instances that is allowed for the specified instance type and
 20224  	// location.
 20225  	InstanceLimit *int64 `type:"integer"`
 20226  
 20227  	// An AWS Region code, such as us-west-2.
 20228  	Location *string `min:"1" type:"string"`
 20229  }
 20230  
 20231  // String returns the string representation.
 20232  //
 20233  // API parameter values that are decorated as "sensitive" in the API will not
 20234  // be included in the string output. The member name will be present, but the
 20235  // value will be replaced with "sensitive".
 20236  func (s EC2InstanceLimit) String() string {
 20237  	return awsutil.Prettify(s)
 20238  }
 20239  
 20240  // GoString returns the string representation.
 20241  //
 20242  // API parameter values that are decorated as "sensitive" in the API will not
 20243  // be included in the string output. The member name will be present, but the
 20244  // value will be replaced with "sensitive".
 20245  func (s EC2InstanceLimit) GoString() string {
 20246  	return s.String()
 20247  }
 20248  
 20249  // SetCurrentInstances sets the CurrentInstances field's value.
 20250  func (s *EC2InstanceLimit) SetCurrentInstances(v int64) *EC2InstanceLimit {
 20251  	s.CurrentInstances = &v
 20252  	return s
 20253  }
 20254  
 20255  // SetEC2InstanceType sets the EC2InstanceType field's value.
 20256  func (s *EC2InstanceLimit) SetEC2InstanceType(v string) *EC2InstanceLimit {
 20257  	s.EC2InstanceType = &v
 20258  	return s
 20259  }
 20260  
 20261  // SetInstanceLimit sets the InstanceLimit field's value.
 20262  func (s *EC2InstanceLimit) SetInstanceLimit(v int64) *EC2InstanceLimit {
 20263  	s.InstanceLimit = &v
 20264  	return s
 20265  }
 20266  
 20267  // SetLocation sets the Location field's value.
 20268  func (s *EC2InstanceLimit) SetLocation(v string) *EC2InstanceLimit {
 20269  	s.Location = &v
 20270  	return s
 20271  }
 20272  
 20273  // Log entry describing an event that involves GameLift resources (such as a
 20274  // fleet). In addition to tracking activity, event codes and messages can provide
 20275  // additional information for troubleshooting and debugging problems.
 20276  //
 20277  // Related actions
 20278  //
 20279  // DescribeFleetEvents
 20280  type Event struct {
 20281  	_ struct{} `type:"structure"`
 20282  
 20283  	// The type of event being logged.
 20284  	//
 20285  	// Fleet creation events (ordered by fleet creation activity):
 20286  	//
 20287  	//    * FLEET_CREATED -- A fleet resource was successfully created with a status
 20288  	//    of NEW. Event messaging includes the fleet ID.
 20289  	//
 20290  	//    * FLEET_STATE_DOWNLOADING -- Fleet status changed from NEW to DOWNLOADING.
 20291  	//    The compressed build has started downloading to a fleet instance for installation.
 20292  	//
 20293  	//    * FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the
 20294  	//    fleet instance.
 20295  	//
 20296  	//    * FLEET_CREATION_EXTRACTING_BUILD – The game server build was successfully
 20297  	//    downloaded to an instance, and the build files are now being extracted
 20298  	//    from the uploaded build and saved to an instance. Failure at this stage
 20299  	//    prevents a fleet from moving to ACTIVE status. Logs for this stage display
 20300  	//    a list of the files that are extracted and saved on the instance. Access
 20301  	//    the logs by using the URL in PreSignedLogUrl.
 20302  	//
 20303  	//    * FLEET_CREATION_RUNNING_INSTALLER – The game server build files were
 20304  	//    successfully extracted, and the GameLift is now running the build's install
 20305  	//    script (if one is included). Failure in this stage prevents a fleet from
 20306  	//    moving to ACTIVE status. Logs for this stage list the installation steps
 20307  	//    and whether or not the install completed successfully. Access the logs
 20308  	//    by using the URL in PreSignedLogUrl.
 20309  	//
 20310  	//    * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful,
 20311  	//    and the GameLift is now verifying that the game server launch paths, which
 20312  	//    are specified in the fleet's runtime configuration, exist. If any listed
 20313  	//    launch path exists, GameLift tries to launch a game server process and
 20314  	//    waits for the process to report ready. Failures in this stage prevent
 20315  	//    a fleet from moving to ACTIVE status. Logs for this stage list the launch
 20316  	//    paths in the runtime configuration and indicate whether each is found.
 20317  	//    Access the logs by using the URL in PreSignedLogUrl.
 20318  	//
 20319  	//    * FLEET_STATE_VALIDATING -- Fleet status changed from DOWNLOADING to VALIDATING.
 20320  	//
 20321  	//    * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- Validation of the runtime
 20322  	//    configuration failed because the executable specified in a launch path
 20323  	//    does not exist on the instance.
 20324  	//
 20325  	//    * FLEET_STATE_BUILDING -- Fleet status changed from VALIDATING to BUILDING.
 20326  	//
 20327  	//    * FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the runtime
 20328  	//    configuration failed because the executable specified in a launch path
 20329  	//    failed to run on the fleet instance.
 20330  	//
 20331  	//    * FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING.
 20332  	//
 20333  	//    * FLEET_ACTIVATION_FAILED - The fleet failed to successfully complete
 20334  	//    one of the steps in the fleet activation process. This event code indicates
 20335  	//    that the game build was successfully downloaded to a fleet instance, built,
 20336  	//    and validated, but was not able to start a server process. Learn more
 20337  	//    at Debug Fleet Creation Issues (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation)
 20338  	//
 20339  	//    * FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to
 20340  	//    ACTIVE. The fleet is now ready to host game sessions.
 20341  	//
 20342  	// VPC peering events:
 20343  	//
 20344  	//    * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established
 20345  	//    between the VPC for an GameLift fleet and a VPC in your AWS account.
 20346  	//
 20347  	//    * FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed.
 20348  	//    Event details and status information (see DescribeVpcPeeringConnections)
 20349  	//    provide additional detail. A common reason for peering failure is that
 20350  	//    the two VPCs have overlapping CIDR blocks of IPv4 addresses. To resolve
 20351  	//    this, change the CIDR block for the VPC in your AWS account. For more
 20352  	//    information on VPC peering failures, see https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html
 20353  	//    (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html)
 20354  	//
 20355  	//    * FLEET_VPC_PEERING_DELETED -- A VPC peering connection has been successfully
 20356  	//    deleted.
 20357  	//
 20358  	// Spot instance events:
 20359  	//
 20360  	//    * INSTANCE_INTERRUPTED -- A spot instance was interrupted by EC2 with
 20361  	//    a two-minute notification.
 20362  	//
 20363  	// Other fleet events:
 20364  	//
 20365  	//    * FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings
 20366  	//    (desired instances, minimum/maximum scaling limits). Event messaging includes
 20367  	//    the new capacity settings.
 20368  	//
 20369  	//    * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made
 20370  	//    to the fleet's game session protection policy setting. Event messaging
 20371  	//    includes both the old and new policy setting.
 20372  	//
 20373  	//    * FLEET_DELETED -- A request to delete a fleet was initiated.
 20374  	//
 20375  	//    * GENERIC_EVENT -- An unspecified event has occurred.
 20376  	EventCode *string `type:"string" enum:"EventCode"`
 20377  
 20378  	// A unique identifier for a fleet event.
 20379  	EventId *string `min:"1" type:"string"`
 20380  
 20381  	// Time stamp indicating when this event occurred. Format is a number expressed
 20382  	// in Unix time as milliseconds (for example "1469498468.057").
 20383  	EventTime *time.Time `type:"timestamp"`
 20384  
 20385  	// Additional information related to the event.
 20386  	Message *string `min:"1" type:"string"`
 20387  
 20388  	// Location of stored logs with additional detail that is related to the event.
 20389  	// This is useful for debugging issues. The URL is valid for 15 minutes. You
 20390  	// can also access fleet creation logs through the GameLift console.
 20391  	PreSignedLogUrl *string `min:"1" type:"string"`
 20392  
 20393  	// A unique identifier for an event resource, such as a fleet ID.
 20394  	ResourceId *string `min:"1" type:"string"`
 20395  }
 20396  
 20397  // String returns the string representation.
 20398  //
 20399  // API parameter values that are decorated as "sensitive" in the API will not
 20400  // be included in the string output. The member name will be present, but the
 20401  // value will be replaced with "sensitive".
 20402  func (s Event) String() string {
 20403  	return awsutil.Prettify(s)
 20404  }
 20405  
 20406  // GoString returns the string representation.
 20407  //
 20408  // API parameter values that are decorated as "sensitive" in the API will not
 20409  // be included in the string output. The member name will be present, but the
 20410  // value will be replaced with "sensitive".
 20411  func (s Event) GoString() string {
 20412  	return s.String()
 20413  }
 20414  
 20415  // SetEventCode sets the EventCode field's value.
 20416  func (s *Event) SetEventCode(v string) *Event {
 20417  	s.EventCode = &v
 20418  	return s
 20419  }
 20420  
 20421  // SetEventId sets the EventId field's value.
 20422  func (s *Event) SetEventId(v string) *Event {
 20423  	s.EventId = &v
 20424  	return s
 20425  }
 20426  
 20427  // SetEventTime sets the EventTime field's value.
 20428  func (s *Event) SetEventTime(v time.Time) *Event {
 20429  	s.EventTime = &v
 20430  	return s
 20431  }
 20432  
 20433  // SetMessage sets the Message field's value.
 20434  func (s *Event) SetMessage(v string) *Event {
 20435  	s.Message = &v
 20436  	return s
 20437  }
 20438  
 20439  // SetPreSignedLogUrl sets the PreSignedLogUrl field's value.
 20440  func (s *Event) SetPreSignedLogUrl(v string) *Event {
 20441  	s.PreSignedLogUrl = &v
 20442  	return s
 20443  }
 20444  
 20445  // SetResourceId sets the ResourceId field's value.
 20446  func (s *Event) SetResourceId(v string) *Event {
 20447  	s.ResourceId = &v
 20448  	return s
 20449  }
 20450  
 20451  // A list of fleet locations where a game session queue can place new game sessions.
 20452  // You can use a filter to temporarily turn off placements for specific locations.
 20453  // For queues that have multi-location fleets, you can use a filter configuration
 20454  // allow placement with some, but not all of these locations.
 20455  //
 20456  // Filter configurations are part of a GameSessionQueue.
 20457  type FilterConfiguration struct {
 20458  	_ struct{} `type:"structure"`
 20459  
 20460  	// A list of locations to allow game session placement in, in the form of AWS
 20461  	// Region codes such as us-west-2.
 20462  	AllowedLocations []*string `min:"1" type:"list"`
 20463  }
 20464  
 20465  // String returns the string representation.
 20466  //
 20467  // API parameter values that are decorated as "sensitive" in the API will not
 20468  // be included in the string output. The member name will be present, but the
 20469  // value will be replaced with "sensitive".
 20470  func (s FilterConfiguration) String() string {
 20471  	return awsutil.Prettify(s)
 20472  }
 20473  
 20474  // GoString returns the string representation.
 20475  //
 20476  // API parameter values that are decorated as "sensitive" in the API will not
 20477  // be included in the string output. The member name will be present, but the
 20478  // value will be replaced with "sensitive".
 20479  func (s FilterConfiguration) GoString() string {
 20480  	return s.String()
 20481  }
 20482  
 20483  // Validate inspects the fields of the type to determine if they are valid.
 20484  func (s *FilterConfiguration) Validate() error {
 20485  	invalidParams := request.ErrInvalidParams{Context: "FilterConfiguration"}
 20486  	if s.AllowedLocations != nil && len(s.AllowedLocations) < 1 {
 20487  		invalidParams.Add(request.NewErrParamMinLen("AllowedLocations", 1))
 20488  	}
 20489  
 20490  	if invalidParams.Len() > 0 {
 20491  		return invalidParams
 20492  	}
 20493  	return nil
 20494  }
 20495  
 20496  // SetAllowedLocations sets the AllowedLocations field's value.
 20497  func (s *FilterConfiguration) SetAllowedLocations(v []*string) *FilterConfiguration {
 20498  	s.AllowedLocations = v
 20499  	return s
 20500  }
 20501  
 20502  // Describes a GameLift fleet of game hosting resources.
 20503  //
 20504  // Related actions
 20505  //
 20506  // CreateFleet | DescribeFleetAttributes
 20507  type FleetAttributes struct {
 20508  	_ struct{} `type:"structure"`
 20509  
 20510  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 20511  	// associated with the GameLift build resource that is deployed on instances
 20512  	// in this fleet. In a GameLift build ARN, the resource ID matches the BuildId
 20513  	// value.
 20514  	BuildArn *string `type:"string"`
 20515  
 20516  	// A unique identifier for the build resource that is deployed on instances
 20517  	// in this fleet.
 20518  	BuildId *string `type:"string"`
 20519  
 20520  	// Indicates whether a TLS/SSL certificate was generated for the fleet.
 20521  	CertificateConfiguration *CertificateConfiguration `type:"structure"`
 20522  
 20523  	// A time stamp indicating when this data object was created. Format is a number
 20524  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 20525  	CreationTime *time.Time `type:"timestamp"`
 20526  
 20527  	// A human-readable description of the fleet.
 20528  	Description *string `min:"1" type:"string"`
 20529  
 20530  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 20531  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 20532  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 20533  	// In a GameLift fleet ARN, the resource ID matches the FleetId value.
 20534  	FleetArn *string `type:"string"`
 20535  
 20536  	// A unique identifier for the fleet.
 20537  	FleetId *string `type:"string"`
 20538  
 20539  	// The kind of instances, On-Demand or Spot, that this fleet uses.
 20540  	FleetType *string `type:"string" enum:"FleetType"`
 20541  
 20542  	// A unique identifier for an AWS IAM role that manages access to your AWS services.
 20543  	// With an instance role ARN set, any application that runs on an instance in
 20544  	// this fleet can assume the role, including install scripts, server processes,
 20545  	// and daemons (background processes). Create a role or look up a role's ARN
 20546  	// by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the AWS
 20547  	// Management Console. Learn more about using on-box credentials for your game
 20548  	// servers at Access external resources from a game server (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html).
 20549  	InstanceRoleArn *string `min:"1" type:"string"`
 20550  
 20551  	// The EC2 instance type that determines the computing resources of each instance
 20552  	// in the fleet. Instance type defines the CPU, memory, storage, and networking
 20553  	// capacity. See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
 20554  	// for detailed descriptions.
 20555  	InstanceType *string `type:"string" enum:"EC2InstanceType"`
 20556  
 20557  	// This parameter is no longer used. Game session log paths are now defined
 20558  	// using the GameLift server API ProcessReady() logParameters. See more information
 20559  	// 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).
 20560  	LogPaths []*string `type:"list"`
 20561  
 20562  	// Name of a metric group that metrics for this fleet are added to. In Amazon
 20563  	// CloudWatch, you can view aggregated metrics for fleets that are in a metric
 20564  	// group. A fleet can be included in only one metric group at a time.
 20565  	MetricGroups []*string `type:"list"`
 20566  
 20567  	// A descriptive label that is associated with a fleet. Fleet names do not need
 20568  	// to be unique.
 20569  	Name *string `min:"1" type:"string"`
 20570  
 20571  	// The type of game session protection to set on all new instances that are
 20572  	// started in the fleet.
 20573  	//
 20574  	//    * NoProtection -- The game session can be terminated during a scale-down
 20575  	//    event.
 20576  	//
 20577  	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
 20578  	//    be terminated during a scale-down event.
 20579  	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
 20580  
 20581  	// The operating system of the fleet's computing resources. A fleet's operating
 20582  	// system is determined by the OS of the build or script that is deployed on
 20583  	// this fleet.
 20584  	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
 20585  
 20586  	// The fleet policy that limits the number of game sessions an individual player
 20587  	// can create over a span of time.
 20588  	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
 20589  
 20590  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 20591  	// associated with the GameLift script resource that is deployed on instances
 20592  	// in this fleet. In a GameLift script ARN, the resource ID matches the ScriptId
 20593  	// value.
 20594  	ScriptArn *string `type:"string"`
 20595  
 20596  	// A unique identifier for the Realtime script resource that is deployed on
 20597  	// instances in this fleet.
 20598  	ScriptId *string `type:"string"`
 20599  
 20600  	// This parameter is no longer used. Server launch parameters are now defined
 20601  	// using the fleet's RuntimeConfiguration parameter. Requests that use this
 20602  	// parameter instead continue to be valid.
 20603  	ServerLaunchParameters *string `min:"1" type:"string"`
 20604  
 20605  	// This parameter is no longer used. Server launch paths are now defined using
 20606  	// the fleet's RuntimeConfiguration parameter. Requests that use this parameter
 20607  	// instead continue to be valid.
 20608  	ServerLaunchPath *string `min:"1" type:"string"`
 20609  
 20610  	// Current status of the fleet. Possible fleet statuses include the following:
 20611  	//
 20612  	//    * NEW -- A new fleet has been defined and desired instances is set to
 20613  	//    1.
 20614  	//
 20615  	//    * DOWNLOADING/VALIDATING/BUILDING/ACTIVATING -- GameLift is setting up
 20616  	//    the new fleet, creating new instances with the game build or Realtime
 20617  	//    script and starting server processes.
 20618  	//
 20619  	//    * ACTIVE -- Hosts can now accept game sessions.
 20620  	//
 20621  	//    * ERROR -- An error occurred when downloading, validating, building, or
 20622  	//    activating the fleet.
 20623  	//
 20624  	//    * DELETING -- Hosts are responding to a delete fleet request.
 20625  	//
 20626  	//    * TERMINATED -- The fleet no longer exists.
 20627  	Status *string `type:"string" enum:"FleetStatus"`
 20628  
 20629  	// A list of fleet activity that has been suspended using StopFleetActions.
 20630  	// This includes fleet auto-scaling.
 20631  	StoppedActions []*string `min:"1" type:"list"`
 20632  
 20633  	// A time stamp indicating when this data object was terminated. Format is a
 20634  	// number expressed in Unix time as milliseconds (for example "1469498468.057").
 20635  	TerminationTime *time.Time `type:"timestamp"`
 20636  }
 20637  
 20638  // String returns the string representation.
 20639  //
 20640  // API parameter values that are decorated as "sensitive" in the API will not
 20641  // be included in the string output. The member name will be present, but the
 20642  // value will be replaced with "sensitive".
 20643  func (s FleetAttributes) String() string {
 20644  	return awsutil.Prettify(s)
 20645  }
 20646  
 20647  // GoString returns the string representation.
 20648  //
 20649  // API parameter values that are decorated as "sensitive" in the API will not
 20650  // be included in the string output. The member name will be present, but the
 20651  // value will be replaced with "sensitive".
 20652  func (s FleetAttributes) GoString() string {
 20653  	return s.String()
 20654  }
 20655  
 20656  // SetBuildArn sets the BuildArn field's value.
 20657  func (s *FleetAttributes) SetBuildArn(v string) *FleetAttributes {
 20658  	s.BuildArn = &v
 20659  	return s
 20660  }
 20661  
 20662  // SetBuildId sets the BuildId field's value.
 20663  func (s *FleetAttributes) SetBuildId(v string) *FleetAttributes {
 20664  	s.BuildId = &v
 20665  	return s
 20666  }
 20667  
 20668  // SetCertificateConfiguration sets the CertificateConfiguration field's value.
 20669  func (s *FleetAttributes) SetCertificateConfiguration(v *CertificateConfiguration) *FleetAttributes {
 20670  	s.CertificateConfiguration = v
 20671  	return s
 20672  }
 20673  
 20674  // SetCreationTime sets the CreationTime field's value.
 20675  func (s *FleetAttributes) SetCreationTime(v time.Time) *FleetAttributes {
 20676  	s.CreationTime = &v
 20677  	return s
 20678  }
 20679  
 20680  // SetDescription sets the Description field's value.
 20681  func (s *FleetAttributes) SetDescription(v string) *FleetAttributes {
 20682  	s.Description = &v
 20683  	return s
 20684  }
 20685  
 20686  // SetFleetArn sets the FleetArn field's value.
 20687  func (s *FleetAttributes) SetFleetArn(v string) *FleetAttributes {
 20688  	s.FleetArn = &v
 20689  	return s
 20690  }
 20691  
 20692  // SetFleetId sets the FleetId field's value.
 20693  func (s *FleetAttributes) SetFleetId(v string) *FleetAttributes {
 20694  	s.FleetId = &v
 20695  	return s
 20696  }
 20697  
 20698  // SetFleetType sets the FleetType field's value.
 20699  func (s *FleetAttributes) SetFleetType(v string) *FleetAttributes {
 20700  	s.FleetType = &v
 20701  	return s
 20702  }
 20703  
 20704  // SetInstanceRoleArn sets the InstanceRoleArn field's value.
 20705  func (s *FleetAttributes) SetInstanceRoleArn(v string) *FleetAttributes {
 20706  	s.InstanceRoleArn = &v
 20707  	return s
 20708  }
 20709  
 20710  // SetInstanceType sets the InstanceType field's value.
 20711  func (s *FleetAttributes) SetInstanceType(v string) *FleetAttributes {
 20712  	s.InstanceType = &v
 20713  	return s
 20714  }
 20715  
 20716  // SetLogPaths sets the LogPaths field's value.
 20717  func (s *FleetAttributes) SetLogPaths(v []*string) *FleetAttributes {
 20718  	s.LogPaths = v
 20719  	return s
 20720  }
 20721  
 20722  // SetMetricGroups sets the MetricGroups field's value.
 20723  func (s *FleetAttributes) SetMetricGroups(v []*string) *FleetAttributes {
 20724  	s.MetricGroups = v
 20725  	return s
 20726  }
 20727  
 20728  // SetName sets the Name field's value.
 20729  func (s *FleetAttributes) SetName(v string) *FleetAttributes {
 20730  	s.Name = &v
 20731  	return s
 20732  }
 20733  
 20734  // SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
 20735  func (s *FleetAttributes) SetNewGameSessionProtectionPolicy(v string) *FleetAttributes {
 20736  	s.NewGameSessionProtectionPolicy = &v
 20737  	return s
 20738  }
 20739  
 20740  // SetOperatingSystem sets the OperatingSystem field's value.
 20741  func (s *FleetAttributes) SetOperatingSystem(v string) *FleetAttributes {
 20742  	s.OperatingSystem = &v
 20743  	return s
 20744  }
 20745  
 20746  // SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
 20747  func (s *FleetAttributes) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *FleetAttributes {
 20748  	s.ResourceCreationLimitPolicy = v
 20749  	return s
 20750  }
 20751  
 20752  // SetScriptArn sets the ScriptArn field's value.
 20753  func (s *FleetAttributes) SetScriptArn(v string) *FleetAttributes {
 20754  	s.ScriptArn = &v
 20755  	return s
 20756  }
 20757  
 20758  // SetScriptId sets the ScriptId field's value.
 20759  func (s *FleetAttributes) SetScriptId(v string) *FleetAttributes {
 20760  	s.ScriptId = &v
 20761  	return s
 20762  }
 20763  
 20764  // SetServerLaunchParameters sets the ServerLaunchParameters field's value.
 20765  func (s *FleetAttributes) SetServerLaunchParameters(v string) *FleetAttributes {
 20766  	s.ServerLaunchParameters = &v
 20767  	return s
 20768  }
 20769  
 20770  // SetServerLaunchPath sets the ServerLaunchPath field's value.
 20771  func (s *FleetAttributes) SetServerLaunchPath(v string) *FleetAttributes {
 20772  	s.ServerLaunchPath = &v
 20773  	return s
 20774  }
 20775  
 20776  // SetStatus sets the Status field's value.
 20777  func (s *FleetAttributes) SetStatus(v string) *FleetAttributes {
 20778  	s.Status = &v
 20779  	return s
 20780  }
 20781  
 20782  // SetStoppedActions sets the StoppedActions field's value.
 20783  func (s *FleetAttributes) SetStoppedActions(v []*string) *FleetAttributes {
 20784  	s.StoppedActions = v
 20785  	return s
 20786  }
 20787  
 20788  // SetTerminationTime sets the TerminationTime field's value.
 20789  func (s *FleetAttributes) SetTerminationTime(v time.Time) *FleetAttributes {
 20790  	s.TerminationTime = &v
 20791  	return s
 20792  }
 20793  
 20794  // Current resource capacity settings in a specified fleet or location. The
 20795  // location value might refer to a fleet's remote location or its home Region.
 20796  //
 20797  // Related actions
 20798  //
 20799  // DescribeFleetCapacity | DescribeFleetLocationCapacity | UpdateFleetCapacity
 20800  type FleetCapacity struct {
 20801  	_ struct{} `type:"structure"`
 20802  
 20803  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 20804  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 20805  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 20806  	FleetArn *string `type:"string"`
 20807  
 20808  	// A unique identifier for the fleet associated with the location.
 20809  	FleetId *string `type:"string"`
 20810  
 20811  	// The current instance count and capacity settings for the fleet location.
 20812  	InstanceCounts *EC2InstanceCounts `type:"structure"`
 20813  
 20814  	// The EC2 instance type that is used for all instances in a fleet. The instance
 20815  	// type determines the computing resources in use, including CPU, memory, storage,
 20816  	// and networking capacity. See Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/)
 20817  	// for detailed descriptions.
 20818  	InstanceType *string `type:"string" enum:"EC2InstanceType"`
 20819  
 20820  	// The fleet location for the instance count information, expressed as an AWS
 20821  	// Region code, such as us-west-2.
 20822  	Location *string `min:"1" type:"string"`
 20823  }
 20824  
 20825  // String returns the string representation.
 20826  //
 20827  // API parameter values that are decorated as "sensitive" in the API will not
 20828  // be included in the string output. The member name will be present, but the
 20829  // value will be replaced with "sensitive".
 20830  func (s FleetCapacity) String() string {
 20831  	return awsutil.Prettify(s)
 20832  }
 20833  
 20834  // GoString returns the string representation.
 20835  //
 20836  // API parameter values that are decorated as "sensitive" in the API will not
 20837  // be included in the string output. The member name will be present, but the
 20838  // value will be replaced with "sensitive".
 20839  func (s FleetCapacity) GoString() string {
 20840  	return s.String()
 20841  }
 20842  
 20843  // SetFleetArn sets the FleetArn field's value.
 20844  func (s *FleetCapacity) SetFleetArn(v string) *FleetCapacity {
 20845  	s.FleetArn = &v
 20846  	return s
 20847  }
 20848  
 20849  // SetFleetId sets the FleetId field's value.
 20850  func (s *FleetCapacity) SetFleetId(v string) *FleetCapacity {
 20851  	s.FleetId = &v
 20852  	return s
 20853  }
 20854  
 20855  // SetInstanceCounts sets the InstanceCounts field's value.
 20856  func (s *FleetCapacity) SetInstanceCounts(v *EC2InstanceCounts) *FleetCapacity {
 20857  	s.InstanceCounts = v
 20858  	return s
 20859  }
 20860  
 20861  // SetInstanceType sets the InstanceType field's value.
 20862  func (s *FleetCapacity) SetInstanceType(v string) *FleetCapacity {
 20863  	s.InstanceType = &v
 20864  	return s
 20865  }
 20866  
 20867  // SetLocation sets the Location field's value.
 20868  func (s *FleetCapacity) SetLocation(v string) *FleetCapacity {
 20869  	s.Location = &v
 20870  	return s
 20871  }
 20872  
 20873  // The specified fleet has no available instances to fulfill a CreateGameSession
 20874  // request. Clients can retry such requests immediately or after a waiting period.
 20875  type FleetCapacityExceededException struct {
 20876  	_            struct{}                  `type:"structure"`
 20877  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 20878  
 20879  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 20880  }
 20881  
 20882  // String 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".
 20887  func (s FleetCapacityExceededException) String() string {
 20888  	return awsutil.Prettify(s)
 20889  }
 20890  
 20891  // GoString returns the string representation.
 20892  //
 20893  // API parameter values that are decorated as "sensitive" in the API will not
 20894  // be included in the string output. The member name will be present, but the
 20895  // value will be replaced with "sensitive".
 20896  func (s FleetCapacityExceededException) GoString() string {
 20897  	return s.String()
 20898  }
 20899  
 20900  func newErrorFleetCapacityExceededException(v protocol.ResponseMetadata) error {
 20901  	return &FleetCapacityExceededException{
 20902  		RespMetadata: v,
 20903  	}
 20904  }
 20905  
 20906  // Code returns the exception type name.
 20907  func (s *FleetCapacityExceededException) Code() string {
 20908  	return "FleetCapacityExceededException"
 20909  }
 20910  
 20911  // Message returns the exception's message.
 20912  func (s *FleetCapacityExceededException) Message() string {
 20913  	if s.Message_ != nil {
 20914  		return *s.Message_
 20915  	}
 20916  	return ""
 20917  }
 20918  
 20919  // OrigErr always returns nil, satisfies awserr.Error interface.
 20920  func (s *FleetCapacityExceededException) OrigErr() error {
 20921  	return nil
 20922  }
 20923  
 20924  func (s *FleetCapacityExceededException) Error() string {
 20925  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 20926  }
 20927  
 20928  // Status code returns the HTTP status code for the request's response error.
 20929  func (s *FleetCapacityExceededException) StatusCode() int {
 20930  	return s.RespMetadata.StatusCode
 20931  }
 20932  
 20933  // RequestID returns the service's response RequestID for request.
 20934  func (s *FleetCapacityExceededException) RequestID() string {
 20935  	return s.RespMetadata.RequestID
 20936  }
 20937  
 20938  // Current resource utilization statistics in a specified fleet or location.
 20939  // The location value might refer to a fleet's remote location or its home Region.
 20940  //
 20941  // Related actions
 20942  //
 20943  // DescribeFleetUtilization | DescribeFleetLocationUtilization
 20944  type FleetUtilization struct {
 20945  	_ struct{} `type:"structure"`
 20946  
 20947  	// The number of active game sessions that are currently being hosted across
 20948  	// all instances in the fleet location.
 20949  	ActiveGameSessionCount *int64 `type:"integer"`
 20950  
 20951  	// The number of server processes in ACTIVE status that are currently running
 20952  	// across all instances in the fleet location.
 20953  	ActiveServerProcessCount *int64 `type:"integer"`
 20954  
 20955  	// The number of active player sessions that are currently being hosted across
 20956  	// all instances in the fleet location.
 20957  	CurrentPlayerSessionCount *int64 `type:"integer"`
 20958  
 20959  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 20960  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 20961  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 20962  	FleetArn *string `type:"string"`
 20963  
 20964  	// A unique identifier for the fleet associated with the location.
 20965  	FleetId *string `type:"string"`
 20966  
 20967  	// The fleet location for the fleet utilization information, expressed as an
 20968  	// AWS Region code, such as us-west-2.
 20969  	Location *string `min:"1" type:"string"`
 20970  
 20971  	// The maximum number of players allowed across all game sessions that are currently
 20972  	// being hosted across all instances in the fleet location.
 20973  	MaximumPlayerSessionCount *int64 `type:"integer"`
 20974  }
 20975  
 20976  // String returns the string representation.
 20977  //
 20978  // API parameter values that are decorated as "sensitive" in the API will not
 20979  // be included in the string output. The member name will be present, but the
 20980  // value will be replaced with "sensitive".
 20981  func (s FleetUtilization) String() string {
 20982  	return awsutil.Prettify(s)
 20983  }
 20984  
 20985  // GoString returns the string representation.
 20986  //
 20987  // API parameter values that are decorated as "sensitive" in the API will not
 20988  // be included in the string output. The member name will be present, but the
 20989  // value will be replaced with "sensitive".
 20990  func (s FleetUtilization) GoString() string {
 20991  	return s.String()
 20992  }
 20993  
 20994  // SetActiveGameSessionCount sets the ActiveGameSessionCount field's value.
 20995  func (s *FleetUtilization) SetActiveGameSessionCount(v int64) *FleetUtilization {
 20996  	s.ActiveGameSessionCount = &v
 20997  	return s
 20998  }
 20999  
 21000  // SetActiveServerProcessCount sets the ActiveServerProcessCount field's value.
 21001  func (s *FleetUtilization) SetActiveServerProcessCount(v int64) *FleetUtilization {
 21002  	s.ActiveServerProcessCount = &v
 21003  	return s
 21004  }
 21005  
 21006  // SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
 21007  func (s *FleetUtilization) SetCurrentPlayerSessionCount(v int64) *FleetUtilization {
 21008  	s.CurrentPlayerSessionCount = &v
 21009  	return s
 21010  }
 21011  
 21012  // SetFleetArn sets the FleetArn field's value.
 21013  func (s *FleetUtilization) SetFleetArn(v string) *FleetUtilization {
 21014  	s.FleetArn = &v
 21015  	return s
 21016  }
 21017  
 21018  // SetFleetId sets the FleetId field's value.
 21019  func (s *FleetUtilization) SetFleetId(v string) *FleetUtilization {
 21020  	s.FleetId = &v
 21021  	return s
 21022  }
 21023  
 21024  // SetLocation sets the Location field's value.
 21025  func (s *FleetUtilization) SetLocation(v string) *FleetUtilization {
 21026  	s.Location = &v
 21027  	return s
 21028  }
 21029  
 21030  // SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
 21031  func (s *FleetUtilization) SetMaximumPlayerSessionCount(v int64) *FleetUtilization {
 21032  	s.MaximumPlayerSessionCount = &v
 21033  	return s
 21034  }
 21035  
 21036  // Set of key-value pairs that contain information about a game session. When
 21037  // included in a game session request, these properties communicate details
 21038  // to be used when setting up the new game session. For example, a game property
 21039  // might specify a game mode, level, or map. Game properties are passed to the
 21040  // game server process when initiating a new game session. For more information,
 21041  // see the GameLift Developer Guide (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-create).
 21042  type GameProperty struct {
 21043  	_ struct{} `type:"structure"`
 21044  
 21045  	// The game property identifier.
 21046  	//
 21047  	// Key is a required field
 21048  	Key *string `type:"string" required:"true"`
 21049  
 21050  	// The game property value.
 21051  	//
 21052  	// Value is a required field
 21053  	Value *string `type:"string" required:"true"`
 21054  }
 21055  
 21056  // String returns the string representation.
 21057  //
 21058  // API parameter values that are decorated as "sensitive" in the API will not
 21059  // be included in the string output. The member name will be present, but the
 21060  // value will be replaced with "sensitive".
 21061  func (s GameProperty) String() string {
 21062  	return awsutil.Prettify(s)
 21063  }
 21064  
 21065  // GoString returns the string representation.
 21066  //
 21067  // API parameter values that are decorated as "sensitive" in the API will not
 21068  // be included in the string output. The member name will be present, but the
 21069  // value will be replaced with "sensitive".
 21070  func (s GameProperty) GoString() string {
 21071  	return s.String()
 21072  }
 21073  
 21074  // Validate inspects the fields of the type to determine if they are valid.
 21075  func (s *GameProperty) Validate() error {
 21076  	invalidParams := request.ErrInvalidParams{Context: "GameProperty"}
 21077  	if s.Key == nil {
 21078  		invalidParams.Add(request.NewErrParamRequired("Key"))
 21079  	}
 21080  	if s.Value == nil {
 21081  		invalidParams.Add(request.NewErrParamRequired("Value"))
 21082  	}
 21083  
 21084  	if invalidParams.Len() > 0 {
 21085  		return invalidParams
 21086  	}
 21087  	return nil
 21088  }
 21089  
 21090  // SetKey sets the Key field's value.
 21091  func (s *GameProperty) SetKey(v string) *GameProperty {
 21092  	s.Key = &v
 21093  	return s
 21094  }
 21095  
 21096  // SetValue sets the Value field's value.
 21097  func (s *GameProperty) SetValue(v string) *GameProperty {
 21098  	s.Value = &v
 21099  	return s
 21100  }
 21101  
 21102  // This data type is used with the GameLift FleetIQ and game server groups.
 21103  //
 21104  // Properties describing a game server that is running on an instance in a GameServerGroup.
 21105  //
 21106  // A game server is created by a successful call to RegisterGameServer and deleted
 21107  // by calling DeregisterGameServer. A game server is claimed to host a game
 21108  // session by calling ClaimGameServer.
 21109  //
 21110  // Related actions
 21111  //
 21112  // RegisterGameServer | ListGameServers | ClaimGameServer | DescribeGameServer
 21113  // | UpdateGameServer | DeregisterGameServer | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
 21114  type GameServer struct {
 21115  	_ struct{} `type:"structure"`
 21116  
 21117  	// Indicates when an available game server has been reserved for gameplay but
 21118  	// has not yet started hosting a game. Once it is claimed, the game server remains
 21119  	// in CLAIMED status for a maximum of one minute. During this time, game clients
 21120  	// connect to the game server to start the game and trigger the game server
 21121  	// to update its utilization status. After one minute, the game server claim
 21122  	// status reverts to null.
 21123  	ClaimStatus *string `type:"string" enum:"GameServerClaimStatus"`
 21124  
 21125  	// The port and IP address that must be used to establish a client connection
 21126  	// to the game server.
 21127  	ConnectionInfo *string `min:"1" type:"string"`
 21128  
 21129  	// A set of custom game server properties, formatted as a single string value.
 21130  	// This data is passed to a game client or service when it requests information
 21131  	// on game servers using ListGameServers or ClaimGameServer.
 21132  	GameServerData *string `min:"1" type:"string"`
 21133  
 21134  	// The ARN identifier for the game server group where the game server is located.
 21135  	GameServerGroupArn *string `min:"1" type:"string"`
 21136  
 21137  	// A unique identifier for the game server group where the game server is running.
 21138  	// Use either the GameServerGroup name or ARN value.
 21139  	GameServerGroupName *string `min:"1" type:"string"`
 21140  
 21141  	// A custom string that uniquely identifies the game server. Game server IDs
 21142  	// are developer-defined and are unique across all game server groups in an
 21143  	// AWS account.
 21144  	GameServerId *string `min:"3" type:"string"`
 21145  
 21146  	// The unique identifier for the instance where the game server is running.
 21147  	// This ID is available in the instance metadata. EC2 instance IDs use a 17-character
 21148  	// format, for example: i-1234567890abcdef0.
 21149  	InstanceId *string `min:"19" type:"string"`
 21150  
 21151  	// Timestamp that indicates the last time the game server was claimed with a
 21152  	// ClaimGameServer request. The format is a number expressed in Unix time as
 21153  	// milliseconds (for example "1469498468.057"). This value is used to calculate
 21154  	// when a claimed game server's status should revert to null.
 21155  	LastClaimTime *time.Time `type:"timestamp"`
 21156  
 21157  	// Timestamp that indicates the last time the game server was updated with health
 21158  	// status using an UpdateGameServer request. The format is a number expressed
 21159  	// in Unix time as milliseconds (for example "1469498468.057"). After game server
 21160  	// registration, this property is only changed when a game server update specifies
 21161  	// a health check value.
 21162  	LastHealthCheckTime *time.Time `type:"timestamp"`
 21163  
 21164  	// Timestamp that indicates when the game server was created with a RegisterGameServer
 21165  	// request. The format is a number expressed in Unix time as milliseconds (for
 21166  	// example "1469498468.057").
 21167  	RegistrationTime *time.Time `type:"timestamp"`
 21168  
 21169  	// Indicates whether the game server is currently available for new games or
 21170  	// is busy. Possible statuses include:
 21171  	//
 21172  	//    * AVAILABLE - The game server is available to be claimed. A game server
 21173  	//    that has been claimed remains in this status until it reports game hosting
 21174  	//    activity.
 21175  	//
 21176  	//    * UTILIZED - The game server is currently hosting a game session with
 21177  	//    players.
 21178  	UtilizationStatus *string `type:"string" enum:"GameServerUtilizationStatus"`
 21179  }
 21180  
 21181  // String returns the string representation.
 21182  //
 21183  // API parameter values that are decorated as "sensitive" in the API will not
 21184  // be included in the string output. The member name will be present, but the
 21185  // value will be replaced with "sensitive".
 21186  func (s GameServer) String() string {
 21187  	return awsutil.Prettify(s)
 21188  }
 21189  
 21190  // GoString returns the string representation.
 21191  //
 21192  // API parameter values that are decorated as "sensitive" in the API will not
 21193  // be included in the string output. The member name will be present, but the
 21194  // value will be replaced with "sensitive".
 21195  func (s GameServer) GoString() string {
 21196  	return s.String()
 21197  }
 21198  
 21199  // SetClaimStatus sets the ClaimStatus field's value.
 21200  func (s *GameServer) SetClaimStatus(v string) *GameServer {
 21201  	s.ClaimStatus = &v
 21202  	return s
 21203  }
 21204  
 21205  // SetConnectionInfo sets the ConnectionInfo field's value.
 21206  func (s *GameServer) SetConnectionInfo(v string) *GameServer {
 21207  	s.ConnectionInfo = &v
 21208  	return s
 21209  }
 21210  
 21211  // SetGameServerData sets the GameServerData field's value.
 21212  func (s *GameServer) SetGameServerData(v string) *GameServer {
 21213  	s.GameServerData = &v
 21214  	return s
 21215  }
 21216  
 21217  // SetGameServerGroupArn sets the GameServerGroupArn field's value.
 21218  func (s *GameServer) SetGameServerGroupArn(v string) *GameServer {
 21219  	s.GameServerGroupArn = &v
 21220  	return s
 21221  }
 21222  
 21223  // SetGameServerGroupName sets the GameServerGroupName field's value.
 21224  func (s *GameServer) SetGameServerGroupName(v string) *GameServer {
 21225  	s.GameServerGroupName = &v
 21226  	return s
 21227  }
 21228  
 21229  // SetGameServerId sets the GameServerId field's value.
 21230  func (s *GameServer) SetGameServerId(v string) *GameServer {
 21231  	s.GameServerId = &v
 21232  	return s
 21233  }
 21234  
 21235  // SetInstanceId sets the InstanceId field's value.
 21236  func (s *GameServer) SetInstanceId(v string) *GameServer {
 21237  	s.InstanceId = &v
 21238  	return s
 21239  }
 21240  
 21241  // SetLastClaimTime sets the LastClaimTime field's value.
 21242  func (s *GameServer) SetLastClaimTime(v time.Time) *GameServer {
 21243  	s.LastClaimTime = &v
 21244  	return s
 21245  }
 21246  
 21247  // SetLastHealthCheckTime sets the LastHealthCheckTime field's value.
 21248  func (s *GameServer) SetLastHealthCheckTime(v time.Time) *GameServer {
 21249  	s.LastHealthCheckTime = &v
 21250  	return s
 21251  }
 21252  
 21253  // SetRegistrationTime sets the RegistrationTime field's value.
 21254  func (s *GameServer) SetRegistrationTime(v time.Time) *GameServer {
 21255  	s.RegistrationTime = &v
 21256  	return s
 21257  }
 21258  
 21259  // SetUtilizationStatus sets the UtilizationStatus field's value.
 21260  func (s *GameServer) SetUtilizationStatus(v string) *GameServer {
 21261  	s.UtilizationStatus = &v
 21262  	return s
 21263  }
 21264  
 21265  // This data type is used with the GameLift FleetIQ and game server groups.
 21266  //
 21267  // Properties that describe a game server group resource. A game server group
 21268  // manages certain properties related to a corresponding EC2 Auto Scaling group.
 21269  //
 21270  // A game server group is created by a successful call to CreateGameServerGroup
 21271  // and deleted by calling DeleteGameServerGroup. Game server group activity
 21272  // can be temporarily suspended and resumed by calling SuspendGameServerGroup
 21273  // and ResumeGameServerGroup, respectively.
 21274  //
 21275  // Related actions
 21276  //
 21277  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
 21278  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
 21279  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
 21280  type GameServerGroup struct {
 21281  	_ struct{} `type:"structure"`
 21282  
 21283  	// A generated unique ID for the EC2 Auto Scaling group that is associated with
 21284  	// this game server group.
 21285  	AutoScalingGroupArn *string `type:"string"`
 21286  
 21287  	// Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand
 21288  	// Instances in the game server group. Method options include the following:
 21289  	//
 21290  	//    * SPOT_ONLY - Only Spot Instances are used in the game server group. If
 21291  	//    Spot Instances are unavailable or not viable for game hosting, the game
 21292  	//    server group provides no hosting capacity until Spot Instances can again
 21293  	//    be used. Until then, no new instances are started, and the existing nonviable
 21294  	//    Spot Instances are terminated (after current gameplay ends) and are not
 21295  	//    replaced.
 21296  	//
 21297  	//    * SPOT_PREFERRED - (default value) Spot Instances are used whenever available
 21298  	//    in the game server group. If Spot Instances are unavailable, the game
 21299  	//    server group continues to provide hosting capacity by falling back to
 21300  	//    On-Demand Instances. Existing nonviable Spot Instances are terminated
 21301  	//    (after current gameplay ends) and are replaced with new On-Demand Instances.
 21302  	//
 21303  	//    * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server
 21304  	//    group. No Spot Instances are used, even when available, while this balancing
 21305  	//    strategy is in force.
 21306  	BalancingStrategy *string `type:"string" enum:"BalancingStrategy"`
 21307  
 21308  	// A time stamp indicating when this data object was created. Format is a number
 21309  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 21310  	CreationTime *time.Time `type:"timestamp"`
 21311  
 21312  	// A generated unique ID for the game server group.
 21313  	GameServerGroupArn *string `min:"1" type:"string"`
 21314  
 21315  	// A developer-defined identifier for the game server group. The name is unique
 21316  	// for each Region in each AWS account.
 21317  	GameServerGroupName *string `min:"1" type:"string"`
 21318  
 21319  	// A flag that indicates whether instances in the game server group are protected
 21320  	// from early termination. Unprotected instances that have active game servers
 21321  	// running might be terminated during a scale-down event, causing players to
 21322  	// be dropped from the game. Protected instances cannot be terminated while
 21323  	// there are active game servers running except in the event of a forced game
 21324  	// server group deletion (see ). An exception to this is with Spot Instances,
 21325  	// which can be terminated by AWS regardless of protection status.
 21326  	GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"`
 21327  
 21328  	// The set of EC2 instance types that GameLift FleetIQ can use when balancing
 21329  	// and automatically scaling instances in the corresponding Auto Scaling group.
 21330  	InstanceDefinitions []*InstanceDefinition `min:"2" type:"list"`
 21331  
 21332  	// A timestamp that indicates when this game server group was last updated.
 21333  	LastUpdatedTime *time.Time `type:"timestamp"`
 21334  
 21335  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 21336  	// for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling
 21337  	// groups.
 21338  	RoleArn *string `min:"1" type:"string"`
 21339  
 21340  	// The current status of the game server group. Possible statuses include:
 21341  	//
 21342  	//    * NEW - GameLift FleetIQ has validated the CreateGameServerGroup() request.
 21343  	//
 21344  	//    * ACTIVATING - GameLift FleetIQ is setting up a game server group, which
 21345  	//    includes creating an Auto Scaling group in your AWS account.
 21346  	//
 21347  	//    * ACTIVE - The game server group has been successfully created.
 21348  	//
 21349  	//    * DELETE_SCHEDULED - A request to delete the game server group has been
 21350  	//    received.
 21351  	//
 21352  	//    * DELETING - GameLift FleetIQ has received a valid DeleteGameServerGroup()
 21353  	//    request and is processing it. GameLift FleetIQ must first complete and
 21354  	//    release hosts before it deletes the Auto Scaling group and the game server
 21355  	//    group.
 21356  	//
 21357  	//    * DELETED - The game server group has been successfully deleted.
 21358  	//
 21359  	//    * ERROR - The asynchronous processes of activating or deleting a game
 21360  	//    server group has failed, resulting in an error state.
 21361  	Status *string `type:"string" enum:"GameServerGroupStatus"`
 21362  
 21363  	// Additional information about the current game server group status. This information
 21364  	// might provide additional insight on groups that are in ERROR status.
 21365  	StatusReason *string `min:"1" type:"string"`
 21366  
 21367  	// A list of activities that are currently suspended for this game server group.
 21368  	// If this property is empty, all activities are occurring.
 21369  	SuspendedActions []*string `min:"1" type:"list"`
 21370  }
 21371  
 21372  // String returns the string representation.
 21373  //
 21374  // API parameter values that are decorated as "sensitive" in the API will not
 21375  // be included in the string output. The member name will be present, but the
 21376  // value will be replaced with "sensitive".
 21377  func (s GameServerGroup) String() string {
 21378  	return awsutil.Prettify(s)
 21379  }
 21380  
 21381  // GoString returns the string representation.
 21382  //
 21383  // API parameter values that are decorated as "sensitive" in the API will not
 21384  // be included in the string output. The member name will be present, but the
 21385  // value will be replaced with "sensitive".
 21386  func (s GameServerGroup) GoString() string {
 21387  	return s.String()
 21388  }
 21389  
 21390  // SetAutoScalingGroupArn sets the AutoScalingGroupArn field's value.
 21391  func (s *GameServerGroup) SetAutoScalingGroupArn(v string) *GameServerGroup {
 21392  	s.AutoScalingGroupArn = &v
 21393  	return s
 21394  }
 21395  
 21396  // SetBalancingStrategy sets the BalancingStrategy field's value.
 21397  func (s *GameServerGroup) SetBalancingStrategy(v string) *GameServerGroup {
 21398  	s.BalancingStrategy = &v
 21399  	return s
 21400  }
 21401  
 21402  // SetCreationTime sets the CreationTime field's value.
 21403  func (s *GameServerGroup) SetCreationTime(v time.Time) *GameServerGroup {
 21404  	s.CreationTime = &v
 21405  	return s
 21406  }
 21407  
 21408  // SetGameServerGroupArn sets the GameServerGroupArn field's value.
 21409  func (s *GameServerGroup) SetGameServerGroupArn(v string) *GameServerGroup {
 21410  	s.GameServerGroupArn = &v
 21411  	return s
 21412  }
 21413  
 21414  // SetGameServerGroupName sets the GameServerGroupName field's value.
 21415  func (s *GameServerGroup) SetGameServerGroupName(v string) *GameServerGroup {
 21416  	s.GameServerGroupName = &v
 21417  	return s
 21418  }
 21419  
 21420  // SetGameServerProtectionPolicy sets the GameServerProtectionPolicy field's value.
 21421  func (s *GameServerGroup) SetGameServerProtectionPolicy(v string) *GameServerGroup {
 21422  	s.GameServerProtectionPolicy = &v
 21423  	return s
 21424  }
 21425  
 21426  // SetInstanceDefinitions sets the InstanceDefinitions field's value.
 21427  func (s *GameServerGroup) SetInstanceDefinitions(v []*InstanceDefinition) *GameServerGroup {
 21428  	s.InstanceDefinitions = v
 21429  	return s
 21430  }
 21431  
 21432  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
 21433  func (s *GameServerGroup) SetLastUpdatedTime(v time.Time) *GameServerGroup {
 21434  	s.LastUpdatedTime = &v
 21435  	return s
 21436  }
 21437  
 21438  // SetRoleArn sets the RoleArn field's value.
 21439  func (s *GameServerGroup) SetRoleArn(v string) *GameServerGroup {
 21440  	s.RoleArn = &v
 21441  	return s
 21442  }
 21443  
 21444  // SetStatus sets the Status field's value.
 21445  func (s *GameServerGroup) SetStatus(v string) *GameServerGroup {
 21446  	s.Status = &v
 21447  	return s
 21448  }
 21449  
 21450  // SetStatusReason sets the StatusReason field's value.
 21451  func (s *GameServerGroup) SetStatusReason(v string) *GameServerGroup {
 21452  	s.StatusReason = &v
 21453  	return s
 21454  }
 21455  
 21456  // SetSuspendedActions sets the SuspendedActions field's value.
 21457  func (s *GameServerGroup) SetSuspendedActions(v []*string) *GameServerGroup {
 21458  	s.SuspendedActions = v
 21459  	return s
 21460  }
 21461  
 21462  // This data type is used with the GameLift FleetIQ and game server groups.
 21463  //
 21464  // Configuration settings for intelligent automatic scaling that uses target
 21465  // tracking. These settings are used to add an Auto Scaling policy when creating
 21466  // the corresponding Auto Scaling group with CreateGameServerGroup. After the
 21467  // Auto Scaling group is created, all updates to Auto Scaling policies, including
 21468  // changing this policy and adding or removing other policies, is done directly
 21469  // on the Auto Scaling group.
 21470  type GameServerGroupAutoScalingPolicy struct {
 21471  	_ struct{} `type:"structure"`
 21472  
 21473  	// Length of time, in seconds, it takes for a new instance to start new game
 21474  	// server processes and register with GameLift FleetIQ. Specifying a warm-up
 21475  	// time can be useful, particularly with game servers that take a long time
 21476  	// to start up, because it avoids prematurely starting new instances.
 21477  	EstimatedInstanceWarmup *int64 `min:"1" type:"integer"`
 21478  
 21479  	// Settings for a target-based scaling policy applied to Auto Scaling group.
 21480  	// These settings are used to create a target-based policy that tracks the GameLift
 21481  	// FleetIQ metric "PercentUtilizedGameServers" and specifies a target value
 21482  	// for the metric. As player usage changes, the policy triggers to adjust the
 21483  	// game server group capacity so that the metric returns to the target value.
 21484  	//
 21485  	// TargetTrackingConfiguration is a required field
 21486  	TargetTrackingConfiguration *TargetTrackingConfiguration `type:"structure" required:"true"`
 21487  }
 21488  
 21489  // String returns the string representation.
 21490  //
 21491  // API parameter values that are decorated as "sensitive" in the API will not
 21492  // be included in the string output. The member name will be present, but the
 21493  // value will be replaced with "sensitive".
 21494  func (s GameServerGroupAutoScalingPolicy) String() string {
 21495  	return awsutil.Prettify(s)
 21496  }
 21497  
 21498  // GoString returns the string representation.
 21499  //
 21500  // API parameter values that are decorated as "sensitive" in the API will not
 21501  // be included in the string output. The member name will be present, but the
 21502  // value will be replaced with "sensitive".
 21503  func (s GameServerGroupAutoScalingPolicy) GoString() string {
 21504  	return s.String()
 21505  }
 21506  
 21507  // Validate inspects the fields of the type to determine if they are valid.
 21508  func (s *GameServerGroupAutoScalingPolicy) Validate() error {
 21509  	invalidParams := request.ErrInvalidParams{Context: "GameServerGroupAutoScalingPolicy"}
 21510  	if s.EstimatedInstanceWarmup != nil && *s.EstimatedInstanceWarmup < 1 {
 21511  		invalidParams.Add(request.NewErrParamMinValue("EstimatedInstanceWarmup", 1))
 21512  	}
 21513  	if s.TargetTrackingConfiguration == nil {
 21514  		invalidParams.Add(request.NewErrParamRequired("TargetTrackingConfiguration"))
 21515  	}
 21516  	if s.TargetTrackingConfiguration != nil {
 21517  		if err := s.TargetTrackingConfiguration.Validate(); err != nil {
 21518  			invalidParams.AddNested("TargetTrackingConfiguration", err.(request.ErrInvalidParams))
 21519  		}
 21520  	}
 21521  
 21522  	if invalidParams.Len() > 0 {
 21523  		return invalidParams
 21524  	}
 21525  	return nil
 21526  }
 21527  
 21528  // SetEstimatedInstanceWarmup sets the EstimatedInstanceWarmup field's value.
 21529  func (s *GameServerGroupAutoScalingPolicy) SetEstimatedInstanceWarmup(v int64) *GameServerGroupAutoScalingPolicy {
 21530  	s.EstimatedInstanceWarmup = &v
 21531  	return s
 21532  }
 21533  
 21534  // SetTargetTrackingConfiguration sets the TargetTrackingConfiguration field's value.
 21535  func (s *GameServerGroupAutoScalingPolicy) SetTargetTrackingConfiguration(v *TargetTrackingConfiguration) *GameServerGroupAutoScalingPolicy {
 21536  	s.TargetTrackingConfiguration = v
 21537  	return s
 21538  }
 21539  
 21540  // This data type is used with the GameLift FleetIQ and game server groups.
 21541  //
 21542  // Additional properties, including status, that describe an EC2 instance in
 21543  // a game server group. Instance configurations are set with game server group
 21544  // properties (see DescribeGameServerGroup and with the EC2 launch template
 21545  // that was used when creating the game server group.
 21546  //
 21547  // Retrieve game server instances for a game server group by calling DescribeGameServerInstances.
 21548  //
 21549  // Related actions
 21550  //
 21551  // CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup |
 21552  // UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup
 21553  // | DescribeGameServerInstances | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html)
 21554  type GameServerInstance struct {
 21555  	_ struct{} `type:"structure"`
 21556  
 21557  	// A generated unique identifier for the game server group that includes the
 21558  	// game server instance.
 21559  	GameServerGroupArn *string `min:"1" type:"string"`
 21560  
 21561  	// A developer-defined identifier for the game server group that includes the
 21562  	// game server instance. The name is unique for each Region in each AWS account.
 21563  	GameServerGroupName *string `min:"1" type:"string"`
 21564  
 21565  	// The unique identifier for the instance where the game server is running.
 21566  	// This ID is available in the instance metadata. EC2 instance IDs use a 17-character
 21567  	// format, for example: i-1234567890abcdef0.
 21568  	InstanceId *string `min:"19" type:"string"`
 21569  
 21570  	// Current status of the game server instance.
 21571  	//
 21572  	//    * ACTIVE -- The instance is viable for hosting game servers.
 21573  	//
 21574  	//    * DRAINING -- The instance is not viable for hosting game servers. Existing
 21575  	//    game servers are in the process of ending, and new game servers are not
 21576  	//    started on this instance unless no other resources are available. When
 21577  	//    the instance is put in DRAINING, a new instance is started up to replace
 21578  	//    it. Once the instance has no UTILIZED game servers, it will be terminated
 21579  	//    in favor of the new instance.
 21580  	//
 21581  	//    * SPOT_TERMINATING -- The instance is in the process of shutting down
 21582  	//    due to a Spot instance interruption. No new game servers are started on
 21583  	//    this instance.
 21584  	InstanceStatus *string `type:"string" enum:"GameServerInstanceStatus"`
 21585  }
 21586  
 21587  // String returns the string representation.
 21588  //
 21589  // API parameter values that are decorated as "sensitive" in the API will not
 21590  // be included in the string output. The member name will be present, but the
 21591  // value will be replaced with "sensitive".
 21592  func (s GameServerInstance) String() string {
 21593  	return awsutil.Prettify(s)
 21594  }
 21595  
 21596  // GoString returns the string representation.
 21597  //
 21598  // API parameter values that are decorated as "sensitive" in the API will not
 21599  // be included in the string output. The member name will be present, but the
 21600  // value will be replaced with "sensitive".
 21601  func (s GameServerInstance) GoString() string {
 21602  	return s.String()
 21603  }
 21604  
 21605  // SetGameServerGroupArn sets the GameServerGroupArn field's value.
 21606  func (s *GameServerInstance) SetGameServerGroupArn(v string) *GameServerInstance {
 21607  	s.GameServerGroupArn = &v
 21608  	return s
 21609  }
 21610  
 21611  // SetGameServerGroupName sets the GameServerGroupName field's value.
 21612  func (s *GameServerInstance) SetGameServerGroupName(v string) *GameServerInstance {
 21613  	s.GameServerGroupName = &v
 21614  	return s
 21615  }
 21616  
 21617  // SetInstanceId sets the InstanceId field's value.
 21618  func (s *GameServerInstance) SetInstanceId(v string) *GameServerInstance {
 21619  	s.InstanceId = &v
 21620  	return s
 21621  }
 21622  
 21623  // SetInstanceStatus sets the InstanceStatus field's value.
 21624  func (s *GameServerInstance) SetInstanceStatus(v string) *GameServerInstance {
 21625  	s.InstanceStatus = &v
 21626  	return s
 21627  }
 21628  
 21629  // Properties describing a game session.
 21630  //
 21631  // A game session in ACTIVE status can host players. When a game session ends,
 21632  // its status is set to TERMINATED.
 21633  //
 21634  // Once the session ends, the game session object is retained for 30 days. This
 21635  // means you can reuse idempotency token values after this time. Game session
 21636  // logs are retained for 14 days.
 21637  //
 21638  // Related actions
 21639  //
 21640  // CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions
 21641  // | UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement |
 21642  // DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
 21643  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 21644  type GameSession struct {
 21645  	_ struct{} `type:"structure"`
 21646  
 21647  	// A time stamp indicating when this data object was created. Format is a number
 21648  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 21649  	CreationTime *time.Time `type:"timestamp"`
 21650  
 21651  	// A unique identifier for a player. This ID is used to enforce a resource protection
 21652  	// policy (if one exists), that limits the number of game sessions a player
 21653  	// can create.
 21654  	CreatorId *string `min:"1" type:"string"`
 21655  
 21656  	// Number of players currently in the game session.
 21657  	CurrentPlayerSessionCount *int64 `type:"integer"`
 21658  
 21659  	// The DNS identifier assigned to the instance that is running the game session.
 21660  	// Values have the following format:
 21661  	//
 21662  	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
 21663  	//
 21664  	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
 21665  	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
 21666  	//
 21667  	// When connecting to a game session that is running on a TLS-enabled fleet,
 21668  	// you must use the DNS name, not the IP address.
 21669  	DnsName *string `type:"string"`
 21670  
 21671  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 21672  	// associated with the GameLift fleet that this game session is running on.
 21673  	FleetArn *string `type:"string"`
 21674  
 21675  	// A unique identifier for the fleet that the game session is running on.
 21676  	FleetId *string `type:"string"`
 21677  
 21678  	// A set of custom properties for a game session, formatted as key:value pairs.
 21679  	// These properties are passed to a game server process in the GameSession object
 21680  	// with a request to start a new game session. You can search for active game
 21681  	// sessions based on this custom data with SearchGameSessions.
 21682  	GameProperties []*GameProperty `type:"list"`
 21683  
 21684  	// A set of custom game session properties, formatted as a single string value.
 21685  	// This data is passed to a game server process in the GameSession object with
 21686  	// a request to start a new game session.
 21687  	GameSessionData *string `min:"1" type:"string"`
 21688  
 21689  	// A unique identifier for the game session. A game session ARN has the following
 21690  	// format: arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
 21691  	// or idempotency token>.
 21692  	GameSessionId *string `min:"1" type:"string"`
 21693  
 21694  	// The IP address of the game session. To connect to a GameLift game server,
 21695  	// an app needs both the IP address and port number.
 21696  	IpAddress *string `type:"string"`
 21697  
 21698  	// The fleet location where the game session is running. This value might specify
 21699  	// the fleet's home Region or a remote location. Location is expressed as an
 21700  	// AWS Region code such as us-west-2.
 21701  	Location *string `min:"1" type:"string"`
 21702  
 21703  	// Information about the matchmaking process that was used to create the game
 21704  	// session. It is in JSON syntax, formatted as a string. In addition the matchmaking
 21705  	// configuration used, it contains data on all players assigned to the match,
 21706  	// including player attributes and team assignments. For more details on matchmaker
 21707  	// data, see Match Data (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).
 21708  	// Matchmaker data is useful when requesting match backfills, and is updated
 21709  	// whenever new players are added during a successful backfill (see StartMatchBackfill).
 21710  	MatchmakerData *string `min:"1" type:"string"`
 21711  
 21712  	// The maximum number of players that can be connected simultaneously to the
 21713  	// game session.
 21714  	MaximumPlayerSessionCount *int64 `type:"integer"`
 21715  
 21716  	// A descriptive label that is associated with a game session. Session names
 21717  	// do not need to be unique.
 21718  	Name *string `min:"1" type:"string"`
 21719  
 21720  	// Indicates whether or not the game session is accepting new players.
 21721  	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
 21722  
 21723  	// The port number for the game session. To connect to a GameLift game server,
 21724  	// an app needs both the IP address and port number.
 21725  	Port *int64 `min:"1" type:"integer"`
 21726  
 21727  	// Current status of the game session. A game session must have an ACTIVE status
 21728  	// to have player sessions.
 21729  	Status *string `type:"string" enum:"GameSessionStatus"`
 21730  
 21731  	// Provides additional information about game session status. INTERRUPTED indicates
 21732  	// that the game session was hosted on a spot instance that was reclaimed, causing
 21733  	// the active game session to be terminated.
 21734  	StatusReason *string `type:"string" enum:"GameSessionStatusReason"`
 21735  
 21736  	// A time stamp indicating when this data object was terminated. Format is a
 21737  	// number expressed in Unix time as milliseconds (for example "1469498468.057").
 21738  	TerminationTime *time.Time `type:"timestamp"`
 21739  }
 21740  
 21741  // String returns the string representation.
 21742  //
 21743  // API parameter values that are decorated as "sensitive" in the API will not
 21744  // be included in the string output. The member name will be present, but the
 21745  // value will be replaced with "sensitive".
 21746  func (s GameSession) String() string {
 21747  	return awsutil.Prettify(s)
 21748  }
 21749  
 21750  // GoString returns the string representation.
 21751  //
 21752  // API parameter values that are decorated as "sensitive" in the API will not
 21753  // be included in the string output. The member name will be present, but the
 21754  // value will be replaced with "sensitive".
 21755  func (s GameSession) GoString() string {
 21756  	return s.String()
 21757  }
 21758  
 21759  // SetCreationTime sets the CreationTime field's value.
 21760  func (s *GameSession) SetCreationTime(v time.Time) *GameSession {
 21761  	s.CreationTime = &v
 21762  	return s
 21763  }
 21764  
 21765  // SetCreatorId sets the CreatorId field's value.
 21766  func (s *GameSession) SetCreatorId(v string) *GameSession {
 21767  	s.CreatorId = &v
 21768  	return s
 21769  }
 21770  
 21771  // SetCurrentPlayerSessionCount sets the CurrentPlayerSessionCount field's value.
 21772  func (s *GameSession) SetCurrentPlayerSessionCount(v int64) *GameSession {
 21773  	s.CurrentPlayerSessionCount = &v
 21774  	return s
 21775  }
 21776  
 21777  // SetDnsName sets the DnsName field's value.
 21778  func (s *GameSession) SetDnsName(v string) *GameSession {
 21779  	s.DnsName = &v
 21780  	return s
 21781  }
 21782  
 21783  // SetFleetArn sets the FleetArn field's value.
 21784  func (s *GameSession) SetFleetArn(v string) *GameSession {
 21785  	s.FleetArn = &v
 21786  	return s
 21787  }
 21788  
 21789  // SetFleetId sets the FleetId field's value.
 21790  func (s *GameSession) SetFleetId(v string) *GameSession {
 21791  	s.FleetId = &v
 21792  	return s
 21793  }
 21794  
 21795  // SetGameProperties sets the GameProperties field's value.
 21796  func (s *GameSession) SetGameProperties(v []*GameProperty) *GameSession {
 21797  	s.GameProperties = v
 21798  	return s
 21799  }
 21800  
 21801  // SetGameSessionData sets the GameSessionData field's value.
 21802  func (s *GameSession) SetGameSessionData(v string) *GameSession {
 21803  	s.GameSessionData = &v
 21804  	return s
 21805  }
 21806  
 21807  // SetGameSessionId sets the GameSessionId field's value.
 21808  func (s *GameSession) SetGameSessionId(v string) *GameSession {
 21809  	s.GameSessionId = &v
 21810  	return s
 21811  }
 21812  
 21813  // SetIpAddress sets the IpAddress field's value.
 21814  func (s *GameSession) SetIpAddress(v string) *GameSession {
 21815  	s.IpAddress = &v
 21816  	return s
 21817  }
 21818  
 21819  // SetLocation sets the Location field's value.
 21820  func (s *GameSession) SetLocation(v string) *GameSession {
 21821  	s.Location = &v
 21822  	return s
 21823  }
 21824  
 21825  // SetMatchmakerData sets the MatchmakerData field's value.
 21826  func (s *GameSession) SetMatchmakerData(v string) *GameSession {
 21827  	s.MatchmakerData = &v
 21828  	return s
 21829  }
 21830  
 21831  // SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
 21832  func (s *GameSession) SetMaximumPlayerSessionCount(v int64) *GameSession {
 21833  	s.MaximumPlayerSessionCount = &v
 21834  	return s
 21835  }
 21836  
 21837  // SetName sets the Name field's value.
 21838  func (s *GameSession) SetName(v string) *GameSession {
 21839  	s.Name = &v
 21840  	return s
 21841  }
 21842  
 21843  // SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
 21844  func (s *GameSession) SetPlayerSessionCreationPolicy(v string) *GameSession {
 21845  	s.PlayerSessionCreationPolicy = &v
 21846  	return s
 21847  }
 21848  
 21849  // SetPort sets the Port field's value.
 21850  func (s *GameSession) SetPort(v int64) *GameSession {
 21851  	s.Port = &v
 21852  	return s
 21853  }
 21854  
 21855  // SetStatus sets the Status field's value.
 21856  func (s *GameSession) SetStatus(v string) *GameSession {
 21857  	s.Status = &v
 21858  	return s
 21859  }
 21860  
 21861  // SetStatusReason sets the StatusReason field's value.
 21862  func (s *GameSession) SetStatusReason(v string) *GameSession {
 21863  	s.StatusReason = &v
 21864  	return s
 21865  }
 21866  
 21867  // SetTerminationTime sets the TerminationTime field's value.
 21868  func (s *GameSession) SetTerminationTime(v time.Time) *GameSession {
 21869  	s.TerminationTime = &v
 21870  	return s
 21871  }
 21872  
 21873  // Connection information for a new game session that is created in response
 21874  // to a StartMatchmaking request. Once a match is made, the FlexMatch engine
 21875  // creates a new game session for it. This information, including the game session
 21876  // endpoint and player sessions for each player in the original matchmaking
 21877  // request, is added to the MatchmakingTicket, which can be retrieved by calling
 21878  // DescribeMatchmaking.
 21879  type GameSessionConnectionInfo struct {
 21880  	_ struct{} `type:"structure"`
 21881  
 21882  	// The DNS identifier assigned to the instance that is running the game session.
 21883  	// Values have the following format:
 21884  	//
 21885  	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
 21886  	//
 21887  	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
 21888  	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
 21889  	//
 21890  	// When connecting to a game session that is running on a TLS-enabled fleet,
 21891  	// you must use the DNS name, not the IP address.
 21892  	DnsName *string `type:"string"`
 21893  
 21894  	// A unique identifier for the game session. Use the game session ID.
 21895  	GameSessionArn *string `min:"1" type:"string"`
 21896  
 21897  	// The IP address of the game session. To connect to a GameLift game server,
 21898  	// an app needs both the IP address and port number.
 21899  	IpAddress *string `type:"string"`
 21900  
 21901  	// A collection of player session IDs, one for each player ID that was included
 21902  	// in the original matchmaking request.
 21903  	MatchedPlayerSessions []*MatchedPlayerSession `type:"list"`
 21904  
 21905  	// The port number for the game session. To connect to a GameLift game server,
 21906  	// an app needs both the IP address and port number.
 21907  	Port *int64 `min:"1" type:"integer"`
 21908  }
 21909  
 21910  // String returns the string representation.
 21911  //
 21912  // API parameter values that are decorated as "sensitive" in the API will not
 21913  // be included in the string output. The member name will be present, but the
 21914  // value will be replaced with "sensitive".
 21915  func (s GameSessionConnectionInfo) String() string {
 21916  	return awsutil.Prettify(s)
 21917  }
 21918  
 21919  // GoString returns the string representation.
 21920  //
 21921  // API parameter values that are decorated as "sensitive" in the API will not
 21922  // be included in the string output. The member name will be present, but the
 21923  // value will be replaced with "sensitive".
 21924  func (s GameSessionConnectionInfo) GoString() string {
 21925  	return s.String()
 21926  }
 21927  
 21928  // SetDnsName sets the DnsName field's value.
 21929  func (s *GameSessionConnectionInfo) SetDnsName(v string) *GameSessionConnectionInfo {
 21930  	s.DnsName = &v
 21931  	return s
 21932  }
 21933  
 21934  // SetGameSessionArn sets the GameSessionArn field's value.
 21935  func (s *GameSessionConnectionInfo) SetGameSessionArn(v string) *GameSessionConnectionInfo {
 21936  	s.GameSessionArn = &v
 21937  	return s
 21938  }
 21939  
 21940  // SetIpAddress sets the IpAddress field's value.
 21941  func (s *GameSessionConnectionInfo) SetIpAddress(v string) *GameSessionConnectionInfo {
 21942  	s.IpAddress = &v
 21943  	return s
 21944  }
 21945  
 21946  // SetMatchedPlayerSessions sets the MatchedPlayerSessions field's value.
 21947  func (s *GameSessionConnectionInfo) SetMatchedPlayerSessions(v []*MatchedPlayerSession) *GameSessionConnectionInfo {
 21948  	s.MatchedPlayerSessions = v
 21949  	return s
 21950  }
 21951  
 21952  // SetPort sets the Port field's value.
 21953  func (s *GameSessionConnectionInfo) SetPort(v int64) *GameSessionConnectionInfo {
 21954  	s.Port = &v
 21955  	return s
 21956  }
 21957  
 21958  // A game session's properties plus the protection policy currently in force.
 21959  type GameSessionDetail struct {
 21960  	_ struct{} `type:"structure"`
 21961  
 21962  	// Object that describes a game session.
 21963  	GameSession *GameSession `type:"structure"`
 21964  
 21965  	// Current status of protection for the game session.
 21966  	//
 21967  	//    * NoProtection -- The game session can be terminated during a scale-down
 21968  	//    event.
 21969  	//
 21970  	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
 21971  	//    be terminated during a scale-down event.
 21972  	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
 21973  }
 21974  
 21975  // String returns the string representation.
 21976  //
 21977  // API parameter values that are decorated as "sensitive" in the API will not
 21978  // be included in the string output. The member name will be present, but the
 21979  // value will be replaced with "sensitive".
 21980  func (s GameSessionDetail) String() string {
 21981  	return awsutil.Prettify(s)
 21982  }
 21983  
 21984  // GoString returns the string representation.
 21985  //
 21986  // API parameter values that are decorated as "sensitive" in the API will not
 21987  // be included in the string output. The member name will be present, but the
 21988  // value will be replaced with "sensitive".
 21989  func (s GameSessionDetail) GoString() string {
 21990  	return s.String()
 21991  }
 21992  
 21993  // SetGameSession sets the GameSession field's value.
 21994  func (s *GameSessionDetail) SetGameSession(v *GameSession) *GameSessionDetail {
 21995  	s.GameSession = v
 21996  	return s
 21997  }
 21998  
 21999  // SetProtectionPolicy sets the ProtectionPolicy field's value.
 22000  func (s *GameSessionDetail) SetProtectionPolicy(v string) *GameSessionDetail {
 22001  	s.ProtectionPolicy = &v
 22002  	return s
 22003  }
 22004  
 22005  // The game instance is currently full and cannot allow the requested player(s)
 22006  // to join. Clients can retry such requests immediately or after a waiting period.
 22007  type GameSessionFullException struct {
 22008  	_            struct{}                  `type:"structure"`
 22009  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22010  
 22011  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 22012  }
 22013  
 22014  // String returns the string representation.
 22015  //
 22016  // API parameter values that are decorated as "sensitive" in the API will not
 22017  // be included in the string output. The member name will be present, but the
 22018  // value will be replaced with "sensitive".
 22019  func (s GameSessionFullException) String() string {
 22020  	return awsutil.Prettify(s)
 22021  }
 22022  
 22023  // GoString 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".
 22028  func (s GameSessionFullException) GoString() string {
 22029  	return s.String()
 22030  }
 22031  
 22032  func newErrorGameSessionFullException(v protocol.ResponseMetadata) error {
 22033  	return &GameSessionFullException{
 22034  		RespMetadata: v,
 22035  	}
 22036  }
 22037  
 22038  // Code returns the exception type name.
 22039  func (s *GameSessionFullException) Code() string {
 22040  	return "GameSessionFullException"
 22041  }
 22042  
 22043  // Message returns the exception's message.
 22044  func (s *GameSessionFullException) Message() string {
 22045  	if s.Message_ != nil {
 22046  		return *s.Message_
 22047  	}
 22048  	return ""
 22049  }
 22050  
 22051  // OrigErr always returns nil, satisfies awserr.Error interface.
 22052  func (s *GameSessionFullException) OrigErr() error {
 22053  	return nil
 22054  }
 22055  
 22056  func (s *GameSessionFullException) Error() string {
 22057  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22058  }
 22059  
 22060  // Status code returns the HTTP status code for the request's response error.
 22061  func (s *GameSessionFullException) StatusCode() int {
 22062  	return s.RespMetadata.StatusCode
 22063  }
 22064  
 22065  // RequestID returns the service's response RequestID for request.
 22066  func (s *GameSessionFullException) RequestID() string {
 22067  	return s.RespMetadata.RequestID
 22068  }
 22069  
 22070  // Object that describes a StartGameSessionPlacement request. This object includes
 22071  // the full details of the original request plus the current status and start/end
 22072  // time stamps.
 22073  //
 22074  // Game session placement-related operations include:
 22075  //
 22076  //    * StartGameSessionPlacement
 22077  //
 22078  //    * DescribeGameSessionPlacement
 22079  //
 22080  //    * StopGameSessionPlacement
 22081  type GameSessionPlacement struct {
 22082  	_ struct{} `type:"structure"`
 22083  
 22084  	// The DNS identifier assigned to the instance that is running the game session.
 22085  	// Values have the following format:
 22086  	//
 22087  	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
 22088  	//
 22089  	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
 22090  	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
 22091  	//
 22092  	// When connecting to a game session that is running on a TLS-enabled fleet,
 22093  	// you must use the DNS name, not the IP address.
 22094  	DnsName *string `type:"string"`
 22095  
 22096  	// Time stamp indicating when this request was completed, canceled, or timed
 22097  	// out.
 22098  	EndTime *time.Time `type:"timestamp"`
 22099  
 22100  	// A set of custom properties for a game session, formatted as key:value pairs.
 22101  	// These properties are passed to a game server process in the GameSession object
 22102  	// 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)).
 22103  	GameProperties []*GameProperty `type:"list"`
 22104  
 22105  	// Identifier for the game session created by this placement request. This value
 22106  	// is set once the new game session is placed (placement status is FULFILLED).
 22107  	// This identifier is unique across all Regions. You can use this value as a
 22108  	// GameSessionId value as needed.
 22109  	GameSessionArn *string `min:"1" type:"string"`
 22110  
 22111  	// A set of custom game session properties, formatted as a single string value.
 22112  	// This data is passed to a game server process in the GameSession object with
 22113  	// 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)).
 22114  	GameSessionData *string `min:"1" type:"string"`
 22115  
 22116  	// A unique identifier for the game session. This value is set once the new
 22117  	// game session is placed (placement status is FULFILLED).
 22118  	GameSessionId *string `min:"1" type:"string"`
 22119  
 22120  	// A descriptive label that is associated with a game session. Session names
 22121  	// do not need to be unique.
 22122  	GameSessionName *string `min:"1" type:"string"`
 22123  
 22124  	// A descriptive label that is associated with game session queue. Queue names
 22125  	// must be unique within each Region.
 22126  	GameSessionQueueName *string `min:"1" type:"string"`
 22127  
 22128  	// Name of the Region where the game session created by this placement request
 22129  	// is running. This value is set once the new game session is placed (placement
 22130  	// status is FULFILLED).
 22131  	GameSessionRegion *string `min:"1" type:"string"`
 22132  
 22133  	// The IP address of the game session. To connect to a GameLift game server,
 22134  	// an app needs both the IP address and port number. This value is set once
 22135  	// the new game session is placed (placement status is FULFILLED).
 22136  	IpAddress *string `type:"string"`
 22137  
 22138  	// Information on the matchmaking process for this game. Data is in JSON syntax,
 22139  	// formatted as a string. It identifies the matchmaking configuration used to
 22140  	// create the match, and contains data on all players assigned to the match,
 22141  	// including player attributes and team assignments. For more details on matchmaker
 22142  	// data, see Match Data (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data).
 22143  	MatchmakerData *string `min:"1" type:"string"`
 22144  
 22145  	// The maximum number of players that can be connected simultaneously to the
 22146  	// game session.
 22147  	MaximumPlayerSessionCount *int64 `type:"integer"`
 22148  
 22149  	// A collection of information on player sessions created in response to the
 22150  	// game session placement request. These player sessions are created only once
 22151  	// a new game session is successfully placed (placement status is FULFILLED).
 22152  	// This information includes the player ID (as provided in the placement request)
 22153  	// and the corresponding player session ID. Retrieve full player sessions by
 22154  	// calling DescribePlayerSessions with the player session ID.
 22155  	PlacedPlayerSessions []*PlacedPlayerSession `type:"list"`
 22156  
 22157  	// A unique identifier for a game session placement.
 22158  	PlacementId *string `min:"1" type:"string"`
 22159  
 22160  	// A set of values, expressed in milliseconds, that indicates the amount of
 22161  	// latency that a player experiences when connected to AWS Regions.
 22162  	PlayerLatencies []*PlayerLatency `type:"list"`
 22163  
 22164  	// The port number for the game session. To connect to a GameLift game server,
 22165  	// an app needs both the IP address and port number. This value is set once
 22166  	// the new game session is placed (placement status is FULFILLED).
 22167  	Port *int64 `min:"1" type:"integer"`
 22168  
 22169  	// Time stamp indicating when this request was placed in the queue. Format is
 22170  	// a number expressed in Unix time as milliseconds (for example "1469498468.057").
 22171  	StartTime *time.Time `type:"timestamp"`
 22172  
 22173  	// Current status of the game session placement request.
 22174  	//
 22175  	//    * PENDING -- The placement request is currently in the queue waiting to
 22176  	//    be processed.
 22177  	//
 22178  	//    * FULFILLED -- A new game session and player sessions (if requested) have
 22179  	//    been successfully created. Values for GameSessionArn and GameSessionRegion
 22180  	//    are available.
 22181  	//
 22182  	//    * CANCELLED -- The placement request was canceled with a call to StopGameSessionPlacement.
 22183  	//
 22184  	//    * TIMED_OUT -- A new game session was not successfully created before
 22185  	//    the time limit expired. You can resubmit the placement request as needed.
 22186  	//
 22187  	//    * FAILED -- GameLift is not able to complete the process of placing the
 22188  	//    game session. Common reasons are the game session terminated before the
 22189  	//    placement process was completed, or an unexpected internal error.
 22190  	Status *string `type:"string" enum:"GameSessionPlacementState"`
 22191  }
 22192  
 22193  // String returns the string representation.
 22194  //
 22195  // API parameter values that are decorated as "sensitive" in the API will not
 22196  // be included in the string output. The member name will be present, but the
 22197  // value will be replaced with "sensitive".
 22198  func (s GameSessionPlacement) String() string {
 22199  	return awsutil.Prettify(s)
 22200  }
 22201  
 22202  // GoString returns the string representation.
 22203  //
 22204  // API parameter values that are decorated as "sensitive" in the API will not
 22205  // be included in the string output. The member name will be present, but the
 22206  // value will be replaced with "sensitive".
 22207  func (s GameSessionPlacement) GoString() string {
 22208  	return s.String()
 22209  }
 22210  
 22211  // SetDnsName sets the DnsName field's value.
 22212  func (s *GameSessionPlacement) SetDnsName(v string) *GameSessionPlacement {
 22213  	s.DnsName = &v
 22214  	return s
 22215  }
 22216  
 22217  // SetEndTime sets the EndTime field's value.
 22218  func (s *GameSessionPlacement) SetEndTime(v time.Time) *GameSessionPlacement {
 22219  	s.EndTime = &v
 22220  	return s
 22221  }
 22222  
 22223  // SetGameProperties sets the GameProperties field's value.
 22224  func (s *GameSessionPlacement) SetGameProperties(v []*GameProperty) *GameSessionPlacement {
 22225  	s.GameProperties = v
 22226  	return s
 22227  }
 22228  
 22229  // SetGameSessionArn sets the GameSessionArn field's value.
 22230  func (s *GameSessionPlacement) SetGameSessionArn(v string) *GameSessionPlacement {
 22231  	s.GameSessionArn = &v
 22232  	return s
 22233  }
 22234  
 22235  // SetGameSessionData sets the GameSessionData field's value.
 22236  func (s *GameSessionPlacement) SetGameSessionData(v string) *GameSessionPlacement {
 22237  	s.GameSessionData = &v
 22238  	return s
 22239  }
 22240  
 22241  // SetGameSessionId sets the GameSessionId field's value.
 22242  func (s *GameSessionPlacement) SetGameSessionId(v string) *GameSessionPlacement {
 22243  	s.GameSessionId = &v
 22244  	return s
 22245  }
 22246  
 22247  // SetGameSessionName sets the GameSessionName field's value.
 22248  func (s *GameSessionPlacement) SetGameSessionName(v string) *GameSessionPlacement {
 22249  	s.GameSessionName = &v
 22250  	return s
 22251  }
 22252  
 22253  // SetGameSessionQueueName sets the GameSessionQueueName field's value.
 22254  func (s *GameSessionPlacement) SetGameSessionQueueName(v string) *GameSessionPlacement {
 22255  	s.GameSessionQueueName = &v
 22256  	return s
 22257  }
 22258  
 22259  // SetGameSessionRegion sets the GameSessionRegion field's value.
 22260  func (s *GameSessionPlacement) SetGameSessionRegion(v string) *GameSessionPlacement {
 22261  	s.GameSessionRegion = &v
 22262  	return s
 22263  }
 22264  
 22265  // SetIpAddress sets the IpAddress field's value.
 22266  func (s *GameSessionPlacement) SetIpAddress(v string) *GameSessionPlacement {
 22267  	s.IpAddress = &v
 22268  	return s
 22269  }
 22270  
 22271  // SetMatchmakerData sets the MatchmakerData field's value.
 22272  func (s *GameSessionPlacement) SetMatchmakerData(v string) *GameSessionPlacement {
 22273  	s.MatchmakerData = &v
 22274  	return s
 22275  }
 22276  
 22277  // SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
 22278  func (s *GameSessionPlacement) SetMaximumPlayerSessionCount(v int64) *GameSessionPlacement {
 22279  	s.MaximumPlayerSessionCount = &v
 22280  	return s
 22281  }
 22282  
 22283  // SetPlacedPlayerSessions sets the PlacedPlayerSessions field's value.
 22284  func (s *GameSessionPlacement) SetPlacedPlayerSessions(v []*PlacedPlayerSession) *GameSessionPlacement {
 22285  	s.PlacedPlayerSessions = v
 22286  	return s
 22287  }
 22288  
 22289  // SetPlacementId sets the PlacementId field's value.
 22290  func (s *GameSessionPlacement) SetPlacementId(v string) *GameSessionPlacement {
 22291  	s.PlacementId = &v
 22292  	return s
 22293  }
 22294  
 22295  // SetPlayerLatencies sets the PlayerLatencies field's value.
 22296  func (s *GameSessionPlacement) SetPlayerLatencies(v []*PlayerLatency) *GameSessionPlacement {
 22297  	s.PlayerLatencies = v
 22298  	return s
 22299  }
 22300  
 22301  // SetPort sets the Port field's value.
 22302  func (s *GameSessionPlacement) SetPort(v int64) *GameSessionPlacement {
 22303  	s.Port = &v
 22304  	return s
 22305  }
 22306  
 22307  // SetStartTime sets the StartTime field's value.
 22308  func (s *GameSessionPlacement) SetStartTime(v time.Time) *GameSessionPlacement {
 22309  	s.StartTime = &v
 22310  	return s
 22311  }
 22312  
 22313  // SetStatus sets the Status field's value.
 22314  func (s *GameSessionPlacement) SetStatus(v string) *GameSessionPlacement {
 22315  	s.Status = &v
 22316  	return s
 22317  }
 22318  
 22319  // Configuration for a game session placement mechanism that processes requests
 22320  // for new game sessions. A queue can be used on its own or as part of a matchmaking
 22321  // solution.
 22322  //
 22323  // Related actions
 22324  //
 22325  // CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue
 22326  type GameSessionQueue struct {
 22327  	_ struct{} `type:"structure"`
 22328  
 22329  	// Information that is added to all events that are related to this game session
 22330  	// queue.
 22331  	CustomEventData *string `type:"string"`
 22332  
 22333  	// A list of fleets and/or fleet aliases that can be used to fulfill game session
 22334  	// placement requests in the queue. Destinations are identified by either a
 22335  	// fleet ARN or a fleet alias ARN, and are listed in order of placement preference.
 22336  	Destinations []*GameSessionQueueDestination `type:"list"`
 22337  
 22338  	// A list of locations where a queue is allowed to place new game sessions.
 22339  	// Locations are specified in the form of AWS Region codes, such as us-west-2.
 22340  	// If this parameter is not set, game sessions can be placed in any queue location.
 22341  	FilterConfiguration *FilterConfiguration `type:"structure"`
 22342  
 22343  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 22344  	// that is assigned to a GameLift game session queue resource and uniquely identifies
 22345  	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
 22346  	// name>. In a GameLift game session queue ARN, the resource ID matches the
 22347  	// Name value.
 22348  	GameSessionQueueArn *string `min:"1" type:"string"`
 22349  
 22350  	// A descriptive label that is associated with game session queue. Queue names
 22351  	// must be unique within each Region.
 22352  	Name *string `min:"1" type:"string"`
 22353  
 22354  	// An SNS topic ARN that is set up to receive game session placement notifications.
 22355  	// See Setting up notifications for game session placement (https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html).
 22356  	NotificationTarget *string `type:"string"`
 22357  
 22358  	// A set of policies that act as a sliding cap on player latency. FleetIQ works
 22359  	// to deliver low latency for most players in a game session. These policies
 22360  	// ensure that no individual player can be placed into a game with unreasonably
 22361  	// high latency. Use multiple policies to gradually relax latency requirements
 22362  	// a step at a time. Multiple policies are applied based on their maximum allowed
 22363  	// latency, starting with the lowest value.
 22364  	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
 22365  
 22366  	// Custom settings to use when prioritizing destinations and locations for game
 22367  	// session placements. This configuration replaces the FleetIQ default prioritization
 22368  	// process. Priority types that are not explicitly named will be automatically
 22369  	// applied at the end of the prioritization process.
 22370  	PriorityConfiguration *PriorityConfiguration `type:"structure"`
 22371  
 22372  	// The maximum time, in seconds, that a new game session placement request remains
 22373  	// in the queue. When a request exceeds this time, the game session placement
 22374  	// changes to a TIMED_OUT status.
 22375  	TimeoutInSeconds *int64 `type:"integer"`
 22376  }
 22377  
 22378  // String returns the string representation.
 22379  //
 22380  // API parameter values that are decorated as "sensitive" in the API will not
 22381  // be included in the string output. The member name will be present, but the
 22382  // value will be replaced with "sensitive".
 22383  func (s GameSessionQueue) String() string {
 22384  	return awsutil.Prettify(s)
 22385  }
 22386  
 22387  // GoString returns the string representation.
 22388  //
 22389  // API parameter values that are decorated as "sensitive" in the API will not
 22390  // be included in the string output. The member name will be present, but the
 22391  // value will be replaced with "sensitive".
 22392  func (s GameSessionQueue) GoString() string {
 22393  	return s.String()
 22394  }
 22395  
 22396  // SetCustomEventData sets the CustomEventData field's value.
 22397  func (s *GameSessionQueue) SetCustomEventData(v string) *GameSessionQueue {
 22398  	s.CustomEventData = &v
 22399  	return s
 22400  }
 22401  
 22402  // SetDestinations sets the Destinations field's value.
 22403  func (s *GameSessionQueue) SetDestinations(v []*GameSessionQueueDestination) *GameSessionQueue {
 22404  	s.Destinations = v
 22405  	return s
 22406  }
 22407  
 22408  // SetFilterConfiguration sets the FilterConfiguration field's value.
 22409  func (s *GameSessionQueue) SetFilterConfiguration(v *FilterConfiguration) *GameSessionQueue {
 22410  	s.FilterConfiguration = v
 22411  	return s
 22412  }
 22413  
 22414  // SetGameSessionQueueArn sets the GameSessionQueueArn field's value.
 22415  func (s *GameSessionQueue) SetGameSessionQueueArn(v string) *GameSessionQueue {
 22416  	s.GameSessionQueueArn = &v
 22417  	return s
 22418  }
 22419  
 22420  // SetName sets the Name field's value.
 22421  func (s *GameSessionQueue) SetName(v string) *GameSessionQueue {
 22422  	s.Name = &v
 22423  	return s
 22424  }
 22425  
 22426  // SetNotificationTarget sets the NotificationTarget field's value.
 22427  func (s *GameSessionQueue) SetNotificationTarget(v string) *GameSessionQueue {
 22428  	s.NotificationTarget = &v
 22429  	return s
 22430  }
 22431  
 22432  // SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
 22433  func (s *GameSessionQueue) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *GameSessionQueue {
 22434  	s.PlayerLatencyPolicies = v
 22435  	return s
 22436  }
 22437  
 22438  // SetPriorityConfiguration sets the PriorityConfiguration field's value.
 22439  func (s *GameSessionQueue) SetPriorityConfiguration(v *PriorityConfiguration) *GameSessionQueue {
 22440  	s.PriorityConfiguration = v
 22441  	return s
 22442  }
 22443  
 22444  // SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
 22445  func (s *GameSessionQueue) SetTimeoutInSeconds(v int64) *GameSessionQueue {
 22446  	s.TimeoutInSeconds = &v
 22447  	return s
 22448  }
 22449  
 22450  // A fleet or alias designated in a game session queue. Queues fulfill requests
 22451  // for new game sessions by placing a new game session on any of the queue's
 22452  // destinations.
 22453  //
 22454  // Destinations are part of a GameSessionQueue.
 22455  type GameSessionQueueDestination struct {
 22456  	_ struct{} `type:"structure"`
 22457  
 22458  	// The Amazon Resource Name (ARN) that is assigned to fleet or fleet alias.
 22459  	// ARNs, which include a fleet ID or alias ID and a Region name, provide a unique
 22460  	// identifier across all Regions.
 22461  	DestinationArn *string `min:"1" type:"string"`
 22462  }
 22463  
 22464  // String returns the string representation.
 22465  //
 22466  // API parameter values that are decorated as "sensitive" in the API will not
 22467  // be included in the string output. The member name will be present, but the
 22468  // value will be replaced with "sensitive".
 22469  func (s GameSessionQueueDestination) String() string {
 22470  	return awsutil.Prettify(s)
 22471  }
 22472  
 22473  // GoString returns the string representation.
 22474  //
 22475  // API parameter values that are decorated as "sensitive" in the API will not
 22476  // be included in the string output. The member name will be present, but the
 22477  // value will be replaced with "sensitive".
 22478  func (s GameSessionQueueDestination) GoString() string {
 22479  	return s.String()
 22480  }
 22481  
 22482  // Validate inspects the fields of the type to determine if they are valid.
 22483  func (s *GameSessionQueueDestination) Validate() error {
 22484  	invalidParams := request.ErrInvalidParams{Context: "GameSessionQueueDestination"}
 22485  	if s.DestinationArn != nil && len(*s.DestinationArn) < 1 {
 22486  		invalidParams.Add(request.NewErrParamMinLen("DestinationArn", 1))
 22487  	}
 22488  
 22489  	if invalidParams.Len() > 0 {
 22490  		return invalidParams
 22491  	}
 22492  	return nil
 22493  }
 22494  
 22495  // SetDestinationArn sets the DestinationArn field's value.
 22496  func (s *GameSessionQueueDestination) SetDestinationArn(v string) *GameSessionQueueDestination {
 22497  	s.DestinationArn = &v
 22498  	return s
 22499  }
 22500  
 22501  // Represents the input for a request operation.
 22502  type GetGameSessionLogUrlInput struct {
 22503  	_ struct{} `type:"structure"`
 22504  
 22505  	// A unique identifier for the game session to get logs for.
 22506  	//
 22507  	// GameSessionId is a required field
 22508  	GameSessionId *string `min:"1" type:"string" required:"true"`
 22509  }
 22510  
 22511  // String returns the string representation.
 22512  //
 22513  // API parameter values that are decorated as "sensitive" in the API will not
 22514  // be included in the string output. The member name will be present, but the
 22515  // value will be replaced with "sensitive".
 22516  func (s GetGameSessionLogUrlInput) String() string {
 22517  	return awsutil.Prettify(s)
 22518  }
 22519  
 22520  // GoString returns the string representation.
 22521  //
 22522  // API parameter values that are decorated as "sensitive" in the API will not
 22523  // be included in the string output. The member name will be present, but the
 22524  // value will be replaced with "sensitive".
 22525  func (s GetGameSessionLogUrlInput) GoString() string {
 22526  	return s.String()
 22527  }
 22528  
 22529  // Validate inspects the fields of the type to determine if they are valid.
 22530  func (s *GetGameSessionLogUrlInput) Validate() error {
 22531  	invalidParams := request.ErrInvalidParams{Context: "GetGameSessionLogUrlInput"}
 22532  	if s.GameSessionId == nil {
 22533  		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
 22534  	}
 22535  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 22536  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 22537  	}
 22538  
 22539  	if invalidParams.Len() > 0 {
 22540  		return invalidParams
 22541  	}
 22542  	return nil
 22543  }
 22544  
 22545  // SetGameSessionId sets the GameSessionId field's value.
 22546  func (s *GetGameSessionLogUrlInput) SetGameSessionId(v string) *GetGameSessionLogUrlInput {
 22547  	s.GameSessionId = &v
 22548  	return s
 22549  }
 22550  
 22551  // Represents the returned data in response to a request operation.
 22552  type GetGameSessionLogUrlOutput struct {
 22553  	_ struct{} `type:"structure"`
 22554  
 22555  	// Location of the requested game session logs, available for download. This
 22556  	// URL is valid for 15 minutes, after which S3 will reject any download request
 22557  	// using this URL. You can request a new URL any time within the 14-day period
 22558  	// that the logs are retained.
 22559  	PreSignedUrl *string `min:"1" type:"string"`
 22560  }
 22561  
 22562  // String returns the string representation.
 22563  //
 22564  // API parameter values that are decorated as "sensitive" in the API will not
 22565  // be included in the string output. The member name will be present, but the
 22566  // value will be replaced with "sensitive".
 22567  func (s GetGameSessionLogUrlOutput) String() string {
 22568  	return awsutil.Prettify(s)
 22569  }
 22570  
 22571  // GoString returns the string representation.
 22572  //
 22573  // API parameter values that are decorated as "sensitive" in the API will not
 22574  // be included in the string output. The member name will be present, but the
 22575  // value will be replaced with "sensitive".
 22576  func (s GetGameSessionLogUrlOutput) GoString() string {
 22577  	return s.String()
 22578  }
 22579  
 22580  // SetPreSignedUrl sets the PreSignedUrl field's value.
 22581  func (s *GetGameSessionLogUrlOutput) SetPreSignedUrl(v string) *GetGameSessionLogUrlOutput {
 22582  	s.PreSignedUrl = &v
 22583  	return s
 22584  }
 22585  
 22586  // Represents the input for a request operation.
 22587  type GetInstanceAccessInput struct {
 22588  	_ struct{} `type:"structure"`
 22589  
 22590  	// A unique identifier for the fleet that contains the instance you want access
 22591  	// to. You can use either the fleet ID or ARN value. The fleet can be in any
 22592  	// of the following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR
 22593  	// status may be accessible for a short time before they are deleted.
 22594  	//
 22595  	// FleetId is a required field
 22596  	FleetId *string `type:"string" required:"true"`
 22597  
 22598  	// A unique identifier for the instance you want to get access to. You can access
 22599  	// an instance in any status.
 22600  	//
 22601  	// InstanceId is a required field
 22602  	InstanceId *string `type:"string" required:"true"`
 22603  }
 22604  
 22605  // String returns the string representation.
 22606  //
 22607  // API parameter values that are decorated as "sensitive" in the API will not
 22608  // be included in the string output. The member name will be present, but the
 22609  // value will be replaced with "sensitive".
 22610  func (s GetInstanceAccessInput) String() string {
 22611  	return awsutil.Prettify(s)
 22612  }
 22613  
 22614  // GoString returns the string representation.
 22615  //
 22616  // API parameter values that are decorated as "sensitive" in the API will not
 22617  // be included in the string output. The member name will be present, but the
 22618  // value will be replaced with "sensitive".
 22619  func (s GetInstanceAccessInput) GoString() string {
 22620  	return s.String()
 22621  }
 22622  
 22623  // Validate inspects the fields of the type to determine if they are valid.
 22624  func (s *GetInstanceAccessInput) Validate() error {
 22625  	invalidParams := request.ErrInvalidParams{Context: "GetInstanceAccessInput"}
 22626  	if s.FleetId == nil {
 22627  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 22628  	}
 22629  	if s.InstanceId == nil {
 22630  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 22631  	}
 22632  
 22633  	if invalidParams.Len() > 0 {
 22634  		return invalidParams
 22635  	}
 22636  	return nil
 22637  }
 22638  
 22639  // SetFleetId sets the FleetId field's value.
 22640  func (s *GetInstanceAccessInput) SetFleetId(v string) *GetInstanceAccessInput {
 22641  	s.FleetId = &v
 22642  	return s
 22643  }
 22644  
 22645  // SetInstanceId sets the InstanceId field's value.
 22646  func (s *GetInstanceAccessInput) SetInstanceId(v string) *GetInstanceAccessInput {
 22647  	s.InstanceId = &v
 22648  	return s
 22649  }
 22650  
 22651  // Represents the returned data in response to a request operation.
 22652  type GetInstanceAccessOutput struct {
 22653  	_ struct{} `type:"structure"`
 22654  
 22655  	// The connection information for a fleet instance, including IP address and
 22656  	// access credentials.
 22657  	InstanceAccess *InstanceAccess `type:"structure"`
 22658  }
 22659  
 22660  // String returns the string representation.
 22661  //
 22662  // API parameter values that are decorated as "sensitive" in the API will not
 22663  // be included in the string output. The member name will be present, but the
 22664  // value will be replaced with "sensitive".
 22665  func (s GetInstanceAccessOutput) String() string {
 22666  	return awsutil.Prettify(s)
 22667  }
 22668  
 22669  // GoString returns the string representation.
 22670  //
 22671  // API parameter values that are decorated as "sensitive" in the API will not
 22672  // be included in the string output. The member name will be present, but the
 22673  // value will be replaced with "sensitive".
 22674  func (s GetInstanceAccessOutput) GoString() string {
 22675  	return s.String()
 22676  }
 22677  
 22678  // SetInstanceAccess sets the InstanceAccess field's value.
 22679  func (s *GetInstanceAccessOutput) SetInstanceAccess(v *InstanceAccess) *GetInstanceAccessOutput {
 22680  	s.InstanceAccess = v
 22681  	return s
 22682  }
 22683  
 22684  // A game session with this custom ID string already exists in this fleet. Resolve
 22685  // this conflict before retrying this request.
 22686  type IdempotentParameterMismatchException struct {
 22687  	_            struct{}                  `type:"structure"`
 22688  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 22689  
 22690  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 22691  }
 22692  
 22693  // String returns the string representation.
 22694  //
 22695  // API parameter values that are decorated as "sensitive" in the API will not
 22696  // be included in the string output. The member name will be present, but the
 22697  // value will be replaced with "sensitive".
 22698  func (s IdempotentParameterMismatchException) String() string {
 22699  	return awsutil.Prettify(s)
 22700  }
 22701  
 22702  // GoString returns the string representation.
 22703  //
 22704  // API parameter values that are decorated as "sensitive" in the API will not
 22705  // be included in the string output. The member name will be present, but the
 22706  // value will be replaced with "sensitive".
 22707  func (s IdempotentParameterMismatchException) GoString() string {
 22708  	return s.String()
 22709  }
 22710  
 22711  func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error {
 22712  	return &IdempotentParameterMismatchException{
 22713  		RespMetadata: v,
 22714  	}
 22715  }
 22716  
 22717  // Code returns the exception type name.
 22718  func (s *IdempotentParameterMismatchException) Code() string {
 22719  	return "IdempotentParameterMismatchException"
 22720  }
 22721  
 22722  // Message returns the exception's message.
 22723  func (s *IdempotentParameterMismatchException) Message() string {
 22724  	if s.Message_ != nil {
 22725  		return *s.Message_
 22726  	}
 22727  	return ""
 22728  }
 22729  
 22730  // OrigErr always returns nil, satisfies awserr.Error interface.
 22731  func (s *IdempotentParameterMismatchException) OrigErr() error {
 22732  	return nil
 22733  }
 22734  
 22735  func (s *IdempotentParameterMismatchException) Error() string {
 22736  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 22737  }
 22738  
 22739  // Status code returns the HTTP status code for the request's response error.
 22740  func (s *IdempotentParameterMismatchException) StatusCode() int {
 22741  	return s.RespMetadata.StatusCode
 22742  }
 22743  
 22744  // RequestID returns the service's response RequestID for request.
 22745  func (s *IdempotentParameterMismatchException) RequestID() string {
 22746  	return s.RespMetadata.RequestID
 22747  }
 22748  
 22749  // Represents an EC2 instance of virtual computing resources that hosts one
 22750  // or more game servers. In GameLift, a fleet can contain zero or more instances.
 22751  //
 22752  // Related actions
 22753  //
 22754  // DescribeInstances
 22755  type Instance struct {
 22756  	_ struct{} `type:"structure"`
 22757  
 22758  	// A time stamp indicating when this data object was created. Format is a number
 22759  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 22760  	CreationTime *time.Time `type:"timestamp"`
 22761  
 22762  	// The DNS identifier assigned to the instance that is running the game session.
 22763  	// Values have the following format:
 22764  	//
 22765  	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
 22766  	//
 22767  	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
 22768  	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
 22769  	//
 22770  	// When connecting to a game session that is running on a TLS-enabled fleet,
 22771  	// you must use the DNS name, not the IP address.
 22772  	DnsName *string `type:"string"`
 22773  
 22774  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 22775  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 22776  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 22777  	FleetArn *string `type:"string"`
 22778  
 22779  	// A unique identifier for the fleet that the instance is in.
 22780  	FleetId *string `type:"string"`
 22781  
 22782  	// A unique identifier for the instance.
 22783  	InstanceId *string `type:"string"`
 22784  
 22785  	// IP address that is assigned to the instance.
 22786  	IpAddress *string `type:"string"`
 22787  
 22788  	// The fleet location of the instance, expressed as an AWS Region code, such
 22789  	// as us-west-2.
 22790  	Location *string `min:"1" type:"string"`
 22791  
 22792  	// Operating system that is running on this instance.
 22793  	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
 22794  
 22795  	// Current status of the instance. Possible statuses include the following:
 22796  	//
 22797  	//    * PENDING -- The instance is in the process of being created and launching
 22798  	//    server processes as defined in the fleet's run-time configuration.
 22799  	//
 22800  	//    * ACTIVE -- The instance has been successfully created and at least one
 22801  	//    server process has successfully launched and reported back to GameLift
 22802  	//    that it is ready to host a game session. The instance is now considered
 22803  	//    ready to host game sessions.
 22804  	//
 22805  	//    * TERMINATING -- The instance is in the process of shutting down. This
 22806  	//    may happen to reduce capacity during a scaling down event or to recycle
 22807  	//    resources in the event of a problem.
 22808  	Status *string `type:"string" enum:"InstanceStatus"`
 22809  
 22810  	// EC2 instance type that defines the computing resources of this instance.
 22811  	Type *string `type:"string" enum:"EC2InstanceType"`
 22812  }
 22813  
 22814  // String returns the string representation.
 22815  //
 22816  // API parameter values that are decorated as "sensitive" in the API will not
 22817  // be included in the string output. The member name will be present, but the
 22818  // value will be replaced with "sensitive".
 22819  func (s Instance) String() string {
 22820  	return awsutil.Prettify(s)
 22821  }
 22822  
 22823  // GoString returns the string representation.
 22824  //
 22825  // API parameter values that are decorated as "sensitive" in the API will not
 22826  // be included in the string output. The member name will be present, but the
 22827  // value will be replaced with "sensitive".
 22828  func (s Instance) GoString() string {
 22829  	return s.String()
 22830  }
 22831  
 22832  // SetCreationTime sets the CreationTime field's value.
 22833  func (s *Instance) SetCreationTime(v time.Time) *Instance {
 22834  	s.CreationTime = &v
 22835  	return s
 22836  }
 22837  
 22838  // SetDnsName sets the DnsName field's value.
 22839  func (s *Instance) SetDnsName(v string) *Instance {
 22840  	s.DnsName = &v
 22841  	return s
 22842  }
 22843  
 22844  // SetFleetArn sets the FleetArn field's value.
 22845  func (s *Instance) SetFleetArn(v string) *Instance {
 22846  	s.FleetArn = &v
 22847  	return s
 22848  }
 22849  
 22850  // SetFleetId sets the FleetId field's value.
 22851  func (s *Instance) SetFleetId(v string) *Instance {
 22852  	s.FleetId = &v
 22853  	return s
 22854  }
 22855  
 22856  // SetInstanceId sets the InstanceId field's value.
 22857  func (s *Instance) SetInstanceId(v string) *Instance {
 22858  	s.InstanceId = &v
 22859  	return s
 22860  }
 22861  
 22862  // SetIpAddress sets the IpAddress field's value.
 22863  func (s *Instance) SetIpAddress(v string) *Instance {
 22864  	s.IpAddress = &v
 22865  	return s
 22866  }
 22867  
 22868  // SetLocation sets the Location field's value.
 22869  func (s *Instance) SetLocation(v string) *Instance {
 22870  	s.Location = &v
 22871  	return s
 22872  }
 22873  
 22874  // SetOperatingSystem sets the OperatingSystem field's value.
 22875  func (s *Instance) SetOperatingSystem(v string) *Instance {
 22876  	s.OperatingSystem = &v
 22877  	return s
 22878  }
 22879  
 22880  // SetStatus sets the Status field's value.
 22881  func (s *Instance) SetStatus(v string) *Instance {
 22882  	s.Status = &v
 22883  	return s
 22884  }
 22885  
 22886  // SetType sets the Type field's value.
 22887  func (s *Instance) SetType(v string) *Instance {
 22888  	s.Type = &v
 22889  	return s
 22890  }
 22891  
 22892  // Information required to remotely connect to a fleet instance. Access is requested
 22893  // by calling GetInstanceAccess.
 22894  type InstanceAccess struct {
 22895  	_ struct{} `type:"structure"`
 22896  
 22897  	// Credentials required to access the instance.
 22898  	//
 22899  	// Credentials is a sensitive parameter and its value will be
 22900  	// replaced with "sensitive" in string returned by InstanceAccess's
 22901  	// String and GoString methods.
 22902  	Credentials *InstanceCredentials `type:"structure" sensitive:"true"`
 22903  
 22904  	// A unique identifier for the fleet containing the instance being accessed.
 22905  	FleetId *string `type:"string"`
 22906  
 22907  	// A unique identifier for the instance being accessed.
 22908  	InstanceId *string `type:"string"`
 22909  
 22910  	// IP address that is assigned to the instance.
 22911  	IpAddress *string `type:"string"`
 22912  
 22913  	// Operating system that is running on the instance.
 22914  	OperatingSystem *string `type:"string" enum:"OperatingSystem"`
 22915  }
 22916  
 22917  // String returns the string representation.
 22918  //
 22919  // API parameter values that are decorated as "sensitive" in the API will not
 22920  // be included in the string output. The member name will be present, but the
 22921  // value will be replaced with "sensitive".
 22922  func (s InstanceAccess) String() string {
 22923  	return awsutil.Prettify(s)
 22924  }
 22925  
 22926  // GoString returns the string representation.
 22927  //
 22928  // API parameter values that are decorated as "sensitive" in the API will not
 22929  // be included in the string output. The member name will be present, but the
 22930  // value will be replaced with "sensitive".
 22931  func (s InstanceAccess) GoString() string {
 22932  	return s.String()
 22933  }
 22934  
 22935  // SetCredentials sets the Credentials field's value.
 22936  func (s *InstanceAccess) SetCredentials(v *InstanceCredentials) *InstanceAccess {
 22937  	s.Credentials = v
 22938  	return s
 22939  }
 22940  
 22941  // SetFleetId sets the FleetId field's value.
 22942  func (s *InstanceAccess) SetFleetId(v string) *InstanceAccess {
 22943  	s.FleetId = &v
 22944  	return s
 22945  }
 22946  
 22947  // SetInstanceId sets the InstanceId field's value.
 22948  func (s *InstanceAccess) SetInstanceId(v string) *InstanceAccess {
 22949  	s.InstanceId = &v
 22950  	return s
 22951  }
 22952  
 22953  // SetIpAddress sets the IpAddress field's value.
 22954  func (s *InstanceAccess) SetIpAddress(v string) *InstanceAccess {
 22955  	s.IpAddress = &v
 22956  	return s
 22957  }
 22958  
 22959  // SetOperatingSystem sets the OperatingSystem field's value.
 22960  func (s *InstanceAccess) SetOperatingSystem(v string) *InstanceAccess {
 22961  	s.OperatingSystem = &v
 22962  	return s
 22963  }
 22964  
 22965  // Set of credentials required to remotely access a fleet instance. Access credentials
 22966  // are requested by calling GetInstanceAccess and returned in an InstanceAccess
 22967  // object.
 22968  type InstanceCredentials struct {
 22969  	_ struct{} `type:"structure" sensitive:"true"`
 22970  
 22971  	// Secret string. For Windows instances, the secret is a password for use with
 22972  	// Windows Remote Desktop. For Linux instances, it is a private key (which must
 22973  	// be saved as a .pem file) for use with SSH.
 22974  	Secret *string `min:"1" type:"string"`
 22975  
 22976  	// User login string.
 22977  	UserName *string `min:"1" type:"string"`
 22978  }
 22979  
 22980  // String returns the string representation.
 22981  //
 22982  // API parameter values that are decorated as "sensitive" in the API will not
 22983  // be included in the string output. The member name will be present, but the
 22984  // value will be replaced with "sensitive".
 22985  func (s InstanceCredentials) String() string {
 22986  	return awsutil.Prettify(s)
 22987  }
 22988  
 22989  // GoString returns the string representation.
 22990  //
 22991  // API parameter values that are decorated as "sensitive" in the API will not
 22992  // be included in the string output. The member name will be present, but the
 22993  // value will be replaced with "sensitive".
 22994  func (s InstanceCredentials) GoString() string {
 22995  	return s.String()
 22996  }
 22997  
 22998  // SetSecret sets the Secret field's value.
 22999  func (s *InstanceCredentials) SetSecret(v string) *InstanceCredentials {
 23000  	s.Secret = &v
 23001  	return s
 23002  }
 23003  
 23004  // SetUserName sets the UserName field's value.
 23005  func (s *InstanceCredentials) SetUserName(v string) *InstanceCredentials {
 23006  	s.UserName = &v
 23007  	return s
 23008  }
 23009  
 23010  // This data type is used with the GameLift FleetIQ and game server groups.
 23011  //
 23012  // An allowed instance type for a GameServerGroup. All game server groups must
 23013  // have at least two instance types defined for it. GameLift FleetIQ periodically
 23014  // evaluates each defined instance type for viability. It then updates the Auto
 23015  // Scaling group with the list of viable instance types.
 23016  type InstanceDefinition struct {
 23017  	_ struct{} `type:"structure"`
 23018  
 23019  	// An EC2 instance type designation.
 23020  	//
 23021  	// InstanceType is a required field
 23022  	InstanceType *string `type:"string" required:"true" enum:"GameServerGroupInstanceType"`
 23023  
 23024  	// Instance weighting that indicates how much this instance type contributes
 23025  	// to the total capacity of a game server group. Instance weights are used by
 23026  	// GameLift FleetIQ to calculate the instance type's cost per unit hour and
 23027  	// better identify the most cost-effective options. For detailed information
 23028  	// on weighting instance capacity, see Instance Weighting (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
 23029  	// in the Amazon EC2 Auto Scaling User Guide. Default value is "1".
 23030  	WeightedCapacity *string `min:"1" type:"string"`
 23031  }
 23032  
 23033  // String returns the string representation.
 23034  //
 23035  // API parameter values that are decorated as "sensitive" in the API will not
 23036  // be included in the string output. The member name will be present, but the
 23037  // value will be replaced with "sensitive".
 23038  func (s InstanceDefinition) String() string {
 23039  	return awsutil.Prettify(s)
 23040  }
 23041  
 23042  // GoString returns the string representation.
 23043  //
 23044  // API parameter values that are decorated as "sensitive" in the API will not
 23045  // be included in the string output. The member name will be present, but the
 23046  // value will be replaced with "sensitive".
 23047  func (s InstanceDefinition) GoString() string {
 23048  	return s.String()
 23049  }
 23050  
 23051  // Validate inspects the fields of the type to determine if they are valid.
 23052  func (s *InstanceDefinition) Validate() error {
 23053  	invalidParams := request.ErrInvalidParams{Context: "InstanceDefinition"}
 23054  	if s.InstanceType == nil {
 23055  		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
 23056  	}
 23057  	if s.WeightedCapacity != nil && len(*s.WeightedCapacity) < 1 {
 23058  		invalidParams.Add(request.NewErrParamMinLen("WeightedCapacity", 1))
 23059  	}
 23060  
 23061  	if invalidParams.Len() > 0 {
 23062  		return invalidParams
 23063  	}
 23064  	return nil
 23065  }
 23066  
 23067  // SetInstanceType sets the InstanceType field's value.
 23068  func (s *InstanceDefinition) SetInstanceType(v string) *InstanceDefinition {
 23069  	s.InstanceType = &v
 23070  	return s
 23071  }
 23072  
 23073  // SetWeightedCapacity sets the WeightedCapacity field's value.
 23074  func (s *InstanceDefinition) SetWeightedCapacity(v string) *InstanceDefinition {
 23075  	s.WeightedCapacity = &v
 23076  	return s
 23077  }
 23078  
 23079  // The service encountered an unrecoverable internal failure while processing
 23080  // the request. Clients can retry such requests immediately or after a waiting
 23081  // period.
 23082  type InternalServiceException struct {
 23083  	_            struct{}                  `type:"structure"`
 23084  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23085  
 23086  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 23087  }
 23088  
 23089  // String returns the string representation.
 23090  //
 23091  // API parameter values that are decorated as "sensitive" in the API will not
 23092  // be included in the string output. The member name will be present, but the
 23093  // value will be replaced with "sensitive".
 23094  func (s InternalServiceException) String() string {
 23095  	return awsutil.Prettify(s)
 23096  }
 23097  
 23098  // GoString returns the string representation.
 23099  //
 23100  // API parameter values that are decorated as "sensitive" in the API will not
 23101  // be included in the string output. The member name will be present, but the
 23102  // value will be replaced with "sensitive".
 23103  func (s InternalServiceException) GoString() string {
 23104  	return s.String()
 23105  }
 23106  
 23107  func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
 23108  	return &InternalServiceException{
 23109  		RespMetadata: v,
 23110  	}
 23111  }
 23112  
 23113  // Code returns the exception type name.
 23114  func (s *InternalServiceException) Code() string {
 23115  	return "InternalServiceException"
 23116  }
 23117  
 23118  // Message returns the exception's message.
 23119  func (s *InternalServiceException) Message() string {
 23120  	if s.Message_ != nil {
 23121  		return *s.Message_
 23122  	}
 23123  	return ""
 23124  }
 23125  
 23126  // OrigErr always returns nil, satisfies awserr.Error interface.
 23127  func (s *InternalServiceException) OrigErr() error {
 23128  	return nil
 23129  }
 23130  
 23131  func (s *InternalServiceException) Error() string {
 23132  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23133  }
 23134  
 23135  // Status code returns the HTTP status code for the request's response error.
 23136  func (s *InternalServiceException) StatusCode() int {
 23137  	return s.RespMetadata.StatusCode
 23138  }
 23139  
 23140  // RequestID returns the service's response RequestID for request.
 23141  func (s *InternalServiceException) RequestID() string {
 23142  	return s.RespMetadata.RequestID
 23143  }
 23144  
 23145  // The requested operation would cause a conflict with the current state of
 23146  // a resource associated with the request and/or the fleet. Resolve the conflict
 23147  // before retrying.
 23148  type InvalidFleetStatusException struct {
 23149  	_            struct{}                  `type:"structure"`
 23150  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23151  
 23152  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 23153  }
 23154  
 23155  // String returns the string representation.
 23156  //
 23157  // API parameter values that are decorated as "sensitive" in the API will not
 23158  // be included in the string output. The member name will be present, but the
 23159  // value will be replaced with "sensitive".
 23160  func (s InvalidFleetStatusException) String() string {
 23161  	return awsutil.Prettify(s)
 23162  }
 23163  
 23164  // GoString returns the string representation.
 23165  //
 23166  // API parameter values that are decorated as "sensitive" in the API will not
 23167  // be included in the string output. The member name will be present, but the
 23168  // value will be replaced with "sensitive".
 23169  func (s InvalidFleetStatusException) GoString() string {
 23170  	return s.String()
 23171  }
 23172  
 23173  func newErrorInvalidFleetStatusException(v protocol.ResponseMetadata) error {
 23174  	return &InvalidFleetStatusException{
 23175  		RespMetadata: v,
 23176  	}
 23177  }
 23178  
 23179  // Code returns the exception type name.
 23180  func (s *InvalidFleetStatusException) Code() string {
 23181  	return "InvalidFleetStatusException"
 23182  }
 23183  
 23184  // Message returns the exception's message.
 23185  func (s *InvalidFleetStatusException) Message() string {
 23186  	if s.Message_ != nil {
 23187  		return *s.Message_
 23188  	}
 23189  	return ""
 23190  }
 23191  
 23192  // OrigErr always returns nil, satisfies awserr.Error interface.
 23193  func (s *InvalidFleetStatusException) OrigErr() error {
 23194  	return nil
 23195  }
 23196  
 23197  func (s *InvalidFleetStatusException) Error() string {
 23198  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23199  }
 23200  
 23201  // Status code returns the HTTP status code for the request's response error.
 23202  func (s *InvalidFleetStatusException) StatusCode() int {
 23203  	return s.RespMetadata.StatusCode
 23204  }
 23205  
 23206  // RequestID returns the service's response RequestID for request.
 23207  func (s *InvalidFleetStatusException) RequestID() string {
 23208  	return s.RespMetadata.RequestID
 23209  }
 23210  
 23211  // The requested operation would cause a conflict with the current state of
 23212  // a resource associated with the request and/or the game instance. Resolve
 23213  // the conflict before retrying.
 23214  type InvalidGameSessionStatusException struct {
 23215  	_            struct{}                  `type:"structure"`
 23216  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23217  
 23218  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 23219  }
 23220  
 23221  // String returns the string representation.
 23222  //
 23223  // API parameter values that are decorated as "sensitive" in the API will not
 23224  // be included in the string output. The member name will be present, but the
 23225  // value will be replaced with "sensitive".
 23226  func (s InvalidGameSessionStatusException) String() string {
 23227  	return awsutil.Prettify(s)
 23228  }
 23229  
 23230  // GoString returns the string representation.
 23231  //
 23232  // API parameter values that are decorated as "sensitive" in the API will not
 23233  // be included in the string output. The member name will be present, but the
 23234  // value will be replaced with "sensitive".
 23235  func (s InvalidGameSessionStatusException) GoString() string {
 23236  	return s.String()
 23237  }
 23238  
 23239  func newErrorInvalidGameSessionStatusException(v protocol.ResponseMetadata) error {
 23240  	return &InvalidGameSessionStatusException{
 23241  		RespMetadata: v,
 23242  	}
 23243  }
 23244  
 23245  // Code returns the exception type name.
 23246  func (s *InvalidGameSessionStatusException) Code() string {
 23247  	return "InvalidGameSessionStatusException"
 23248  }
 23249  
 23250  // Message returns the exception's message.
 23251  func (s *InvalidGameSessionStatusException) Message() string {
 23252  	if s.Message_ != nil {
 23253  		return *s.Message_
 23254  	}
 23255  	return ""
 23256  }
 23257  
 23258  // OrigErr always returns nil, satisfies awserr.Error interface.
 23259  func (s *InvalidGameSessionStatusException) OrigErr() error {
 23260  	return nil
 23261  }
 23262  
 23263  func (s *InvalidGameSessionStatusException) Error() string {
 23264  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23265  }
 23266  
 23267  // Status code returns the HTTP status code for the request's response error.
 23268  func (s *InvalidGameSessionStatusException) StatusCode() int {
 23269  	return s.RespMetadata.StatusCode
 23270  }
 23271  
 23272  // RequestID returns the service's response RequestID for request.
 23273  func (s *InvalidGameSessionStatusException) RequestID() string {
 23274  	return s.RespMetadata.RequestID
 23275  }
 23276  
 23277  // One or more parameter values in the request are invalid. Correct the invalid
 23278  // parameter values before retrying.
 23279  type InvalidRequestException struct {
 23280  	_            struct{}                  `type:"structure"`
 23281  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23282  
 23283  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 23284  }
 23285  
 23286  // String returns the string representation.
 23287  //
 23288  // API parameter values that are decorated as "sensitive" in the API will not
 23289  // be included in the string output. The member name will be present, but the
 23290  // value will be replaced with "sensitive".
 23291  func (s InvalidRequestException) String() string {
 23292  	return awsutil.Prettify(s)
 23293  }
 23294  
 23295  // GoString returns the string representation.
 23296  //
 23297  // API parameter values that are decorated as "sensitive" in the API will not
 23298  // be included in the string output. The member name will be present, but the
 23299  // value will be replaced with "sensitive".
 23300  func (s InvalidRequestException) GoString() string {
 23301  	return s.String()
 23302  }
 23303  
 23304  func newErrorInvalidRequestException(v protocol.ResponseMetadata) error {
 23305  	return &InvalidRequestException{
 23306  		RespMetadata: v,
 23307  	}
 23308  }
 23309  
 23310  // Code returns the exception type name.
 23311  func (s *InvalidRequestException) Code() string {
 23312  	return "InvalidRequestException"
 23313  }
 23314  
 23315  // Message returns the exception's message.
 23316  func (s *InvalidRequestException) Message() string {
 23317  	if s.Message_ != nil {
 23318  		return *s.Message_
 23319  	}
 23320  	return ""
 23321  }
 23322  
 23323  // OrigErr always returns nil, satisfies awserr.Error interface.
 23324  func (s *InvalidRequestException) OrigErr() error {
 23325  	return nil
 23326  }
 23327  
 23328  func (s *InvalidRequestException) Error() string {
 23329  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23330  }
 23331  
 23332  // Status code returns the HTTP status code for the request's response error.
 23333  func (s *InvalidRequestException) StatusCode() int {
 23334  	return s.RespMetadata.StatusCode
 23335  }
 23336  
 23337  // RequestID returns the service's response RequestID for request.
 23338  func (s *InvalidRequestException) RequestID() string {
 23339  	return s.RespMetadata.RequestID
 23340  }
 23341  
 23342  // A range of IP addresses and port settings that allow inbound traffic to connect
 23343  // to server processes on an instance in a fleet. New game sessions are assigned
 23344  // an IP address/port number combination, which must fall into the fleet's allowed
 23345  // ranges. Fleets with custom game builds must have permissions explicitly set.
 23346  // For Realtime Servers fleets, GameLift automatically opens two port ranges,
 23347  // one for TCP messaging and one for UDP.
 23348  //
 23349  // Related actions
 23350  //
 23351  // DescribeFleetPortSettings
 23352  type IpPermission struct {
 23353  	_ struct{} `type:"structure"`
 23354  
 23355  	// A starting value for a range of allowed port numbers.
 23356  	//
 23357  	// FromPort is a required field
 23358  	FromPort *int64 `min:"1" type:"integer" required:"true"`
 23359  
 23360  	// A range of allowed IP addresses. This value must be expressed in CIDR notation.
 23361  	// Example: "000.000.000.000/[subnet mask]" or optionally the shortened version
 23362  	// "0.0.0.0/[subnet mask]".
 23363  	//
 23364  	// IpRange is a required field
 23365  	IpRange *string `type:"string" required:"true"`
 23366  
 23367  	// The network communication protocol used by the fleet.
 23368  	//
 23369  	// Protocol is a required field
 23370  	Protocol *string `type:"string" required:"true" enum:"IpProtocol"`
 23371  
 23372  	// An ending value for a range of allowed port numbers. Port numbers are end-inclusive.
 23373  	// This value must be higher than FromPort.
 23374  	//
 23375  	// ToPort is a required field
 23376  	ToPort *int64 `min:"1" type:"integer" required:"true"`
 23377  }
 23378  
 23379  // String returns the string representation.
 23380  //
 23381  // API parameter values that are decorated as "sensitive" in the API will not
 23382  // be included in the string output. The member name will be present, but the
 23383  // value will be replaced with "sensitive".
 23384  func (s IpPermission) String() string {
 23385  	return awsutil.Prettify(s)
 23386  }
 23387  
 23388  // GoString returns the string representation.
 23389  //
 23390  // API parameter values that are decorated as "sensitive" in the API will not
 23391  // be included in the string output. The member name will be present, but the
 23392  // value will be replaced with "sensitive".
 23393  func (s IpPermission) GoString() string {
 23394  	return s.String()
 23395  }
 23396  
 23397  // Validate inspects the fields of the type to determine if they are valid.
 23398  func (s *IpPermission) Validate() error {
 23399  	invalidParams := request.ErrInvalidParams{Context: "IpPermission"}
 23400  	if s.FromPort == nil {
 23401  		invalidParams.Add(request.NewErrParamRequired("FromPort"))
 23402  	}
 23403  	if s.FromPort != nil && *s.FromPort < 1 {
 23404  		invalidParams.Add(request.NewErrParamMinValue("FromPort", 1))
 23405  	}
 23406  	if s.IpRange == nil {
 23407  		invalidParams.Add(request.NewErrParamRequired("IpRange"))
 23408  	}
 23409  	if s.Protocol == nil {
 23410  		invalidParams.Add(request.NewErrParamRequired("Protocol"))
 23411  	}
 23412  	if s.ToPort == nil {
 23413  		invalidParams.Add(request.NewErrParamRequired("ToPort"))
 23414  	}
 23415  	if s.ToPort != nil && *s.ToPort < 1 {
 23416  		invalidParams.Add(request.NewErrParamMinValue("ToPort", 1))
 23417  	}
 23418  
 23419  	if invalidParams.Len() > 0 {
 23420  		return invalidParams
 23421  	}
 23422  	return nil
 23423  }
 23424  
 23425  // SetFromPort sets the FromPort field's value.
 23426  func (s *IpPermission) SetFromPort(v int64) *IpPermission {
 23427  	s.FromPort = &v
 23428  	return s
 23429  }
 23430  
 23431  // SetIpRange sets the IpRange field's value.
 23432  func (s *IpPermission) SetIpRange(v string) *IpPermission {
 23433  	s.IpRange = &v
 23434  	return s
 23435  }
 23436  
 23437  // SetProtocol sets the Protocol field's value.
 23438  func (s *IpPermission) SetProtocol(v string) *IpPermission {
 23439  	s.Protocol = &v
 23440  	return s
 23441  }
 23442  
 23443  // SetToPort sets the ToPort field's value.
 23444  func (s *IpPermission) SetToPort(v int64) *IpPermission {
 23445  	s.ToPort = &v
 23446  	return s
 23447  }
 23448  
 23449  // This data type is used with the GameLift FleetIQ and game server groups.
 23450  //
 23451  // An EC2 launch template that contains configuration settings and game server
 23452  // code to be deployed to all instances in a game server group. The launch template
 23453  // is specified when creating a new game server group with CreateGameServerGroup.
 23454  type LaunchTemplateSpecification struct {
 23455  	_ struct{} `type:"structure"`
 23456  
 23457  	// A unique identifier for an existing EC2 launch template.
 23458  	LaunchTemplateId *string `min:"1" type:"string"`
 23459  
 23460  	// A readable identifier for an existing EC2 launch template.
 23461  	LaunchTemplateName *string `min:"3" type:"string"`
 23462  
 23463  	// The version of the EC2 launch template to use. If no version is specified,
 23464  	// the default version will be used. With Amazon EC2, you can specify a default
 23465  	// version for a launch template. If none is set, the default is the first version
 23466  	// created.
 23467  	Version *string `min:"1" type:"string"`
 23468  }
 23469  
 23470  // String returns the string representation.
 23471  //
 23472  // API parameter values that are decorated as "sensitive" in the API will not
 23473  // be included in the string output. The member name will be present, but the
 23474  // value will be replaced with "sensitive".
 23475  func (s LaunchTemplateSpecification) String() string {
 23476  	return awsutil.Prettify(s)
 23477  }
 23478  
 23479  // GoString returns the string representation.
 23480  //
 23481  // API parameter values that are decorated as "sensitive" in the API will not
 23482  // be included in the string output. The member name will be present, but the
 23483  // value will be replaced with "sensitive".
 23484  func (s LaunchTemplateSpecification) GoString() string {
 23485  	return s.String()
 23486  }
 23487  
 23488  // Validate inspects the fields of the type to determine if they are valid.
 23489  func (s *LaunchTemplateSpecification) Validate() error {
 23490  	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateSpecification"}
 23491  	if s.LaunchTemplateId != nil && len(*s.LaunchTemplateId) < 1 {
 23492  		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateId", 1))
 23493  	}
 23494  	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
 23495  		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
 23496  	}
 23497  	if s.Version != nil && len(*s.Version) < 1 {
 23498  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 23499  	}
 23500  
 23501  	if invalidParams.Len() > 0 {
 23502  		return invalidParams
 23503  	}
 23504  	return nil
 23505  }
 23506  
 23507  // SetLaunchTemplateId sets the LaunchTemplateId field's value.
 23508  func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
 23509  	s.LaunchTemplateId = &v
 23510  	return s
 23511  }
 23512  
 23513  // SetLaunchTemplateName sets the LaunchTemplateName field's value.
 23514  func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
 23515  	s.LaunchTemplateName = &v
 23516  	return s
 23517  }
 23518  
 23519  // SetVersion sets the Version field's value.
 23520  func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
 23521  	s.Version = &v
 23522  	return s
 23523  }
 23524  
 23525  // The requested operation would cause the resource to exceed the allowed service
 23526  // limit. Resolve the issue before retrying.
 23527  type LimitExceededException struct {
 23528  	_            struct{}                  `type:"structure"`
 23529  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 23530  
 23531  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 23532  }
 23533  
 23534  // String returns the string representation.
 23535  //
 23536  // API parameter values that are decorated as "sensitive" in the API will not
 23537  // be included in the string output. The member name will be present, but the
 23538  // value will be replaced with "sensitive".
 23539  func (s LimitExceededException) String() string {
 23540  	return awsutil.Prettify(s)
 23541  }
 23542  
 23543  // GoString returns the string representation.
 23544  //
 23545  // API parameter values that are decorated as "sensitive" in the API will not
 23546  // be included in the string output. The member name will be present, but the
 23547  // value will be replaced with "sensitive".
 23548  func (s LimitExceededException) GoString() string {
 23549  	return s.String()
 23550  }
 23551  
 23552  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 23553  	return &LimitExceededException{
 23554  		RespMetadata: v,
 23555  	}
 23556  }
 23557  
 23558  // Code returns the exception type name.
 23559  func (s *LimitExceededException) Code() string {
 23560  	return "LimitExceededException"
 23561  }
 23562  
 23563  // Message returns the exception's message.
 23564  func (s *LimitExceededException) Message() string {
 23565  	if s.Message_ != nil {
 23566  		return *s.Message_
 23567  	}
 23568  	return ""
 23569  }
 23570  
 23571  // OrigErr always returns nil, satisfies awserr.Error interface.
 23572  func (s *LimitExceededException) OrigErr() error {
 23573  	return nil
 23574  }
 23575  
 23576  func (s *LimitExceededException) Error() string {
 23577  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 23578  }
 23579  
 23580  // Status code returns the HTTP status code for the request's response error.
 23581  func (s *LimitExceededException) StatusCode() int {
 23582  	return s.RespMetadata.StatusCode
 23583  }
 23584  
 23585  // RequestID returns the service's response RequestID for request.
 23586  func (s *LimitExceededException) RequestID() string {
 23587  	return s.RespMetadata.RequestID
 23588  }
 23589  
 23590  // Represents the input for a request operation.
 23591  type ListAliasesInput struct {
 23592  	_ struct{} `type:"structure"`
 23593  
 23594  	// The maximum number of results to return. Use this parameter with NextToken
 23595  	// to get results as a set of sequential pages.
 23596  	Limit *int64 `min:"1" type:"integer"`
 23597  
 23598  	// A descriptive label that is associated with an alias. Alias names do not
 23599  	// need to be unique.
 23600  	Name *string `min:"1" type:"string"`
 23601  
 23602  	// A token that indicates the start of the next sequential page of results.
 23603  	// Use the token that is returned with a previous call to this operation. To
 23604  	// start at the beginning of the result set, do not specify a value.
 23605  	NextToken *string `min:"1" type:"string"`
 23606  
 23607  	// The routing type to filter results on. Use this parameter to retrieve only
 23608  	// aliases with a certain routing type. To retrieve all aliases, leave this
 23609  	// parameter empty.
 23610  	//
 23611  	// Possible routing types include the following:
 23612  	//
 23613  	//    * SIMPLE -- The alias resolves to one specific fleet. Use this type when
 23614  	//    routing to active fleets.
 23615  	//
 23616  	//    * TERMINAL -- The alias does not resolve to a fleet but instead can be
 23617  	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
 23618  	//    with the RoutingStrategy message embedded.
 23619  	RoutingStrategyType *string `type:"string" enum:"RoutingStrategyType"`
 23620  }
 23621  
 23622  // String returns the string representation.
 23623  //
 23624  // API parameter values that are decorated as "sensitive" in the API will not
 23625  // be included in the string output. The member name will be present, but the
 23626  // value will be replaced with "sensitive".
 23627  func (s ListAliasesInput) String() string {
 23628  	return awsutil.Prettify(s)
 23629  }
 23630  
 23631  // GoString returns the string representation.
 23632  //
 23633  // API parameter values that are decorated as "sensitive" in the API will not
 23634  // be included in the string output. The member name will be present, but the
 23635  // value will be replaced with "sensitive".
 23636  func (s ListAliasesInput) GoString() string {
 23637  	return s.String()
 23638  }
 23639  
 23640  // Validate inspects the fields of the type to determine if they are valid.
 23641  func (s *ListAliasesInput) Validate() error {
 23642  	invalidParams := request.ErrInvalidParams{Context: "ListAliasesInput"}
 23643  	if s.Limit != nil && *s.Limit < 1 {
 23644  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 23645  	}
 23646  	if s.Name != nil && len(*s.Name) < 1 {
 23647  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 23648  	}
 23649  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 23650  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 23651  	}
 23652  
 23653  	if invalidParams.Len() > 0 {
 23654  		return invalidParams
 23655  	}
 23656  	return nil
 23657  }
 23658  
 23659  // SetLimit sets the Limit field's value.
 23660  func (s *ListAliasesInput) SetLimit(v int64) *ListAliasesInput {
 23661  	s.Limit = &v
 23662  	return s
 23663  }
 23664  
 23665  // SetName sets the Name field's value.
 23666  func (s *ListAliasesInput) SetName(v string) *ListAliasesInput {
 23667  	s.Name = &v
 23668  	return s
 23669  }
 23670  
 23671  // SetNextToken sets the NextToken field's value.
 23672  func (s *ListAliasesInput) SetNextToken(v string) *ListAliasesInput {
 23673  	s.NextToken = &v
 23674  	return s
 23675  }
 23676  
 23677  // SetRoutingStrategyType sets the RoutingStrategyType field's value.
 23678  func (s *ListAliasesInput) SetRoutingStrategyType(v string) *ListAliasesInput {
 23679  	s.RoutingStrategyType = &v
 23680  	return s
 23681  }
 23682  
 23683  // Represents the returned data in response to a request operation.
 23684  type ListAliasesOutput struct {
 23685  	_ struct{} `type:"structure"`
 23686  
 23687  	// A collection of alias resources that match the request parameters.
 23688  	Aliases []*Alias `type:"list"`
 23689  
 23690  	// A token that indicates where to resume retrieving results on the next call
 23691  	// to this operation. If no token is returned, these results represent the end
 23692  	// of the list.
 23693  	NextToken *string `min:"1" type:"string"`
 23694  }
 23695  
 23696  // String returns the string representation.
 23697  //
 23698  // API parameter values that are decorated as "sensitive" in the API will not
 23699  // be included in the string output. The member name will be present, but the
 23700  // value will be replaced with "sensitive".
 23701  func (s ListAliasesOutput) String() string {
 23702  	return awsutil.Prettify(s)
 23703  }
 23704  
 23705  // GoString returns the string representation.
 23706  //
 23707  // API parameter values that are decorated as "sensitive" in the API will not
 23708  // be included in the string output. The member name will be present, but the
 23709  // value will be replaced with "sensitive".
 23710  func (s ListAliasesOutput) GoString() string {
 23711  	return s.String()
 23712  }
 23713  
 23714  // SetAliases sets the Aliases field's value.
 23715  func (s *ListAliasesOutput) SetAliases(v []*Alias) *ListAliasesOutput {
 23716  	s.Aliases = v
 23717  	return s
 23718  }
 23719  
 23720  // SetNextToken sets the NextToken field's value.
 23721  func (s *ListAliasesOutput) SetNextToken(v string) *ListAliasesOutput {
 23722  	s.NextToken = &v
 23723  	return s
 23724  }
 23725  
 23726  // Represents the input for a request operation.
 23727  type ListBuildsInput struct {
 23728  	_ struct{} `type:"structure"`
 23729  
 23730  	// The maximum number of results to return. Use this parameter with NextToken
 23731  	// to get results as a set of sequential pages.
 23732  	Limit *int64 `min:"1" type:"integer"`
 23733  
 23734  	// A token that indicates the start of the next sequential page of results.
 23735  	// Use the token that is returned with a previous call to this operation. To
 23736  	// start at the beginning of the result set, do not specify a value.
 23737  	NextToken *string `min:"1" type:"string"`
 23738  
 23739  	// Build status to filter results by. To retrieve all builds, leave this parameter
 23740  	// empty.
 23741  	//
 23742  	// Possible build statuses include the following:
 23743  	//
 23744  	//    * INITIALIZED -- A new build has been defined, but no files have been
 23745  	//    uploaded. You cannot create fleets for builds that are in this status.
 23746  	//    When a build is successfully created, the build status is set to this
 23747  	//    value.
 23748  	//
 23749  	//    * READY -- The game build has been successfully uploaded. You can now
 23750  	//    create new fleets for this build.
 23751  	//
 23752  	//    * FAILED -- The game build upload failed. You cannot create new fleets
 23753  	//    for this build.
 23754  	Status *string `type:"string" enum:"BuildStatus"`
 23755  }
 23756  
 23757  // String returns the string representation.
 23758  //
 23759  // API parameter values that are decorated as "sensitive" in the API will not
 23760  // be included in the string output. The member name will be present, but the
 23761  // value will be replaced with "sensitive".
 23762  func (s ListBuildsInput) String() string {
 23763  	return awsutil.Prettify(s)
 23764  }
 23765  
 23766  // GoString returns the string representation.
 23767  //
 23768  // API parameter values that are decorated as "sensitive" in the API will not
 23769  // be included in the string output. The member name will be present, but the
 23770  // value will be replaced with "sensitive".
 23771  func (s ListBuildsInput) GoString() string {
 23772  	return s.String()
 23773  }
 23774  
 23775  // Validate inspects the fields of the type to determine if they are valid.
 23776  func (s *ListBuildsInput) Validate() error {
 23777  	invalidParams := request.ErrInvalidParams{Context: "ListBuildsInput"}
 23778  	if s.Limit != nil && *s.Limit < 1 {
 23779  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 23780  	}
 23781  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 23782  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 23783  	}
 23784  
 23785  	if invalidParams.Len() > 0 {
 23786  		return invalidParams
 23787  	}
 23788  	return nil
 23789  }
 23790  
 23791  // SetLimit sets the Limit field's value.
 23792  func (s *ListBuildsInput) SetLimit(v int64) *ListBuildsInput {
 23793  	s.Limit = &v
 23794  	return s
 23795  }
 23796  
 23797  // SetNextToken sets the NextToken field's value.
 23798  func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput {
 23799  	s.NextToken = &v
 23800  	return s
 23801  }
 23802  
 23803  // SetStatus sets the Status field's value.
 23804  func (s *ListBuildsInput) SetStatus(v string) *ListBuildsInput {
 23805  	s.Status = &v
 23806  	return s
 23807  }
 23808  
 23809  // Represents the returned data in response to a request operation.
 23810  type ListBuildsOutput struct {
 23811  	_ struct{} `type:"structure"`
 23812  
 23813  	// A collection of build resources that match the request.
 23814  	Builds []*Build `type:"list"`
 23815  
 23816  	// A token that indicates where to resume retrieving results on the next call
 23817  	// to this operation. If no token is returned, these results represent the end
 23818  	// of the list.
 23819  	NextToken *string `min:"1" type:"string"`
 23820  }
 23821  
 23822  // String returns the string representation.
 23823  //
 23824  // API parameter values that are decorated as "sensitive" in the API will not
 23825  // be included in the string output. The member name will be present, but the
 23826  // value will be replaced with "sensitive".
 23827  func (s ListBuildsOutput) String() string {
 23828  	return awsutil.Prettify(s)
 23829  }
 23830  
 23831  // GoString returns the string representation.
 23832  //
 23833  // API parameter values that are decorated as "sensitive" in the API will not
 23834  // be included in the string output. The member name will be present, but the
 23835  // value will be replaced with "sensitive".
 23836  func (s ListBuildsOutput) GoString() string {
 23837  	return s.String()
 23838  }
 23839  
 23840  // SetBuilds sets the Builds field's value.
 23841  func (s *ListBuildsOutput) SetBuilds(v []*Build) *ListBuildsOutput {
 23842  	s.Builds = v
 23843  	return s
 23844  }
 23845  
 23846  // SetNextToken sets the NextToken field's value.
 23847  func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput {
 23848  	s.NextToken = &v
 23849  	return s
 23850  }
 23851  
 23852  // Represents the input for a request operation.
 23853  type ListFleetsInput struct {
 23854  	_ struct{} `type:"structure"`
 23855  
 23856  	// A unique identifier for the build to request fleets for. Use this parameter
 23857  	// to return only fleets using a specified build. Use either the build ID or
 23858  	// ARN value.
 23859  	BuildId *string `type:"string"`
 23860  
 23861  	// The maximum number of results to return. Use this parameter with NextToken
 23862  	// to get results as a set of sequential pages.
 23863  	Limit *int64 `min:"1" type:"integer"`
 23864  
 23865  	// A token that indicates the start of the next sequential page of results.
 23866  	// Use the token that is returned with a previous call to this operation. To
 23867  	// start at the beginning of the result set, do not specify a value.
 23868  	NextToken *string `min:"1" type:"string"`
 23869  
 23870  	// A unique identifier for the Realtime script to request fleets for. Use this
 23871  	// parameter to return only fleets using a specified script. Use either the
 23872  	// script ID or ARN value.
 23873  	ScriptId *string `type:"string"`
 23874  }
 23875  
 23876  // String returns the string representation.
 23877  //
 23878  // API parameter values that are decorated as "sensitive" in the API will not
 23879  // be included in the string output. The member name will be present, but the
 23880  // value will be replaced with "sensitive".
 23881  func (s ListFleetsInput) String() string {
 23882  	return awsutil.Prettify(s)
 23883  }
 23884  
 23885  // GoString returns the string representation.
 23886  //
 23887  // API parameter values that are decorated as "sensitive" in the API will not
 23888  // be included in the string output. The member name will be present, but the
 23889  // value will be replaced with "sensitive".
 23890  func (s ListFleetsInput) GoString() string {
 23891  	return s.String()
 23892  }
 23893  
 23894  // Validate inspects the fields of the type to determine if they are valid.
 23895  func (s *ListFleetsInput) Validate() error {
 23896  	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
 23897  	if s.Limit != nil && *s.Limit < 1 {
 23898  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 23899  	}
 23900  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 23901  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 23902  	}
 23903  
 23904  	if invalidParams.Len() > 0 {
 23905  		return invalidParams
 23906  	}
 23907  	return nil
 23908  }
 23909  
 23910  // SetBuildId sets the BuildId field's value.
 23911  func (s *ListFleetsInput) SetBuildId(v string) *ListFleetsInput {
 23912  	s.BuildId = &v
 23913  	return s
 23914  }
 23915  
 23916  // SetLimit sets the Limit field's value.
 23917  func (s *ListFleetsInput) SetLimit(v int64) *ListFleetsInput {
 23918  	s.Limit = &v
 23919  	return s
 23920  }
 23921  
 23922  // SetNextToken sets the NextToken field's value.
 23923  func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
 23924  	s.NextToken = &v
 23925  	return s
 23926  }
 23927  
 23928  // SetScriptId sets the ScriptId field's value.
 23929  func (s *ListFleetsInput) SetScriptId(v string) *ListFleetsInput {
 23930  	s.ScriptId = &v
 23931  	return s
 23932  }
 23933  
 23934  // Represents the returned data in response to a request operation.
 23935  type ListFleetsOutput struct {
 23936  	_ struct{} `type:"structure"`
 23937  
 23938  	// A set of fleet IDs that match the list request. You can retrieve additional
 23939  	// information about all returned fleets by passing this result set to a DescribeFleetAttributes,
 23940  	// DescribeFleetCapacity, or DescribeFleetUtilization call.
 23941  	FleetIds []*string `min:"1" type:"list"`
 23942  
 23943  	// A token that indicates where to resume retrieving results on the next call
 23944  	// to this operation. If no token is returned, these results represent the end
 23945  	// of the list.
 23946  	NextToken *string `min:"1" type:"string"`
 23947  }
 23948  
 23949  // String returns the string representation.
 23950  //
 23951  // API parameter values that are decorated as "sensitive" in the API will not
 23952  // be included in the string output. The member name will be present, but the
 23953  // value will be replaced with "sensitive".
 23954  func (s ListFleetsOutput) String() string {
 23955  	return awsutil.Prettify(s)
 23956  }
 23957  
 23958  // GoString returns the string representation.
 23959  //
 23960  // API parameter values that are decorated as "sensitive" in the API will not
 23961  // be included in the string output. The member name will be present, but the
 23962  // value will be replaced with "sensitive".
 23963  func (s ListFleetsOutput) GoString() string {
 23964  	return s.String()
 23965  }
 23966  
 23967  // SetFleetIds sets the FleetIds field's value.
 23968  func (s *ListFleetsOutput) SetFleetIds(v []*string) *ListFleetsOutput {
 23969  	s.FleetIds = v
 23970  	return s
 23971  }
 23972  
 23973  // SetNextToken sets the NextToken field's value.
 23974  func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
 23975  	s.NextToken = &v
 23976  	return s
 23977  }
 23978  
 23979  type ListGameServerGroupsInput struct {
 23980  	_ struct{} `type:"structure"`
 23981  
 23982  	// The maximum number of results to return. Use this parameter with NextToken
 23983  	// to get results as a set of sequential pages.
 23984  	Limit *int64 `min:"1" type:"integer"`
 23985  
 23986  	// A token that indicates the start of the next sequential page of results.
 23987  	// Use the token that is returned with a previous call to this operation. To
 23988  	// start at the beginning of the result set, do not specify a value.
 23989  	NextToken *string `min:"1" type:"string"`
 23990  }
 23991  
 23992  // String returns the string representation.
 23993  //
 23994  // API parameter values that are decorated as "sensitive" in the API will not
 23995  // be included in the string output. The member name will be present, but the
 23996  // value will be replaced with "sensitive".
 23997  func (s ListGameServerGroupsInput) String() string {
 23998  	return awsutil.Prettify(s)
 23999  }
 24000  
 24001  // GoString returns the string representation.
 24002  //
 24003  // API parameter values that are decorated as "sensitive" in the API will not
 24004  // be included in the string output. The member name will be present, but the
 24005  // value will be replaced with "sensitive".
 24006  func (s ListGameServerGroupsInput) GoString() string {
 24007  	return s.String()
 24008  }
 24009  
 24010  // Validate inspects the fields of the type to determine if they are valid.
 24011  func (s *ListGameServerGroupsInput) Validate() error {
 24012  	invalidParams := request.ErrInvalidParams{Context: "ListGameServerGroupsInput"}
 24013  	if s.Limit != nil && *s.Limit < 1 {
 24014  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 24015  	}
 24016  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24017  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24018  	}
 24019  
 24020  	if invalidParams.Len() > 0 {
 24021  		return invalidParams
 24022  	}
 24023  	return nil
 24024  }
 24025  
 24026  // SetLimit sets the Limit field's value.
 24027  func (s *ListGameServerGroupsInput) SetLimit(v int64) *ListGameServerGroupsInput {
 24028  	s.Limit = &v
 24029  	return s
 24030  }
 24031  
 24032  // SetNextToken sets the NextToken field's value.
 24033  func (s *ListGameServerGroupsInput) SetNextToken(v string) *ListGameServerGroupsInput {
 24034  	s.NextToken = &v
 24035  	return s
 24036  }
 24037  
 24038  type ListGameServerGroupsOutput struct {
 24039  	_ struct{} `type:"structure"`
 24040  
 24041  	// A collection of game server group objects that match the request.
 24042  	GameServerGroups []*GameServerGroup `type:"list"`
 24043  
 24044  	// A token that indicates where to resume retrieving results on the next call
 24045  	// to this operation. If no token is returned, these results represent the end
 24046  	// of the list.
 24047  	NextToken *string `min:"1" type:"string"`
 24048  }
 24049  
 24050  // String returns the string representation.
 24051  //
 24052  // API parameter values that are decorated as "sensitive" in the API will not
 24053  // be included in the string output. The member name will be present, but the
 24054  // value will be replaced with "sensitive".
 24055  func (s ListGameServerGroupsOutput) String() string {
 24056  	return awsutil.Prettify(s)
 24057  }
 24058  
 24059  // GoString returns the string representation.
 24060  //
 24061  // API parameter values that are decorated as "sensitive" in the API will not
 24062  // be included in the string output. The member name will be present, but the
 24063  // value will be replaced with "sensitive".
 24064  func (s ListGameServerGroupsOutput) GoString() string {
 24065  	return s.String()
 24066  }
 24067  
 24068  // SetGameServerGroups sets the GameServerGroups field's value.
 24069  func (s *ListGameServerGroupsOutput) SetGameServerGroups(v []*GameServerGroup) *ListGameServerGroupsOutput {
 24070  	s.GameServerGroups = v
 24071  	return s
 24072  }
 24073  
 24074  // SetNextToken sets the NextToken field's value.
 24075  func (s *ListGameServerGroupsOutput) SetNextToken(v string) *ListGameServerGroupsOutput {
 24076  	s.NextToken = &v
 24077  	return s
 24078  }
 24079  
 24080  type ListGameServersInput struct {
 24081  	_ struct{} `type:"structure"`
 24082  
 24083  	// An identifier for the game server group to retrieve a list of game servers
 24084  	// from. Use either the GameServerGroup name or ARN value.
 24085  	//
 24086  	// GameServerGroupName is a required field
 24087  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 24088  
 24089  	// The maximum number of results to return. Use this parameter with NextToken
 24090  	// to get results as a set of sequential pages.
 24091  	Limit *int64 `min:"1" type:"integer"`
 24092  
 24093  	// A token that indicates the start of the next sequential page of results.
 24094  	// Use the token that is returned with a previous call to this operation. To
 24095  	// start at the beginning of the result set, do not specify a value.
 24096  	NextToken *string `min:"1" type:"string"`
 24097  
 24098  	// Indicates how to sort the returned data based on game server registration
 24099  	// timestamp. Use ASCENDING to retrieve oldest game servers first, or use DESCENDING
 24100  	// to retrieve newest game servers first. If this parameter is left empty, game
 24101  	// servers are returned in no particular order.
 24102  	SortOrder *string `type:"string" enum:"SortOrder"`
 24103  }
 24104  
 24105  // String returns the string representation.
 24106  //
 24107  // API parameter values that are decorated as "sensitive" in the API will not
 24108  // be included in the string output. The member name will be present, but the
 24109  // value will be replaced with "sensitive".
 24110  func (s ListGameServersInput) String() string {
 24111  	return awsutil.Prettify(s)
 24112  }
 24113  
 24114  // GoString returns the string representation.
 24115  //
 24116  // API parameter values that are decorated as "sensitive" in the API will not
 24117  // be included in the string output. The member name will be present, but the
 24118  // value will be replaced with "sensitive".
 24119  func (s ListGameServersInput) GoString() string {
 24120  	return s.String()
 24121  }
 24122  
 24123  // Validate inspects the fields of the type to determine if they are valid.
 24124  func (s *ListGameServersInput) Validate() error {
 24125  	invalidParams := request.ErrInvalidParams{Context: "ListGameServersInput"}
 24126  	if s.GameServerGroupName == nil {
 24127  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 24128  	}
 24129  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 24130  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 24131  	}
 24132  	if s.Limit != nil && *s.Limit < 1 {
 24133  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 24134  	}
 24135  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24136  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24137  	}
 24138  
 24139  	if invalidParams.Len() > 0 {
 24140  		return invalidParams
 24141  	}
 24142  	return nil
 24143  }
 24144  
 24145  // SetGameServerGroupName sets the GameServerGroupName field's value.
 24146  func (s *ListGameServersInput) SetGameServerGroupName(v string) *ListGameServersInput {
 24147  	s.GameServerGroupName = &v
 24148  	return s
 24149  }
 24150  
 24151  // SetLimit sets the Limit field's value.
 24152  func (s *ListGameServersInput) SetLimit(v int64) *ListGameServersInput {
 24153  	s.Limit = &v
 24154  	return s
 24155  }
 24156  
 24157  // SetNextToken sets the NextToken field's value.
 24158  func (s *ListGameServersInput) SetNextToken(v string) *ListGameServersInput {
 24159  	s.NextToken = &v
 24160  	return s
 24161  }
 24162  
 24163  // SetSortOrder sets the SortOrder field's value.
 24164  func (s *ListGameServersInput) SetSortOrder(v string) *ListGameServersInput {
 24165  	s.SortOrder = &v
 24166  	return s
 24167  }
 24168  
 24169  type ListGameServersOutput struct {
 24170  	_ struct{} `type:"structure"`
 24171  
 24172  	// A collection of game server objects that match the request.
 24173  	GameServers []*GameServer `type:"list"`
 24174  
 24175  	// A token that indicates where to resume retrieving results on the next call
 24176  	// to this operation. If no token is returned, these results represent the end
 24177  	// of the list.
 24178  	NextToken *string `min:"1" type:"string"`
 24179  }
 24180  
 24181  // String returns the string representation.
 24182  //
 24183  // API parameter values that are decorated as "sensitive" in the API will not
 24184  // be included in the string output. The member name will be present, but the
 24185  // value will be replaced with "sensitive".
 24186  func (s ListGameServersOutput) String() string {
 24187  	return awsutil.Prettify(s)
 24188  }
 24189  
 24190  // GoString returns the string representation.
 24191  //
 24192  // API parameter values that are decorated as "sensitive" in the API will not
 24193  // be included in the string output. The member name will be present, but the
 24194  // value will be replaced with "sensitive".
 24195  func (s ListGameServersOutput) GoString() string {
 24196  	return s.String()
 24197  }
 24198  
 24199  // SetGameServers sets the GameServers field's value.
 24200  func (s *ListGameServersOutput) SetGameServers(v []*GameServer) *ListGameServersOutput {
 24201  	s.GameServers = v
 24202  	return s
 24203  }
 24204  
 24205  // SetNextToken sets the NextToken field's value.
 24206  func (s *ListGameServersOutput) SetNextToken(v string) *ListGameServersOutput {
 24207  	s.NextToken = &v
 24208  	return s
 24209  }
 24210  
 24211  type ListScriptsInput struct {
 24212  	_ struct{} `type:"structure"`
 24213  
 24214  	// The maximum number of results to return. Use this parameter with NextToken
 24215  	// to get results as a set of sequential pages.
 24216  	Limit *int64 `min:"1" type:"integer"`
 24217  
 24218  	// A token that indicates the start of the next sequential page of results.
 24219  	// Use the token that is returned with a previous call to this operation. To
 24220  	// start at the beginning of the result set, do not specify a value.
 24221  	NextToken *string `min:"1" type:"string"`
 24222  }
 24223  
 24224  // String returns the string representation.
 24225  //
 24226  // API parameter values that are decorated as "sensitive" in the API will not
 24227  // be included in the string output. The member name will be present, but the
 24228  // value will be replaced with "sensitive".
 24229  func (s ListScriptsInput) String() string {
 24230  	return awsutil.Prettify(s)
 24231  }
 24232  
 24233  // GoString returns the string representation.
 24234  //
 24235  // API parameter values that are decorated as "sensitive" in the API will not
 24236  // be included in the string output. The member name will be present, but the
 24237  // value will be replaced with "sensitive".
 24238  func (s ListScriptsInput) GoString() string {
 24239  	return s.String()
 24240  }
 24241  
 24242  // Validate inspects the fields of the type to determine if they are valid.
 24243  func (s *ListScriptsInput) Validate() error {
 24244  	invalidParams := request.ErrInvalidParams{Context: "ListScriptsInput"}
 24245  	if s.Limit != nil && *s.Limit < 1 {
 24246  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 24247  	}
 24248  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 24249  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 24250  	}
 24251  
 24252  	if invalidParams.Len() > 0 {
 24253  		return invalidParams
 24254  	}
 24255  	return nil
 24256  }
 24257  
 24258  // SetLimit sets the Limit field's value.
 24259  func (s *ListScriptsInput) SetLimit(v int64) *ListScriptsInput {
 24260  	s.Limit = &v
 24261  	return s
 24262  }
 24263  
 24264  // SetNextToken sets the NextToken field's value.
 24265  func (s *ListScriptsInput) SetNextToken(v string) *ListScriptsInput {
 24266  	s.NextToken = &v
 24267  	return s
 24268  }
 24269  
 24270  type ListScriptsOutput struct {
 24271  	_ struct{} `type:"structure"`
 24272  
 24273  	// A token that indicates where to resume retrieving results on the next call
 24274  	// to this operation. If no token is returned, these results represent the end
 24275  	// of the list.
 24276  	NextToken *string `min:"1" type:"string"`
 24277  
 24278  	// A set of properties describing the requested script.
 24279  	Scripts []*Script `type:"list"`
 24280  }
 24281  
 24282  // String returns the string representation.
 24283  //
 24284  // API parameter values that are decorated as "sensitive" in the API will not
 24285  // be included in the string output. The member name will be present, but the
 24286  // value will be replaced with "sensitive".
 24287  func (s ListScriptsOutput) String() string {
 24288  	return awsutil.Prettify(s)
 24289  }
 24290  
 24291  // GoString returns the string representation.
 24292  //
 24293  // API parameter values that are decorated as "sensitive" in the API will not
 24294  // be included in the string output. The member name will be present, but the
 24295  // value will be replaced with "sensitive".
 24296  func (s ListScriptsOutput) GoString() string {
 24297  	return s.String()
 24298  }
 24299  
 24300  // SetNextToken sets the NextToken field's value.
 24301  func (s *ListScriptsOutput) SetNextToken(v string) *ListScriptsOutput {
 24302  	s.NextToken = &v
 24303  	return s
 24304  }
 24305  
 24306  // SetScripts sets the Scripts field's value.
 24307  func (s *ListScriptsOutput) SetScripts(v []*Script) *ListScriptsOutput {
 24308  	s.Scripts = v
 24309  	return s
 24310  }
 24311  
 24312  type ListTagsForResourceInput struct {
 24313  	_ struct{} `type:"structure"`
 24314  
 24315  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 24316  	// that is assigned to and uniquely identifies the GameLift resource that you
 24317  	// want to retrieve tags for. GameLift resource ARNs are included in the data
 24318  	// object for the resource, which can be retrieved by calling a List or Describe
 24319  	// operation for the resource type.
 24320  	//
 24321  	// ResourceARN is a required field
 24322  	ResourceARN *string `min:"1" type:"string" required:"true"`
 24323  }
 24324  
 24325  // String returns the string representation.
 24326  //
 24327  // API parameter values that are decorated as "sensitive" in the API will not
 24328  // be included in the string output. The member name will be present, but the
 24329  // value will be replaced with "sensitive".
 24330  func (s ListTagsForResourceInput) String() string {
 24331  	return awsutil.Prettify(s)
 24332  }
 24333  
 24334  // GoString returns the string representation.
 24335  //
 24336  // API parameter values that are decorated as "sensitive" in the API will not
 24337  // be included in the string output. The member name will be present, but the
 24338  // value will be replaced with "sensitive".
 24339  func (s ListTagsForResourceInput) GoString() string {
 24340  	return s.String()
 24341  }
 24342  
 24343  // Validate inspects the fields of the type to determine if they are valid.
 24344  func (s *ListTagsForResourceInput) Validate() error {
 24345  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 24346  	if s.ResourceARN == nil {
 24347  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 24348  	}
 24349  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 24350  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 24351  	}
 24352  
 24353  	if invalidParams.Len() > 0 {
 24354  		return invalidParams
 24355  	}
 24356  	return nil
 24357  }
 24358  
 24359  // SetResourceARN sets the ResourceARN field's value.
 24360  func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
 24361  	s.ResourceARN = &v
 24362  	return s
 24363  }
 24364  
 24365  type ListTagsForResourceOutput struct {
 24366  	_ struct{} `type:"structure"`
 24367  
 24368  	// The collection of tags that have been assigned to the specified resource.
 24369  	Tags []*Tag `type:"list"`
 24370  }
 24371  
 24372  // String returns the string representation.
 24373  //
 24374  // API parameter values that are decorated as "sensitive" in the API will not
 24375  // be included in the string output. The member name will be present, but the
 24376  // value will be replaced with "sensitive".
 24377  func (s ListTagsForResourceOutput) String() string {
 24378  	return awsutil.Prettify(s)
 24379  }
 24380  
 24381  // GoString returns the string representation.
 24382  //
 24383  // API parameter values that are decorated as "sensitive" in the API will not
 24384  // be included in the string output. The member name will be present, but the
 24385  // value will be replaced with "sensitive".
 24386  func (s ListTagsForResourceOutput) GoString() string {
 24387  	return s.String()
 24388  }
 24389  
 24390  // SetTags sets the Tags field's value.
 24391  func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
 24392  	s.Tags = v
 24393  	return s
 24394  }
 24395  
 24396  // Represents a location in a multi-location fleet.
 24397  //
 24398  // Related actions
 24399  //
 24400  // DescribeFleetLocationAttributes
 24401  type LocationAttributes struct {
 24402  	_ struct{} `type:"structure"`
 24403  
 24404  	// A fleet location and its current life-cycle state.
 24405  	LocationState *LocationState `type:"structure"`
 24406  
 24407  	// A list of fleet actions that have been suspended in the fleet location.
 24408  	StoppedActions []*string `min:"1" type:"list"`
 24409  
 24410  	// The status of fleet activity updates to the location. The status PENDING_UPDATE
 24411  	// indicates that StopFleetActions or StartFleetActions has been requested but
 24412  	// the update has not yet been completed for the location.
 24413  	UpdateStatus *string `type:"string" enum:"LocationUpdateStatus"`
 24414  }
 24415  
 24416  // String returns the string representation.
 24417  //
 24418  // API parameter values that are decorated as "sensitive" in the API will not
 24419  // be included in the string output. The member name will be present, but the
 24420  // value will be replaced with "sensitive".
 24421  func (s LocationAttributes) String() string {
 24422  	return awsutil.Prettify(s)
 24423  }
 24424  
 24425  // GoString returns the string representation.
 24426  //
 24427  // API parameter values that are decorated as "sensitive" in the API will not
 24428  // be included in the string output. The member name will be present, but the
 24429  // value will be replaced with "sensitive".
 24430  func (s LocationAttributes) GoString() string {
 24431  	return s.String()
 24432  }
 24433  
 24434  // SetLocationState sets the LocationState field's value.
 24435  func (s *LocationAttributes) SetLocationState(v *LocationState) *LocationAttributes {
 24436  	s.LocationState = v
 24437  	return s
 24438  }
 24439  
 24440  // SetStoppedActions sets the StoppedActions field's value.
 24441  func (s *LocationAttributes) SetStoppedActions(v []*string) *LocationAttributes {
 24442  	s.StoppedActions = v
 24443  	return s
 24444  }
 24445  
 24446  // SetUpdateStatus sets the UpdateStatus field's value.
 24447  func (s *LocationAttributes) SetUpdateStatus(v string) *LocationAttributes {
 24448  	s.UpdateStatus = &v
 24449  	return s
 24450  }
 24451  
 24452  // A remote location where a multi-location fleet can deploy EC2 instances for
 24453  // game hosting.
 24454  //
 24455  // Related actions
 24456  //
 24457  // CreateFleet
 24458  type LocationConfiguration struct {
 24459  	_ struct{} `type:"structure"`
 24460  
 24461  	// An AWS Region code, such as us-west-2.
 24462  	Location *string `min:"1" type:"string"`
 24463  }
 24464  
 24465  // String returns the string representation.
 24466  //
 24467  // API parameter values that are decorated as "sensitive" in the API will not
 24468  // be included in the string output. The member name will be present, but the
 24469  // value will be replaced with "sensitive".
 24470  func (s LocationConfiguration) String() string {
 24471  	return awsutil.Prettify(s)
 24472  }
 24473  
 24474  // GoString returns the string representation.
 24475  //
 24476  // API parameter values that are decorated as "sensitive" in the API will not
 24477  // be included in the string output. The member name will be present, but the
 24478  // value will be replaced with "sensitive".
 24479  func (s LocationConfiguration) GoString() string {
 24480  	return s.String()
 24481  }
 24482  
 24483  // Validate inspects the fields of the type to determine if they are valid.
 24484  func (s *LocationConfiguration) Validate() error {
 24485  	invalidParams := request.ErrInvalidParams{Context: "LocationConfiguration"}
 24486  	if s.Location != nil && len(*s.Location) < 1 {
 24487  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 24488  	}
 24489  
 24490  	if invalidParams.Len() > 0 {
 24491  		return invalidParams
 24492  	}
 24493  	return nil
 24494  }
 24495  
 24496  // SetLocation sets the Location field's value.
 24497  func (s *LocationConfiguration) SetLocation(v string) *LocationConfiguration {
 24498  	s.Location = &v
 24499  	return s
 24500  }
 24501  
 24502  // A fleet location and its life-cycle state. A location state object might
 24503  // be used to describe a fleet's remote location or home Region. Life-cycle
 24504  // state tracks the progress of launching the first instance in a new location
 24505  // and preparing it for game hosting, and then removing all instances and deleting
 24506  // the location from the fleet.
 24507  //
 24508  // Related actions
 24509  //
 24510  // CreateFleet | CreateFleetLocations | DeleteFleetLocations
 24511  type LocationState struct {
 24512  	_ struct{} `type:"structure"`
 24513  
 24514  	// The fleet location, expressed as an AWS Region code such as us-west-2.
 24515  	Location *string `min:"1" type:"string"`
 24516  
 24517  	// The life-cycle status of a fleet location.
 24518  	Status *string `type:"string" enum:"FleetStatus"`
 24519  }
 24520  
 24521  // String returns the string representation.
 24522  //
 24523  // API parameter values that are decorated as "sensitive" in the API will not
 24524  // be included in the string output. The member name will be present, but the
 24525  // value will be replaced with "sensitive".
 24526  func (s LocationState) String() string {
 24527  	return awsutil.Prettify(s)
 24528  }
 24529  
 24530  // GoString returns the string representation.
 24531  //
 24532  // API parameter values that are decorated as "sensitive" in the API will not
 24533  // be included in the string output. The member name will be present, but the
 24534  // value will be replaced with "sensitive".
 24535  func (s LocationState) GoString() string {
 24536  	return s.String()
 24537  }
 24538  
 24539  // SetLocation sets the Location field's value.
 24540  func (s *LocationState) SetLocation(v string) *LocationState {
 24541  	s.Location = &v
 24542  	return s
 24543  }
 24544  
 24545  // SetStatus sets the Status field's value.
 24546  func (s *LocationState) SetStatus(v string) *LocationState {
 24547  	s.Status = &v
 24548  	return s
 24549  }
 24550  
 24551  // Represents a new player session that is created as a result of a successful
 24552  // FlexMatch match. A successful match automatically creates new player sessions
 24553  // for every player ID in the original matchmaking request.
 24554  //
 24555  // When players connect to the match's game session, they must include both
 24556  // player ID and player session ID in order to claim their assigned player slot.
 24557  type MatchedPlayerSession struct {
 24558  	_ struct{} `type:"structure"`
 24559  
 24560  	// A unique identifier for a player
 24561  	PlayerId *string `min:"1" type:"string"`
 24562  
 24563  	// A unique identifier for a player session
 24564  	PlayerSessionId *string `type:"string"`
 24565  }
 24566  
 24567  // String returns the string representation.
 24568  //
 24569  // API parameter values that are decorated as "sensitive" in the API will not
 24570  // be included in the string output. The member name will be present, but the
 24571  // value will be replaced with "sensitive".
 24572  func (s MatchedPlayerSession) String() string {
 24573  	return awsutil.Prettify(s)
 24574  }
 24575  
 24576  // GoString returns the string representation.
 24577  //
 24578  // API parameter values that are decorated as "sensitive" in the API will not
 24579  // be included in the string output. The member name will be present, but the
 24580  // value will be replaced with "sensitive".
 24581  func (s MatchedPlayerSession) GoString() string {
 24582  	return s.String()
 24583  }
 24584  
 24585  // SetPlayerId sets the PlayerId field's value.
 24586  func (s *MatchedPlayerSession) SetPlayerId(v string) *MatchedPlayerSession {
 24587  	s.PlayerId = &v
 24588  	return s
 24589  }
 24590  
 24591  // SetPlayerSessionId sets the PlayerSessionId field's value.
 24592  func (s *MatchedPlayerSession) SetPlayerSessionId(v string) *MatchedPlayerSession {
 24593  	s.PlayerSessionId = &v
 24594  	return s
 24595  }
 24596  
 24597  // Guidelines for use with FlexMatch to match players into games. All matchmaking
 24598  // requests must specify a matchmaking configuration.
 24599  type MatchmakingConfiguration struct {
 24600  	_ struct{} `type:"structure"`
 24601  
 24602  	// A flag that indicates whether a match that was created with this configuration
 24603  	// must be accepted by the matched players. To require acceptance, set to TRUE.
 24604  	// When this option is enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE
 24605  	// to indicate when a completed potential match is waiting for player acceptance.
 24606  	AcceptanceRequired *bool `type:"boolean"`
 24607  
 24608  	// The length of time (in seconds) to wait for players to accept a proposed
 24609  	// match, if acceptance is required. If any player rejects the match or fails
 24610  	// to accept before the timeout, the ticket continues to look for an acceptable
 24611  	// match.
 24612  	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
 24613  
 24614  	// The number of player slots in a match to keep open for future players. For
 24615  	// example, if the configuration's rule set specifies a match for a single 12-person
 24616  	// team, and the additional player count is set to 2, only 10 players are selected
 24617  	// for the match. This parameter is not used when FlexMatchMode is set to STANDALONE.
 24618  	AdditionalPlayerCount *int64 `type:"integer"`
 24619  
 24620  	// The method used to backfill game sessions created with this matchmaking configuration.
 24621  	// MANUAL indicates that the game makes backfill requests or does not use the
 24622  	// match backfill feature. AUTOMATIC indicates that GameLift creates StartMatchBackfill
 24623  	// requests whenever a game session has one or more open slots. Learn more about
 24624  	// manual and automatic backfill in Backfill existing games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html).
 24625  	// Automatic backfill is not available when FlexMatchMode is set to STANDALONE.
 24626  	BackfillMode *string `type:"string" enum:"BackfillMode"`
 24627  
 24628  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 24629  	// that is assigned to a GameLift matchmaking configuration resource and uniquely
 24630  	// identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::matchmakingconfiguration/<matchmaking
 24631  	// configuration name>. In a GameLift configuration ARN, the resource ID matches
 24632  	// the Name value.
 24633  	ConfigurationArn *string `type:"string"`
 24634  
 24635  	// A time stamp indicating when this data object was created. Format is a number
 24636  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 24637  	CreationTime *time.Time `type:"timestamp"`
 24638  
 24639  	// Information to attach to all events related to the matchmaking configuration.
 24640  	CustomEventData *string `type:"string"`
 24641  
 24642  	// A descriptive label that is associated with matchmaking configuration.
 24643  	Description *string `min:"1" type:"string"`
 24644  
 24645  	// Indicates whether this matchmaking configuration is being used with GameLift
 24646  	// hosting or as a standalone matchmaking solution.
 24647  	//
 24648  	//    * STANDALONE - FlexMatch forms matches and returns match information,
 24649  	//    including players and team assignments, in a MatchmakingSucceeded (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded)
 24650  	//    event.
 24651  	//
 24652  	//    * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift
 24653  	//    queue to start a game session for the match.
 24654  	FlexMatchMode *string `type:"string" enum:"FlexMatchMode"`
 24655  
 24656  	// A set of custom properties for a game session, formatted as key:value pairs.
 24657  	// These properties are passed to a game server process in the GameSession object
 24658  	// 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)).
 24659  	// This information is added to the new GameSession object that is created for
 24660  	// a successful match. This parameter is not used when FlexMatchMode is set
 24661  	// to STANDALONE.
 24662  	GameProperties []*GameProperty `type:"list"`
 24663  
 24664  	// A set of custom game session properties, formatted as a single string value.
 24665  	// This data is passed to a game server process in the GameSession object with
 24666  	// 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)).
 24667  	// This information is added to the new GameSession object that is created for
 24668  	// a successful match. This parameter is not used when FlexMatchMode is set
 24669  	// to STANDALONE.
 24670  	GameSessionData *string `min:"1" type:"string"`
 24671  
 24672  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 24673  	// that is assigned to a GameLift game session queue resource and uniquely identifies
 24674  	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
 24675  	// name>. Queues can be located in any Region. Queues are used to start new
 24676  	// GameLift-hosted game sessions for matches that are created with this matchmaking
 24677  	// configuration. This property is not set when FlexMatchMode is set to STANDALONE.
 24678  	GameSessionQueueArns []*string `type:"list"`
 24679  
 24680  	// A unique identifier for the matchmaking configuration. This name is used
 24681  	// to identify the configuration associated with a matchmaking request or ticket.
 24682  	Name *string `type:"string"`
 24683  
 24684  	// An SNS topic ARN that is set up to receive matchmaking notifications.
 24685  	NotificationTarget *string `type:"string"`
 24686  
 24687  	// The maximum duration, in seconds, that a matchmaking ticket can remain in
 24688  	// process before timing out. Requests that fail due to timing out can be resubmitted
 24689  	// as needed.
 24690  	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
 24691  
 24692  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 24693  	// associated with the GameLift matchmaking rule set resource that this configuration
 24694  	// uses.
 24695  	RuleSetArn *string `type:"string"`
 24696  
 24697  	// A unique identifier for the matchmaking rule set to use with this configuration.
 24698  	// A matchmaking configuration can only use rule sets that are defined in the
 24699  	// same Region.
 24700  	RuleSetName *string `type:"string"`
 24701  }
 24702  
 24703  // String returns the string representation.
 24704  //
 24705  // API parameter values that are decorated as "sensitive" in the API will not
 24706  // be included in the string output. The member name will be present, but the
 24707  // value will be replaced with "sensitive".
 24708  func (s MatchmakingConfiguration) String() string {
 24709  	return awsutil.Prettify(s)
 24710  }
 24711  
 24712  // GoString returns the string representation.
 24713  //
 24714  // API parameter values that are decorated as "sensitive" in the API will not
 24715  // be included in the string output. The member name will be present, but the
 24716  // value will be replaced with "sensitive".
 24717  func (s MatchmakingConfiguration) GoString() string {
 24718  	return s.String()
 24719  }
 24720  
 24721  // SetAcceptanceRequired sets the AcceptanceRequired field's value.
 24722  func (s *MatchmakingConfiguration) SetAcceptanceRequired(v bool) *MatchmakingConfiguration {
 24723  	s.AcceptanceRequired = &v
 24724  	return s
 24725  }
 24726  
 24727  // SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
 24728  func (s *MatchmakingConfiguration) SetAcceptanceTimeoutSeconds(v int64) *MatchmakingConfiguration {
 24729  	s.AcceptanceTimeoutSeconds = &v
 24730  	return s
 24731  }
 24732  
 24733  // SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
 24734  func (s *MatchmakingConfiguration) SetAdditionalPlayerCount(v int64) *MatchmakingConfiguration {
 24735  	s.AdditionalPlayerCount = &v
 24736  	return s
 24737  }
 24738  
 24739  // SetBackfillMode sets the BackfillMode field's value.
 24740  func (s *MatchmakingConfiguration) SetBackfillMode(v string) *MatchmakingConfiguration {
 24741  	s.BackfillMode = &v
 24742  	return s
 24743  }
 24744  
 24745  // SetConfigurationArn sets the ConfigurationArn field's value.
 24746  func (s *MatchmakingConfiguration) SetConfigurationArn(v string) *MatchmakingConfiguration {
 24747  	s.ConfigurationArn = &v
 24748  	return s
 24749  }
 24750  
 24751  // SetCreationTime sets the CreationTime field's value.
 24752  func (s *MatchmakingConfiguration) SetCreationTime(v time.Time) *MatchmakingConfiguration {
 24753  	s.CreationTime = &v
 24754  	return s
 24755  }
 24756  
 24757  // SetCustomEventData sets the CustomEventData field's value.
 24758  func (s *MatchmakingConfiguration) SetCustomEventData(v string) *MatchmakingConfiguration {
 24759  	s.CustomEventData = &v
 24760  	return s
 24761  }
 24762  
 24763  // SetDescription sets the Description field's value.
 24764  func (s *MatchmakingConfiguration) SetDescription(v string) *MatchmakingConfiguration {
 24765  	s.Description = &v
 24766  	return s
 24767  }
 24768  
 24769  // SetFlexMatchMode sets the FlexMatchMode field's value.
 24770  func (s *MatchmakingConfiguration) SetFlexMatchMode(v string) *MatchmakingConfiguration {
 24771  	s.FlexMatchMode = &v
 24772  	return s
 24773  }
 24774  
 24775  // SetGameProperties sets the GameProperties field's value.
 24776  func (s *MatchmakingConfiguration) SetGameProperties(v []*GameProperty) *MatchmakingConfiguration {
 24777  	s.GameProperties = v
 24778  	return s
 24779  }
 24780  
 24781  // SetGameSessionData sets the GameSessionData field's value.
 24782  func (s *MatchmakingConfiguration) SetGameSessionData(v string) *MatchmakingConfiguration {
 24783  	s.GameSessionData = &v
 24784  	return s
 24785  }
 24786  
 24787  // SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
 24788  func (s *MatchmakingConfiguration) SetGameSessionQueueArns(v []*string) *MatchmakingConfiguration {
 24789  	s.GameSessionQueueArns = v
 24790  	return s
 24791  }
 24792  
 24793  // SetName sets the Name field's value.
 24794  func (s *MatchmakingConfiguration) SetName(v string) *MatchmakingConfiguration {
 24795  	s.Name = &v
 24796  	return s
 24797  }
 24798  
 24799  // SetNotificationTarget sets the NotificationTarget field's value.
 24800  func (s *MatchmakingConfiguration) SetNotificationTarget(v string) *MatchmakingConfiguration {
 24801  	s.NotificationTarget = &v
 24802  	return s
 24803  }
 24804  
 24805  // SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
 24806  func (s *MatchmakingConfiguration) SetRequestTimeoutSeconds(v int64) *MatchmakingConfiguration {
 24807  	s.RequestTimeoutSeconds = &v
 24808  	return s
 24809  }
 24810  
 24811  // SetRuleSetArn sets the RuleSetArn field's value.
 24812  func (s *MatchmakingConfiguration) SetRuleSetArn(v string) *MatchmakingConfiguration {
 24813  	s.RuleSetArn = &v
 24814  	return s
 24815  }
 24816  
 24817  // SetRuleSetName sets the RuleSetName field's value.
 24818  func (s *MatchmakingConfiguration) SetRuleSetName(v string) *MatchmakingConfiguration {
 24819  	s.RuleSetName = &v
 24820  	return s
 24821  }
 24822  
 24823  // Set of rule statements, used with FlexMatch, that determine how to build
 24824  // your player matches. Each rule set describes a type of group to be created
 24825  // and defines the parameters for acceptable player matches. Rule sets are used
 24826  // in MatchmakingConfiguration objects.
 24827  //
 24828  // A rule set may define the following elements for a match. For detailed information
 24829  // and examples showing how to construct a rule set, see Build a FlexMatch rule
 24830  // set (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-rulesets.html).
 24831  //
 24832  //    * Teams -- Required. A rule set must define one or multiple teams for
 24833  //    the match and set minimum and maximum team sizes. For example, a rule
 24834  //    set might describe a 4x4 match that requires all eight slots to be filled.
 24835  //
 24836  //    * Player attributes -- Optional. These attributes specify a set of player
 24837  //    characteristics to evaluate when looking for a match. Matchmaking requests
 24838  //    that use a rule set with player attributes must provide the corresponding
 24839  //    attribute values. For example, an attribute might specify a player's skill
 24840  //    or level.
 24841  //
 24842  //    * Rules -- Optional. Rules define how to evaluate potential players for
 24843  //    a match based on player attributes. A rule might specify minimum requirements
 24844  //    for individual players, teams, or entire matches. For example, a rule
 24845  //    might require each player to meet a certain skill level, each team to
 24846  //    have at least one player in a certain role, or the match to have a minimum
 24847  //    average skill level. or may describe an entire group--such as all teams
 24848  //    must be evenly matched or have at least one player in a certain role.
 24849  //
 24850  //    * Expansions -- Optional. Expansions allow you to relax the rules after
 24851  //    a period of time when no acceptable matches are found. This feature lets
 24852  //    you balance getting players into games in a reasonable amount of time
 24853  //    instead of making them wait indefinitely for the best possible match.
 24854  //    For example, you might use an expansion to increase the maximum skill
 24855  //    variance between players after 30 seconds.
 24856  type MatchmakingRuleSet struct {
 24857  	_ struct{} `type:"structure"`
 24858  
 24859  	// A time stamp indicating when this data object was created. Format is a number
 24860  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 24861  	CreationTime *time.Time `type:"timestamp"`
 24862  
 24863  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 24864  	// that is assigned to a GameLift matchmaking rule set resource and uniquely
 24865  	// identifies it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::matchmakingruleset/<ruleset
 24866  	// name>. In a GameLift rule set ARN, the resource ID matches the RuleSetName
 24867  	// value.
 24868  	RuleSetArn *string `type:"string"`
 24869  
 24870  	// A collection of matchmaking rules, formatted as a JSON string. Comments are
 24871  	// not allowed in JSON, but most elements support a description field.
 24872  	//
 24873  	// RuleSetBody is a required field
 24874  	RuleSetBody *string `min:"1" type:"string" required:"true"`
 24875  
 24876  	// A unique identifier for the matchmaking rule set
 24877  	RuleSetName *string `type:"string"`
 24878  }
 24879  
 24880  // String returns the string representation.
 24881  //
 24882  // API parameter values that are decorated as "sensitive" in the API will not
 24883  // be included in the string output. The member name will be present, but the
 24884  // value will be replaced with "sensitive".
 24885  func (s MatchmakingRuleSet) String() string {
 24886  	return awsutil.Prettify(s)
 24887  }
 24888  
 24889  // GoString returns the string representation.
 24890  //
 24891  // API parameter values that are decorated as "sensitive" in the API will not
 24892  // be included in the string output. The member name will be present, but the
 24893  // value will be replaced with "sensitive".
 24894  func (s MatchmakingRuleSet) GoString() string {
 24895  	return s.String()
 24896  }
 24897  
 24898  // SetCreationTime sets the CreationTime field's value.
 24899  func (s *MatchmakingRuleSet) SetCreationTime(v time.Time) *MatchmakingRuleSet {
 24900  	s.CreationTime = &v
 24901  	return s
 24902  }
 24903  
 24904  // SetRuleSetArn sets the RuleSetArn field's value.
 24905  func (s *MatchmakingRuleSet) SetRuleSetArn(v string) *MatchmakingRuleSet {
 24906  	s.RuleSetArn = &v
 24907  	return s
 24908  }
 24909  
 24910  // SetRuleSetBody sets the RuleSetBody field's value.
 24911  func (s *MatchmakingRuleSet) SetRuleSetBody(v string) *MatchmakingRuleSet {
 24912  	s.RuleSetBody = &v
 24913  	return s
 24914  }
 24915  
 24916  // SetRuleSetName sets the RuleSetName field's value.
 24917  func (s *MatchmakingRuleSet) SetRuleSetName(v string) *MatchmakingRuleSet {
 24918  	s.RuleSetName = &v
 24919  	return s
 24920  }
 24921  
 24922  // Ticket generated to track the progress of a matchmaking request. Each ticket
 24923  // is uniquely identified by a ticket ID, supplied by the requester, when creating
 24924  // a matchmaking request with StartMatchmaking. Tickets can be retrieved by
 24925  // calling DescribeMatchmaking with the ticket ID.
 24926  type MatchmakingTicket struct {
 24927  	_ struct{} `type:"structure"`
 24928  
 24929  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 24930  	// associated with the GameLift matchmaking configuration resource that is used
 24931  	// with this ticket.
 24932  	ConfigurationArn *string `type:"string"`
 24933  
 24934  	// Name of the MatchmakingConfiguration that is used with this ticket. Matchmaking
 24935  	// configurations determine how players are grouped into a match and how a new
 24936  	// game session is created for the match.
 24937  	ConfigurationName *string `type:"string"`
 24938  
 24939  	// Time stamp indicating when this matchmaking request stopped being processed
 24940  	// due to success, failure, or cancellation. Format is a number expressed in
 24941  	// Unix time as milliseconds (for example "1469498468.057").
 24942  	EndTime *time.Time `type:"timestamp"`
 24943  
 24944  	// Average amount of time (in seconds) that players are currently waiting for
 24945  	// a match. If there is not enough recent data, this property may be empty.
 24946  	EstimatedWaitTime *int64 `type:"integer"`
 24947  
 24948  	// Identifier and connection information of the game session created for the
 24949  	// match. This information is added to the ticket only after the matchmaking
 24950  	// request has been successfully completed. This parameter is not set when FlexMatch
 24951  	// is being used without GameLift hosting.
 24952  	GameSessionConnectionInfo *GameSessionConnectionInfo `type:"structure"`
 24953  
 24954  	// A set of Player objects, each representing a player to find matches for.
 24955  	// Players are identified by a unique player ID and may include latency data
 24956  	// for use during matchmaking. If the ticket is in status COMPLETED, the Player
 24957  	// objects include the team the players were assigned to in the resulting match.
 24958  	Players []*Player `type:"list"`
 24959  
 24960  	// Time stamp indicating when this matchmaking request was received. Format
 24961  	// is a number expressed in Unix time as milliseconds (for example "1469498468.057").
 24962  	StartTime *time.Time `type:"timestamp"`
 24963  
 24964  	// Current status of the matchmaking request.
 24965  	//
 24966  	//    * QUEUED -- The matchmaking request has been received and is currently
 24967  	//    waiting to be processed.
 24968  	//
 24969  	//    * SEARCHING -- The matchmaking request is currently being processed.
 24970  	//
 24971  	//    * REQUIRES_ACCEPTANCE -- A match has been proposed and the players must
 24972  	//    accept the match (see AcceptMatch). This status is used only with requests
 24973  	//    that use a matchmaking configuration with a player acceptance requirement.
 24974  	//
 24975  	//    * PLACING -- The FlexMatch engine has matched players and is in the process
 24976  	//    of placing a new game session for the match.
 24977  	//
 24978  	//    * COMPLETED -- Players have been matched and a game session is ready to
 24979  	//    host the players. A ticket in this state contains the necessary connection
 24980  	//    information for players.
 24981  	//
 24982  	//    * FAILED -- The matchmaking request was not completed.
 24983  	//
 24984  	//    * CANCELLED -- The matchmaking request was canceled. This may be the result
 24985  	//    of a call to StopMatchmaking or a proposed match that one or more players
 24986  	//    failed to accept.
 24987  	//
 24988  	//    * TIMED_OUT -- The matchmaking request was not successful within the duration
 24989  	//    specified in the matchmaking configuration.
 24990  	//
 24991  	// Matchmaking requests that fail to successfully complete (statuses FAILED,
 24992  	// CANCELLED, TIMED_OUT) can be resubmitted as new requests with new ticket
 24993  	// IDs.
 24994  	Status *string `type:"string" enum:"MatchmakingConfigurationStatus"`
 24995  
 24996  	// Additional information about the current status.
 24997  	StatusMessage *string `type:"string"`
 24998  
 24999  	// Code to explain the current status. For example, a status reason may indicate
 25000  	// when a ticket has returned to SEARCHING status after a proposed match fails
 25001  	// to receive player acceptances.
 25002  	StatusReason *string `type:"string"`
 25003  
 25004  	// A unique identifier for a matchmaking ticket.
 25005  	TicketId *string `type:"string"`
 25006  }
 25007  
 25008  // String returns the string representation.
 25009  //
 25010  // API parameter values that are decorated as "sensitive" in the API will not
 25011  // be included in the string output. The member name will be present, but the
 25012  // value will be replaced with "sensitive".
 25013  func (s MatchmakingTicket) String() string {
 25014  	return awsutil.Prettify(s)
 25015  }
 25016  
 25017  // GoString returns the string representation.
 25018  //
 25019  // API parameter values that are decorated as "sensitive" in the API will not
 25020  // be included in the string output. The member name will be present, but the
 25021  // value will be replaced with "sensitive".
 25022  func (s MatchmakingTicket) GoString() string {
 25023  	return s.String()
 25024  }
 25025  
 25026  // SetConfigurationArn sets the ConfigurationArn field's value.
 25027  func (s *MatchmakingTicket) SetConfigurationArn(v string) *MatchmakingTicket {
 25028  	s.ConfigurationArn = &v
 25029  	return s
 25030  }
 25031  
 25032  // SetConfigurationName sets the ConfigurationName field's value.
 25033  func (s *MatchmakingTicket) SetConfigurationName(v string) *MatchmakingTicket {
 25034  	s.ConfigurationName = &v
 25035  	return s
 25036  }
 25037  
 25038  // SetEndTime sets the EndTime field's value.
 25039  func (s *MatchmakingTicket) SetEndTime(v time.Time) *MatchmakingTicket {
 25040  	s.EndTime = &v
 25041  	return s
 25042  }
 25043  
 25044  // SetEstimatedWaitTime sets the EstimatedWaitTime field's value.
 25045  func (s *MatchmakingTicket) SetEstimatedWaitTime(v int64) *MatchmakingTicket {
 25046  	s.EstimatedWaitTime = &v
 25047  	return s
 25048  }
 25049  
 25050  // SetGameSessionConnectionInfo sets the GameSessionConnectionInfo field's value.
 25051  func (s *MatchmakingTicket) SetGameSessionConnectionInfo(v *GameSessionConnectionInfo) *MatchmakingTicket {
 25052  	s.GameSessionConnectionInfo = v
 25053  	return s
 25054  }
 25055  
 25056  // SetPlayers sets the Players field's value.
 25057  func (s *MatchmakingTicket) SetPlayers(v []*Player) *MatchmakingTicket {
 25058  	s.Players = v
 25059  	return s
 25060  }
 25061  
 25062  // SetStartTime sets the StartTime field's value.
 25063  func (s *MatchmakingTicket) SetStartTime(v time.Time) *MatchmakingTicket {
 25064  	s.StartTime = &v
 25065  	return s
 25066  }
 25067  
 25068  // SetStatus sets the Status field's value.
 25069  func (s *MatchmakingTicket) SetStatus(v string) *MatchmakingTicket {
 25070  	s.Status = &v
 25071  	return s
 25072  }
 25073  
 25074  // SetStatusMessage sets the StatusMessage field's value.
 25075  func (s *MatchmakingTicket) SetStatusMessage(v string) *MatchmakingTicket {
 25076  	s.StatusMessage = &v
 25077  	return s
 25078  }
 25079  
 25080  // SetStatusReason sets the StatusReason field's value.
 25081  func (s *MatchmakingTicket) SetStatusReason(v string) *MatchmakingTicket {
 25082  	s.StatusReason = &v
 25083  	return s
 25084  }
 25085  
 25086  // SetTicketId sets the TicketId field's value.
 25087  func (s *MatchmakingTicket) SetTicketId(v string) *MatchmakingTicket {
 25088  	s.TicketId = &v
 25089  	return s
 25090  }
 25091  
 25092  // A service resource associated with the request could not be found. Clients
 25093  // should not retry such requests.
 25094  type NotFoundException struct {
 25095  	_            struct{}                  `type:"structure"`
 25096  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25097  
 25098  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 25099  }
 25100  
 25101  // String returns the string representation.
 25102  //
 25103  // API parameter values that are decorated as "sensitive" in the API will not
 25104  // be included in the string output. The member name will be present, but the
 25105  // value will be replaced with "sensitive".
 25106  func (s NotFoundException) String() string {
 25107  	return awsutil.Prettify(s)
 25108  }
 25109  
 25110  // GoString returns the string representation.
 25111  //
 25112  // API parameter values that are decorated as "sensitive" in the API will not
 25113  // be included in the string output. The member name will be present, but the
 25114  // value will be replaced with "sensitive".
 25115  func (s NotFoundException) GoString() string {
 25116  	return s.String()
 25117  }
 25118  
 25119  func newErrorNotFoundException(v protocol.ResponseMetadata) error {
 25120  	return &NotFoundException{
 25121  		RespMetadata: v,
 25122  	}
 25123  }
 25124  
 25125  // Code returns the exception type name.
 25126  func (s *NotFoundException) Code() string {
 25127  	return "NotFoundException"
 25128  }
 25129  
 25130  // Message returns the exception's message.
 25131  func (s *NotFoundException) Message() string {
 25132  	if s.Message_ != nil {
 25133  		return *s.Message_
 25134  	}
 25135  	return ""
 25136  }
 25137  
 25138  // OrigErr always returns nil, satisfies awserr.Error interface.
 25139  func (s *NotFoundException) OrigErr() error {
 25140  	return nil
 25141  }
 25142  
 25143  func (s *NotFoundException) Error() string {
 25144  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25145  }
 25146  
 25147  // Status code returns the HTTP status code for the request's response error.
 25148  func (s *NotFoundException) StatusCode() int {
 25149  	return s.RespMetadata.StatusCode
 25150  }
 25151  
 25152  // RequestID returns the service's response RequestID for request.
 25153  func (s *NotFoundException) RequestID() string {
 25154  	return s.RespMetadata.RequestID
 25155  }
 25156  
 25157  // The specified game server group has no available game servers to fulfill
 25158  // a ClaimGameServer request. Clients can retry such requests immediately or
 25159  // after a waiting period.
 25160  type OutOfCapacityException struct {
 25161  	_            struct{}                  `type:"structure"`
 25162  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 25163  
 25164  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 25165  }
 25166  
 25167  // String returns the string representation.
 25168  //
 25169  // API parameter values that are decorated as "sensitive" in the API will not
 25170  // be included in the string output. The member name will be present, but the
 25171  // value will be replaced with "sensitive".
 25172  func (s OutOfCapacityException) String() string {
 25173  	return awsutil.Prettify(s)
 25174  }
 25175  
 25176  // GoString returns the string representation.
 25177  //
 25178  // API parameter values that are decorated as "sensitive" in the API will not
 25179  // be included in the string output. The member name will be present, but the
 25180  // value will be replaced with "sensitive".
 25181  func (s OutOfCapacityException) GoString() string {
 25182  	return s.String()
 25183  }
 25184  
 25185  func newErrorOutOfCapacityException(v protocol.ResponseMetadata) error {
 25186  	return &OutOfCapacityException{
 25187  		RespMetadata: v,
 25188  	}
 25189  }
 25190  
 25191  // Code returns the exception type name.
 25192  func (s *OutOfCapacityException) Code() string {
 25193  	return "OutOfCapacityException"
 25194  }
 25195  
 25196  // Message returns the exception's message.
 25197  func (s *OutOfCapacityException) Message() string {
 25198  	if s.Message_ != nil {
 25199  		return *s.Message_
 25200  	}
 25201  	return ""
 25202  }
 25203  
 25204  // OrigErr always returns nil, satisfies awserr.Error interface.
 25205  func (s *OutOfCapacityException) OrigErr() error {
 25206  	return nil
 25207  }
 25208  
 25209  func (s *OutOfCapacityException) Error() string {
 25210  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 25211  }
 25212  
 25213  // Status code returns the HTTP status code for the request's response error.
 25214  func (s *OutOfCapacityException) StatusCode() int {
 25215  	return s.RespMetadata.StatusCode
 25216  }
 25217  
 25218  // RequestID returns the service's response RequestID for request.
 25219  func (s *OutOfCapacityException) RequestID() string {
 25220  	return s.RespMetadata.RequestID
 25221  }
 25222  
 25223  // Information about a player session that was created as part of a StartGameSessionPlacement
 25224  // request. This object contains only the player ID and player session ID. To
 25225  // retrieve full details on a player session, call DescribePlayerSessions with
 25226  // the player session ID.
 25227  //
 25228  // Related actions
 25229  //
 25230  // CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
 25231  // | DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task
 25232  // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 25233  type PlacedPlayerSession struct {
 25234  	_ struct{} `type:"structure"`
 25235  
 25236  	// A unique identifier for a player that is associated with this player session.
 25237  	PlayerId *string `min:"1" type:"string"`
 25238  
 25239  	// A unique identifier for a player session.
 25240  	PlayerSessionId *string `type:"string"`
 25241  }
 25242  
 25243  // String returns the string representation.
 25244  //
 25245  // API parameter values that are decorated as "sensitive" in the API will not
 25246  // be included in the string output. The member name will be present, but the
 25247  // value will be replaced with "sensitive".
 25248  func (s PlacedPlayerSession) String() string {
 25249  	return awsutil.Prettify(s)
 25250  }
 25251  
 25252  // GoString returns the string representation.
 25253  //
 25254  // API parameter values that are decorated as "sensitive" in the API will not
 25255  // be included in the string output. The member name will be present, but the
 25256  // value will be replaced with "sensitive".
 25257  func (s PlacedPlayerSession) GoString() string {
 25258  	return s.String()
 25259  }
 25260  
 25261  // SetPlayerId sets the PlayerId field's value.
 25262  func (s *PlacedPlayerSession) SetPlayerId(v string) *PlacedPlayerSession {
 25263  	s.PlayerId = &v
 25264  	return s
 25265  }
 25266  
 25267  // SetPlayerSessionId sets the PlayerSessionId field's value.
 25268  func (s *PlacedPlayerSession) SetPlayerSessionId(v string) *PlacedPlayerSession {
 25269  	s.PlayerSessionId = &v
 25270  	return s
 25271  }
 25272  
 25273  // Represents a player in matchmaking. When starting a matchmaking request,
 25274  // a player has a player ID, attributes, and may have latency data. Team information
 25275  // is added after a match has been successfully completed.
 25276  type Player struct {
 25277  	_ struct{} `type:"structure"`
 25278  
 25279  	// A set of values, expressed in milliseconds, that indicates the amount of
 25280  	// latency that a player experiences when connected to AWS Regions. If this
 25281  	// property is present, FlexMatch considers placing the match only in Regions
 25282  	// for which latency is reported.
 25283  	//
 25284  	// If a matchmaker has a rule that evaluates player latency, players must report
 25285  	// latency in order to be matched. If no latency is reported in this scenario,
 25286  	// FlexMatch assumes that no Regions are available to the player and the ticket
 25287  	// is not matchable.
 25288  	LatencyInMs map[string]*int64 `type:"map"`
 25289  
 25290  	// A collection of key:value pairs containing player information for use in
 25291  	// matchmaking. Player attribute keys must match the playerAttributes used in
 25292  	// a matchmaking rule set. Example: "PlayerAttributes": {"skill": {"N": "23"},
 25293  	// "gameMode": {"S": "deathmatch"}}.
 25294  	PlayerAttributes map[string]*AttributeValue `type:"map"`
 25295  
 25296  	// A unique identifier for a player
 25297  	PlayerId *string `min:"1" type:"string"`
 25298  
 25299  	// Name of the team that the player is assigned to in a match. Team names are
 25300  	// defined in a matchmaking rule set.
 25301  	Team *string `min:"1" type:"string"`
 25302  }
 25303  
 25304  // String returns the string representation.
 25305  //
 25306  // API parameter values that are decorated as "sensitive" in the API will not
 25307  // be included in the string output. The member name will be present, but the
 25308  // value will be replaced with "sensitive".
 25309  func (s Player) String() string {
 25310  	return awsutil.Prettify(s)
 25311  }
 25312  
 25313  // GoString returns the string representation.
 25314  //
 25315  // API parameter values that are decorated as "sensitive" in the API will not
 25316  // be included in the string output. The member name will be present, but the
 25317  // value will be replaced with "sensitive".
 25318  func (s Player) GoString() string {
 25319  	return s.String()
 25320  }
 25321  
 25322  // Validate inspects the fields of the type to determine if they are valid.
 25323  func (s *Player) Validate() error {
 25324  	invalidParams := request.ErrInvalidParams{Context: "Player"}
 25325  	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
 25326  		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
 25327  	}
 25328  	if s.Team != nil && len(*s.Team) < 1 {
 25329  		invalidParams.Add(request.NewErrParamMinLen("Team", 1))
 25330  	}
 25331  	if s.PlayerAttributes != nil {
 25332  		for i, v := range s.PlayerAttributes {
 25333  			if v == nil {
 25334  				continue
 25335  			}
 25336  			if err := v.Validate(); err != nil {
 25337  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerAttributes", i), err.(request.ErrInvalidParams))
 25338  			}
 25339  		}
 25340  	}
 25341  
 25342  	if invalidParams.Len() > 0 {
 25343  		return invalidParams
 25344  	}
 25345  	return nil
 25346  }
 25347  
 25348  // SetLatencyInMs sets the LatencyInMs field's value.
 25349  func (s *Player) SetLatencyInMs(v map[string]*int64) *Player {
 25350  	s.LatencyInMs = v
 25351  	return s
 25352  }
 25353  
 25354  // SetPlayerAttributes sets the PlayerAttributes field's value.
 25355  func (s *Player) SetPlayerAttributes(v map[string]*AttributeValue) *Player {
 25356  	s.PlayerAttributes = v
 25357  	return s
 25358  }
 25359  
 25360  // SetPlayerId sets the PlayerId field's value.
 25361  func (s *Player) SetPlayerId(v string) *Player {
 25362  	s.PlayerId = &v
 25363  	return s
 25364  }
 25365  
 25366  // SetTeam sets the Team field's value.
 25367  func (s *Player) SetTeam(v string) *Player {
 25368  	s.Team = &v
 25369  	return s
 25370  }
 25371  
 25372  // Regional latency information for a player, used when requesting a new game
 25373  // session with StartGameSessionPlacement. This value indicates the amount of
 25374  // time lag that exists when the player is connected to a fleet in the specified
 25375  // Region. The relative difference between a player's latency values for multiple
 25376  // Regions are used to determine which fleets are best suited to place a new
 25377  // game session for the player.
 25378  type PlayerLatency struct {
 25379  	_ struct{} `type:"structure"`
 25380  
 25381  	// Amount of time that represents the time lag experienced by the player when
 25382  	// connected to the specified Region.
 25383  	LatencyInMilliseconds *float64 `type:"float"`
 25384  
 25385  	// A unique identifier for a player associated with the latency data.
 25386  	PlayerId *string `min:"1" type:"string"`
 25387  
 25388  	// Name of the Region that is associated with the latency value.
 25389  	RegionIdentifier *string `min:"1" type:"string"`
 25390  }
 25391  
 25392  // String returns the string representation.
 25393  //
 25394  // API parameter values that are decorated as "sensitive" in the API will not
 25395  // be included in the string output. The member name will be present, but the
 25396  // value will be replaced with "sensitive".
 25397  func (s PlayerLatency) String() string {
 25398  	return awsutil.Prettify(s)
 25399  }
 25400  
 25401  // GoString returns the string representation.
 25402  //
 25403  // API parameter values that are decorated as "sensitive" in the API will not
 25404  // be included in the string output. The member name will be present, but the
 25405  // value will be replaced with "sensitive".
 25406  func (s PlayerLatency) GoString() string {
 25407  	return s.String()
 25408  }
 25409  
 25410  // Validate inspects the fields of the type to determine if they are valid.
 25411  func (s *PlayerLatency) Validate() error {
 25412  	invalidParams := request.ErrInvalidParams{Context: "PlayerLatency"}
 25413  	if s.PlayerId != nil && len(*s.PlayerId) < 1 {
 25414  		invalidParams.Add(request.NewErrParamMinLen("PlayerId", 1))
 25415  	}
 25416  	if s.RegionIdentifier != nil && len(*s.RegionIdentifier) < 1 {
 25417  		invalidParams.Add(request.NewErrParamMinLen("RegionIdentifier", 1))
 25418  	}
 25419  
 25420  	if invalidParams.Len() > 0 {
 25421  		return invalidParams
 25422  	}
 25423  	return nil
 25424  }
 25425  
 25426  // SetLatencyInMilliseconds sets the LatencyInMilliseconds field's value.
 25427  func (s *PlayerLatency) SetLatencyInMilliseconds(v float64) *PlayerLatency {
 25428  	s.LatencyInMilliseconds = &v
 25429  	return s
 25430  }
 25431  
 25432  // SetPlayerId sets the PlayerId field's value.
 25433  func (s *PlayerLatency) SetPlayerId(v string) *PlayerLatency {
 25434  	s.PlayerId = &v
 25435  	return s
 25436  }
 25437  
 25438  // SetRegionIdentifier sets the RegionIdentifier field's value.
 25439  func (s *PlayerLatency) SetRegionIdentifier(v string) *PlayerLatency {
 25440  	s.RegionIdentifier = &v
 25441  	return s
 25442  }
 25443  
 25444  // Sets a latency cap for individual players when placing a game session. With
 25445  // a latency policy in force, a game session cannot be placed in a fleet location
 25446  // where a player reports latency higher than the cap. Latency policies are
 25447  // used only with placement request that provide player latency information.
 25448  // Player latency policies can be stacked to gradually relax latency requirements
 25449  // over time.
 25450  //
 25451  // Latency policies are part of a GameSessionQueue.
 25452  type PlayerLatencyPolicy struct {
 25453  	_ struct{} `type:"structure"`
 25454  
 25455  	// The maximum latency value that is allowed for any player, in milliseconds.
 25456  	// All policies must have a value set for this property.
 25457  	MaximumIndividualPlayerLatencyMilliseconds *int64 `type:"integer"`
 25458  
 25459  	// The length of time, in seconds, that the policy is enforced while placing
 25460  	// a new game session. A null value for this property means that the policy
 25461  	// is enforced until the queue times out.
 25462  	PolicyDurationSeconds *int64 `type:"integer"`
 25463  }
 25464  
 25465  // String returns the string representation.
 25466  //
 25467  // API parameter values that are decorated as "sensitive" in the API will not
 25468  // be included in the string output. The member name will be present, but the
 25469  // value will be replaced with "sensitive".
 25470  func (s PlayerLatencyPolicy) String() string {
 25471  	return awsutil.Prettify(s)
 25472  }
 25473  
 25474  // GoString returns the string representation.
 25475  //
 25476  // API parameter values that are decorated as "sensitive" in the API will not
 25477  // be included in the string output. The member name will be present, but the
 25478  // value will be replaced with "sensitive".
 25479  func (s PlayerLatencyPolicy) GoString() string {
 25480  	return s.String()
 25481  }
 25482  
 25483  // SetMaximumIndividualPlayerLatencyMilliseconds sets the MaximumIndividualPlayerLatencyMilliseconds field's value.
 25484  func (s *PlayerLatencyPolicy) SetMaximumIndividualPlayerLatencyMilliseconds(v int64) *PlayerLatencyPolicy {
 25485  	s.MaximumIndividualPlayerLatencyMilliseconds = &v
 25486  	return s
 25487  }
 25488  
 25489  // SetPolicyDurationSeconds sets the PolicyDurationSeconds field's value.
 25490  func (s *PlayerLatencyPolicy) SetPolicyDurationSeconds(v int64) *PlayerLatencyPolicy {
 25491  	s.PolicyDurationSeconds = &v
 25492  	return s
 25493  }
 25494  
 25495  // Represents a player session. Player sessions are created either for a specific
 25496  // game session, or as part of a game session placement or matchmaking request.
 25497  // A player session can represents a reserved player slot in a game session
 25498  // (when status is RESERVED) or actual player activity in a game session (when
 25499  // status is ACTIVE). A player session object, including player data, is automatically
 25500  // passed to a game session when the player connects to the game session and
 25501  // is validated. After the game session ends, player sessions information is
 25502  // retained for 30 days and then removed.
 25503  //
 25504  // Related actions
 25505  //
 25506  // CreatePlayerSession | CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement
 25507  // | DescribeGameSessionPlacement | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 25508  type PlayerSession struct {
 25509  	_ struct{} `type:"structure"`
 25510  
 25511  	// A time stamp indicating when this data object was created. Format is a number
 25512  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 25513  	CreationTime *time.Time `type:"timestamp"`
 25514  
 25515  	// The DNS identifier assigned to the instance that is running the game session.
 25516  	// Values have the following format:
 25517  	//
 25518  	//    * TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com.
 25519  	//
 25520  	//    * Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com.
 25521  	//    (See Amazon EC2 Instance IP Addressing (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#concepts-public-addresses).)
 25522  	//
 25523  	// When connecting to a game session that is running on a TLS-enabled fleet,
 25524  	// you must use the DNS name, not the IP address.
 25525  	DnsName *string `type:"string"`
 25526  
 25527  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 25528  	// associated with the GameLift fleet that the player's game session is running
 25529  	// on.
 25530  	FleetArn *string `type:"string"`
 25531  
 25532  	// A unique identifier for the fleet that the player's game session is running
 25533  	// on.
 25534  	FleetId *string `type:"string"`
 25535  
 25536  	// A unique identifier for the game session that the player session is connected
 25537  	// to.
 25538  	GameSessionId *string `min:"1" type:"string"`
 25539  
 25540  	// The IP address of the game session. To connect to a GameLift game server,
 25541  	// an app needs both the IP address and port number.
 25542  	IpAddress *string `type:"string"`
 25543  
 25544  	// Developer-defined information related to a player. GameLift does not use
 25545  	// this data, so it can be formatted as needed for use in the game.
 25546  	PlayerData *string `min:"1" type:"string"`
 25547  
 25548  	// A unique identifier for a player that is associated with this player session.
 25549  	PlayerId *string `min:"1" type:"string"`
 25550  
 25551  	// A unique identifier for a player session.
 25552  	PlayerSessionId *string `type:"string"`
 25553  
 25554  	// Port number for the game session. To connect to a Amazon GameLift server
 25555  	// process, an app needs both the IP address and port number.
 25556  	Port *int64 `min:"1" type:"integer"`
 25557  
 25558  	// Current status of the player session.
 25559  	//
 25560  	// Possible player session statuses include the following:
 25561  	//
 25562  	//    * RESERVED -- The player session request has been received, but the player
 25563  	//    has not yet connected to the server process and/or been validated.
 25564  	//
 25565  	//    * ACTIVE -- The player has been validated by the server process and is
 25566  	//    currently connected.
 25567  	//
 25568  	//    * COMPLETED -- The player connection has been dropped.
 25569  	//
 25570  	//    * TIMEDOUT -- A player session request was received, but the player did
 25571  	//    not connect and/or was not validated within the timeout limit (60 seconds).
 25572  	Status *string `type:"string" enum:"PlayerSessionStatus"`
 25573  
 25574  	// A time stamp indicating when this data object was terminated. Format is a
 25575  	// number expressed in Unix time as milliseconds (for example "1469498468.057").
 25576  	TerminationTime *time.Time `type:"timestamp"`
 25577  }
 25578  
 25579  // String returns the string representation.
 25580  //
 25581  // API parameter values that are decorated as "sensitive" in the API will not
 25582  // be included in the string output. The member name will be present, but the
 25583  // value will be replaced with "sensitive".
 25584  func (s PlayerSession) String() string {
 25585  	return awsutil.Prettify(s)
 25586  }
 25587  
 25588  // GoString returns the string representation.
 25589  //
 25590  // API parameter values that are decorated as "sensitive" in the API will not
 25591  // be included in the string output. The member name will be present, but the
 25592  // value will be replaced with "sensitive".
 25593  func (s PlayerSession) GoString() string {
 25594  	return s.String()
 25595  }
 25596  
 25597  // SetCreationTime sets the CreationTime field's value.
 25598  func (s *PlayerSession) SetCreationTime(v time.Time) *PlayerSession {
 25599  	s.CreationTime = &v
 25600  	return s
 25601  }
 25602  
 25603  // SetDnsName sets the DnsName field's value.
 25604  func (s *PlayerSession) SetDnsName(v string) *PlayerSession {
 25605  	s.DnsName = &v
 25606  	return s
 25607  }
 25608  
 25609  // SetFleetArn sets the FleetArn field's value.
 25610  func (s *PlayerSession) SetFleetArn(v string) *PlayerSession {
 25611  	s.FleetArn = &v
 25612  	return s
 25613  }
 25614  
 25615  // SetFleetId sets the FleetId field's value.
 25616  func (s *PlayerSession) SetFleetId(v string) *PlayerSession {
 25617  	s.FleetId = &v
 25618  	return s
 25619  }
 25620  
 25621  // SetGameSessionId sets the GameSessionId field's value.
 25622  func (s *PlayerSession) SetGameSessionId(v string) *PlayerSession {
 25623  	s.GameSessionId = &v
 25624  	return s
 25625  }
 25626  
 25627  // SetIpAddress sets the IpAddress field's value.
 25628  func (s *PlayerSession) SetIpAddress(v string) *PlayerSession {
 25629  	s.IpAddress = &v
 25630  	return s
 25631  }
 25632  
 25633  // SetPlayerData sets the PlayerData field's value.
 25634  func (s *PlayerSession) SetPlayerData(v string) *PlayerSession {
 25635  	s.PlayerData = &v
 25636  	return s
 25637  }
 25638  
 25639  // SetPlayerId sets the PlayerId field's value.
 25640  func (s *PlayerSession) SetPlayerId(v string) *PlayerSession {
 25641  	s.PlayerId = &v
 25642  	return s
 25643  }
 25644  
 25645  // SetPlayerSessionId sets the PlayerSessionId field's value.
 25646  func (s *PlayerSession) SetPlayerSessionId(v string) *PlayerSession {
 25647  	s.PlayerSessionId = &v
 25648  	return s
 25649  }
 25650  
 25651  // SetPort sets the Port field's value.
 25652  func (s *PlayerSession) SetPort(v int64) *PlayerSession {
 25653  	s.Port = &v
 25654  	return s
 25655  }
 25656  
 25657  // SetStatus sets the Status field's value.
 25658  func (s *PlayerSession) SetStatus(v string) *PlayerSession {
 25659  	s.Status = &v
 25660  	return s
 25661  }
 25662  
 25663  // SetTerminationTime sets the TerminationTime field's value.
 25664  func (s *PlayerSession) SetTerminationTime(v time.Time) *PlayerSession {
 25665  	s.TerminationTime = &v
 25666  	return s
 25667  }
 25668  
 25669  // Custom prioritization settings for use by a game session queue when placing
 25670  // new game sessions with available game servers. When defined, this configuration
 25671  // replaces the default FleetIQ prioritization process, which is as follows:
 25672  //
 25673  //    * If player latency data is included in a game session request, destinations
 25674  //    and locations are prioritized first based on lowest average latency (1),
 25675  //    then on lowest hosting cost (2), then on destination list order (3), and
 25676  //    finally on location (alphabetical) (4). This approach ensures that the
 25677  //    queue's top priority is to place game sessions where average player latency
 25678  //    is lowest, and--if latency is the same--where the hosting cost is less,
 25679  //    etc.
 25680  //
 25681  //    * If player latency data is not included, destinations and locations are
 25682  //    prioritized first on destination list order (1), and then on location
 25683  //    (alphabetical) (2). This approach ensures that the queue's top priority
 25684  //    is to place game sessions on the first destination fleet listed. If that
 25685  //    fleet has multiple locations, the game session is placed on the first
 25686  //    location (when listed alphabetically).
 25687  //
 25688  // Changing the priority order will affect how game sessions are placed.
 25689  //
 25690  // Priority configurations are part of a GameSessionQueue.
 25691  type PriorityConfiguration struct {
 25692  	_ struct{} `type:"structure"`
 25693  
 25694  	// The prioritization order to use for fleet locations, when the PriorityOrder
 25695  	// property includes LOCATION. Locations are identified by AWS Region codes
 25696  	// such as us-west-2. Each location can only be listed once.
 25697  	LocationOrder []*string `min:"1" type:"list"`
 25698  
 25699  	// The recommended sequence to use when prioritizing where to place new game
 25700  	// sessions. Each type can only be listed once.
 25701  	//
 25702  	//    * LATENCY -- FleetIQ prioritizes locations where the average player latency
 25703  	//    (provided in each game session request) is lowest.
 25704  	//
 25705  	//    * COST -- FleetIQ prioritizes destinations with the lowest current hosting
 25706  	//    costs. Cost is evaluated based on the location, instance type, and fleet
 25707  	//    type (Spot or On-Demand) for each destination in the queue.
 25708  	//
 25709  	//    * DESTINATION -- FleetIQ prioritizes based on the order that destinations
 25710  	//    are listed in the queue configuration.
 25711  	//
 25712  	//    * LOCATION -- FleetIQ prioritizes based on the provided order of locations,
 25713  	//    as defined in LocationOrder.
 25714  	PriorityOrder []*string `min:"1" type:"list"`
 25715  }
 25716  
 25717  // String returns the string representation.
 25718  //
 25719  // API parameter values that are decorated as "sensitive" in the API will not
 25720  // be included in the string output. The member name will be present, but the
 25721  // value will be replaced with "sensitive".
 25722  func (s PriorityConfiguration) String() string {
 25723  	return awsutil.Prettify(s)
 25724  }
 25725  
 25726  // GoString returns the string representation.
 25727  //
 25728  // API parameter values that are decorated as "sensitive" in the API will not
 25729  // be included in the string output. The member name will be present, but the
 25730  // value will be replaced with "sensitive".
 25731  func (s PriorityConfiguration) GoString() string {
 25732  	return s.String()
 25733  }
 25734  
 25735  // Validate inspects the fields of the type to determine if they are valid.
 25736  func (s *PriorityConfiguration) Validate() error {
 25737  	invalidParams := request.ErrInvalidParams{Context: "PriorityConfiguration"}
 25738  	if s.LocationOrder != nil && len(s.LocationOrder) < 1 {
 25739  		invalidParams.Add(request.NewErrParamMinLen("LocationOrder", 1))
 25740  	}
 25741  	if s.PriorityOrder != nil && len(s.PriorityOrder) < 1 {
 25742  		invalidParams.Add(request.NewErrParamMinLen("PriorityOrder", 1))
 25743  	}
 25744  
 25745  	if invalidParams.Len() > 0 {
 25746  		return invalidParams
 25747  	}
 25748  	return nil
 25749  }
 25750  
 25751  // SetLocationOrder sets the LocationOrder field's value.
 25752  func (s *PriorityConfiguration) SetLocationOrder(v []*string) *PriorityConfiguration {
 25753  	s.LocationOrder = v
 25754  	return s
 25755  }
 25756  
 25757  // SetPriorityOrder sets the PriorityOrder field's value.
 25758  func (s *PriorityConfiguration) SetPriorityOrder(v []*string) *PriorityConfiguration {
 25759  	s.PriorityOrder = v
 25760  	return s
 25761  }
 25762  
 25763  // Represents the input for a request operation.
 25764  type PutScalingPolicyInput struct {
 25765  	_ struct{} `type:"structure"`
 25766  
 25767  	// Comparison operator to use when measuring the metric against the threshold
 25768  	// value.
 25769  	ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"`
 25770  
 25771  	// Length of time (in minutes) the metric must be at or beyond the threshold
 25772  	// before a scaling event is triggered.
 25773  	EvaluationPeriods *int64 `min:"1" type:"integer"`
 25774  
 25775  	// A unique identifier for the fleet to apply this policy to. You can use either
 25776  	// the fleet ID or ARN value. The fleet cannot be in any of the following statuses:
 25777  	// ERROR or DELETING.
 25778  	//
 25779  	// FleetId is a required field
 25780  	FleetId *string `type:"string" required:"true"`
 25781  
 25782  	// Name of the Amazon GameLift-defined metric that is used to trigger a scaling
 25783  	// adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon
 25784  	// GameLift with Amazon CloudWatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).
 25785  	//
 25786  	//    * ActivatingGameSessions -- Game sessions in the process of being created.
 25787  	//
 25788  	//    * ActiveGameSessions -- Game sessions that are currently running.
 25789  	//
 25790  	//    * ActiveInstances -- Fleet instances that are currently running at least
 25791  	//    one game session.
 25792  	//
 25793  	//    * AvailableGameSessions -- Additional game sessions that fleet could host
 25794  	//    simultaneously, given current capacity.
 25795  	//
 25796  	//    * AvailablePlayerSessions -- Empty player slots in currently active game
 25797  	//    sessions. This includes game sessions that are not currently accepting
 25798  	//    players. Reserved player slots are not included.
 25799  	//
 25800  	//    * CurrentPlayerSessions -- Player slots in active game sessions that are
 25801  	//    being used by a player or are reserved for a player.
 25802  	//
 25803  	//    * IdleInstances -- Active instances that are currently hosting zero game
 25804  	//    sessions.
 25805  	//
 25806  	//    * PercentAvailableGameSessions -- Unused percentage of the total number
 25807  	//    of game sessions that a fleet could host simultaneously, given current
 25808  	//    capacity. Use this metric for a target-based scaling policy.
 25809  	//
 25810  	//    * PercentIdleInstances -- Percentage of the total number of active instances
 25811  	//    that are hosting zero game sessions.
 25812  	//
 25813  	//    * QueueDepth -- Pending game session placement requests, in any queue,
 25814  	//    where the current fleet is the top-priority destination.
 25815  	//
 25816  	//    * WaitTime -- Current wait time for pending game session placement requests,
 25817  	//    in any queue, where the current fleet is the top-priority destination.
 25818  	//
 25819  	// MetricName is a required field
 25820  	MetricName *string `type:"string" required:"true" enum:"MetricName"`
 25821  
 25822  	// A descriptive label that is associated with a fleet's scaling policy. Policy
 25823  	// names do not need to be unique. A fleet can have only one scaling policy
 25824  	// with the same name.
 25825  	//
 25826  	// Name is a required field
 25827  	Name *string `min:"1" type:"string" required:"true"`
 25828  
 25829  	// The type of scaling policy to create. For a target-based policy, set the
 25830  	// parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration.
 25831  	// For a rule-based policy set the following parameters: MetricName, ComparisonOperator,
 25832  	// Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
 25833  	PolicyType *string `type:"string" enum:"PolicyType"`
 25834  
 25835  	// Amount of adjustment to make, based on the scaling adjustment type.
 25836  	ScalingAdjustment *int64 `type:"integer"`
 25837  
 25838  	// The type of adjustment to make to a fleet's instance count (see FleetCapacity):
 25839  	//
 25840  	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
 25841  	//    the current instance count. Positive values scale up while negative values
 25842  	//    scale down.
 25843  	//
 25844  	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
 25845  	//
 25846  	//    * PercentChangeInCapacity -- increase or reduce the current instance count
 25847  	//    by the scaling adjustment, read as a percentage. Positive values scale
 25848  	//    up while negative values scale down; for example, a value of "-10" scales
 25849  	//    the fleet down by 10%.
 25850  	ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"`
 25851  
 25852  	// An object that contains settings for a target-based scaling policy.
 25853  	TargetConfiguration *TargetConfiguration `type:"structure"`
 25854  
 25855  	// Metric value used to trigger a scaling event.
 25856  	Threshold *float64 `type:"double"`
 25857  }
 25858  
 25859  // String returns the string representation.
 25860  //
 25861  // API parameter values that are decorated as "sensitive" in the API will not
 25862  // be included in the string output. The member name will be present, but the
 25863  // value will be replaced with "sensitive".
 25864  func (s PutScalingPolicyInput) String() string {
 25865  	return awsutil.Prettify(s)
 25866  }
 25867  
 25868  // GoString returns the string representation.
 25869  //
 25870  // API parameter values that are decorated as "sensitive" in the API will not
 25871  // be included in the string output. The member name will be present, but the
 25872  // value will be replaced with "sensitive".
 25873  func (s PutScalingPolicyInput) GoString() string {
 25874  	return s.String()
 25875  }
 25876  
 25877  // Validate inspects the fields of the type to determine if they are valid.
 25878  func (s *PutScalingPolicyInput) Validate() error {
 25879  	invalidParams := request.ErrInvalidParams{Context: "PutScalingPolicyInput"}
 25880  	if s.EvaluationPeriods != nil && *s.EvaluationPeriods < 1 {
 25881  		invalidParams.Add(request.NewErrParamMinValue("EvaluationPeriods", 1))
 25882  	}
 25883  	if s.FleetId == nil {
 25884  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 25885  	}
 25886  	if s.MetricName == nil {
 25887  		invalidParams.Add(request.NewErrParamRequired("MetricName"))
 25888  	}
 25889  	if s.Name == nil {
 25890  		invalidParams.Add(request.NewErrParamRequired("Name"))
 25891  	}
 25892  	if s.Name != nil && len(*s.Name) < 1 {
 25893  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 25894  	}
 25895  	if s.TargetConfiguration != nil {
 25896  		if err := s.TargetConfiguration.Validate(); err != nil {
 25897  			invalidParams.AddNested("TargetConfiguration", err.(request.ErrInvalidParams))
 25898  		}
 25899  	}
 25900  
 25901  	if invalidParams.Len() > 0 {
 25902  		return invalidParams
 25903  	}
 25904  	return nil
 25905  }
 25906  
 25907  // SetComparisonOperator sets the ComparisonOperator field's value.
 25908  func (s *PutScalingPolicyInput) SetComparisonOperator(v string) *PutScalingPolicyInput {
 25909  	s.ComparisonOperator = &v
 25910  	return s
 25911  }
 25912  
 25913  // SetEvaluationPeriods sets the EvaluationPeriods field's value.
 25914  func (s *PutScalingPolicyInput) SetEvaluationPeriods(v int64) *PutScalingPolicyInput {
 25915  	s.EvaluationPeriods = &v
 25916  	return s
 25917  }
 25918  
 25919  // SetFleetId sets the FleetId field's value.
 25920  func (s *PutScalingPolicyInput) SetFleetId(v string) *PutScalingPolicyInput {
 25921  	s.FleetId = &v
 25922  	return s
 25923  }
 25924  
 25925  // SetMetricName sets the MetricName field's value.
 25926  func (s *PutScalingPolicyInput) SetMetricName(v string) *PutScalingPolicyInput {
 25927  	s.MetricName = &v
 25928  	return s
 25929  }
 25930  
 25931  // SetName sets the Name field's value.
 25932  func (s *PutScalingPolicyInput) SetName(v string) *PutScalingPolicyInput {
 25933  	s.Name = &v
 25934  	return s
 25935  }
 25936  
 25937  // SetPolicyType sets the PolicyType field's value.
 25938  func (s *PutScalingPolicyInput) SetPolicyType(v string) *PutScalingPolicyInput {
 25939  	s.PolicyType = &v
 25940  	return s
 25941  }
 25942  
 25943  // SetScalingAdjustment sets the ScalingAdjustment field's value.
 25944  func (s *PutScalingPolicyInput) SetScalingAdjustment(v int64) *PutScalingPolicyInput {
 25945  	s.ScalingAdjustment = &v
 25946  	return s
 25947  }
 25948  
 25949  // SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
 25950  func (s *PutScalingPolicyInput) SetScalingAdjustmentType(v string) *PutScalingPolicyInput {
 25951  	s.ScalingAdjustmentType = &v
 25952  	return s
 25953  }
 25954  
 25955  // SetTargetConfiguration sets the TargetConfiguration field's value.
 25956  func (s *PutScalingPolicyInput) SetTargetConfiguration(v *TargetConfiguration) *PutScalingPolicyInput {
 25957  	s.TargetConfiguration = v
 25958  	return s
 25959  }
 25960  
 25961  // SetThreshold sets the Threshold field's value.
 25962  func (s *PutScalingPolicyInput) SetThreshold(v float64) *PutScalingPolicyInput {
 25963  	s.Threshold = &v
 25964  	return s
 25965  }
 25966  
 25967  // Represents the returned data in response to a request operation.
 25968  type PutScalingPolicyOutput struct {
 25969  	_ struct{} `type:"structure"`
 25970  
 25971  	// A descriptive label that is associated with a fleet's scaling policy. Policy
 25972  	// names do not need to be unique.
 25973  	Name *string `min:"1" type:"string"`
 25974  }
 25975  
 25976  // String returns the string representation.
 25977  //
 25978  // API parameter values that are decorated as "sensitive" in the API will not
 25979  // be included in the string output. The member name will be present, but the
 25980  // value will be replaced with "sensitive".
 25981  func (s PutScalingPolicyOutput) String() string {
 25982  	return awsutil.Prettify(s)
 25983  }
 25984  
 25985  // GoString returns the string representation.
 25986  //
 25987  // API parameter values that are decorated as "sensitive" in the API will not
 25988  // be included in the string output. The member name will be present, but the
 25989  // value will be replaced with "sensitive".
 25990  func (s PutScalingPolicyOutput) GoString() string {
 25991  	return s.String()
 25992  }
 25993  
 25994  // SetName sets the Name field's value.
 25995  func (s *PutScalingPolicyOutput) SetName(v string) *PutScalingPolicyOutput {
 25996  	s.Name = &v
 25997  	return s
 25998  }
 25999  
 26000  type RegisterGameServerInput struct {
 26001  	_ struct{} `type:"structure"`
 26002  
 26003  	// Information that is needed to make inbound client connections to the game
 26004  	// server. This might include the IP address and port, DNS name, and other information.
 26005  	ConnectionInfo *string `min:"1" type:"string"`
 26006  
 26007  	// A set of custom game server properties, formatted as a single string value.
 26008  	// This data is passed to a game client or service when it requests information
 26009  	// on game servers using ListGameServers or ClaimGameServer.
 26010  	GameServerData *string `min:"1" type:"string"`
 26011  
 26012  	// A unique identifier for the game server group where the game server is running.
 26013  	// Use either the GameServerGroup name or ARN value.
 26014  	//
 26015  	// GameServerGroupName is a required field
 26016  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 26017  
 26018  	// A custom string that uniquely identifies the game server to register. Game
 26019  	// server IDs are developer-defined and must be unique across all game server
 26020  	// groups in your AWS account.
 26021  	//
 26022  	// GameServerId is a required field
 26023  	GameServerId *string `min:"3" type:"string" required:"true"`
 26024  
 26025  	// The unique identifier for the instance where the game server is running.
 26026  	// This ID is available in the instance metadata. EC2 instance IDs use a 17-character
 26027  	// format, for example: i-1234567890abcdef0.
 26028  	//
 26029  	// InstanceId is a required field
 26030  	InstanceId *string `min:"19" type:"string" required:"true"`
 26031  }
 26032  
 26033  // String 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".
 26038  func (s RegisterGameServerInput) String() string {
 26039  	return awsutil.Prettify(s)
 26040  }
 26041  
 26042  // GoString returns the string representation.
 26043  //
 26044  // API parameter values that are decorated as "sensitive" in the API will not
 26045  // be included in the string output. The member name will be present, but the
 26046  // value will be replaced with "sensitive".
 26047  func (s RegisterGameServerInput) GoString() string {
 26048  	return s.String()
 26049  }
 26050  
 26051  // Validate inspects the fields of the type to determine if they are valid.
 26052  func (s *RegisterGameServerInput) Validate() error {
 26053  	invalidParams := request.ErrInvalidParams{Context: "RegisterGameServerInput"}
 26054  	if s.ConnectionInfo != nil && len(*s.ConnectionInfo) < 1 {
 26055  		invalidParams.Add(request.NewErrParamMinLen("ConnectionInfo", 1))
 26056  	}
 26057  	if s.GameServerData != nil && len(*s.GameServerData) < 1 {
 26058  		invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1))
 26059  	}
 26060  	if s.GameServerGroupName == nil {
 26061  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 26062  	}
 26063  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 26064  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 26065  	}
 26066  	if s.GameServerId == nil {
 26067  		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
 26068  	}
 26069  	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
 26070  		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
 26071  	}
 26072  	if s.InstanceId == nil {
 26073  		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
 26074  	}
 26075  	if s.InstanceId != nil && len(*s.InstanceId) < 19 {
 26076  		invalidParams.Add(request.NewErrParamMinLen("InstanceId", 19))
 26077  	}
 26078  
 26079  	if invalidParams.Len() > 0 {
 26080  		return invalidParams
 26081  	}
 26082  	return nil
 26083  }
 26084  
 26085  // SetConnectionInfo sets the ConnectionInfo field's value.
 26086  func (s *RegisterGameServerInput) SetConnectionInfo(v string) *RegisterGameServerInput {
 26087  	s.ConnectionInfo = &v
 26088  	return s
 26089  }
 26090  
 26091  // SetGameServerData sets the GameServerData field's value.
 26092  func (s *RegisterGameServerInput) SetGameServerData(v string) *RegisterGameServerInput {
 26093  	s.GameServerData = &v
 26094  	return s
 26095  }
 26096  
 26097  // SetGameServerGroupName sets the GameServerGroupName field's value.
 26098  func (s *RegisterGameServerInput) SetGameServerGroupName(v string) *RegisterGameServerInput {
 26099  	s.GameServerGroupName = &v
 26100  	return s
 26101  }
 26102  
 26103  // SetGameServerId sets the GameServerId field's value.
 26104  func (s *RegisterGameServerInput) SetGameServerId(v string) *RegisterGameServerInput {
 26105  	s.GameServerId = &v
 26106  	return s
 26107  }
 26108  
 26109  // SetInstanceId sets the InstanceId field's value.
 26110  func (s *RegisterGameServerInput) SetInstanceId(v string) *RegisterGameServerInput {
 26111  	s.InstanceId = &v
 26112  	return s
 26113  }
 26114  
 26115  type RegisterGameServerOutput struct {
 26116  	_ struct{} `type:"structure"`
 26117  
 26118  	// Object that describes the newly registered game server.
 26119  	GameServer *GameServer `type:"structure"`
 26120  }
 26121  
 26122  // String returns the string representation.
 26123  //
 26124  // API parameter values that are decorated as "sensitive" in the API will not
 26125  // be included in the string output. The member name will be present, but the
 26126  // value will be replaced with "sensitive".
 26127  func (s RegisterGameServerOutput) String() string {
 26128  	return awsutil.Prettify(s)
 26129  }
 26130  
 26131  // GoString returns the string representation.
 26132  //
 26133  // API parameter values that are decorated as "sensitive" in the API will not
 26134  // be included in the string output. The member name will be present, but the
 26135  // value will be replaced with "sensitive".
 26136  func (s RegisterGameServerOutput) GoString() string {
 26137  	return s.String()
 26138  }
 26139  
 26140  // SetGameServer sets the GameServer field's value.
 26141  func (s *RegisterGameServerOutput) SetGameServer(v *GameServer) *RegisterGameServerOutput {
 26142  	s.GameServer = v
 26143  	return s
 26144  }
 26145  
 26146  // Represents the input for a request operation.
 26147  type RequestUploadCredentialsInput struct {
 26148  	_ struct{} `type:"structure"`
 26149  
 26150  	// A unique identifier for the build to get credentials for. You can use either
 26151  	// the build ID or ARN value.
 26152  	//
 26153  	// BuildId is a required field
 26154  	BuildId *string `type:"string" required:"true"`
 26155  }
 26156  
 26157  // String returns the string representation.
 26158  //
 26159  // API parameter values that are decorated as "sensitive" in the API will not
 26160  // be included in the string output. The member name will be present, but the
 26161  // value will be replaced with "sensitive".
 26162  func (s RequestUploadCredentialsInput) String() string {
 26163  	return awsutil.Prettify(s)
 26164  }
 26165  
 26166  // GoString returns the string representation.
 26167  //
 26168  // API parameter values that are decorated as "sensitive" in the API will not
 26169  // be included in the string output. The member name will be present, but the
 26170  // value will be replaced with "sensitive".
 26171  func (s RequestUploadCredentialsInput) GoString() string {
 26172  	return s.String()
 26173  }
 26174  
 26175  // Validate inspects the fields of the type to determine if they are valid.
 26176  func (s *RequestUploadCredentialsInput) Validate() error {
 26177  	invalidParams := request.ErrInvalidParams{Context: "RequestUploadCredentialsInput"}
 26178  	if s.BuildId == nil {
 26179  		invalidParams.Add(request.NewErrParamRequired("BuildId"))
 26180  	}
 26181  
 26182  	if invalidParams.Len() > 0 {
 26183  		return invalidParams
 26184  	}
 26185  	return nil
 26186  }
 26187  
 26188  // SetBuildId sets the BuildId field's value.
 26189  func (s *RequestUploadCredentialsInput) SetBuildId(v string) *RequestUploadCredentialsInput {
 26190  	s.BuildId = &v
 26191  	return s
 26192  }
 26193  
 26194  // Represents the returned data in response to a request operation.
 26195  type RequestUploadCredentialsOutput struct {
 26196  	_ struct{} `type:"structure"`
 26197  
 26198  	// Amazon S3 path and key, identifying where the game build files are stored.
 26199  	StorageLocation *S3Location `type:"structure"`
 26200  
 26201  	// AWS credentials required when uploading a game build to the storage location.
 26202  	// These credentials have a limited lifespan and are valid only for the build
 26203  	// they were issued for.
 26204  	//
 26205  	// UploadCredentials is a sensitive parameter and its value will be
 26206  	// replaced with "sensitive" in string returned by RequestUploadCredentialsOutput's
 26207  	// String and GoString methods.
 26208  	UploadCredentials *AwsCredentials `type:"structure" sensitive:"true"`
 26209  }
 26210  
 26211  // String returns the string representation.
 26212  //
 26213  // API parameter values that are decorated as "sensitive" in the API will not
 26214  // be included in the string output. The member name will be present, but the
 26215  // value will be replaced with "sensitive".
 26216  func (s RequestUploadCredentialsOutput) String() string {
 26217  	return awsutil.Prettify(s)
 26218  }
 26219  
 26220  // GoString returns the string representation.
 26221  //
 26222  // API parameter values that are decorated as "sensitive" in the API will not
 26223  // be included in the string output. The member name will be present, but the
 26224  // value will be replaced with "sensitive".
 26225  func (s RequestUploadCredentialsOutput) GoString() string {
 26226  	return s.String()
 26227  }
 26228  
 26229  // SetStorageLocation sets the StorageLocation field's value.
 26230  func (s *RequestUploadCredentialsOutput) SetStorageLocation(v *S3Location) *RequestUploadCredentialsOutput {
 26231  	s.StorageLocation = v
 26232  	return s
 26233  }
 26234  
 26235  // SetUploadCredentials sets the UploadCredentials field's value.
 26236  func (s *RequestUploadCredentialsOutput) SetUploadCredentials(v *AwsCredentials) *RequestUploadCredentialsOutput {
 26237  	s.UploadCredentials = v
 26238  	return s
 26239  }
 26240  
 26241  // Represents the input for a request operation.
 26242  type ResolveAliasInput struct {
 26243  	_ struct{} `type:"structure"`
 26244  
 26245  	// The unique identifier of the alias that you want to retrieve a fleet ID for.
 26246  	// You can use either the alias ID or ARN value.
 26247  	//
 26248  	// AliasId is a required field
 26249  	AliasId *string `type:"string" required:"true"`
 26250  }
 26251  
 26252  // String returns the string representation.
 26253  //
 26254  // API parameter values that are decorated as "sensitive" in the API will not
 26255  // be included in the string output. The member name will be present, but the
 26256  // value will be replaced with "sensitive".
 26257  func (s ResolveAliasInput) String() string {
 26258  	return awsutil.Prettify(s)
 26259  }
 26260  
 26261  // GoString returns the string representation.
 26262  //
 26263  // API parameter values that are decorated as "sensitive" in the API will not
 26264  // be included in the string output. The member name will be present, but the
 26265  // value will be replaced with "sensitive".
 26266  func (s ResolveAliasInput) GoString() string {
 26267  	return s.String()
 26268  }
 26269  
 26270  // Validate inspects the fields of the type to determine if they are valid.
 26271  func (s *ResolveAliasInput) Validate() error {
 26272  	invalidParams := request.ErrInvalidParams{Context: "ResolveAliasInput"}
 26273  	if s.AliasId == nil {
 26274  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
 26275  	}
 26276  
 26277  	if invalidParams.Len() > 0 {
 26278  		return invalidParams
 26279  	}
 26280  	return nil
 26281  }
 26282  
 26283  // SetAliasId sets the AliasId field's value.
 26284  func (s *ResolveAliasInput) SetAliasId(v string) *ResolveAliasInput {
 26285  	s.AliasId = &v
 26286  	return s
 26287  }
 26288  
 26289  // Represents the returned data in response to a request operation.
 26290  type ResolveAliasOutput struct {
 26291  	_ struct{} `type:"structure"`
 26292  
 26293  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 26294  	// associated with the GameLift fleet resource that this alias points to.
 26295  	FleetArn *string `type:"string"`
 26296  
 26297  	// The fleet identifier that the alias is pointing to.
 26298  	FleetId *string `type:"string"`
 26299  }
 26300  
 26301  // String returns the string representation.
 26302  //
 26303  // API parameter values that are decorated as "sensitive" in the API will not
 26304  // be included in the string output. The member name will be present, but the
 26305  // value will be replaced with "sensitive".
 26306  func (s ResolveAliasOutput) String() string {
 26307  	return awsutil.Prettify(s)
 26308  }
 26309  
 26310  // GoString returns the string representation.
 26311  //
 26312  // API parameter values that are decorated as "sensitive" in the API will not
 26313  // be included in the string output. The member name will be present, but the
 26314  // value will be replaced with "sensitive".
 26315  func (s ResolveAliasOutput) GoString() string {
 26316  	return s.String()
 26317  }
 26318  
 26319  // SetFleetArn sets the FleetArn field's value.
 26320  func (s *ResolveAliasOutput) SetFleetArn(v string) *ResolveAliasOutput {
 26321  	s.FleetArn = &v
 26322  	return s
 26323  }
 26324  
 26325  // SetFleetId sets the FleetId field's value.
 26326  func (s *ResolveAliasOutput) SetFleetId(v string) *ResolveAliasOutput {
 26327  	s.FleetId = &v
 26328  	return s
 26329  }
 26330  
 26331  // A policy that puts limits on the number of game sessions that a player can
 26332  // create within a specified span of time. With this policy, you can control
 26333  // players' ability to consume available resources.
 26334  //
 26335  // The policy is evaluated when a player tries to create a new game session.
 26336  // On receiving a CreateGameSession request, GameLift checks that the player
 26337  // (identified by CreatorId) has created fewer than game session limit in the
 26338  // specified time period.
 26339  //
 26340  // The resource creation limit policy is included in FleetAttributes.
 26341  type ResourceCreationLimitPolicy struct {
 26342  	_ struct{} `type:"structure"`
 26343  
 26344  	// The maximum number of game sessions that an individual can create during
 26345  	// the policy period.
 26346  	NewGameSessionsPerCreator *int64 `type:"integer"`
 26347  
 26348  	// The time span used in evaluating the resource creation limit policy.
 26349  	PolicyPeriodInMinutes *int64 `type:"integer"`
 26350  }
 26351  
 26352  // String returns the string representation.
 26353  //
 26354  // API parameter values that are decorated as "sensitive" in the API will not
 26355  // be included in the string output. The member name will be present, but the
 26356  // value will be replaced with "sensitive".
 26357  func (s ResourceCreationLimitPolicy) String() string {
 26358  	return awsutil.Prettify(s)
 26359  }
 26360  
 26361  // GoString returns the string representation.
 26362  //
 26363  // API parameter values that are decorated as "sensitive" in the API will not
 26364  // be included in the string output. The member name will be present, but the
 26365  // value will be replaced with "sensitive".
 26366  func (s ResourceCreationLimitPolicy) GoString() string {
 26367  	return s.String()
 26368  }
 26369  
 26370  // SetNewGameSessionsPerCreator sets the NewGameSessionsPerCreator field's value.
 26371  func (s *ResourceCreationLimitPolicy) SetNewGameSessionsPerCreator(v int64) *ResourceCreationLimitPolicy {
 26372  	s.NewGameSessionsPerCreator = &v
 26373  	return s
 26374  }
 26375  
 26376  // SetPolicyPeriodInMinutes sets the PolicyPeriodInMinutes field's value.
 26377  func (s *ResourceCreationLimitPolicy) SetPolicyPeriodInMinutes(v int64) *ResourceCreationLimitPolicy {
 26378  	s.PolicyPeriodInMinutes = &v
 26379  	return s
 26380  }
 26381  
 26382  type ResumeGameServerGroupInput struct {
 26383  	_ struct{} `type:"structure"`
 26384  
 26385  	// A unique identifier for the game server group. Use either the GameServerGroup
 26386  	// name or ARN value.
 26387  	//
 26388  	// GameServerGroupName is a required field
 26389  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 26390  
 26391  	// The activity to resume for this game server group.
 26392  	//
 26393  	// ResumeActions is a required field
 26394  	ResumeActions []*string `min:"1" type:"list" required:"true"`
 26395  }
 26396  
 26397  // String returns the string representation.
 26398  //
 26399  // API parameter values that are decorated as "sensitive" in the API will not
 26400  // be included in the string output. The member name will be present, but the
 26401  // value will be replaced with "sensitive".
 26402  func (s ResumeGameServerGroupInput) String() string {
 26403  	return awsutil.Prettify(s)
 26404  }
 26405  
 26406  // GoString returns the string representation.
 26407  //
 26408  // API parameter values that are decorated as "sensitive" in the API will not
 26409  // be included in the string output. The member name will be present, but the
 26410  // value will be replaced with "sensitive".
 26411  func (s ResumeGameServerGroupInput) GoString() string {
 26412  	return s.String()
 26413  }
 26414  
 26415  // Validate inspects the fields of the type to determine if they are valid.
 26416  func (s *ResumeGameServerGroupInput) Validate() error {
 26417  	invalidParams := request.ErrInvalidParams{Context: "ResumeGameServerGroupInput"}
 26418  	if s.GameServerGroupName == nil {
 26419  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 26420  	}
 26421  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 26422  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 26423  	}
 26424  	if s.ResumeActions == nil {
 26425  		invalidParams.Add(request.NewErrParamRequired("ResumeActions"))
 26426  	}
 26427  	if s.ResumeActions != nil && len(s.ResumeActions) < 1 {
 26428  		invalidParams.Add(request.NewErrParamMinLen("ResumeActions", 1))
 26429  	}
 26430  
 26431  	if invalidParams.Len() > 0 {
 26432  		return invalidParams
 26433  	}
 26434  	return nil
 26435  }
 26436  
 26437  // SetGameServerGroupName sets the GameServerGroupName field's value.
 26438  func (s *ResumeGameServerGroupInput) SetGameServerGroupName(v string) *ResumeGameServerGroupInput {
 26439  	s.GameServerGroupName = &v
 26440  	return s
 26441  }
 26442  
 26443  // SetResumeActions sets the ResumeActions field's value.
 26444  func (s *ResumeGameServerGroupInput) SetResumeActions(v []*string) *ResumeGameServerGroupInput {
 26445  	s.ResumeActions = v
 26446  	return s
 26447  }
 26448  
 26449  type ResumeGameServerGroupOutput struct {
 26450  	_ struct{} `type:"structure"`
 26451  
 26452  	// An object that describes the game server group resource, with the SuspendedActions
 26453  	// property updated to reflect the resumed activity.
 26454  	GameServerGroup *GameServerGroup `type:"structure"`
 26455  }
 26456  
 26457  // String returns the string representation.
 26458  //
 26459  // API parameter values that are decorated as "sensitive" in the API will not
 26460  // be included in the string output. The member name will be present, but the
 26461  // value will be replaced with "sensitive".
 26462  func (s ResumeGameServerGroupOutput) String() string {
 26463  	return awsutil.Prettify(s)
 26464  }
 26465  
 26466  // GoString returns the string representation.
 26467  //
 26468  // API parameter values that are decorated as "sensitive" in the API will not
 26469  // be included in the string output. The member name will be present, but the
 26470  // value will be replaced with "sensitive".
 26471  func (s ResumeGameServerGroupOutput) GoString() string {
 26472  	return s.String()
 26473  }
 26474  
 26475  // SetGameServerGroup sets the GameServerGroup field's value.
 26476  func (s *ResumeGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *ResumeGameServerGroupOutput {
 26477  	s.GameServerGroup = v
 26478  	return s
 26479  }
 26480  
 26481  // The routing configuration for a fleet alias.
 26482  //
 26483  // Related actions
 26484  //
 26485  // CreateAlias | ListAliases | DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias
 26486  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 26487  type RoutingStrategy struct {
 26488  	_ struct{} `type:"structure"`
 26489  
 26490  	// A unique identifier for the fleet that the alias points to. This value is
 26491  	// the fleet ID, not the fleet ARN.
 26492  	FleetId *string `type:"string"`
 26493  
 26494  	// The message text to be used with a terminal routing strategy.
 26495  	Message *string `type:"string"`
 26496  
 26497  	// The type of routing strategy for the alias.
 26498  	//
 26499  	// Possible routing types include the following:
 26500  	//
 26501  	//    * SIMPLE - The alias resolves to one specific fleet. Use this type when
 26502  	//    routing to active fleets.
 26503  	//
 26504  	//    * TERMINAL - The alias does not resolve to a fleet but instead can be
 26505  	//    used to display a message to the user. A terminal alias throws a TerminalRoutingStrategyException
 26506  	//    with the RoutingStrategy message embedded.
 26507  	Type *string `type:"string" enum:"RoutingStrategyType"`
 26508  }
 26509  
 26510  // String returns the string representation.
 26511  //
 26512  // API parameter values that are decorated as "sensitive" in the API will not
 26513  // be included in the string output. The member name will be present, but the
 26514  // value will be replaced with "sensitive".
 26515  func (s RoutingStrategy) String() string {
 26516  	return awsutil.Prettify(s)
 26517  }
 26518  
 26519  // GoString returns the string representation.
 26520  //
 26521  // API parameter values that are decorated as "sensitive" in the API will not
 26522  // be included in the string output. The member name will be present, but the
 26523  // value will be replaced with "sensitive".
 26524  func (s RoutingStrategy) GoString() string {
 26525  	return s.String()
 26526  }
 26527  
 26528  // SetFleetId sets the FleetId field's value.
 26529  func (s *RoutingStrategy) SetFleetId(v string) *RoutingStrategy {
 26530  	s.FleetId = &v
 26531  	return s
 26532  }
 26533  
 26534  // SetMessage sets the Message field's value.
 26535  func (s *RoutingStrategy) SetMessage(v string) *RoutingStrategy {
 26536  	s.Message = &v
 26537  	return s
 26538  }
 26539  
 26540  // SetType sets the Type field's value.
 26541  func (s *RoutingStrategy) SetType(v string) *RoutingStrategy {
 26542  	s.Type = &v
 26543  	return s
 26544  }
 26545  
 26546  // A collection of server process configurations that describe the set of processes
 26547  // to run on each instance in a fleet. Server processes run either an executable
 26548  // in a custom game build or a Realtime Servers script. GameLift launches the
 26549  // configured processes, manages their life cycle, and replaces them as needed.
 26550  // Each instance checks regularly for an updated runtime configuration.
 26551  //
 26552  // A GameLift instance is limited to 50 processes running concurrently. To calculate
 26553  // the total number of processes in a runtime configuration, add the values
 26554  // of the ConcurrentExecutions parameter for each ServerProcess. Learn more
 26555  // about Running Multiple Processes on a Fleet (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-multiprocess.html).
 26556  //
 26557  // Related actions
 26558  //
 26559  // DescribeRuntimeConfiguration | UpdateRuntimeConfiguration
 26560  type RuntimeConfiguration struct {
 26561  	_ struct{} `type:"structure"`
 26562  
 26563  	// The maximum amount of time (in seconds) allowed to launch a new game session
 26564  	// and have it report ready to host players. During this time, the game session
 26565  	// is in status ACTIVATING. If the game session does not become active before
 26566  	// the timeout, it is ended and the game session status is changed to TERMINATED.
 26567  	GameSessionActivationTimeoutSeconds *int64 `min:"1" type:"integer"`
 26568  
 26569  	// The number of game sessions in status ACTIVATING to allow on an instance.
 26570  	// This setting limits the instance resources that can be used for new game
 26571  	// activations at any one time.
 26572  	MaxConcurrentGameSessionActivations *int64 `min:"1" type:"integer"`
 26573  
 26574  	// A collection of server process configurations that identify what server processes
 26575  	// to run on each instance in a fleet.
 26576  	ServerProcesses []*ServerProcess `min:"1" type:"list"`
 26577  }
 26578  
 26579  // String returns the string representation.
 26580  //
 26581  // API parameter values that are decorated as "sensitive" in the API will not
 26582  // be included in the string output. The member name will be present, but the
 26583  // value will be replaced with "sensitive".
 26584  func (s RuntimeConfiguration) String() string {
 26585  	return awsutil.Prettify(s)
 26586  }
 26587  
 26588  // GoString returns the string representation.
 26589  //
 26590  // API parameter values that are decorated as "sensitive" in the API will not
 26591  // be included in the string output. The member name will be present, but the
 26592  // value will be replaced with "sensitive".
 26593  func (s RuntimeConfiguration) GoString() string {
 26594  	return s.String()
 26595  }
 26596  
 26597  // Validate inspects the fields of the type to determine if they are valid.
 26598  func (s *RuntimeConfiguration) Validate() error {
 26599  	invalidParams := request.ErrInvalidParams{Context: "RuntimeConfiguration"}
 26600  	if s.GameSessionActivationTimeoutSeconds != nil && *s.GameSessionActivationTimeoutSeconds < 1 {
 26601  		invalidParams.Add(request.NewErrParamMinValue("GameSessionActivationTimeoutSeconds", 1))
 26602  	}
 26603  	if s.MaxConcurrentGameSessionActivations != nil && *s.MaxConcurrentGameSessionActivations < 1 {
 26604  		invalidParams.Add(request.NewErrParamMinValue("MaxConcurrentGameSessionActivations", 1))
 26605  	}
 26606  	if s.ServerProcesses != nil && len(s.ServerProcesses) < 1 {
 26607  		invalidParams.Add(request.NewErrParamMinLen("ServerProcesses", 1))
 26608  	}
 26609  	if s.ServerProcesses != nil {
 26610  		for i, v := range s.ServerProcesses {
 26611  			if v == nil {
 26612  				continue
 26613  			}
 26614  			if err := v.Validate(); err != nil {
 26615  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerProcesses", i), err.(request.ErrInvalidParams))
 26616  			}
 26617  		}
 26618  	}
 26619  
 26620  	if invalidParams.Len() > 0 {
 26621  		return invalidParams
 26622  	}
 26623  	return nil
 26624  }
 26625  
 26626  // SetGameSessionActivationTimeoutSeconds sets the GameSessionActivationTimeoutSeconds field's value.
 26627  func (s *RuntimeConfiguration) SetGameSessionActivationTimeoutSeconds(v int64) *RuntimeConfiguration {
 26628  	s.GameSessionActivationTimeoutSeconds = &v
 26629  	return s
 26630  }
 26631  
 26632  // SetMaxConcurrentGameSessionActivations sets the MaxConcurrentGameSessionActivations field's value.
 26633  func (s *RuntimeConfiguration) SetMaxConcurrentGameSessionActivations(v int64) *RuntimeConfiguration {
 26634  	s.MaxConcurrentGameSessionActivations = &v
 26635  	return s
 26636  }
 26637  
 26638  // SetServerProcesses sets the ServerProcesses field's value.
 26639  func (s *RuntimeConfiguration) SetServerProcesses(v []*ServerProcess) *RuntimeConfiguration {
 26640  	s.ServerProcesses = v
 26641  	return s
 26642  }
 26643  
 26644  // The location in Amazon S3 where build or script files are stored for access
 26645  // by Amazon GameLift. This location is specified in CreateBuild, CreateScript,
 26646  // and UpdateScript requests.
 26647  type S3Location struct {
 26648  	_ struct{} `type:"structure"`
 26649  
 26650  	// An Amazon S3 bucket identifier. This is the name of the S3 bucket.
 26651  	//
 26652  	// GameLift currently does not support uploading from Amazon S3 buckets with
 26653  	// names that contain a dot (.).
 26654  	Bucket *string `min:"1" type:"string"`
 26655  
 26656  	// The name of the zip file that contains the build files or script files.
 26657  	Key *string `min:"1" type:"string"`
 26658  
 26659  	// The version of the file, if object versioning is turned on for the bucket.
 26660  	// Amazon GameLift uses this information when retrieving files from an S3 bucket
 26661  	// that you own. Use this parameter to specify a specific version of the file.
 26662  	// If not set, the latest version of the file is retrieved.
 26663  	ObjectVersion *string `min:"1" type:"string"`
 26664  
 26665  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 26666  	// for an IAM role that allows Amazon GameLift to access the S3 bucket.
 26667  	RoleArn *string `min:"1" type:"string"`
 26668  }
 26669  
 26670  // String returns the string representation.
 26671  //
 26672  // API parameter values that are decorated as "sensitive" in the API will not
 26673  // be included in the string output. The member name will be present, but the
 26674  // value will be replaced with "sensitive".
 26675  func (s S3Location) String() string {
 26676  	return awsutil.Prettify(s)
 26677  }
 26678  
 26679  // GoString returns the string representation.
 26680  //
 26681  // API parameter values that are decorated as "sensitive" in the API will not
 26682  // be included in the string output. The member name will be present, but the
 26683  // value will be replaced with "sensitive".
 26684  func (s S3Location) GoString() string {
 26685  	return s.String()
 26686  }
 26687  
 26688  // Validate inspects the fields of the type to determine if they are valid.
 26689  func (s *S3Location) Validate() error {
 26690  	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
 26691  	if s.Bucket != nil && len(*s.Bucket) < 1 {
 26692  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
 26693  	}
 26694  	if s.Key != nil && len(*s.Key) < 1 {
 26695  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 26696  	}
 26697  	if s.ObjectVersion != nil && len(*s.ObjectVersion) < 1 {
 26698  		invalidParams.Add(request.NewErrParamMinLen("ObjectVersion", 1))
 26699  	}
 26700  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 26701  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 26702  	}
 26703  
 26704  	if invalidParams.Len() > 0 {
 26705  		return invalidParams
 26706  	}
 26707  	return nil
 26708  }
 26709  
 26710  // SetBucket sets the Bucket field's value.
 26711  func (s *S3Location) SetBucket(v string) *S3Location {
 26712  	s.Bucket = &v
 26713  	return s
 26714  }
 26715  
 26716  // SetKey sets the Key field's value.
 26717  func (s *S3Location) SetKey(v string) *S3Location {
 26718  	s.Key = &v
 26719  	return s
 26720  }
 26721  
 26722  // SetObjectVersion sets the ObjectVersion field's value.
 26723  func (s *S3Location) SetObjectVersion(v string) *S3Location {
 26724  	s.ObjectVersion = &v
 26725  	return s
 26726  }
 26727  
 26728  // SetRoleArn sets the RoleArn field's value.
 26729  func (s *S3Location) SetRoleArn(v string) *S3Location {
 26730  	s.RoleArn = &v
 26731  	return s
 26732  }
 26733  
 26734  // Rule that controls how a fleet is scaled. Scaling policies are uniquely identified
 26735  // by the combination of name and fleet ID.
 26736  //
 26737  // Related actions
 26738  //
 26739  // DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
 26740  // PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
 26741  // | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 26742  type ScalingPolicy struct {
 26743  	_ struct{} `type:"structure"`
 26744  
 26745  	// Comparison operator to use when measuring a metric against the threshold
 26746  	// value.
 26747  	ComparisonOperator *string `type:"string" enum:"ComparisonOperatorType"`
 26748  
 26749  	// Length of time (in minutes) the metric must be at or beyond the threshold
 26750  	// before a scaling event is triggered.
 26751  	EvaluationPeriods *int64 `min:"1" type:"integer"`
 26752  
 26753  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 26754  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 26755  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 26756  	FleetArn *string `type:"string"`
 26757  
 26758  	// A unique identifier for the fleet that is associated with this scaling policy.
 26759  	FleetId *string `type:"string"`
 26760  
 26761  	Location *string `min:"1" type:"string"`
 26762  
 26763  	// Name of the Amazon GameLift-defined metric that is used to trigger a scaling
 26764  	// adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon
 26765  	// GameLift with Amazon CloudWatch (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html).
 26766  	//
 26767  	//    * ActivatingGameSessions -- Game sessions in the process of being created.
 26768  	//
 26769  	//    * ActiveGameSessions -- Game sessions that are currently running.
 26770  	//
 26771  	//    * ActiveInstances -- Fleet instances that are currently running at least
 26772  	//    one game session.
 26773  	//
 26774  	//    * AvailableGameSessions -- Additional game sessions that fleet could host
 26775  	//    simultaneously, given current capacity.
 26776  	//
 26777  	//    * AvailablePlayerSessions -- Empty player slots in currently active game
 26778  	//    sessions. This includes game sessions that are not currently accepting
 26779  	//    players. Reserved player slots are not included.
 26780  	//
 26781  	//    * CurrentPlayerSessions -- Player slots in active game sessions that are
 26782  	//    being used by a player or are reserved for a player.
 26783  	//
 26784  	//    * IdleInstances -- Active instances that are currently hosting zero game
 26785  	//    sessions.
 26786  	//
 26787  	//    * PercentAvailableGameSessions -- Unused percentage of the total number
 26788  	//    of game sessions that a fleet could host simultaneously, given current
 26789  	//    capacity. Use this metric for a target-based scaling policy.
 26790  	//
 26791  	//    * PercentIdleInstances -- Percentage of the total number of active instances
 26792  	//    that are hosting zero game sessions.
 26793  	//
 26794  	//    * QueueDepth -- Pending game session placement requests, in any queue,
 26795  	//    where the current fleet is the top-priority destination.
 26796  	//
 26797  	//    * WaitTime -- Current wait time for pending game session placement requests,
 26798  	//    in any queue, where the current fleet is the top-priority destination.
 26799  	MetricName *string `type:"string" enum:"MetricName"`
 26800  
 26801  	// A descriptive label that is associated with a fleet's scaling policy. Policy
 26802  	// names do not need to be unique.
 26803  	Name *string `min:"1" type:"string"`
 26804  
 26805  	// The type of scaling policy to create. For a target-based policy, set the
 26806  	// parameter MetricName to 'PercentAvailableGameSessions' and specify a TargetConfiguration.
 26807  	// For a rule-based policy set the following parameters: MetricName, ComparisonOperator,
 26808  	// Threshold, EvaluationPeriods, ScalingAdjustmentType, and ScalingAdjustment.
 26809  	PolicyType *string `type:"string" enum:"PolicyType"`
 26810  
 26811  	// Amount of adjustment to make, based on the scaling adjustment type.
 26812  	ScalingAdjustment *int64 `type:"integer"`
 26813  
 26814  	// The type of adjustment to make to a fleet's instance count (see FleetCapacity):
 26815  	//
 26816  	//    * ChangeInCapacity -- add (or subtract) the scaling adjustment value from
 26817  	//    the current instance count. Positive values scale up while negative values
 26818  	//    scale down.
 26819  	//
 26820  	//    * ExactCapacity -- set the instance count to the scaling adjustment value.
 26821  	//
 26822  	//    * PercentChangeInCapacity -- increase or reduce the current instance count
 26823  	//    by the scaling adjustment, read as a percentage. Positive values scale
 26824  	//    up while negative values scale down.
 26825  	ScalingAdjustmentType *string `type:"string" enum:"ScalingAdjustmentType"`
 26826  
 26827  	// Current status of the scaling policy. The scaling policy can be in force
 26828  	// only when in an ACTIVE status. Scaling policies can be suspended for individual
 26829  	// fleets (see StopFleetActions; if suspended for a fleet, the policy status
 26830  	// does not change. View a fleet's stopped actions by calling DescribeFleetCapacity.
 26831  	//
 26832  	//    * ACTIVE -- The scaling policy can be used for auto-scaling a fleet.
 26833  	//
 26834  	//    * UPDATE_REQUESTED -- A request to update the scaling policy has been
 26835  	//    received.
 26836  	//
 26837  	//    * UPDATING -- A change is being made to the scaling policy.
 26838  	//
 26839  	//    * DELETE_REQUESTED -- A request to delete the scaling policy has been
 26840  	//    received.
 26841  	//
 26842  	//    * DELETING -- The scaling policy is being deleted.
 26843  	//
 26844  	//    * DELETED -- The scaling policy has been deleted.
 26845  	//
 26846  	//    * ERROR -- An error occurred in creating the policy. It should be removed
 26847  	//    and recreated.
 26848  	Status *string `type:"string" enum:"ScalingStatusType"`
 26849  
 26850  	// An object that contains settings for a target-based scaling policy.
 26851  	TargetConfiguration *TargetConfiguration `type:"structure"`
 26852  
 26853  	// Metric value used to trigger a scaling event.
 26854  	Threshold *float64 `type:"double"`
 26855  
 26856  	// The current status of the fleet's scaling policies in a requested fleet location.
 26857  	// The status PENDING_UPDATE indicates that an update was requested for the
 26858  	// fleet but has not yet been completed for the location.
 26859  	UpdateStatus *string `type:"string" enum:"LocationUpdateStatus"`
 26860  }
 26861  
 26862  // String returns the string representation.
 26863  //
 26864  // API parameter values that are decorated as "sensitive" in the API will not
 26865  // be included in the string output. The member name will be present, but the
 26866  // value will be replaced with "sensitive".
 26867  func (s ScalingPolicy) String() string {
 26868  	return awsutil.Prettify(s)
 26869  }
 26870  
 26871  // GoString returns the string representation.
 26872  //
 26873  // API parameter values that are decorated as "sensitive" in the API will not
 26874  // be included in the string output. The member name will be present, but the
 26875  // value will be replaced with "sensitive".
 26876  func (s ScalingPolicy) GoString() string {
 26877  	return s.String()
 26878  }
 26879  
 26880  // SetComparisonOperator sets the ComparisonOperator field's value.
 26881  func (s *ScalingPolicy) SetComparisonOperator(v string) *ScalingPolicy {
 26882  	s.ComparisonOperator = &v
 26883  	return s
 26884  }
 26885  
 26886  // SetEvaluationPeriods sets the EvaluationPeriods field's value.
 26887  func (s *ScalingPolicy) SetEvaluationPeriods(v int64) *ScalingPolicy {
 26888  	s.EvaluationPeriods = &v
 26889  	return s
 26890  }
 26891  
 26892  // SetFleetArn sets the FleetArn field's value.
 26893  func (s *ScalingPolicy) SetFleetArn(v string) *ScalingPolicy {
 26894  	s.FleetArn = &v
 26895  	return s
 26896  }
 26897  
 26898  // SetFleetId sets the FleetId field's value.
 26899  func (s *ScalingPolicy) SetFleetId(v string) *ScalingPolicy {
 26900  	s.FleetId = &v
 26901  	return s
 26902  }
 26903  
 26904  // SetLocation sets the Location field's value.
 26905  func (s *ScalingPolicy) SetLocation(v string) *ScalingPolicy {
 26906  	s.Location = &v
 26907  	return s
 26908  }
 26909  
 26910  // SetMetricName sets the MetricName field's value.
 26911  func (s *ScalingPolicy) SetMetricName(v string) *ScalingPolicy {
 26912  	s.MetricName = &v
 26913  	return s
 26914  }
 26915  
 26916  // SetName sets the Name field's value.
 26917  func (s *ScalingPolicy) SetName(v string) *ScalingPolicy {
 26918  	s.Name = &v
 26919  	return s
 26920  }
 26921  
 26922  // SetPolicyType sets the PolicyType field's value.
 26923  func (s *ScalingPolicy) SetPolicyType(v string) *ScalingPolicy {
 26924  	s.PolicyType = &v
 26925  	return s
 26926  }
 26927  
 26928  // SetScalingAdjustment sets the ScalingAdjustment field's value.
 26929  func (s *ScalingPolicy) SetScalingAdjustment(v int64) *ScalingPolicy {
 26930  	s.ScalingAdjustment = &v
 26931  	return s
 26932  }
 26933  
 26934  // SetScalingAdjustmentType sets the ScalingAdjustmentType field's value.
 26935  func (s *ScalingPolicy) SetScalingAdjustmentType(v string) *ScalingPolicy {
 26936  	s.ScalingAdjustmentType = &v
 26937  	return s
 26938  }
 26939  
 26940  // SetStatus sets the Status field's value.
 26941  func (s *ScalingPolicy) SetStatus(v string) *ScalingPolicy {
 26942  	s.Status = &v
 26943  	return s
 26944  }
 26945  
 26946  // SetTargetConfiguration sets the TargetConfiguration field's value.
 26947  func (s *ScalingPolicy) SetTargetConfiguration(v *TargetConfiguration) *ScalingPolicy {
 26948  	s.TargetConfiguration = v
 26949  	return s
 26950  }
 26951  
 26952  // SetThreshold sets the Threshold field's value.
 26953  func (s *ScalingPolicy) SetThreshold(v float64) *ScalingPolicy {
 26954  	s.Threshold = &v
 26955  	return s
 26956  }
 26957  
 26958  // SetUpdateStatus sets the UpdateStatus field's value.
 26959  func (s *ScalingPolicy) SetUpdateStatus(v string) *ScalingPolicy {
 26960  	s.UpdateStatus = &v
 26961  	return s
 26962  }
 26963  
 26964  // Properties describing a Realtime script.
 26965  //
 26966  // Related actions
 26967  //
 26968  // CreateScript | ListScripts | DescribeScript | UpdateScript | DeleteScript
 26969  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 26970  type Script struct {
 26971  	_ struct{} `type:"structure"`
 26972  
 26973  	// A time stamp indicating when this data object was created. Format is a number
 26974  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 26975  	CreationTime *time.Time `type:"timestamp"`
 26976  
 26977  	// A descriptive label that is associated with a script. Script names do not
 26978  	// need to be unique.
 26979  	Name *string `min:"1" type:"string"`
 26980  
 26981  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 26982  	// that is assigned to a GameLift script resource and uniquely identifies it.
 26983  	// ARNs are unique across all Regions. In a GameLift script ARN, the resource
 26984  	// ID matches the ScriptId value.
 26985  	ScriptArn *string `type:"string"`
 26986  
 26987  	// A unique identifier for the Realtime script
 26988  	ScriptId *string `type:"string"`
 26989  
 26990  	// The file size of the uploaded Realtime script, expressed in bytes. When files
 26991  	// are uploaded from an S3 location, this value remains at "0".
 26992  	SizeOnDisk *int64 `min:"1" type:"long"`
 26993  
 26994  	// The location in Amazon S3 where build or script files are stored for access
 26995  	// by Amazon GameLift. This location is specified in CreateBuild, CreateScript,
 26996  	// and UpdateScript requests.
 26997  	StorageLocation *S3Location `type:"structure"`
 26998  
 26999  	// Version information that is associated with a build or script. Version strings
 27000  	// do not need to be unique.
 27001  	Version *string `min:"1" type:"string"`
 27002  }
 27003  
 27004  // String returns the string representation.
 27005  //
 27006  // API parameter values that are decorated as "sensitive" in the API will not
 27007  // be included in the string output. The member name will be present, but the
 27008  // value will be replaced with "sensitive".
 27009  func (s Script) String() string {
 27010  	return awsutil.Prettify(s)
 27011  }
 27012  
 27013  // GoString returns the string representation.
 27014  //
 27015  // API parameter values that are decorated as "sensitive" in the API will not
 27016  // be included in the string output. The member name will be present, but the
 27017  // value will be replaced with "sensitive".
 27018  func (s Script) GoString() string {
 27019  	return s.String()
 27020  }
 27021  
 27022  // SetCreationTime sets the CreationTime field's value.
 27023  func (s *Script) SetCreationTime(v time.Time) *Script {
 27024  	s.CreationTime = &v
 27025  	return s
 27026  }
 27027  
 27028  // SetName sets the Name field's value.
 27029  func (s *Script) SetName(v string) *Script {
 27030  	s.Name = &v
 27031  	return s
 27032  }
 27033  
 27034  // SetScriptArn sets the ScriptArn field's value.
 27035  func (s *Script) SetScriptArn(v string) *Script {
 27036  	s.ScriptArn = &v
 27037  	return s
 27038  }
 27039  
 27040  // SetScriptId sets the ScriptId field's value.
 27041  func (s *Script) SetScriptId(v string) *Script {
 27042  	s.ScriptId = &v
 27043  	return s
 27044  }
 27045  
 27046  // SetSizeOnDisk sets the SizeOnDisk field's value.
 27047  func (s *Script) SetSizeOnDisk(v int64) *Script {
 27048  	s.SizeOnDisk = &v
 27049  	return s
 27050  }
 27051  
 27052  // SetStorageLocation sets the StorageLocation field's value.
 27053  func (s *Script) SetStorageLocation(v *S3Location) *Script {
 27054  	s.StorageLocation = v
 27055  	return s
 27056  }
 27057  
 27058  // SetVersion sets the Version field's value.
 27059  func (s *Script) SetVersion(v string) *Script {
 27060  	s.Version = &v
 27061  	return s
 27062  }
 27063  
 27064  // Represents the input for a request operation.
 27065  type SearchGameSessionsInput struct {
 27066  	_ struct{} `type:"structure"`
 27067  
 27068  	// A unique identifier for the alias associated with the fleet to search for
 27069  	// active game sessions. You can use either the alias ID or ARN value. Each
 27070  	// request must reference either a fleet ID or alias ID, but not both.
 27071  	AliasId *string `type:"string"`
 27072  
 27073  	// String containing the search criteria for the session search. If no filter
 27074  	// expression is included, the request returns results for all game sessions
 27075  	// in the fleet that are in ACTIVE status.
 27076  	//
 27077  	// A filter expression can contain one or multiple conditions. Each condition
 27078  	// consists of the following:
 27079  	//
 27080  	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
 27081  	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
 27082  	//    playerSessionCount, hasAvailablePlayerSessions.
 27083  	//
 27084  	//    * Comparator -- Valid comparators are: =, <>, <, >, <=, >=.
 27085  	//
 27086  	//    * Value -- Value to be searched for. Values may be numbers, boolean values
 27087  	//    (true/false) or strings depending on the operand. String values are case
 27088  	//    sensitive and must be enclosed in single quotes. Special characters must
 27089  	//    be escaped. Boolean and string values can only be used with the comparators
 27090  	//    = and <>. For example, the following filter expression searches on gameSessionName:
 27091  	//    "FilterExpression": "gameSessionName = 'Matt\\'s Awesome Game 1'".
 27092  	//
 27093  	// To chain multiple conditions in a single expression, use the logical keywords
 27094  	// AND, OR, and NOT and parentheses as needed. For example: x AND y AND NOT
 27095  	// z, NOT (x OR y).
 27096  	//
 27097  	// Session search evaluates conditions from left to right using the following
 27098  	// precedence rules:
 27099  	//
 27100  	// =, <>, <, >, <=, >=
 27101  	//
 27102  	// Parentheses
 27103  	//
 27104  	// NOT
 27105  	//
 27106  	// AND
 27107  	//
 27108  	// OR
 27109  	//
 27110  	// For example, this filter expression retrieves game sessions hosting at least
 27111  	// ten players that have an open player slot: "maximumSessions>=10 AND hasAvailablePlayerSessions=true".
 27112  	FilterExpression *string `min:"1" type:"string"`
 27113  
 27114  	// A unique identifier for the fleet to search for active game sessions. You
 27115  	// can use either the fleet ID or ARN value. Each request must reference either
 27116  	// a fleet ID or alias ID, but not both.
 27117  	FleetId *string `type:"string"`
 27118  
 27119  	// The maximum number of results to return. Use this parameter with NextToken
 27120  	// to get results as a set of sequential pages. The maximum number of results
 27121  	// returned is 20, even if this value is not set or is set higher than 20.
 27122  	Limit *int64 `min:"1" type:"integer"`
 27123  
 27124  	// A fleet location to search for game sessions. You can specify a fleet's home
 27125  	// Region or a remote location. Use the AWS Region code format, such as us-west-2.
 27126  	Location *string `min:"1" type:"string"`
 27127  
 27128  	// A token that indicates the start of the next sequential page of results.
 27129  	// Use the token that is returned with a previous call to this operation. To
 27130  	// start at the beginning of the result set, do not specify a value.
 27131  	NextToken *string `min:"1" type:"string"`
 27132  
 27133  	// Instructions on how to sort the search results. If no sort expression is
 27134  	// included, the request returns results in random order. A sort expression
 27135  	// consists of the following elements:
 27136  	//
 27137  	//    * Operand -- Name of a game session attribute. Valid values are gameSessionName,
 27138  	//    gameSessionId, gameSessionProperties, maximumSessions, creationTimeMillis,
 27139  	//    playerSessionCount, hasAvailablePlayerSessions.
 27140  	//
 27141  	//    * Order -- Valid sort orders are ASC (ascending) and DESC (descending).
 27142  	//
 27143  	// For example, this sort expression returns the oldest active sessions first:
 27144  	// "SortExpression": "creationTimeMillis ASC". Results with a null value for
 27145  	// the sort operand are returned at the end of the list.
 27146  	SortExpression *string `min:"1" type:"string"`
 27147  }
 27148  
 27149  // String returns the string representation.
 27150  //
 27151  // API parameter values that are decorated as "sensitive" in the API will not
 27152  // be included in the string output. The member name will be present, but the
 27153  // value will be replaced with "sensitive".
 27154  func (s SearchGameSessionsInput) String() string {
 27155  	return awsutil.Prettify(s)
 27156  }
 27157  
 27158  // GoString returns the string representation.
 27159  //
 27160  // API parameter values that are decorated as "sensitive" in the API will not
 27161  // be included in the string output. The member name will be present, but the
 27162  // value will be replaced with "sensitive".
 27163  func (s SearchGameSessionsInput) GoString() string {
 27164  	return s.String()
 27165  }
 27166  
 27167  // Validate inspects the fields of the type to determine if they are valid.
 27168  func (s *SearchGameSessionsInput) Validate() error {
 27169  	invalidParams := request.ErrInvalidParams{Context: "SearchGameSessionsInput"}
 27170  	if s.FilterExpression != nil && len(*s.FilterExpression) < 1 {
 27171  		invalidParams.Add(request.NewErrParamMinLen("FilterExpression", 1))
 27172  	}
 27173  	if s.Limit != nil && *s.Limit < 1 {
 27174  		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
 27175  	}
 27176  	if s.Location != nil && len(*s.Location) < 1 {
 27177  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 27178  	}
 27179  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 27180  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 27181  	}
 27182  	if s.SortExpression != nil && len(*s.SortExpression) < 1 {
 27183  		invalidParams.Add(request.NewErrParamMinLen("SortExpression", 1))
 27184  	}
 27185  
 27186  	if invalidParams.Len() > 0 {
 27187  		return invalidParams
 27188  	}
 27189  	return nil
 27190  }
 27191  
 27192  // SetAliasId sets the AliasId field's value.
 27193  func (s *SearchGameSessionsInput) SetAliasId(v string) *SearchGameSessionsInput {
 27194  	s.AliasId = &v
 27195  	return s
 27196  }
 27197  
 27198  // SetFilterExpression sets the FilterExpression field's value.
 27199  func (s *SearchGameSessionsInput) SetFilterExpression(v string) *SearchGameSessionsInput {
 27200  	s.FilterExpression = &v
 27201  	return s
 27202  }
 27203  
 27204  // SetFleetId sets the FleetId field's value.
 27205  func (s *SearchGameSessionsInput) SetFleetId(v string) *SearchGameSessionsInput {
 27206  	s.FleetId = &v
 27207  	return s
 27208  }
 27209  
 27210  // SetLimit sets the Limit field's value.
 27211  func (s *SearchGameSessionsInput) SetLimit(v int64) *SearchGameSessionsInput {
 27212  	s.Limit = &v
 27213  	return s
 27214  }
 27215  
 27216  // SetLocation sets the Location field's value.
 27217  func (s *SearchGameSessionsInput) SetLocation(v string) *SearchGameSessionsInput {
 27218  	s.Location = &v
 27219  	return s
 27220  }
 27221  
 27222  // SetNextToken sets the NextToken field's value.
 27223  func (s *SearchGameSessionsInput) SetNextToken(v string) *SearchGameSessionsInput {
 27224  	s.NextToken = &v
 27225  	return s
 27226  }
 27227  
 27228  // SetSortExpression sets the SortExpression field's value.
 27229  func (s *SearchGameSessionsInput) SetSortExpression(v string) *SearchGameSessionsInput {
 27230  	s.SortExpression = &v
 27231  	return s
 27232  }
 27233  
 27234  // Represents the returned data in response to a request operation.
 27235  type SearchGameSessionsOutput struct {
 27236  	_ struct{} `type:"structure"`
 27237  
 27238  	// A collection of objects containing game session properties for each session
 27239  	// that matches the request.
 27240  	GameSessions []*GameSession `type:"list"`
 27241  
 27242  	// A token that indicates where to resume retrieving results on the next call
 27243  	// to this operation. If no token is returned, these results represent the end
 27244  	// of the list.
 27245  	NextToken *string `min:"1" type:"string"`
 27246  }
 27247  
 27248  // String returns the string representation.
 27249  //
 27250  // API parameter values that are decorated as "sensitive" in the API will not
 27251  // be included in the string output. The member name will be present, but the
 27252  // value will be replaced with "sensitive".
 27253  func (s SearchGameSessionsOutput) String() string {
 27254  	return awsutil.Prettify(s)
 27255  }
 27256  
 27257  // GoString returns the string representation.
 27258  //
 27259  // API parameter values that are decorated as "sensitive" in the API will not
 27260  // be included in the string output. The member name will be present, but the
 27261  // value will be replaced with "sensitive".
 27262  func (s SearchGameSessionsOutput) GoString() string {
 27263  	return s.String()
 27264  }
 27265  
 27266  // SetGameSessions sets the GameSessions field's value.
 27267  func (s *SearchGameSessionsOutput) SetGameSessions(v []*GameSession) *SearchGameSessionsOutput {
 27268  	s.GameSessions = v
 27269  	return s
 27270  }
 27271  
 27272  // SetNextToken sets the NextToken field's value.
 27273  func (s *SearchGameSessionsOutput) SetNextToken(v string) *SearchGameSessionsOutput {
 27274  	s.NextToken = &v
 27275  	return s
 27276  }
 27277  
 27278  // A set of instructions for launching server processes on each instance in
 27279  // a fleet. Server processes run either an executable in a custom game build
 27280  // or a Realtime Servers script. Server process configurations are part of a
 27281  // fleet's RuntimeConfiguration.
 27282  type ServerProcess struct {
 27283  	_ struct{} `type:"structure"`
 27284  
 27285  	// The number of server processes using this configuration that run concurrently
 27286  	// on each instance.
 27287  	//
 27288  	// ConcurrentExecutions is a required field
 27289  	ConcurrentExecutions *int64 `min:"1" type:"integer" required:"true"`
 27290  
 27291  	// The location of a game build executable or the Realtime script file that
 27292  	// contains the Init() function. Game builds and Realtime scripts are installed
 27293  	// on instances at the root:
 27294  	//
 27295  	//    * Windows (custom game builds only): C:\game. Example: "C:\game\MyGame\server.exe"
 27296  	//
 27297  	//    * Linux: /local/game. Examples: "/local/game/MyGame/server.exe" or "/local/game/MyRealtimeScript.js"
 27298  	//
 27299  	// LaunchPath is a required field
 27300  	LaunchPath *string `min:"1" type:"string" required:"true"`
 27301  
 27302  	// An optional list of parameters to pass to the server executable or Realtime
 27303  	// script on launch.
 27304  	Parameters *string `min:"1" type:"string"`
 27305  }
 27306  
 27307  // String returns the string representation.
 27308  //
 27309  // API parameter values that are decorated as "sensitive" in the API will not
 27310  // be included in the string output. The member name will be present, but the
 27311  // value will be replaced with "sensitive".
 27312  func (s ServerProcess) String() string {
 27313  	return awsutil.Prettify(s)
 27314  }
 27315  
 27316  // GoString returns the string representation.
 27317  //
 27318  // API parameter values that are decorated as "sensitive" in the API will not
 27319  // be included in the string output. The member name will be present, but the
 27320  // value will be replaced with "sensitive".
 27321  func (s ServerProcess) GoString() string {
 27322  	return s.String()
 27323  }
 27324  
 27325  // Validate inspects the fields of the type to determine if they are valid.
 27326  func (s *ServerProcess) Validate() error {
 27327  	invalidParams := request.ErrInvalidParams{Context: "ServerProcess"}
 27328  	if s.ConcurrentExecutions == nil {
 27329  		invalidParams.Add(request.NewErrParamRequired("ConcurrentExecutions"))
 27330  	}
 27331  	if s.ConcurrentExecutions != nil && *s.ConcurrentExecutions < 1 {
 27332  		invalidParams.Add(request.NewErrParamMinValue("ConcurrentExecutions", 1))
 27333  	}
 27334  	if s.LaunchPath == nil {
 27335  		invalidParams.Add(request.NewErrParamRequired("LaunchPath"))
 27336  	}
 27337  	if s.LaunchPath != nil && len(*s.LaunchPath) < 1 {
 27338  		invalidParams.Add(request.NewErrParamMinLen("LaunchPath", 1))
 27339  	}
 27340  	if s.Parameters != nil && len(*s.Parameters) < 1 {
 27341  		invalidParams.Add(request.NewErrParamMinLen("Parameters", 1))
 27342  	}
 27343  
 27344  	if invalidParams.Len() > 0 {
 27345  		return invalidParams
 27346  	}
 27347  	return nil
 27348  }
 27349  
 27350  // SetConcurrentExecutions sets the ConcurrentExecutions field's value.
 27351  func (s *ServerProcess) SetConcurrentExecutions(v int64) *ServerProcess {
 27352  	s.ConcurrentExecutions = &v
 27353  	return s
 27354  }
 27355  
 27356  // SetLaunchPath sets the LaunchPath field's value.
 27357  func (s *ServerProcess) SetLaunchPath(v string) *ServerProcess {
 27358  	s.LaunchPath = &v
 27359  	return s
 27360  }
 27361  
 27362  // SetParameters sets the Parameters field's value.
 27363  func (s *ServerProcess) SetParameters(v string) *ServerProcess {
 27364  	s.Parameters = &v
 27365  	return s
 27366  }
 27367  
 27368  // Represents the input for a request operation.
 27369  type StartFleetActionsInput struct {
 27370  	_ struct{} `type:"structure"`
 27371  
 27372  	// List of actions to restart on the fleet.
 27373  	//
 27374  	// Actions is a required field
 27375  	Actions []*string `min:"1" type:"list" required:"true"`
 27376  
 27377  	// A unique identifier for the fleet to restart actions on. You can use either
 27378  	// the fleet ID or ARN value.
 27379  	//
 27380  	// FleetId is a required field
 27381  	FleetId *string `type:"string" required:"true"`
 27382  
 27383  	// The fleet location to restart fleet actions for. Specify a location in the
 27384  	// form of an AWS Region code, such as us-west-2.
 27385  	Location *string `min:"1" type:"string"`
 27386  }
 27387  
 27388  // String returns the string representation.
 27389  //
 27390  // API parameter values that are decorated as "sensitive" in the API will not
 27391  // be included in the string output. The member name will be present, but the
 27392  // value will be replaced with "sensitive".
 27393  func (s StartFleetActionsInput) String() string {
 27394  	return awsutil.Prettify(s)
 27395  }
 27396  
 27397  // GoString returns the string representation.
 27398  //
 27399  // API parameter values that are decorated as "sensitive" in the API will not
 27400  // be included in the string output. The member name will be present, but the
 27401  // value will be replaced with "sensitive".
 27402  func (s StartFleetActionsInput) GoString() string {
 27403  	return s.String()
 27404  }
 27405  
 27406  // Validate inspects the fields of the type to determine if they are valid.
 27407  func (s *StartFleetActionsInput) Validate() error {
 27408  	invalidParams := request.ErrInvalidParams{Context: "StartFleetActionsInput"}
 27409  	if s.Actions == nil {
 27410  		invalidParams.Add(request.NewErrParamRequired("Actions"))
 27411  	}
 27412  	if s.Actions != nil && len(s.Actions) < 1 {
 27413  		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
 27414  	}
 27415  	if s.FleetId == nil {
 27416  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 27417  	}
 27418  	if s.Location != nil && len(*s.Location) < 1 {
 27419  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 27420  	}
 27421  
 27422  	if invalidParams.Len() > 0 {
 27423  		return invalidParams
 27424  	}
 27425  	return nil
 27426  }
 27427  
 27428  // SetActions sets the Actions field's value.
 27429  func (s *StartFleetActionsInput) SetActions(v []*string) *StartFleetActionsInput {
 27430  	s.Actions = v
 27431  	return s
 27432  }
 27433  
 27434  // SetFleetId sets the FleetId field's value.
 27435  func (s *StartFleetActionsInput) SetFleetId(v string) *StartFleetActionsInput {
 27436  	s.FleetId = &v
 27437  	return s
 27438  }
 27439  
 27440  // SetLocation sets the Location field's value.
 27441  func (s *StartFleetActionsInput) SetLocation(v string) *StartFleetActionsInput {
 27442  	s.Location = &v
 27443  	return s
 27444  }
 27445  
 27446  // Represents the returned data in response to a request operation.
 27447  type StartFleetActionsOutput struct {
 27448  	_ struct{} `type:"structure"`
 27449  
 27450  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 27451  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 27452  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 27453  	FleetArn *string `type:"string"`
 27454  
 27455  	// A unique identifier for the fleet to restart actions on.
 27456  	FleetId *string `type:"string"`
 27457  }
 27458  
 27459  // String returns the string representation.
 27460  //
 27461  // API parameter values that are decorated as "sensitive" in the API will not
 27462  // be included in the string output. The member name will be present, but the
 27463  // value will be replaced with "sensitive".
 27464  func (s StartFleetActionsOutput) String() string {
 27465  	return awsutil.Prettify(s)
 27466  }
 27467  
 27468  // GoString returns the string representation.
 27469  //
 27470  // API parameter values that are decorated as "sensitive" in the API will not
 27471  // be included in the string output. The member name will be present, but the
 27472  // value will be replaced with "sensitive".
 27473  func (s StartFleetActionsOutput) GoString() string {
 27474  	return s.String()
 27475  }
 27476  
 27477  // SetFleetArn sets the FleetArn field's value.
 27478  func (s *StartFleetActionsOutput) SetFleetArn(v string) *StartFleetActionsOutput {
 27479  	s.FleetArn = &v
 27480  	return s
 27481  }
 27482  
 27483  // SetFleetId sets the FleetId field's value.
 27484  func (s *StartFleetActionsOutput) SetFleetId(v string) *StartFleetActionsOutput {
 27485  	s.FleetId = &v
 27486  	return s
 27487  }
 27488  
 27489  // Represents the input for a request operation.
 27490  type StartGameSessionPlacementInput struct {
 27491  	_ struct{} `type:"structure"`
 27492  
 27493  	// Set of information on each player to create a player session for.
 27494  	DesiredPlayerSessions []*DesiredPlayerSession `type:"list"`
 27495  
 27496  	// A set of custom properties for a game session, formatted as key:value pairs.
 27497  	// These properties are passed to a game server process in the GameSession object
 27498  	// 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)).
 27499  	GameProperties []*GameProperty `type:"list"`
 27500  
 27501  	// A set of custom game session properties, formatted as a single string value.
 27502  	// This data is passed to a game server process in the GameSession object with
 27503  	// 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)).
 27504  	GameSessionData *string `min:"1" type:"string"`
 27505  
 27506  	// A descriptive label that is associated with a game session. Session names
 27507  	// do not need to be unique.
 27508  	GameSessionName *string `min:"1" type:"string"`
 27509  
 27510  	// Name of the queue to use to place the new game session. You can use either
 27511  	// the queue name or ARN value.
 27512  	//
 27513  	// GameSessionQueueName is a required field
 27514  	GameSessionQueueName *string `min:"1" type:"string" required:"true"`
 27515  
 27516  	// The maximum number of players that can be connected simultaneously to the
 27517  	// game session.
 27518  	//
 27519  	// MaximumPlayerSessionCount is a required field
 27520  	MaximumPlayerSessionCount *int64 `type:"integer" required:"true"`
 27521  
 27522  	// A unique identifier to assign to the new game session placement. This value
 27523  	// is developer-defined. The value must be unique across all Regions and cannot
 27524  	// be reused unless you are resubmitting a canceled or timed-out placement request.
 27525  	//
 27526  	// PlacementId is a required field
 27527  	PlacementId *string `min:"1" type:"string" required:"true"`
 27528  
 27529  	// A set of values, expressed in milliseconds, that indicates the amount of
 27530  	// latency that a player experiences when connected to AWS Regions. This information
 27531  	// is used to try to place the new game session where it can offer the best
 27532  	// possible gameplay experience for the players.
 27533  	PlayerLatencies []*PlayerLatency `type:"list"`
 27534  }
 27535  
 27536  // String returns the string representation.
 27537  //
 27538  // API parameter values that are decorated as "sensitive" in the API will not
 27539  // be included in the string output. The member name will be present, but the
 27540  // value will be replaced with "sensitive".
 27541  func (s StartGameSessionPlacementInput) String() string {
 27542  	return awsutil.Prettify(s)
 27543  }
 27544  
 27545  // GoString returns the string representation.
 27546  //
 27547  // API parameter values that are decorated as "sensitive" in the API will not
 27548  // be included in the string output. The member name will be present, but the
 27549  // value will be replaced with "sensitive".
 27550  func (s StartGameSessionPlacementInput) GoString() string {
 27551  	return s.String()
 27552  }
 27553  
 27554  // Validate inspects the fields of the type to determine if they are valid.
 27555  func (s *StartGameSessionPlacementInput) Validate() error {
 27556  	invalidParams := request.ErrInvalidParams{Context: "StartGameSessionPlacementInput"}
 27557  	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
 27558  		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
 27559  	}
 27560  	if s.GameSessionName != nil && len(*s.GameSessionName) < 1 {
 27561  		invalidParams.Add(request.NewErrParamMinLen("GameSessionName", 1))
 27562  	}
 27563  	if s.GameSessionQueueName == nil {
 27564  		invalidParams.Add(request.NewErrParamRequired("GameSessionQueueName"))
 27565  	}
 27566  	if s.GameSessionQueueName != nil && len(*s.GameSessionQueueName) < 1 {
 27567  		invalidParams.Add(request.NewErrParamMinLen("GameSessionQueueName", 1))
 27568  	}
 27569  	if s.MaximumPlayerSessionCount == nil {
 27570  		invalidParams.Add(request.NewErrParamRequired("MaximumPlayerSessionCount"))
 27571  	}
 27572  	if s.PlacementId == nil {
 27573  		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
 27574  	}
 27575  	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
 27576  		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
 27577  	}
 27578  	if s.DesiredPlayerSessions != nil {
 27579  		for i, v := range s.DesiredPlayerSessions {
 27580  			if v == nil {
 27581  				continue
 27582  			}
 27583  			if err := v.Validate(); err != nil {
 27584  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DesiredPlayerSessions", i), err.(request.ErrInvalidParams))
 27585  			}
 27586  		}
 27587  	}
 27588  	if s.GameProperties != nil {
 27589  		for i, v := range s.GameProperties {
 27590  			if v == nil {
 27591  				continue
 27592  			}
 27593  			if err := v.Validate(); err != nil {
 27594  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
 27595  			}
 27596  		}
 27597  	}
 27598  	if s.PlayerLatencies != nil {
 27599  		for i, v := range s.PlayerLatencies {
 27600  			if v == nil {
 27601  				continue
 27602  			}
 27603  			if err := v.Validate(); err != nil {
 27604  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlayerLatencies", i), err.(request.ErrInvalidParams))
 27605  			}
 27606  		}
 27607  	}
 27608  
 27609  	if invalidParams.Len() > 0 {
 27610  		return invalidParams
 27611  	}
 27612  	return nil
 27613  }
 27614  
 27615  // SetDesiredPlayerSessions sets the DesiredPlayerSessions field's value.
 27616  func (s *StartGameSessionPlacementInput) SetDesiredPlayerSessions(v []*DesiredPlayerSession) *StartGameSessionPlacementInput {
 27617  	s.DesiredPlayerSessions = v
 27618  	return s
 27619  }
 27620  
 27621  // SetGameProperties sets the GameProperties field's value.
 27622  func (s *StartGameSessionPlacementInput) SetGameProperties(v []*GameProperty) *StartGameSessionPlacementInput {
 27623  	s.GameProperties = v
 27624  	return s
 27625  }
 27626  
 27627  // SetGameSessionData sets the GameSessionData field's value.
 27628  func (s *StartGameSessionPlacementInput) SetGameSessionData(v string) *StartGameSessionPlacementInput {
 27629  	s.GameSessionData = &v
 27630  	return s
 27631  }
 27632  
 27633  // SetGameSessionName sets the GameSessionName field's value.
 27634  func (s *StartGameSessionPlacementInput) SetGameSessionName(v string) *StartGameSessionPlacementInput {
 27635  	s.GameSessionName = &v
 27636  	return s
 27637  }
 27638  
 27639  // SetGameSessionQueueName sets the GameSessionQueueName field's value.
 27640  func (s *StartGameSessionPlacementInput) SetGameSessionQueueName(v string) *StartGameSessionPlacementInput {
 27641  	s.GameSessionQueueName = &v
 27642  	return s
 27643  }
 27644  
 27645  // SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
 27646  func (s *StartGameSessionPlacementInput) SetMaximumPlayerSessionCount(v int64) *StartGameSessionPlacementInput {
 27647  	s.MaximumPlayerSessionCount = &v
 27648  	return s
 27649  }
 27650  
 27651  // SetPlacementId sets the PlacementId field's value.
 27652  func (s *StartGameSessionPlacementInput) SetPlacementId(v string) *StartGameSessionPlacementInput {
 27653  	s.PlacementId = &v
 27654  	return s
 27655  }
 27656  
 27657  // SetPlayerLatencies sets the PlayerLatencies field's value.
 27658  func (s *StartGameSessionPlacementInput) SetPlayerLatencies(v []*PlayerLatency) *StartGameSessionPlacementInput {
 27659  	s.PlayerLatencies = v
 27660  	return s
 27661  }
 27662  
 27663  // Represents the returned data in response to a request operation.
 27664  type StartGameSessionPlacementOutput struct {
 27665  	_ struct{} `type:"structure"`
 27666  
 27667  	// Object that describes the newly created game session placement. This object
 27668  	// includes all the information provided in the request, as well as start/end
 27669  	// time stamps and placement status.
 27670  	GameSessionPlacement *GameSessionPlacement `type:"structure"`
 27671  }
 27672  
 27673  // String returns the string representation.
 27674  //
 27675  // API parameter values that are decorated as "sensitive" in the API will not
 27676  // be included in the string output. The member name will be present, but the
 27677  // value will be replaced with "sensitive".
 27678  func (s StartGameSessionPlacementOutput) String() string {
 27679  	return awsutil.Prettify(s)
 27680  }
 27681  
 27682  // GoString returns the string representation.
 27683  //
 27684  // API parameter values that are decorated as "sensitive" in the API will not
 27685  // be included in the string output. The member name will be present, but the
 27686  // value will be replaced with "sensitive".
 27687  func (s StartGameSessionPlacementOutput) GoString() string {
 27688  	return s.String()
 27689  }
 27690  
 27691  // SetGameSessionPlacement sets the GameSessionPlacement field's value.
 27692  func (s *StartGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StartGameSessionPlacementOutput {
 27693  	s.GameSessionPlacement = v
 27694  	return s
 27695  }
 27696  
 27697  // Represents the input for a request operation.
 27698  type StartMatchBackfillInput struct {
 27699  	_ struct{} `type:"structure"`
 27700  
 27701  	// Name of the matchmaker to use for this request. You can use either the configuration
 27702  	// name or ARN value. The ARN of the matchmaker that was used with the original
 27703  	// game session is listed in the GameSession object, MatchmakerData property.
 27704  	//
 27705  	// ConfigurationName is a required field
 27706  	ConfigurationName *string `min:"1" type:"string" required:"true"`
 27707  
 27708  	// A unique identifier for the game session. Use the game session ID. When using
 27709  	// FlexMatch as a standalone matchmaking solution, this parameter is not needed.
 27710  	GameSessionArn *string `min:"1" type:"string"`
 27711  
 27712  	// Match information on all players that are currently assigned to the game
 27713  	// session. This information is used by the matchmaker to find new players and
 27714  	// add them to the existing game.
 27715  	//
 27716  	//    * PlayerID, PlayerAttributes, Team -- This information is maintained in
 27717  	//    the GameSession object, MatchmakerData property, for all players who are
 27718  	//    currently assigned to the game session. The matchmaker data is in JSON
 27719  	//    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).
 27720  	//
 27721  	//    * LatencyInMs -- If the matchmaker uses player latency, include a latency
 27722  	//    value, in milliseconds, for the Region that the game session is currently
 27723  	//    in. Do not include latency values for any other Region.
 27724  	//
 27725  	// Players is a required field
 27726  	Players []*Player `type:"list" required:"true"`
 27727  
 27728  	// A unique identifier for a matchmaking ticket. If no ticket ID is specified
 27729  	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
 27730  	// to track the match backfill ticket status and retrieve match results.
 27731  	TicketId *string `type:"string"`
 27732  }
 27733  
 27734  // String returns the string representation.
 27735  //
 27736  // API parameter values that are decorated as "sensitive" in the API will not
 27737  // be included in the string output. The member name will be present, but the
 27738  // value will be replaced with "sensitive".
 27739  func (s StartMatchBackfillInput) String() string {
 27740  	return awsutil.Prettify(s)
 27741  }
 27742  
 27743  // GoString returns the string representation.
 27744  //
 27745  // API parameter values that are decorated as "sensitive" in the API will not
 27746  // be included in the string output. The member name will be present, but the
 27747  // value will be replaced with "sensitive".
 27748  func (s StartMatchBackfillInput) GoString() string {
 27749  	return s.String()
 27750  }
 27751  
 27752  // Validate inspects the fields of the type to determine if they are valid.
 27753  func (s *StartMatchBackfillInput) Validate() error {
 27754  	invalidParams := request.ErrInvalidParams{Context: "StartMatchBackfillInput"}
 27755  	if s.ConfigurationName == nil {
 27756  		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
 27757  	}
 27758  	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
 27759  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
 27760  	}
 27761  	if s.GameSessionArn != nil && len(*s.GameSessionArn) < 1 {
 27762  		invalidParams.Add(request.NewErrParamMinLen("GameSessionArn", 1))
 27763  	}
 27764  	if s.Players == nil {
 27765  		invalidParams.Add(request.NewErrParamRequired("Players"))
 27766  	}
 27767  	if s.Players != nil {
 27768  		for i, v := range s.Players {
 27769  			if v == nil {
 27770  				continue
 27771  			}
 27772  			if err := v.Validate(); err != nil {
 27773  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
 27774  			}
 27775  		}
 27776  	}
 27777  
 27778  	if invalidParams.Len() > 0 {
 27779  		return invalidParams
 27780  	}
 27781  	return nil
 27782  }
 27783  
 27784  // SetConfigurationName sets the ConfigurationName field's value.
 27785  func (s *StartMatchBackfillInput) SetConfigurationName(v string) *StartMatchBackfillInput {
 27786  	s.ConfigurationName = &v
 27787  	return s
 27788  }
 27789  
 27790  // SetGameSessionArn sets the GameSessionArn field's value.
 27791  func (s *StartMatchBackfillInput) SetGameSessionArn(v string) *StartMatchBackfillInput {
 27792  	s.GameSessionArn = &v
 27793  	return s
 27794  }
 27795  
 27796  // SetPlayers sets the Players field's value.
 27797  func (s *StartMatchBackfillInput) SetPlayers(v []*Player) *StartMatchBackfillInput {
 27798  	s.Players = v
 27799  	return s
 27800  }
 27801  
 27802  // SetTicketId sets the TicketId field's value.
 27803  func (s *StartMatchBackfillInput) SetTicketId(v string) *StartMatchBackfillInput {
 27804  	s.TicketId = &v
 27805  	return s
 27806  }
 27807  
 27808  // Represents the returned data in response to a request operation.
 27809  type StartMatchBackfillOutput struct {
 27810  	_ struct{} `type:"structure"`
 27811  
 27812  	// Ticket representing the backfill matchmaking request. This object includes
 27813  	// the information in the request, ticket status, and match results as generated
 27814  	// during the matchmaking process.
 27815  	MatchmakingTicket *MatchmakingTicket `type:"structure"`
 27816  }
 27817  
 27818  // String returns the string representation.
 27819  //
 27820  // API parameter values that are decorated as "sensitive" in the API will not
 27821  // be included in the string output. The member name will be present, but the
 27822  // value will be replaced with "sensitive".
 27823  func (s StartMatchBackfillOutput) String() string {
 27824  	return awsutil.Prettify(s)
 27825  }
 27826  
 27827  // GoString returns the string representation.
 27828  //
 27829  // API parameter values that are decorated as "sensitive" in the API will not
 27830  // be included in the string output. The member name will be present, but the
 27831  // value will be replaced with "sensitive".
 27832  func (s StartMatchBackfillOutput) GoString() string {
 27833  	return s.String()
 27834  }
 27835  
 27836  // SetMatchmakingTicket sets the MatchmakingTicket field's value.
 27837  func (s *StartMatchBackfillOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchBackfillOutput {
 27838  	s.MatchmakingTicket = v
 27839  	return s
 27840  }
 27841  
 27842  // Represents the input for a request operation.
 27843  type StartMatchmakingInput struct {
 27844  	_ struct{} `type:"structure"`
 27845  
 27846  	// Name of the matchmaking configuration to use for this request. Matchmaking
 27847  	// configurations must exist in the same Region as this request. You can use
 27848  	// either the configuration name or ARN value.
 27849  	//
 27850  	// ConfigurationName is a required field
 27851  	ConfigurationName *string `min:"1" type:"string" required:"true"`
 27852  
 27853  	// Information on each player to be matched. This information must include a
 27854  	// player ID, and may contain player attributes and latency data to be used
 27855  	// in the matchmaking process. After a successful match, Player objects contain
 27856  	// the name of the team the player is assigned to.
 27857  	//
 27858  	// Players is a required field
 27859  	Players []*Player `type:"list" required:"true"`
 27860  
 27861  	// A unique identifier for a matchmaking ticket. If no ticket ID is specified
 27862  	// here, Amazon GameLift will generate one in the form of a UUID. Use this identifier
 27863  	// to track the matchmaking ticket status and retrieve match results.
 27864  	TicketId *string `type:"string"`
 27865  }
 27866  
 27867  // String returns the string representation.
 27868  //
 27869  // API parameter values that are decorated as "sensitive" in the API will not
 27870  // be included in the string output. The member name will be present, but the
 27871  // value will be replaced with "sensitive".
 27872  func (s StartMatchmakingInput) String() string {
 27873  	return awsutil.Prettify(s)
 27874  }
 27875  
 27876  // GoString returns the string representation.
 27877  //
 27878  // API parameter values that are decorated as "sensitive" in the API will not
 27879  // be included in the string output. The member name will be present, but the
 27880  // value will be replaced with "sensitive".
 27881  func (s StartMatchmakingInput) GoString() string {
 27882  	return s.String()
 27883  }
 27884  
 27885  // Validate inspects the fields of the type to determine if they are valid.
 27886  func (s *StartMatchmakingInput) Validate() error {
 27887  	invalidParams := request.ErrInvalidParams{Context: "StartMatchmakingInput"}
 27888  	if s.ConfigurationName == nil {
 27889  		invalidParams.Add(request.NewErrParamRequired("ConfigurationName"))
 27890  	}
 27891  	if s.ConfigurationName != nil && len(*s.ConfigurationName) < 1 {
 27892  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationName", 1))
 27893  	}
 27894  	if s.Players == nil {
 27895  		invalidParams.Add(request.NewErrParamRequired("Players"))
 27896  	}
 27897  	if s.Players != nil {
 27898  		for i, v := range s.Players {
 27899  			if v == nil {
 27900  				continue
 27901  			}
 27902  			if err := v.Validate(); err != nil {
 27903  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Players", i), err.(request.ErrInvalidParams))
 27904  			}
 27905  		}
 27906  	}
 27907  
 27908  	if invalidParams.Len() > 0 {
 27909  		return invalidParams
 27910  	}
 27911  	return nil
 27912  }
 27913  
 27914  // SetConfigurationName sets the ConfigurationName field's value.
 27915  func (s *StartMatchmakingInput) SetConfigurationName(v string) *StartMatchmakingInput {
 27916  	s.ConfigurationName = &v
 27917  	return s
 27918  }
 27919  
 27920  // SetPlayers sets the Players field's value.
 27921  func (s *StartMatchmakingInput) SetPlayers(v []*Player) *StartMatchmakingInput {
 27922  	s.Players = v
 27923  	return s
 27924  }
 27925  
 27926  // SetTicketId sets the TicketId field's value.
 27927  func (s *StartMatchmakingInput) SetTicketId(v string) *StartMatchmakingInput {
 27928  	s.TicketId = &v
 27929  	return s
 27930  }
 27931  
 27932  // Represents the returned data in response to a request operation.
 27933  type StartMatchmakingOutput struct {
 27934  	_ struct{} `type:"structure"`
 27935  
 27936  	// Ticket representing the matchmaking request. This object include the information
 27937  	// included in the request, ticket status, and match results as generated during
 27938  	// the matchmaking process.
 27939  	MatchmakingTicket *MatchmakingTicket `type:"structure"`
 27940  }
 27941  
 27942  // String returns the string representation.
 27943  //
 27944  // API parameter values that are decorated as "sensitive" in the API will not
 27945  // be included in the string output. The member name will be present, but the
 27946  // value will be replaced with "sensitive".
 27947  func (s StartMatchmakingOutput) String() string {
 27948  	return awsutil.Prettify(s)
 27949  }
 27950  
 27951  // GoString returns the string representation.
 27952  //
 27953  // API parameter values that are decorated as "sensitive" in the API will not
 27954  // be included in the string output. The member name will be present, but the
 27955  // value will be replaced with "sensitive".
 27956  func (s StartMatchmakingOutput) GoString() string {
 27957  	return s.String()
 27958  }
 27959  
 27960  // SetMatchmakingTicket sets the MatchmakingTicket field's value.
 27961  func (s *StartMatchmakingOutput) SetMatchmakingTicket(v *MatchmakingTicket) *StartMatchmakingOutput {
 27962  	s.MatchmakingTicket = v
 27963  	return s
 27964  }
 27965  
 27966  // Represents the input for a request operation.
 27967  type StopFleetActionsInput struct {
 27968  	_ struct{} `type:"structure"`
 27969  
 27970  	// List of actions to suspend on the fleet.
 27971  	//
 27972  	// Actions is a required field
 27973  	Actions []*string `min:"1" type:"list" required:"true"`
 27974  
 27975  	// A unique identifier for the fleet to stop actions on. You can use either
 27976  	// the fleet ID or ARN value.
 27977  	//
 27978  	// FleetId is a required field
 27979  	FleetId *string `type:"string" required:"true"`
 27980  
 27981  	// The fleet location to stop fleet actions for. Specify a location in the form
 27982  	// of an AWS Region code, such as us-west-2.
 27983  	Location *string `min:"1" type:"string"`
 27984  }
 27985  
 27986  // String returns the string representation.
 27987  //
 27988  // API parameter values that are decorated as "sensitive" in the API will not
 27989  // be included in the string output. The member name will be present, but the
 27990  // value will be replaced with "sensitive".
 27991  func (s StopFleetActionsInput) String() string {
 27992  	return awsutil.Prettify(s)
 27993  }
 27994  
 27995  // GoString returns the string representation.
 27996  //
 27997  // API parameter values that are decorated as "sensitive" in the API will not
 27998  // be included in the string output. The member name will be present, but the
 27999  // value will be replaced with "sensitive".
 28000  func (s StopFleetActionsInput) GoString() string {
 28001  	return s.String()
 28002  }
 28003  
 28004  // Validate inspects the fields of the type to determine if they are valid.
 28005  func (s *StopFleetActionsInput) Validate() error {
 28006  	invalidParams := request.ErrInvalidParams{Context: "StopFleetActionsInput"}
 28007  	if s.Actions == nil {
 28008  		invalidParams.Add(request.NewErrParamRequired("Actions"))
 28009  	}
 28010  	if s.Actions != nil && len(s.Actions) < 1 {
 28011  		invalidParams.Add(request.NewErrParamMinLen("Actions", 1))
 28012  	}
 28013  	if s.FleetId == nil {
 28014  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 28015  	}
 28016  	if s.Location != nil && len(*s.Location) < 1 {
 28017  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 28018  	}
 28019  
 28020  	if invalidParams.Len() > 0 {
 28021  		return invalidParams
 28022  	}
 28023  	return nil
 28024  }
 28025  
 28026  // SetActions sets the Actions field's value.
 28027  func (s *StopFleetActionsInput) SetActions(v []*string) *StopFleetActionsInput {
 28028  	s.Actions = v
 28029  	return s
 28030  }
 28031  
 28032  // SetFleetId sets the FleetId field's value.
 28033  func (s *StopFleetActionsInput) SetFleetId(v string) *StopFleetActionsInput {
 28034  	s.FleetId = &v
 28035  	return s
 28036  }
 28037  
 28038  // SetLocation sets the Location field's value.
 28039  func (s *StopFleetActionsInput) SetLocation(v string) *StopFleetActionsInput {
 28040  	s.Location = &v
 28041  	return s
 28042  }
 28043  
 28044  // Represents the input for a request operation.
 28045  type StopFleetActionsOutput struct {
 28046  	_ struct{} `type:"structure"`
 28047  
 28048  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 28049  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 28050  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 28051  	FleetArn *string `type:"string"`
 28052  
 28053  	// A unique identifier for the fleet to stop actions on.
 28054  	FleetId *string `type:"string"`
 28055  }
 28056  
 28057  // String returns the string representation.
 28058  //
 28059  // API parameter values that are decorated as "sensitive" in the API will not
 28060  // be included in the string output. The member name will be present, but the
 28061  // value will be replaced with "sensitive".
 28062  func (s StopFleetActionsOutput) String() string {
 28063  	return awsutil.Prettify(s)
 28064  }
 28065  
 28066  // GoString returns the string representation.
 28067  //
 28068  // API parameter values that are decorated as "sensitive" in the API will not
 28069  // be included in the string output. The member name will be present, but the
 28070  // value will be replaced with "sensitive".
 28071  func (s StopFleetActionsOutput) GoString() string {
 28072  	return s.String()
 28073  }
 28074  
 28075  // SetFleetArn sets the FleetArn field's value.
 28076  func (s *StopFleetActionsOutput) SetFleetArn(v string) *StopFleetActionsOutput {
 28077  	s.FleetArn = &v
 28078  	return s
 28079  }
 28080  
 28081  // SetFleetId sets the FleetId field's value.
 28082  func (s *StopFleetActionsOutput) SetFleetId(v string) *StopFleetActionsOutput {
 28083  	s.FleetId = &v
 28084  	return s
 28085  }
 28086  
 28087  // Represents the input for a request operation.
 28088  type StopGameSessionPlacementInput struct {
 28089  	_ struct{} `type:"structure"`
 28090  
 28091  	// A unique identifier for a game session placement to cancel.
 28092  	//
 28093  	// PlacementId is a required field
 28094  	PlacementId *string `min:"1" type:"string" required:"true"`
 28095  }
 28096  
 28097  // String returns the string representation.
 28098  //
 28099  // API parameter values that are decorated as "sensitive" in the API will not
 28100  // be included in the string output. The member name will be present, but the
 28101  // value will be replaced with "sensitive".
 28102  func (s StopGameSessionPlacementInput) String() string {
 28103  	return awsutil.Prettify(s)
 28104  }
 28105  
 28106  // GoString returns the string representation.
 28107  //
 28108  // API parameter values that are decorated as "sensitive" in the API will not
 28109  // be included in the string output. The member name will be present, but the
 28110  // value will be replaced with "sensitive".
 28111  func (s StopGameSessionPlacementInput) GoString() string {
 28112  	return s.String()
 28113  }
 28114  
 28115  // Validate inspects the fields of the type to determine if they are valid.
 28116  func (s *StopGameSessionPlacementInput) Validate() error {
 28117  	invalidParams := request.ErrInvalidParams{Context: "StopGameSessionPlacementInput"}
 28118  	if s.PlacementId == nil {
 28119  		invalidParams.Add(request.NewErrParamRequired("PlacementId"))
 28120  	}
 28121  	if s.PlacementId != nil && len(*s.PlacementId) < 1 {
 28122  		invalidParams.Add(request.NewErrParamMinLen("PlacementId", 1))
 28123  	}
 28124  
 28125  	if invalidParams.Len() > 0 {
 28126  		return invalidParams
 28127  	}
 28128  	return nil
 28129  }
 28130  
 28131  // SetPlacementId sets the PlacementId field's value.
 28132  func (s *StopGameSessionPlacementInput) SetPlacementId(v string) *StopGameSessionPlacementInput {
 28133  	s.PlacementId = &v
 28134  	return s
 28135  }
 28136  
 28137  // Represents the returned data in response to a request operation.
 28138  type StopGameSessionPlacementOutput struct {
 28139  	_ struct{} `type:"structure"`
 28140  
 28141  	// Object that describes the canceled game session placement, with CANCELLED
 28142  	// status and an end time stamp.
 28143  	GameSessionPlacement *GameSessionPlacement `type:"structure"`
 28144  }
 28145  
 28146  // String returns the string representation.
 28147  //
 28148  // API parameter values that are decorated as "sensitive" in the API will not
 28149  // be included in the string output. The member name will be present, but the
 28150  // value will be replaced with "sensitive".
 28151  func (s StopGameSessionPlacementOutput) String() string {
 28152  	return awsutil.Prettify(s)
 28153  }
 28154  
 28155  // GoString returns the string representation.
 28156  //
 28157  // API parameter values that are decorated as "sensitive" in the API will not
 28158  // be included in the string output. The member name will be present, but the
 28159  // value will be replaced with "sensitive".
 28160  func (s StopGameSessionPlacementOutput) GoString() string {
 28161  	return s.String()
 28162  }
 28163  
 28164  // SetGameSessionPlacement sets the GameSessionPlacement field's value.
 28165  func (s *StopGameSessionPlacementOutput) SetGameSessionPlacement(v *GameSessionPlacement) *StopGameSessionPlacementOutput {
 28166  	s.GameSessionPlacement = v
 28167  	return s
 28168  }
 28169  
 28170  // Represents the input for a request operation.
 28171  type StopMatchmakingInput struct {
 28172  	_ struct{} `type:"structure"`
 28173  
 28174  	// A unique identifier for a matchmaking ticket.
 28175  	//
 28176  	// TicketId is a required field
 28177  	TicketId *string `type:"string" required:"true"`
 28178  }
 28179  
 28180  // String returns the string representation.
 28181  //
 28182  // API parameter values that are decorated as "sensitive" in the API will not
 28183  // be included in the string output. The member name will be present, but the
 28184  // value will be replaced with "sensitive".
 28185  func (s StopMatchmakingInput) String() string {
 28186  	return awsutil.Prettify(s)
 28187  }
 28188  
 28189  // GoString returns the string representation.
 28190  //
 28191  // API parameter values that are decorated as "sensitive" in the API will not
 28192  // be included in the string output. The member name will be present, but the
 28193  // value will be replaced with "sensitive".
 28194  func (s StopMatchmakingInput) GoString() string {
 28195  	return s.String()
 28196  }
 28197  
 28198  // Validate inspects the fields of the type to determine if they are valid.
 28199  func (s *StopMatchmakingInput) Validate() error {
 28200  	invalidParams := request.ErrInvalidParams{Context: "StopMatchmakingInput"}
 28201  	if s.TicketId == nil {
 28202  		invalidParams.Add(request.NewErrParamRequired("TicketId"))
 28203  	}
 28204  
 28205  	if invalidParams.Len() > 0 {
 28206  		return invalidParams
 28207  	}
 28208  	return nil
 28209  }
 28210  
 28211  // SetTicketId sets the TicketId field's value.
 28212  func (s *StopMatchmakingInput) SetTicketId(v string) *StopMatchmakingInput {
 28213  	s.TicketId = &v
 28214  	return s
 28215  }
 28216  
 28217  type StopMatchmakingOutput struct {
 28218  	_ struct{} `type:"structure"`
 28219  }
 28220  
 28221  // String returns the string representation.
 28222  //
 28223  // API parameter values that are decorated as "sensitive" in the API will not
 28224  // be included in the string output. The member name will be present, but the
 28225  // value will be replaced with "sensitive".
 28226  func (s StopMatchmakingOutput) String() string {
 28227  	return awsutil.Prettify(s)
 28228  }
 28229  
 28230  // GoString returns the string representation.
 28231  //
 28232  // API parameter values that are decorated as "sensitive" in the API will not
 28233  // be included in the string output. The member name will be present, but the
 28234  // value will be replaced with "sensitive".
 28235  func (s StopMatchmakingOutput) GoString() string {
 28236  	return s.String()
 28237  }
 28238  
 28239  type SuspendGameServerGroupInput struct {
 28240  	_ struct{} `type:"structure"`
 28241  
 28242  	// A unique identifier for the game server group. Use either the GameServerGroup
 28243  	// name or ARN value.
 28244  	//
 28245  	// GameServerGroupName is a required field
 28246  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 28247  
 28248  	// The activity to suspend for this game server group.
 28249  	//
 28250  	// SuspendActions is a required field
 28251  	SuspendActions []*string `min:"1" type:"list" required:"true"`
 28252  }
 28253  
 28254  // String returns the string representation.
 28255  //
 28256  // API parameter values that are decorated as "sensitive" in the API will not
 28257  // be included in the string output. The member name will be present, but the
 28258  // value will be replaced with "sensitive".
 28259  func (s SuspendGameServerGroupInput) String() string {
 28260  	return awsutil.Prettify(s)
 28261  }
 28262  
 28263  // GoString returns the string representation.
 28264  //
 28265  // API parameter values that are decorated as "sensitive" in the API will not
 28266  // be included in the string output. The member name will be present, but the
 28267  // value will be replaced with "sensitive".
 28268  func (s SuspendGameServerGroupInput) GoString() string {
 28269  	return s.String()
 28270  }
 28271  
 28272  // Validate inspects the fields of the type to determine if they are valid.
 28273  func (s *SuspendGameServerGroupInput) Validate() error {
 28274  	invalidParams := request.ErrInvalidParams{Context: "SuspendGameServerGroupInput"}
 28275  	if s.GameServerGroupName == nil {
 28276  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 28277  	}
 28278  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 28279  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 28280  	}
 28281  	if s.SuspendActions == nil {
 28282  		invalidParams.Add(request.NewErrParamRequired("SuspendActions"))
 28283  	}
 28284  	if s.SuspendActions != nil && len(s.SuspendActions) < 1 {
 28285  		invalidParams.Add(request.NewErrParamMinLen("SuspendActions", 1))
 28286  	}
 28287  
 28288  	if invalidParams.Len() > 0 {
 28289  		return invalidParams
 28290  	}
 28291  	return nil
 28292  }
 28293  
 28294  // SetGameServerGroupName sets the GameServerGroupName field's value.
 28295  func (s *SuspendGameServerGroupInput) SetGameServerGroupName(v string) *SuspendGameServerGroupInput {
 28296  	s.GameServerGroupName = &v
 28297  	return s
 28298  }
 28299  
 28300  // SetSuspendActions sets the SuspendActions field's value.
 28301  func (s *SuspendGameServerGroupInput) SetSuspendActions(v []*string) *SuspendGameServerGroupInput {
 28302  	s.SuspendActions = v
 28303  	return s
 28304  }
 28305  
 28306  type SuspendGameServerGroupOutput struct {
 28307  	_ struct{} `type:"structure"`
 28308  
 28309  	// An object that describes the game server group resource, with the SuspendedActions
 28310  	// property updated to reflect the suspended activity.
 28311  	GameServerGroup *GameServerGroup `type:"structure"`
 28312  }
 28313  
 28314  // String returns the string representation.
 28315  //
 28316  // API parameter values that are decorated as "sensitive" in the API will not
 28317  // be included in the string output. The member name will be present, but the
 28318  // value will be replaced with "sensitive".
 28319  func (s SuspendGameServerGroupOutput) String() string {
 28320  	return awsutil.Prettify(s)
 28321  }
 28322  
 28323  // GoString returns the string representation.
 28324  //
 28325  // API parameter values that are decorated as "sensitive" in the API will not
 28326  // be included in the string output. The member name will be present, but the
 28327  // value will be replaced with "sensitive".
 28328  func (s SuspendGameServerGroupOutput) GoString() string {
 28329  	return s.String()
 28330  }
 28331  
 28332  // SetGameServerGroup sets the GameServerGroup field's value.
 28333  func (s *SuspendGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *SuspendGameServerGroupOutput {
 28334  	s.GameServerGroup = v
 28335  	return s
 28336  }
 28337  
 28338  // A label that can be assigned to a GameLift resource.
 28339  //
 28340  // Learn more
 28341  //
 28342  // Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 28343  // in the AWS General Reference
 28344  //
 28345  //  AWS Tagging Strategies (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/)
 28346  //
 28347  // Related actions
 28348  //
 28349  // TagResource | UntagResource | ListTagsForResource | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 28350  type Tag struct {
 28351  	_ struct{} `type:"structure"`
 28352  
 28353  	// The key for a developer-defined key:value pair for tagging an AWS resource.
 28354  	//
 28355  	// Key is a required field
 28356  	Key *string `min:"1" type:"string" required:"true"`
 28357  
 28358  	// The value for a developer-defined key:value pair for tagging an AWS resource.
 28359  	//
 28360  	// Value is a required field
 28361  	Value *string `type:"string" required:"true"`
 28362  }
 28363  
 28364  // String returns the string representation.
 28365  //
 28366  // API parameter values that are decorated as "sensitive" in the API will not
 28367  // be included in the string output. The member name will be present, but the
 28368  // value will be replaced with "sensitive".
 28369  func (s Tag) String() string {
 28370  	return awsutil.Prettify(s)
 28371  }
 28372  
 28373  // GoString returns the string representation.
 28374  //
 28375  // API parameter values that are decorated as "sensitive" in the API will not
 28376  // be included in the string output. The member name will be present, but the
 28377  // value will be replaced with "sensitive".
 28378  func (s Tag) GoString() string {
 28379  	return s.String()
 28380  }
 28381  
 28382  // Validate inspects the fields of the type to determine if they are valid.
 28383  func (s *Tag) Validate() error {
 28384  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 28385  	if s.Key == nil {
 28386  		invalidParams.Add(request.NewErrParamRequired("Key"))
 28387  	}
 28388  	if s.Key != nil && len(*s.Key) < 1 {
 28389  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 28390  	}
 28391  	if s.Value == nil {
 28392  		invalidParams.Add(request.NewErrParamRequired("Value"))
 28393  	}
 28394  
 28395  	if invalidParams.Len() > 0 {
 28396  		return invalidParams
 28397  	}
 28398  	return nil
 28399  }
 28400  
 28401  // SetKey sets the Key field's value.
 28402  func (s *Tag) SetKey(v string) *Tag {
 28403  	s.Key = &v
 28404  	return s
 28405  }
 28406  
 28407  // SetValue sets the Value field's value.
 28408  func (s *Tag) SetValue(v string) *Tag {
 28409  	s.Value = &v
 28410  	return s
 28411  }
 28412  
 28413  type TagResourceInput struct {
 28414  	_ struct{} `type:"structure"`
 28415  
 28416  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 28417  	// that is assigned to and uniquely identifies the GameLift resource that you
 28418  	// want to assign tags to. GameLift resource ARNs are included in the data object
 28419  	// for the resource, which can be retrieved by calling a List or Describe operation
 28420  	// for the resource type.
 28421  	//
 28422  	// ResourceARN is a required field
 28423  	ResourceARN *string `min:"1" type:"string" required:"true"`
 28424  
 28425  	// A list of one or more tags to assign to the specified GameLift resource.
 28426  	// Tags are developer-defined and structured as key-value pairs. The maximum
 28427  	// tag limit may be lower than stated. See Tagging AWS Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)
 28428  	// for actual tagging limits.
 28429  	//
 28430  	// Tags is a required field
 28431  	Tags []*Tag `type:"list" required:"true"`
 28432  }
 28433  
 28434  // String returns the string representation.
 28435  //
 28436  // API parameter values that are decorated as "sensitive" in the API will not
 28437  // be included in the string output. The member name will be present, but the
 28438  // value will be replaced with "sensitive".
 28439  func (s TagResourceInput) String() string {
 28440  	return awsutil.Prettify(s)
 28441  }
 28442  
 28443  // GoString returns the string representation.
 28444  //
 28445  // API parameter values that are decorated as "sensitive" in the API will not
 28446  // be included in the string output. The member name will be present, but the
 28447  // value will be replaced with "sensitive".
 28448  func (s TagResourceInput) GoString() string {
 28449  	return s.String()
 28450  }
 28451  
 28452  // Validate inspects the fields of the type to determine if they are valid.
 28453  func (s *TagResourceInput) Validate() error {
 28454  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 28455  	if s.ResourceARN == nil {
 28456  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 28457  	}
 28458  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 28459  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 28460  	}
 28461  	if s.Tags == nil {
 28462  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 28463  	}
 28464  	if s.Tags != nil {
 28465  		for i, v := range s.Tags {
 28466  			if v == nil {
 28467  				continue
 28468  			}
 28469  			if err := v.Validate(); err != nil {
 28470  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 28471  			}
 28472  		}
 28473  	}
 28474  
 28475  	if invalidParams.Len() > 0 {
 28476  		return invalidParams
 28477  	}
 28478  	return nil
 28479  }
 28480  
 28481  // SetResourceARN sets the ResourceARN field's value.
 28482  func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
 28483  	s.ResourceARN = &v
 28484  	return s
 28485  }
 28486  
 28487  // SetTags sets the Tags field's value.
 28488  func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
 28489  	s.Tags = v
 28490  	return s
 28491  }
 28492  
 28493  type TagResourceOutput struct {
 28494  	_ struct{} `type:"structure"`
 28495  }
 28496  
 28497  // String returns the string representation.
 28498  //
 28499  // API parameter values that are decorated as "sensitive" in the API will not
 28500  // be included in the string output. The member name will be present, but the
 28501  // value will be replaced with "sensitive".
 28502  func (s TagResourceOutput) String() string {
 28503  	return awsutil.Prettify(s)
 28504  }
 28505  
 28506  // GoString returns the string representation.
 28507  //
 28508  // API parameter values that are decorated as "sensitive" in the API will not
 28509  // be included in the string output. The member name will be present, but the
 28510  // value will be replaced with "sensitive".
 28511  func (s TagResourceOutput) GoString() string {
 28512  	return s.String()
 28513  }
 28514  
 28515  // The requested tagging operation did not succeed. This may be due to invalid
 28516  // tag format or the maximum tag limit may have been exceeded. Resolve the issue
 28517  // before retrying.
 28518  type TaggingFailedException struct {
 28519  	_            struct{}                  `type:"structure"`
 28520  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28521  
 28522  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 28523  }
 28524  
 28525  // String returns the string representation.
 28526  //
 28527  // API parameter values that are decorated as "sensitive" in the API will not
 28528  // be included in the string output. The member name will be present, but the
 28529  // value will be replaced with "sensitive".
 28530  func (s TaggingFailedException) String() string {
 28531  	return awsutil.Prettify(s)
 28532  }
 28533  
 28534  // GoString returns the string representation.
 28535  //
 28536  // API parameter values that are decorated as "sensitive" in the API will not
 28537  // be included in the string output. The member name will be present, but the
 28538  // value will be replaced with "sensitive".
 28539  func (s TaggingFailedException) GoString() string {
 28540  	return s.String()
 28541  }
 28542  
 28543  func newErrorTaggingFailedException(v protocol.ResponseMetadata) error {
 28544  	return &TaggingFailedException{
 28545  		RespMetadata: v,
 28546  	}
 28547  }
 28548  
 28549  // Code returns the exception type name.
 28550  func (s *TaggingFailedException) Code() string {
 28551  	return "TaggingFailedException"
 28552  }
 28553  
 28554  // Message returns the exception's message.
 28555  func (s *TaggingFailedException) Message() string {
 28556  	if s.Message_ != nil {
 28557  		return *s.Message_
 28558  	}
 28559  	return ""
 28560  }
 28561  
 28562  // OrigErr always returns nil, satisfies awserr.Error interface.
 28563  func (s *TaggingFailedException) OrigErr() error {
 28564  	return nil
 28565  }
 28566  
 28567  func (s *TaggingFailedException) Error() string {
 28568  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28569  }
 28570  
 28571  // Status code returns the HTTP status code for the request's response error.
 28572  func (s *TaggingFailedException) StatusCode() int {
 28573  	return s.RespMetadata.StatusCode
 28574  }
 28575  
 28576  // RequestID returns the service's response RequestID for request.
 28577  func (s *TaggingFailedException) RequestID() string {
 28578  	return s.RespMetadata.RequestID
 28579  }
 28580  
 28581  // Settings for a target-based scaling policy (see ScalingPolicy. A target-based
 28582  // policy tracks a particular fleet metric specifies a target value for the
 28583  // metric. As player usage changes, the policy triggers Amazon GameLift to adjust
 28584  // capacity so that the metric returns to the target value. The target configuration
 28585  // specifies settings as needed for the target based policy, including the target
 28586  // value.
 28587  //
 28588  // Related actions
 28589  //
 28590  // DescribeFleetCapacity | UpdateFleetCapacity | DescribeEC2InstanceLimits |
 28591  // PutScalingPolicy | DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions
 28592  // | StartFleetActions | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 28593  type TargetConfiguration struct {
 28594  	_ struct{} `type:"structure"`
 28595  
 28596  	// Desired value to use with a target-based scaling policy. The value must be
 28597  	// relevant for whatever metric the scaling policy is using. For example, in
 28598  	// a policy using the metric PercentAvailableGameSessions, the target value
 28599  	// should be the preferred size of the fleet's buffer (the percent of capacity
 28600  	// that should be idle and ready for new game sessions).
 28601  	//
 28602  	// TargetValue is a required field
 28603  	TargetValue *float64 `type:"double" required:"true"`
 28604  }
 28605  
 28606  // String returns the string representation.
 28607  //
 28608  // API parameter values that are decorated as "sensitive" in the API will not
 28609  // be included in the string output. The member name will be present, but the
 28610  // value will be replaced with "sensitive".
 28611  func (s TargetConfiguration) String() string {
 28612  	return awsutil.Prettify(s)
 28613  }
 28614  
 28615  // GoString returns the string representation.
 28616  //
 28617  // API parameter values that are decorated as "sensitive" in the API will not
 28618  // be included in the string output. The member name will be present, but the
 28619  // value will be replaced with "sensitive".
 28620  func (s TargetConfiguration) GoString() string {
 28621  	return s.String()
 28622  }
 28623  
 28624  // Validate inspects the fields of the type to determine if they are valid.
 28625  func (s *TargetConfiguration) Validate() error {
 28626  	invalidParams := request.ErrInvalidParams{Context: "TargetConfiguration"}
 28627  	if s.TargetValue == nil {
 28628  		invalidParams.Add(request.NewErrParamRequired("TargetValue"))
 28629  	}
 28630  
 28631  	if invalidParams.Len() > 0 {
 28632  		return invalidParams
 28633  	}
 28634  	return nil
 28635  }
 28636  
 28637  // SetTargetValue sets the TargetValue field's value.
 28638  func (s *TargetConfiguration) SetTargetValue(v float64) *TargetConfiguration {
 28639  	s.TargetValue = &v
 28640  	return s
 28641  }
 28642  
 28643  // This data type is used with the GameLift FleetIQ and game server groups.
 28644  //
 28645  // Settings for a target-based scaling policy as part of a GameServerGroupAutoScalingPolicy.
 28646  // These settings are used to create a target-based policy that tracks the GameLift
 28647  // FleetIQ metric "PercentUtilizedGameServers" and specifies a target value
 28648  // for the metric. As player usage changes, the policy triggers to adjust the
 28649  // game server group capacity so that the metric returns to the target value.
 28650  type TargetTrackingConfiguration struct {
 28651  	_ struct{} `type:"structure"`
 28652  
 28653  	// Desired value to use with a game server group target-based scaling policy.
 28654  	//
 28655  	// TargetValue is a required field
 28656  	TargetValue *float64 `type:"double" required:"true"`
 28657  }
 28658  
 28659  // String returns the string representation.
 28660  //
 28661  // API parameter values that are decorated as "sensitive" in the API will not
 28662  // be included in the string output. The member name will be present, but the
 28663  // value will be replaced with "sensitive".
 28664  func (s TargetTrackingConfiguration) String() string {
 28665  	return awsutil.Prettify(s)
 28666  }
 28667  
 28668  // GoString returns the string representation.
 28669  //
 28670  // API parameter values that are decorated as "sensitive" in the API will not
 28671  // be included in the string output. The member name will be present, but the
 28672  // value will be replaced with "sensitive".
 28673  func (s TargetTrackingConfiguration) GoString() string {
 28674  	return s.String()
 28675  }
 28676  
 28677  // Validate inspects the fields of the type to determine if they are valid.
 28678  func (s *TargetTrackingConfiguration) Validate() error {
 28679  	invalidParams := request.ErrInvalidParams{Context: "TargetTrackingConfiguration"}
 28680  	if s.TargetValue == nil {
 28681  		invalidParams.Add(request.NewErrParamRequired("TargetValue"))
 28682  	}
 28683  
 28684  	if invalidParams.Len() > 0 {
 28685  		return invalidParams
 28686  	}
 28687  	return nil
 28688  }
 28689  
 28690  // SetTargetValue sets the TargetValue field's value.
 28691  func (s *TargetTrackingConfiguration) SetTargetValue(v float64) *TargetTrackingConfiguration {
 28692  	s.TargetValue = &v
 28693  	return s
 28694  }
 28695  
 28696  // The service is unable to resolve the routing for a particular alias because
 28697  // it has a terminal RoutingStrategy associated with it. The message returned
 28698  // in this exception is the message defined in the routing strategy itself.
 28699  // Such requests should only be retried if the routing strategy for the specified
 28700  // alias is modified.
 28701  type TerminalRoutingStrategyException struct {
 28702  	_            struct{}                  `type:"structure"`
 28703  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28704  
 28705  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 28706  }
 28707  
 28708  // String returns the string representation.
 28709  //
 28710  // API parameter values that are decorated as "sensitive" in the API will not
 28711  // be included in the string output. The member name will be present, but the
 28712  // value will be replaced with "sensitive".
 28713  func (s TerminalRoutingStrategyException) String() string {
 28714  	return awsutil.Prettify(s)
 28715  }
 28716  
 28717  // GoString returns the string representation.
 28718  //
 28719  // API parameter values that are decorated as "sensitive" in the API will not
 28720  // be included in the string output. The member name will be present, but the
 28721  // value will be replaced with "sensitive".
 28722  func (s TerminalRoutingStrategyException) GoString() string {
 28723  	return s.String()
 28724  }
 28725  
 28726  func newErrorTerminalRoutingStrategyException(v protocol.ResponseMetadata) error {
 28727  	return &TerminalRoutingStrategyException{
 28728  		RespMetadata: v,
 28729  	}
 28730  }
 28731  
 28732  // Code returns the exception type name.
 28733  func (s *TerminalRoutingStrategyException) Code() string {
 28734  	return "TerminalRoutingStrategyException"
 28735  }
 28736  
 28737  // Message returns the exception's message.
 28738  func (s *TerminalRoutingStrategyException) Message() string {
 28739  	if s.Message_ != nil {
 28740  		return *s.Message_
 28741  	}
 28742  	return ""
 28743  }
 28744  
 28745  // OrigErr always returns nil, satisfies awserr.Error interface.
 28746  func (s *TerminalRoutingStrategyException) OrigErr() error {
 28747  	return nil
 28748  }
 28749  
 28750  func (s *TerminalRoutingStrategyException) Error() string {
 28751  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28752  }
 28753  
 28754  // Status code returns the HTTP status code for the request's response error.
 28755  func (s *TerminalRoutingStrategyException) StatusCode() int {
 28756  	return s.RespMetadata.StatusCode
 28757  }
 28758  
 28759  // RequestID returns the service's response RequestID for request.
 28760  func (s *TerminalRoutingStrategyException) RequestID() string {
 28761  	return s.RespMetadata.RequestID
 28762  }
 28763  
 28764  // The client failed authentication. Clients should not retry such requests.
 28765  type UnauthorizedException struct {
 28766  	_            struct{}                  `type:"structure"`
 28767  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28768  
 28769  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 28770  }
 28771  
 28772  // String returns the string representation.
 28773  //
 28774  // API parameter values that are decorated as "sensitive" in the API will not
 28775  // be included in the string output. The member name will be present, but the
 28776  // value will be replaced with "sensitive".
 28777  func (s UnauthorizedException) String() string {
 28778  	return awsutil.Prettify(s)
 28779  }
 28780  
 28781  // GoString returns the string representation.
 28782  //
 28783  // API parameter values that are decorated as "sensitive" in the API will not
 28784  // be included in the string output. The member name will be present, but the
 28785  // value will be replaced with "sensitive".
 28786  func (s UnauthorizedException) GoString() string {
 28787  	return s.String()
 28788  }
 28789  
 28790  func newErrorUnauthorizedException(v protocol.ResponseMetadata) error {
 28791  	return &UnauthorizedException{
 28792  		RespMetadata: v,
 28793  	}
 28794  }
 28795  
 28796  // Code returns the exception type name.
 28797  func (s *UnauthorizedException) Code() string {
 28798  	return "UnauthorizedException"
 28799  }
 28800  
 28801  // Message returns the exception's message.
 28802  func (s *UnauthorizedException) Message() string {
 28803  	if s.Message_ != nil {
 28804  		return *s.Message_
 28805  	}
 28806  	return ""
 28807  }
 28808  
 28809  // OrigErr always returns nil, satisfies awserr.Error interface.
 28810  func (s *UnauthorizedException) OrigErr() error {
 28811  	return nil
 28812  }
 28813  
 28814  func (s *UnauthorizedException) Error() string {
 28815  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28816  }
 28817  
 28818  // Status code returns the HTTP status code for the request's response error.
 28819  func (s *UnauthorizedException) StatusCode() int {
 28820  	return s.RespMetadata.StatusCode
 28821  }
 28822  
 28823  // RequestID returns the service's response RequestID for request.
 28824  func (s *UnauthorizedException) RequestID() string {
 28825  	return s.RespMetadata.RequestID
 28826  }
 28827  
 28828  // The requested operation is not supported in the Region specified.
 28829  type UnsupportedRegionException struct {
 28830  	_            struct{}                  `type:"structure"`
 28831  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 28832  
 28833  	Message_ *string `locationName:"Message" min:"1" type:"string"`
 28834  }
 28835  
 28836  // String returns the string representation.
 28837  //
 28838  // API parameter values that are decorated as "sensitive" in the API will not
 28839  // be included in the string output. The member name will be present, but the
 28840  // value will be replaced with "sensitive".
 28841  func (s UnsupportedRegionException) String() string {
 28842  	return awsutil.Prettify(s)
 28843  }
 28844  
 28845  // GoString returns the string representation.
 28846  //
 28847  // API parameter values that are decorated as "sensitive" in the API will not
 28848  // be included in the string output. The member name will be present, but the
 28849  // value will be replaced with "sensitive".
 28850  func (s UnsupportedRegionException) GoString() string {
 28851  	return s.String()
 28852  }
 28853  
 28854  func newErrorUnsupportedRegionException(v protocol.ResponseMetadata) error {
 28855  	return &UnsupportedRegionException{
 28856  		RespMetadata: v,
 28857  	}
 28858  }
 28859  
 28860  // Code returns the exception type name.
 28861  func (s *UnsupportedRegionException) Code() string {
 28862  	return "UnsupportedRegionException"
 28863  }
 28864  
 28865  // Message returns the exception's message.
 28866  func (s *UnsupportedRegionException) Message() string {
 28867  	if s.Message_ != nil {
 28868  		return *s.Message_
 28869  	}
 28870  	return ""
 28871  }
 28872  
 28873  // OrigErr always returns nil, satisfies awserr.Error interface.
 28874  func (s *UnsupportedRegionException) OrigErr() error {
 28875  	return nil
 28876  }
 28877  
 28878  func (s *UnsupportedRegionException) Error() string {
 28879  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 28880  }
 28881  
 28882  // Status code returns the HTTP status code for the request's response error.
 28883  func (s *UnsupportedRegionException) StatusCode() int {
 28884  	return s.RespMetadata.StatusCode
 28885  }
 28886  
 28887  // RequestID returns the service's response RequestID for request.
 28888  func (s *UnsupportedRegionException) RequestID() string {
 28889  	return s.RespMetadata.RequestID
 28890  }
 28891  
 28892  type UntagResourceInput struct {
 28893  	_ struct{} `type:"structure"`
 28894  
 28895  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 28896  	// that is assigned to and uniquely identifies the GameLift resource that you
 28897  	// want to remove tags from. GameLift resource ARNs are included in the data
 28898  	// object for the resource, which can be retrieved by calling a List or Describe
 28899  	// operation for the resource type.
 28900  	//
 28901  	// ResourceARN is a required field
 28902  	ResourceARN *string `min:"1" type:"string" required:"true"`
 28903  
 28904  	// A list of one or more tag keys to remove from the specified GameLift resource.
 28905  	// An AWS resource can have only one tag with a specific tag key, so specifying
 28906  	// the tag key identifies which tag to remove.
 28907  	//
 28908  	// TagKeys is a required field
 28909  	TagKeys []*string `type:"list" required:"true"`
 28910  }
 28911  
 28912  // String returns the string representation.
 28913  //
 28914  // API parameter values that are decorated as "sensitive" in the API will not
 28915  // be included in the string output. The member name will be present, but the
 28916  // value will be replaced with "sensitive".
 28917  func (s UntagResourceInput) String() string {
 28918  	return awsutil.Prettify(s)
 28919  }
 28920  
 28921  // GoString returns the string representation.
 28922  //
 28923  // API parameter values that are decorated as "sensitive" in the API will not
 28924  // be included in the string output. The member name will be present, but the
 28925  // value will be replaced with "sensitive".
 28926  func (s UntagResourceInput) GoString() string {
 28927  	return s.String()
 28928  }
 28929  
 28930  // Validate inspects the fields of the type to determine if they are valid.
 28931  func (s *UntagResourceInput) Validate() error {
 28932  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 28933  	if s.ResourceARN == nil {
 28934  		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
 28935  	}
 28936  	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
 28937  		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
 28938  	}
 28939  	if s.TagKeys == nil {
 28940  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 28941  	}
 28942  
 28943  	if invalidParams.Len() > 0 {
 28944  		return invalidParams
 28945  	}
 28946  	return nil
 28947  }
 28948  
 28949  // SetResourceARN sets the ResourceARN field's value.
 28950  func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
 28951  	s.ResourceARN = &v
 28952  	return s
 28953  }
 28954  
 28955  // SetTagKeys sets the TagKeys field's value.
 28956  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 28957  	s.TagKeys = v
 28958  	return s
 28959  }
 28960  
 28961  type UntagResourceOutput struct {
 28962  	_ struct{} `type:"structure"`
 28963  }
 28964  
 28965  // String returns the string representation.
 28966  //
 28967  // API parameter values that are decorated as "sensitive" in the API will not
 28968  // be included in the string output. The member name will be present, but the
 28969  // value will be replaced with "sensitive".
 28970  func (s UntagResourceOutput) String() string {
 28971  	return awsutil.Prettify(s)
 28972  }
 28973  
 28974  // GoString returns the string representation.
 28975  //
 28976  // API parameter values that are decorated as "sensitive" in the API will not
 28977  // be included in the string output. The member name will be present, but the
 28978  // value will be replaced with "sensitive".
 28979  func (s UntagResourceOutput) GoString() string {
 28980  	return s.String()
 28981  }
 28982  
 28983  // Represents the input for a request operation.
 28984  type UpdateAliasInput struct {
 28985  	_ struct{} `type:"structure"`
 28986  
 28987  	// A unique identifier for the alias that you want to update. You can use either
 28988  	// the alias ID or ARN value.
 28989  	//
 28990  	// AliasId is a required field
 28991  	AliasId *string `type:"string" required:"true"`
 28992  
 28993  	// A human-readable description of the alias.
 28994  	Description *string `min:"1" type:"string"`
 28995  
 28996  	// A descriptive label that is associated with an alias. Alias names do not
 28997  	// need to be unique.
 28998  	Name *string `min:"1" type:"string"`
 28999  
 29000  	// The routing configuration, including routing type and fleet target, for the
 29001  	// alias.
 29002  	RoutingStrategy *RoutingStrategy `type:"structure"`
 29003  }
 29004  
 29005  // String returns the string representation.
 29006  //
 29007  // API parameter values that are decorated as "sensitive" in the API will not
 29008  // be included in the string output. The member name will be present, but the
 29009  // value will be replaced with "sensitive".
 29010  func (s UpdateAliasInput) String() string {
 29011  	return awsutil.Prettify(s)
 29012  }
 29013  
 29014  // GoString returns the string representation.
 29015  //
 29016  // API parameter values that are decorated as "sensitive" in the API will not
 29017  // be included in the string output. The member name will be present, but the
 29018  // value will be replaced with "sensitive".
 29019  func (s UpdateAliasInput) GoString() string {
 29020  	return s.String()
 29021  }
 29022  
 29023  // Validate inspects the fields of the type to determine if they are valid.
 29024  func (s *UpdateAliasInput) Validate() error {
 29025  	invalidParams := request.ErrInvalidParams{Context: "UpdateAliasInput"}
 29026  	if s.AliasId == nil {
 29027  		invalidParams.Add(request.NewErrParamRequired("AliasId"))
 29028  	}
 29029  	if s.Description != nil && len(*s.Description) < 1 {
 29030  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 29031  	}
 29032  	if s.Name != nil && len(*s.Name) < 1 {
 29033  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 29034  	}
 29035  
 29036  	if invalidParams.Len() > 0 {
 29037  		return invalidParams
 29038  	}
 29039  	return nil
 29040  }
 29041  
 29042  // SetAliasId sets the AliasId field's value.
 29043  func (s *UpdateAliasInput) SetAliasId(v string) *UpdateAliasInput {
 29044  	s.AliasId = &v
 29045  	return s
 29046  }
 29047  
 29048  // SetDescription sets the Description field's value.
 29049  func (s *UpdateAliasInput) SetDescription(v string) *UpdateAliasInput {
 29050  	s.Description = &v
 29051  	return s
 29052  }
 29053  
 29054  // SetName sets the Name field's value.
 29055  func (s *UpdateAliasInput) SetName(v string) *UpdateAliasInput {
 29056  	s.Name = &v
 29057  	return s
 29058  }
 29059  
 29060  // SetRoutingStrategy sets the RoutingStrategy field's value.
 29061  func (s *UpdateAliasInput) SetRoutingStrategy(v *RoutingStrategy) *UpdateAliasInput {
 29062  	s.RoutingStrategy = v
 29063  	return s
 29064  }
 29065  
 29066  // Represents the returned data in response to a request operation.
 29067  type UpdateAliasOutput struct {
 29068  	_ struct{} `type:"structure"`
 29069  
 29070  	// The updated alias resource.
 29071  	Alias *Alias `type:"structure"`
 29072  }
 29073  
 29074  // String returns the string representation.
 29075  //
 29076  // API parameter values that are decorated as "sensitive" in the API will not
 29077  // be included in the string output. The member name will be present, but the
 29078  // value will be replaced with "sensitive".
 29079  func (s UpdateAliasOutput) String() string {
 29080  	return awsutil.Prettify(s)
 29081  }
 29082  
 29083  // GoString returns the string representation.
 29084  //
 29085  // API parameter values that are decorated as "sensitive" in the API will not
 29086  // be included in the string output. The member name will be present, but the
 29087  // value will be replaced with "sensitive".
 29088  func (s UpdateAliasOutput) GoString() string {
 29089  	return s.String()
 29090  }
 29091  
 29092  // SetAlias sets the Alias field's value.
 29093  func (s *UpdateAliasOutput) SetAlias(v *Alias) *UpdateAliasOutput {
 29094  	s.Alias = v
 29095  	return s
 29096  }
 29097  
 29098  // Represents the input for a request operation.
 29099  type UpdateBuildInput struct {
 29100  	_ struct{} `type:"structure"`
 29101  
 29102  	// A unique identifier for the build to update. You can use either the build
 29103  	// ID or ARN value.
 29104  	//
 29105  	// BuildId is a required field
 29106  	BuildId *string `type:"string" required:"true"`
 29107  
 29108  	// A descriptive label that is associated with a build. Build names do not need
 29109  	// to be unique.
 29110  	Name *string `min:"1" type:"string"`
 29111  
 29112  	// Version information that is associated with a build or script. Version strings
 29113  	// do not need to be unique.
 29114  	Version *string `min:"1" type:"string"`
 29115  }
 29116  
 29117  // String returns the string representation.
 29118  //
 29119  // API parameter values that are decorated as "sensitive" in the API will not
 29120  // be included in the string output. The member name will be present, but the
 29121  // value will be replaced with "sensitive".
 29122  func (s UpdateBuildInput) String() string {
 29123  	return awsutil.Prettify(s)
 29124  }
 29125  
 29126  // GoString returns the string representation.
 29127  //
 29128  // API parameter values that are decorated as "sensitive" in the API will not
 29129  // be included in the string output. The member name will be present, but the
 29130  // value will be replaced with "sensitive".
 29131  func (s UpdateBuildInput) GoString() string {
 29132  	return s.String()
 29133  }
 29134  
 29135  // Validate inspects the fields of the type to determine if they are valid.
 29136  func (s *UpdateBuildInput) Validate() error {
 29137  	invalidParams := request.ErrInvalidParams{Context: "UpdateBuildInput"}
 29138  	if s.BuildId == nil {
 29139  		invalidParams.Add(request.NewErrParamRequired("BuildId"))
 29140  	}
 29141  	if s.Name != nil && len(*s.Name) < 1 {
 29142  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 29143  	}
 29144  	if s.Version != nil && len(*s.Version) < 1 {
 29145  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 29146  	}
 29147  
 29148  	if invalidParams.Len() > 0 {
 29149  		return invalidParams
 29150  	}
 29151  	return nil
 29152  }
 29153  
 29154  // SetBuildId sets the BuildId field's value.
 29155  func (s *UpdateBuildInput) SetBuildId(v string) *UpdateBuildInput {
 29156  	s.BuildId = &v
 29157  	return s
 29158  }
 29159  
 29160  // SetName sets the Name field's value.
 29161  func (s *UpdateBuildInput) SetName(v string) *UpdateBuildInput {
 29162  	s.Name = &v
 29163  	return s
 29164  }
 29165  
 29166  // SetVersion sets the Version field's value.
 29167  func (s *UpdateBuildInput) SetVersion(v string) *UpdateBuildInput {
 29168  	s.Version = &v
 29169  	return s
 29170  }
 29171  
 29172  // Represents the returned data in response to a request operation.
 29173  type UpdateBuildOutput struct {
 29174  	_ struct{} `type:"structure"`
 29175  
 29176  	// The updated build resource.
 29177  	Build *Build `type:"structure"`
 29178  }
 29179  
 29180  // String returns the string representation.
 29181  //
 29182  // API parameter values that are decorated as "sensitive" in the API will not
 29183  // be included in the string output. The member name will be present, but the
 29184  // value will be replaced with "sensitive".
 29185  func (s UpdateBuildOutput) String() string {
 29186  	return awsutil.Prettify(s)
 29187  }
 29188  
 29189  // GoString returns the string representation.
 29190  //
 29191  // API parameter values that are decorated as "sensitive" in the API will not
 29192  // be included in the string output. The member name will be present, but the
 29193  // value will be replaced with "sensitive".
 29194  func (s UpdateBuildOutput) GoString() string {
 29195  	return s.String()
 29196  }
 29197  
 29198  // SetBuild sets the Build field's value.
 29199  func (s *UpdateBuildOutput) SetBuild(v *Build) *UpdateBuildOutput {
 29200  	s.Build = v
 29201  	return s
 29202  }
 29203  
 29204  // Represents the input for a request operation.
 29205  type UpdateFleetAttributesInput struct {
 29206  	_ struct{} `type:"structure"`
 29207  
 29208  	// A human-readable description of a fleet.
 29209  	Description *string `min:"1" type:"string"`
 29210  
 29211  	// A unique identifier for the fleet to update attribute metadata for. You can
 29212  	// use either the fleet ID or ARN value.
 29213  	//
 29214  	// FleetId is a required field
 29215  	FleetId *string `type:"string" required:"true"`
 29216  
 29217  	// The name of a metric group to add this fleet to. Use a metric group in Amazon
 29218  	// CloudWatch to aggregate the metrics from multiple fleets. Provide an existing
 29219  	// metric group name, or create a new metric group by providing a new name.
 29220  	// A fleet can only be in one metric group at a time.
 29221  	MetricGroups []*string `type:"list"`
 29222  
 29223  	// A descriptive label that is associated with a fleet. Fleet names do not need
 29224  	// to be unique.
 29225  	Name *string `min:"1" type:"string"`
 29226  
 29227  	// The game session protection policy to apply to all new instances created
 29228  	// in this fleet. Instances that already exist are not affected. You can set
 29229  	// protection for individual instances using UpdateGameSession.
 29230  	//
 29231  	//    * NoProtection -- The game session can be terminated during a scale-down
 29232  	//    event.
 29233  	//
 29234  	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
 29235  	//    be terminated during a scale-down event.
 29236  	NewGameSessionProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
 29237  
 29238  	// Policy settings that limit the number of game sessions an individual player
 29239  	// can create over a span of time.
 29240  	ResourceCreationLimitPolicy *ResourceCreationLimitPolicy `type:"structure"`
 29241  }
 29242  
 29243  // String returns the string representation.
 29244  //
 29245  // API parameter values that are decorated as "sensitive" in the API will not
 29246  // be included in the string output. The member name will be present, but the
 29247  // value will be replaced with "sensitive".
 29248  func (s UpdateFleetAttributesInput) String() string {
 29249  	return awsutil.Prettify(s)
 29250  }
 29251  
 29252  // GoString returns the string representation.
 29253  //
 29254  // API parameter values that are decorated as "sensitive" in the API will not
 29255  // be included in the string output. The member name will be present, but the
 29256  // value will be replaced with "sensitive".
 29257  func (s UpdateFleetAttributesInput) GoString() string {
 29258  	return s.String()
 29259  }
 29260  
 29261  // Validate inspects the fields of the type to determine if they are valid.
 29262  func (s *UpdateFleetAttributesInput) Validate() error {
 29263  	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetAttributesInput"}
 29264  	if s.Description != nil && len(*s.Description) < 1 {
 29265  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 29266  	}
 29267  	if s.FleetId == nil {
 29268  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 29269  	}
 29270  	if s.Name != nil && len(*s.Name) < 1 {
 29271  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 29272  	}
 29273  
 29274  	if invalidParams.Len() > 0 {
 29275  		return invalidParams
 29276  	}
 29277  	return nil
 29278  }
 29279  
 29280  // SetDescription sets the Description field's value.
 29281  func (s *UpdateFleetAttributesInput) SetDescription(v string) *UpdateFleetAttributesInput {
 29282  	s.Description = &v
 29283  	return s
 29284  }
 29285  
 29286  // SetFleetId sets the FleetId field's value.
 29287  func (s *UpdateFleetAttributesInput) SetFleetId(v string) *UpdateFleetAttributesInput {
 29288  	s.FleetId = &v
 29289  	return s
 29290  }
 29291  
 29292  // SetMetricGroups sets the MetricGroups field's value.
 29293  func (s *UpdateFleetAttributesInput) SetMetricGroups(v []*string) *UpdateFleetAttributesInput {
 29294  	s.MetricGroups = v
 29295  	return s
 29296  }
 29297  
 29298  // SetName sets the Name field's value.
 29299  func (s *UpdateFleetAttributesInput) SetName(v string) *UpdateFleetAttributesInput {
 29300  	s.Name = &v
 29301  	return s
 29302  }
 29303  
 29304  // SetNewGameSessionProtectionPolicy sets the NewGameSessionProtectionPolicy field's value.
 29305  func (s *UpdateFleetAttributesInput) SetNewGameSessionProtectionPolicy(v string) *UpdateFleetAttributesInput {
 29306  	s.NewGameSessionProtectionPolicy = &v
 29307  	return s
 29308  }
 29309  
 29310  // SetResourceCreationLimitPolicy sets the ResourceCreationLimitPolicy field's value.
 29311  func (s *UpdateFleetAttributesInput) SetResourceCreationLimitPolicy(v *ResourceCreationLimitPolicy) *UpdateFleetAttributesInput {
 29312  	s.ResourceCreationLimitPolicy = v
 29313  	return s
 29314  }
 29315  
 29316  // Represents the returned data in response to a request operation.
 29317  type UpdateFleetAttributesOutput struct {
 29318  	_ struct{} `type:"structure"`
 29319  
 29320  	// A unique identifier for the fleet that was updated.
 29321  	FleetId *string `type:"string"`
 29322  }
 29323  
 29324  // String returns the string representation.
 29325  //
 29326  // API parameter values that are decorated as "sensitive" in the API will not
 29327  // be included in the string output. The member name will be present, but the
 29328  // value will be replaced with "sensitive".
 29329  func (s UpdateFleetAttributesOutput) String() string {
 29330  	return awsutil.Prettify(s)
 29331  }
 29332  
 29333  // GoString returns the string representation.
 29334  //
 29335  // API parameter values that are decorated as "sensitive" in the API will not
 29336  // be included in the string output. The member name will be present, but the
 29337  // value will be replaced with "sensitive".
 29338  func (s UpdateFleetAttributesOutput) GoString() string {
 29339  	return s.String()
 29340  }
 29341  
 29342  // SetFleetId sets the FleetId field's value.
 29343  func (s *UpdateFleetAttributesOutput) SetFleetId(v string) *UpdateFleetAttributesOutput {
 29344  	s.FleetId = &v
 29345  	return s
 29346  }
 29347  
 29348  // Represents the input for a request operation.
 29349  type UpdateFleetCapacityInput struct {
 29350  	_ struct{} `type:"structure"`
 29351  
 29352  	// The number of EC2 instances you want to maintain in the specified fleet location.
 29353  	// This value must fall between the minimum and maximum size limits.
 29354  	DesiredInstances *int64 `type:"integer"`
 29355  
 29356  	// A unique identifier for the fleet to update capacity settings for. You can
 29357  	// use either the fleet ID or ARN value.
 29358  	//
 29359  	// FleetId is a required field
 29360  	FleetId *string `type:"string" required:"true"`
 29361  
 29362  	// The name of a remote location to update fleet capacity settings for, in the
 29363  	// form of an AWS Region code such as us-west-2.
 29364  	Location *string `min:"1" type:"string"`
 29365  
 29366  	// The maximum number of instances that are allowed in the specified fleet location.
 29367  	// If this parameter is not set, the default is 1.
 29368  	MaxSize *int64 `type:"integer"`
 29369  
 29370  	// The minimum number of instances that are allowed in the specified fleet location.
 29371  	// If this parameter is not set, the default is 0.
 29372  	MinSize *int64 `type:"integer"`
 29373  }
 29374  
 29375  // String returns the string representation.
 29376  //
 29377  // API parameter values that are decorated as "sensitive" in the API will not
 29378  // be included in the string output. The member name will be present, but the
 29379  // value will be replaced with "sensitive".
 29380  func (s UpdateFleetCapacityInput) String() string {
 29381  	return awsutil.Prettify(s)
 29382  }
 29383  
 29384  // GoString returns the string representation.
 29385  //
 29386  // API parameter values that are decorated as "sensitive" in the API will not
 29387  // be included in the string output. The member name will be present, but the
 29388  // value will be replaced with "sensitive".
 29389  func (s UpdateFleetCapacityInput) GoString() string {
 29390  	return s.String()
 29391  }
 29392  
 29393  // Validate inspects the fields of the type to determine if they are valid.
 29394  func (s *UpdateFleetCapacityInput) Validate() error {
 29395  	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetCapacityInput"}
 29396  	if s.FleetId == nil {
 29397  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 29398  	}
 29399  	if s.Location != nil && len(*s.Location) < 1 {
 29400  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 29401  	}
 29402  
 29403  	if invalidParams.Len() > 0 {
 29404  		return invalidParams
 29405  	}
 29406  	return nil
 29407  }
 29408  
 29409  // SetDesiredInstances sets the DesiredInstances field's value.
 29410  func (s *UpdateFleetCapacityInput) SetDesiredInstances(v int64) *UpdateFleetCapacityInput {
 29411  	s.DesiredInstances = &v
 29412  	return s
 29413  }
 29414  
 29415  // SetFleetId sets the FleetId field's value.
 29416  func (s *UpdateFleetCapacityInput) SetFleetId(v string) *UpdateFleetCapacityInput {
 29417  	s.FleetId = &v
 29418  	return s
 29419  }
 29420  
 29421  // SetLocation sets the Location field's value.
 29422  func (s *UpdateFleetCapacityInput) SetLocation(v string) *UpdateFleetCapacityInput {
 29423  	s.Location = &v
 29424  	return s
 29425  }
 29426  
 29427  // SetMaxSize sets the MaxSize field's value.
 29428  func (s *UpdateFleetCapacityInput) SetMaxSize(v int64) *UpdateFleetCapacityInput {
 29429  	s.MaxSize = &v
 29430  	return s
 29431  }
 29432  
 29433  // SetMinSize sets the MinSize field's value.
 29434  func (s *UpdateFleetCapacityInput) SetMinSize(v int64) *UpdateFleetCapacityInput {
 29435  	s.MinSize = &v
 29436  	return s
 29437  }
 29438  
 29439  // Represents the returned data in response to a request operation.
 29440  type UpdateFleetCapacityOutput struct {
 29441  	_ struct{} `type:"structure"`
 29442  
 29443  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 29444  	// that is assigned to a GameLift fleet resource and uniquely identifies it.
 29445  	// ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912.
 29446  	FleetArn *string `type:"string"`
 29447  
 29448  	// A unique identifier for the fleet that was updated.
 29449  	FleetId *string `type:"string"`
 29450  
 29451  	// The remote location being updated, expressed as an AWS Region code, such
 29452  	// as us-west-2.
 29453  	Location *string `min:"1" type:"string"`
 29454  }
 29455  
 29456  // String returns the string representation.
 29457  //
 29458  // API parameter values that are decorated as "sensitive" in the API will not
 29459  // be included in the string output. The member name will be present, but the
 29460  // value will be replaced with "sensitive".
 29461  func (s UpdateFleetCapacityOutput) String() string {
 29462  	return awsutil.Prettify(s)
 29463  }
 29464  
 29465  // GoString returns the string representation.
 29466  //
 29467  // API parameter values that are decorated as "sensitive" in the API will not
 29468  // be included in the string output. The member name will be present, but the
 29469  // value will be replaced with "sensitive".
 29470  func (s UpdateFleetCapacityOutput) GoString() string {
 29471  	return s.String()
 29472  }
 29473  
 29474  // SetFleetArn sets the FleetArn field's value.
 29475  func (s *UpdateFleetCapacityOutput) SetFleetArn(v string) *UpdateFleetCapacityOutput {
 29476  	s.FleetArn = &v
 29477  	return s
 29478  }
 29479  
 29480  // SetFleetId sets the FleetId field's value.
 29481  func (s *UpdateFleetCapacityOutput) SetFleetId(v string) *UpdateFleetCapacityOutput {
 29482  	s.FleetId = &v
 29483  	return s
 29484  }
 29485  
 29486  // SetLocation sets the Location field's value.
 29487  func (s *UpdateFleetCapacityOutput) SetLocation(v string) *UpdateFleetCapacityOutput {
 29488  	s.Location = &v
 29489  	return s
 29490  }
 29491  
 29492  // Represents the input for a request operation.
 29493  type UpdateFleetPortSettingsInput struct {
 29494  	_ struct{} `type:"structure"`
 29495  
 29496  	// A unique identifier for the fleet to update port settings for. You can use
 29497  	// either the fleet ID or ARN value.
 29498  	//
 29499  	// FleetId is a required field
 29500  	FleetId *string `type:"string" required:"true"`
 29501  
 29502  	// A collection of port settings to be added to the fleet resource.
 29503  	InboundPermissionAuthorizations []*IpPermission `type:"list"`
 29504  
 29505  	// A collection of port settings to be removed from the fleet resource.
 29506  	InboundPermissionRevocations []*IpPermission `type:"list"`
 29507  }
 29508  
 29509  // String returns the string representation.
 29510  //
 29511  // API parameter values that are decorated as "sensitive" in the API will not
 29512  // be included in the string output. The member name will be present, but the
 29513  // value will be replaced with "sensitive".
 29514  func (s UpdateFleetPortSettingsInput) String() string {
 29515  	return awsutil.Prettify(s)
 29516  }
 29517  
 29518  // GoString returns the string representation.
 29519  //
 29520  // API parameter values that are decorated as "sensitive" in the API will not
 29521  // be included in the string output. The member name will be present, but the
 29522  // value will be replaced with "sensitive".
 29523  func (s UpdateFleetPortSettingsInput) GoString() string {
 29524  	return s.String()
 29525  }
 29526  
 29527  // Validate inspects the fields of the type to determine if they are valid.
 29528  func (s *UpdateFleetPortSettingsInput) Validate() error {
 29529  	invalidParams := request.ErrInvalidParams{Context: "UpdateFleetPortSettingsInput"}
 29530  	if s.FleetId == nil {
 29531  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 29532  	}
 29533  	if s.InboundPermissionAuthorizations != nil {
 29534  		for i, v := range s.InboundPermissionAuthorizations {
 29535  			if v == nil {
 29536  				continue
 29537  			}
 29538  			if err := v.Validate(); err != nil {
 29539  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionAuthorizations", i), err.(request.ErrInvalidParams))
 29540  			}
 29541  		}
 29542  	}
 29543  	if s.InboundPermissionRevocations != nil {
 29544  		for i, v := range s.InboundPermissionRevocations {
 29545  			if v == nil {
 29546  				continue
 29547  			}
 29548  			if err := v.Validate(); err != nil {
 29549  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InboundPermissionRevocations", i), err.(request.ErrInvalidParams))
 29550  			}
 29551  		}
 29552  	}
 29553  
 29554  	if invalidParams.Len() > 0 {
 29555  		return invalidParams
 29556  	}
 29557  	return nil
 29558  }
 29559  
 29560  // SetFleetId sets the FleetId field's value.
 29561  func (s *UpdateFleetPortSettingsInput) SetFleetId(v string) *UpdateFleetPortSettingsInput {
 29562  	s.FleetId = &v
 29563  	return s
 29564  }
 29565  
 29566  // SetInboundPermissionAuthorizations sets the InboundPermissionAuthorizations field's value.
 29567  func (s *UpdateFleetPortSettingsInput) SetInboundPermissionAuthorizations(v []*IpPermission) *UpdateFleetPortSettingsInput {
 29568  	s.InboundPermissionAuthorizations = v
 29569  	return s
 29570  }
 29571  
 29572  // SetInboundPermissionRevocations sets the InboundPermissionRevocations field's value.
 29573  func (s *UpdateFleetPortSettingsInput) SetInboundPermissionRevocations(v []*IpPermission) *UpdateFleetPortSettingsInput {
 29574  	s.InboundPermissionRevocations = v
 29575  	return s
 29576  }
 29577  
 29578  // Represents the returned data in response to a request operation.
 29579  type UpdateFleetPortSettingsOutput struct {
 29580  	_ struct{} `type:"structure"`
 29581  
 29582  	// A unique identifier for the fleet that was updated.
 29583  	FleetId *string `type:"string"`
 29584  }
 29585  
 29586  // String returns the string representation.
 29587  //
 29588  // API parameter values that are decorated as "sensitive" in the API will not
 29589  // be included in the string output. The member name will be present, but the
 29590  // value will be replaced with "sensitive".
 29591  func (s UpdateFleetPortSettingsOutput) String() string {
 29592  	return awsutil.Prettify(s)
 29593  }
 29594  
 29595  // GoString returns the string representation.
 29596  //
 29597  // API parameter values that are decorated as "sensitive" in the API will not
 29598  // be included in the string output. The member name will be present, but the
 29599  // value will be replaced with "sensitive".
 29600  func (s UpdateFleetPortSettingsOutput) GoString() string {
 29601  	return s.String()
 29602  }
 29603  
 29604  // SetFleetId sets the FleetId field's value.
 29605  func (s *UpdateFleetPortSettingsOutput) SetFleetId(v string) *UpdateFleetPortSettingsOutput {
 29606  	s.FleetId = &v
 29607  	return s
 29608  }
 29609  
 29610  type UpdateGameServerGroupInput struct {
 29611  	_ struct{} `type:"structure"`
 29612  
 29613  	// Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand
 29614  	// Instances in the game server group. Method options include the following:
 29615  	//
 29616  	//    * SPOT_ONLY - Only Spot Instances are used in the game server group. If
 29617  	//    Spot Instances are unavailable or not viable for game hosting, the game
 29618  	//    server group provides no hosting capacity until Spot Instances can again
 29619  	//    be used. Until then, no new instances are started, and the existing nonviable
 29620  	//    Spot Instances are terminated (after current gameplay ends) and are not
 29621  	//    replaced.
 29622  	//
 29623  	//    * SPOT_PREFERRED - (default value) Spot Instances are used whenever available
 29624  	//    in the game server group. If Spot Instances are unavailable, the game
 29625  	//    server group continues to provide hosting capacity by falling back to
 29626  	//    On-Demand Instances. Existing nonviable Spot Instances are terminated
 29627  	//    (after current gameplay ends) and are replaced with new On-Demand Instances.
 29628  	//
 29629  	//    * ON_DEMAND_ONLY - Only On-Demand Instances are used in the game server
 29630  	//    group. No Spot Instances are used, even when available, while this balancing
 29631  	//    strategy is in force.
 29632  	BalancingStrategy *string `type:"string" enum:"BalancingStrategy"`
 29633  
 29634  	// A unique identifier for the game server group. Use either the GameServerGroup
 29635  	// name or ARN value.
 29636  	//
 29637  	// GameServerGroupName is a required field
 29638  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 29639  
 29640  	// A flag that indicates whether instances in the game server group are protected
 29641  	// from early termination. Unprotected instances that have active game servers
 29642  	// running might be terminated during a scale-down event, causing players to
 29643  	// be dropped from the game. Protected instances cannot be terminated while
 29644  	// there are active game servers running except in the event of a forced game
 29645  	// server group deletion (see ). An exception to this is with Spot Instances,
 29646  	// which can be terminated by AWS regardless of protection status. This property
 29647  	// is set to NO_PROTECTION by default.
 29648  	GameServerProtectionPolicy *string `type:"string" enum:"GameServerProtectionPolicy"`
 29649  
 29650  	// An updated list of EC2 instance types to use in the Auto Scaling group. The
 29651  	// instance definitions must specify at least two different instance types that
 29652  	// are supported by GameLift FleetIQ. This updated list replaces the entire
 29653  	// current list of instance definitions for the game server group. For more
 29654  	// information on instance types, see EC2 Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
 29655  	// in the Amazon EC2 User Guide. You can optionally specify capacity weighting
 29656  	// for each instance type. If no weight value is specified for an instance type,
 29657  	// it is set to the default value "1". For more information about capacity weighting,
 29658  	// see Instance Weighting for Amazon EC2 Auto Scaling (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html)
 29659  	// in the Amazon EC2 Auto Scaling User Guide.
 29660  	InstanceDefinitions []*InstanceDefinition `min:"2" type:"list"`
 29661  
 29662  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 29663  	// for an IAM role that allows Amazon GameLift to access your EC2 Auto Scaling
 29664  	// groups.
 29665  	RoleArn *string `min:"1" type:"string"`
 29666  }
 29667  
 29668  // String returns the string representation.
 29669  //
 29670  // API parameter values that are decorated as "sensitive" in the API will not
 29671  // be included in the string output. The member name will be present, but the
 29672  // value will be replaced with "sensitive".
 29673  func (s UpdateGameServerGroupInput) String() string {
 29674  	return awsutil.Prettify(s)
 29675  }
 29676  
 29677  // GoString returns the string representation.
 29678  //
 29679  // API parameter values that are decorated as "sensitive" in the API will not
 29680  // be included in the string output. The member name will be present, but the
 29681  // value will be replaced with "sensitive".
 29682  func (s UpdateGameServerGroupInput) GoString() string {
 29683  	return s.String()
 29684  }
 29685  
 29686  // Validate inspects the fields of the type to determine if they are valid.
 29687  func (s *UpdateGameServerGroupInput) Validate() error {
 29688  	invalidParams := request.ErrInvalidParams{Context: "UpdateGameServerGroupInput"}
 29689  	if s.GameServerGroupName == nil {
 29690  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 29691  	}
 29692  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 29693  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 29694  	}
 29695  	if s.InstanceDefinitions != nil && len(s.InstanceDefinitions) < 2 {
 29696  		invalidParams.Add(request.NewErrParamMinLen("InstanceDefinitions", 2))
 29697  	}
 29698  	if s.RoleArn != nil && len(*s.RoleArn) < 1 {
 29699  		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1))
 29700  	}
 29701  	if s.InstanceDefinitions != nil {
 29702  		for i, v := range s.InstanceDefinitions {
 29703  			if v == nil {
 29704  				continue
 29705  			}
 29706  			if err := v.Validate(); err != nil {
 29707  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceDefinitions", i), err.(request.ErrInvalidParams))
 29708  			}
 29709  		}
 29710  	}
 29711  
 29712  	if invalidParams.Len() > 0 {
 29713  		return invalidParams
 29714  	}
 29715  	return nil
 29716  }
 29717  
 29718  // SetBalancingStrategy sets the BalancingStrategy field's value.
 29719  func (s *UpdateGameServerGroupInput) SetBalancingStrategy(v string) *UpdateGameServerGroupInput {
 29720  	s.BalancingStrategy = &v
 29721  	return s
 29722  }
 29723  
 29724  // SetGameServerGroupName sets the GameServerGroupName field's value.
 29725  func (s *UpdateGameServerGroupInput) SetGameServerGroupName(v string) *UpdateGameServerGroupInput {
 29726  	s.GameServerGroupName = &v
 29727  	return s
 29728  }
 29729  
 29730  // SetGameServerProtectionPolicy sets the GameServerProtectionPolicy field's value.
 29731  func (s *UpdateGameServerGroupInput) SetGameServerProtectionPolicy(v string) *UpdateGameServerGroupInput {
 29732  	s.GameServerProtectionPolicy = &v
 29733  	return s
 29734  }
 29735  
 29736  // SetInstanceDefinitions sets the InstanceDefinitions field's value.
 29737  func (s *UpdateGameServerGroupInput) SetInstanceDefinitions(v []*InstanceDefinition) *UpdateGameServerGroupInput {
 29738  	s.InstanceDefinitions = v
 29739  	return s
 29740  }
 29741  
 29742  // SetRoleArn sets the RoleArn field's value.
 29743  func (s *UpdateGameServerGroupInput) SetRoleArn(v string) *UpdateGameServerGroupInput {
 29744  	s.RoleArn = &v
 29745  	return s
 29746  }
 29747  
 29748  type UpdateGameServerGroupOutput struct {
 29749  	_ struct{} `type:"structure"`
 29750  
 29751  	// An object that describes the game server group resource with updated properties.
 29752  	GameServerGroup *GameServerGroup `type:"structure"`
 29753  }
 29754  
 29755  // String returns the string representation.
 29756  //
 29757  // API parameter values that are decorated as "sensitive" in the API will not
 29758  // be included in the string output. The member name will be present, but the
 29759  // value will be replaced with "sensitive".
 29760  func (s UpdateGameServerGroupOutput) String() string {
 29761  	return awsutil.Prettify(s)
 29762  }
 29763  
 29764  // GoString returns the string representation.
 29765  //
 29766  // API parameter values that are decorated as "sensitive" in the API will not
 29767  // be included in the string output. The member name will be present, but the
 29768  // value will be replaced with "sensitive".
 29769  func (s UpdateGameServerGroupOutput) GoString() string {
 29770  	return s.String()
 29771  }
 29772  
 29773  // SetGameServerGroup sets the GameServerGroup field's value.
 29774  func (s *UpdateGameServerGroupOutput) SetGameServerGroup(v *GameServerGroup) *UpdateGameServerGroupOutput {
 29775  	s.GameServerGroup = v
 29776  	return s
 29777  }
 29778  
 29779  type UpdateGameServerInput struct {
 29780  	_ struct{} `type:"structure"`
 29781  
 29782  	// A set of custom game server properties, formatted as a single string value.
 29783  	// This data is passed to a game client or service when it requests information
 29784  	// on game servers using ListGameServers or ClaimGameServer.
 29785  	GameServerData *string `min:"1" type:"string"`
 29786  
 29787  	// A unique identifier for the game server group where the game server is running.
 29788  	// Use either the GameServerGroup name or ARN value.
 29789  	//
 29790  	// GameServerGroupName is a required field
 29791  	GameServerGroupName *string `min:"1" type:"string" required:"true"`
 29792  
 29793  	// A custom string that uniquely identifies the game server to update.
 29794  	//
 29795  	// GameServerId is a required field
 29796  	GameServerId *string `min:"3" type:"string" required:"true"`
 29797  
 29798  	// Indicates health status of the game server. A request that includes this
 29799  	// parameter updates the game server's LastHealthCheckTime timestamp.
 29800  	HealthCheck *string `type:"string" enum:"GameServerHealthCheck"`
 29801  
 29802  	// Indicates whether the game server is available or is currently hosting gameplay.
 29803  	UtilizationStatus *string `type:"string" enum:"GameServerUtilizationStatus"`
 29804  }
 29805  
 29806  // String returns the string representation.
 29807  //
 29808  // API parameter values that are decorated as "sensitive" in the API will not
 29809  // be included in the string output. The member name will be present, but the
 29810  // value will be replaced with "sensitive".
 29811  func (s UpdateGameServerInput) String() string {
 29812  	return awsutil.Prettify(s)
 29813  }
 29814  
 29815  // GoString returns the string representation.
 29816  //
 29817  // API parameter values that are decorated as "sensitive" in the API will not
 29818  // be included in the string output. The member name will be present, but the
 29819  // value will be replaced with "sensitive".
 29820  func (s UpdateGameServerInput) GoString() string {
 29821  	return s.String()
 29822  }
 29823  
 29824  // Validate inspects the fields of the type to determine if they are valid.
 29825  func (s *UpdateGameServerInput) Validate() error {
 29826  	invalidParams := request.ErrInvalidParams{Context: "UpdateGameServerInput"}
 29827  	if s.GameServerData != nil && len(*s.GameServerData) < 1 {
 29828  		invalidParams.Add(request.NewErrParamMinLen("GameServerData", 1))
 29829  	}
 29830  	if s.GameServerGroupName == nil {
 29831  		invalidParams.Add(request.NewErrParamRequired("GameServerGroupName"))
 29832  	}
 29833  	if s.GameServerGroupName != nil && len(*s.GameServerGroupName) < 1 {
 29834  		invalidParams.Add(request.NewErrParamMinLen("GameServerGroupName", 1))
 29835  	}
 29836  	if s.GameServerId == nil {
 29837  		invalidParams.Add(request.NewErrParamRequired("GameServerId"))
 29838  	}
 29839  	if s.GameServerId != nil && len(*s.GameServerId) < 3 {
 29840  		invalidParams.Add(request.NewErrParamMinLen("GameServerId", 3))
 29841  	}
 29842  
 29843  	if invalidParams.Len() > 0 {
 29844  		return invalidParams
 29845  	}
 29846  	return nil
 29847  }
 29848  
 29849  // SetGameServerData sets the GameServerData field's value.
 29850  func (s *UpdateGameServerInput) SetGameServerData(v string) *UpdateGameServerInput {
 29851  	s.GameServerData = &v
 29852  	return s
 29853  }
 29854  
 29855  // SetGameServerGroupName sets the GameServerGroupName field's value.
 29856  func (s *UpdateGameServerInput) SetGameServerGroupName(v string) *UpdateGameServerInput {
 29857  	s.GameServerGroupName = &v
 29858  	return s
 29859  }
 29860  
 29861  // SetGameServerId sets the GameServerId field's value.
 29862  func (s *UpdateGameServerInput) SetGameServerId(v string) *UpdateGameServerInput {
 29863  	s.GameServerId = &v
 29864  	return s
 29865  }
 29866  
 29867  // SetHealthCheck sets the HealthCheck field's value.
 29868  func (s *UpdateGameServerInput) SetHealthCheck(v string) *UpdateGameServerInput {
 29869  	s.HealthCheck = &v
 29870  	return s
 29871  }
 29872  
 29873  // SetUtilizationStatus sets the UtilizationStatus field's value.
 29874  func (s *UpdateGameServerInput) SetUtilizationStatus(v string) *UpdateGameServerInput {
 29875  	s.UtilizationStatus = &v
 29876  	return s
 29877  }
 29878  
 29879  type UpdateGameServerOutput struct {
 29880  	_ struct{} `type:"structure"`
 29881  
 29882  	// Object that describes the newly updated game server.
 29883  	GameServer *GameServer `type:"structure"`
 29884  }
 29885  
 29886  // String returns the string representation.
 29887  //
 29888  // API parameter values that are decorated as "sensitive" in the API will not
 29889  // be included in the string output. The member name will be present, but the
 29890  // value will be replaced with "sensitive".
 29891  func (s UpdateGameServerOutput) String() string {
 29892  	return awsutil.Prettify(s)
 29893  }
 29894  
 29895  // GoString returns the string representation.
 29896  //
 29897  // API parameter values that are decorated as "sensitive" in the API will not
 29898  // be included in the string output. The member name will be present, but the
 29899  // value will be replaced with "sensitive".
 29900  func (s UpdateGameServerOutput) GoString() string {
 29901  	return s.String()
 29902  }
 29903  
 29904  // SetGameServer sets the GameServer field's value.
 29905  func (s *UpdateGameServerOutput) SetGameServer(v *GameServer) *UpdateGameServerOutput {
 29906  	s.GameServer = v
 29907  	return s
 29908  }
 29909  
 29910  // Represents the input for a request operation.
 29911  type UpdateGameSessionInput struct {
 29912  	_ struct{} `type:"structure"`
 29913  
 29914  	// A unique identifier for the game session to update.
 29915  	//
 29916  	// GameSessionId is a required field
 29917  	GameSessionId *string `min:"1" type:"string" required:"true"`
 29918  
 29919  	// The maximum number of players that can be connected simultaneously to the
 29920  	// game session.
 29921  	MaximumPlayerSessionCount *int64 `type:"integer"`
 29922  
 29923  	// A descriptive label that is associated with a game session. Session names
 29924  	// do not need to be unique.
 29925  	Name *string `min:"1" type:"string"`
 29926  
 29927  	// A policy that determines whether the game session is accepting new players.
 29928  	PlayerSessionCreationPolicy *string `type:"string" enum:"PlayerSessionCreationPolicy"`
 29929  
 29930  	// Game session protection policy to apply to this game session only.
 29931  	//
 29932  	//    * NoProtection -- The game session can be terminated during a scale-down
 29933  	//    event.
 29934  	//
 29935  	//    * FullProtection -- If the game session is in an ACTIVE status, it cannot
 29936  	//    be terminated during a scale-down event.
 29937  	ProtectionPolicy *string `type:"string" enum:"ProtectionPolicy"`
 29938  }
 29939  
 29940  // String returns the string representation.
 29941  //
 29942  // API parameter values that are decorated as "sensitive" in the API will not
 29943  // be included in the string output. The member name will be present, but the
 29944  // value will be replaced with "sensitive".
 29945  func (s UpdateGameSessionInput) String() string {
 29946  	return awsutil.Prettify(s)
 29947  }
 29948  
 29949  // GoString returns the string representation.
 29950  //
 29951  // API parameter values that are decorated as "sensitive" in the API will not
 29952  // be included in the string output. The member name will be present, but the
 29953  // value will be replaced with "sensitive".
 29954  func (s UpdateGameSessionInput) GoString() string {
 29955  	return s.String()
 29956  }
 29957  
 29958  // Validate inspects the fields of the type to determine if they are valid.
 29959  func (s *UpdateGameSessionInput) Validate() error {
 29960  	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionInput"}
 29961  	if s.GameSessionId == nil {
 29962  		invalidParams.Add(request.NewErrParamRequired("GameSessionId"))
 29963  	}
 29964  	if s.GameSessionId != nil && len(*s.GameSessionId) < 1 {
 29965  		invalidParams.Add(request.NewErrParamMinLen("GameSessionId", 1))
 29966  	}
 29967  	if s.Name != nil && len(*s.Name) < 1 {
 29968  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 29969  	}
 29970  
 29971  	if invalidParams.Len() > 0 {
 29972  		return invalidParams
 29973  	}
 29974  	return nil
 29975  }
 29976  
 29977  // SetGameSessionId sets the GameSessionId field's value.
 29978  func (s *UpdateGameSessionInput) SetGameSessionId(v string) *UpdateGameSessionInput {
 29979  	s.GameSessionId = &v
 29980  	return s
 29981  }
 29982  
 29983  // SetMaximumPlayerSessionCount sets the MaximumPlayerSessionCount field's value.
 29984  func (s *UpdateGameSessionInput) SetMaximumPlayerSessionCount(v int64) *UpdateGameSessionInput {
 29985  	s.MaximumPlayerSessionCount = &v
 29986  	return s
 29987  }
 29988  
 29989  // SetName sets the Name field's value.
 29990  func (s *UpdateGameSessionInput) SetName(v string) *UpdateGameSessionInput {
 29991  	s.Name = &v
 29992  	return s
 29993  }
 29994  
 29995  // SetPlayerSessionCreationPolicy sets the PlayerSessionCreationPolicy field's value.
 29996  func (s *UpdateGameSessionInput) SetPlayerSessionCreationPolicy(v string) *UpdateGameSessionInput {
 29997  	s.PlayerSessionCreationPolicy = &v
 29998  	return s
 29999  }
 30000  
 30001  // SetProtectionPolicy sets the ProtectionPolicy field's value.
 30002  func (s *UpdateGameSessionInput) SetProtectionPolicy(v string) *UpdateGameSessionInput {
 30003  	s.ProtectionPolicy = &v
 30004  	return s
 30005  }
 30006  
 30007  // Represents the returned data in response to a request operation.
 30008  type UpdateGameSessionOutput struct {
 30009  	_ struct{} `type:"structure"`
 30010  
 30011  	// The updated game session properties.
 30012  	GameSession *GameSession `type:"structure"`
 30013  }
 30014  
 30015  // String returns the string representation.
 30016  //
 30017  // API parameter values that are decorated as "sensitive" in the API will not
 30018  // be included in the string output. The member name will be present, but the
 30019  // value will be replaced with "sensitive".
 30020  func (s UpdateGameSessionOutput) String() string {
 30021  	return awsutil.Prettify(s)
 30022  }
 30023  
 30024  // GoString returns the string representation.
 30025  //
 30026  // API parameter values that are decorated as "sensitive" in the API will not
 30027  // be included in the string output. The member name will be present, but the
 30028  // value will be replaced with "sensitive".
 30029  func (s UpdateGameSessionOutput) GoString() string {
 30030  	return s.String()
 30031  }
 30032  
 30033  // SetGameSession sets the GameSession field's value.
 30034  func (s *UpdateGameSessionOutput) SetGameSession(v *GameSession) *UpdateGameSessionOutput {
 30035  	s.GameSession = v
 30036  	return s
 30037  }
 30038  
 30039  // Represents the input for a request operation.
 30040  type UpdateGameSessionQueueInput struct {
 30041  	_ struct{} `type:"structure"`
 30042  
 30043  	// Information to be added to all events that are related to this game session
 30044  	// queue.
 30045  	CustomEventData *string `type:"string"`
 30046  
 30047  	// A list of fleets and/or fleet aliases that can be used to fulfill game session
 30048  	// placement requests in the queue. Destinations are identified by either a
 30049  	// fleet ARN or a fleet alias ARN, and are listed in order of placement preference.
 30050  	// When updating this list, provide a complete list of destinations.
 30051  	Destinations []*GameSessionQueueDestination `type:"list"`
 30052  
 30053  	// A list of locations where a queue is allowed to place new game sessions.
 30054  	// Locations are specified in the form of AWS Region codes, such as us-west-2.
 30055  	// If this parameter is not set, game sessions can be placed in any queue location.
 30056  	// To remove an existing filter configuration, pass in an empty set.
 30057  	FilterConfiguration *FilterConfiguration `type:"structure"`
 30058  
 30059  	// A descriptive label that is associated with game session queue. Queue names
 30060  	// must be unique within each Region. You can use either the queue ID or ARN
 30061  	// value.
 30062  	//
 30063  	// Name is a required field
 30064  	Name *string `min:"1" type:"string" required:"true"`
 30065  
 30066  	// An SNS topic ARN that is set up to receive game session placement notifications.
 30067  	// See Setting up notifications for game session placement (https://docs.aws.amazon.com/gamelift/latest/developerguide/queue-notification.html).
 30068  	NotificationTarget *string `type:"string"`
 30069  
 30070  	// A set of policies that act as a sliding cap on player latency. FleetIQ works
 30071  	// to deliver low latency for most players in a game session. These policies
 30072  	// ensure that no individual player can be placed into a game with unreasonably
 30073  	// high latency. Use multiple policies to gradually relax latency requirements
 30074  	// a step at a time. Multiple policies are applied based on their maximum allowed
 30075  	// latency, starting with the lowest value. When updating policies, provide
 30076  	// a complete collection of policies.
 30077  	PlayerLatencyPolicies []*PlayerLatencyPolicy `type:"list"`
 30078  
 30079  	// Custom settings to use when prioritizing destinations and locations for game
 30080  	// session placements. This configuration replaces the FleetIQ default prioritization
 30081  	// process. Priority types that are not explicitly named will be automatically
 30082  	// applied at the end of the prioritization process. To remove an existing priority
 30083  	// configuration, pass in an empty set.
 30084  	PriorityConfiguration *PriorityConfiguration `type:"structure"`
 30085  
 30086  	// The maximum time, in seconds, that a new game session placement request remains
 30087  	// in the queue. When a request exceeds this time, the game session placement
 30088  	// changes to a TIMED_OUT status.
 30089  	TimeoutInSeconds *int64 `type:"integer"`
 30090  }
 30091  
 30092  // String returns the string representation.
 30093  //
 30094  // API parameter values that are decorated as "sensitive" in the API will not
 30095  // be included in the string output. The member name will be present, but the
 30096  // value will be replaced with "sensitive".
 30097  func (s UpdateGameSessionQueueInput) String() string {
 30098  	return awsutil.Prettify(s)
 30099  }
 30100  
 30101  // GoString returns the string representation.
 30102  //
 30103  // API parameter values that are decorated as "sensitive" in the API will not
 30104  // be included in the string output. The member name will be present, but the
 30105  // value will be replaced with "sensitive".
 30106  func (s UpdateGameSessionQueueInput) GoString() string {
 30107  	return s.String()
 30108  }
 30109  
 30110  // Validate inspects the fields of the type to determine if they are valid.
 30111  func (s *UpdateGameSessionQueueInput) Validate() error {
 30112  	invalidParams := request.ErrInvalidParams{Context: "UpdateGameSessionQueueInput"}
 30113  	if s.Name == nil {
 30114  		invalidParams.Add(request.NewErrParamRequired("Name"))
 30115  	}
 30116  	if s.Name != nil && len(*s.Name) < 1 {
 30117  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 30118  	}
 30119  	if s.Destinations != nil {
 30120  		for i, v := range s.Destinations {
 30121  			if v == nil {
 30122  				continue
 30123  			}
 30124  			if err := v.Validate(); err != nil {
 30125  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Destinations", i), err.(request.ErrInvalidParams))
 30126  			}
 30127  		}
 30128  	}
 30129  	if s.FilterConfiguration != nil {
 30130  		if err := s.FilterConfiguration.Validate(); err != nil {
 30131  			invalidParams.AddNested("FilterConfiguration", err.(request.ErrInvalidParams))
 30132  		}
 30133  	}
 30134  	if s.PriorityConfiguration != nil {
 30135  		if err := s.PriorityConfiguration.Validate(); err != nil {
 30136  			invalidParams.AddNested("PriorityConfiguration", err.(request.ErrInvalidParams))
 30137  		}
 30138  	}
 30139  
 30140  	if invalidParams.Len() > 0 {
 30141  		return invalidParams
 30142  	}
 30143  	return nil
 30144  }
 30145  
 30146  // SetCustomEventData sets the CustomEventData field's value.
 30147  func (s *UpdateGameSessionQueueInput) SetCustomEventData(v string) *UpdateGameSessionQueueInput {
 30148  	s.CustomEventData = &v
 30149  	return s
 30150  }
 30151  
 30152  // SetDestinations sets the Destinations field's value.
 30153  func (s *UpdateGameSessionQueueInput) SetDestinations(v []*GameSessionQueueDestination) *UpdateGameSessionQueueInput {
 30154  	s.Destinations = v
 30155  	return s
 30156  }
 30157  
 30158  // SetFilterConfiguration sets the FilterConfiguration field's value.
 30159  func (s *UpdateGameSessionQueueInput) SetFilterConfiguration(v *FilterConfiguration) *UpdateGameSessionQueueInput {
 30160  	s.FilterConfiguration = v
 30161  	return s
 30162  }
 30163  
 30164  // SetName sets the Name field's value.
 30165  func (s *UpdateGameSessionQueueInput) SetName(v string) *UpdateGameSessionQueueInput {
 30166  	s.Name = &v
 30167  	return s
 30168  }
 30169  
 30170  // SetNotificationTarget sets the NotificationTarget field's value.
 30171  func (s *UpdateGameSessionQueueInput) SetNotificationTarget(v string) *UpdateGameSessionQueueInput {
 30172  	s.NotificationTarget = &v
 30173  	return s
 30174  }
 30175  
 30176  // SetPlayerLatencyPolicies sets the PlayerLatencyPolicies field's value.
 30177  func (s *UpdateGameSessionQueueInput) SetPlayerLatencyPolicies(v []*PlayerLatencyPolicy) *UpdateGameSessionQueueInput {
 30178  	s.PlayerLatencyPolicies = v
 30179  	return s
 30180  }
 30181  
 30182  // SetPriorityConfiguration sets the PriorityConfiguration field's value.
 30183  func (s *UpdateGameSessionQueueInput) SetPriorityConfiguration(v *PriorityConfiguration) *UpdateGameSessionQueueInput {
 30184  	s.PriorityConfiguration = v
 30185  	return s
 30186  }
 30187  
 30188  // SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
 30189  func (s *UpdateGameSessionQueueInput) SetTimeoutInSeconds(v int64) *UpdateGameSessionQueueInput {
 30190  	s.TimeoutInSeconds = &v
 30191  	return s
 30192  }
 30193  
 30194  // Represents the returned data in response to a request operation.
 30195  type UpdateGameSessionQueueOutput struct {
 30196  	_ struct{} `type:"structure"`
 30197  
 30198  	// An object that describes the newly updated game session queue.
 30199  	GameSessionQueue *GameSessionQueue `type:"structure"`
 30200  }
 30201  
 30202  // String returns the string representation.
 30203  //
 30204  // API parameter values that are decorated as "sensitive" in the API will not
 30205  // be included in the string output. The member name will be present, but the
 30206  // value will be replaced with "sensitive".
 30207  func (s UpdateGameSessionQueueOutput) String() string {
 30208  	return awsutil.Prettify(s)
 30209  }
 30210  
 30211  // GoString returns the string representation.
 30212  //
 30213  // API parameter values that are decorated as "sensitive" in the API will not
 30214  // be included in the string output. The member name will be present, but the
 30215  // value will be replaced with "sensitive".
 30216  func (s UpdateGameSessionQueueOutput) GoString() string {
 30217  	return s.String()
 30218  }
 30219  
 30220  // SetGameSessionQueue sets the GameSessionQueue field's value.
 30221  func (s *UpdateGameSessionQueueOutput) SetGameSessionQueue(v *GameSessionQueue) *UpdateGameSessionQueueOutput {
 30222  	s.GameSessionQueue = v
 30223  	return s
 30224  }
 30225  
 30226  // Represents the input for a request operation.
 30227  type UpdateMatchmakingConfigurationInput struct {
 30228  	_ struct{} `type:"structure"`
 30229  
 30230  	// A flag that indicates whether a match that was created with this configuration
 30231  	// must be accepted by the matched players. To require acceptance, set to TRUE.
 30232  	// With this option enabled, matchmaking tickets use the status REQUIRES_ACCEPTANCE
 30233  	// to indicate when a completed potential match is waiting for player acceptance.
 30234  	AcceptanceRequired *bool `type:"boolean"`
 30235  
 30236  	// The length of time (in seconds) to wait for players to accept a proposed
 30237  	// match, if acceptance is required.
 30238  	AcceptanceTimeoutSeconds *int64 `min:"1" type:"integer"`
 30239  
 30240  	// The number of player slots in a match to keep open for future players. For
 30241  	// example, if the configuration's rule set specifies a match for a single 12-person
 30242  	// team, and the additional player count is set to 2, only 10 players are selected
 30243  	// for the match. This parameter is not used if FlexMatchMode is set to STANDALONE.
 30244  	AdditionalPlayerCount *int64 `type:"integer"`
 30245  
 30246  	// The method that is used to backfill game sessions created with this matchmaking
 30247  	// configuration. Specify MANUAL when your game manages backfill requests manually
 30248  	// or does not use the match backfill feature. Specify AUTOMATIC to have GameLift
 30249  	// create a StartMatchBackfill request whenever a game session has one or more
 30250  	// open slots. Learn more about manual and automatic backfill in Backfill Existing
 30251  	// Games with FlexMatch (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html).
 30252  	// Automatic backfill is not available when FlexMatchMode is set to STANDALONE.
 30253  	BackfillMode *string `type:"string" enum:"BackfillMode"`
 30254  
 30255  	// Information to add to all events related to the matchmaking configuration.
 30256  	CustomEventData *string `type:"string"`
 30257  
 30258  	// A descriptive label that is associated with matchmaking configuration.
 30259  	Description *string `min:"1" type:"string"`
 30260  
 30261  	// Indicates whether this matchmaking configuration is being used with GameLift
 30262  	// hosting or as a standalone matchmaking solution.
 30263  	//
 30264  	//    * STANDALONE - FlexMatch forms matches and returns match information,
 30265  	//    including players and team assignments, in a MatchmakingSucceeded (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-events.html#match-events-matchmakingsucceeded)
 30266  	//    event.
 30267  	//
 30268  	//    * WITH_QUEUE - FlexMatch forms matches and uses the specified GameLift
 30269  	//    queue to start a game session for the match.
 30270  	FlexMatchMode *string `type:"string" enum:"FlexMatchMode"`
 30271  
 30272  	// A set of custom properties for a game session, formatted as key:value pairs.
 30273  	// These properties are passed to a game server process in the GameSession object
 30274  	// 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)).
 30275  	// This information is added to the new GameSession object that is created for
 30276  	// a successful match. This parameter is not used if FlexMatchMode is set to
 30277  	// STANDALONE.
 30278  	GameProperties []*GameProperty `type:"list"`
 30279  
 30280  	// A set of custom game session properties, formatted as a single string value.
 30281  	// This data is passed to a game server process in the GameSession object with
 30282  	// 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)).
 30283  	// This information is added to the new GameSession object that is created for
 30284  	// a successful match. This parameter is not used if FlexMatchMode is set to
 30285  	// STANDALONE.
 30286  	GameSessionData *string `min:"1" type:"string"`
 30287  
 30288  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 30289  	// that is assigned to a GameLift game session queue resource and uniquely identifies
 30290  	// it. ARNs are unique across all Regions. Format is arn:aws:gamelift:<region>::gamesessionqueue/<queue
 30291  	// name>. Queues can be located in any Region. Queues are used to start new
 30292  	// GameLift-hosted game sessions for matches that are created with this matchmaking
 30293  	// configuration. If FlexMatchMode is set to STANDALONE, do not set this parameter.
 30294  	GameSessionQueueArns []*string `type:"list"`
 30295  
 30296  	// A unique identifier for the matchmaking configuration to update. You can
 30297  	// use either the configuration name or ARN value.
 30298  	//
 30299  	// Name is a required field
 30300  	Name *string `min:"1" type:"string" required:"true"`
 30301  
 30302  	// An SNS topic ARN that is set up to receive matchmaking notifications. See
 30303  	// Setting up notifications for matchmaking (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html)
 30304  	// for more information.
 30305  	NotificationTarget *string `type:"string"`
 30306  
 30307  	// The maximum duration, in seconds, that a matchmaking ticket can remain in
 30308  	// process before timing out. Requests that fail due to timing out can be resubmitted
 30309  	// as needed.
 30310  	RequestTimeoutSeconds *int64 `min:"1" type:"integer"`
 30311  
 30312  	// A unique identifier for the matchmaking rule set to use with this configuration.
 30313  	// You can use either the rule set name or ARN value. A matchmaking configuration
 30314  	// can only use rule sets that are defined in the same Region.
 30315  	RuleSetName *string `min:"1" type:"string"`
 30316  }
 30317  
 30318  // String returns the string representation.
 30319  //
 30320  // API parameter values that are decorated as "sensitive" in the API will not
 30321  // be included in the string output. The member name will be present, but the
 30322  // value will be replaced with "sensitive".
 30323  func (s UpdateMatchmakingConfigurationInput) String() string {
 30324  	return awsutil.Prettify(s)
 30325  }
 30326  
 30327  // GoString returns the string representation.
 30328  //
 30329  // API parameter values that are decorated as "sensitive" in the API will not
 30330  // be included in the string output. The member name will be present, but the
 30331  // value will be replaced with "sensitive".
 30332  func (s UpdateMatchmakingConfigurationInput) GoString() string {
 30333  	return s.String()
 30334  }
 30335  
 30336  // Validate inspects the fields of the type to determine if they are valid.
 30337  func (s *UpdateMatchmakingConfigurationInput) Validate() error {
 30338  	invalidParams := request.ErrInvalidParams{Context: "UpdateMatchmakingConfigurationInput"}
 30339  	if s.AcceptanceTimeoutSeconds != nil && *s.AcceptanceTimeoutSeconds < 1 {
 30340  		invalidParams.Add(request.NewErrParamMinValue("AcceptanceTimeoutSeconds", 1))
 30341  	}
 30342  	if s.Description != nil && len(*s.Description) < 1 {
 30343  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
 30344  	}
 30345  	if s.GameSessionData != nil && len(*s.GameSessionData) < 1 {
 30346  		invalidParams.Add(request.NewErrParamMinLen("GameSessionData", 1))
 30347  	}
 30348  	if s.Name == nil {
 30349  		invalidParams.Add(request.NewErrParamRequired("Name"))
 30350  	}
 30351  	if s.Name != nil && len(*s.Name) < 1 {
 30352  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 30353  	}
 30354  	if s.RequestTimeoutSeconds != nil && *s.RequestTimeoutSeconds < 1 {
 30355  		invalidParams.Add(request.NewErrParamMinValue("RequestTimeoutSeconds", 1))
 30356  	}
 30357  	if s.RuleSetName != nil && len(*s.RuleSetName) < 1 {
 30358  		invalidParams.Add(request.NewErrParamMinLen("RuleSetName", 1))
 30359  	}
 30360  	if s.GameProperties != nil {
 30361  		for i, v := range s.GameProperties {
 30362  			if v == nil {
 30363  				continue
 30364  			}
 30365  			if err := v.Validate(); err != nil {
 30366  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GameProperties", i), err.(request.ErrInvalidParams))
 30367  			}
 30368  		}
 30369  	}
 30370  
 30371  	if invalidParams.Len() > 0 {
 30372  		return invalidParams
 30373  	}
 30374  	return nil
 30375  }
 30376  
 30377  // SetAcceptanceRequired sets the AcceptanceRequired field's value.
 30378  func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceRequired(v bool) *UpdateMatchmakingConfigurationInput {
 30379  	s.AcceptanceRequired = &v
 30380  	return s
 30381  }
 30382  
 30383  // SetAcceptanceTimeoutSeconds sets the AcceptanceTimeoutSeconds field's value.
 30384  func (s *UpdateMatchmakingConfigurationInput) SetAcceptanceTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
 30385  	s.AcceptanceTimeoutSeconds = &v
 30386  	return s
 30387  }
 30388  
 30389  // SetAdditionalPlayerCount sets the AdditionalPlayerCount field's value.
 30390  func (s *UpdateMatchmakingConfigurationInput) SetAdditionalPlayerCount(v int64) *UpdateMatchmakingConfigurationInput {
 30391  	s.AdditionalPlayerCount = &v
 30392  	return s
 30393  }
 30394  
 30395  // SetBackfillMode sets the BackfillMode field's value.
 30396  func (s *UpdateMatchmakingConfigurationInput) SetBackfillMode(v string) *UpdateMatchmakingConfigurationInput {
 30397  	s.BackfillMode = &v
 30398  	return s
 30399  }
 30400  
 30401  // SetCustomEventData sets the CustomEventData field's value.
 30402  func (s *UpdateMatchmakingConfigurationInput) SetCustomEventData(v string) *UpdateMatchmakingConfigurationInput {
 30403  	s.CustomEventData = &v
 30404  	return s
 30405  }
 30406  
 30407  // SetDescription sets the Description field's value.
 30408  func (s *UpdateMatchmakingConfigurationInput) SetDescription(v string) *UpdateMatchmakingConfigurationInput {
 30409  	s.Description = &v
 30410  	return s
 30411  }
 30412  
 30413  // SetFlexMatchMode sets the FlexMatchMode field's value.
 30414  func (s *UpdateMatchmakingConfigurationInput) SetFlexMatchMode(v string) *UpdateMatchmakingConfigurationInput {
 30415  	s.FlexMatchMode = &v
 30416  	return s
 30417  }
 30418  
 30419  // SetGameProperties sets the GameProperties field's value.
 30420  func (s *UpdateMatchmakingConfigurationInput) SetGameProperties(v []*GameProperty) *UpdateMatchmakingConfigurationInput {
 30421  	s.GameProperties = v
 30422  	return s
 30423  }
 30424  
 30425  // SetGameSessionData sets the GameSessionData field's value.
 30426  func (s *UpdateMatchmakingConfigurationInput) SetGameSessionData(v string) *UpdateMatchmakingConfigurationInput {
 30427  	s.GameSessionData = &v
 30428  	return s
 30429  }
 30430  
 30431  // SetGameSessionQueueArns sets the GameSessionQueueArns field's value.
 30432  func (s *UpdateMatchmakingConfigurationInput) SetGameSessionQueueArns(v []*string) *UpdateMatchmakingConfigurationInput {
 30433  	s.GameSessionQueueArns = v
 30434  	return s
 30435  }
 30436  
 30437  // SetName sets the Name field's value.
 30438  func (s *UpdateMatchmakingConfigurationInput) SetName(v string) *UpdateMatchmakingConfigurationInput {
 30439  	s.Name = &v
 30440  	return s
 30441  }
 30442  
 30443  // SetNotificationTarget sets the NotificationTarget field's value.
 30444  func (s *UpdateMatchmakingConfigurationInput) SetNotificationTarget(v string) *UpdateMatchmakingConfigurationInput {
 30445  	s.NotificationTarget = &v
 30446  	return s
 30447  }
 30448  
 30449  // SetRequestTimeoutSeconds sets the RequestTimeoutSeconds field's value.
 30450  func (s *UpdateMatchmakingConfigurationInput) SetRequestTimeoutSeconds(v int64) *UpdateMatchmakingConfigurationInput {
 30451  	s.RequestTimeoutSeconds = &v
 30452  	return s
 30453  }
 30454  
 30455  // SetRuleSetName sets the RuleSetName field's value.
 30456  func (s *UpdateMatchmakingConfigurationInput) SetRuleSetName(v string) *UpdateMatchmakingConfigurationInput {
 30457  	s.RuleSetName = &v
 30458  	return s
 30459  }
 30460  
 30461  // Represents the returned data in response to a request operation.
 30462  type UpdateMatchmakingConfigurationOutput struct {
 30463  	_ struct{} `type:"structure"`
 30464  
 30465  	// The updated matchmaking configuration.
 30466  	Configuration *MatchmakingConfiguration `type:"structure"`
 30467  }
 30468  
 30469  // String returns the string representation.
 30470  //
 30471  // API parameter values that are decorated as "sensitive" in the API will not
 30472  // be included in the string output. The member name will be present, but the
 30473  // value will be replaced with "sensitive".
 30474  func (s UpdateMatchmakingConfigurationOutput) String() string {
 30475  	return awsutil.Prettify(s)
 30476  }
 30477  
 30478  // GoString returns the string representation.
 30479  //
 30480  // API parameter values that are decorated as "sensitive" in the API will not
 30481  // be included in the string output. The member name will be present, but the
 30482  // value will be replaced with "sensitive".
 30483  func (s UpdateMatchmakingConfigurationOutput) GoString() string {
 30484  	return s.String()
 30485  }
 30486  
 30487  // SetConfiguration sets the Configuration field's value.
 30488  func (s *UpdateMatchmakingConfigurationOutput) SetConfiguration(v *MatchmakingConfiguration) *UpdateMatchmakingConfigurationOutput {
 30489  	s.Configuration = v
 30490  	return s
 30491  }
 30492  
 30493  // Represents the input for a request operation.
 30494  type UpdateRuntimeConfigurationInput struct {
 30495  	_ struct{} `type:"structure"`
 30496  
 30497  	// A unique identifier for the fleet to update runtime configuration for. You
 30498  	// can use either the fleet ID or ARN value.
 30499  	//
 30500  	// FleetId is a required field
 30501  	FleetId *string `type:"string" required:"true"`
 30502  
 30503  	// Instructions for launching server processes on each instance in the fleet.
 30504  	// Server processes run either a custom game build executable or a Realtime
 30505  	// Servers script. The runtime configuration lists the types of server processes
 30506  	// to run on an instance, how to launch them, and the number of processes to
 30507  	// run concurrently.
 30508  	//
 30509  	// RuntimeConfiguration is a required field
 30510  	RuntimeConfiguration *RuntimeConfiguration `type:"structure" required:"true"`
 30511  }
 30512  
 30513  // String returns the string representation.
 30514  //
 30515  // API parameter values that are decorated as "sensitive" in the API will not
 30516  // be included in the string output. The member name will be present, but the
 30517  // value will be replaced with "sensitive".
 30518  func (s UpdateRuntimeConfigurationInput) String() string {
 30519  	return awsutil.Prettify(s)
 30520  }
 30521  
 30522  // GoString returns the string representation.
 30523  //
 30524  // API parameter values that are decorated as "sensitive" in the API will not
 30525  // be included in the string output. The member name will be present, but the
 30526  // value will be replaced with "sensitive".
 30527  func (s UpdateRuntimeConfigurationInput) GoString() string {
 30528  	return s.String()
 30529  }
 30530  
 30531  // Validate inspects the fields of the type to determine if they are valid.
 30532  func (s *UpdateRuntimeConfigurationInput) Validate() error {
 30533  	invalidParams := request.ErrInvalidParams{Context: "UpdateRuntimeConfigurationInput"}
 30534  	if s.FleetId == nil {
 30535  		invalidParams.Add(request.NewErrParamRequired("FleetId"))
 30536  	}
 30537  	if s.RuntimeConfiguration == nil {
 30538  		invalidParams.Add(request.NewErrParamRequired("RuntimeConfiguration"))
 30539  	}
 30540  	if s.RuntimeConfiguration != nil {
 30541  		if err := s.RuntimeConfiguration.Validate(); err != nil {
 30542  			invalidParams.AddNested("RuntimeConfiguration", err.(request.ErrInvalidParams))
 30543  		}
 30544  	}
 30545  
 30546  	if invalidParams.Len() > 0 {
 30547  		return invalidParams
 30548  	}
 30549  	return nil
 30550  }
 30551  
 30552  // SetFleetId sets the FleetId field's value.
 30553  func (s *UpdateRuntimeConfigurationInput) SetFleetId(v string) *UpdateRuntimeConfigurationInput {
 30554  	s.FleetId = &v
 30555  	return s
 30556  }
 30557  
 30558  // SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
 30559  func (s *UpdateRuntimeConfigurationInput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationInput {
 30560  	s.RuntimeConfiguration = v
 30561  	return s
 30562  }
 30563  
 30564  // Represents the returned data in response to a request operation.
 30565  type UpdateRuntimeConfigurationOutput struct {
 30566  	_ struct{} `type:"structure"`
 30567  
 30568  	// The runtime configuration currently in use by all instances in the fleet.
 30569  	// If the update was successful, all property changes are shown.
 30570  	RuntimeConfiguration *RuntimeConfiguration `type:"structure"`
 30571  }
 30572  
 30573  // String returns the string representation.
 30574  //
 30575  // API parameter values that are decorated as "sensitive" in the API will not
 30576  // be included in the string output. The member name will be present, but the
 30577  // value will be replaced with "sensitive".
 30578  func (s UpdateRuntimeConfigurationOutput) String() string {
 30579  	return awsutil.Prettify(s)
 30580  }
 30581  
 30582  // GoString returns the string representation.
 30583  //
 30584  // API parameter values that are decorated as "sensitive" in the API will not
 30585  // be included in the string output. The member name will be present, but the
 30586  // value will be replaced with "sensitive".
 30587  func (s UpdateRuntimeConfigurationOutput) GoString() string {
 30588  	return s.String()
 30589  }
 30590  
 30591  // SetRuntimeConfiguration sets the RuntimeConfiguration field's value.
 30592  func (s *UpdateRuntimeConfigurationOutput) SetRuntimeConfiguration(v *RuntimeConfiguration) *UpdateRuntimeConfigurationOutput {
 30593  	s.RuntimeConfiguration = v
 30594  	return s
 30595  }
 30596  
 30597  type UpdateScriptInput struct {
 30598  	_ struct{} `type:"structure"`
 30599  
 30600  	// A descriptive label that is associated with a script. Script names do not
 30601  	// need to be unique.
 30602  	Name *string `min:"1" type:"string"`
 30603  
 30604  	// A unique identifier for the Realtime script to update. You can use either
 30605  	// the script ID or ARN value.
 30606  	//
 30607  	// ScriptId is a required field
 30608  	ScriptId *string `type:"string" required:"true"`
 30609  
 30610  	// The location of the Amazon S3 bucket where a zipped file containing your
 30611  	// Realtime scripts is stored. The storage location must specify the Amazon
 30612  	// S3 bucket name, the zip file name (the "key"), and a role ARN that allows
 30613  	// Amazon GameLift to access the Amazon S3 storage location. The S3 bucket must
 30614  	// be in the same Region where you want to create a new script. By default,
 30615  	// Amazon GameLift uploads the latest version of the zip file; if you have S3
 30616  	// object versioning turned on, you can use the ObjectVersion parameter to specify
 30617  	// an earlier version.
 30618  	StorageLocation *S3Location `type:"structure"`
 30619  
 30620  	// Version information that is associated with a build or script. Version strings
 30621  	// do not need to be unique.
 30622  	Version *string `min:"1" type:"string"`
 30623  
 30624  	// A data object containing your Realtime scripts and dependencies as a zip
 30625  	// file. The zip file can have one or multiple files. Maximum size of a zip
 30626  	// file is 5 MB.
 30627  	//
 30628  	// When using the AWS CLI tool to create a script, this parameter is set to
 30629  	// the zip file name. It must be prepended with the string "fileb://" to indicate
 30630  	// that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.
 30631  	// ZipFile is automatically base64 encoded/decoded by the SDK.
 30632  	ZipFile []byte `type:"blob"`
 30633  }
 30634  
 30635  // String returns the string representation.
 30636  //
 30637  // API parameter values that are decorated as "sensitive" in the API will not
 30638  // be included in the string output. The member name will be present, but the
 30639  // value will be replaced with "sensitive".
 30640  func (s UpdateScriptInput) String() string {
 30641  	return awsutil.Prettify(s)
 30642  }
 30643  
 30644  // GoString returns the string representation.
 30645  //
 30646  // API parameter values that are decorated as "sensitive" in the API will not
 30647  // be included in the string output. The member name will be present, but the
 30648  // value will be replaced with "sensitive".
 30649  func (s UpdateScriptInput) GoString() string {
 30650  	return s.String()
 30651  }
 30652  
 30653  // Validate inspects the fields of the type to determine if they are valid.
 30654  func (s *UpdateScriptInput) Validate() error {
 30655  	invalidParams := request.ErrInvalidParams{Context: "UpdateScriptInput"}
 30656  	if s.Name != nil && len(*s.Name) < 1 {
 30657  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 30658  	}
 30659  	if s.ScriptId == nil {
 30660  		invalidParams.Add(request.NewErrParamRequired("ScriptId"))
 30661  	}
 30662  	if s.Version != nil && len(*s.Version) < 1 {
 30663  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 30664  	}
 30665  	if s.StorageLocation != nil {
 30666  		if err := s.StorageLocation.Validate(); err != nil {
 30667  			invalidParams.AddNested("StorageLocation", err.(request.ErrInvalidParams))
 30668  		}
 30669  	}
 30670  
 30671  	if invalidParams.Len() > 0 {
 30672  		return invalidParams
 30673  	}
 30674  	return nil
 30675  }
 30676  
 30677  // SetName sets the Name field's value.
 30678  func (s *UpdateScriptInput) SetName(v string) *UpdateScriptInput {
 30679  	s.Name = &v
 30680  	return s
 30681  }
 30682  
 30683  // SetScriptId sets the ScriptId field's value.
 30684  func (s *UpdateScriptInput) SetScriptId(v string) *UpdateScriptInput {
 30685  	s.ScriptId = &v
 30686  	return s
 30687  }
 30688  
 30689  // SetStorageLocation sets the StorageLocation field's value.
 30690  func (s *UpdateScriptInput) SetStorageLocation(v *S3Location) *UpdateScriptInput {
 30691  	s.StorageLocation = v
 30692  	return s
 30693  }
 30694  
 30695  // SetVersion sets the Version field's value.
 30696  func (s *UpdateScriptInput) SetVersion(v string) *UpdateScriptInput {
 30697  	s.Version = &v
 30698  	return s
 30699  }
 30700  
 30701  // SetZipFile sets the ZipFile field's value.
 30702  func (s *UpdateScriptInput) SetZipFile(v []byte) *UpdateScriptInput {
 30703  	s.ZipFile = v
 30704  	return s
 30705  }
 30706  
 30707  type UpdateScriptOutput struct {
 30708  	_ struct{} `type:"structure"`
 30709  
 30710  	// The newly created script record with a unique script ID. The new script's
 30711  	// storage location reflects an Amazon S3 location: (1) If the script was uploaded
 30712  	// from an S3 bucket under your account, the storage location reflects the information
 30713  	// that was provided in the CreateScript request; (2) If the script file was
 30714  	// uploaded from a local zip file, the storage location reflects an S3 location
 30715  	// controls by the Amazon GameLift service.
 30716  	Script *Script `type:"structure"`
 30717  }
 30718  
 30719  // String returns the string representation.
 30720  //
 30721  // API parameter values that are decorated as "sensitive" in the API will not
 30722  // be included in the string output. The member name will be present, but the
 30723  // value will be replaced with "sensitive".
 30724  func (s UpdateScriptOutput) String() string {
 30725  	return awsutil.Prettify(s)
 30726  }
 30727  
 30728  // GoString returns the string representation.
 30729  //
 30730  // API parameter values that are decorated as "sensitive" in the API will not
 30731  // be included in the string output. The member name will be present, but the
 30732  // value will be replaced with "sensitive".
 30733  func (s UpdateScriptOutput) GoString() string {
 30734  	return s.String()
 30735  }
 30736  
 30737  // SetScript sets the Script field's value.
 30738  func (s *UpdateScriptOutput) SetScript(v *Script) *UpdateScriptOutput {
 30739  	s.Script = v
 30740  	return s
 30741  }
 30742  
 30743  // Represents the input for a request operation.
 30744  type ValidateMatchmakingRuleSetInput struct {
 30745  	_ struct{} `type:"structure"`
 30746  
 30747  	// A collection of matchmaking rules to validate, formatted as a JSON string.
 30748  	//
 30749  	// RuleSetBody is a required field
 30750  	RuleSetBody *string `min:"1" type:"string" required:"true"`
 30751  }
 30752  
 30753  // String returns the string representation.
 30754  //
 30755  // API parameter values that are decorated as "sensitive" in the API will not
 30756  // be included in the string output. The member name will be present, but the
 30757  // value will be replaced with "sensitive".
 30758  func (s ValidateMatchmakingRuleSetInput) String() string {
 30759  	return awsutil.Prettify(s)
 30760  }
 30761  
 30762  // GoString returns the string representation.
 30763  //
 30764  // API parameter values that are decorated as "sensitive" in the API will not
 30765  // be included in the string output. The member name will be present, but the
 30766  // value will be replaced with "sensitive".
 30767  func (s ValidateMatchmakingRuleSetInput) GoString() string {
 30768  	return s.String()
 30769  }
 30770  
 30771  // Validate inspects the fields of the type to determine if they are valid.
 30772  func (s *ValidateMatchmakingRuleSetInput) Validate() error {
 30773  	invalidParams := request.ErrInvalidParams{Context: "ValidateMatchmakingRuleSetInput"}
 30774  	if s.RuleSetBody == nil {
 30775  		invalidParams.Add(request.NewErrParamRequired("RuleSetBody"))
 30776  	}
 30777  	if s.RuleSetBody != nil && len(*s.RuleSetBody) < 1 {
 30778  		invalidParams.Add(request.NewErrParamMinLen("RuleSetBody", 1))
 30779  	}
 30780  
 30781  	if invalidParams.Len() > 0 {
 30782  		return invalidParams
 30783  	}
 30784  	return nil
 30785  }
 30786  
 30787  // SetRuleSetBody sets the RuleSetBody field's value.
 30788  func (s *ValidateMatchmakingRuleSetInput) SetRuleSetBody(v string) *ValidateMatchmakingRuleSetInput {
 30789  	s.RuleSetBody = &v
 30790  	return s
 30791  }
 30792  
 30793  // Represents the returned data in response to a request operation.
 30794  type ValidateMatchmakingRuleSetOutput struct {
 30795  	_ struct{} `type:"structure"`
 30796  
 30797  	// A response indicating whether the rule set is valid.
 30798  	Valid *bool `type:"boolean"`
 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".
 30806  func (s ValidateMatchmakingRuleSetOutput) 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".
 30815  func (s ValidateMatchmakingRuleSetOutput) GoString() string {
 30816  	return s.String()
 30817  }
 30818  
 30819  // SetValid sets the Valid field's value.
 30820  func (s *ValidateMatchmakingRuleSetOutput) SetValid(v bool) *ValidateMatchmakingRuleSetOutput {
 30821  	s.Valid = &v
 30822  	return s
 30823  }
 30824  
 30825  // Represents an authorization for a VPC peering connection between the VPC
 30826  // for an Amazon GameLift fleet and another VPC on an account you have access
 30827  // to. This authorization must exist and be valid for the peering connection
 30828  // to be established. Authorizations are valid for 24 hours after they are issued.
 30829  //
 30830  // Related actions
 30831  //
 30832  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
 30833  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
 30834  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 30835  type VpcPeeringAuthorization struct {
 30836  	_ struct{} `type:"structure"`
 30837  
 30838  	// Time stamp indicating when this authorization was issued. Format is a number
 30839  	// expressed in Unix time as milliseconds (for example "1469498468.057").
 30840  	CreationTime *time.Time `type:"timestamp"`
 30841  
 30842  	// Time stamp indicating when this authorization expires (24 hours after issuance).
 30843  	// Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").
 30844  	ExpirationTime *time.Time `type:"timestamp"`
 30845  
 30846  	// A unique identifier for the AWS account that you use to manage your GameLift
 30847  	// fleet. You can find your Account ID in the AWS Management Console under account
 30848  	// settings.
 30849  	GameLiftAwsAccountId *string `min:"1" type:"string"`
 30850  
 30851  	PeerVpcAwsAccountId *string `min:"1" type:"string"`
 30852  
 30853  	// A unique identifier for a VPC with resources to be accessed by your GameLift
 30854  	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
 30855  	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
 30856  	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
 30857  	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
 30858  	PeerVpcId *string `min:"1" type:"string"`
 30859  }
 30860  
 30861  // String returns the string representation.
 30862  //
 30863  // API parameter values that are decorated as "sensitive" in the API will not
 30864  // be included in the string output. The member name will be present, but the
 30865  // value will be replaced with "sensitive".
 30866  func (s VpcPeeringAuthorization) String() string {
 30867  	return awsutil.Prettify(s)
 30868  }
 30869  
 30870  // GoString returns the string representation.
 30871  //
 30872  // API parameter values that are decorated as "sensitive" in the API will not
 30873  // be included in the string output. The member name will be present, but the
 30874  // value will be replaced with "sensitive".
 30875  func (s VpcPeeringAuthorization) GoString() string {
 30876  	return s.String()
 30877  }
 30878  
 30879  // SetCreationTime sets the CreationTime field's value.
 30880  func (s *VpcPeeringAuthorization) SetCreationTime(v time.Time) *VpcPeeringAuthorization {
 30881  	s.CreationTime = &v
 30882  	return s
 30883  }
 30884  
 30885  // SetExpirationTime sets the ExpirationTime field's value.
 30886  func (s *VpcPeeringAuthorization) SetExpirationTime(v time.Time) *VpcPeeringAuthorization {
 30887  	s.ExpirationTime = &v
 30888  	return s
 30889  }
 30890  
 30891  // SetGameLiftAwsAccountId sets the GameLiftAwsAccountId field's value.
 30892  func (s *VpcPeeringAuthorization) SetGameLiftAwsAccountId(v string) *VpcPeeringAuthorization {
 30893  	s.GameLiftAwsAccountId = &v
 30894  	return s
 30895  }
 30896  
 30897  // SetPeerVpcAwsAccountId sets the PeerVpcAwsAccountId field's value.
 30898  func (s *VpcPeeringAuthorization) SetPeerVpcAwsAccountId(v string) *VpcPeeringAuthorization {
 30899  	s.PeerVpcAwsAccountId = &v
 30900  	return s
 30901  }
 30902  
 30903  // SetPeerVpcId sets the PeerVpcId field's value.
 30904  func (s *VpcPeeringAuthorization) SetPeerVpcId(v string) *VpcPeeringAuthorization {
 30905  	s.PeerVpcId = &v
 30906  	return s
 30907  }
 30908  
 30909  // Represents a peering connection between a VPC on one of your AWS accounts
 30910  // and the VPC for your Amazon GameLift fleets. This record may be for an active
 30911  // peering connection or a pending connection that has not yet been established.
 30912  //
 30913  // Related actions
 30914  //
 30915  // CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization
 30916  // | CreateVpcPeeringConnection | DescribeVpcPeeringConnections | DeleteVpcPeeringConnection
 30917  // | All APIs by task (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets)
 30918  type VpcPeeringConnection struct {
 30919  	_ struct{} `type:"structure"`
 30920  
 30921  	// The Amazon Resource Name (ARN (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html))
 30922  	// associated with the GameLift fleet resource for this connection.
 30923  	FleetArn *string `type:"string"`
 30924  
 30925  	// A unique identifier for the fleet. This ID determines the ID of the Amazon
 30926  	// GameLift VPC for your fleet.
 30927  	FleetId *string `type:"string"`
 30928  
 30929  	// A unique identifier for the VPC that contains the Amazon GameLift fleet for
 30930  	// this connection. This VPC is managed by Amazon GameLift and does not appear
 30931  	// in your AWS account.
 30932  	GameLiftVpcId *string `min:"1" type:"string"`
 30933  
 30934  	// CIDR block of IPv4 addresses assigned to the VPC peering connection for the
 30935  	// GameLift VPC. The peered VPC also has an IPv4 CIDR block associated with
 30936  	// it; these blocks cannot overlap or the peering connection cannot be created.
 30937  	IpV4CidrBlock *string `min:"1" type:"string"`
 30938  
 30939  	// A unique identifier for a VPC with resources to be accessed by your GameLift
 30940  	// fleet. The VPC must be in the same Region as your fleet. To look up a VPC
 30941  	// ID, use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS
 30942  	// Management Console. Learn more about VPC peering in VPC Peering with GameLift
 30943  	// Fleets (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html).
 30944  	PeerVpcId *string `min:"1" type:"string"`
 30945  
 30946  	// The status information about the connection. Status indicates if a connection
 30947  	// is pending, successful, or failed.
 30948  	Status *VpcPeeringConnectionStatus `type:"structure"`
 30949  
 30950  	// A unique identifier that is automatically assigned to the connection record.
 30951  	// This ID is referenced in VPC peering connection events, and is used when
 30952  	// deleting a connection with DeleteVpcPeeringConnection.
 30953  	VpcPeeringConnectionId *string `min:"1" type:"string"`
 30954  }
 30955  
 30956  // String returns the string representation.
 30957  //
 30958  // API parameter values that are decorated as "sensitive" in the API will not
 30959  // be included in the string output. The member name will be present, but the
 30960  // value will be replaced with "sensitive".
 30961  func (s VpcPeeringConnection) String() string {
 30962  	return awsutil.Prettify(s)
 30963  }
 30964  
 30965  // GoString returns the string representation.
 30966  //
 30967  // API parameter values that are decorated as "sensitive" in the API will not
 30968  // be included in the string output. The member name will be present, but the
 30969  // value will be replaced with "sensitive".
 30970  func (s VpcPeeringConnection) GoString() string {
 30971  	return s.String()
 30972  }
 30973  
 30974  // SetFleetArn sets the FleetArn field's value.
 30975  func (s *VpcPeeringConnection) SetFleetArn(v string) *VpcPeeringConnection {
 30976  	s.FleetArn = &v
 30977  	return s
 30978  }
 30979  
 30980  // SetFleetId sets the FleetId field's value.
 30981  func (s *VpcPeeringConnection) SetFleetId(v string) *VpcPeeringConnection {
 30982  	s.FleetId = &v
 30983  	return s
 30984  }
 30985  
 30986  // SetGameLiftVpcId sets the GameLiftVpcId field's value.
 30987  func (s *VpcPeeringConnection) SetGameLiftVpcId(v string) *VpcPeeringConnection {
 30988  	s.GameLiftVpcId = &v
 30989  	return s
 30990  }
 30991  
 30992  // SetIpV4CidrBlock sets the IpV4CidrBlock field's value.
 30993  func (s *VpcPeeringConnection) SetIpV4CidrBlock(v string) *VpcPeeringConnection {
 30994  	s.IpV4CidrBlock = &v
 30995  	return s
 30996  }
 30997  
 30998  // SetPeerVpcId sets the PeerVpcId field's value.
 30999  func (s *VpcPeeringConnection) SetPeerVpcId(v string) *VpcPeeringConnection {
 31000  	s.PeerVpcId = &v
 31001  	return s
 31002  }
 31003  
 31004  // SetStatus sets the Status field's value.
 31005  func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStatus) *VpcPeeringConnection {
 31006  	s.Status = v
 31007  	return s
 31008  }
 31009  
 31010  // SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
 31011  func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
 31012  	s.VpcPeeringConnectionId = &v
 31013  	return s
 31014  }
 31015  
 31016  // Represents status information for a VPC peering connection. Status is associated
 31017  // with a VpcPeeringConnection object. Status codes and messages are provided
 31018  // from EC2 (see VpcPeeringConnectionStateReason (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpcPeeringConnectionStateReason.html)).
 31019  // Connection status information is also communicated as a fleet Event.
 31020  type VpcPeeringConnectionStatus struct {
 31021  	_ struct{} `type:"structure"`
 31022  
 31023  	// Code indicating the status of a VPC peering connection.
 31024  	Code *string `min:"1" type:"string"`
 31025  
 31026  	// Additional messaging associated with the connection status.
 31027  	Message *string `min:"1" type:"string"`
 31028  }
 31029  
 31030  // String returns the string representation.
 31031  //
 31032  // API parameter values that are decorated as "sensitive" in the API will not
 31033  // be included in the string output. The member name will be present, but the
 31034  // value will be replaced with "sensitive".
 31035  func (s VpcPeeringConnectionStatus) String() string {
 31036  	return awsutil.Prettify(s)
 31037  }
 31038  
 31039  // GoString returns the string representation.
 31040  //
 31041  // API parameter values that are decorated as "sensitive" in the API will not
 31042  // be included in the string output. The member name will be present, but the
 31043  // value will be replaced with "sensitive".
 31044  func (s VpcPeeringConnectionStatus) GoString() string {
 31045  	return s.String()
 31046  }
 31047  
 31048  // SetCode sets the Code field's value.
 31049  func (s *VpcPeeringConnectionStatus) SetCode(v string) *VpcPeeringConnectionStatus {
 31050  	s.Code = &v
 31051  	return s
 31052  }
 31053  
 31054  // SetMessage sets the Message field's value.
 31055  func (s *VpcPeeringConnectionStatus) SetMessage(v string) *VpcPeeringConnectionStatus {
 31056  	s.Message = &v
 31057  	return s
 31058  }
 31059  
 31060  const (
 31061  	// AcceptanceTypeAccept is a AcceptanceType enum value
 31062  	AcceptanceTypeAccept = "ACCEPT"
 31063  
 31064  	// AcceptanceTypeReject is a AcceptanceType enum value
 31065  	AcceptanceTypeReject = "REJECT"
 31066  )
 31067  
 31068  // AcceptanceType_Values returns all elements of the AcceptanceType enum
 31069  func AcceptanceType_Values() []string {
 31070  	return []string{
 31071  		AcceptanceTypeAccept,
 31072  		AcceptanceTypeReject,
 31073  	}
 31074  }
 31075  
 31076  const (
 31077  	// BackfillModeAutomatic is a BackfillMode enum value
 31078  	BackfillModeAutomatic = "AUTOMATIC"
 31079  
 31080  	// BackfillModeManual is a BackfillMode enum value
 31081  	BackfillModeManual = "MANUAL"
 31082  )
 31083  
 31084  // BackfillMode_Values returns all elements of the BackfillMode enum
 31085  func BackfillMode_Values() []string {
 31086  	return []string{
 31087  		BackfillModeAutomatic,
 31088  		BackfillModeManual,
 31089  	}
 31090  }
 31091  
 31092  const (
 31093  	// BalancingStrategySpotOnly is a BalancingStrategy enum value
 31094  	BalancingStrategySpotOnly = "SPOT_ONLY"
 31095  
 31096  	// BalancingStrategySpotPreferred is a BalancingStrategy enum value
 31097  	BalancingStrategySpotPreferred = "SPOT_PREFERRED"
 31098  
 31099  	// BalancingStrategyOnDemandOnly is a BalancingStrategy enum value
 31100  	BalancingStrategyOnDemandOnly = "ON_DEMAND_ONLY"
 31101  )
 31102  
 31103  // BalancingStrategy_Values returns all elements of the BalancingStrategy enum
 31104  func BalancingStrategy_Values() []string {
 31105  	return []string{
 31106  		BalancingStrategySpotOnly,
 31107  		BalancingStrategySpotPreferred,
 31108  		BalancingStrategyOnDemandOnly,
 31109  	}
 31110  }
 31111  
 31112  const (
 31113  	// BuildStatusInitialized is a BuildStatus enum value
 31114  	BuildStatusInitialized = "INITIALIZED"
 31115  
 31116  	// BuildStatusReady is a BuildStatus enum value
 31117  	BuildStatusReady = "READY"
 31118  
 31119  	// BuildStatusFailed is a BuildStatus enum value
 31120  	BuildStatusFailed = "FAILED"
 31121  )
 31122  
 31123  // BuildStatus_Values returns all elements of the BuildStatus enum
 31124  func BuildStatus_Values() []string {
 31125  	return []string{
 31126  		BuildStatusInitialized,
 31127  		BuildStatusReady,
 31128  		BuildStatusFailed,
 31129  	}
 31130  }
 31131  
 31132  const (
 31133  	// CertificateTypeDisabled is a CertificateType enum value
 31134  	CertificateTypeDisabled = "DISABLED"
 31135  
 31136  	// CertificateTypeGenerated is a CertificateType enum value
 31137  	CertificateTypeGenerated = "GENERATED"
 31138  )
 31139  
 31140  // CertificateType_Values returns all elements of the CertificateType enum
 31141  func CertificateType_Values() []string {
 31142  	return []string{
 31143  		CertificateTypeDisabled,
 31144  		CertificateTypeGenerated,
 31145  	}
 31146  }
 31147  
 31148  const (
 31149  	// ComparisonOperatorTypeGreaterThanOrEqualToThreshold is a ComparisonOperatorType enum value
 31150  	ComparisonOperatorTypeGreaterThanOrEqualToThreshold = "GreaterThanOrEqualToThreshold"
 31151  
 31152  	// ComparisonOperatorTypeGreaterThanThreshold is a ComparisonOperatorType enum value
 31153  	ComparisonOperatorTypeGreaterThanThreshold = "GreaterThanThreshold"
 31154  
 31155  	// ComparisonOperatorTypeLessThanThreshold is a ComparisonOperatorType enum value
 31156  	ComparisonOperatorTypeLessThanThreshold = "LessThanThreshold"
 31157  
 31158  	// ComparisonOperatorTypeLessThanOrEqualToThreshold is a ComparisonOperatorType enum value
 31159  	ComparisonOperatorTypeLessThanOrEqualToThreshold = "LessThanOrEqualToThreshold"
 31160  )
 31161  
 31162  // ComparisonOperatorType_Values returns all elements of the ComparisonOperatorType enum
 31163  func ComparisonOperatorType_Values() []string {
 31164  	return []string{
 31165  		ComparisonOperatorTypeGreaterThanOrEqualToThreshold,
 31166  		ComparisonOperatorTypeGreaterThanThreshold,
 31167  		ComparisonOperatorTypeLessThanThreshold,
 31168  		ComparisonOperatorTypeLessThanOrEqualToThreshold,
 31169  	}
 31170  }
 31171  
 31172  const (
 31173  	// EC2InstanceTypeT2Micro is a EC2InstanceType enum value
 31174  	EC2InstanceTypeT2Micro = "t2.micro"
 31175  
 31176  	// EC2InstanceTypeT2Small is a EC2InstanceType enum value
 31177  	EC2InstanceTypeT2Small = "t2.small"
 31178  
 31179  	// EC2InstanceTypeT2Medium is a EC2InstanceType enum value
 31180  	EC2InstanceTypeT2Medium = "t2.medium"
 31181  
 31182  	// EC2InstanceTypeT2Large is a EC2InstanceType enum value
 31183  	EC2InstanceTypeT2Large = "t2.large"
 31184  
 31185  	// EC2InstanceTypeC3Large is a EC2InstanceType enum value
 31186  	EC2InstanceTypeC3Large = "c3.large"
 31187  
 31188  	// EC2InstanceTypeC3Xlarge is a EC2InstanceType enum value
 31189  	EC2InstanceTypeC3Xlarge = "c3.xlarge"
 31190  
 31191  	// EC2InstanceTypeC32xlarge is a EC2InstanceType enum value
 31192  	EC2InstanceTypeC32xlarge = "c3.2xlarge"
 31193  
 31194  	// EC2InstanceTypeC34xlarge is a EC2InstanceType enum value
 31195  	EC2InstanceTypeC34xlarge = "c3.4xlarge"
 31196  
 31197  	// EC2InstanceTypeC38xlarge is a EC2InstanceType enum value
 31198  	EC2InstanceTypeC38xlarge = "c3.8xlarge"
 31199  
 31200  	// EC2InstanceTypeC4Large is a EC2InstanceType enum value
 31201  	EC2InstanceTypeC4Large = "c4.large"
 31202  
 31203  	// EC2InstanceTypeC4Xlarge is a EC2InstanceType enum value
 31204  	EC2InstanceTypeC4Xlarge = "c4.xlarge"
 31205  
 31206  	// EC2InstanceTypeC42xlarge is a EC2InstanceType enum value
 31207  	EC2InstanceTypeC42xlarge = "c4.2xlarge"
 31208  
 31209  	// EC2InstanceTypeC44xlarge is a EC2InstanceType enum value
 31210  	EC2InstanceTypeC44xlarge = "c4.4xlarge"
 31211  
 31212  	// EC2InstanceTypeC48xlarge is a EC2InstanceType enum value
 31213  	EC2InstanceTypeC48xlarge = "c4.8xlarge"
 31214  
 31215  	// EC2InstanceTypeC5Large is a EC2InstanceType enum value
 31216  	EC2InstanceTypeC5Large = "c5.large"
 31217  
 31218  	// EC2InstanceTypeC5Xlarge is a EC2InstanceType enum value
 31219  	EC2InstanceTypeC5Xlarge = "c5.xlarge"
 31220  
 31221  	// EC2InstanceTypeC52xlarge is a EC2InstanceType enum value
 31222  	EC2InstanceTypeC52xlarge = "c5.2xlarge"
 31223  
 31224  	// EC2InstanceTypeC54xlarge is a EC2InstanceType enum value
 31225  	EC2InstanceTypeC54xlarge = "c5.4xlarge"
 31226  
 31227  	// EC2InstanceTypeC59xlarge is a EC2InstanceType enum value
 31228  	EC2InstanceTypeC59xlarge = "c5.9xlarge"
 31229  
 31230  	// EC2InstanceTypeC512xlarge is a EC2InstanceType enum value
 31231  	EC2InstanceTypeC512xlarge = "c5.12xlarge"
 31232  
 31233  	// EC2InstanceTypeC518xlarge is a EC2InstanceType enum value
 31234  	EC2InstanceTypeC518xlarge = "c5.18xlarge"
 31235  
 31236  	// EC2InstanceTypeC524xlarge is a EC2InstanceType enum value
 31237  	EC2InstanceTypeC524xlarge = "c5.24xlarge"
 31238  
 31239  	// EC2InstanceTypeC5aLarge is a EC2InstanceType enum value
 31240  	EC2InstanceTypeC5aLarge = "c5a.large"
 31241  
 31242  	// EC2InstanceTypeC5aXlarge is a EC2InstanceType enum value
 31243  	EC2InstanceTypeC5aXlarge = "c5a.xlarge"
 31244  
 31245  	// EC2InstanceTypeC5a2xlarge is a EC2InstanceType enum value
 31246  	EC2InstanceTypeC5a2xlarge = "c5a.2xlarge"
 31247  
 31248  	// EC2InstanceTypeC5a4xlarge is a EC2InstanceType enum value
 31249  	EC2InstanceTypeC5a4xlarge = "c5a.4xlarge"
 31250  
 31251  	// EC2InstanceTypeC5a8xlarge is a EC2InstanceType enum value
 31252  	EC2InstanceTypeC5a8xlarge = "c5a.8xlarge"
 31253  
 31254  	// EC2InstanceTypeC5a12xlarge is a EC2InstanceType enum value
 31255  	EC2InstanceTypeC5a12xlarge = "c5a.12xlarge"
 31256  
 31257  	// EC2InstanceTypeC5a16xlarge is a EC2InstanceType enum value
 31258  	EC2InstanceTypeC5a16xlarge = "c5a.16xlarge"
 31259  
 31260  	// EC2InstanceTypeC5a24xlarge is a EC2InstanceType enum value
 31261  	EC2InstanceTypeC5a24xlarge = "c5a.24xlarge"
 31262  
 31263  	// EC2InstanceTypeR3Large is a EC2InstanceType enum value
 31264  	EC2InstanceTypeR3Large = "r3.large"
 31265  
 31266  	// EC2InstanceTypeR3Xlarge is a EC2InstanceType enum value
 31267  	EC2InstanceTypeR3Xlarge = "r3.xlarge"
 31268  
 31269  	// EC2InstanceTypeR32xlarge is a EC2InstanceType enum value
 31270  	EC2InstanceTypeR32xlarge = "r3.2xlarge"
 31271  
 31272  	// EC2InstanceTypeR34xlarge is a EC2InstanceType enum value
 31273  	EC2InstanceTypeR34xlarge = "r3.4xlarge"
 31274  
 31275  	// EC2InstanceTypeR38xlarge is a EC2InstanceType enum value
 31276  	EC2InstanceTypeR38xlarge = "r3.8xlarge"
 31277  
 31278  	// EC2InstanceTypeR4Large is a EC2InstanceType enum value
 31279  	EC2InstanceTypeR4Large = "r4.large"
 31280  
 31281  	// EC2InstanceTypeR4Xlarge is a EC2InstanceType enum value
 31282  	EC2InstanceTypeR4Xlarge = "r4.xlarge"
 31283  
 31284  	// EC2InstanceTypeR42xlarge is a EC2InstanceType enum value
 31285  	EC2InstanceTypeR42xlarge = "r4.2xlarge"
 31286  
 31287  	// EC2InstanceTypeR44xlarge is a EC2InstanceType enum value
 31288  	EC2InstanceTypeR44xlarge = "r4.4xlarge"
 31289  
 31290  	// EC2InstanceTypeR48xlarge is a EC2InstanceType enum value
 31291  	EC2InstanceTypeR48xlarge = "r4.8xlarge"
 31292  
 31293  	// EC2InstanceTypeR416xlarge is a EC2InstanceType enum value
 31294  	EC2InstanceTypeR416xlarge = "r4.16xlarge"
 31295  
 31296  	// EC2InstanceTypeR5Large is a EC2InstanceType enum value
 31297  	EC2InstanceTypeR5Large = "r5.large"
 31298  
 31299  	// EC2InstanceTypeR5Xlarge is a EC2InstanceType enum value
 31300  	EC2InstanceTypeR5Xlarge = "r5.xlarge"
 31301  
 31302  	// EC2InstanceTypeR52xlarge is a EC2InstanceType enum value
 31303  	EC2InstanceTypeR52xlarge = "r5.2xlarge"
 31304  
 31305  	// EC2InstanceTypeR54xlarge is a EC2InstanceType enum value
 31306  	EC2InstanceTypeR54xlarge = "r5.4xlarge"
 31307  
 31308  	// EC2InstanceTypeR58xlarge is a EC2InstanceType enum value
 31309  	EC2InstanceTypeR58xlarge = "r5.8xlarge"
 31310  
 31311  	// EC2InstanceTypeR512xlarge is a EC2InstanceType enum value
 31312  	EC2InstanceTypeR512xlarge = "r5.12xlarge"
 31313  
 31314  	// EC2InstanceTypeR516xlarge is a EC2InstanceType enum value
 31315  	EC2InstanceTypeR516xlarge = "r5.16xlarge"
 31316  
 31317  	// EC2InstanceTypeR524xlarge is a EC2InstanceType enum value
 31318  	EC2InstanceTypeR524xlarge = "r5.24xlarge"
 31319  
 31320  	// EC2InstanceTypeR5aLarge is a EC2InstanceType enum value
 31321  	EC2InstanceTypeR5aLarge = "r5a.large"
 31322  
 31323  	// EC2InstanceTypeR5aXlarge is a EC2InstanceType enum value
 31324  	EC2InstanceTypeR5aXlarge = "r5a.xlarge"
 31325  
 31326  	// EC2InstanceTypeR5a2xlarge is a EC2InstanceType enum value
 31327  	EC2InstanceTypeR5a2xlarge = "r5a.2xlarge"
 31328  
 31329  	// EC2InstanceTypeR5a4xlarge is a EC2InstanceType enum value
 31330  	EC2InstanceTypeR5a4xlarge = "r5a.4xlarge"
 31331  
 31332  	// EC2InstanceTypeR5a8xlarge is a EC2InstanceType enum value
 31333  	EC2InstanceTypeR5a8xlarge = "r5a.8xlarge"
 31334  
 31335  	// EC2InstanceTypeR5a12xlarge is a EC2InstanceType enum value
 31336  	EC2InstanceTypeR5a12xlarge = "r5a.12xlarge"
 31337  
 31338  	// EC2InstanceTypeR5a16xlarge is a EC2InstanceType enum value
 31339  	EC2InstanceTypeR5a16xlarge = "r5a.16xlarge"
 31340  
 31341  	// EC2InstanceTypeR5a24xlarge is a EC2InstanceType enum value
 31342  	EC2InstanceTypeR5a24xlarge = "r5a.24xlarge"
 31343  
 31344  	// EC2InstanceTypeM3Medium is a EC2InstanceType enum value
 31345  	EC2InstanceTypeM3Medium = "m3.medium"
 31346  
 31347  	// EC2InstanceTypeM3Large is a EC2InstanceType enum value
 31348  	EC2InstanceTypeM3Large = "m3.large"
 31349  
 31350  	// EC2InstanceTypeM3Xlarge is a EC2InstanceType enum value
 31351  	EC2InstanceTypeM3Xlarge = "m3.xlarge"
 31352  
 31353  	// EC2InstanceTypeM32xlarge is a EC2InstanceType enum value
 31354  	EC2InstanceTypeM32xlarge = "m3.2xlarge"
 31355  
 31356  	// EC2InstanceTypeM4Large is a EC2InstanceType enum value
 31357  	EC2InstanceTypeM4Large = "m4.large"
 31358  
 31359  	// EC2InstanceTypeM4Xlarge is a EC2InstanceType enum value
 31360  	EC2InstanceTypeM4Xlarge = "m4.xlarge"
 31361  
 31362  	// EC2InstanceTypeM42xlarge is a EC2InstanceType enum value
 31363  	EC2InstanceTypeM42xlarge = "m4.2xlarge"
 31364  
 31365  	// EC2InstanceTypeM44xlarge is a EC2InstanceType enum value
 31366  	EC2InstanceTypeM44xlarge = "m4.4xlarge"
 31367  
 31368  	// EC2InstanceTypeM410xlarge is a EC2InstanceType enum value
 31369  	EC2InstanceTypeM410xlarge = "m4.10xlarge"
 31370  
 31371  	// EC2InstanceTypeM5Large is a EC2InstanceType enum value
 31372  	EC2InstanceTypeM5Large = "m5.large"
 31373  
 31374  	// EC2InstanceTypeM5Xlarge is a EC2InstanceType enum value
 31375  	EC2InstanceTypeM5Xlarge = "m5.xlarge"
 31376  
 31377  	// EC2InstanceTypeM52xlarge is a EC2InstanceType enum value
 31378  	EC2InstanceTypeM52xlarge = "m5.2xlarge"
 31379  
 31380  	// EC2InstanceTypeM54xlarge is a EC2InstanceType enum value
 31381  	EC2InstanceTypeM54xlarge = "m5.4xlarge"
 31382  
 31383  	// EC2InstanceTypeM58xlarge is a EC2InstanceType enum value
 31384  	EC2InstanceTypeM58xlarge = "m5.8xlarge"
 31385  
 31386  	// EC2InstanceTypeM512xlarge is a EC2InstanceType enum value
 31387  	EC2InstanceTypeM512xlarge = "m5.12xlarge"
 31388  
 31389  	// EC2InstanceTypeM516xlarge is a EC2InstanceType enum value
 31390  	EC2InstanceTypeM516xlarge = "m5.16xlarge"
 31391  
 31392  	// EC2InstanceTypeM524xlarge is a EC2InstanceType enum value
 31393  	EC2InstanceTypeM524xlarge = "m5.24xlarge"
 31394  
 31395  	// EC2InstanceTypeM5aLarge is a EC2InstanceType enum value
 31396  	EC2InstanceTypeM5aLarge = "m5a.large"
 31397  
 31398  	// EC2InstanceTypeM5aXlarge is a EC2InstanceType enum value
 31399  	EC2InstanceTypeM5aXlarge = "m5a.xlarge"
 31400  
 31401  	// EC2InstanceTypeM5a2xlarge is a EC2InstanceType enum value
 31402  	EC2InstanceTypeM5a2xlarge = "m5a.2xlarge"
 31403  
 31404  	// EC2InstanceTypeM5a4xlarge is a EC2InstanceType enum value
 31405  	EC2InstanceTypeM5a4xlarge = "m5a.4xlarge"
 31406  
 31407  	// EC2InstanceTypeM5a8xlarge is a EC2InstanceType enum value
 31408  	EC2InstanceTypeM5a8xlarge = "m5a.8xlarge"
 31409  
 31410  	// EC2InstanceTypeM5a12xlarge is a EC2InstanceType enum value
 31411  	EC2InstanceTypeM5a12xlarge = "m5a.12xlarge"
 31412  
 31413  	// EC2InstanceTypeM5a16xlarge is a EC2InstanceType enum value
 31414  	EC2InstanceTypeM5a16xlarge = "m5a.16xlarge"
 31415  
 31416  	// EC2InstanceTypeM5a24xlarge is a EC2InstanceType enum value
 31417  	EC2InstanceTypeM5a24xlarge = "m5a.24xlarge"
 31418  )
 31419  
 31420  // EC2InstanceType_Values returns all elements of the EC2InstanceType enum
 31421  func EC2InstanceType_Values() []string {
 31422  	return []string{
 31423  		EC2InstanceTypeT2Micro,
 31424  		EC2InstanceTypeT2Small,
 31425  		EC2InstanceTypeT2Medium,
 31426  		EC2InstanceTypeT2Large,
 31427  		EC2InstanceTypeC3Large,
 31428  		EC2InstanceTypeC3Xlarge,
 31429  		EC2InstanceTypeC32xlarge,
 31430  		EC2InstanceTypeC34xlarge,
 31431  		EC2InstanceTypeC38xlarge,
 31432  		EC2InstanceTypeC4Large,
 31433  		EC2InstanceTypeC4Xlarge,
 31434  		EC2InstanceTypeC42xlarge,
 31435  		EC2InstanceTypeC44xlarge,
 31436  		EC2InstanceTypeC48xlarge,
 31437  		EC2InstanceTypeC5Large,
 31438  		EC2InstanceTypeC5Xlarge,
 31439  		EC2InstanceTypeC52xlarge,
 31440  		EC2InstanceTypeC54xlarge,
 31441  		EC2InstanceTypeC59xlarge,
 31442  		EC2InstanceTypeC512xlarge,
 31443  		EC2InstanceTypeC518xlarge,
 31444  		EC2InstanceTypeC524xlarge,
 31445  		EC2InstanceTypeC5aLarge,
 31446  		EC2InstanceTypeC5aXlarge,
 31447  		EC2InstanceTypeC5a2xlarge,
 31448  		EC2InstanceTypeC5a4xlarge,
 31449  		EC2InstanceTypeC5a8xlarge,
 31450  		EC2InstanceTypeC5a12xlarge,
 31451  		EC2InstanceTypeC5a16xlarge,
 31452  		EC2InstanceTypeC5a24xlarge,
 31453  		EC2InstanceTypeR3Large,
 31454  		EC2InstanceTypeR3Xlarge,
 31455  		EC2InstanceTypeR32xlarge,
 31456  		EC2InstanceTypeR34xlarge,
 31457  		EC2InstanceTypeR38xlarge,
 31458  		EC2InstanceTypeR4Large,
 31459  		EC2InstanceTypeR4Xlarge,
 31460  		EC2InstanceTypeR42xlarge,
 31461  		EC2InstanceTypeR44xlarge,
 31462  		EC2InstanceTypeR48xlarge,
 31463  		EC2InstanceTypeR416xlarge,
 31464  		EC2InstanceTypeR5Large,
 31465  		EC2InstanceTypeR5Xlarge,
 31466  		EC2InstanceTypeR52xlarge,
 31467  		EC2InstanceTypeR54xlarge,
 31468  		EC2InstanceTypeR58xlarge,
 31469  		EC2InstanceTypeR512xlarge,
 31470  		EC2InstanceTypeR516xlarge,
 31471  		EC2InstanceTypeR524xlarge,
 31472  		EC2InstanceTypeR5aLarge,
 31473  		EC2InstanceTypeR5aXlarge,
 31474  		EC2InstanceTypeR5a2xlarge,
 31475  		EC2InstanceTypeR5a4xlarge,
 31476  		EC2InstanceTypeR5a8xlarge,
 31477  		EC2InstanceTypeR5a12xlarge,
 31478  		EC2InstanceTypeR5a16xlarge,
 31479  		EC2InstanceTypeR5a24xlarge,
 31480  		EC2InstanceTypeM3Medium,
 31481  		EC2InstanceTypeM3Large,
 31482  		EC2InstanceTypeM3Xlarge,
 31483  		EC2InstanceTypeM32xlarge,
 31484  		EC2InstanceTypeM4Large,
 31485  		EC2InstanceTypeM4Xlarge,
 31486  		EC2InstanceTypeM42xlarge,
 31487  		EC2InstanceTypeM44xlarge,
 31488  		EC2InstanceTypeM410xlarge,
 31489  		EC2InstanceTypeM5Large,
 31490  		EC2InstanceTypeM5Xlarge,
 31491  		EC2InstanceTypeM52xlarge,
 31492  		EC2InstanceTypeM54xlarge,
 31493  		EC2InstanceTypeM58xlarge,
 31494  		EC2InstanceTypeM512xlarge,
 31495  		EC2InstanceTypeM516xlarge,
 31496  		EC2InstanceTypeM524xlarge,
 31497  		EC2InstanceTypeM5aLarge,
 31498  		EC2InstanceTypeM5aXlarge,
 31499  		EC2InstanceTypeM5a2xlarge,
 31500  		EC2InstanceTypeM5a4xlarge,
 31501  		EC2InstanceTypeM5a8xlarge,
 31502  		EC2InstanceTypeM5a12xlarge,
 31503  		EC2InstanceTypeM5a16xlarge,
 31504  		EC2InstanceTypeM5a24xlarge,
 31505  	}
 31506  }
 31507  
 31508  const (
 31509  	// EventCodeGenericEvent is a EventCode enum value
 31510  	EventCodeGenericEvent = "GENERIC_EVENT"
 31511  
 31512  	// EventCodeFleetCreated is a EventCode enum value
 31513  	EventCodeFleetCreated = "FLEET_CREATED"
 31514  
 31515  	// EventCodeFleetDeleted is a EventCode enum value
 31516  	EventCodeFleetDeleted = "FLEET_DELETED"
 31517  
 31518  	// EventCodeFleetScalingEvent is a EventCode enum value
 31519  	EventCodeFleetScalingEvent = "FLEET_SCALING_EVENT"
 31520  
 31521  	// EventCodeFleetStateDownloading is a EventCode enum value
 31522  	EventCodeFleetStateDownloading = "FLEET_STATE_DOWNLOADING"
 31523  
 31524  	// EventCodeFleetStateValidating is a EventCode enum value
 31525  	EventCodeFleetStateValidating = "FLEET_STATE_VALIDATING"
 31526  
 31527  	// EventCodeFleetStateBuilding is a EventCode enum value
 31528  	EventCodeFleetStateBuilding = "FLEET_STATE_BUILDING"
 31529  
 31530  	// EventCodeFleetStateActivating is a EventCode enum value
 31531  	EventCodeFleetStateActivating = "FLEET_STATE_ACTIVATING"
 31532  
 31533  	// EventCodeFleetStateActive is a EventCode enum value
 31534  	EventCodeFleetStateActive = "FLEET_STATE_ACTIVE"
 31535  
 31536  	// EventCodeFleetStateError is a EventCode enum value
 31537  	EventCodeFleetStateError = "FLEET_STATE_ERROR"
 31538  
 31539  	// EventCodeFleetInitializationFailed is a EventCode enum value
 31540  	EventCodeFleetInitializationFailed = "FLEET_INITIALIZATION_FAILED"
 31541  
 31542  	// EventCodeFleetBinaryDownloadFailed is a EventCode enum value
 31543  	EventCodeFleetBinaryDownloadFailed = "FLEET_BINARY_DOWNLOAD_FAILED"
 31544  
 31545  	// EventCodeFleetValidationLaunchPathNotFound is a EventCode enum value
 31546  	EventCodeFleetValidationLaunchPathNotFound = "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND"
 31547  
 31548  	// EventCodeFleetValidationExecutableRuntimeFailure is a EventCode enum value
 31549  	EventCodeFleetValidationExecutableRuntimeFailure = "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE"
 31550  
 31551  	// EventCodeFleetValidationTimedOut is a EventCode enum value
 31552  	EventCodeFleetValidationTimedOut = "FLEET_VALIDATION_TIMED_OUT"
 31553  
 31554  	// EventCodeFleetActivationFailed is a EventCode enum value
 31555  	EventCodeFleetActivationFailed = "FLEET_ACTIVATION_FAILED"
 31556  
 31557  	// EventCodeFleetActivationFailedNoInstances is a EventCode enum value
 31558  	EventCodeFleetActivationFailedNoInstances = "FLEET_ACTIVATION_FAILED_NO_INSTANCES"
 31559  
 31560  	// EventCodeFleetNewGameSessionProtectionPolicyUpdated is a EventCode enum value
 31561  	EventCodeFleetNewGameSessionProtectionPolicyUpdated = "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED"
 31562  
 31563  	// EventCodeServerProcessInvalidPath is a EventCode enum value
 31564  	EventCodeServerProcessInvalidPath = "SERVER_PROCESS_INVALID_PATH"
 31565  
 31566  	// EventCodeServerProcessSdkInitializationTimeout is a EventCode enum value
 31567  	EventCodeServerProcessSdkInitializationTimeout = "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT"
 31568  
 31569  	// EventCodeServerProcessProcessReadyTimeout is a EventCode enum value
 31570  	EventCodeServerProcessProcessReadyTimeout = "SERVER_PROCESS_PROCESS_READY_TIMEOUT"
 31571  
 31572  	// EventCodeServerProcessCrashed is a EventCode enum value
 31573  	EventCodeServerProcessCrashed = "SERVER_PROCESS_CRASHED"
 31574  
 31575  	// EventCodeServerProcessTerminatedUnhealthy is a EventCode enum value
 31576  	EventCodeServerProcessTerminatedUnhealthy = "SERVER_PROCESS_TERMINATED_UNHEALTHY"
 31577  
 31578  	// EventCodeServerProcessForceTerminated is a EventCode enum value
 31579  	EventCodeServerProcessForceTerminated = "SERVER_PROCESS_FORCE_TERMINATED"
 31580  
 31581  	// EventCodeServerProcessProcessExitTimeout is a EventCode enum value
 31582  	EventCodeServerProcessProcessExitTimeout = "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT"
 31583  
 31584  	// EventCodeGameSessionActivationTimeout is a EventCode enum value
 31585  	EventCodeGameSessionActivationTimeout = "GAME_SESSION_ACTIVATION_TIMEOUT"
 31586  
 31587  	// EventCodeFleetCreationExtractingBuild is a EventCode enum value
 31588  	EventCodeFleetCreationExtractingBuild = "FLEET_CREATION_EXTRACTING_BUILD"
 31589  
 31590  	// EventCodeFleetCreationRunningInstaller is a EventCode enum value
 31591  	EventCodeFleetCreationRunningInstaller = "FLEET_CREATION_RUNNING_INSTALLER"
 31592  
 31593  	// EventCodeFleetCreationValidatingRuntimeConfig is a EventCode enum value
 31594  	EventCodeFleetCreationValidatingRuntimeConfig = "FLEET_CREATION_VALIDATING_RUNTIME_CONFIG"
 31595  
 31596  	// EventCodeFleetVpcPeeringSucceeded is a EventCode enum value
 31597  	EventCodeFleetVpcPeeringSucceeded = "FLEET_VPC_PEERING_SUCCEEDED"
 31598  
 31599  	// EventCodeFleetVpcPeeringFailed is a EventCode enum value
 31600  	EventCodeFleetVpcPeeringFailed = "FLEET_VPC_PEERING_FAILED"
 31601  
 31602  	// EventCodeFleetVpcPeeringDeleted is a EventCode enum value
 31603  	EventCodeFleetVpcPeeringDeleted = "FLEET_VPC_PEERING_DELETED"
 31604  
 31605  	// EventCodeInstanceInterrupted is a EventCode enum value
 31606  	EventCodeInstanceInterrupted = "INSTANCE_INTERRUPTED"
 31607  )
 31608  
 31609  // EventCode_Values returns all elements of the EventCode enum
 31610  func EventCode_Values() []string {
 31611  	return []string{
 31612  		EventCodeGenericEvent,
 31613  		EventCodeFleetCreated,
 31614  		EventCodeFleetDeleted,
 31615  		EventCodeFleetScalingEvent,
 31616  		EventCodeFleetStateDownloading,
 31617  		EventCodeFleetStateValidating,
 31618  		EventCodeFleetStateBuilding,
 31619  		EventCodeFleetStateActivating,
 31620  		EventCodeFleetStateActive,
 31621  		EventCodeFleetStateError,
 31622  		EventCodeFleetInitializationFailed,
 31623  		EventCodeFleetBinaryDownloadFailed,
 31624  		EventCodeFleetValidationLaunchPathNotFound,
 31625  		EventCodeFleetValidationExecutableRuntimeFailure,
 31626  		EventCodeFleetValidationTimedOut,
 31627  		EventCodeFleetActivationFailed,
 31628  		EventCodeFleetActivationFailedNoInstances,
 31629  		EventCodeFleetNewGameSessionProtectionPolicyUpdated,
 31630  		EventCodeServerProcessInvalidPath,
 31631  		EventCodeServerProcessSdkInitializationTimeout,
 31632  		EventCodeServerProcessProcessReadyTimeout,
 31633  		EventCodeServerProcessCrashed,
 31634  		EventCodeServerProcessTerminatedUnhealthy,
 31635  		EventCodeServerProcessForceTerminated,
 31636  		EventCodeServerProcessProcessExitTimeout,
 31637  		EventCodeGameSessionActivationTimeout,
 31638  		EventCodeFleetCreationExtractingBuild,
 31639  		EventCodeFleetCreationRunningInstaller,
 31640  		EventCodeFleetCreationValidatingRuntimeConfig,
 31641  		EventCodeFleetVpcPeeringSucceeded,
 31642  		EventCodeFleetVpcPeeringFailed,
 31643  		EventCodeFleetVpcPeeringDeleted,
 31644  		EventCodeInstanceInterrupted,
 31645  	}
 31646  }
 31647  
 31648  const (
 31649  	// FleetActionAutoScaling is a FleetAction enum value
 31650  	FleetActionAutoScaling = "AUTO_SCALING"
 31651  )
 31652  
 31653  // FleetAction_Values returns all elements of the FleetAction enum
 31654  func FleetAction_Values() []string {
 31655  	return []string{
 31656  		FleetActionAutoScaling,
 31657  	}
 31658  }
 31659  
 31660  const (
 31661  	// FleetStatusNew is a FleetStatus enum value
 31662  	FleetStatusNew = "NEW"
 31663  
 31664  	// FleetStatusDownloading is a FleetStatus enum value
 31665  	FleetStatusDownloading = "DOWNLOADING"
 31666  
 31667  	// FleetStatusValidating is a FleetStatus enum value
 31668  	FleetStatusValidating = "VALIDATING"
 31669  
 31670  	// FleetStatusBuilding is a FleetStatus enum value
 31671  	FleetStatusBuilding = "BUILDING"
 31672  
 31673  	// FleetStatusActivating is a FleetStatus enum value
 31674  	FleetStatusActivating = "ACTIVATING"
 31675  
 31676  	// FleetStatusActive is a FleetStatus enum value
 31677  	FleetStatusActive = "ACTIVE"
 31678  
 31679  	// FleetStatusDeleting is a FleetStatus enum value
 31680  	FleetStatusDeleting = "DELETING"
 31681  
 31682  	// FleetStatusError is a FleetStatus enum value
 31683  	FleetStatusError = "ERROR"
 31684  
 31685  	// FleetStatusTerminated is a FleetStatus enum value
 31686  	FleetStatusTerminated = "TERMINATED"
 31687  )
 31688  
 31689  // FleetStatus_Values returns all elements of the FleetStatus enum
 31690  func FleetStatus_Values() []string {
 31691  	return []string{
 31692  		FleetStatusNew,
 31693  		FleetStatusDownloading,
 31694  		FleetStatusValidating,
 31695  		FleetStatusBuilding,
 31696  		FleetStatusActivating,
 31697  		FleetStatusActive,
 31698  		FleetStatusDeleting,
 31699  		FleetStatusError,
 31700  		FleetStatusTerminated,
 31701  	}
 31702  }
 31703  
 31704  const (
 31705  	// FleetTypeOnDemand is a FleetType enum value
 31706  	FleetTypeOnDemand = "ON_DEMAND"
 31707  
 31708  	// FleetTypeSpot is a FleetType enum value
 31709  	FleetTypeSpot = "SPOT"
 31710  )
 31711  
 31712  // FleetType_Values returns all elements of the FleetType enum
 31713  func FleetType_Values() []string {
 31714  	return []string{
 31715  		FleetTypeOnDemand,
 31716  		FleetTypeSpot,
 31717  	}
 31718  }
 31719  
 31720  const (
 31721  	// FlexMatchModeStandalone is a FlexMatchMode enum value
 31722  	FlexMatchModeStandalone = "STANDALONE"
 31723  
 31724  	// FlexMatchModeWithQueue is a FlexMatchMode enum value
 31725  	FlexMatchModeWithQueue = "WITH_QUEUE"
 31726  )
 31727  
 31728  // FlexMatchMode_Values returns all elements of the FlexMatchMode enum
 31729  func FlexMatchMode_Values() []string {
 31730  	return []string{
 31731  		FlexMatchModeStandalone,
 31732  		FlexMatchModeWithQueue,
 31733  	}
 31734  }
 31735  
 31736  const (
 31737  	// GameServerClaimStatusClaimed is a GameServerClaimStatus enum value
 31738  	GameServerClaimStatusClaimed = "CLAIMED"
 31739  )
 31740  
 31741  // GameServerClaimStatus_Values returns all elements of the GameServerClaimStatus enum
 31742  func GameServerClaimStatus_Values() []string {
 31743  	return []string{
 31744  		GameServerClaimStatusClaimed,
 31745  	}
 31746  }
 31747  
 31748  const (
 31749  	// GameServerGroupActionReplaceInstanceTypes is a GameServerGroupAction enum value
 31750  	GameServerGroupActionReplaceInstanceTypes = "REPLACE_INSTANCE_TYPES"
 31751  )
 31752  
 31753  // GameServerGroupAction_Values returns all elements of the GameServerGroupAction enum
 31754  func GameServerGroupAction_Values() []string {
 31755  	return []string{
 31756  		GameServerGroupActionReplaceInstanceTypes,
 31757  	}
 31758  }
 31759  
 31760  const (
 31761  	// GameServerGroupDeleteOptionSafeDelete is a GameServerGroupDeleteOption enum value
 31762  	GameServerGroupDeleteOptionSafeDelete = "SAFE_DELETE"
 31763  
 31764  	// GameServerGroupDeleteOptionForceDelete is a GameServerGroupDeleteOption enum value
 31765  	GameServerGroupDeleteOptionForceDelete = "FORCE_DELETE"
 31766  
 31767  	// GameServerGroupDeleteOptionRetain is a GameServerGroupDeleteOption enum value
 31768  	GameServerGroupDeleteOptionRetain = "RETAIN"
 31769  )
 31770  
 31771  // GameServerGroupDeleteOption_Values returns all elements of the GameServerGroupDeleteOption enum
 31772  func GameServerGroupDeleteOption_Values() []string {
 31773  	return []string{
 31774  		GameServerGroupDeleteOptionSafeDelete,
 31775  		GameServerGroupDeleteOptionForceDelete,
 31776  		GameServerGroupDeleteOptionRetain,
 31777  	}
 31778  }
 31779  
 31780  const (
 31781  	// GameServerGroupInstanceTypeC4Large is a GameServerGroupInstanceType enum value
 31782  	GameServerGroupInstanceTypeC4Large = "c4.large"
 31783  
 31784  	// GameServerGroupInstanceTypeC4Xlarge is a GameServerGroupInstanceType enum value
 31785  	GameServerGroupInstanceTypeC4Xlarge = "c4.xlarge"
 31786  
 31787  	// GameServerGroupInstanceTypeC42xlarge is a GameServerGroupInstanceType enum value
 31788  	GameServerGroupInstanceTypeC42xlarge = "c4.2xlarge"
 31789  
 31790  	// GameServerGroupInstanceTypeC44xlarge is a GameServerGroupInstanceType enum value
 31791  	GameServerGroupInstanceTypeC44xlarge = "c4.4xlarge"
 31792  
 31793  	// GameServerGroupInstanceTypeC48xlarge is a GameServerGroupInstanceType enum value
 31794  	GameServerGroupInstanceTypeC48xlarge = "c4.8xlarge"
 31795  
 31796  	// GameServerGroupInstanceTypeC5Large is a GameServerGroupInstanceType enum value
 31797  	GameServerGroupInstanceTypeC5Large = "c5.large"
 31798  
 31799  	// GameServerGroupInstanceTypeC5Xlarge is a GameServerGroupInstanceType enum value
 31800  	GameServerGroupInstanceTypeC5Xlarge = "c5.xlarge"
 31801  
 31802  	// GameServerGroupInstanceTypeC52xlarge is a GameServerGroupInstanceType enum value
 31803  	GameServerGroupInstanceTypeC52xlarge = "c5.2xlarge"
 31804  
 31805  	// GameServerGroupInstanceTypeC54xlarge is a GameServerGroupInstanceType enum value
 31806  	GameServerGroupInstanceTypeC54xlarge = "c5.4xlarge"
 31807  
 31808  	// GameServerGroupInstanceTypeC59xlarge is a GameServerGroupInstanceType enum value
 31809  	GameServerGroupInstanceTypeC59xlarge = "c5.9xlarge"
 31810  
 31811  	// GameServerGroupInstanceTypeC512xlarge is a GameServerGroupInstanceType enum value
 31812  	GameServerGroupInstanceTypeC512xlarge = "c5.12xlarge"
 31813  
 31814  	// GameServerGroupInstanceTypeC518xlarge is a GameServerGroupInstanceType enum value
 31815  	GameServerGroupInstanceTypeC518xlarge = "c5.18xlarge"
 31816  
 31817  	// GameServerGroupInstanceTypeC524xlarge is a GameServerGroupInstanceType enum value
 31818  	GameServerGroupInstanceTypeC524xlarge = "c5.24xlarge"
 31819  
 31820  	// GameServerGroupInstanceTypeC5aLarge is a GameServerGroupInstanceType enum value
 31821  	GameServerGroupInstanceTypeC5aLarge = "c5a.large"
 31822  
 31823  	// GameServerGroupInstanceTypeC5aXlarge is a GameServerGroupInstanceType enum value
 31824  	GameServerGroupInstanceTypeC5aXlarge = "c5a.xlarge"
 31825  
 31826  	// GameServerGroupInstanceTypeC5a2xlarge is a GameServerGroupInstanceType enum value
 31827  	GameServerGroupInstanceTypeC5a2xlarge = "c5a.2xlarge"
 31828  
 31829  	// GameServerGroupInstanceTypeC5a4xlarge is a GameServerGroupInstanceType enum value
 31830  	GameServerGroupInstanceTypeC5a4xlarge = "c5a.4xlarge"
 31831  
 31832  	// GameServerGroupInstanceTypeC5a8xlarge is a GameServerGroupInstanceType enum value
 31833  	GameServerGroupInstanceTypeC5a8xlarge = "c5a.8xlarge"
 31834  
 31835  	// GameServerGroupInstanceTypeC5a12xlarge is a GameServerGroupInstanceType enum value
 31836  	GameServerGroupInstanceTypeC5a12xlarge = "c5a.12xlarge"
 31837  
 31838  	// GameServerGroupInstanceTypeC5a16xlarge is a GameServerGroupInstanceType enum value
 31839  	GameServerGroupInstanceTypeC5a16xlarge = "c5a.16xlarge"
 31840  
 31841  	// GameServerGroupInstanceTypeC5a24xlarge is a GameServerGroupInstanceType enum value
 31842  	GameServerGroupInstanceTypeC5a24xlarge = "c5a.24xlarge"
 31843  
 31844  	// GameServerGroupInstanceTypeR4Large is a GameServerGroupInstanceType enum value
 31845  	GameServerGroupInstanceTypeR4Large = "r4.large"
 31846  
 31847  	// GameServerGroupInstanceTypeR4Xlarge is a GameServerGroupInstanceType enum value
 31848  	GameServerGroupInstanceTypeR4Xlarge = "r4.xlarge"
 31849  
 31850  	// GameServerGroupInstanceTypeR42xlarge is a GameServerGroupInstanceType enum value
 31851  	GameServerGroupInstanceTypeR42xlarge = "r4.2xlarge"
 31852  
 31853  	// GameServerGroupInstanceTypeR44xlarge is a GameServerGroupInstanceType enum value
 31854  	GameServerGroupInstanceTypeR44xlarge = "r4.4xlarge"
 31855  
 31856  	// GameServerGroupInstanceTypeR48xlarge is a GameServerGroupInstanceType enum value
 31857  	GameServerGroupInstanceTypeR48xlarge = "r4.8xlarge"
 31858  
 31859  	// GameServerGroupInstanceTypeR416xlarge is a GameServerGroupInstanceType enum value
 31860  	GameServerGroupInstanceTypeR416xlarge = "r4.16xlarge"
 31861  
 31862  	// GameServerGroupInstanceTypeR5Large is a GameServerGroupInstanceType enum value
 31863  	GameServerGroupInstanceTypeR5Large = "r5.large"
 31864  
 31865  	// GameServerGroupInstanceTypeR5Xlarge is a GameServerGroupInstanceType enum value
 31866  	GameServerGroupInstanceTypeR5Xlarge = "r5.xlarge"
 31867  
 31868  	// GameServerGroupInstanceTypeR52xlarge is a GameServerGroupInstanceType enum value
 31869  	GameServerGroupInstanceTypeR52xlarge = "r5.2xlarge"
 31870  
 31871  	// GameServerGroupInstanceTypeR54xlarge is a GameServerGroupInstanceType enum value
 31872  	GameServerGroupInstanceTypeR54xlarge = "r5.4xlarge"
 31873  
 31874  	// GameServerGroupInstanceTypeR58xlarge is a GameServerGroupInstanceType enum value
 31875  	GameServerGroupInstanceTypeR58xlarge = "r5.8xlarge"
 31876  
 31877  	// GameServerGroupInstanceTypeR512xlarge is a GameServerGroupInstanceType enum value
 31878  	GameServerGroupInstanceTypeR512xlarge = "r5.12xlarge"
 31879  
 31880  	// GameServerGroupInstanceTypeR516xlarge is a GameServerGroupInstanceType enum value
 31881  	GameServerGroupInstanceTypeR516xlarge = "r5.16xlarge"
 31882  
 31883  	// GameServerGroupInstanceTypeR524xlarge is a GameServerGroupInstanceType enum value
 31884  	GameServerGroupInstanceTypeR524xlarge = "r5.24xlarge"
 31885  
 31886  	// GameServerGroupInstanceTypeR5aLarge is a GameServerGroupInstanceType enum value
 31887  	GameServerGroupInstanceTypeR5aLarge = "r5a.large"
 31888  
 31889  	// GameServerGroupInstanceTypeR5aXlarge is a GameServerGroupInstanceType enum value
 31890  	GameServerGroupInstanceTypeR5aXlarge = "r5a.xlarge"
 31891  
 31892  	// GameServerGroupInstanceTypeR5a2xlarge is a GameServerGroupInstanceType enum value
 31893  	GameServerGroupInstanceTypeR5a2xlarge = "r5a.2xlarge"
 31894  
 31895  	// GameServerGroupInstanceTypeR5a4xlarge is a GameServerGroupInstanceType enum value
 31896  	GameServerGroupInstanceTypeR5a4xlarge = "r5a.4xlarge"
 31897  
 31898  	// GameServerGroupInstanceTypeR5a8xlarge is a GameServerGroupInstanceType enum value
 31899  	GameServerGroupInstanceTypeR5a8xlarge = "r5a.8xlarge"
 31900  
 31901  	// GameServerGroupInstanceTypeR5a12xlarge is a GameServerGroupInstanceType enum value
 31902  	GameServerGroupInstanceTypeR5a12xlarge = "r5a.12xlarge"
 31903  
 31904  	// GameServerGroupInstanceTypeR5a16xlarge is a GameServerGroupInstanceType enum value
 31905  	GameServerGroupInstanceTypeR5a16xlarge = "r5a.16xlarge"
 31906  
 31907  	// GameServerGroupInstanceTypeR5a24xlarge is a GameServerGroupInstanceType enum value
 31908  	GameServerGroupInstanceTypeR5a24xlarge = "r5a.24xlarge"
 31909  
 31910  	// GameServerGroupInstanceTypeM4Large is a GameServerGroupInstanceType enum value
 31911  	GameServerGroupInstanceTypeM4Large = "m4.large"
 31912  
 31913  	// GameServerGroupInstanceTypeM4Xlarge is a GameServerGroupInstanceType enum value
 31914  	GameServerGroupInstanceTypeM4Xlarge = "m4.xlarge"
 31915  
 31916  	// GameServerGroupInstanceTypeM42xlarge is a GameServerGroupInstanceType enum value
 31917  	GameServerGroupInstanceTypeM42xlarge = "m4.2xlarge"
 31918  
 31919  	// GameServerGroupInstanceTypeM44xlarge is a GameServerGroupInstanceType enum value
 31920  	GameServerGroupInstanceTypeM44xlarge = "m4.4xlarge"
 31921  
 31922  	// GameServerGroupInstanceTypeM410xlarge is a GameServerGroupInstanceType enum value
 31923  	GameServerGroupInstanceTypeM410xlarge = "m4.10xlarge"
 31924  
 31925  	// GameServerGroupInstanceTypeM5Large is a GameServerGroupInstanceType enum value
 31926  	GameServerGroupInstanceTypeM5Large = "m5.large"
 31927  
 31928  	// GameServerGroupInstanceTypeM5Xlarge is a GameServerGroupInstanceType enum value
 31929  	GameServerGroupInstanceTypeM5Xlarge = "m5.xlarge"
 31930  
 31931  	// GameServerGroupInstanceTypeM52xlarge is a GameServerGroupInstanceType enum value
 31932  	GameServerGroupInstanceTypeM52xlarge = "m5.2xlarge"
 31933  
 31934  	// GameServerGroupInstanceTypeM54xlarge is a GameServerGroupInstanceType enum value
 31935  	GameServerGroupInstanceTypeM54xlarge = "m5.4xlarge"
 31936  
 31937  	// GameServerGroupInstanceTypeM58xlarge is a GameServerGroupInstanceType enum value
 31938  	GameServerGroupInstanceTypeM58xlarge = "m5.8xlarge"
 31939  
 31940  	// GameServerGroupInstanceTypeM512xlarge is a GameServerGroupInstanceType enum value
 31941  	GameServerGroupInstanceTypeM512xlarge = "m5.12xlarge"
 31942  
 31943  	// GameServerGroupInstanceTypeM516xlarge is a GameServerGroupInstanceType enum value
 31944  	GameServerGroupInstanceTypeM516xlarge = "m5.16xlarge"
 31945  
 31946  	// GameServerGroupInstanceTypeM524xlarge is a GameServerGroupInstanceType enum value
 31947  	GameServerGroupInstanceTypeM524xlarge = "m5.24xlarge"
 31948  
 31949  	// GameServerGroupInstanceTypeM5aLarge is a GameServerGroupInstanceType enum value
 31950  	GameServerGroupInstanceTypeM5aLarge = "m5a.large"
 31951  
 31952  	// GameServerGroupInstanceTypeM5aXlarge is a GameServerGroupInstanceType enum value
 31953  	GameServerGroupInstanceTypeM5aXlarge = "m5a.xlarge"
 31954  
 31955  	// GameServerGroupInstanceTypeM5a2xlarge is a GameServerGroupInstanceType enum value
 31956  	GameServerGroupInstanceTypeM5a2xlarge = "m5a.2xlarge"
 31957  
 31958  	// GameServerGroupInstanceTypeM5a4xlarge is a GameServerGroupInstanceType enum value
 31959  	GameServerGroupInstanceTypeM5a4xlarge = "m5a.4xlarge"
 31960  
 31961  	// GameServerGroupInstanceTypeM5a8xlarge is a GameServerGroupInstanceType enum value
 31962  	GameServerGroupInstanceTypeM5a8xlarge = "m5a.8xlarge"
 31963  
 31964  	// GameServerGroupInstanceTypeM5a12xlarge is a GameServerGroupInstanceType enum value
 31965  	GameServerGroupInstanceTypeM5a12xlarge = "m5a.12xlarge"
 31966  
 31967  	// GameServerGroupInstanceTypeM5a16xlarge is a GameServerGroupInstanceType enum value
 31968  	GameServerGroupInstanceTypeM5a16xlarge = "m5a.16xlarge"
 31969  
 31970  	// GameServerGroupInstanceTypeM5a24xlarge is a GameServerGroupInstanceType enum value
 31971  	GameServerGroupInstanceTypeM5a24xlarge = "m5a.24xlarge"
 31972  )
 31973  
 31974  // GameServerGroupInstanceType_Values returns all elements of the GameServerGroupInstanceType enum
 31975  func GameServerGroupInstanceType_Values() []string {
 31976  	return []string{
 31977  		GameServerGroupInstanceTypeC4Large,
 31978  		GameServerGroupInstanceTypeC4Xlarge,
 31979  		GameServerGroupInstanceTypeC42xlarge,
 31980  		GameServerGroupInstanceTypeC44xlarge,
 31981  		GameServerGroupInstanceTypeC48xlarge,
 31982  		GameServerGroupInstanceTypeC5Large,
 31983  		GameServerGroupInstanceTypeC5Xlarge,
 31984  		GameServerGroupInstanceTypeC52xlarge,
 31985  		GameServerGroupInstanceTypeC54xlarge,
 31986  		GameServerGroupInstanceTypeC59xlarge,
 31987  		GameServerGroupInstanceTypeC512xlarge,
 31988  		GameServerGroupInstanceTypeC518xlarge,
 31989  		GameServerGroupInstanceTypeC524xlarge,
 31990  		GameServerGroupInstanceTypeC5aLarge,
 31991  		GameServerGroupInstanceTypeC5aXlarge,
 31992  		GameServerGroupInstanceTypeC5a2xlarge,
 31993  		GameServerGroupInstanceTypeC5a4xlarge,
 31994  		GameServerGroupInstanceTypeC5a8xlarge,
 31995  		GameServerGroupInstanceTypeC5a12xlarge,
 31996  		GameServerGroupInstanceTypeC5a16xlarge,
 31997  		GameServerGroupInstanceTypeC5a24xlarge,
 31998  		GameServerGroupInstanceTypeR4Large,
 31999  		GameServerGroupInstanceTypeR4Xlarge,
 32000  		GameServerGroupInstanceTypeR42xlarge,
 32001  		GameServerGroupInstanceTypeR44xlarge,
 32002  		GameServerGroupInstanceTypeR48xlarge,
 32003  		GameServerGroupInstanceTypeR416xlarge,
 32004  		GameServerGroupInstanceTypeR5Large,
 32005  		GameServerGroupInstanceTypeR5Xlarge,
 32006  		GameServerGroupInstanceTypeR52xlarge,
 32007  		GameServerGroupInstanceTypeR54xlarge,
 32008  		GameServerGroupInstanceTypeR58xlarge,
 32009  		GameServerGroupInstanceTypeR512xlarge,
 32010  		GameServerGroupInstanceTypeR516xlarge,
 32011  		GameServerGroupInstanceTypeR524xlarge,
 32012  		GameServerGroupInstanceTypeR5aLarge,
 32013  		GameServerGroupInstanceTypeR5aXlarge,
 32014  		GameServerGroupInstanceTypeR5a2xlarge,
 32015  		GameServerGroupInstanceTypeR5a4xlarge,
 32016  		GameServerGroupInstanceTypeR5a8xlarge,
 32017  		GameServerGroupInstanceTypeR5a12xlarge,
 32018  		GameServerGroupInstanceTypeR5a16xlarge,
 32019  		GameServerGroupInstanceTypeR5a24xlarge,
 32020  		GameServerGroupInstanceTypeM4Large,
 32021  		GameServerGroupInstanceTypeM4Xlarge,
 32022  		GameServerGroupInstanceTypeM42xlarge,
 32023  		GameServerGroupInstanceTypeM44xlarge,
 32024  		GameServerGroupInstanceTypeM410xlarge,
 32025  		GameServerGroupInstanceTypeM5Large,
 32026  		GameServerGroupInstanceTypeM5Xlarge,
 32027  		GameServerGroupInstanceTypeM52xlarge,
 32028  		GameServerGroupInstanceTypeM54xlarge,
 32029  		GameServerGroupInstanceTypeM58xlarge,
 32030  		GameServerGroupInstanceTypeM512xlarge,
 32031  		GameServerGroupInstanceTypeM516xlarge,
 32032  		GameServerGroupInstanceTypeM524xlarge,
 32033  		GameServerGroupInstanceTypeM5aLarge,
 32034  		GameServerGroupInstanceTypeM5aXlarge,
 32035  		GameServerGroupInstanceTypeM5a2xlarge,
 32036  		GameServerGroupInstanceTypeM5a4xlarge,
 32037  		GameServerGroupInstanceTypeM5a8xlarge,
 32038  		GameServerGroupInstanceTypeM5a12xlarge,
 32039  		GameServerGroupInstanceTypeM5a16xlarge,
 32040  		GameServerGroupInstanceTypeM5a24xlarge,
 32041  	}
 32042  }
 32043  
 32044  const (
 32045  	// GameServerGroupStatusNew is a GameServerGroupStatus enum value
 32046  	GameServerGroupStatusNew = "NEW"
 32047  
 32048  	// GameServerGroupStatusActivating is a GameServerGroupStatus enum value
 32049  	GameServerGroupStatusActivating = "ACTIVATING"
 32050  
 32051  	// GameServerGroupStatusActive is a GameServerGroupStatus enum value
 32052  	GameServerGroupStatusActive = "ACTIVE"
 32053  
 32054  	// GameServerGroupStatusDeleteScheduled is a GameServerGroupStatus enum value
 32055  	GameServerGroupStatusDeleteScheduled = "DELETE_SCHEDULED"
 32056  
 32057  	// GameServerGroupStatusDeleting is a GameServerGroupStatus enum value
 32058  	GameServerGroupStatusDeleting = "DELETING"
 32059  
 32060  	// GameServerGroupStatusDeleted is a GameServerGroupStatus enum value
 32061  	GameServerGroupStatusDeleted = "DELETED"
 32062  
 32063  	// GameServerGroupStatusError is a GameServerGroupStatus enum value
 32064  	GameServerGroupStatusError = "ERROR"
 32065  )
 32066  
 32067  // GameServerGroupStatus_Values returns all elements of the GameServerGroupStatus enum
 32068  func GameServerGroupStatus_Values() []string {
 32069  	return []string{
 32070  		GameServerGroupStatusNew,
 32071  		GameServerGroupStatusActivating,
 32072  		GameServerGroupStatusActive,
 32073  		GameServerGroupStatusDeleteScheduled,
 32074  		GameServerGroupStatusDeleting,
 32075  		GameServerGroupStatusDeleted,
 32076  		GameServerGroupStatusError,
 32077  	}
 32078  }
 32079  
 32080  const (
 32081  	// GameServerHealthCheckHealthy is a GameServerHealthCheck enum value
 32082  	GameServerHealthCheckHealthy = "HEALTHY"
 32083  )
 32084  
 32085  // GameServerHealthCheck_Values returns all elements of the GameServerHealthCheck enum
 32086  func GameServerHealthCheck_Values() []string {
 32087  	return []string{
 32088  		GameServerHealthCheckHealthy,
 32089  	}
 32090  }
 32091  
 32092  const (
 32093  	// GameServerInstanceStatusActive is a GameServerInstanceStatus enum value
 32094  	GameServerInstanceStatusActive = "ACTIVE"
 32095  
 32096  	// GameServerInstanceStatusDraining is a GameServerInstanceStatus enum value
 32097  	GameServerInstanceStatusDraining = "DRAINING"
 32098  
 32099  	// GameServerInstanceStatusSpotTerminating is a GameServerInstanceStatus enum value
 32100  	GameServerInstanceStatusSpotTerminating = "SPOT_TERMINATING"
 32101  )
 32102  
 32103  // GameServerInstanceStatus_Values returns all elements of the GameServerInstanceStatus enum
 32104  func GameServerInstanceStatus_Values() []string {
 32105  	return []string{
 32106  		GameServerInstanceStatusActive,
 32107  		GameServerInstanceStatusDraining,
 32108  		GameServerInstanceStatusSpotTerminating,
 32109  	}
 32110  }
 32111  
 32112  const (
 32113  	// GameServerProtectionPolicyNoProtection is a GameServerProtectionPolicy enum value
 32114  	GameServerProtectionPolicyNoProtection = "NO_PROTECTION"
 32115  
 32116  	// GameServerProtectionPolicyFullProtection is a GameServerProtectionPolicy enum value
 32117  	GameServerProtectionPolicyFullProtection = "FULL_PROTECTION"
 32118  )
 32119  
 32120  // GameServerProtectionPolicy_Values returns all elements of the GameServerProtectionPolicy enum
 32121  func GameServerProtectionPolicy_Values() []string {
 32122  	return []string{
 32123  		GameServerProtectionPolicyNoProtection,
 32124  		GameServerProtectionPolicyFullProtection,
 32125  	}
 32126  }
 32127  
 32128  const (
 32129  	// GameServerUtilizationStatusAvailable is a GameServerUtilizationStatus enum value
 32130  	GameServerUtilizationStatusAvailable = "AVAILABLE"
 32131  
 32132  	// GameServerUtilizationStatusUtilized is a GameServerUtilizationStatus enum value
 32133  	GameServerUtilizationStatusUtilized = "UTILIZED"
 32134  )
 32135  
 32136  // GameServerUtilizationStatus_Values returns all elements of the GameServerUtilizationStatus enum
 32137  func GameServerUtilizationStatus_Values() []string {
 32138  	return []string{
 32139  		GameServerUtilizationStatusAvailable,
 32140  		GameServerUtilizationStatusUtilized,
 32141  	}
 32142  }
 32143  
 32144  const (
 32145  	// GameSessionPlacementStatePending is a GameSessionPlacementState enum value
 32146  	GameSessionPlacementStatePending = "PENDING"
 32147  
 32148  	// GameSessionPlacementStateFulfilled is a GameSessionPlacementState enum value
 32149  	GameSessionPlacementStateFulfilled = "FULFILLED"
 32150  
 32151  	// GameSessionPlacementStateCancelled is a GameSessionPlacementState enum value
 32152  	GameSessionPlacementStateCancelled = "CANCELLED"
 32153  
 32154  	// GameSessionPlacementStateTimedOut is a GameSessionPlacementState enum value
 32155  	GameSessionPlacementStateTimedOut = "TIMED_OUT"
 32156  
 32157  	// GameSessionPlacementStateFailed is a GameSessionPlacementState enum value
 32158  	GameSessionPlacementStateFailed = "FAILED"
 32159  )
 32160  
 32161  // GameSessionPlacementState_Values returns all elements of the GameSessionPlacementState enum
 32162  func GameSessionPlacementState_Values() []string {
 32163  	return []string{
 32164  		GameSessionPlacementStatePending,
 32165  		GameSessionPlacementStateFulfilled,
 32166  		GameSessionPlacementStateCancelled,
 32167  		GameSessionPlacementStateTimedOut,
 32168  		GameSessionPlacementStateFailed,
 32169  	}
 32170  }
 32171  
 32172  const (
 32173  	// GameSessionStatusActive is a GameSessionStatus enum value
 32174  	GameSessionStatusActive = "ACTIVE"
 32175  
 32176  	// GameSessionStatusActivating is a GameSessionStatus enum value
 32177  	GameSessionStatusActivating = "ACTIVATING"
 32178  
 32179  	// GameSessionStatusTerminated is a GameSessionStatus enum value
 32180  	GameSessionStatusTerminated = "TERMINATED"
 32181  
 32182  	// GameSessionStatusTerminating is a GameSessionStatus enum value
 32183  	GameSessionStatusTerminating = "TERMINATING"
 32184  
 32185  	// GameSessionStatusError is a GameSessionStatus enum value
 32186  	GameSessionStatusError = "ERROR"
 32187  )
 32188  
 32189  // GameSessionStatus_Values returns all elements of the GameSessionStatus enum
 32190  func GameSessionStatus_Values() []string {
 32191  	return []string{
 32192  		GameSessionStatusActive,
 32193  		GameSessionStatusActivating,
 32194  		GameSessionStatusTerminated,
 32195  		GameSessionStatusTerminating,
 32196  		GameSessionStatusError,
 32197  	}
 32198  }
 32199  
 32200  const (
 32201  	// GameSessionStatusReasonInterrupted is a GameSessionStatusReason enum value
 32202  	GameSessionStatusReasonInterrupted = "INTERRUPTED"
 32203  )
 32204  
 32205  // GameSessionStatusReason_Values returns all elements of the GameSessionStatusReason enum
 32206  func GameSessionStatusReason_Values() []string {
 32207  	return []string{
 32208  		GameSessionStatusReasonInterrupted,
 32209  	}
 32210  }
 32211  
 32212  const (
 32213  	// InstanceStatusPending is a InstanceStatus enum value
 32214  	InstanceStatusPending = "PENDING"
 32215  
 32216  	// InstanceStatusActive is a InstanceStatus enum value
 32217  	InstanceStatusActive = "ACTIVE"
 32218  
 32219  	// InstanceStatusTerminating is a InstanceStatus enum value
 32220  	InstanceStatusTerminating = "TERMINATING"
 32221  )
 32222  
 32223  // InstanceStatus_Values returns all elements of the InstanceStatus enum
 32224  func InstanceStatus_Values() []string {
 32225  	return []string{
 32226  		InstanceStatusPending,
 32227  		InstanceStatusActive,
 32228  		InstanceStatusTerminating,
 32229  	}
 32230  }
 32231  
 32232  const (
 32233  	// IpProtocolTcp is a IpProtocol enum value
 32234  	IpProtocolTcp = "TCP"
 32235  
 32236  	// IpProtocolUdp is a IpProtocol enum value
 32237  	IpProtocolUdp = "UDP"
 32238  )
 32239  
 32240  // IpProtocol_Values returns all elements of the IpProtocol enum
 32241  func IpProtocol_Values() []string {
 32242  	return []string{
 32243  		IpProtocolTcp,
 32244  		IpProtocolUdp,
 32245  	}
 32246  }
 32247  
 32248  const (
 32249  	// LocationUpdateStatusPendingUpdate is a LocationUpdateStatus enum value
 32250  	LocationUpdateStatusPendingUpdate = "PENDING_UPDATE"
 32251  )
 32252  
 32253  // LocationUpdateStatus_Values returns all elements of the LocationUpdateStatus enum
 32254  func LocationUpdateStatus_Values() []string {
 32255  	return []string{
 32256  		LocationUpdateStatusPendingUpdate,
 32257  	}
 32258  }
 32259  
 32260  const (
 32261  	// MatchmakingConfigurationStatusCancelled is a MatchmakingConfigurationStatus enum value
 32262  	MatchmakingConfigurationStatusCancelled = "CANCELLED"
 32263  
 32264  	// MatchmakingConfigurationStatusCompleted is a MatchmakingConfigurationStatus enum value
 32265  	MatchmakingConfigurationStatusCompleted = "COMPLETED"
 32266  
 32267  	// MatchmakingConfigurationStatusFailed is a MatchmakingConfigurationStatus enum value
 32268  	MatchmakingConfigurationStatusFailed = "FAILED"
 32269  
 32270  	// MatchmakingConfigurationStatusPlacing is a MatchmakingConfigurationStatus enum value
 32271  	MatchmakingConfigurationStatusPlacing = "PLACING"
 32272  
 32273  	// MatchmakingConfigurationStatusQueued is a MatchmakingConfigurationStatus enum value
 32274  	MatchmakingConfigurationStatusQueued = "QUEUED"
 32275  
 32276  	// MatchmakingConfigurationStatusRequiresAcceptance is a MatchmakingConfigurationStatus enum value
 32277  	MatchmakingConfigurationStatusRequiresAcceptance = "REQUIRES_ACCEPTANCE"
 32278  
 32279  	// MatchmakingConfigurationStatusSearching is a MatchmakingConfigurationStatus enum value
 32280  	MatchmakingConfigurationStatusSearching = "SEARCHING"
 32281  
 32282  	// MatchmakingConfigurationStatusTimedOut is a MatchmakingConfigurationStatus enum value
 32283  	MatchmakingConfigurationStatusTimedOut = "TIMED_OUT"
 32284  )
 32285  
 32286  // MatchmakingConfigurationStatus_Values returns all elements of the MatchmakingConfigurationStatus enum
 32287  func MatchmakingConfigurationStatus_Values() []string {
 32288  	return []string{
 32289  		MatchmakingConfigurationStatusCancelled,
 32290  		MatchmakingConfigurationStatusCompleted,
 32291  		MatchmakingConfigurationStatusFailed,
 32292  		MatchmakingConfigurationStatusPlacing,
 32293  		MatchmakingConfigurationStatusQueued,
 32294  		MatchmakingConfigurationStatusRequiresAcceptance,
 32295  		MatchmakingConfigurationStatusSearching,
 32296  		MatchmakingConfigurationStatusTimedOut,
 32297  	}
 32298  }
 32299  
 32300  const (
 32301  	// MetricNameActivatingGameSessions is a MetricName enum value
 32302  	MetricNameActivatingGameSessions = "ActivatingGameSessions"
 32303  
 32304  	// MetricNameActiveGameSessions is a MetricName enum value
 32305  	MetricNameActiveGameSessions = "ActiveGameSessions"
 32306  
 32307  	// MetricNameActiveInstances is a MetricName enum value
 32308  	MetricNameActiveInstances = "ActiveInstances"
 32309  
 32310  	// MetricNameAvailableGameSessions is a MetricName enum value
 32311  	MetricNameAvailableGameSessions = "AvailableGameSessions"
 32312  
 32313  	// MetricNameAvailablePlayerSessions is a MetricName enum value
 32314  	MetricNameAvailablePlayerSessions = "AvailablePlayerSessions"
 32315  
 32316  	// MetricNameCurrentPlayerSessions is a MetricName enum value
 32317  	MetricNameCurrentPlayerSessions = "CurrentPlayerSessions"
 32318  
 32319  	// MetricNameIdleInstances is a MetricName enum value
 32320  	MetricNameIdleInstances = "IdleInstances"
 32321  
 32322  	// MetricNamePercentAvailableGameSessions is a MetricName enum value
 32323  	MetricNamePercentAvailableGameSessions = "PercentAvailableGameSessions"
 32324  
 32325  	// MetricNamePercentIdleInstances is a MetricName enum value
 32326  	MetricNamePercentIdleInstances = "PercentIdleInstances"
 32327  
 32328  	// MetricNameQueueDepth is a MetricName enum value
 32329  	MetricNameQueueDepth = "QueueDepth"
 32330  
 32331  	// MetricNameWaitTime is a MetricName enum value
 32332  	MetricNameWaitTime = "WaitTime"
 32333  )
 32334  
 32335  // MetricName_Values returns all elements of the MetricName enum
 32336  func MetricName_Values() []string {
 32337  	return []string{
 32338  		MetricNameActivatingGameSessions,
 32339  		MetricNameActiveGameSessions,
 32340  		MetricNameActiveInstances,
 32341  		MetricNameAvailableGameSessions,
 32342  		MetricNameAvailablePlayerSessions,
 32343  		MetricNameCurrentPlayerSessions,
 32344  		MetricNameIdleInstances,
 32345  		MetricNamePercentAvailableGameSessions,
 32346  		MetricNamePercentIdleInstances,
 32347  		MetricNameQueueDepth,
 32348  		MetricNameWaitTime,
 32349  	}
 32350  }
 32351  
 32352  const (
 32353  	// OperatingSystemWindows2012 is a OperatingSystem enum value
 32354  	OperatingSystemWindows2012 = "WINDOWS_2012"
 32355  
 32356  	// OperatingSystemAmazonLinux is a OperatingSystem enum value
 32357  	OperatingSystemAmazonLinux = "AMAZON_LINUX"
 32358  
 32359  	// OperatingSystemAmazonLinux2 is a OperatingSystem enum value
 32360  	OperatingSystemAmazonLinux2 = "AMAZON_LINUX_2"
 32361  )
 32362  
 32363  // OperatingSystem_Values returns all elements of the OperatingSystem enum
 32364  func OperatingSystem_Values() []string {
 32365  	return []string{
 32366  		OperatingSystemWindows2012,
 32367  		OperatingSystemAmazonLinux,
 32368  		OperatingSystemAmazonLinux2,
 32369  	}
 32370  }
 32371  
 32372  const (
 32373  	// PlayerSessionCreationPolicyAcceptAll is a PlayerSessionCreationPolicy enum value
 32374  	PlayerSessionCreationPolicyAcceptAll = "ACCEPT_ALL"
 32375  
 32376  	// PlayerSessionCreationPolicyDenyAll is a PlayerSessionCreationPolicy enum value
 32377  	PlayerSessionCreationPolicyDenyAll = "DENY_ALL"
 32378  )
 32379  
 32380  // PlayerSessionCreationPolicy_Values returns all elements of the PlayerSessionCreationPolicy enum
 32381  func PlayerSessionCreationPolicy_Values() []string {
 32382  	return []string{
 32383  		PlayerSessionCreationPolicyAcceptAll,
 32384  		PlayerSessionCreationPolicyDenyAll,
 32385  	}
 32386  }
 32387  
 32388  const (
 32389  	// PlayerSessionStatusReserved is a PlayerSessionStatus enum value
 32390  	PlayerSessionStatusReserved = "RESERVED"
 32391  
 32392  	// PlayerSessionStatusActive is a PlayerSessionStatus enum value
 32393  	PlayerSessionStatusActive = "ACTIVE"
 32394  
 32395  	// PlayerSessionStatusCompleted is a PlayerSessionStatus enum value
 32396  	PlayerSessionStatusCompleted = "COMPLETED"
 32397  
 32398  	// PlayerSessionStatusTimedout is a PlayerSessionStatus enum value
 32399  	PlayerSessionStatusTimedout = "TIMEDOUT"
 32400  )
 32401  
 32402  // PlayerSessionStatus_Values returns all elements of the PlayerSessionStatus enum
 32403  func PlayerSessionStatus_Values() []string {
 32404  	return []string{
 32405  		PlayerSessionStatusReserved,
 32406  		PlayerSessionStatusActive,
 32407  		PlayerSessionStatusCompleted,
 32408  		PlayerSessionStatusTimedout,
 32409  	}
 32410  }
 32411  
 32412  const (
 32413  	// PolicyTypeRuleBased is a PolicyType enum value
 32414  	PolicyTypeRuleBased = "RuleBased"
 32415  
 32416  	// PolicyTypeTargetBased is a PolicyType enum value
 32417  	PolicyTypeTargetBased = "TargetBased"
 32418  )
 32419  
 32420  // PolicyType_Values returns all elements of the PolicyType enum
 32421  func PolicyType_Values() []string {
 32422  	return []string{
 32423  		PolicyTypeRuleBased,
 32424  		PolicyTypeTargetBased,
 32425  	}
 32426  }
 32427  
 32428  const (
 32429  	// PriorityTypeLatency is a PriorityType enum value
 32430  	PriorityTypeLatency = "LATENCY"
 32431  
 32432  	// PriorityTypeCost is a PriorityType enum value
 32433  	PriorityTypeCost = "COST"
 32434  
 32435  	// PriorityTypeDestination is a PriorityType enum value
 32436  	PriorityTypeDestination = "DESTINATION"
 32437  
 32438  	// PriorityTypeLocation is a PriorityType enum value
 32439  	PriorityTypeLocation = "LOCATION"
 32440  )
 32441  
 32442  // PriorityType_Values returns all elements of the PriorityType enum
 32443  func PriorityType_Values() []string {
 32444  	return []string{
 32445  		PriorityTypeLatency,
 32446  		PriorityTypeCost,
 32447  		PriorityTypeDestination,
 32448  		PriorityTypeLocation,
 32449  	}
 32450  }
 32451  
 32452  const (
 32453  	// ProtectionPolicyNoProtection is a ProtectionPolicy enum value
 32454  	ProtectionPolicyNoProtection = "NoProtection"
 32455  
 32456  	// ProtectionPolicyFullProtection is a ProtectionPolicy enum value
 32457  	ProtectionPolicyFullProtection = "FullProtection"
 32458  )
 32459  
 32460  // ProtectionPolicy_Values returns all elements of the ProtectionPolicy enum
 32461  func ProtectionPolicy_Values() []string {
 32462  	return []string{
 32463  		ProtectionPolicyNoProtection,
 32464  		ProtectionPolicyFullProtection,
 32465  	}
 32466  }
 32467  
 32468  const (
 32469  	// RoutingStrategyTypeSimple is a RoutingStrategyType enum value
 32470  	RoutingStrategyTypeSimple = "SIMPLE"
 32471  
 32472  	// RoutingStrategyTypeTerminal is a RoutingStrategyType enum value
 32473  	RoutingStrategyTypeTerminal = "TERMINAL"
 32474  )
 32475  
 32476  // RoutingStrategyType_Values returns all elements of the RoutingStrategyType enum
 32477  func RoutingStrategyType_Values() []string {
 32478  	return []string{
 32479  		RoutingStrategyTypeSimple,
 32480  		RoutingStrategyTypeTerminal,
 32481  	}
 32482  }
 32483  
 32484  const (
 32485  	// ScalingAdjustmentTypeChangeInCapacity is a ScalingAdjustmentType enum value
 32486  	ScalingAdjustmentTypeChangeInCapacity = "ChangeInCapacity"
 32487  
 32488  	// ScalingAdjustmentTypeExactCapacity is a ScalingAdjustmentType enum value
 32489  	ScalingAdjustmentTypeExactCapacity = "ExactCapacity"
 32490  
 32491  	// ScalingAdjustmentTypePercentChangeInCapacity is a ScalingAdjustmentType enum value
 32492  	ScalingAdjustmentTypePercentChangeInCapacity = "PercentChangeInCapacity"
 32493  )
 32494  
 32495  // ScalingAdjustmentType_Values returns all elements of the ScalingAdjustmentType enum
 32496  func ScalingAdjustmentType_Values() []string {
 32497  	return []string{
 32498  		ScalingAdjustmentTypeChangeInCapacity,
 32499  		ScalingAdjustmentTypeExactCapacity,
 32500  		ScalingAdjustmentTypePercentChangeInCapacity,
 32501  	}
 32502  }
 32503  
 32504  const (
 32505  	// ScalingStatusTypeActive is a ScalingStatusType enum value
 32506  	ScalingStatusTypeActive = "ACTIVE"
 32507  
 32508  	// ScalingStatusTypeUpdateRequested is a ScalingStatusType enum value
 32509  	ScalingStatusTypeUpdateRequested = "UPDATE_REQUESTED"
 32510  
 32511  	// ScalingStatusTypeUpdating is a ScalingStatusType enum value
 32512  	ScalingStatusTypeUpdating = "UPDATING"
 32513  
 32514  	// ScalingStatusTypeDeleteRequested is a ScalingStatusType enum value
 32515  	ScalingStatusTypeDeleteRequested = "DELETE_REQUESTED"
 32516  
 32517  	// ScalingStatusTypeDeleting is a ScalingStatusType enum value
 32518  	ScalingStatusTypeDeleting = "DELETING"
 32519  
 32520  	// ScalingStatusTypeDeleted is a ScalingStatusType enum value
 32521  	ScalingStatusTypeDeleted = "DELETED"
 32522  
 32523  	// ScalingStatusTypeError is a ScalingStatusType enum value
 32524  	ScalingStatusTypeError = "ERROR"
 32525  )
 32526  
 32527  // ScalingStatusType_Values returns all elements of the ScalingStatusType enum
 32528  func ScalingStatusType_Values() []string {
 32529  	return []string{
 32530  		ScalingStatusTypeActive,
 32531  		ScalingStatusTypeUpdateRequested,
 32532  		ScalingStatusTypeUpdating,
 32533  		ScalingStatusTypeDeleteRequested,
 32534  		ScalingStatusTypeDeleting,
 32535  		ScalingStatusTypeDeleted,
 32536  		ScalingStatusTypeError,
 32537  	}
 32538  }
 32539  
 32540  const (
 32541  	// SortOrderAscending is a SortOrder enum value
 32542  	SortOrderAscending = "ASCENDING"
 32543  
 32544  	// SortOrderDescending is a SortOrder enum value
 32545  	SortOrderDescending = "DESCENDING"
 32546  )
 32547  
 32548  // SortOrder_Values returns all elements of the SortOrder enum
 32549  func SortOrder_Values() []string {
 32550  	return []string{
 32551  		SortOrderAscending,
 32552  		SortOrderDescending,
 32553  	}
 32554  }