netbox-plugin-dns 1.1.0b5__tar.gz → 1.1.0b6__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.

Files changed (143) hide show
  1. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/PKG-INFO +2 -1
  2. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/README.md +1 -0
  3. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/__init__.py +2 -1
  4. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/utilities/ipam_dnssync.py +18 -5
  5. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/pyproject.toml +1 -1
  6. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/LICENSE +0 -0
  7. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/nested_serializers.py +0 -0
  8. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers.py +0 -0
  9. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/__init__.py +0 -0
  10. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/contact.py +0 -0
  11. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/nameserver.py +0 -0
  12. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/prefix.py +0 -0
  13. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/record.py +0 -0
  14. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/record_template.py +0 -0
  15. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/registrar.py +0 -0
  16. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/view.py +0 -0
  17. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/zone.py +0 -0
  18. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/serializers_/zone_template.py +0 -0
  19. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/urls.py +0 -0
  20. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/api/views.py +0 -0
  21. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/apps.py +0 -0
  22. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/choices/__init__.py +0 -0
  23. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/choices/record.py +0 -0
  24. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/choices/zone.py +0 -0
  25. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/fields/__init__.py +0 -0
  26. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/fields/address.py +0 -0
  27. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/fields/ipam.py +0 -0
  28. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/fields/network.py +0 -0
  29. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/fields/rfc2317.py +0 -0
  30. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/__init__.py +0 -0
  31. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/contact.py +0 -0
  32. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/nameserver.py +0 -0
  33. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/record.py +0 -0
  34. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/record_template.py +0 -0
  35. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/registrar.py +0 -0
  36. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/view.py +0 -0
  37. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/zone.py +0 -0
  38. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/filtersets/zone_template.py +0 -0
  39. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/__init__.py +0 -0
  40. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/contact.py +0 -0
  41. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/nameserver.py +0 -0
  42. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/record.py +0 -0
  43. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/record_template.py +0 -0
  44. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/registrar.py +0 -0
  45. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/view.py +0 -0
  46. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/zone.py +0 -0
  47. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/forms/zone_template.py +0 -0
  48. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/graphql/__init__.py +0 -0
  49. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/graphql/filters.py +0 -0
  50. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/graphql/schema.py +0 -0
  51. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/graphql/types.py +0 -0
  52. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/management/commands/cleanup_database.py +0 -0
  53. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/management/commands/cleanup_rrset_ttl.py +0 -0
  54. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/management/commands/setup_dnssync.py +0 -0
  55. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/management/commands/update_soa.py +0 -0
  56. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0001_squashed_netbox_dns_0_15.py +0 -0
  57. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0001_squashed_netbox_dns_0_22.py +0 -0
  58. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0002_contact_description_registrar_description.py +0 -0
  59. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0003_default_view.py +0 -0
  60. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0004_create_and_assign_default_view.py +0 -0
  61. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0005_alter_zone_view_not_null.py +0 -0
  62. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0006_templating.py +0 -0
  63. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0007_view_prefixes.py +0 -0
  64. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0020_netbox_3_4.py +0 -0
  65. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0021_record_ip_address.py +0 -0
  66. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0022_search.py +0 -0
  67. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0023_alter_record_value.py +0 -0
  68. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0024_tenancy.py +0 -0
  69. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0025_ipam_coupling_cf.py +0 -0
  70. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0026_domain_registration.py +0 -0
  71. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0027_alter_registrar_iana_id.py +0 -0
  72. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0028_rfc2317_fields.py +0 -0
  73. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/0029_record_fqdn.py +0 -0
  74. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/migrations/__init__.py +0 -0
  75. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/mixins/__init__.py +0 -0
  76. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/mixins/object_modification.py +0 -0
  77. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/__init__.py +0 -0
  78. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/contact.py +0 -0
  79. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/nameserver.py +0 -0
  80. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/record.py +0 -0
  81. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/record_template.py +0 -0
  82. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/registrar.py +0 -0
  83. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/view.py +0 -0
  84. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/zone.py +0 -0
  85. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/models/zone_template.py +0 -0
  86. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/navigation.py +0 -0
  87. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/signals/__init__.py +0 -0
  88. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/signals/ipam_dnssync.py +0 -0
  89. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/__init__.py +0 -0
  90. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/contact.py +0 -0
  91. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/ipam_dnssync.py +0 -0
  92. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/nameserver.py +0 -0
  93. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/record.py +0 -0
  94. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/record_template.py +0 -0
  95. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/registrar.py +0 -0
  96. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/view.py +0 -0
  97. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/zone.py +0 -0
  98. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/tables/zone_template.py +0 -0
  99. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/template_content.py +0 -0
  100. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/contact.html +0 -0
  101. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/nameserver.html +0 -0
  102. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/record/managed.html +0 -0
  103. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/record/related.html +0 -0
  104. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/record.html +0 -0
  105. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/recordtemplate.html +0 -0
  106. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/registrar.html +0 -0
  107. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/view/button.html +0 -0
  108. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/view/prefix.html +0 -0
  109. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/view/related.html +0 -0
  110. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/view.html +0 -0
  111. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone/base.html +0 -0
  112. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone/child.html +0 -0
  113. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone/child_zone.html +0 -0
  114. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone/managed_record.html +0 -0
  115. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone/record.html +0 -0
  116. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone/registration.html +0 -0
  117. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone/rfc2317_child_zone.html +0 -0
  118. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zone.html +0 -0
  119. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/templates/netbox_dns/zonetemplate.html +0 -0
  120. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/__init__.py +0 -0
  121. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/contact.py +0 -0
  122. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/nameserver.py +0 -0
  123. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/record.py +0 -0
  124. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/record_template.py +0 -0
  125. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/registrar.py +0 -0
  126. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/view.py +0 -0
  127. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/zone.py +0 -0
  128. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/urls/zone_template.py +0 -0
  129. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/utilities/__init__.py +0 -0
  130. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/utilities/conversions.py +0 -0
  131. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/validators/__init__.py +0 -0
  132. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/validators/dns_name.py +0 -0
  133. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/validators/dns_value.py +0 -0
  134. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/validators/rfc2317.py +0 -0
  135. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/__init__.py +0 -0
  136. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/contact.py +0 -0
  137. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/nameserver.py +0 -0
  138. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/record.py +0 -0
  139. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/record_template.py +0 -0
  140. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/registrar.py +0 -0
  141. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/view.py +0 -0
  142. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/zone.py +0 -0
  143. {netbox_plugin_dns-1.1.0b5 → netbox_plugin_dns-1.1.0b6}/netbox_dns/views/zone_template.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: netbox-plugin-dns
