MCPcopy Create free account
hub / github.com/adobe/Marinus / main

Function main

python3_cron_scripts/fetch_azure_dns.py:207–287  ·  view source on GitHub ↗

Begin Main...

(logger=None)

Source from the content-addressed store, hash-verified

205
206
207def main(logger=None):
208 """
209 Begin Main...
210 """
211 if logger is None:
212 logger = LoggingUtil.create_log(__name__)
213
214 now = datetime.now()
215 print("Starting: " + str(now))
216 logger.info("Starting...")
217
218 azure_connector = AzureConnector.AzureConnector()
219 mongo_connector = MongoConnector.MongoConnector()
220 dns_manager = DNSManager.DNSManager(mongo_connector)
221 zone_ingestor = ZoneIngestor.ZoneIngestor()
222 jobs_manager = JobsManager.JobsManager(mongo_connector, "fetch_azure_dns")
223 jobs_manager.record_job_start()
224
225 current_zones = ZoneManager.get_distinct_zones(mongo_connector)
226
227 resource_client = azure_connector.get_resources_client()
228 resources = []
229
230 # The resource list is not currently used.
231 for item in resource_client.resource_groups.list():
232 resources.append(item.name)
233
234 dns_client = azure_connector.get_dns_client()
235
236 zones = dns_client.zones.list()
237
238 # The type of records the Azure DNS will let you configure
239 record_types = {
240 "A": "arecords",
241 "AAAA": "aaaa_records",
242 "MX": "mx_records",
243 "NS": "ns_records",
244 "PTR": "ptr_records",
245 "SRV": "srv_records",
246 "TXT": "txt_records",
247 "CNAME": "cname_record",
248 "SOA": "soa_record",
249 }
250
251 for zone in zones:
252 logger.info("Zone: " + zone.name)
253 data = split_id(zone.id)
254
255 if zone.zone_type == ZoneType.public:
256 logger.info(zone.name + " is public:")
257
258 if zone.name not in current_zones:
259 logger.debug("Creating zone: " + zone.name)
260 zone_ingestor.add_zone(zone.name, "azure:" + data["resourceGroups"])
261
262 try:
263 logger.info("ResourceGroup: " + data["resourceGroups"])
264 records = dns_client.record_sets.list_all_by_dns_zone(

Callers 1

fetch_azure_dns.pyFile · 0.70

Calls 10

record_job_startMethod · 0.95
get_resources_clientMethod · 0.95
get_dns_clientMethod · 0.95
add_zoneMethod · 0.95
insert_recordMethod · 0.95
record_job_completeMethod · 0.95
split_idFunction · 0.85
extract_record_set_valueFunction · 0.85
create_logMethod · 0.80
get_distinct_zonesMethod · 0.80

Tested by

no test coverage detected