updateSubscription method

Future<Subscription> updateSubscription({
  1. int retries = 5,
  2. required Subscription subscription,
  3. required String updateMask,
})

Updates an existing subscription. Note that certain properties of a subscription, such as its topic, are not modifiable.

The subscription name can be just the simple name or it can be the fully quantified name in the format: projects/{project}/subscriptions/{subscription}.

Implementation

Future<Subscription> updateSubscription({
  int retries = 5,
  required Subscription subscription,
  required String updateMask,
}) async {
  assert(_initialized);
  assert(updateMask.isNotEmpty);

  _logger.fine('[updateSubscription]: start');
  try {
    return await _execute(
      executor: () async {
        final result = await _pubsubApi.projects.subscriptions.patch(
          UpdateSubscriptionRequest(
            subscription: subscription,
            updateMask: updateMask,
          ),
          subscription.name!,
        );

        return result;
      },
      retries: retries,
    );
  } finally {
    _logger.fine('[updateSubscription]: complete');
  }
}