nautobot 2.2.0__py3-none-any.whl → 2.2.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (362) hide show
  1. nautobot/apps/api.py +2 -1
  2. nautobot/apps/utils.py +0 -4
  3. nautobot/apps/views.py +0 -2
  4. nautobot/circuits/api/urls.py +2 -1
  5. nautobot/circuits/api/views.py +12 -0
  6. nautobot/circuits/tests/test_filters.py +1 -1
  7. nautobot/core/api/routers.py +3 -25
  8. nautobot/core/api/utils.py +0 -4
  9. nautobot/core/api/views.py +15 -21
  10. nautobot/core/filters.py +1 -7
  11. nautobot/core/management/commands/generate_test_data.py +4 -4
  12. nautobot/core/settings.py +0 -1
  13. nautobot/core/tables.py +1 -2
  14. nautobot/core/templates/admin/base.html +94 -23
  15. nautobot/core/templates/graphene/graphiql.html +47 -18
  16. nautobot/core/templates/inc/footer.html +5 -5
  17. nautobot/core/templates/inc/nav_menu.html +7 -0
  18. nautobot/core/templates/rest_framework/api.html +5 -12
  19. nautobot/core/templatetags/helpers.py +2 -2
  20. nautobot/core/testing/views.py +0 -30
  21. nautobot/core/tests/test_api.py +6 -13
  22. nautobot/core/tests/test_csv.py +4 -5
  23. nautobot/core/tests/test_filters.py +1 -2
  24. nautobot/core/tests/test_graphql.py +14 -4
  25. nautobot/core/tests/test_navigations.py +0 -3
  26. nautobot/core/tests/test_views.py +16 -22
  27. nautobot/core/utils/lookup.py +0 -124
  28. nautobot/core/views/__init__.py +7 -3
  29. nautobot/core/views/generic.py +3 -19
  30. nautobot/core/views/mixins.py +0 -7
  31. nautobot/core/views/renderers.py +1 -4
  32. nautobot/dcim/api/serializers.py +4 -4
  33. nautobot/dcim/api/urls.py +3 -2
  34. nautobot/dcim/api/views.py +18 -7
  35. nautobot/dcim/factory.py +7 -7
  36. nautobot/dcim/filters/__init__.py +17 -16
  37. nautobot/dcim/forms.py +45 -61
  38. nautobot/dcim/homepage.py +3 -11
  39. nautobot/dcim/migrations/0057_controller_models.py +70 -11
  40. nautobot/dcim/models/__init__.py +2 -2
  41. nautobot/dcim/models/devices.py +16 -14
  42. nautobot/dcim/models/racks.py +3 -1
  43. nautobot/dcim/navigation.py +31 -23
  44. nautobot/dcim/signals.py +6 -6
  45. nautobot/dcim/tables/__init__.py +2 -2
  46. nautobot/dcim/tables/devices.py +15 -12
  47. nautobot/dcim/tables/template_code.py +1 -1
  48. nautobot/dcim/templates/dcim/controller_retrieve.html +18 -35
  49. nautobot/dcim/templates/dcim/controllerdevicegroup_create.html +43 -0
  50. nautobot/dcim/templates/dcim/device/lldp_neighbors.html +43 -67
  51. nautobot/dcim/templates/dcim/device.html +2 -10
  52. nautobot/dcim/templates/dcim/device_edit.html +1 -1
  53. nautobot/dcim/tests/test_api.py +6 -11
  54. nautobot/dcim/tests/test_filters.py +81 -92
  55. nautobot/dcim/tests/test_graphql.py +1 -11
  56. nautobot/dcim/tests/test_models.py +15 -15
  57. nautobot/dcim/tests/test_signals.py +0 -2
  58. nautobot/dcim/tests/test_views.py +12 -24
  59. nautobot/dcim/urls.py +1 -1
  60. nautobot/dcim/views.py +15 -19
  61. nautobot/extras/api/urls.py +2 -1
  62. nautobot/extras/api/views.py +10 -0
  63. nautobot/extras/filters/__init__.py +2 -53
  64. nautobot/extras/forms/contacts.py +0 -7
  65. nautobot/extras/managers.py +0 -14
  66. nautobot/extras/navigation.py +65 -71
  67. nautobot/extras/plugins/views.py +11 -7
  68. nautobot/extras/tests/test_api.py +0 -2
  69. nautobot/extras/tests/test_dynamicgroups.py +0 -2
  70. nautobot/extras/tests/test_filters.py +4 -89
  71. nautobot/extras/tests/test_models.py +0 -9
  72. nautobot/extras/tests/test_relationships.py +1 -10
  73. nautobot/extras/tests/test_views.py +1 -112
  74. nautobot/extras/views.py +10 -10
  75. nautobot/ipam/api/urls.py +2 -1
  76. nautobot/ipam/api/views.py +11 -0
  77. nautobot/ipam/tables.py +22 -2
  78. nautobot/ipam/tests/test_graphql.py +3 -2
  79. nautobot/ipam/tests/test_views.py +0 -1
  80. nautobot/ipam/views.py +9 -9
  81. nautobot/project-static/css/base.css +0 -1
  82. nautobot/project-static/docs/404.html +3 -24
  83. nautobot/project-static/docs/apps/index.html +3 -24
  84. nautobot/project-static/docs/apps/nautobot-apps.html +3 -24
  85. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +3 -24
  86. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +3 -24
  87. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +5 -26
  88. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +3 -24
  89. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +3 -24
  90. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +3 -24
  91. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +3 -24
  92. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +3 -24
  93. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +3 -24
  94. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +3 -24
  95. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +3 -24
  96. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +3 -24
  97. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +3 -24
  98. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +3 -24
  99. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +3 -24
  100. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +3 -24
  101. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +3 -24
  102. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +3 -24
  103. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +3 -24
  104. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +3 -24
  105. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +3 -24
  106. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +3 -242
  107. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +5 -69
  108. nautobot/project-static/docs/development/apps/api/configuration-view.html +3 -24
  109. nautobot/project-static/docs/development/apps/api/database-backend-config.html +3 -24
  110. nautobot/project-static/docs/development/apps/api/models/django-admin.html +3 -24
  111. nautobot/project-static/docs/development/apps/api/models/global-search.html +3 -24
  112. nautobot/project-static/docs/development/apps/api/models/graphql.html +3 -24
  113. nautobot/project-static/docs/development/apps/api/models/index.html +3 -24
  114. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +3 -24
  115. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +3 -24
  116. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +3 -24
  117. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +3 -24
  118. nautobot/project-static/docs/development/apps/api/platform-features/index.html +3 -24
  119. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +3 -24
  120. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +3 -24
  121. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +3 -24
  122. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +3 -24
  123. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +3 -24
  124. nautobot/project-static/docs/development/apps/api/prometheus.html +3 -24
  125. nautobot/project-static/docs/development/apps/api/setup.html +3 -24
  126. nautobot/project-static/docs/development/apps/api/testing.html +3 -24
  127. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +3 -24
  128. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +3 -24
  129. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +3 -24
  130. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +3 -24
  131. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +3 -24
  132. nautobot/project-static/docs/development/apps/api/views/base-template.html +3 -24
  133. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +12 -38
  134. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +15 -41
  135. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +3 -24
  136. nautobot/project-static/docs/development/apps/api/views/index.html +3 -24
  137. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +3 -24
  138. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +3 -24
  139. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +3 -24
  140. nautobot/project-static/docs/development/apps/api/views/notes.html +3 -24
  141. nautobot/project-static/docs/development/apps/api/views/rest-api.html +3 -24
  142. nautobot/project-static/docs/development/apps/api/views/urls.html +3 -24
  143. nautobot/project-static/docs/development/apps/index.html +3 -24
  144. nautobot/project-static/docs/development/apps/migration/code-updates.html +3 -24
  145. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +3 -24
  146. nautobot/project-static/docs/development/apps/migration/from-v1.html +3 -24
  147. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +3 -24
  148. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +3 -24
  149. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +3 -24
  150. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +3 -24
  151. nautobot/project-static/docs/development/apps/porting-from-netbox.html +3 -24
  152. nautobot/project-static/docs/development/core/application-registry.html +3 -24
  153. nautobot/project-static/docs/development/core/best-practices.html +3 -24
  154. nautobot/project-static/docs/development/core/bootstrap-ui.html +3 -24
  155. nautobot/project-static/docs/development/core/caching.html +3 -24
  156. nautobot/project-static/docs/development/core/controllers.html +204 -35
  157. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +3 -24
  158. nautobot/project-static/docs/development/core/extending-models.html +3 -24
  159. nautobot/project-static/docs/development/core/generic-views.html +3 -24
  160. nautobot/project-static/docs/development/core/getting-started.html +13 -43
  161. nautobot/project-static/docs/development/core/homepage.html +3 -24
  162. nautobot/project-static/docs/development/core/index.html +3 -24
  163. nautobot/project-static/docs/development/core/model-features.html +3 -24
  164. nautobot/project-static/docs/development/core/natural-keys.html +3 -24
  165. nautobot/project-static/docs/development/core/navigation-menu.html +3 -24
  166. nautobot/project-static/docs/development/core/release-checklist.html +3 -24
  167. nautobot/project-static/docs/development/core/role-internals.html +3 -24
  168. nautobot/project-static/docs/development/core/settings.html +3 -24
  169. nautobot/project-static/docs/development/core/style-guide.html +3 -24
  170. nautobot/project-static/docs/development/core/templates.html +3 -24
  171. nautobot/project-static/docs/development/core/testing.html +3 -24
  172. nautobot/project-static/docs/development/core/user-preferences.html +3 -24
  173. nautobot/project-static/docs/development/index.html +3 -24
  174. nautobot/project-static/docs/development/jobs/index.html +3 -24
  175. nautobot/project-static/docs/development/jobs/migration/from-v1.html +3 -24
  176. nautobot/project-static/docs/index.html +3 -24
  177. nautobot/project-static/docs/models/dcim/{controllermanageddevicegroup.html → controllerdevicegroup.html} +3 -3
  178. nautobot/project-static/docs/objects.inv +0 -0
  179. nautobot/project-static/docs/release-notes/index.html +3 -24
  180. nautobot/project-static/docs/release-notes/version-1.0.html +3 -24
  181. nautobot/project-static/docs/release-notes/version-1.1.html +3 -24
  182. nautobot/project-static/docs/release-notes/version-1.2.html +3 -24
  183. nautobot/project-static/docs/release-notes/version-1.3.html +3 -24
  184. nautobot/project-static/docs/release-notes/version-1.4.html +3 -24
  185. nautobot/project-static/docs/release-notes/version-1.5.html +3 -24
  186. nautobot/project-static/docs/release-notes/version-1.6.html +3 -24
  187. nautobot/project-static/docs/release-notes/version-2.0.html +3 -24
  188. nautobot/project-static/docs/release-notes/version-2.1.html +162 -411
  189. nautobot/project-static/docs/release-notes/version-2.2.html +30 -212
  190. nautobot/project-static/docs/search/search_index.json +1 -1
  191. nautobot/project-static/docs/sitemap.xml +255 -260
  192. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  193. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +3 -24
  194. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +3 -24
  195. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +3 -24
  196. nautobot/project-static/docs/user-guide/administration/configuration/index.html +3 -24
  197. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +3 -24
  198. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +3 -24
  199. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +3 -24
  200. nautobot/project-static/docs/user-guide/administration/guides/caching.html +3 -24
  201. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +3 -24
  202. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +3 -24
  203. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +3 -24
  204. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +3 -24
  205. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +3 -24
  206. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +3 -24
  207. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +3 -24
  208. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +3 -24
  209. nautobot/project-static/docs/user-guide/administration/installation/docker.html +6 -31
  210. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +3 -24
  211. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +3 -24
  212. nautobot/project-static/docs/user-guide/administration/installation/index.html +3 -24
  213. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +3 -24
  214. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +3 -24
  215. nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +6 -27
  216. nautobot/project-static/docs/user-guide/administration/installation/services.html +3 -24
  217. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +3 -24
  218. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +3 -24
  219. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +3 -24
  220. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +3 -24
  221. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +3 -24
  222. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +3 -24
  223. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +3 -24
  224. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +3 -24
  225. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +3 -24
  226. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +3 -24
  227. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +3 -24
  228. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +3 -24
  229. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +3 -24
  230. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +3 -24
  231. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +3 -24
  232. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +3 -24
  233. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +3 -24
  234. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +3 -24
  235. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +3 -24
  236. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +3 -24
  237. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +3 -24
  238. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +3 -24
  239. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +3 -24
  240. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +11 -259
  241. nautobot/project-static/docs/user-guide/core-data-model/dcim/{controllermanageddevicegroup.html → controllerdevicegroup.html} +17 -107
  242. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +3 -24
  243. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +3 -24
  244. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +3 -24
  245. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +3 -24
  246. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +3 -24
  247. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +3 -24
  248. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +3 -24
  249. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +3 -24
  250. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +3 -24
  251. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +3 -24
  252. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +3 -24
  253. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +3 -24
  254. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +3 -24
  255. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +3 -24
  256. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +3 -24
  257. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +3 -24
  258. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +3 -24
  259. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +3 -24
  260. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +3 -24
  261. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +3 -24
  262. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +3 -24
  263. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +3 -24
  264. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +3 -24
  265. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +3 -24
  266. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +3 -24
  267. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +3 -24
  268. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +3 -24
  269. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +3 -24
  270. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +3 -24
  271. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +3 -24
  272. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +6 -27
  273. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +3 -24
  274. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +3 -24
  275. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +3 -24
  276. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +3 -24
  277. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +3 -24
  278. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +3 -24
  279. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +3 -24
  280. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +3 -24
  281. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +3 -24
  282. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +3 -24
  283. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +3 -24
  284. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +3 -24
  285. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +3 -24
  286. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +3 -24
  287. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +3 -24
  288. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +3 -24
  289. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +3 -24
  290. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +3 -24
  291. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +3 -24
  292. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +3 -24
  293. nautobot/project-static/docs/user-guide/feature-guides/{contacts-and-teams.html → contact-and-team.html} +4 -25
  294. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +5 -26
  295. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +3 -24
  296. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +3 -24
  297. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +3 -24
  298. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +3 -24
  299. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +3 -24
  300. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +3 -24
  301. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +5 -26
  302. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +3 -24
  303. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +3 -24
  304. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +3 -24
  305. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +3 -24
  306. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +3 -24
  307. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +3 -24
  308. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +3 -24
  309. nautobot/project-static/docs/user-guide/index.html +3 -24
  310. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +3 -24
  311. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +3 -24
  312. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +3 -24
  313. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +3 -24
  314. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +3 -24
  315. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +3 -24
  316. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +3 -24
  317. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +3 -24
  318. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +3 -24
  319. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +3 -24
  320. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +3 -24
  321. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +3 -24
  322. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +3 -24
  323. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +3 -24
  324. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +3 -24
  325. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +3 -24
  326. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +3 -24
  327. nautobot/project-static/docs/user-guide/platform-functionality/note.html +3 -24
  328. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +3 -24
  329. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +3 -24
  330. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +3 -24
  331. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +3 -24
  332. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +3 -24
  333. nautobot/project-static/docs/user-guide/platform-functionality/role.html +3 -24
  334. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +3 -24
  335. nautobot/project-static/docs/user-guide/platform-functionality/status.html +3 -24
  336. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +3 -24
  337. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +3 -24
  338. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +3 -24
  339. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +3 -24
  340. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +3 -24
  341. nautobot/tenancy/api/urls.py +2 -1
  342. nautobot/tenancy/api/views.py +12 -0
  343. nautobot/tenancy/tables.py +1 -1
  344. nautobot/tenancy/tests/test_views.py +0 -1
  345. nautobot/users/api/urls.py +2 -1
  346. nautobot/users/api/views.py +65 -2
  347. nautobot/users/views.py +8 -8
  348. nautobot/virtualization/api/urls.py +2 -1
  349. nautobot/virtualization/api/views.py +12 -0
  350. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/METADATA +3 -3
  351. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/RECORD +356 -361
  352. nautobot/core/tests/integration/test_view_authentication.py +0 -67
  353. nautobot/dcim/management/commands/migrate_location_contacts.py +0 -218
  354. nautobot/dcim/templates/dcim/controller_create.html +0 -70
  355. nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +0 -88
  356. nautobot/ipam/tests/test_tables.py +0 -42
  357. nautobot/project-static/docs/user-guide/administration/installation/health-checks.html +0 -8581
  358. /nautobot/dcim/templates/dcim/{controllermanageddevicegroup_retrieve.html → controllerdevicegroup_retrieve.html} +0 -0
  359. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/LICENSE.txt +0 -0
  360. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/NOTICE +0 -0
  361. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/WHEEL +0 -0
  362. {nautobot-2.2.0.dist-info → nautobot-2.2.0b1.dist-info}/entry_points.txt +0 -0
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -6813,6 +6792,33 @@
6813
6792
  </label>
