diff --git a/netbox/dcim/models.py b/netbox/dcim/models.py index 0eea17c32..9a1f71847 100644 --- a/netbox/dcim/models.py +++ b/netbox/dcim/models.py @@ -2267,6 +2267,7 @@ class VirtualChassis(ChangeLoggedModel): tags = TaggableManager() serializer = 'dcim.api.serializers.VirtualChassisSerializer' + csv_headers = ['master', 'domain'] class Meta: ordering = ['master'] @@ -2286,3 +2287,9 @@ class VirtualChassis(ChangeLoggedModel): raise ValidationError({ 'master': "The selected master is not assigned to this virtual chassis." }) + + def to_csv(self): + return ( + self.master, + self.domain, + ) diff --git a/netbox/extras/constants.py b/netbox/extras/constants.py index 2663d81c3..e1e12b78f 100644 --- a/netbox/extras/constants.py +++ b/netbox/extras/constants.py @@ -50,7 +50,7 @@ GRAPH_TYPE_CHOICES = ( EXPORTTEMPLATE_MODELS = [ 'provider', 'circuit', # Circuits 'site', 'region', 'rack', 'rackgroup', 'manufacturer', 'devicetype', 'device', # DCIM - 'consoleport', 'powerport', 'interfaceconnection', # DCIM + 'consoleport', 'powerport', 'interfaceconnection', 'virtualchassis', # DCIM 'aggregate', 'prefix', 'ipaddress', 'vlan', 'vrf', # IPAM 'tenant', # Tenancy 'cluster', 'virtualmachine', # Virtualization diff --git a/netbox/templates/dcim/virtualchassis_list.html b/netbox/templates/dcim/virtualchassis_list.html index 756bc5f28..3f1781d95 100644 --- a/netbox/templates/dcim/virtualchassis_list.html +++ b/netbox/templates/dcim/virtualchassis_list.html @@ -1,7 +1,11 @@ {% extends '_base.html' %} +{% load buttons %} {% load helpers %} {% block content %} +
+ {% export_button content_type %} +

{% block title %}Virtual Chassis{% endblock %}