netbox-plugin-dns 1.4.0__tar.gz → 1.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of netbox-plugin-dns might be problematic. Click here for more details.
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/PKG-INFO +3 -2
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/README.md +2 -1
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/__init__.py +1 -1
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/nested_serializers.py +1 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/dnssec_policy.py +2 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/zone.py +4 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/fields/address.py +17 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/dnssec_policy.py +1 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/zone.py +21 -1
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/dnssec_policy.py +19 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/zone.py +1 -15
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/dnssec_policy.py +1 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/zone.py +0 -1
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/types.py +2 -1
- netbox_plugin_dns-1.4.2/netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
- netbox_plugin_dns-1.4.2/netbox_dns/migrations/0025_remove_zone_inline_signing_and_more.py +22 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/dnssec_policy.py +5 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/zone.py +23 -10
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/dnssec_policy.py +5 -1
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/zone.py +0 -1
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/dnssecpolicy.html +4 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone.html +0 -4
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/zone.py +0 -1
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_plugin_dns.egg-info/PKG-INFO +3 -2
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_plugin_dns.egg-info/SOURCES.txt +1 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/pyproject.toml +1 -1
- netbox_plugin_dns-1.4.0/netbox_dns/locale/fr/LC_MESSAGES/django.mo +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/LICENSE +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/field_serializers.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/prefix.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/record_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/registrar.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/urls.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/views.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/apps.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/choices/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/choices/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/choices/dnssec_policy.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/choices/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/choices/utilities.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/choices/zone.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/fields/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/fields/choice_array.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/fields/ipam.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/fields/network.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/fields/rfc2317.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/fields/timeperiod.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/record_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/registrar.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/record_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/registrar.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/forms/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/enums.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filter_lookups.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/record_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/registrar.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/filters/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/graphql/schema.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/locale/de/LC_MESSAGES/django.mo +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/locale/en/LC_MESSAGES/django.mo +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/management/commands/cleanup_database.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/management/commands/cleanup_rrset_ttl.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/management/commands/rebuild_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/management/commands/setup_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0001_squashed_netbox_dns_0_15.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0001_squashed_netbox_dns_0_22.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0002_contact_description_registrar_description.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0003_default_view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0004_create_and_assign_default_view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0005_alter_zone_view_not_null.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0006_templating.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0007_alter_ordering_options.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0008_view_prefixes.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0009_rename_contact_registrationcontact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0010_view_ip_address_filter.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0011_rename_related_fields.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0012_natural_ordering.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0013_zonetemplate_soa_mname_zonetemplate_soa_rname.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0014_alter_unique_constraints_lowercase.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0015_dnssec.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0016_dnssec_policy_status.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0017_dnssec_policy_zone_zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0018_zone_domain_status_zone_expiration_date.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0019_dnssecpolicy_parental_agents.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0020_netbox_3_4.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0020_remove_dnssecpolicy_parental_agents_and_more.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0021_alter_record_ptr_record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0021_record_ip_address.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0022_alter_record_ipam_ip_address.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0022_search.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0023_alter_record_value.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0023_disable_ptr_false.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0024_tenancy.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0024_zonetemplate_parental_agents.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0025_ipam_coupling_cf.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0026_domain_registration.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0027_alter_registrar_iana_id.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0028_rfc2317_fields.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/0029_record_fqdn.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/migrations/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/mixins/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/mixins/object_modification.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/record_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/registrar.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/models/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/navigation.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/signals/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/signals/dnssec.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/signals/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/record_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/registrar.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/tables/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/template_content.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/dnsseckeytemplate.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/nameserver.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/record/managed.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/record/related.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/record.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/recordtemplate.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/registrar.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/registrationcontact.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/view/button.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/view/prefix.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/view/related.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/view.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/base.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/child.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/child_zone.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/delegation_record.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/managed_record.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/record.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/registration.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zonetemplate/child.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zonetemplate.html +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templatetags/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templatetags/netbox_dns.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/urls.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/utilities/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/utilities/conversions.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/utilities/dns.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/utilities/ipam_dnssync.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/validators/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/validators/dns_name.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/validators/dns_value.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/validators/dnssec.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/validators/rfc2317.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/__init__.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/dnssec_key_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/dnssec_policy.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/nameserver.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/record.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/record_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/registrar.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/registration_contact.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/view.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/views/zone_template.py +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_plugin_dns.egg-info/dependency_links.txt +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_plugin_dns.egg-info/requires.txt +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_plugin_dns.egg-info/top_level.txt +0 -0
- {netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: netbox-plugin-dns
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: NetBox DNS is a NetBox plugin for managing DNS data.
|
|
5
5
|
Author-email: Peter Eckel <pete@netbox-dns.org>
|
|
6
6
|
Project-URL: Homepage, https://github.com/peteeckel/netbox-plugin-dns
|
|
@@ -81,7 +81,8 @@ NetBox Version | NetBox DNS Version | Comment
|
|
|
81
81
|
4.0 - 4.1 | 1.0 | Supports legacy IPAM Coupling
|
|
82
82
|
4.0 - 4.1 | 1.1 | Supports IPAM DNSsync
|
|
83
83
|
4.2 | 1.2 |
|
|
84
|
-
4.3 | 1.3
|
|
84
|
+
4.3 | 1.3 - 1.4 |
|
|
85
|
+
4.4 | 1.4 |
|
|
85
86
|
|
|
86
87
|
## Installation & Configuration
|
|
87
88
|
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/dnssec_policy.py
RENAMED
|
@@ -26,6 +26,7 @@ class DNSSECPolicySerializer(NetBoxModelSerializer):
|
|
|
26
26
|
"description",
|
|
27
27
|
"status",
|
|
28
28
|
"tags",
|
|
29
|
+
"inline_signing",
|
|
29
30
|
"key_templates",
|
|
30
31
|
"zones",
|
|
31
32
|
"zone_templates",
|
|
@@ -60,6 +61,7 @@ class DNSSECPolicySerializer(NetBoxModelSerializer):
|
|
|
60
61
|
"name",
|
|
61
62
|
"description",
|
|
62
63
|
"status",
|
|
64
|
+
"inline_signing",
|
|
63
65
|
)
|
|
64
66
|
|
|
65
67
|
url = serializers.HyperlinkedIdentityField(
|
|
@@ -195,6 +195,7 @@ class ZoneSerializer(NetBoxModelSerializer):
|
|
|
195
195
|
default=None,
|
|
196
196
|
help_text=_("Template to apply to the zone"),
|
|
197
197
|
)
|
|
198
|
+
inline_signing = serializers.SerializerMethodField()
|
|
198
199
|
active = serializers.BooleanField(
|
|
199
200
|
required=False,
|
|
200
201
|
read_only=True,
|
|
@@ -212,6 +213,9 @@ class ZoneSerializer(NetBoxModelSerializer):
|
|
|
212
213
|
|
|
213
214
|
return super().validate(data)
|
|
214
215
|
|
|
216
|
+
def get_inline_signing(self, instance):
|
|
217
|
+
return instance.inline_signing
|
|
218
|
+
|
|
215
219
|
def create(self, validated_data):
|
|
216
220
|
template = validated_data.pop("template", None)
|
|
217
221
|
nameservers = validated_data.pop("nameservers", None)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from django.db import models
|
|
2
|
+
from django.db.models import Lookup
|
|
2
3
|
from django.core.exceptions import ValidationError
|
|
3
4
|
from django.utils.translation import gettext_lazy as _
|
|
4
5
|
|
|
@@ -50,3 +51,19 @@ class AddressField(models.Field):
|
|
|
50
51
|
|
|
51
52
|
def db_type(self, connection):
|
|
52
53
|
return "inet"
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class AddressContained(Lookup):
|
|
57
|
+
lookup_name = "contained"
|
|
58
|
+
|
|
59
|
+
def get_prep_lookup(self):
|
|
60
|
+
return str(self.rhs)
|
|
61
|
+
|
|
62
|
+
def as_sql(self, compiler, connection):
|
|
63
|
+
lhs, lhs_params = self.process_lhs(compiler, connection)
|
|
64
|
+
rhs, rhs_params = self.process_rhs(compiler, connection)
|
|
65
|
+
params = lhs_params + rhs_params
|
|
66
|
+
return f"CAST(HOST({lhs}) AS INET) <<= {rhs}", params
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
AddressField.register_lookup(AddressContained)
|
|
@@ -41,9 +41,9 @@ class ZoneFilterSet(TenancyFilterSet, NetBoxModelFilterSet):
|
|
|
41
41
|
"soa_minimum",
|
|
42
42
|
"soa_serial_auto",
|
|
43
43
|
"rfc2317_parent_managed",
|
|
44
|
-
"inline_signing",
|
|
45
44
|
"registry_domain_id",
|
|
46
45
|
"domain_status",
|
|
46
|
+
"inline_signing",
|
|
47
47
|
)
|
|
48
48
|
|
|
49
49
|
status = django_filters.MultipleChoiceFilter(
|
|
@@ -172,6 +172,10 @@ class ZoneFilterSet(TenancyFilterSet, NetBoxModelFilterSet):
|
|
|
172
172
|
active = django_filters.BooleanFilter(
|
|
173
173
|
label=_("Zone is active"),
|
|
174
174
|
)
|
|
175
|
+
inline_signing = django_filters.BooleanFilter(
|
|
176
|
+
label=_("Zone is using a DNSSEC policy with inline signing"),
|
|
177
|
+
method="filter_inline_signing",
|
|
178
|
+
)
|
|
175
179
|
|
|
176
180
|
def filter_parental_agents(self, queryset, name, value):
|
|
177
181
|
if not value:
|
|
@@ -214,6 +218,22 @@ class ZoneFilterSet(TenancyFilterSet, NetBoxModelFilterSet):
|
|
|
214
218
|
except (netaddr.AddrFormatError, ValueError):
|
|
215
219
|
return queryset.none()
|
|
216
220
|
|
|
221
|
+
def filter_inline_signing(self, queryset, name, value):
|
|
222
|
+
if value is None:
|
|
223
|
+
return queryset
|
|
224
|
+
|
|
225
|
+
if value:
|
|
226
|
+
return queryset.filter(
|
|
227
|
+
dnssec_policy__isnull=False, dnssec_policy__inline_signing=True
|
|
228
|
+
)
|
|
229
|
+
else:
|
|
230
|
+
return queryset.filter(
|
|
231
|
+
Q(
|
|
232
|
+
Q(dnssec_policy__isnull=True)
|
|
233
|
+
| Q(dnssec_policy__inline_signing=False)
|
|
234
|
+
)
|
|
235
|
+
)
|
|
236
|
+
|
|
217
237
|
def search(self, queryset, name, value):
|
|
218
238
|
if not value.strip():
|
|
219
239
|
return queryset
|
|
@@ -41,6 +41,7 @@ class DNSSECPolicyForm(TenancyForm, NetBoxModelForm):
|
|
|
41
41
|
"name",
|
|
42
42
|
"description",
|
|
43
43
|
"status",
|
|
44
|
+
"inline_signing",
|
|
44
45
|
"key_templates",
|
|
45
46
|
"dnskey_ttl",
|
|
46
47
|
"purge_keys",
|
|
@@ -71,6 +72,7 @@ class DNSSECPolicyForm(TenancyForm, NetBoxModelForm):
|
|
|
71
72
|
"description",
|
|
72
73
|
"status",
|
|
73
74
|
"key_templates",
|
|
75
|
+
"inline_signing",
|
|
74
76
|
name=_("Attributes"),
|
|
75
77
|
),
|
|
76
78
|
FieldSet(
|
|
@@ -194,6 +196,7 @@ class DNSSECPolicyFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
|
194
196
|
"description",
|
|
195
197
|
"status",
|
|
196
198
|
"key_template_id",
|
|
199
|
+
"inline_signing",
|
|
197
200
|
name=_("Attributes"),
|
|
198
201
|
),
|
|
199
202
|
FieldSet(
|
|
@@ -250,6 +253,11 @@ class DNSSECPolicyFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
|
250
253
|
required=False,
|
|
251
254
|
label=_("Status"),
|
|
252
255
|
)
|
|
256
|
+
inline_signing = forms.NullBooleanField(
|
|
257
|
+
required=False,
|
|
258
|
+
widget=forms.Select(choices=BOOLEAN_WITH_BLANK_CHOICES),
|
|
259
|
+
label=_("Use Inline Signing"),
|
|
260
|
+
)
|
|
253
261
|
key_template_id = DynamicModelMultipleChoiceField(
|
|
254
262
|
queryset=DNSSECKeyTemplate.objects.all(),
|
|
255
263
|
required=False,
|
|
@@ -355,6 +363,7 @@ class DNSSECPolicyImportForm(NetBoxModelImportForm):
|
|
|
355
363
|
fields = (
|
|
356
364
|
"name",
|
|
357
365
|
"description",
|
|
366
|
+
"inline_signing",
|
|
358
367
|
"key_templates",
|
|
359
368
|
"dnskey_ttl",
|
|
360
369
|
"purge_keys",
|
|
@@ -383,6 +392,10 @@ class DNSSECPolicyImportForm(NetBoxModelImportForm):
|
|
|
383
392
|
required=False,
|
|
384
393
|
label=_("Status"),
|
|
385
394
|
)
|
|
395
|
+
inline_signing = forms.BooleanField(
|
|
396
|
+
required=False,
|
|
397
|
+
label=_("Use Inline Signing"),
|
|
398
|
+
)
|
|
386
399
|
dnskey_ttl = TimePeriodField(
|
|
387
400
|
required=False,
|
|
388
401
|
label=_("DNSKEY TTL"),
|
|
@@ -446,6 +459,7 @@ class DNSSECPolicyBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
446
459
|
FieldSet(
|
|
447
460
|
"description",
|
|
448
461
|
"key_templates",
|
|
462
|
+
"inline_signing",
|
|
449
463
|
name=_("Attributes"),
|
|
450
464
|
),
|
|
451
465
|
FieldSet(
|
|
@@ -516,6 +530,11 @@ class DNSSECPolicyBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
516
530
|
required=False,
|
|
517
531
|
label=_("Status"),
|
|
518
532
|
)
|
|
533
|
+
inline_signing = forms.NullBooleanField(
|
|
534
|
+
required=False,
|
|
535
|
+
widget=BulkEditNullBooleanSelect(),
|
|
536
|
+
label=_("Use Inline Signing"),
|
|
537
|
+
)
|
|
519
538
|
dnskey_ttl = TimePeriodField(
|
|
520
539
|
required=False,
|
|
521
540
|
label=_("DNSKEY TTL"),
|
|
@@ -183,7 +183,6 @@ class ZoneForm(ZoneTemplateUpdateMixin, TenancyForm, NetBoxModelForm):
|
|
|
183
183
|
"rfc2317_prefix",
|
|
184
184
|
"rfc2317_parent_managed",
|
|
185
185
|
"dnssec_policy",
|
|
186
|
-
"inline_signing",
|
|
187
186
|
"parental_agents",
|
|
188
187
|
"registrar",
|
|
189
188
|
"registry_domain_id",
|
|
@@ -241,7 +240,6 @@ class ZoneForm(ZoneTemplateUpdateMixin, TenancyForm, NetBoxModelForm):
|
|
|
241
240
|
),
|
|
242
241
|
FieldSet(
|
|
243
242
|
"dnssec_policy",
|
|
244
|
-
"inline_signing",
|
|
245
243
|
"parental_agents",
|
|
246
244
|
name=_("DNSSEC"),
|
|
247
245
|
),
|
|
@@ -317,7 +315,6 @@ class ZoneForm(ZoneTemplateUpdateMixin, TenancyForm, NetBoxModelForm):
|
|
|
317
315
|
)
|
|
318
316
|
|
|
319
317
|
if not get_field_value(self, "dnssec_policy"):
|
|
320
|
-
del self.fields["inline_signing"]
|
|
321
318
|
del self.fields["parental_agents"]
|
|
322
319
|
|
|
323
320
|
if not get_field_value(self, "registrar"):
|
|
@@ -552,7 +549,7 @@ class ZoneFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
|
|
|
552
549
|
inline_signing = forms.NullBooleanField(
|
|
553
550
|
required=False,
|
|
554
551
|
widget=forms.Select(choices=BOOLEAN_WITH_BLANK_CHOICES),
|
|
555
|
-
label=_("
|
|
552
|
+
label=_("DNSSEC Policy uses inline signing"),
|
|
556
553
|
)
|
|
557
554
|
parental_agents = forms.GenericIPAddressField(
|
|
558
555
|
required=False,
|
|
@@ -632,7 +629,6 @@ class ZoneImportForm(ZoneTemplateUpdateMixin, NetBoxModelImportForm):
|
|
|
632
629
|
"soa_expire",
|
|
633
630
|
"soa_minimum",
|
|
634
631
|
"dnssec_policy",
|
|
635
|
-
"inline_signing",
|
|
636
632
|
"parental_agents",
|
|
637
633
|
"rfc2317_prefix",
|
|
638
634
|
"rfc2317_parent_managed",
|
|
@@ -741,10 +737,6 @@ class ZoneImportForm(ZoneTemplateUpdateMixin, NetBoxModelImportForm):
|
|
|
741
737
|
},
|
|
742
738
|
label=_("DNSSEC Policy"),
|
|
743
739
|
)
|
|
744
|
-
inline_signing = forms.BooleanField(
|
|
745
|
-
required=False,
|
|
746
|
-
label=_("Use Inline Signing"),
|
|
747
|
-
)
|
|
748
740
|
registrar = CSVModelChoiceField(
|
|
749
741
|
queryset=Registrar.objects.all(),
|
|
750
742
|
required=False,
|
|
@@ -860,7 +852,6 @@ class ZoneBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
860
852
|
),
|
|
861
853
|
FieldSet(
|
|
862
854
|
"dnssec_policy",
|
|
863
|
-
"inline_signing",
|
|
864
855
|
"parental_agents",
|
|
865
856
|
name=_("DNSSEC"),
|
|
866
857
|
),
|
|
@@ -990,11 +981,6 @@ class ZoneBulkEditForm(NetBoxModelBulkEditForm):
|
|
|
990
981
|
required=False,
|
|
991
982
|
label=_("DNSSEC Policy"),
|
|
992
983
|
)
|
|
993
|
-
inline_signing = forms.NullBooleanField(
|
|
994
|
-
required=False,
|
|
995
|
-
widget=BulkEditNullBooleanSelect(),
|
|
996
|
-
label=_("Use Inline Signing"),
|
|
997
|
-
)
|
|
998
984
|
parental_agents = SimpleArrayField(
|
|
999
985
|
required=False,
|
|
1000
986
|
base_field=forms.GenericIPAddressField(),
|
|
@@ -89,7 +89,7 @@ class NetBoxDNSZoneType(NetBoxObjectType):
|
|
|
89
89
|
]
|
|
90
90
|
| None
|
|
91
91
|
)
|
|
92
|
-
inline_signing: bool
|
|
92
|
+
inline_signing: bool | None
|
|
93
93
|
parental_agents: List[str]
|
|
94
94
|
registrar: (
|
|
95
95
|
Annotated["NetBoxDNSRegistrarType", strawberry.lazy("netbox_dns.graphql.types")]
|
|
@@ -194,6 +194,7 @@ class NetBoxDNSDNSSECPolicyType(NetBoxObjectType):
|
|
|
194
194
|
description: str | None
|
|
195
195
|
status: str
|
|
196
196
|
tenant: Annotated["TenantType", strawberry.lazy("tenancy.graphql.types")] | None
|
|
197
|
+
inline_signing: bool
|
|
197
198
|
key_templates: List[
|
|
198
199
|
Annotated[
|
|
199
200
|
"NetBoxDNSDNSSECKeyTemplateType",
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Generated by Django 5.2.6 on 2025-10-05 16:57
|
|
2
|
+
|
|
3
|
+
from django.db import migrations, models
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Migration(migrations.Migration):
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
("netbox_dns", "0024_zonetemplate_parental_agents"),
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
operations = [
|
|
13
|
+
migrations.RemoveField(
|
|
14
|
+
model_name="zone",
|
|
15
|
+
name="inline_signing",
|
|
16
|
+
),
|
|
17
|
+
migrations.AddField(
|
|
18
|
+
model_name="dnssecpolicy",
|
|
19
|
+
name="inline_signing",
|
|
20
|
+
field=models.BooleanField(default=True),
|
|
21
|
+
),
|
|
22
|
+
]
|
|
@@ -51,6 +51,11 @@ class DNSSECPolicy(ContactsMixin, NetBoxModel):
|
|
|
51
51
|
null=False,
|
|
52
52
|
)
|
|
53
53
|
|
|
54
|
+
inline_signing = models.BooleanField(
|
|
55
|
+
verbose_name=_("Inline Signing"),
|
|
56
|
+
help_text=_("Use inline signing"),
|
|
57
|
+
default=True,
|
|
58
|
+
)
|
|
54
59
|
key_templates = models.ManyToManyField(
|
|
55
60
|
verbose_name=_("Key Templates"),
|
|
56
61
|
to="DNSSECKeyTemplate",
|
|
@@ -25,6 +25,7 @@ from netbox.search import SearchIndex, register_search
|
|
|
25
25
|
from netbox.plugins.utils import get_plugin_config
|
|
26
26
|
from utilities.querysets import RestrictedQuerySet
|
|
27
27
|
from ipam.models import IPAddress
|
|
28
|
+
from ipam.choices import IPAddressFamilyChoices
|
|
28
29
|
|
|
29
30
|
from netbox_dns.choices import (
|
|
30
31
|
RecordClassChoices,
|
|
@@ -123,7 +124,6 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
123
124
|
"description",
|
|
124
125
|
"status",
|
|
125
126
|
"dnssec_policy",
|
|
126
|
-
"inline_signing",
|
|
127
127
|
"parental_agents",
|
|
128
128
|
"registrar",
|
|
129
129
|
"registry_domain_id",
|
|
@@ -262,11 +262,6 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
262
262
|
blank=True,
|
|
263
263
|
null=True,
|
|
264
264
|
)
|
|
265
|
-
inline_signing = models.BooleanField(
|
|
266
|
-
verbose_name=_("Inline Signing"),
|
|
267
|
-
help_text=_("Use inline signing for DNSSEC"),
|
|
268
|
-
default=True,
|
|
269
|
-
)
|
|
270
265
|
parental_agents = ArrayField(
|
|
271
266
|
base_field=models.GenericIPAddressField(
|
|
272
267
|
protocol="both",
|
|
@@ -432,6 +427,13 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
432
427
|
def is_rfc2317_zone(self):
|
|
433
428
|
return self.rfc2317_prefix is not None
|
|
434
429
|
|
|
430
|
+
@property
|
|
431
|
+
def inline_signing(self):
|
|
432
|
+
if self.dnssec_policy is None:
|
|
433
|
+
return None
|
|
434
|
+
|
|
435
|
+
return self.dnssec_policy.inline_signing
|
|
436
|
+
|
|
435
437
|
def get_rfc2317_parent_zone(self):
|
|
436
438
|
if not self.is_rfc2317_zone:
|
|
437
439
|
return None
|
|
@@ -801,7 +803,6 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
801
803
|
|
|
802
804
|
def clean(self, *args, **kwargs):
|
|
803
805
|
if not self.dnssec_policy:
|
|
804
|
-
self.inline_signing = self._meta.get_field("inline_signing").get_default()
|
|
805
806
|
self.parental_agents = self._meta.get_field("parental_agents").get_default()
|
|
806
807
|
|
|
807
808
|
if not self.registrar:
|
|
@@ -970,9 +971,21 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
970
971
|
zones = self.view.zones.filter(
|
|
971
972
|
arpa_network__net_contains_or_equals=self.arpa_network
|
|
972
973
|
)
|
|
974
|
+
|
|
975
|
+
if self.arpa_network.version == IPAddressFamilyChoices.FAMILY_4:
|
|
976
|
+
record_type = RecordTypeChoices.A
|
|
977
|
+
else:
|
|
978
|
+
record_type = RecordTypeChoices.AAAA
|
|
979
|
+
|
|
973
980
|
address_records = Record.objects.filter(
|
|
974
|
-
Q(
|
|
975
|
-
|
|
981
|
+
Q(
|
|
982
|
+
ptr_record__isnull=True,
|
|
983
|
+
zone__view=self.view,
|
|
984
|
+
ip_address__isnull=False,
|
|
985
|
+
ip_address__contained=self.arpa_network,
|
|
986
|
+
type=record_type,
|
|
987
|
+
)
|
|
988
|
+
| Q(ptr_record__zone__in=zones),
|
|
976
989
|
disable_ptr=False,
|
|
977
990
|
)
|
|
978
991
|
|
|
@@ -1001,7 +1014,7 @@ class Zone(ObjectModificationMixin, ContactsMixin, NetBoxModel):
|
|
|
1001
1014
|
arpa_network__net_contains=self.rfc2317_prefix
|
|
1002
1015
|
)
|
|
1003
1016
|
address_records = Record.objects.filter(
|
|
1004
|
-
Q(ptr_record__isnull=True)
|
|
1017
|
+
Q(ptr_record__isnull=True, ip_address__contained=self.rfc2317_prefix)
|
|
1005
1018
|
| Q(ptr_record__zone__in=zones)
|
|
1006
1019
|
| Q(ptr_record__zone=self),
|
|
1007
1020
|
type=RecordTypeChoices.A,
|
|
@@ -23,12 +23,16 @@ class DNSSECPolicyTable(TenancyColumnsMixin, NetBoxTable):
|
|
|
23
23
|
class Meta(NetBoxTable.Meta):
|
|
24
24
|
model = DNSSECPolicy
|
|
25
25
|
|
|
26
|
-
fields = (
|
|
26
|
+
fields = (
|
|
27
|
+
"description",
|
|
28
|
+
"inline_signing",
|
|
29
|
+
)
|
|
27
30
|
|
|
28
31
|
default_columns = (
|
|
29
32
|
"name",
|
|
30
33
|
"description",
|
|
31
34
|
"status",
|
|
35
|
+
"inline_signing",
|
|
32
36
|
"use_nsec3",
|
|
33
37
|
"tags",
|
|
34
38
|
)
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
<th scope="row">{% trans "Status" %}</th>
|
|
18
18
|
<td>{% badge object.get_status_display bg_color=object.get_status_color %}</td>
|
|
19
19
|
</tr>
|
|
20
|
+
<tr>
|
|
21
|
+
<th scope="row">{% trans "Use Inline Signing" %}</th>
|
|
22
|
+
<td>{% checkmark object.inline_signing %}</td>
|
|
23
|
+
</tr>
|
|
20
24
|
<tr>
|
|
21
25
|
<th scope="row">{% trans "Key Templates" %}</th>
|
|
22
26
|
<td>
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/templates/netbox_dns/zone.html
RENAMED
|
@@ -104,10 +104,6 @@
|
|
|
104
104
|
<th scope="row">{% trans "Policy" %}</th>
|
|
105
105
|
<td>{{ object.dnssec_policy|linkify }}</td>
|
|
106
106
|
</tr>
|
|
107
|
-
<tr>
|
|
108
|
-
<th scope="row">{% trans "Use Inline Signing" %}</th>
|
|
109
|
-
<td>{% checkmark object.inline_signing %}</td>
|
|
110
|
-
</tr>
|
|
111
107
|
<tr>
|
|
112
108
|
<th scope="row">{% trans "Parental Agents" %}</th>
|
|
113
109
|
<td>
|
|
@@ -157,7 +157,6 @@ class ZoneManagedRecordListView(generic.ObjectChildrenView):
|
|
|
157
157
|
table = ManagedRecordTable
|
|
158
158
|
filterset = RecordFilterSet
|
|
159
159
|
template_name = "netbox_dns/zone/managed_record.html"
|
|
160
|
-
actions = {"changelog": {"view"}}
|
|
161
160
|
|
|
162
161
|
tab = ViewTab(
|
|
163
162
|
label=_("Managed Records"),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: netbox-plugin-dns
|
|
3
|
-
Version: 1.4.
|
|
3
|
+
Version: 1.4.2
|
|
4
4
|
Summary: NetBox DNS is a NetBox plugin for managing DNS data.
|
|
5
5
|
Author-email: Peter Eckel <pete@netbox-dns.org>
|
|
6
6
|
Project-URL: Homepage, https://github.com/peteeckel/netbox-plugin-dns
|
|
@@ -81,7 +81,8 @@ NetBox Version | NetBox DNS Version | Comment
|
|
|
81
81
|
4.0 - 4.1 | 1.0 | Supports legacy IPAM Coupling
|
|
82
82
|
4.0 - 4.1 | 1.1 | Supports IPAM DNSsync
|
|
83
83
|
4.2 | 1.2 |
|
|
84
|
-
4.3 | 1.3
|
|
84
|
+
4.3 | 1.3 - 1.4 |
|
|
85
|
+
4.4 | 1.4 |
|
|
85
86
|
|
|
86
87
|
## Installation & Configuration
|
|
87
88
|
|
|
@@ -112,6 +112,7 @@ netbox_dns/migrations/0023_disable_ptr_false.py
|
|
|
112
112
|
netbox_dns/migrations/0024_tenancy.py
|
|
113
113
|
netbox_dns/migrations/0024_zonetemplate_parental_agents.py
|
|
114
114
|
netbox_dns/migrations/0025_ipam_coupling_cf.py
|
|
115
|
+
netbox_dns/migrations/0025_remove_zone_inline_signing_and_more.py
|
|
115
116
|
netbox_dns/migrations/0026_domain_registration.py
|
|
116
117
|
netbox_dns/migrations/0027_alter_registrar_iana_id.py
|
|
117
118
|
netbox_dns/migrations/0028_rfc2317_fields.py
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/nameserver.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/record_template.py
RENAMED
|
File without changes
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/registrar.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/api/serializers_/zone_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/choices/dnssec_key_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/dnssec_key_template.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{netbox_plugin_dns-1.4.0 → netbox_plugin_dns-1.4.2}/netbox_dns/filtersets/record_template.py
RENAMED
|
File without changes
|
|
File without changes
|