8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-08-19 13:43:40 +00:00

Serialisation des réglages pour la provision

This commit is contained in:
Gabriel Detraz 2018-07-09 22:59:47 +02:00
parent 99503658b7
commit 27374d7a43
2 changed files with 13 additions and 4 deletions

View file

@ -723,7 +723,9 @@ class SwitchPortSerializer(serializers.ModelSerializer):
class Meta:
model = topologie.Switch
fields = ('short_name', 'complete_name', 'model', 'switchbay', 'ports', 'ipv4', 'ipv6', 'subnet', 'subnet6')
fields = ('short_name', 'model', 'switchbay', 'ports', 'ipv4', 'ipv6',
'subnet', 'subnet6', 'automatic_provision', 'rest_enabled',
'web_management_enabled')
# DHCP

View file

@ -273,7 +273,11 @@ class Switch(AclMixin, Machine):
ValidationError("Création d'un port existant.")
def main_interface(self):
""" Returns the 'main' interface of the switch """
""" Returns the 'main' interface of the switch
It must the the management interface for that device"""
switch_iptype = OptionalTopologie.get_cached_value('switchs_ip_type')
if switch_iptype:
return self.interface_set.filter(type__ip_type=switch_iptype).first()
return self.interface_set.first()
@cached_property
@ -286,19 +290,22 @@ class Switch(AclMixin, Machine):
@cached_property
def ipv4(self):
"""Return the switch's management ipv4"""
return str(self.main_interface().ipv4)
@cached_property
def ipv6(self):
"""Returne the switch's management ipv6"""
return str(self.main_interface().ipv6().first())
@cached_property
def subnet(self):
return self.main_interface().type.ip_type.ip_set_full_info
""" Return the subnet of the management ip"""
return self.main_interface().type.ip_type.ip_set_full_info
@cached_property
def subnet6(self):
return self.main_interface().type.ip_type.ip6_set_full_info
return self.main_interface().type.ip_type.ip6_set_full_info
def __str__(self):
return str(self.main_interface())