6814
6793
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
6815
6794
 
6795
+ <li class="md-nav__item">
6796
+ <a href="#use-cases" class="md-nav__link">
6797
+ <span class="md-ellipsis">
6798
+ Use Cases
6799
+ </span>
6800
+ </a>
6801
+
6802
+ </li>
6803
+
6804
+ <li class="md-nav__item">
6805
+ <a href="#controller-model" class="md-nav__link">
6806
+ <span class="md-ellipsis">
6807
+ Controller Model
6808
+ </span>
6809
+ </a>
6810
+
6811
+ </li>
6812
+
6813
+ <li class="md-nav__item">
6814
+ <a href="#controller-device-group-model" class="md-nav__link">
6815
+ <span class="md-ellipsis">
6816
+ Controller Device Group Model
6817
+ </span>
6818
+ </a>
6819
+
6820
+ </li>
6821
+
6816
6822
  <li class="md-nav__item">
6817
6823
  <a href="#entity-relationship-diagram" class="md-nav__link">
6818
6824
  <span class="md-ellipsis">
@@ -6820,6 +6826,48 @@
6820
6826
  </span>
6821
6827
  </a>
6822
6828
 
6829
+ </li>
6830
+
6831
+ <li class="md-nav__item">
6832
+ <a href="#examples" class="md-nav__link">
6833
+ <span class="md-ellipsis">
6834
+ Examples
6835
+ </span>
6836
+ </a>
6837
+
6838
+ <nav class="md-nav" aria-label="Examples">
6839
+ <ul class="md-nav__list">
6840
+
6841
+ <li class="md-nav__item">
6842
+ <a href="#cisco-aci" class="md-nav__link">
6843
+ <span class="md-ellipsis">
6844
+ Cisco ACI
6845
+ </span>
6846
+ </a>
6847
+
6848
+ </li>
6849
+
6850
+ <li class="md-nav__item">
6851
+ <a href="#cisco-meraki" class="md-nav__link">
6852
+ <span class="md-ellipsis">
6853
+ Cisco Meraki
6854
+ </span>
6855
+ </a>
6856
+
6857
+ </li>
6858
+
6859
+ <li class="md-nav__item">
6860
+ <a href="#controller-device-group" class="md-nav__link">
6861
+ <span class="md-ellipsis">
6862
+ Controller Device Group
6863
+ </span>
6864
+ </a>
6865
+
6866
+ </li>
6867
+
6868
+ </ul>
6869
+ </nav>
6870
+
6823
6871
  </li>
