code: func (c *Redshift) DeleteClusterSnapshot(input *DeleteClusterSnapshotInput) (*DeleteClusterSnapshotOutput, error) {
  	req, out := c.DeleteClusterSnapshotRequest(input)
  	return out, req.Send()
  }
docs: // DeleteClusterSnapshot API operation for Amazon Redshift.
  //
  // Deletes the specified manual snapshot. The snapshot must be in the available
  // state, with no other users authorized to access the snapshot.
  //
  // Unlike automated snapshots, manual snapshots are retained even after you
  // delete your cluster. Amazon Redshift does not delete your manual snapshots.
  // You must delete manual snapshot explicitly to avoid getting charged. If other
  // accounts are authorized to access the snapshot, you must revoke all of the
  // authorizations before you can delete the snapshot.
  //
  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  // with awserr.Error's Code and Message methods to get detailed information about
  // the error.
  //
  // See the AWS API reference guide for Amazon Redshift's
  // API operation DeleteClusterSnapshot for usage and error information.
  //
  // Returned Error Codes:
  //   * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState"
  //   The specified cluster snapshot is not in the available state, or other accounts
  //   are authorized to access the snapshot.
  //
  //   * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound"
  //   The snapshot identifier does not refer to an existing cluster snapshot.
  //
  // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSnapshot