code: func (c *StorageGateway) DetachVolume(input *DetachVolumeInput) (*DetachVolumeOutput, error) {
  	req, out := c.DetachVolumeRequest(input)
  	return out, req.Send()
  }
docs: // DetachVolume API operation for AWS Storage Gateway.
  //
  // Disconnects a volume from an iSCSI connection and then detaches the volume
  // from the specified gateway. Detaching and attaching a volume enables you
  // to recover your data from one gateway to a different gateway without creating
  // a snapshot. It also makes it easier to move your volumes from an on-premises
  // gateway to a gateway hosted on an Amazon EC2 instance.
  //
  // 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 AWS Storage Gateway's
  // API operation DetachVolume for usage and error information.
  //
  // Returned Error Codes:
  //   * ErrCodeInvalidGatewayRequestException "InvalidGatewayRequestException"
  //   An exception occurred because an invalid gateway request was issued to the
  //   service. For more information, see the error and message fields.
  //
  //   * ErrCodeInternalServerError "InternalServerError"
  //   An internal server error has occurred during the request. For more information,
  //   see the error and message fields.
  //
  // See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DetachVolume