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)