6824
6872
 
6825
6873
  </ul>
@@ -7719,6 +7767,33 @@
7719
7767
  </label>
7720
7768
  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
7721
7769
 
7770
+ <li class="md-nav__item">
7771
+ <a href="#use-cases" class="md-nav__link">
7772
+ <span class="md-ellipsis">
7773
+ Use Cases
7774
+ </span>
7775
+ </a>
7776
+
7777
+ </li>
7778
+
7779
+ <li class="md-nav__item">
7780
+ <a href="#controller-model" class="md-nav__link">
7781
+ <span class="md-ellipsis">
7782
+ Controller Model
7783
+ </span>
7784
+ </a>
7785
+
7786
+ </li>
7787
+
7788
+ <li class="md-nav__item">
7789
+ <a href="#controller-device-group-model" class="md-nav__link">
7790
+ <span class="md-ellipsis">
7791
+ Controller Device Group Model
7792
+ </span>
7793
+ </a>
7794
+
7795
+ </li>
7796
+
7722
7797
  <li class="md-nav__item">
7723
7798
  <a href="#entity-relationship-diagram" class="md-nav__link">
7724
7799
  <span class="md-ellipsis">
@@ -7726,6 +7801,48 @@
7726
7801
  </span>
7727
7802
  </a>
7728
7803
 
