code: func (c *Redshift) DescribeClusterSubnetGroups(input *DescribeClusterSubnetGroupsInput) (*DescribeClusterSubnetGroupsOutput, error) {
  	req, out := c.DescribeClusterSubnetGroupsRequest(input)
  	return out, req.Send()
  }
docs: // DescribeClusterSubnetGroups API operation for Amazon Redshift.
  //
  // Returns one or more cluster subnet group objects, which contain metadata
  // about your cluster subnet groups. By default, this operation returns information
  // about all cluster subnet groups that are defined in you AWS account.
  //
  // If you specify both tag keys and tag values in the same request, Amazon Redshift
  // returns all subnet groups that match any combination of the specified keys
  // and values. For example, if you have owner and environment for tag keys,
  // and admin and test for tag values, all subnet groups that have any combination
  // of those values are returned.
  //
  // If both tag keys and values are omitted from the request, subnet groups are
  // returned regardless of whether they have tag keys or values associated with
  // them.
  //
  // 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 DescribeClusterSubnetGroups for usage and error information.
  //
  // Returned Error Codes:
  //   * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault"
  //   The cluster subnet group name does not refer to an existing cluster subnet
  //   group.
  //
  //   * ErrCodeInvalidTagFault "InvalidTagFault"
  //   The tag is invalid.
  //
  // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSubnetGroups