Prüft, ob bei allen aktiven Devices und VMs eine Role angegeben ist.
/opt/netbox/report.py
class RoleReport(Script):
class Meta:
name = "Rollen prüfen"
description = "Prüft, ob bei allen aktiven Devices und VMs eine Role angegeben ist."
def test_device_roles(self):
"""Prüft alle aktiven Devices auf eine zugewiesene Rolle."""
active_devices = Device.objects.filter(status="active")
for device in active_devices:
if device.device_type.is_child_device:
self.log_success("Child Device übersprungen.", obj=device)
continue
if device.role_id is None:
self.log_failure("Device hat keine Rolle zugewiesen.", obj=device)
else:
self.log_success("Rolle zugewiesen.", obj=device)
def test_vm_roles(self):
"""Prüft alle aktiven virtuellen Maschinen auf eine zugewiesene Rolle."""
active_vms = VirtualMachine.objects.filter(status="active")
for vm in active_vms:
if vm.role_id is None:
self.log_failure("Virtual Machine hat keine Rolle zugewiesen.", obj=vm)
else:
self.log_success("Rolle zugewiesen.", obj=vm)