7804
+ </li>
7805
+
7806
+ <li class="md-nav__item">
7807
+ <a href="#examples" class="md-nav__link">
7808
+ <span class="md-ellipsis">
7809
+ Examples
7810
+ </span>
7811
+ </a>
7812
+
7813
+ <nav class="md-nav" aria-label="Examples">
7814
+ <ul class="md-nav__list">
7815
+
7816
+ <li class="md-nav__item">
7817
+ <a href="#cisco-aci" class="md-nav__link">
7818
+ <span class="md-ellipsis">
7819
+ Cisco ACI
7820
+ </span>
7821
+ </a>
7822
+
7823
+ </li>
7824
+
7825
+ <li class="md-nav__item">
7826
+ <a href="#cisco-meraki" class="md-nav__link">
7827
+ <span class="md-ellipsis">
7828
+ Cisco Meraki
7829
+ </span>
7830
+ </a>
7831
+
7832
+ </li>
7833
+
7834
+ <li class="md-nav__item">
7835
+ <a href="#controller-device-group" class="md-nav__link">
7836
+ <span class="md-ellipsis">
7837
+ Controller Device Group
7838
+ </span>
7839
+ </a>
7840
+
7841
+ </li>
7842
+
7843
+ </ul>
7844
+ </nav>
7845
+
7729
7846
  </li>