3
- Version: 1.1.0b5
3
+ Version: 1.1.0b6
4
4
  Summary: NetBox DNS is a NetBox plugin for managing DNS data.
5
5
  Home-page: https://github.com/peteeckel/netbox-plugin-dns
6
6
  License: MIT
@@ -48,6 +48,7 @@ The main focus of the plugin is to ensure the quality of the data stored in it.
48
48
  * Validation of record types such as CNAME and singletons, to ensure DNS zone validity
49
49
  * Support for [RFC 2317](https://datatracker.ietf.org/doc/html/rfc2317) delegation of PTR zones for IPv4 subnets longer than 24 bits
50
50
  * Templating for zones and records enables faster creations of zones with given boilerplate object relations, such as name servers, tags, tenants or registration information, or records like standard SPF or MX records that are the same for a subset of zones
51
+ * IPAM DNSsync can be used to automatically create address and pointer records for IP addresses by assigning prefixes to DNS views. When an IP address has a DNS name assigned and there are zones with matching names in the DNS views linked to the IP address' prefix, a matching DNS record will be created in these zones
51
52
 
52
53
  Other main features include:
53
54
 
@@ -28,6 +28,7 @@ The main focus of the plugin is to ensure the quality of the data stored in it.
28
28
  * Validation of record types such as CNAME and singletons, to ensure DNS zone validity
29
29
  * Support for [RFC 2317](https://datatracker.ietf.org/doc/html/rfc2317) delegation of PTR zones for IPv4 subnets longer than 24 bits
30
30
  * Templating for zones and records enables faster creations of zones with given boilerplate object relations, such as name servers, tags, tenants or registration information, or records like standard SPF or MX records that are the same for a subset of zones
31
+ * IPAM DNSsync can be used to automatically create address and pointer records for IP addresses by assigning prefixes to DNS views. When an IP address has a DNS name assigned and there are zones with matching names in the DNS views linked to the IP address' prefix, a matching DNS record will be created in these zones
31
32
 
32
33
  Other main features include:
33
34
 
@@ -5,7 +5,7 @@ from ipam.choices import IPAddressStatusChoices
5
5
 
6
6
  from netbox_dns.choices import RecordTypeChoices
7
7
 
8
- __version__ = "1.1.0b5"
8
+ __version__ = "1.1.0b6"
9
9
 
10
10
 
11
11
  class DNSConfig(PluginConfig):
@@ -32,6 +32,7 @@ class DNSConfig(PluginConfig):
32
32
  IPAddressStatusChoices.STATUS_SLAAC,
33
33
  ],
34
34
  "dnssync_conflict_deactivate": False,
35
+ "dnssync_minimum_zone_labels": 2,
35
36
  "tolerate_characters_in_zone_labels": "",
36
37
  "tolerate_underscores_in_labels": False,
37
38
  "tolerate_underscores_in_hostnames": False, # Deprecated, will be removed in 1.2.0
@@ -44,7 +44,7 @@ def _get_assigned_views(ip_address):
44
44
 
45
45
  def _get_record_status(ip_address):
46
46
  return (
47
- RecordStatusChoices.STATE_ACTIVE
47
+ RecordStatusChoices.STATUS_ACTIVE
48
48
  if ip_address.status
49
49
  in settings.PLUGINS_CONFIG["netbox_dns"].get(
50
50
  "dnssync_ipaddress_active_status", []
@@ -68,9 +68,13 @@ def get_zones(ip_address, view=None, old_zone=None):
68
68
  else:
69
69
  views = [view]
70
70
 
71
+ min_labels = settings.PLUGINS_CONFIG["netbox_dns"].get(
72
+ "dnssync_minimum_zone_labels", 2
73
+ )
71
74
  fqdn = dns_name.from_text(ip_address.dns_name)
72
75
  zone_name_candidates = [
73
- fqdn.split(i)[1].to_text().rstrip(".") for i in range(3, len(fqdn.labels))
76
+ fqdn.split(i)[1].to_text().rstrip(".")
77
+ for i in range(min_labels + 1, len(fqdn.labels))
74
78
  ]
75
79
 
76
80
  zones = _zone.Zone.objects.filter(
@@ -159,10 +163,17 @@ def update_dns_records(ip_address):
159
163
  record.delete()
160
164
  continue
161
165
 
166
+ cf_disable_ptr = ip_address.custom_field_data.get(
167
+ "ipaddress_dns_record_disable_ptr"
168
+ )
169
+
162
170
  if (
163
- record.fqdn != ip_address.dns_name
164
- or record.value != ip_address.address.ip
171
+ record.fqdn.rstrip(".") != ip_address.dns_name.rstrip(".")
172
+ or record.value != str(ip_address.address.ip)
165
173
  or record.status != _get_record_status(ip_address)
174
+ or record.ttl
175
+ != ip_address.custom_field_data.get("ipaddress_dns_record_ttl")
176
+ or (cf_disable_ptr is not None and record.disable_ptr != cf_disable_ptr)
166
177
  ):
167
178
  record.update_from_ip_address(ip_address)
168
179
 
@@ -217,7 +228,9 @@ def get_ip_addresses_by_prefix(prefix, check_view=True):
217
228
  vrf=prefix.vrf, address__net_host_contained=prefix.prefix
218
229
  )
219
230
 
220
- for exclude_child in prefix.get_children().filter(netbox_dns_views__isnull=False):
231
+ for exclude_child in (
232
+ prefix.get_children().filter(netbox_dns_views__isnull=False).distinct()
233
+ ):
221
234
  queryset = queryset.exclude(
222
235
  vrf=exclude_child.vrf,
223
236
  address__net_host_contained=exclude_child.prefix,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "netbox-plugin-dns"
3
- version = "1.1.0b5"
3
+ version = "1.1.0b6"
4
4
  description = "NetBox DNS is a NetBox plugin for managing DNS data."
5
5
  authors = ["Peter Eckel <pete@netbox-dns.org>"]
6
6
  homepage = "https://github.com/peteeckel/netbox-plugin-dns"