- nutzbare Hostbereiche aus der CIDR-Maske erzeugen - Netzwerk- und Broadcastadressen bei IPv4 ausschließen - Abgleich-Aktion in die IP-Bereichsliste verschieben - Gerät oder VM in der IP-Adressansicht anzeigen - Bestandsabgleich für IP-Bereiche ergänzen - Plugin-Version auf 1.2.0 erhöhen
22 lines
738 B
Python
22 lines
738 B
Python
import logging
|
|
|
|
from django.db.models.signals import post_save
|
|
from django.dispatch import receiver
|
|
from ipam.models import IPAddress
|
|
from netbox.plugins import get_plugin_config
|
|
|
|
from .services import ensure_range_for_ip
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
@receiver(post_save, sender=IPAddress, dispatch_uid="netbox_better_ips.ensure_range")
|
|
def ensure_ip_range(sender, instance, raw=False, **kwargs):
|
|
if raw or not get_plugin_config("netbox_better_ips", "auto_create_range"):
|
|
return
|
|
try:
|
|
ensure_range_for_ip(instance)
|
|
except Exception:
|
|
# The IP save must not be rolled back by an optional convenience feature.
|
|
logger.exception("Could not ensure an IP range for IP address %s", instance)
|