code: def list(self, limit=None, marker=None, return_raw=False, other_keys=None):
          
          uri = "/%s" % self.uri_base
          pagination_items = []
          if limit is not None:
              pagination_items.append("limit=%s" % limit)
          if marker is not None:
              pagination_items.append("marker=%s" % marker)
          pagination = "&".join(pagination_items)
          if pagination:
              uri = "%s?%s" % (uri, pagination)
          return self._list(uri, return_raw=return_raw, other_keys=other_keys)
docs: Returns a list of resource objects. Pagination is supported through the
          optional 'marker' and 'limit' parameters.
  
          Some APIs do not follow the typical pattern in their responses, and the
          BaseManager subclasses will have to parse the raw response to get the
          desired information. For those cases, pass 'return_raw=True', and the
          response and response_body will be returned unprocessed.
  
          Another use case is when additional information is returned in the
          response body. To have that returned, use the 'other_keys' parameter.
          This can be either a single string or a list of strings that correspond
          to keys in the response body. If specified, a 2-tuple is returned, with
          the first element being the list of resources, and the second a dict
          whose keys are the 'other_keys' items, and whose values are the
          corresponding values in the response body, or None if no such key is
          present.