from django.core.management.base import BaseCommand from ipam.models import IPAddress from netbox_better_ips.services import ensure_prefix_for_ip class Command(BaseCommand): help = "Create missing exact prefixes for existing IP addresses" def add_arguments(self, parser): parser.add_argument("--dry-run", action="store_true") def handle(self, *args, **options): created = skipped = 0 for address in IPAddress.objects.select_related("tenant", "assigned_object_type").iterator(): prefix, was_created = ensure_prefix_for_ip(address) if options["dry_run"] and was_created: prefix.delete() created += int(was_created) skipped += int(prefix is None) verb = "würden erstellt" if options["dry_run"] else "erstellt" self.stdout.write(self.style.SUCCESS(f"{created} Prefixe {verb}; {skipped} Host-Präfixe ignoriert."))