Skip to content

Commit 87915c4

Browse files
committed
Apply black formatting to refactored Azure discovery
1 parent d96b67e commit 87915c4

File tree

1 file changed

+206
-14
lines changed

1 file changed

+206
-14
lines changed

azure_discovery/azure_discovery.py

Lines changed: 206 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,164 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
133133

134134
resources = []
135135

136-
# VMs
136+
# Discover resources by type
137+
resources.extend(self._discover_vms(rg_name))
138+
resources.extend(self._discover_vnets(rg_name))
139+
resources.extend(self._discover_load_balancers(rg_name))
140+
resources.extend(self._discover_vpn_gateways(rg_name))
141+
resources.extend(self._discover_application_gateways(rg_name))
142+
resources.extend(self._discover_azure_firewalls(rg_name))
143+
resources.extend(self._discover_private_endpoints(rg_name))
144+
resources.extend(self._discover_nat_gateways(rg_name))
145+
resources.extend(self._discover_route_tables(rg_name))
146+
resources.extend(self._discover_public_ip_addresses(rg_name))
147+
resources.extend(self._discover_network_security_groups(rg_name))
148+
resources.extend(self._discover_express_route_circuits(rg_name))
149+
resources.extend(self._discover_dedicated_hosts(rg_name))
150+
151+
# VNets
152+
try:
153+
for vnet in self.network_client.virtual_networks.list(rg_name):
154+
region = getattr(vnet, "location", "unknown")
155+
vnet_name = getattr(vnet, "name", None)
156+
if not vnet_name:
157+
self.logger.warning(f"VNet with no name in {rg_name}, skipping subnets.")
158+
continue
159+
160+
vnet_dict = vars(vnet)
161+
formatted_vnet = format_azure_resource(vnet_dict, "vnet", region)
162+
resources.append(formatted_vnet)
163+
164+
# Subnets for this VNet
165+
try:
166+
for subnet in self.network_client.subnets.list(rg_name, vnet_name):
167+
subnet_dict = vars(subnet)
168+
formatted_subnet = format_azure_resource(subnet_dict, "subnet", region)
169+
resources.append(formatted_subnet)
170+
except Exception as e:
171+
self.logger.warning(f"Error discovering subnets in VNet {vnet_name} in {rg_name}: {e}")
172+
except Exception as e:
173+
self.logger.warning(f"Error discovering VNets in {rg_name}: {e}")
174+
175+
# Load Balancers
176+
try:
177+
for lb in self.network_client.load_balancers.list(rg_name):
178+
region = getattr(lb, "location", "unknown")
179+
lb_dict = vars(lb)
180+
formatted_lb = format_azure_resource(lb_dict, "load_balancer", region)
181+
resources.append(formatted_lb)
182+
except Exception as e:
183+
self.logger.warning(f"Error discovering Load Balancers in {rg_name}: {e}")
184+
185+
# VPN Gateways
186+
try:
187+
for vpngw in self.network_client.virtual_network_gateways.list(rg_name):
188+
region = getattr(vpngw, "location", "unknown")
189+
vpngw_dict = vars(vpngw)
190+
formatted_vpngw = format_azure_resource(vpngw_dict, "gateway", region)
191+
resources.append(formatted_vpngw)
192+
except Exception as e:
193+
self.logger.warning(f"Error discovering VPN Gateways in {rg_name}: {e}")
194+
195+
# Application Gateways
196+
try:
197+
for appgw in self.network_client.application_gateways.list(rg_name):
198+
region = getattr(appgw, "location", "unknown")
199+
appgw_dict = vars(appgw)
200+
formatted_appgw = format_azure_resource(appgw_dict, "gateway", region)
201+
resources.append(formatted_appgw)
202+
except Exception as e:
203+
self.logger.warning(f"Error discovering Application Gateways in {rg_name}: {e}")
204+
205+
# Azure Firewalls
206+
try:
207+
for fw in self.network_client.azure_firewalls.list(rg_name):
208+
region = getattr(fw, "location", "unknown")
209+
fw_dict = vars(fw)
210+
formatted_fw = format_azure_resource(fw_dict, "firewall", region)
211+
resources.append(formatted_fw)
212+
except Exception as e:
213+
self.logger.warning(f"Error discovering Azure Firewalls in {rg_name}: {e}")
214+
215+
# Private Endpoints
216+
try:
217+
for pe in self.network_client.private_endpoints.list(rg_name):
218+
region = getattr(pe, "location", "unknown")
219+
pe_dict = vars(pe)
220+
formatted_pe = format_azure_resource(pe_dict, "endpoint", region)
221+
resources.append(formatted_pe)
222+
except Exception as e:
223+
self.logger.warning(f"Error discovering Private Endpoints in {rg_name}: {e}")
224+
225+
# NAT Gateways
226+
try:
227+
for natgw in self.network_client.nat_gateways.list(rg_name):
228+
region = getattr(natgw, "location", "unknown")
229+
natgw_dict = vars(natgw)
230+
formatted_natgw = format_azure_resource(natgw_dict, "gateway", region)
231+
resources.append(formatted_natgw)
232+
except Exception as e:
233+
self.logger.warning(f"Error discovering NAT Gateways in {rg_name}: {e}")
234+
235+
# Route Tables
236+
try:
237+
for rt in self.network_client.route_tables.list(rg_name):
238+
region = getattr(rt, "location", "unknown")
239+
rt_dict = vars(rt)
240+
formatted_rt = format_azure_resource(rt_dict, "router", region)
241+
resources.append(formatted_rt)
242+
except Exception as e:
243+
self.logger.warning(f"Error discovering Route Tables in {rg_name}: {e}")
244+
245+
# Public IP Addresses
246+
try:
247+
for pip in self.network_client.public_ip_addresses.list(rg_name):
248+
region = getattr(pip, "location", "unknown")
249+
pip_dict = vars(pip)
250+
formatted_pip = format_azure_resource(pip_dict, "endpoint", region)
251+
resources.append(formatted_pip)
252+
except Exception as e:
253+
self.logger.warning(f"Error discovering Public IP Addresses in {rg_name}: {e}")
254+
255+
# Network Security Groups
256+
try:
257+
for nsg in self.network_client.network_security_groups.list(rg_name):
258+
region = getattr(nsg, "location", "unknown")
259+
nsg_dict = vars(nsg)
260+
formatted_nsg = format_azure_resource(nsg_dict, "switch", region)
261+
resources.append(formatted_nsg)
262+
except Exception as e:
263+
self.logger.warning(f"Error discovering Network Security Groups in {rg_name}: {e}")
264+
265+
# ExpressRoute Circuits
266+
try:
267+
for erc in self.network_client.express_route_circuits.list(rg_name):
268+
region = getattr(erc, "location", "unknown")
269+
erc_dict = vars(erc)
270+
formatted_erc = format_azure_resource(erc_dict, "switch", region)
271+
resources.append(formatted_erc)
272+
except Exception as e:
273+
self.logger.warning(f"Error discovering ExpressRoute Circuits in {rg_name}: {e}")
274+
275+
# Dedicated Hosts
276+
try:
277+
for host_group in self.compute_client.dedicated_host_groups.list_by_resource_group(rg_name):
278+
region = getattr(host_group, "location", "unknown")
279+
host_group_name = getattr(host_group, "name", None)
280+
if not host_group_name:
281+
continue
282+
for host in self.compute_client.dedicated_hosts.list_by_host_group(rg_name, host_group_name):
283+
host_dict = vars(host)
284+
formatted_host = format_azure_resource(host_dict, "server", region)
285+
resources.append(formatted_host)
286+
except Exception as e:
287+
self.logger.warning(f"Error discovering Dedicated Hosts in {rg_name}: {e}")
288+
289+
return resources
290+
291+
def _discover_vms(self, rg_name: str) -> List[Dict]:
292+
"""Discover Virtual Machines in a resource group."""
293+
resources = []
137294
try:
138295
for vm in self.compute_client.virtual_machines.list(rg_name):
139296
vm_name = getattr(vm, "name", None)
@@ -231,8 +388,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
231388

