@Override
    public UpdateGameServerResult updateGameServer(UpdateGameServerRequest request) {
        request = beforeClientExecution(request);
        return executeUpdateGameServer(request);
    }
<p>
<b>This operation is used with the Amazon GameLift FleetIQ solution and game server groups.</b>
</p>
<p>
Updates information about a registered game server to help Amazon GameLift FleetIQ track game server
availability. This operation is called by a game server process that is running on an instance in a game server
group.
</p>
<p>
Use this operation to update the following types of game server information. You can make all three types of
updates in the same request:
</p>
<ul>
<li>
<p>
To update the game server's utilization status from <code>AVAILABLE</code> (when the game server is available to
be claimed) to <code>UTILIZED</code> (when the game server is currently hosting games). Identify the game server
and game server group and specify the new utilization status. You can't change the status from to
<code>UTILIZED</code> to <code>AVAILABLE</code> .
</p>
</li>
<li>
<p>
To report health status, identify the game server and game server group and set health check to
<code>HEALTHY</code>. If a game server does not report health status for a certain length of time, the game
server is no longer considered healthy. As a result, it will be eventually deregistered from the game server
group to avoid affecting utilization metrics. The best practice is to report health every 60 seconds.
</p>
</li>
<li>
<p>
To change game server metadata, provide updated game server data.
</p>
</li>
</ul>
<p>
Once a game server is successfully updated, the relevant statuses and timestamps are updated.
</p>
<p>
<b>Learn more</b>
</p>
<p>
<a href="https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html">Amazon GameLift FleetIQ
Guide</a>
</p>

@param updateGameServerRequest
@return Result of the UpdateGameServer operation returned by the service.
@throws InvalidRequestException
        One or more parameter values in the request are invalid. Correct the invalid parameter values before
        retrying.
@throws NotFoundException
        THe requested resources was not found. The resource was either not created yet or deleted.
@throws UnauthorizedException
        The client failed authentication. Clients should not retry such requests.
@throws InternalServiceException
        The service encountered an unrecoverable internal failure while processing the request. Clients can retry
        such requests immediately or after a waiting period.
@sample AmazonGameLift.UpdateGameServer
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServer" target="_top">AWS API
     Documentation</a>
aws-java-sdk-gamelift/src/main/java/com/amazonaws/services/gamelift/AmazonGameLiftClient.java