7730
7847
 
7731
7848
  </ul>
@@ -7747,10 +7864,32 @@
7747
7864
 
7748
7865
 
7749
7866
  <h1 id="controllers">Controllers<a class="headerlink" href="#controllers" title="Permanent link">&para;</a></h1>
7750
- <p>A Controller in Nautobot is an abstraction meant to represent network or SDN (Software-Defined Networking) controllers. These may include, but are not limited to, wireless controllers, cloud-based network management systems, and other forms of central network control mechanisms.</p>
7751
- <p>For more details, refer to the user guide for a <a href="../../user-guide/core-data-model/dcim/controller.html"><code>Controller</code> model</a> or a <a href="../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html"><code>ControllerManagedDeviceGroup</code> model</a>.</p>
7867
+ <p>Controllers in Nautobot enable users to model a set of industry-standard network or SDN controllers, along with their relationships to the devices they manage.</p>
7868
+ <h2 id="use-cases">Use Cases<a class="headerlink" href="#use-cases" title="Permanent link">&para;</a></h2>
7869
+ <p>These models support the representation of various use cases, including, but not limited to:</p>
7870
+ <ul>
7871
+ <li>Cisco ACI</li>
7872
+ <li>Panorama</li>
7873
+ <li>Juniper MIST</li>
7874
+ <li>Arista CloudVision</li>
7875
+ <li>Meraki</li>
7876
+ <li>Wireless Controllers (e.g., Ruckus, Cisco)</li>
7877
+ <li>OpenStack</li>
7878
+ </ul>
7879
+ <p>Using controllers enables answering inventory-related queries:</p>
7880
+ <ul>
7881
+ <li>Find the controller for the given device group.</li>
7882
+ <li>Find the controller for the given device.</li>
7883
+ <li>List device groups managed by the controller.</li>
7884
+ <li>List devices managed by the controller.</li>
7885
+ </ul>
7886
+ <h2 id="controller-model">Controller Model<a class="headerlink" href="#controller-model" title="Permanent link">&para;</a></h2>
7887
+ <p>Represents an entity that manages or controls one or more devices, acting as a central point of control.</p>
7888
+ <p>A Controller can be deployed to a single device or a group of devices represented by single <code>DeviceRedundancyGroup</code>.</p>
7889
+ <h2 id="controller-device-group-model">Controller Device Group Model<a class="headerlink" href="#controller-device-group-model" title="Permanent link">&para;</a></h2>
7890
+ <p>Represents a mapping of controlled devices to a specific controller.</p>
7891
+ <p>This model allows for the organization of controlled devices into hierarchical groups for structured representation.</p>
7752
7892
  <h2 id="entity-relationship-diagram">Entity Relationship Diagram<a class="headerlink" href="#entity-relationship-diagram" title="Permanent link">&para;</a></h2>
7753
- <p>This schema illustrates the connections between related models.</p>
7754
7893
  <pre class="mermaid"><code>---
7755
7894
  title: Controllers Entity Relationship Diagram
7756
7895
  ---
@@ -7779,7 +7918,7 @@ erDiagram
7779
7918
 
7780
7919
  Device {
7781
7920
  DeviceType device_type FK
7782
- ControllerManagedDeviceGroup controller_managed_device_group FK
7921
+ ControllerDeviceGroup controller_device_group FK
7783
7922
  DeviceRedundancyGroup device_redundancy_group FK
7784
7923
 
7785
7924
  string name UK
@@ -7806,8 +7945,8 @@ erDiagram
7806
7945
  }
7807
7946
 
