@SdkInternalApi
    final DBInstance executeRebootDBInstance(RebootDBInstanceRequest rebootDBInstanceRequest) {

        ExecutionContext executionContext = createExecutionContext(rebootDBInstanceRequest);
        AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
        awsRequestMetrics.startEvent(Field.ClientExecuteTime);
        Request<RebootDBInstanceRequest> request = null;
        Response<DBInstance> response = null;

        try {
            awsRequestMetrics.startEvent(Field.RequestMarshallTime);
            try {
                request = new RebootDBInstanceRequestMarshaller().marshall(super.beforeMarshalling(rebootDBInstanceRequest));
                // Binds the request metrics to the current request.
                request.setAWSRequestMetrics(awsRequestMetrics);
                request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint);
                request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
                request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
                request.addHandlerContext(HandlerContextKey.SERVICE_ID, "RDS");
                request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RebootDBInstance");
                request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);

            } finally {
                awsRequestMetrics.endEvent(Field.RequestMarshallTime);
            }

            StaxResponseHandler<DBInstance> responseHandler = new StaxResponseHandler<DBInstance>(new DBInstanceStaxUnmarshaller());

            response = invoke(request, responseHandler, executionContext);

            return response.getAwsResponse();

        } finally {

            endClientExecution(awsRequestMetrics, request, response);
        }
    }
<p>
You might need to reboot your DB instance, usually for maintenance reasons. For example, if you make certain
modifications, or if you change the DB parameter group associated with the DB instance, you must reboot the
instance for the changes to take effect.
</p>
<p>
Rebooting a DB instance restarts the database engine service. Rebooting a DB instance results in a momentary
outage, during which the DB instance status is set to rebooting.
</p>
<p>
For more information about rebooting, see <a
href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html">Rebooting a DB
Instance</a> in the <i>Amazon RDS User Guide.</i>
</p>
<p>
This command doesn't apply to RDS Custom.
</p>
<p>
If your DB instance is part of a Multi-AZ DB cluster, you can reboot the DB cluster with the
<code>RebootDBCluster</code> operation.
</p>

@param rebootDBInstanceRequest
@return Result of the RebootDBInstance operation returned by the service.
@throws InvalidDBInstanceStateException
        The DB instance isn't in a valid state.
@throws DBInstanceNotFoundException
        <code>DBInstanceIdentifier</code> doesn't refer to an existing DB instance.
@sample AmazonRDS.RebootDBInstance
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance" target="_top">AWS API
     Documentation</a>
aws-java-sdk-rds/src/main/java/com/amazonaws/services/rds/AmazonRDSClient.java