updateSubscription method

Future<Subscription> updateSubscription({
  1. int retries = 5,
  2. required Subscription subscription,
  3. required Iterable<SubscriptionField> 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 Iterable<SubscriptionField> updateMask,
}) async {
  assert(_initialized);
  assert(updateMask.isNotEmpty);

  _logger.fine('[updateSubscription]: start');
  try {
    return await _execute(
      executor: () async {
        final result = await _subscriberClient.updateSubscription(
          UpdateSubscriptionRequest(
            subscription: subscription,
            updateMask: pb.FieldMask(
              paths: SubscriptionField.toStrings(updateMask),
            ),
          ),
        );

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