code: @Override
      public Cluster rebootCluster(RebootClusterRequest request) {
          request = beforeClientExecution(request);
          return executeRebootCluster(request);
      }
docs: <p>
  Reboots a cluster. This action is taken as soon as possible. It results in a momentary outage to the cluster,
  during which the cluster status is set to <code>rebooting</code>. A cluster event is created when the reboot is
  completed. Any pending cluster modifications (see <a>ModifyCluster</a>) are applied at this reboot. For more
  information about managing clusters, go to <a
  href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html">Amazon Redshift Clusters</a>
  in the <i>Amazon Redshift Cluster Management Guide</i>.
  </p>
  
  @param rebootClusterRequest
  @return Result of the RebootCluster operation returned by the service.
  @throws InvalidClusterStateException
  The specified cluster is not in the <code>available</code> state.
  @throws ClusterNotFoundException
  The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster.
  @sample AmazonRedshift.RebootCluster
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RebootCluster" target="_top">AWS API
  Documentation</a>