mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-27 10:58:37 -06:00
Add bind exports in dns api
This commit is contained in:
parent
4046d697fc
commit
6230ae13cc
@ -9,10 +9,18 @@ from dns.models import Zone, Record
|
|||||||
|
|
||||||
class ZoneSerializer(serializers.ModelSerializer):
|
class ZoneSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
bind_export = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model=Zone
|
model=Zone
|
||||||
fields = ['id', 'name', 'ttl', 'soa_name', 'soa_contact', 'soa_serial', 'soa_refresh', 'soa_retry', 'soa_expire', 'soa_minimum']
|
fields = ['id', 'name', 'ttl', 'soa_name', 'soa_contact', 'soa_serial', 'soa_refresh', 'soa_retry', 'soa_expire', 'soa_minimum']
|
||||||
|
|
||||||
|
def get_bind_export(self, obj):
|
||||||
|
records = Record.objects.filter(zone=obj)
|
||||||
|
return {
|
||||||
|
'export': obj.to_bind(records),
|
||||||
|
}
|
||||||
|
|
||||||
class ZoneNestedSerializer(ZoneSerializer):
|
class ZoneNestedSerializer(ZoneSerializer):
|
||||||
|
|
||||||
class Meta(ZoneSerializer.Meta):
|
class Meta(ZoneSerializer.Meta):
|
||||||
@ -27,11 +35,17 @@ class RecordSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
zone = ZoneNestedSerializer()
|
zone = ZoneNestedSerializer()
|
||||||
address = IPAddressNestedSerializer()
|
address = IPAddressNestedSerializer()
|
||||||
|
bind_export = serializers.SerializerMethodField()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model=Record
|
model=Record
|
||||||
fields = ['id', 'name', 'record_type', 'priority', 'zone', 'address', 'value']
|
fields = ['id', 'name', 'record_type', 'priority', 'zone', 'address', 'value']
|
||||||
|
|
||||||
|
def get_bind_export(self, obj):
|
||||||
|
return {
|
||||||
|
'export': obj.to_bind(),
|
||||||
|
}
|
||||||
|
|
||||||
class RecordNestedSerializer(RecordSerializer):
|
class RecordNestedSerializer(RecordSerializer):
|
||||||
|
|
||||||
class Meta(RecordSerializer.Meta):
|
class Meta(RecordSerializer.Meta):
|
||||||
|
Loading…
Reference in New Issue
Block a user