code: def list_zones(self, max_results=None, page_token=None):
          
          path = "/projects/%s/managedZones" % (self.project,)
          return page_iterator.HTTPIterator(
              client=self,
              api_request=self._connection.api_request,
              path=path,
              item_to_value=_item_to_zone,
              items_key="managedZones",
              page_token=page_token,
              max_results=max_results,
          )
docs: List zones for the project associated with this client.
  
          See
          https://cloud.google.com/dns/api/v1/managedZones/list
  
          :type max_results: int
          :param max_results: maximum number of zones to return, If not
                              passed, defaults to a value set by the API.
  
          :type page_token: str
          :param page_token: Optional. If present, return the next batch of
              zones, using the value, which must correspond to the
              ``nextPageToken`` value returned in the previous response.
              Deprecated: use the ``pages`` property of the returned iterator
              instead of manually passing the token.
  
          :rtype: :class:`~google.api_core.page_iterator.Iterator`
          :returns: Iterator of :class:`~google.cloud.dns.zone.ManagedZone`
                    belonging to this project.