7808
7947
  Controller {
7809
- Device controller_device FK "Nullable"
7810
- DeviceRedundancyGroup controller_device_redundancy_group FK "Nullable"
7948
+ Device deployed_controller_device FK "Nullable"
7949
+ DeviceRedundancyGroup deployed_controller_group FK "Nullable"
7811
7950
 
7812
7951
  string name UK
7813
7952
  Status status FK
@@ -7819,23 +7958,53 @@ erDiagram
7819
7958
  Location location FK
7820
7959
  }
7821
7960
 
7822
- ControllerManagedDeviceGroup {
7823
- ControllerManagedDeviceGroup parent FK "Nullable"
7961
+ ControllerDeviceGroup {
7962
+ ControllerDeviceGroup parent FK "Nullable"
7824
7963
  Controller controller FK
7825
7964
 
7826
7965
  string name UK
7827
7966
  int weight
7828
7967
  }
7829
7968
 
7830
- ControllerManagedDeviceGroup ||--o{ ControllerManagedDeviceGroup : "contains children"
7831
- Controller }o--|| ControllerManagedDeviceGroup : "controls Devices in"
7969
+ ControllerDeviceGroup ||--o{ ControllerDeviceGroup : "contains children"
7970
+ Controller }o--|| ControllerDeviceGroup : "controls Devices in"
7832
7971
  Controller }o--|| DeviceRedundancyGroup : "can be deployed to"
7833
7972
  Device }o--|| SoftwareVersion : "runs"
7834
7973
  Controller }o--|| Platform : "runs"
7835
7974
  Controller }o--|| Device : "can be deployed to"
7836
- Device }o--|| ControllerManagedDeviceGroup : "can be member of"
7975
+ Device }o--|| ControllerDeviceGroup : "can be member of"
7837
7976
  Device }o--|| DeviceRedundancyGroup : "can be member of"
