diff --git a/netbox/dns/forms.py b/netbox/dns/forms.py index 72f8dc7d8..f2f0df617 100644 --- a/netbox/dns/forms.py +++ b/netbox/dns/forms.py @@ -36,7 +36,7 @@ class ZoneForm(forms.ModelForm, BootstrapMixin): 'soa_refresh': "Refresh time, in seconds", 'soa_retry': "Retry time, in seconds", 'soa_expire': "Expire time, in seconds", - 'soa_minimum': "Negative result TTL, in seconds" + 'soa_minimum': "Negative result TTL, in seconds", } class ZoneFromCSVForm(forms.ModelForm): diff --git a/netbox/ipam/forms.py b/netbox/ipam/forms.py index b39dd0175..a33e68362 100644 --- a/netbox/ipam/forms.py +++ b/netbox/ipam/forms.py @@ -149,7 +149,16 @@ class PrefixForm(forms.ModelForm, BootstrapMixin): class Meta: model = Prefix - fields = ['prefix', 'vrf', 'site', 'vlan', 'status', 'role', 'description'] + fields = ['prefix', 'vrf', 'site', 'vlan', 'status', 'role', 'description', 'ttl', 'soa_name', 'soa_contact', 'soa_refresh', 'soa_retry', 'soa_expire', 'soa_minimum'] + labels = { + 'ttl': 'Rev. DNS - TTL', + 'soa_name': 'Rev. DNS - SOA Name', + 'soa_contact': 'Rev. DNS - SOA Contact', + 'soa_refresh': 'Rev. DNS - SOA Refresh', + 'soa_retry': 'Rev. DNS - SOA Retry', + 'soa_expire': 'Rev. DNS - SOA Expire', + 'soa_minimum': 'Rev. DNS - SOA Minimum', + } help_texts = { 'prefix': "IPv4 or IPv6 network", 'vrf': "VRF (if applicable)", @@ -157,6 +166,13 @@ class PrefixForm(forms.ModelForm, BootstrapMixin): 'vlan': "The VLAN to which this prefix is assigned (if applicable)", 'status': "Operational status of this prefix", 'role': "The primary function of this prefix", + 'ttl': "Time to live, in seconds", + 'soa_name': "The primary name server for the domain, @ for origin", + 'soa_contact': "The responsible party for the zone (e.g. ns.foo.net. noc.foo.net.)", + 'soa_refresh': "Refresh time, in seconds", + 'soa_retry': "Retry time, in seconds", + 'soa_expire': "Expire time, in seconds", + 'soa_minimum': "Negative result TTL, in seconds", } def __init__(self, *args, **kwargs): @@ -200,7 +216,7 @@ class PrefixFromCSVForm(forms.ModelForm): class Meta: model = Prefix - fields = ['prefix', 'vrf', 'site', 'vlan_group_name', 'vlan_vid', 'status_name', 'role', 'description'] + fields = ['prefix', 'vrf', 'site', 'vlan_group_name', 'vlan_vid', 'status_name', 'role', 'description', 'ttl', 'soa_name', 'soa_contact', 'soa_refresh', 'soa_retry', 'soa_expire', 'soa_minimum'] def clean(self): @@ -253,6 +269,14 @@ class PrefixBulkEditForm(forms.Form, BootstrapMixin): role = forms.ModelChoiceField(queryset=Role.objects.all(), required=False) description = forms.CharField(max_length=50, required=False) + ttl = forms.IntegerField(required=False, label='Reverse DNS - TTL') + soa_name = forms.CharField(max_length=100, required=False, label='Reverse DNS - SOA Name') + soa_contact = forms.CharField(max_length=100, required=False, label='Reverse DNS - SOA Contact') + soa_refresh = forms.IntegerField(required=False, label='Reverse DNS - SOA Refresh') + soa_retry = forms.IntegerField(required=False, label='Reverse DNS - SOA Retry') + soa_expire = forms.IntegerField(required=False, label='Reverse DNS - SOA Expire') + soa_minimum = forms.IntegerField(required=False, label='Reverse DNS - SOA Minimum') + class PrefixBulkDeleteForm(ConfirmationForm): pk = forms.ModelMultipleChoiceField(queryset=Prefix.objects.all(), widget=forms.MultipleHiddenInput) diff --git a/netbox/ipam/models.py b/netbox/ipam/models.py index c5d87a5ad..e407ebf00 100644 --- a/netbox/ipam/models.py +++ b/netbox/ipam/models.py @@ -306,6 +306,14 @@ class Prefix(CreatedUpdatedModel): self.get_status_display(), self.role.name if self.role else '', self.description, + self.ttl if self.ttl else '', + self.soa_name if self.soa_name else '', + self.soa_contact if self.soa_contact else '', + self.soa_serial if self.soa_serial else '', + self.soa_refresh if self.soa_refresh else '', + self.soa_retry if self.soa_retry else '', + self.soa_expire if self.soa_expire else '', + self.soa_minimum if self.soa_minimum else '', ]) @property diff --git a/netbox/templates/dns/zone.html b/netbox/templates/dns/zone.html index e85592a34..c9a76f136 100644 --- a/netbox/templates/dns/zone.html +++ b/netbox/templates/dns/zone.html @@ -126,7 +126,7 @@
{{ bind_export }} |
+ {{ bind_export }} |
192.168.42.0/24,65000:123,HQ,Customers,801,Active,Customer,7th floor WiFi+
192.168.42.0/24,65000:123,HQ,Customers,801,Active,Customer,7th floor WiFi,10800,@,ns.foo.net. noc.foo.net.,3600,3600,604800,1800{% endblock %}