code: @Override
      public Snapshot deleteSnapshot(DeleteSnapshotRequest request) {
          request = beforeClientExecution(request);
          return executeDeleteSnapshot(request);
      }
docs: <p>
  Deletes an existing snapshot. When you receive a successful response from this operation, ElastiCache immediately
  begins deleting the snapshot; you cannot cancel or revert this operation.
  </p>
  <note>
  <p>
  This operation is valid for Redis only.
  </p>
  </note>
  
  @param deleteSnapshotRequest
  Represents the input of a <code>DeleteSnapshot</code> operation.
  @return Result of the DeleteSnapshot operation returned by the service.
  @throws SnapshotNotFoundException
  The requested snapshot name does not refer to an existing snapshot.
  @throws InvalidSnapshotStateException
  The current state of the snapshot does not allow the requested operation to occur.
  @throws InvalidParameterValueException
  The value for a parameter is invalid.
  @throws InvalidParameterCombinationException
  Two or more incompatible parameters were specified.
  @sample AmazonElastiCache.DeleteSnapshot
  @see <a href="http://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot" target="_top">AWS API
  Documentation</a>