@Override
    public DBInstance stopDBInstance(StopDBInstanceRequest request) {
        request = beforeClientExecution(request);
        return executeStopDBInstance(request);
    }
<p>
Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS retains the DB instance's metadata,
including its endpoint, DB parameter group, and option group membership. Amazon RDS also retains the transaction
logs so you can do a point-in-time restore if necessary.
</p>
<p>
For more information, see <a
href="https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html"> Stopping an Amazon RDS DB
Instance Temporarily</a> in the <i>Amazon RDS User Guide.</i>
</p>
<note>
<p>
This command doesn't apply to RDS Custom, Aurora MySQL, and Aurora PostgreSQL. For Aurora clusters, use
<code>StopDBCluster</code> instead.
</p>
</note>

@param stopDBInstanceRequest
@return Result of the StopDBInstance operation returned by the service.
@throws DBInstanceNotFoundException
        <code>DBInstanceIdentifier</code> doesn't refer to an existing DB instance.
@throws InvalidDBInstanceStateException
        The DB instance isn't in a valid state.
@throws DBSnapshotAlreadyExistsException
        <code>DBSnapshotIdentifier</code> is already used by an existing snapshot.
@throws SnapshotQuotaExceededException
        The request would result in the user exceeding the allowed number of DB snapshots.
@throws InvalidDBClusterStateException
        The requested operation can't be performed while the cluster is in this state.
@sample AmazonRDS.StopDBInstance
@see <a href="http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance" target="_top">AWS API
     Documentation</a>
aws-java-sdk-rds/src/main/java/com/amazonaws/services/rds/AmazonRDSClient.java