code: def zone_list(
          self,
          user_key,
          limit=100,
          offset=0,
          zone_name=None,
          sub_id=None,
          zone_status='ALL',
          sub_status='ALL',
              ):
          
          if zone_status not in ['V', 'D', 'ALL']:
              raise ValueError('zone_status has to be V, D or ALL')
          if sub_status not in ['V', 'CNL', 'ALL']:
              raise ValueError('sub_status has to be V, CNL or ALL')
          params = {
              'act': 'zone_list',
              'user_key': user_key,
              'limit': limit,
              'offset': offset,
              'zone_status': zone_status,
              'sub_status': sub_status
          }
          if zone_name:
              params['zone_name'] = zone_name
          if sub_id:
              params['sub_id'] = sub_id
  
          return self._request(params)
docs: List zones for a user.
  
          :param    user_key:  key for authentication of user
          :type     user_key:  str
          :param    limit: limit of zones shown
          :type     limit: int
          :param    offset: offset of zones to be shown
          :type     offset: int
          :param    zone_name: name of zone to lookup
          :type     zone_name: str
          :param    sub_id: subscription id of reseller (only for use by resellers)
          :type     sub_id: str
          :param    zone_status: status of zones to be shown
          :type     zone_status: str (one of: V(active), D(deleted), ALL)
          :param    sub_status: status of subscription of zones to be shown
          :type     zone_name: str (one of: V(active), CNL(cancelled), ALL )
  
          :returns:
          :rtype:   dict