urls.py 1.8 KB

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