diff --git a/netbox/circuits/api/serializers.py b/netbox/circuits/api/serializers.py index d2432374f..51a5ec878 100644 --- a/netbox/circuits/api/serializers.py +++ b/netbox/circuits/api/serializers.py @@ -19,7 +19,7 @@ class ProviderSerializer(CustomFieldModelSerializer): model = Provider fields = [ 'id', 'name', 'slug', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'comments', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] @@ -37,7 +37,7 @@ class WritableProviderSerializer(CustomFieldModelSerializer): model = Provider fields = [ 'id', 'name', 'slug', 'asn', 'account', 'portal_url', 'noc_contact', 'admin_contact', 'comments', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] @@ -73,7 +73,7 @@ class CircuitSerializer(CustomFieldModelSerializer): model = Circuit fields = [ 'id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'description', 'comments', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] @@ -91,7 +91,7 @@ class WritableCircuitSerializer(CustomFieldModelSerializer): model = Circuit fields = [ 'id', 'cid', 'provider', 'type', 'tenant', 'install_date', 'commit_rate', 'description', 'comments', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index ed9cf318f..a58fc3369 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -65,7 +65,8 @@ class SiteSerializer(CustomFieldModelSerializer): fields = [ 'id', 'name', 'slug', 'region', 'tenant', 'facility', 'asn', 'time_zone', 'physical_address', 'shipping_address', 'contact_name', 'contact_phone', 'contact_email', 'comments', 'custom_fields', - 'count_prefixes', 'count_vlans', 'count_racks', 'count_devices', 'count_circuits', + 'created', 'last_updated', 'count_prefixes', 'count_vlans', 'count_racks', 'count_devices', + 'count_circuits', ] @@ -85,6 +86,7 @@ class WritableSiteSerializer(CustomFieldModelSerializer): fields = [ 'id', 'name', 'slug', 'region', 'tenant', 'facility', 'asn', 'time_zone', 'physical_address', 'shipping_address', 'contact_name', 'contact_phone', 'contact_email', 'comments', 'custom_fields', + 'created', 'last_updated', ] @@ -150,7 +152,7 @@ class RackSerializer(CustomFieldModelSerializer): model = Rack fields = [ 'id', 'name', 'facility_id', 'display_name', 'site', 'group', 'tenant', 'role', 'serial', 'type', 'width', - 'u_height', 'desc_units', 'comments', 'custom_fields', + 'u_height', 'desc_units', 'comments', 'custom_fields', 'created', 'last_updated', ] @@ -168,7 +170,7 @@ class WritableRackSerializer(CustomFieldModelSerializer): model = Rack fields = [ 'id', 'name', 'facility_id', 'site', 'group', 'tenant', 'role', 'serial', 'type', 'width', 'u_height', - 'desc_units', 'comments', 'custom_fields', + 'desc_units', 'comments', 'custom_fields', 'created', 'last_updated', ] # Omit the UniqueTogetherValidator that would be automatically added to validate (site, facility_id). This # prevents facility_id from being interpreted as a required field. @@ -493,7 +495,7 @@ class DeviceSerializer(CustomFieldModelSerializer): fields = [ 'id', 'name', 'display_name', 'device_type', 'device_role', 'tenant', 'platform', 'serial', 'asset_tag', 'site', 'rack', 'position', 'face', 'parent_device', 'status', 'primary_ip', 'primary_ip4', 'primary_ip6', - 'cluster', 'comments', 'custom_fields', + 'cluster', 'comments', 'custom_fields', 'created', 'last_updated', ] def get_parent_device(self, obj): @@ -514,6 +516,7 @@ class WritableDeviceSerializer(CustomFieldModelSerializer): fields = [ 'id', 'name', 'device_type', 'device_role', 'tenant', 'platform', 'serial', 'asset_tag', 'site', 'rack', 'position', 'face', 'status', 'primary_ip4', 'primary_ip6', 'cluster', 'comments', 'custom_fields', + 'created', 'last_updated', ] validators = [] diff --git a/netbox/ipam/api/serializers.py b/netbox/ipam/api/serializers.py index 75fbfbe49..2eca51895 100644 --- a/netbox/ipam/api/serializers.py +++ b/netbox/ipam/api/serializers.py @@ -27,7 +27,10 @@ class VRFSerializer(CustomFieldModelSerializer): class Meta: model = VRF - fields = ['id', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'display_name', 'custom_fields'] + fields = [ + 'id', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'display_name', 'custom_fields', 'created', + 'last_updated', + ] class NestedVRFSerializer(serializers.ModelSerializer): @@ -42,7 +45,9 @@ class WritableVRFSerializer(CustomFieldModelSerializer): class Meta: model = VRF - fields = ['id', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'custom_fields'] + fields = [ + 'id', 'name', 'rd', 'tenant', 'enforce_unique', 'description', 'custom_fields', 'created', 'last_updated', + ] # @@ -92,7 +97,9 @@ class AggregateSerializer(CustomFieldModelSerializer): class Meta: model = Aggregate - fields = ['id', 'family', 'prefix', 'rir', 'date_added', 'description', 'custom_fields'] + fields = [ + 'id', 'family', 'prefix', 'rir', 'date_added', 'description', 'custom_fields', 'created', 'last_updated', + ] class NestedAggregateSerializer(serializers.ModelSerializer): @@ -107,7 +114,7 @@ class WritableAggregateSerializer(CustomFieldModelSerializer): class Meta: model = Aggregate - fields = ['id', 'prefix', 'rir', 'date_added', 'description', 'custom_fields'] + fields = ['id', 'prefix', 'rir', 'date_added', 'description', 'custom_fields', 'created', 'last_updated'] # @@ -167,7 +174,7 @@ class VLANSerializer(CustomFieldModelSerializer): model = VLAN fields = [ 'id', 'site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'display_name', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] @@ -183,7 +190,10 @@ class WritableVLANSerializer(CustomFieldModelSerializer): class Meta: model = VLAN - fields = ['id', 'site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'custom_fields'] + fields = [ + 'id', 'site', 'group', 'vid', 'name', 'tenant', 'status', 'role', 'description', 'custom_fields', 'created', + 'last_updated', + ] validators = [] def validate(self, data): @@ -217,7 +227,7 @@ class PrefixSerializer(CustomFieldModelSerializer): model = Prefix fields = [ 'id', 'family', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'is_pool', 'description', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] @@ -235,7 +245,7 @@ class WritablePrefixSerializer(CustomFieldModelSerializer): model = Prefix fields = [ 'id', 'prefix', 'site', 'vrf', 'tenant', 'vlan', 'status', 'role', 'is_pool', 'description', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] @@ -288,7 +298,7 @@ class IPAddressSerializer(CustomFieldModelSerializer): model = IPAddress fields = [ 'id', 'family', 'address', 'vrf', 'tenant', 'status', 'role', 'interface', 'description', 'nat_inside', - 'nat_outside', 'custom_fields', + 'nat_outside', 'custom_fields', 'created', 'last_updated', ] @@ -310,7 +320,7 @@ class WritableIPAddressSerializer(CustomFieldModelSerializer): model = IPAddress fields = [ 'id', 'address', 'vrf', 'tenant', 'status', 'role', 'interface', 'description', 'nat_inside', - 'custom_fields', + 'custom_fields', 'created', 'last_updated', ] @@ -340,7 +350,10 @@ class ServiceSerializer(serializers.ModelSerializer): class Meta: model = Service - fields = ['id', 'device', 'virtual_machine', 'name', 'port', 'protocol', 'ipaddresses', 'description'] + fields = [ + 'id', 'device', 'virtual_machine', 'name', 'port', 'protocol', 'ipaddresses', 'description', 'created', + 'last_updated', + ] # TODO: Figure out how to use model validation with ManyToManyFields. Calling clean() yields a ValueError. @@ -348,4 +361,7 @@ class WritableServiceSerializer(serializers.ModelSerializer): class Meta: model = Service - fields = ['id', 'device', 'virtual_machine', 'name', 'port', 'protocol', 'ipaddresses', 'description'] + fields = [ + 'id', 'device', 'virtual_machine', 'name', 'port', 'protocol', 'ipaddresses', 'description', 'created', + 'last_updated', + ] diff --git a/netbox/secrets/api/serializers.py b/netbox/secrets/api/serializers.py index b7c4bac9a..6eb84efaa 100644 --- a/netbox/secrets/api/serializers.py +++ b/netbox/secrets/api/serializers.py @@ -45,7 +45,7 @@ class WritableSecretSerializer(serializers.ModelSerializer): class Meta: model = Secret - fields = ['id', 'device', 'role', 'name', 'plaintext'] + fields = ['id', 'device', 'role', 'name', 'plaintext', 'hash', 'created', 'last_updated'] validators = [] def validate(self, data): diff --git a/netbox/tenancy/api/serializers.py b/netbox/tenancy/api/serializers.py index a52ac2c60..454e41c52 100644 --- a/netbox/tenancy/api/serializers.py +++ b/netbox/tenancy/api/serializers.py @@ -35,7 +35,7 @@ class TenantSerializer(CustomFieldModelSerializer): class Meta: model = Tenant - fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_fields'] + fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_fields', 'created', 'last_updated'] class NestedTenantSerializer(serializers.ModelSerializer): @@ -50,4 +50,4 @@ class WritableTenantSerializer(CustomFieldModelSerializer): class Meta: model = Tenant - fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_fields'] + fields = ['id', 'name', 'slug', 'group', 'description', 'comments', 'custom_fields', 'created', 'last_updated'] diff --git a/netbox/virtualization/api/serializers.py b/netbox/virtualization/api/serializers.py index 078df19b6..6268c0227 100644 --- a/netbox/virtualization/api/serializers.py +++ b/netbox/virtualization/api/serializers.py @@ -62,7 +62,7 @@ class ClusterSerializer(CustomFieldModelSerializer): class Meta: model = Cluster - fields = ['id', 'name', 'type', 'group', 'site', 'comments', 'custom_fields'] + fields = ['id', 'name', 'type', 'group', 'site', 'comments', 'custom_fields', 'created', 'last_updated'] class NestedClusterSerializer(serializers.ModelSerializer): @@ -77,7 +77,7 @@ class WritableClusterSerializer(CustomFieldModelSerializer): class Meta: model = Cluster - fields = ['id', 'name', 'type', 'group', 'site', 'comments', 'custom_fields'] + fields = ['id', 'name', 'type', 'group', 'site', 'comments', 'custom_fields', 'created', 'last_updated'] # @@ -107,7 +107,7 @@ class VirtualMachineSerializer(CustomFieldModelSerializer): model = VirtualMachine fields = [ 'id', 'name', 'status', 'cluster', 'role', 'tenant', 'platform', 'primary_ip', 'primary_ip4', 'primary_ip6', - 'vcpus', 'memory', 'disk', 'comments', 'custom_fields', + 'vcpus', 'memory', 'disk', 'comments', 'custom_fields', 'created', 'last_updated', ] @@ -125,7 +125,7 @@ class WritableVirtualMachineSerializer(CustomFieldModelSerializer): model = VirtualMachine fields = [ 'id', 'name', 'status', 'cluster', 'role', 'tenant', 'platform', 'primary_ip4', 'primary_ip6', 'vcpus', - 'memory', 'disk', 'comments', 'custom_fields', + 'memory', 'disk', 'comments', 'custom_fields', 'created', 'last_updated', ]