232389
except Exception as e:
233390
self.logger.warning(f"Error discovering VMs in {rg_name}: {e}")
391+
return resources
234392

235-
# VNets
393+
def _discover_vnets(self, rg_name: str) -> List[Dict]:
394+
"""Discover Virtual Networks in a resource group."""
395+
resources = []
236396
try:
237397
for vnet in self.network_client.virtual_networks.list(rg_name):
238398
region = getattr(vnet, "location", "unknown")
@@ -255,8 +415,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
255415
self.logger.warning(f"Error discovering subnets in VNet {vnet_name} in {rg_name}: {e}")
256416
except Exception as e:
257417
self.logger.warning(f"Error discovering VNets in {rg_name}: {e}")
418+
return resources
258419

259-
# Load Balancers
420+
def _discover_load_balancers(self, rg_name: str) -> List[Dict]:
421+
"""Discover Load Balancers in a resource group."""
422+
resources = []
260423
try:
261424
for lb in self.network_client.load_balancers.list(rg_name):
262425
region = getattr(lb, "location", "unknown")
@@ -265,8 +428,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
265428
resources.append(formatted_lb)
266429
except Exception as e:
267430
self.logger.warning(f"Error discovering Load Balancers in {rg_name}: {e}")
431+
return resources
268432

269-
# VPN Gateways
433+
def _discover_vpn_gateways(self, rg_name: str) -> List[Dict]:
434+
"""Discover VPN Gateways in a resource group."""
435+
resources = []
270436
try:
271437
for vpngw in self.network_client.virtual_network_gateways.list(rg_name):
272438
region = getattr(vpngw, "location", "unknown")
@@ -275,8 +441,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
275441
resources.append(formatted_vpngw)
276442
except Exception as e:
277443
self.logger.warning(f"Error discovering VPN Gateways in {rg_name}: {e}")
444+
return resources
278445