7838
7977
  Platform ||--o{ SoftwareVersion : "has"</code></pre>
7978
+ <h2 id="examples">Examples<a class="headerlink" href="#examples" title="Permanent link">&para;</a></h2>
7979
+ <h3 id="cisco-aci">Cisco ACI<a class="headerlink" href="#cisco-aci" title="Permanent link">&para;</a></h3>
7980
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Cisco ACI APIC - east</span>
7981
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="nt">deployed_controller_device</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">DC-East-APIC-1</span>
7982
+ <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="nt">location</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">DC-East</span>
7983
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a><span class="nt">platform</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cisco_apic</span>
7984
+ </code></pre></div>
7985
+ <h3 id="cisco-meraki">Cisco Meraki<a class="headerlink" href="#cisco-meraki" title="Permanent link">&para;</a></h3>
7986
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Cisco Meraki SAAS</span>
7987
+ <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="nt">deployed_controller_device</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">~</span>
7988
+ <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="nt">location</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Cloud Location</span>
7989
+ <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="nt">platform</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">cisco_meraki</span>
7990
+ </code></pre></div>
7991
+ <h3 id="controller-device-group">Controller Device Group<a class="headerlink" href="#controller-device-group" title="Permanent link">&para;</a></h3>
7992
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="nt">controller_device_group</span><span class="p">:</span>
7993
+ <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">campus</span>
7994
+ <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="w"> </span><span class="nt">controller</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Panorama1</span>
7995
+ <a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a><span class="w"> </span><span class="nt">tags</span><span class="p">:</span>
7996
+ <a id="__codelineno-2-5" name="__codelineno-2-5" href="#__codelineno-2-5"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">high_security</span>
7997
+ <a id="__codelineno-2-6" name="__codelineno-2-6" href="#__codelineno-2-6"></a><span class="w"> </span><span class="nt">devices</span><span class="p">:</span>
7998
+ <a id="__codelineno-2-7" name="__codelineno-2-7" href="#__codelineno-2-7"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">dal-fw01</span>
7999
+ <a id="__codelineno-2-8" name="__codelineno-2-8" href="#__codelineno-2-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">chi-fw01</span>
8000
+ <a id="__codelineno-2-9" name="__codelineno-2-9" href="#__codelineno-2-9"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">dc</span>
8001
+ <a id="__codelineno-2-10" name="__codelineno-2-10" href="#__codelineno-2-10"></a><span class="w"> </span><span class="nt">controller</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">Panorama1</span>
8002
+ <a id="__codelineno-2-11" name="__codelineno-2-11" href="#__codelineno-2-11"></a><span class="w"> </span><span class="nt">tags</span><span class="p">:</span>
8003
+ <a id="__codelineno-2-12" name="__codelineno-2-12" href="#__codelineno-2-12"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">medium_security</span>
8004
+ <a id="__codelineno-2-13" name="__codelineno-2-13" href="#__codelineno-2-13"></a><span class="w"> </span><span class="nt">devices</span><span class="p">:</span>
8005
+ <a id="__codelineno-2-14" name="__codelineno-2-14" href="#__codelineno-2-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">nyc-fw99</span>
8006
+ <a id="__codelineno-2-15" name="__codelineno-2-15" href="#__codelineno-2-15"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">jcy-fw99</span>
8007
+ </code></pre></div>
7839
8008
 
7840
8009
 
7841
8010
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166
 
@@ -9265,9 +9244,7 @@
9265
9244
  <li><code>--keepdb</code> - Save and reuse the initialized test database between test runs. Can significantly improve the initial startup time of the test suite after your first test run. <strong>Do not use if you're actively making changes to model definitions or migrations.</strong></li>
9266
9245
  <li><code>--label &lt;module.path&gt;</code> - Only run the specific subset of tests. Can be broad (<code>--label nautobot.core.tests</code>) or specific (<code>--label nautobot.core.tests.test_graphql.GraphQLQueryTestCase</code>).</li>
9267
9246
  <li><code>--no-buffer</code> - Allow stdout/stderr output from the test to be seen in your terminal, instead of being hidden. <strong>If you're debugging code with <code>breakpoint()</code>, you should use this option, as otherwise you'll never see the breakpoint happen.</strong></li>
9268
- <li><code>--parallel</code> - Split the tests across multiple parallel subprocesses. Can greatly reduce the runtime of the entire test suite when used. Auto-detects the number of workers if not specified with <code>--parallel-workers</code>.</li>
9269
- <li><code>--parallel-workers</code> - Specify the number of workers to use when running tests in parallel. Implies <code>--parallel</code>.</li>
9270
- <li><code>--pattern</code> - Only run tests which match the given substring. Can be used multiple times.</li>
9247
+ <li><code>--parallel</code> - Split the tests across multiple parallel subprocesses. Can greatly reduce the runtime of the entire test suite when used.</li>
9271
9248
  <li><code>--skip-docs-build</code> - Skip building/rebuilding the static Nautobot documentation before running the test. Saves some time on reruns when you haven't changed the documentation source files.</li>
9272
9249
  <li><code>--verbose</code> - Run tests more verbosely, including describing each test case as it is run.</li>
9273
9250
  </ul>
@@ -9275,20 +9252,13 @@
9275
9252
  <p>In general, when you first run the Nautobot tests in your local copy of the repository, we'd recommend:</p>
9276
9253
  <div class="highlight"><pre><span></span><code><a id="__codelineno-43-1" name="__codelineno-43-1" href="#__codelineno-43-1"></a>invoke unittest --cache-test-fixtures --keepdb --parallel
9277
9254
  </code></pre></div>
9278
- <p>When there are too many cores on the testing machine, you can limit the number of parallel workers:</p>
9279
- <div class="highlight"><pre><span></span><code><a id="__codelineno-44-1" name="__codelineno-44-1" href="#__codelineno-44-1"></a>invoke unittest --cache-test-fixtures --keepdb --parallel-workers 4
9280
- </code></pre></div>
9281
9255
  <p>On subsequent reruns, you can add the other performance-related options:</p>
9282
- <div class="highlight"><pre><span></span><code><a id="__codelineno-45-1" name="__codelineno-45-1" href="#__codelineno-45-1"></a>invoke unittest --cache-test-fixtures --keepdb --parallel --skip-docs-build
9283
- <a id="__codelineno-45-2" name="__codelineno-45-2" href="#__codelineno-45-2"></a>invoke unittest --cache-test-fixtures --keepdb --parallel --skip-docs-build --label nautobot.core.tests
9256
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-44-1" name="__codelineno-44-1" href="#__codelineno-44-1"></a>invoke unittest --cache-test-fixtures --keepdb --parallel --skip-docs-build
9257
+ <a id="__codelineno-44-2" name="__codelineno-44-2" href="#__codelineno-44-2"></a>invoke unittest --cache-test-fixtures --keepdb --parallel --skip-docs-build --label nautobot.core.tests
9284
9258
  </code></pre></div>
9285
9259
  <p>When switching between significantly different branches of the code base (e.g. <code>main</code> vs <code>develop</code> vs <code>next</code>), you'll need to remove the cached test factory data, and for once omit the <code>--keepdb</code> option so that the test database can be destroyed and recreated appropriately:</p>
9286
- <div class="highlight"><pre><span></span><code><a id="__codelineno-46-1" name="__codelineno-46-1" href="#__codelineno-46-1"></a>rm development/factory_dump.json
9287
- <a id="__codelineno-46-2" name="__codelineno-46-2" href="#__codelineno-46-2"></a>invoke unittest --cache-test-fixtures --parallel
9288
- </code></pre></div>
9289
- <p>To limit the test to a specific pattern or label, you can use the <code>--label</code> and <code>--pattern</code> options:</p>
9290
- <div class="highlight"><pre><span></span><code><a id="__codelineno-47-1" name="__codelineno-47-1" href="#__codelineno-47-1"></a>invoke unittest --cache-test-fixtures --keepdb --verbose --skip-docs-build --label nautobot.core.tests.dcim.test_views.DeviceTestCase
9291
- <a id="__codelineno-47-2" name="__codelineno-47-2" href="#__codelineno-47-2"></a>invoke unittest --cache-test-fixtures --keepdb --verbose --skip-docs-build --pattern Controller
9260
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-45-1" name="__codelineno-45-1" href="#__codelineno-45-1"></a>rm development/factory_dump.json
9261
+ <a id="__codelineno-45-2" name="__codelineno-45-2" href="#__codelineno-45-2"></a>invoke unittest --cache-test-fixtures --parallel
9292
9262
  </code></pre></div>
9293
9263
  <h4 id="integration-tests">Integration Tests<a class="headerlink" href="#integration-tests" title="Permanent link">&para;</a></h4>
9294
9264
  <p>Integration tests are automated tests written and run to ensure that the Nautobot application behaves as expected when being used as it would be in practice. By contrast to unit tests, where individual units of code are being tested, integration tests rely upon the server code actually running, and web UI clients or API clients to make real connections to the service to exercise actual workflows, such as navigating to the login page, filling out the username/passwords fields, and clicking the "Log In" button.</p>
@@ -9493,8 +9463,8 @@
9493
9463
  </table>
9494
9464
  <h2 id="submitting-pull-requests">Submitting Pull Requests<a class="headerlink" href="#submitting-pull-requests" title="Permanent link">&para;</a></h2>
9495
9465
  <p>Once you're happy with your work and have verified that all tests pass, commit your changes and push it upstream to your fork. Always provide descriptive (but not excessively verbose) commit messages. When working on a specific issue, be sure to reference it.</p>
9496
- <div class="highlight"><pre><span></span><code><a id="__codelineno-48-1" name="__codelineno-48-1" href="#__codelineno-48-1"></a>git commit -m &quot;Closes #1234: Add IPv5 support&quot;
9497
- <a id="__codelineno-48-2" name="__codelineno-48-2" href="#__codelineno-48-2"></a>git push origin
9466
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-46-1" name="__codelineno-46-1" href="#__codelineno-46-1"></a>git commit -m &quot;Closes #1234: Add IPv5 support&quot;
9467
+ <a id="__codelineno-46-2" name="__codelineno-46-2" href="#__codelineno-46-2"></a>git push origin
9498
9468
  </code></pre></div>
9499
9469
  <p>Once your fork has the new commit, submit a <a href="https://github.com/nautobot/nautobot/compare">pull request</a> to the Nautobot repo to propose the changes. Be sure to provide a detailed accounting of the changes being made and the reasons for doing so.</p>
9500
9470
  <p>Once submitted, a maintainer will review your pull request and either merge it or request changes. If changes are needed, you can make them via new commits to your fork: The pull request will update automatically.</p>
@@ -9506,11 +9476,11 @@
9506
9476
  <p>Below are common issues you might encounter in your development environment and how to address them.</p>
9507
9477
  <h3 id="fatal-sorry-too-many-clients-already">FATAL: sorry, too many clients already<a class="headerlink" href="#fatal-sorry-too-many-clients-already" title="Permanent link">&para;</a></h3>
9508
9478
  <p>When using <code>nautobot-server runserver</code> to do development you might run into a traceback that looks something like this:</p>
9509
- <div class="highlight"><pre><span></span><code><a id="__codelineno-49-1" name="__codelineno-49-1" href="#__codelineno-49-1"></a>Exception Type: OperationalError at /extras/tags/
9510
- <a id="__codelineno-49-2" name="__codelineno-49-2" href="#__codelineno-49-2"></a>Exception Value: FATAL: sorry, too many clients already
9479
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-47-1" name="__codelineno-47-1" href="#__codelineno-47-1"></a>Exception Type: OperationalError at /extras/tags/
9480
+ <a id="__codelineno-47-2" name="__codelineno-47-2" href="#__codelineno-47-2"></a>Exception Value: FATAL: sorry, too many clients already
9511
9481
  </code></pre></div>
9512
9482
  <p>The <code>runserver</code> development server is multi-threaded by default, which means that every request is creating its own connection. If you are doing some local testing or development that is resulting in a lot of connections to the database, pass <code>--nothreading</code> to the runserver command to disable threading:</p>
9513
- <div class="highlight"><pre><span></span><code><a id="__codelineno-50-1" name="__codelineno-50-1" href="#__codelineno-50-1"></a>nautobot-server runserver --nothreading
9483
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-48-1" name="__codelineno-48-1" href="#__codelineno-48-1"></a>nautobot-server runserver --nothreading
9514
9484
  </code></pre></div>
9515
9485
 
9516
9486
 
@@ -686,27 +686,6 @@
686
686
 
687
687
 
688
688
 
689
- <li class="md-nav__item">
690
- <a href="../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
691
-
692
-
693
- <span class="md-ellipsis">
694
- Health Checks
695
- </span>
696
-
697
-
698
- </a>
699
- </li>
700
-
701
-
702
-
703
-
704
-
705
-
706
-
707
-
708
-
709
-
710
689
  <li class="md-nav__item">
711
690
  <a href="../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
712
691
 
@@ -1912,7 +1891,7 @@
1912
1891
 
1913
1892
 
1914
1893
  <li class="md-nav__item">
1915
- <a href="../../user-guide/feature-guides/contacts-and-teams.html" class="md-nav__link">
1894
+ <a href="../../user-guide/feature-guides/contact-and-team.html" class="md-nav__link">
1916
1895
 
1917
1896
 
1918
1897
  <span class="md-ellipsis">
@@ -3177,11 +3156,11 @@
3177
3156
 
3178
3157
 
3179
3158
  <li class="md-nav__item">
3180
- <a href="../../user-guide/core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3159
+ <a href="../../user-guide/core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3181
3160
 
3182
3161
 
3183
3162
  <span class="md-ellipsis">
3184
- Controller Managed Device Group
3163
+ Controller Device Group
3185
3164
  </span>
3186
3165
 
3187
3166