def start_discovery()

in blueprints/cloud-operations/network-quota-monitoring/src/plugins/discover-compute-quota.py [0:0]


def start_discovery(resources, response=None):
  'Plugin entry point, triggers discovery and handles requests and responses.'
  LOGGER.info(f'discovery (has response: {response is not None})')
  if response is None:
    # TODO: regions
    urls = [API_GLOBAL_URL.format(p) for p in resources['projects']]
    if not urls:
      return
    for batch in batched(urls, 10):
      yield poor_man_mp_request(batch)
  else:
    for result in _handle_discovery(resources, response):
      yield result
  # store custom network-level quota
  per_network_quota = resources['config:custom_quota'].get('networks', {})
  for network_id, overrides in per_network_quota.items():
    quota = {k: int(v) for k, v in overrides.items()}
    yield Resource(NAME, network_id, quota)