docs: def ensure_iam(self, publisher=None):
          """Ensure the given identities are in the iam role bindings for the topic.
          """
          topic = self.get_topic_param()
          client = self.session.client('pubsub', 'v1', 'projects.topics')
          policy = client.execute_command('getIamPolicy', {'resource': topic})
          policy.pop('etag')
          found = False
          for binding in policy.get('bindings', {}):
              if binding['role'] != 'roles/pubsub.publisher':
                  continue
              if publisher in binding['members']:
                  return
              found = binding
  
          if not found:
              policy.setdefault(
                  'bindings', {'members': [publisher], 'role': 'roles/pubsub.publisher'})
          else:
              found['members'].append(publisher)
  
          client.execute_command('setIamPolicy', {'resource': topic, 'body': {'policy': policy}})