detach method
Detaches a subscription from this topic.
All messages retained in the subscription are dropped. Subsequent Pull
and StreamingPull requests will return FAILED_PRECONDITION. If the
subscription is a push subscription, pushes to the endpoint will stop.
Request parameters:
subscription - Required. The subscription to detach. Format is
projects/{project}/subscriptions/{subscription}.
Value must have pattern ^projects/\[^/\]+/subscriptions/\[^/\]+$.
$fields - Selector specifying which fields to include in a partial
response.
Completes with a DetachSubscriptionResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<DetachSubscriptionResponse> detach(
  core.String subscription, {
  core.String? $fields,
}) async {
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };
  final url_ = 'v1/' + core.Uri.encodeFull('$subscription') + ':detach';
  final response_ = await _requester.request(
    url_,
    'POST',
    queryParams: queryParams_,
  );
  return DetachSubscriptionResponse.fromJson(
    response_ as core.Map<core.String, core.dynamic>,
  );
}