279-
# Application Gateways
446+
def _discover_application_gateways(self, rg_name: str) -> List[Dict]:
447+
"""Discover Application Gateways in a resource group."""
448+
resources = []
280449
try:
281450
for appgw in self.network_client.application_gateways.list(rg_name):
282451
region = getattr(appgw, "location", "unknown")
@@ -285,8 +454,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
285454
resources.append(formatted_appgw)
286455
except Exception as e:
287456
self.logger.warning(f"Error discovering Application Gateways in {rg_name}: {e}")
457+
return resources
288458

289-
# Azure Firewalls
459+
def _discover_azure_firewalls(self, rg_name: str) -> List[Dict]:
460+
"""Discover Azure Firewalls in a resource group."""
461+
resources = []
290462
try:
291463
for fw in self.network_client.azure_firewalls.list(rg_name):
292464
region = getattr(fw, "location", "unknown")
@@ -295,8 +467,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
295467
resources.append(formatted_fw)
296468
except Exception as e:
297469
self.logger.warning(f"Error discovering Azure Firewalls in {rg_name}: {e}")
470+
return resources
298471

299-
# Private Endpoints
472+
def _discover_private_endpoints(self, rg_name: str) -> List[Dict]:
473+
"""Discover Private Endpoints in a resource group."""
474+
resources = []
300475
try:
301476
for pe in self.network_client.private_endpoints.list(rg_name):
302477
region = getattr(pe, "location", "unknown")
@@ -305,8 +480,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
305480
resources.append(formatted_pe)
306481
except Exception as e:
307482
self.logger.warning(f"Error discovering Private Endpoints in {rg_name}: {e}")
483+
return resources
308484

309-
# NAT Gateways
485+
def _discover_nat_gateways(self, rg_name: str) -> List[Dict]:
486+
"""Discover NAT Gateways in a resource group."""
487+
resources = []
310488
try:
311489
for natgw in self.network_client.nat_gateways.list(rg_name):
312490
region = getattr(natgw, "location", "unknown")
@@ -315,8 +493,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
315493
resources.append(formatted_natgw)
316494
except Exception as e:
317495
self.logger.warning(f"Error discovering NAT Gateways in {rg_name}: {e}")
496+
return resources
318497

319-
# Route Tables
498+
def _discover_route_tables(self, rg_name: str) -> List[Dict]:
499+
"""Discover Route Tables in a resource group."""
500+
resources = []
320501
try:
321502
for rt in self.network_client.route_tables.list(rg_name):
322503
region = getattr(rt, "location", "unknown")
@@ -325,8 +506,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
325506
resources.append(formatted_rt)
326507
except Exception as e:
327508
self.logger.warning(f"Error discovering Route Tables in {rg_name}: {e}")
509+
return resources
328510

329-
# Public IP Addresses
511+
def _discover_public_ip_addresses(self, rg_name: str) -> List[Dict]:
512+
"""Discover Public IP Addresses in a resource group."""
513+
resources = []
330514
try:
331515
for pip in self.network_client.public_ip_addresses.list(rg_name):
332516
region = getattr(pip, "location", "unknown")
@@ -335,8 +519,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
335519
resources.append(formatted_pip)
336520
except Exception as e:
337521
self.logger.warning(f"Error discovering Public IP Addresses in {rg_name}: {e}")
522+
return resources
338523

339-
# Network Security Groups
524+
def _discover_network_security_groups(self, rg_name: str) -> List[Dict]:
525+
"""Discover Network Security Groups in a resource group."""
526+
resources = []
340527
try:
341528
for nsg in self.network_client.network_security_groups.list(rg_name):
342529
region = getattr(nsg, "location", "unknown")
@@ -345,8 +532,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
345532
resources.append(formatted_nsg)
346533
except Exception as e:
347534
self.logger.warning(f"Error discovering Network Security Groups in {rg_name}: {e}")
535+
return resources
348536

349-
# ExpressRoute Circuits
537+
def _discover_express_route_circuits(self, rg_name: str) -> List[Dict]:
538+
"""Discover ExpressRoute Circuits in a resource group."""
539+
resources = []
350540
try:
351541
for erc in self.network_client.express_route_circuits.list(rg_name):
352542
region = getattr(erc, "location", "unknown")
@@ -355,8 +545,11 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
355545
resources.append(formatted_erc)
356546
except Exception as e:
357547
self.logger.warning(f"Error discovering ExpressRoute Circuits in {rg_name}: {e}")
548+
return resources
358549

359-
# Dedicated Hosts
550+
def _discover_dedicated_hosts(self, rg_name: str) -> List[Dict]:
551+
"""Discover Dedicated Hosts in a resource group."""
552+
resources = []
360553
try:
361554
for host_group in self.compute_client.dedicated_host_groups.list_by_resource_group(rg_name):
362555
region = getattr(host_group, "location", "unknown")
@@ -369,7 +562,6 @@ def _discover_resource_group_resources(self, resource_group) -> List[Dict]:
369562
resources.append(formatted_host)
370563
except Exception as e:
371564
self.logger.warning(f"Error discovering Dedicated Hosts in {rg_name}: {e}")
372-
373565
return resources
374566

375567
def _discover_azure_dns_zones_and_records(self) -> List[Dict]:

0 commit comments

Comments
 (0)