From 68081fb9a28619698339b80d431aa2329ddaac22 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 25 Oct 2021 11:07:15 -0400 Subject: [PATCH] Cleanup & API changelog for #3979 --- docs/release-notes/version-3.1.md | 11 +++++++++++ netbox/dcim/api/serializers.py | 9 ++++++--- netbox/wireless/api/urls.py | 2 +- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index b047e1320..ef7500e1e 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -6,6 +6,7 @@ ### Breaking Changes * The `tenant` and `tenant_id` filters for the Cable model now filter on the tenant assigned directly to each cable, rather than on the parent object of either termination. +* The `cable_peer` and `cable_peer_type` attributes of the interface model has been renamed to `link_peer` and `link_peer_type`, respectively, to accommodate wireless links. ### New Features @@ -71,6 +72,10 @@ Multiple interfaces can be bridged to a single virtual interface to effect a bri * `/api/tenancy/contact-groups/` * `/api/tenancy/contact-roles/` * `/api/tenancy/contacts/` +* Added the following endpoints for wireless networks: + * `/api/wireless/wireless-lans/` + * `/api/wireless/wireless-lan-groups/` + * `/api/wireless/wireless-links/` * Added `tags` field to the following models: * circuits.CircuitType * dcim.DeviceRole @@ -96,7 +101,13 @@ Multiple interfaces can be bridged to a single virtual interface to effect a bri * Added `airflow` field * dcim.Interface * Added `bridge` field + * Added `rf_role` field + * Added `rf_channel` field + * Added `rf_channel_frequency` field + * Added `rf_chanel_width` field * Added `wwn` field + * `cable_peer` has been renamed to `link_peer` + * `cable_peer_type` has been renamed to `link_peer_type` * dcim.Location * Added `tenant` field * extras.Webhook diff --git a/netbox/dcim/api/serializers.py b/netbox/dcim/api/serializers.py index 1f2897a7f..d8c5a7771 100644 --- a/netbox/dcim/api/serializers.py +++ b/netbox/dcim/api/serializers.py @@ -17,6 +17,7 @@ from tenancy.api.nested_serializers import NestedTenantSerializer from users.api.nested_serializers import NestedUserSerializer from utilities.api import get_serializer_for_model from virtualization.api.nested_serializers import NestedClusterSerializer +from wireless.api.nested_serializers import NestedWirelessLinkSerializer from wireless.choices import * from .nested_serializers import * @@ -618,6 +619,7 @@ class InterfaceSerializer(PrimaryModelSerializer, LinkTerminationSerializer, Con many=True ) cable = NestedCableSerializer(read_only=True) + wireless_link = NestedWirelessLinkSerializer(read_only=True) count_ipaddresses = serializers.IntegerField(read_only=True) class Meta: @@ -625,9 +627,10 @@ class InterfaceSerializer(PrimaryModelSerializer, LinkTerminationSerializer, Con fields = [ 'id', 'url', 'display', 'device', 'name', 'label', 'type', 'enabled', 'parent', 'bridge', 'lag', 'mtu', 'mac_address', 'wwn', 'mgmt_only', 'description', 'mode', 'rf_role', 'rf_channel', 'rf_channel_frequency', - 'rf_channel_width', 'untagged_vlan', 'tagged_vlans', 'mark_connected', 'cable', 'link_peer', - 'link_peer_type', 'connected_endpoint', 'connected_endpoint_type', 'connected_endpoint_reachable', 'tags', - 'custom_fields', 'created', 'last_updated', 'count_ipaddresses', '_occupied', + 'rf_channel_width', 'untagged_vlan', 'tagged_vlans', 'mark_connected', 'cable', 'wireless_link', + 'link_peer', 'link_peer_type', 'connected_endpoint', 'connected_endpoint_type', + 'connected_endpoint_reachable', 'tags', 'custom_fields', 'created', 'last_updated', 'count_ipaddresses', + '_occupied', ] def validate(self, data): diff --git a/netbox/wireless/api/urls.py b/netbox/wireless/api/urls.py index 54f764db6..b02aa67c0 100644 --- a/netbox/wireless/api/urls.py +++ b/netbox/wireless/api/urls.py @@ -5,7 +5,7 @@ from . import views router = OrderedDefaultRouter() router.APIRootView = views.WirelessRootView -router.register('wireless-lan-groupss', views.WirelessLANGroupViewSet) +router.register('wireless-lan-groups', views.WirelessLANGroupViewSet) router.register('wireless-lans', views.WirelessLANViewSet) router.register('wireless-links', views.WirelessLinkViewSet)