docs: def ensure_sink(self):
          """Ensure the log sink and its pub sub topic exist."""
          topic_info = self.pubsub.ensure_topic()
          scope, sink_path, sink_info = self.get_sink(topic_info)
          client = self.session.client('logging', 'v2', '%s.sinks' % scope)
          try:
              sink = client.execute_command('get', {'sinkName': sink_path})
          except HttpError as e:
              if e.resp.status != 404:
                  raise
              sink = client.execute_command('create', sink_info)
          else:
              delta = delta_resource(sink, sink_info['body'])
              if delta:
                  sink_info['updateMask'] = ','.join(delta)
                  sink_info['sinkName'] = sink_path
                  sink_info.pop('parent')
                  sink = client.execute_command('update', sink_info)
              else:
                  return sink_path
  
          self.pubsub.ensure_iam(publisher=sink['writerIdentity'])
          return sink_path