urls.py 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. from django.urls import include, path
  2. from utilities.urls import get_model_urls
  3. from . import views
  4. app_name = 'dcim'
  5. urlpatterns = [
  6. path('regions/', include(get_model_urls('dcim', 'region', detail=False))),
  7. path('regions/<int:pk>/', include(get_model_urls('dcim', 'region'))),
  8. path('site-groups/', include(get_model_urls('dcim', 'sitegroup', detail=False))),
  9. path('site-groups/<int:pk>/', include(get_model_urls('dcim', 'sitegroup'))),
  10. path('sites/', include(get_model_urls('dcim', 'site', detail=False))),
  11. path('sites/<int:pk>/', include(get_model_urls('dcim', 'site'))),
  12. path('locations/', include(get_model_urls('dcim', 'location', detail=False))),
  13. path('locations/<int:pk>/', include(get_model_urls('dcim', 'location'))),
  14. path('rack-groups/', include(get_model_urls('dcim', 'rackgroup', detail=False))),
  15. path('rack-groups/<int:pk>/', include(get_model_urls('dcim', 'rackgroup'))),
  16. path('rack-roles/', include(get_model_urls('dcim', 'rackrole', detail=False))),
  17. path('rack-roles/<int:pk>/', include(get_model_urls('dcim', 'rackrole'))),
  18. path('rack-reservations/', include(get_model_urls('dcim', 'rackreservation', detail=False))),
  19. path('rack-reservations/<int:pk>/', include(get_model_urls('dcim', 'rackreservation'))),
  20. path('racks/', include(get_model_urls('dcim', 'rack', detail=False))),
  21. path('racks/<int:pk>/', include(get_model_urls('dcim', 'rack'))),
  22. path('rack-elevations/', views.RackElevationListView.as_view(), name='rack_elevation_list'),
  23. path('rack-types/', include(get_model_urls('dcim', 'racktype', detail=False))),
  24. path('rack-types/<int:pk>/', include(get_model_urls('dcim', 'racktype'))),
  25. path('manufacturers/', include(get_model_urls('dcim', 'manufacturer', detail=False))),
  26. path('manufacturers/<int:pk>/', include(get_model_urls('dcim', 'manufacturer'))),
  27. path('device-types/', include(get_model_urls('dcim', 'devicetype', detail=False))),
  28. path('device-types/<int:pk>/', include(get_model_urls('dcim', 'devicetype'))),
  29. path('module-bay-types/', include(get_model_urls('dcim', 'modulebaytype', detail=False))),
  30. path('module-bay-types/<int:pk>/', include(get_model_urls('dcim', 'modulebaytype'))),
  31. path('module-type-profiles/', include(get_model_urls('dcim', 'moduletypeprofile', detail=False))),
  32. path('module-type-profiles/<int:pk>/', include(get_model_urls('dcim', 'moduletypeprofile'))),
  33. path('module-types/', include(get_model_urls('dcim', 'moduletype', detail=False))),
  34. path('module-types/<int:pk>/', include(get_model_urls('dcim', 'moduletype'))),
  35. path('console-port-templates/', include(get_model_urls('dcim', 'consoleporttemplate', detail=False))),
  36. path('console-port-templates/<int:pk>/', include(get_model_urls('dcim', 'consoleporttemplate'))),
  37. path('console-server-port-templates/', include(get_model_urls('dcim', 'consoleserverporttemplate', detail=False))),
  38. path('console-server-port-templates/<int:pk>/', include(get_model_urls('dcim', 'consoleserverporttemplate'))),
  39. path('power-port-templates/', include(get_model_urls('dcim', 'powerporttemplate', detail=False))),
  40. path('power-port-templates/<int:pk>/', include(get_model_urls('dcim', 'powerporttemplate'))),
  41. path('power-outlet-templates/', include(get_model_urls('dcim', 'poweroutlettemplate', detail=False))),
  42. path('power-outlet-templates/<int:pk>/', include(get_model_urls('dcim', 'poweroutlettemplate'))),
  43. path('cooling-intake-templates/', include(get_model_urls('dcim', 'coolingintaketemplate', detail=False))),
  44. path('cooling-intake-templates/<int:pk>/', include(get_model_urls('dcim', 'coolingintaketemplate'))),
  45. path('cooling-outflow-templates/', include(get_model_urls('dcim', 'coolingoutflowtemplate', detail=False))),
  46. path('cooling-outflow-templates/<int:pk>/', include(get_model_urls('dcim', 'coolingoutflowtemplate'))),
  47. path('interface-templates/', include(get_model_urls('dcim', 'interfacetemplate', detail=False))),
  48. path('interface-templates/<int:pk>/', include(get_model_urls('dcim', 'interfacetemplate'))),
  49. path('front-port-templates/', include(get_model_urls('dcim', 'frontporttemplate', detail=False))),
  50. path('front-port-templates/<int:pk>/', include(get_model_urls('dcim', 'frontporttemplate'))),
  51. path('rear-port-templates/', include(get_model_urls('dcim', 'rearporttemplate', detail=False))),
  52. path('rear-port-templates/<int:pk>/', include(get_model_urls('dcim', 'rearporttemplate'))),
  53. path('device-bay-templates/', include(get_model_urls('dcim', 'devicebaytemplate', detail=False))),
  54. path('device-bay-templates/<int:pk>/', include(get_model_urls('dcim', 'devicebaytemplate'))),
  55. path('module-bay-templates/', include(get_model_urls('dcim', 'modulebaytemplate', detail=False))),
  56. path('module-bay-templates/<int:pk>/', include(get_model_urls('dcim', 'modulebaytemplate'))),
  57. path('inventory-item-templates/', include(get_model_urls('dcim', 'inventoryitemtemplate', detail=False))),
  58. path('inventory-item-templates/<int:pk>/', include(get_model_urls('dcim', 'inventoryitemtemplate'))),
  59. path('device-roles/', include(get_model_urls('dcim', 'devicerole', detail=False))),
  60. path('device-roles/<int:pk>/', include(get_model_urls('dcim', 'devicerole'))),
  61. path('platforms/', include(get_model_urls('dcim', 'platform', detail=False))),
  62. path('platforms/<int:pk>/', include(get_model_urls('dcim', 'platform'))),
  63. path('devices/', include(get_model_urls('dcim', 'device', detail=False))),
  64. path('devices/<int:pk>/', include(get_model_urls('dcim', 'device'))),
  65. path('virtual-device-contexts/', include(get_model_urls('dcim', 'virtualdevicecontext', detail=False))),
  66. path('virtual-device-contexts/<int:pk>/', include(get_model_urls('dcim', 'virtualdevicecontext'))),
  67. path('modules/', include(get_model_urls('dcim', 'module', detail=False))),
  68. path('modules/<int:pk>/', include(get_model_urls('dcim', 'module'))),
  69. path('console-ports/', include(get_model_urls('dcim', 'consoleport', detail=False))),
  70. path('console-ports/<int:pk>/', include(get_model_urls('dcim', 'consoleport'))),
  71. path(
  72. 'devices/console-ports/add/',
  73. views.DeviceBulkAddConsolePortView.as_view(),
  74. name='device_bulk_add_consoleport'
  75. ),
  76. path('console-server-ports/', include(get_model_urls('dcim', 'consoleserverport', detail=False))),
  77. path('console-server-ports/<int:pk>/', include(get_model_urls('dcim', 'consoleserverport'))),
  78. path(
  79. 'devices/console-server-ports/add/',
  80. views.DeviceBulkAddConsoleServerPortView.as_view(),
  81. name='device_bulk_add_consoleserverport'
  82. ),
  83. path('power-ports/', include(get_model_urls('dcim', 'powerport', detail=False))),
  84. path('power-ports/<int:pk>/', include(get_model_urls('dcim', 'powerport'))),
  85. path('devices/power-ports/add/', views.DeviceBulkAddPowerPortView.as_view(), name='device_bulk_add_powerport'),
  86. path('power-outlets/', include(get_model_urls('dcim', 'poweroutlet', detail=False))),
  87. path('power-outlets/<int:pk>/', include(get_model_urls('dcim', 'poweroutlet'))),
  88. path(
  89. 'devices/power-outlets/add/',
  90. views.DeviceBulkAddPowerOutletView.as_view(),
  91. name='device_bulk_add_poweroutlet'
  92. ),
  93. path('cooling-intakes/', include(get_model_urls('dcim', 'coolingintake', detail=False))),
  94. path('cooling-intakes/<int:pk>/', include(get_model_urls('dcim', 'coolingintake'))),
  95. path(
  96. 'devices/cooling-intakes/add/',
  97. views.DeviceBulkAddCoolingIntakeView.as_view(),
  98. name='device_bulk_add_coolingintake'
  99. ),
  100. path('cooling-outflows/', include(get_model_urls('dcim', 'coolingoutflow', detail=False))),
  101. path('cooling-outflows/<int:pk>/', include(get_model_urls('dcim', 'coolingoutflow'))),
  102. path(
  103. 'devices/cooling-outflows/add/',
  104. views.DeviceBulkAddCoolingOutflowView.as_view(),
  105. name='device_bulk_add_coolingoutflow'
  106. ),
  107. path('interfaces/', include(get_model_urls('dcim', 'interface', detail=False))),
  108. path('interfaces/<int:pk>/', include(get_model_urls('dcim', 'interface'))),
  109. path('devices/interfaces/add/', views.DeviceBulkAddInterfaceView.as_view(), name='device_bulk_add_interface'),
  110. path('front-ports/', include(get_model_urls('dcim', 'frontport', detail=False))),
  111. path('front-ports/<int:pk>/', include(get_model_urls('dcim', 'frontport'))),
  112. path('rear-ports/', include(get_model_urls('dcim', 'rearport', detail=False))),
  113. path('rear-ports/<int:pk>/', include(get_model_urls('dcim', 'rearport'))),
  114. path('devices/rear-ports/add/', views.DeviceBulkAddRearPortView.as_view(), name='device_bulk_add_rearport'),
  115. path('module-bays/', include(get_model_urls('dcim', 'modulebay', detail=False))),
  116. path('module-bays/<int:pk>/', include(get_model_urls('dcim', 'modulebay'))),
  117. path('devices/module-bays/add/', views.DeviceBulkAddModuleBayView.as_view(), name='device_bulk_add_modulebay'),
  118. path('device-bays/', include(get_model_urls('dcim', 'devicebay', detail=False))),
  119. path('device-bays/<int:pk>/', include(get_model_urls('dcim', 'devicebay'))),
  120. path('devices/device-bays/add/', views.DeviceBulkAddDeviceBayView.as_view(), name='device_bulk_add_devicebay'),
  121. path('inventory-items/', include(get_model_urls('dcim', 'inventoryitem', detail=False))),
  122. path('inventory-items/<int:pk>/', include(get_model_urls('dcim', 'inventoryitem'))),
  123. path(
  124. 'devices/inventory-items/add/',
  125. views.DeviceBulkAddInventoryItemView.as_view(),
  126. name='device_bulk_add_inventoryitem'
  127. ),
  128. path('inventory-item-roles/', include(get_model_urls('dcim', 'inventoryitemrole', detail=False))),
  129. path('inventory-item-roles/<int:pk>/', include(get_model_urls('dcim', 'inventoryitemrole'))),
  130. path('cables/', include(get_model_urls('dcim', 'cable', detail=False))),
  131. path('cables/<int:pk>/', include(get_model_urls('dcim', 'cable'))),
  132. path('cable-bundles/', include(get_model_urls('dcim', 'cablebundle', detail=False))),
  133. path('cable-bundles/<int:pk>/', include(get_model_urls('dcim', 'cablebundle'))),
  134. # Console/power/interface connections (read-only)
  135. path('console-connections/', views.ConsoleConnectionsListView.as_view(), name='console_connections_list'),
  136. path('power-connections/', views.PowerConnectionsListView.as_view(), name='power_connections_list'),
  137. path('interface-connections/', views.InterfaceConnectionsListView.as_view(), name='interface_connections_list'),
  138. path('virtual-chassis/', include(get_model_urls('dcim', 'virtualchassis', detail=False))),
  139. path('virtual-chassis/<int:pk>/', include(get_model_urls('dcim', 'virtualchassis'))),
  140. path(
  141. 'virtual-chassis-members/<int:pk>/delete/',
  142. views.VirtualChassisRemoveMemberView.as_view(),
  143. name='virtualchassis_remove_member'
  144. ),
  145. path('power-panels/', include(get_model_urls('dcim', 'powerpanel', detail=False))),
  146. path('power-panels/<int:pk>/', include(get_model_urls('dcim', 'powerpanel'))),
  147. path('power-feeds/', include(get_model_urls('dcim', 'powerfeed', detail=False))),
  148. path('power-feeds/<int:pk>/', include(get_model_urls('dcim', 'powerfeed'))),
  149. path('cooling-sources/', include(get_model_urls('dcim', 'coolingsource', detail=False))),
  150. path('cooling-sources/<int:pk>/', include(get_model_urls('dcim', 'coolingsource'))),
  151. path('cooling-feeds/', include(get_model_urls('dcim', 'coolingfeed', detail=False))),
  152. path('cooling-feeds/<int:pk>/', include(get_model_urls('dcim', 'coolingfeed'))),
  153. path('mac-addresses/', include(get_model_urls('dcim', 'macaddress', detail=False))),
  154. path('mac-addresses/<int:pk>/', include(get_model_urls('dcim', 'macaddress'))),
  155. ]