docs: def listing(self, auth, types, options=None, resource=None, defer=False):
          """This provides backward compatibility with two
             previous variants of listing. To use the non-deprecated
             API, pass both options and resource."""
          if options is None:
              # This variant is deprecated
              return self._call('listing', auth, [types], defer)
          else:
              if resource is None:
                  # This variant is deprecated, too
                  return self._call('listing',
                                    auth,
                                    [types, options],
                                    defer)
              else:
                  # pass resource to use the non-deprecated variant
                  return self._call('listing',
                                    auth,
                                    [resource, types, options],
                                    defer)