code: @Override
      public CacheCluster rebootCacheCluster(RebootCacheClusterRequest request) {
          request = beforeClientExecution(request);
          return executeRebootCacheCluster(request);
      }
docs: <p>
  Reboots some, or all, of the cache nodes within a provisioned cluster. This operation applies any modified cache
  parameter groups to the cluster. The reboot operation takes place as soon as possible, and results in a momentary
  outage to the cluster. During the reboot, the cluster status is set to REBOOTING.
  </p>
  <p>
  The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.
  </p>
  <p>
  When the reboot is complete, a cluster event is created.
  </p>
  <p>
  Rebooting a cluster is currently supported on Memcached and Redis (cluster mode disabled) clusters. Rebooting is
  not supported on Redis (cluster mode enabled) clusters.
  </p>
  <p>
  If you make changes to parameters that require a Redis (cluster mode enabled) cluster reboot for the changes to
  be applied, see <a
  href="http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html">Rebooting a Cluster</a>
  for an alternate process.
  </p>
  
  @param rebootCacheClusterRequest
  Represents the input of a <code>RebootCacheCluster</code> operation.
  @return Result of the RebootCacheCluster operation returned by the service.
  @throws InvalidCacheClusterStateException
  The requested cluster is not in the <code>available</code> state.
  @throws CacheClusterNotFoundException
  The requested cluster ID does not refer to an existing cluster.
  @sample AmazonElastiCache.RebootCacheCluster
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster" target="_top">AWS
  API Documentation</a>