urls.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. from django.urls import path
  2. from netbox.api.routers import NetBoxRouter
  3. from . import views
  4. router = NetBoxRouter()
  5. router.APIRootView = views.IPAMRootView
  6. router.register('asns', views.ASNViewSet)
  7. router.register('asn-ranges', views.ASNRangeViewSet)
  8. router.register('vrfs', views.VRFViewSet)
  9. router.register('route-targets', views.RouteTargetViewSet)
  10. router.register('rirs', views.RIRViewSet)
  11. router.register('aggregates', views.AggregateViewSet)
  12. router.register('roles', views.RoleViewSet)
  13. router.register('prefixes', views.PrefixViewSet)
  14. router.register('ip-ranges', views.IPRangeViewSet)
  15. router.register('ip-addresses', views.IPAddressViewSet)
  16. router.register('fhrp-groups', views.FHRPGroupViewSet)
  17. router.register('fhrp-group-assignments', views.FHRPGroupAssignmentViewSet)
  18. router.register('vlan-groups', views.VLANGroupViewSet)
  19. router.register('vlans', views.VLANViewSet)
  20. router.register('service-templates', views.ServiceTemplateViewSet)
  21. router.register('services', views.ServiceViewSet)
  22. router.register('l2vpns', views.L2VPNViewSet)
  23. router.register('l2vpn-terminations', views.L2VPNTerminationViewSet)
  24. app_name = 'ipam-api'
  25. urlpatterns = [
  26. path(
  27. 'asn-ranges/<int:pk>/available-asns/',
  28. views.AvailableASNsView.as_view(),
  29. name='asnrange-available-asns'
  30. ),
  31. path(
  32. 'ip-ranges/<int:pk>/available-ips/',
  33. views.IPRangeAvailableIPAddressesView.as_view(),
  34. name='iprange-available-ips'
  35. ),
  36. path(
  37. 'prefixes/<int:pk>/available-prefixes/',
  38. views.AvailablePrefixesView.as_view(),
  39. name='prefix-available-prefixes'
  40. ),
  41. path(
  42. 'prefixes/<int:pk>/available-ips/',
  43. views.PrefixAvailableIPAddressesView.as_view(),
  44. name='prefix-available-ips'
  45. ),
  46. path(
  47. 'vlan-groups/<int:pk>/available-vlans/',
  48. views.AvailableVLANsView.as_view(),
  49. name='vlangroup-available-vlans'
  50. ),
  51. ]
  52. urlpatterns += router.urls