nautobot 2.2.0b1__py3-none-any.whl → 2.2.1__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 (425) hide show
  1. nautobot/__init__.py +31 -0
  2. nautobot/apps/api.py +1 -2
  3. nautobot/apps/utils.py +4 -0
  4. nautobot/apps/views.py +2 -0
  5. nautobot/circuits/api/urls.py +1 -2
  6. nautobot/circuits/api/views.py +0 -12
  7. nautobot/circuits/apps.py +1 -1
  8. nautobot/circuits/tests/test_filters.py +1 -1
  9. nautobot/core/api/routers.py +50 -3
  10. nautobot/core/api/utils.py +4 -0
  11. nautobot/core/api/views.py +21 -15
  12. nautobot/core/cli/__init__.py +18 -11
  13. nautobot/core/constants.py +85 -0
  14. nautobot/core/filters.py +7 -1
  15. nautobot/core/forms/widgets.py +1 -2
  16. nautobot/core/graphql/schema.py +1 -0
  17. nautobot/core/management/commands/generate_test_data.py +4 -4
  18. nautobot/core/models/__init__.py +1 -0
  19. nautobot/core/settings.py +24 -3
  20. nautobot/core/settings.yaml +20 -0
  21. nautobot/core/signals.py +1 -0
  22. nautobot/core/tables.py +2 -1
  23. nautobot/core/templates/admin/base.html +23 -94
  24. nautobot/core/templates/generic/object_retrieve.html +2 -2
  25. nautobot/core/templates/graphene/graphiql.html +18 -47
  26. nautobot/core/templates/inc/footer.html +5 -5
  27. nautobot/core/templates/inc/javascript.html +4 -4
  28. nautobot/core/templates/inc/media.html +2 -2
  29. nautobot/core/templates/inc/nav_menu.html +0 -7
  30. nautobot/core/templates/nautobot_config.py.j2 +14 -1
  31. nautobot/core/templates/rest_framework/api.html +12 -5
  32. nautobot/core/templatetags/helpers.py +2 -2
  33. nautobot/core/testing/__init__.py +1 -1
  34. nautobot/core/testing/filters.py +1 -1
  35. nautobot/core/testing/views.py +30 -0
  36. nautobot/core/tests/integration/test_view_authentication.py +68 -0
  37. nautobot/core/tests/test_api.py +13 -6
  38. nautobot/core/tests/test_csv.py +5 -4
  39. nautobot/core/tests/test_filters.py +2 -1
  40. nautobot/core/tests/test_graphql.py +4 -14
  41. nautobot/core/tests/test_navigations.py +3 -0
  42. nautobot/core/tests/test_views.py +44 -16
  43. nautobot/core/utils/data.py +1 -2
  44. nautobot/core/utils/lookup.py +126 -0
  45. nautobot/core/views/__init__.py +3 -7
  46. nautobot/core/views/generic.py +20 -6
  47. nautobot/core/views/mixins.py +7 -1
  48. nautobot/core/views/renderers.py +11 -6
  49. nautobot/dcim/api/serializers.py +4 -4
  50. nautobot/dcim/api/urls.py +2 -3
  51. nautobot/dcim/api/views.py +7 -18
  52. nautobot/dcim/apps.py +8 -4
  53. nautobot/dcim/elevations.py +5 -1
  54. nautobot/dcim/factory.py +7 -7
  55. nautobot/dcim/filters/__init__.py +16 -17
  56. nautobot/dcim/forms.py +61 -45
  57. nautobot/dcim/homepage.py +11 -3
  58. nautobot/dcim/management/commands/migrate_location_contacts.py +218 -0
  59. nautobot/dcim/migrations/0057_controller_models.py +11 -70
  60. nautobot/dcim/models/__init__.py +2 -2
  61. nautobot/dcim/models/devices.py +14 -16
  62. nautobot/dcim/models/racks.py +1 -3
  63. nautobot/dcim/navigation.py +23 -31
  64. nautobot/dcim/signals.py +6 -6
  65. nautobot/dcim/tables/__init__.py +2 -2
  66. nautobot/dcim/tables/devices.py +13 -16
  67. nautobot/dcim/tables/template_code.py +1 -1
  68. nautobot/dcim/templates/dcim/controller_create.html +70 -0
  69. nautobot/dcim/templates/dcim/controller_retrieve.html +35 -18
  70. nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +88 -0
  71. nautobot/dcim/templates/dcim/device/lldp_neighbors.html +75 -43
  72. nautobot/dcim/templates/dcim/device.html +11 -3
  73. nautobot/dcim/templates/dcim/device_edit.html +1 -1
  74. nautobot/dcim/templates/dcim/devicefamily_retrieve.html +4 -0
  75. nautobot/dcim/templates/dcim/softwareimagefile_retrieve.html +1 -1
  76. nautobot/dcim/tests/test_api.py +47 -6
  77. nautobot/dcim/tests/test_filters.py +92 -81
  78. nautobot/dcim/tests/test_graphql.py +11 -1
  79. nautobot/dcim/tests/test_models.py +15 -15
  80. nautobot/dcim/tests/test_signals.py +3 -1
  81. nautobot/dcim/tests/test_views.py +24 -12
  82. nautobot/dcim/urls.py +1 -1
  83. nautobot/dcim/views.py +25 -15
  84. nautobot/extras/api/serializers.py +20 -1
  85. nautobot/extras/api/urls.py +1 -2
  86. nautobot/extras/api/views.py +0 -10
  87. nautobot/extras/apps.py +7 -0
  88. nautobot/extras/context_managers.py +15 -4
  89. nautobot/extras/filters/__init__.py +53 -2
  90. nautobot/extras/filters/customfields.py +14 -9
  91. nautobot/extras/filters/mixins.py +6 -1
  92. nautobot/extras/forms/contacts.py +7 -0
  93. nautobot/extras/health_checks.py +1 -0
  94. nautobot/extras/jobs.py +1 -0
  95. nautobot/extras/managers.py +15 -2
  96. nautobot/extras/models/contacts.py +1 -0
  97. nautobot/extras/models/customfields.py +25 -2
  98. nautobot/extras/models/datasources.py +1 -0
  99. nautobot/extras/models/mixins.py +1 -0
  100. nautobot/extras/navigation.py +71 -65
  101. nautobot/extras/plugins/__init__.py +2 -1
  102. nautobot/extras/plugins/views.py +7 -11
  103. nautobot/extras/querysets.py +1 -2
  104. nautobot/extras/secrets/providers.py +1 -0
  105. nautobot/extras/signals.py +15 -5
  106. nautobot/extras/tasks.py +70 -17
  107. nautobot/extras/tests/test_api.py +2 -4
  108. nautobot/extras/tests/test_customfields.py +72 -9
  109. nautobot/extras/tests/test_dynamicgroups.py +2 -0
  110. nautobot/extras/tests/test_filters.py +89 -4
  111. nautobot/extras/tests/test_models.py +9 -0
  112. nautobot/extras/tests/test_relationships.py +10 -1
  113. nautobot/extras/tests/test_views.py +112 -1
  114. nautobot/extras/views.py +18 -17
  115. nautobot/ipam/api/serializers.py +10 -0
  116. nautobot/ipam/api/urls.py +1 -2
  117. nautobot/ipam/api/views.py +0 -11
  118. nautobot/ipam/apps.py +3 -2
  119. nautobot/ipam/tables.py +2 -22
  120. nautobot/ipam/tests/test_graphql.py +2 -3
  121. nautobot/ipam/tests/test_tables.py +42 -0
  122. nautobot/ipam/tests/test_views.py +1 -0
  123. nautobot/ipam/views.py +9 -9
  124. nautobot/project-static/css/base.css +1 -0
  125. nautobot/project-static/docs/404.html +126 -73
  126. nautobot/project-static/docs/apps/index.html +127 -71
  127. nautobot/project-static/docs/apps/nautobot-apps.html +127 -71
  128. nautobot/project-static/docs/assets/javascripts/{bundle.8fd75fb4.min.js → bundle.bd41221c.min.js} +2 -2
  129. nautobot/project-static/docs/assets/javascripts/{bundle.8fd75fb4.min.js.map → bundle.bd41221c.min.js.map} +3 -3
  130. nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css +1 -0
  131. nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css.map +1 -0
  132. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +127 -71
  133. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +127 -71
  134. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +167 -73
  135. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +165 -72
  136. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +127 -71
  137. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +127 -71
  138. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +127 -71
  139. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +127 -71
  140. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +127 -71
  141. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +127 -71
  142. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +127 -71
  143. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +127 -71
  144. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +127 -71
  145. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +127 -71
  146. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +127 -71
  147. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +127 -71
  148. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +127 -71
  149. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +127 -71
  150. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +128 -72
  151. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +127 -71
  152. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +127 -71
  153. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +345 -71
  154. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +172 -73
  155. nautobot/project-static/docs/development/apps/api/configuration-view.html +127 -71
  156. nautobot/project-static/docs/development/apps/api/database-backend-config.html +127 -71
  157. nautobot/project-static/docs/development/apps/api/models/django-admin.html +127 -71
  158. nautobot/project-static/docs/development/apps/api/models/global-search.html +127 -71
  159. nautobot/project-static/docs/development/apps/api/models/graphql.html +127 -71
  160. nautobot/project-static/docs/development/apps/api/models/index.html +127 -71
  161. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +127 -71
  162. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +127 -71
  163. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +127 -71
  164. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +127 -71
  165. nautobot/project-static/docs/development/apps/api/platform-features/index.html +127 -71
  166. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +127 -71
  167. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +127 -71
  168. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +127 -71
  169. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +127 -71
  170. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +127 -71
  171. nautobot/project-static/docs/development/apps/api/prometheus.html +127 -71
  172. nautobot/project-static/docs/development/apps/api/setup.html +127 -71
  173. nautobot/project-static/docs/development/apps/api/testing.html +127 -71
  174. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +127 -71
  175. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +127 -71
  176. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +127 -71
  177. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +127 -71
  178. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +127 -71
  179. nautobot/project-static/docs/development/apps/api/views/base-template.html +127 -71
  180. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +141 -80
  181. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +144 -83
  182. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +127 -71
  183. nautobot/project-static/docs/development/apps/api/views/index.html +127 -71
  184. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +127 -71
  185. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +127 -71
  186. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +127 -71
  187. nautobot/project-static/docs/development/apps/api/views/notes.html +127 -71
  188. nautobot/project-static/docs/development/apps/api/views/rest-api.html +127 -71
  189. nautobot/project-static/docs/development/apps/api/views/urls.html +127 -71
  190. nautobot/project-static/docs/development/apps/index.html +127 -71
  191. nautobot/project-static/docs/development/apps/migration/code-updates.html +127 -71
  192. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +127 -71
  193. nautobot/project-static/docs/development/apps/migration/from-v1.html +127 -71
  194. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +127 -71
  195. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +127 -71
  196. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +127 -71
  197. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +127 -71
  198. nautobot/project-static/docs/development/apps/porting-from-netbox.html +127 -71
  199. nautobot/project-static/docs/development/core/application-registry.html +127 -71
  200. nautobot/project-static/docs/development/core/best-practices.html +145 -79
  201. nautobot/project-static/docs/development/core/bootstrap-ui.html +127 -71
  202. nautobot/project-static/docs/development/core/caching.html +127 -71
  203. nautobot/project-static/docs/development/core/controllers.html +141 -275
  204. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +127 -71
  205. nautobot/project-static/docs/development/core/extending-models.html +13 -8166
  206. nautobot/project-static/docs/development/core/generic-views.html +142 -86
  207. nautobot/project-static/docs/development/core/getting-started.html +146 -81
  208. nautobot/project-static/docs/development/core/homepage.html +145 -89
  209. nautobot/project-static/docs/development/core/index.html +127 -71
  210. nautobot/project-static/docs/development/core/model-checklist.html +8354 -0
  211. nautobot/project-static/docs/development/core/model-features.html +130 -74
  212. nautobot/project-static/docs/development/core/natural-keys.html +127 -71
  213. nautobot/project-static/docs/development/core/navigation-menu.html +127 -71
  214. nautobot/project-static/docs/development/core/release-checklist.html +127 -71
  215. nautobot/project-static/docs/development/core/role-internals.html +127 -71
  216. nautobot/project-static/docs/development/core/settings.html +127 -71
  217. nautobot/project-static/docs/development/core/style-guide.html +127 -71
  218. nautobot/project-static/docs/development/core/templates.html +127 -71
  219. nautobot/project-static/docs/development/core/testing.html +127 -71
  220. nautobot/project-static/docs/development/core/user-preferences.html +127 -71
  221. nautobot/project-static/docs/development/extending-models.html +3 -3
  222. nautobot/project-static/docs/development/index.html +127 -71
  223. nautobot/project-static/docs/development/jobs/index.html +128 -72
  224. nautobot/project-static/docs/development/jobs/migration/from-v1.html +127 -71
  225. nautobot/project-static/docs/index.html +126 -73
  226. nautobot/project-static/docs/models/dcim/{controllerdevicegroup.html → controllermanageddevicegroup.html} +3 -3
  227. nautobot/project-static/docs/objects.inv +0 -0
  228. nautobot/project-static/docs/release-notes/index.html +127 -71
  229. nautobot/project-static/docs/release-notes/version-1.0.html +127 -71
  230. nautobot/project-static/docs/release-notes/version-1.1.html +127 -71
  231. nautobot/project-static/docs/release-notes/version-1.2.html +127 -71
  232. nautobot/project-static/docs/release-notes/version-1.3.html +127 -71
  233. nautobot/project-static/docs/release-notes/version-1.4.html +127 -71
  234. nautobot/project-static/docs/release-notes/version-1.5.html +127 -71
  235. nautobot/project-static/docs/release-notes/version-1.6.html +127 -71
  236. nautobot/project-static/docs/release-notes/version-2.0.html +127 -71
  237. nautobot/project-static/docs/release-notes/version-2.1.html +538 -254
  238. nautobot/project-static/docs/release-notes/version-2.2.html +520 -101
  239. nautobot/project-static/docs/requirements.txt +3 -3
  240. nautobot/project-static/docs/search/search_index.json +1 -1
  241. nautobot/project-static/docs/sitemap.xml +264 -259
  242. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  243. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +127 -71
  244. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +127 -71
  245. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +127 -71
  246. nautobot/project-static/docs/user-guide/administration/configuration/index.html +127 -71
  247. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +192 -71
  248. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +127 -71
  249. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +127 -71
  250. nautobot/project-static/docs/user-guide/administration/guides/caching.html +127 -71
  251. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +127 -71
  252. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +127 -71
  253. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +127 -71
  254. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +131 -71
  255. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +127 -71
  256. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +127 -71
  257. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +130 -74
  258. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +127 -71
  259. nautobot/project-static/docs/user-guide/administration/installation/docker.html +134 -74
  260. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +127 -71
  261. nautobot/project-static/docs/user-guide/administration/installation/health-checks.html +8616 -0
  262. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +127 -71
  263. nautobot/project-static/docs/user-guide/administration/installation/index.html +127 -71
  264. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +127 -71
  265. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +127 -71
  266. nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +130 -74
  267. nautobot/project-static/docs/user-guide/administration/installation/services.html +127 -71
  268. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +127 -71
  269. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +127 -71
  270. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +127 -71
  271. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +127 -71
  272. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +127 -71
  273. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +127 -71
  274. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +127 -71
  275. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +127 -71
  276. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +127 -71
  277. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +127 -71
  278. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +127 -71
  279. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +127 -71
  280. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +127 -71
  281. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +127 -71
  282. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +127 -71
  283. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +127 -71
  284. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +127 -71
  285. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +127 -71
  286. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +127 -71
  287. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +127 -71
  288. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +127 -71
  289. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +127 -71
  290. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +127 -71
  291. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +362 -79
  292. nautobot/project-static/docs/user-guide/core-data-model/dcim/{controllerdevicegroup.html → controllermanageddevicegroup.html} +210 -85
  293. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +127 -71
  294. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +127 -71
  295. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +127 -71
  296. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +127 -71
  297. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +127 -71
  298. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +127 -71
  299. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +127 -71
  300. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +127 -71
  301. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +127 -71
  302. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +127 -71
  303. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +127 -71
  304. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +127 -71
  305. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +127 -71
  306. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +127 -71
  307. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +127 -71
  308. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +127 -71
  309. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +127 -71
  310. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +127 -71
  311. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +127 -71
  312. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +127 -71
  313. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +127 -71
  314. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +127 -71
  315. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +127 -71
  316. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +127 -71
  317. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +127 -71
  318. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +127 -71
  319. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +127 -71
  320. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +127 -71
  321. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +127 -71
  322. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +127 -71
  323. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +130 -74
  324. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +127 -71
  325. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +138 -71
  326. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +138 -71
  327. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +127 -71
  328. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +127 -71
  329. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +127 -71
  330. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +127 -71
  331. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +127 -71
  332. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +127 -71
  333. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +127 -71
  334. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +127 -71
  335. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +127 -71
  336. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +127 -71
  337. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +127 -71
  338. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +127 -71
  339. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +127 -71
  340. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +127 -71
  341. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +127 -71
  342. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +127 -71
  343. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +127 -71
  344. nautobot/project-static/docs/user-guide/feature-guides/{contact-and-team.html → contacts-and-teams.html} +128 -72
  345. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +129 -73
  346. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +127 -71
  347. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +127 -71
  348. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +127 -71
  349. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +127 -71
  350. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +127 -71
  351. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +127 -71
  352. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +129 -73
  353. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +127 -71
  354. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +127 -71
  355. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +127 -71
  356. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +127 -71
  357. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +127 -71
  358. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +127 -71
  359. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +127 -71
  360. nautobot/project-static/docs/user-guide/index.html +127 -71
  361. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +127 -71
  362. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +127 -71
  363. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +127 -71
  364. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +127 -71
  365. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +127 -71
  366. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +127 -71
  367. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +127 -71
  368. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +127 -71
  369. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +127 -71
  370. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +127 -71
  371. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +127 -71
  372. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +127 -71
  373. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +127 -71
  374. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +127 -71
  375. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +127 -71
  376. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +127 -71
  377. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +127 -71
  378. nautobot/project-static/docs/user-guide/platform-functionality/note.html +127 -71
  379. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +127 -71
  380. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +127 -71
  381. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +127 -71
  382. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +127 -71
  383. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +127 -71
  384. nautobot/project-static/docs/user-guide/platform-functionality/role.html +127 -71
  385. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +127 -71
  386. nautobot/project-static/docs/user-guide/platform-functionality/status.html +127 -71
  387. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +127 -71
  388. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +127 -71
  389. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +127 -71
  390. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +127 -71
  391. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +127 -71
  392. nautobot/project-static/jquery/jquery-3.7.1.min.js +2 -0
  393. nautobot/project-static/{jquery-ui-1.13.1 → jquery-ui-1.13.2}/images/ui-icons_444444_256x240.png +0 -0
  394. nautobot/project-static/{jquery-ui-1.13.1 → jquery-ui-1.13.2}/images/ui-icons_555555_256x240.png +0 -0
  395. nautobot/project-static/{jquery-ui-1.13.1 → jquery-ui-1.13.2}/images/ui-icons_777620_256x240.png +0 -0
  396. nautobot/project-static/{jquery-ui-1.13.1 → jquery-ui-1.13.2}/images/ui-icons_777777_256x240.png +0 -0
  397. nautobot/project-static/{jquery-ui-1.13.1 → jquery-ui-1.13.2}/images/ui-icons_cc0000_256x240.png +0 -0
  398. nautobot/project-static/{jquery-ui-1.13.1 → jquery-ui-1.13.2}/images/ui-icons_ffffff_256x240.png +0 -0
  399. nautobot/project-static/jquery-ui-1.13.2/jquery-ui.min.css +7 -0
  400. nautobot/project-static/jquery-ui-1.13.2/jquery-ui.min.js +6 -0
  401. nautobot/project-static/jquery-ui-1.13.2/jquery-ui.structure.min.css +5 -0
  402. nautobot/project-static/{jquery-ui-1.13.1 → jquery-ui-1.13.2}/jquery-ui.theme.min.css +1 -1
  403. nautobot/tenancy/api/urls.py +1 -2
  404. nautobot/tenancy/api/views.py +0 -12
  405. nautobot/tenancy/tables.py +1 -1
  406. nautobot/tenancy/tests/test_views.py +1 -0
  407. nautobot/users/api/urls.py +1 -2
  408. nautobot/users/api/views.py +2 -65
  409. nautobot/users/views.py +8 -8
  410. nautobot/virtualization/api/urls.py +1 -2
  411. nautobot/virtualization/api/views.py +0 -12
  412. {nautobot-2.2.0b1.dist-info → nautobot-2.2.1.dist-info}/METADATA +24 -24
  413. {nautobot-2.2.0b1.dist-info → nautobot-2.2.1.dist-info}/RECORD +418 -412
  414. nautobot/dcim/templates/dcim/controllerdevicegroup_create.html +0 -43
  415. nautobot/project-static/docs/assets/stylesheets/main.f2e4d321.min.css +0 -1
  416. nautobot/project-static/docs/assets/stylesheets/main.f2e4d321.min.css.map +0 -1
  417. nautobot/project-static/jquery/jquery-3.6.0.min.js +0 -2
  418. nautobot/project-static/jquery-ui-1.13.1/jquery-ui.min.css +0 -7
  419. nautobot/project-static/jquery-ui-1.13.1/jquery-ui.min.js +0 -6
  420. nautobot/project-static/jquery-ui-1.13.1/jquery-ui.structure.min.css +0 -5
  421. /nautobot/dcim/templates/dcim/{controllerdevicegroup_retrieve.html → controllermanageddevicegroup_retrieve.html} +0 -0
  422. {nautobot-2.2.0b1.dist-info → nautobot-2.2.1.dist-info}/LICENSE.txt +0 -0
  423. {nautobot-2.2.0b1.dist-info → nautobot-2.2.1.dist-info}/NOTICE +0 -0
  424. {nautobot-2.2.0b1.dist-info → nautobot-2.2.1.dist-info}/WHEEL +0 -0
  425. {nautobot-2.2.0b1.dist-info → nautobot-2.2.1.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.8">
21
+ <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.16">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.f2e4d321.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.bcfcd587.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -401,16 +401,17 @@
401
401
 
402
402
 
403
403
 
404
-
405
-
404
+
405
+
406
+
406
407
 
407
408
 
409
+
408
410
 
409
411
  <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested">
410
412
 
411
413
 
412
414
 
413
-
414
415
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
415
416
 
416
417
 
@@ -451,13 +452,14 @@
451
452
 
452
453
 
453
454
 
455
+
456
+
454
457
 
455
458
 
456
459
  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
457
460
 
458
461
 
459
462
 
460
-
461
463
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" checked>
462
464
 
463
465
 
@@ -488,13 +490,14 @@
488
490
 
489
491
 
490
492
 
493
+
494
+
491
495
 
492
496
 
493
497
  <li class="md-nav__item md-nav__item--nested">
494
498
 
495
499
 
496
500
 
497
-
498
501
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_1" >
499
502
 
500
503
 
@@ -690,6 +693,27 @@
690
693
 
691
694
 
692
695
 
696
+ <li class="md-nav__item">
697
+ <a href="../installation/health-checks.html" class="md-nav__link">
698
+
699
+
700
+ <span class="md-ellipsis">
701
+ Health Checks
702
+ </span>
703
+
704
+
705
+ </a>
706
+ </li>
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
693
717
  <li class="md-nav__item">
694
718
  <a href="../installation/selinux-troubleshooting.html" class="md-nav__link">
695
719
 
@@ -722,13 +746,14 @@
722
746
 
723
747
 
724
748
 
749
+
750
+
725
751
 
726
752
 
727
753
  <li class="md-nav__item md-nav__item--nested">
728
754
 
729
755
 
730
756
 
731
-
732
757
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
733
758
 
734
759
 
@@ -801,13 +826,14 @@
801
826
 
802
827
 
803
828
 
829
+
830
+
804
831
 
805
832
 
806
833
  <li class="md-nav__item md-nav__item--nested">
807
834
 
808
835
 
809
836
 
810
-
811
837
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2_3" >
812
838
 
813
839
 
@@ -867,13 +893,14 @@
867
893
 
868
894
 
869
895
 
896
+
897
+
870
898
 
871
899
 
872
900
  <li class="md-nav__item md-nav__item--nested">
873
901
 
874
902
 
875
903
 
876
-
877
904
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2_3_2" >
878
905
 
879
906
 
@@ -1020,13 +1047,14 @@
1020
1047
 
1021
1048
 
1022
1049
 
1050
+
1051
+
1023
1052
 
1024
1053
 
1025
1054
  <li class="md-nav__item md-nav__item--nested">
1026
1055
 
1027
1056
 
1028
1057
 
1029
-
1030
1058
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3" >
1031
1059
 
1032
1060
 
@@ -1107,13 +1135,14 @@
1107
1135
 
1108
1136
 
1109
1137
 
1138
+
1139
+
1110
1140
 
1111
1141
 
1112
1142
  <li class="md-nav__item md-nav__item--nested">
1113
1143
 
1114
1144
 
1115
1145
 
1116
-
1117
1146
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4" >
1118
1147
 
1119
1148
 
@@ -1215,13 +1244,14 @@
1215
1244
 
1216
1245
 
1217
1246
 
1247
+
1248
+
1218
1249
 
1219
1250
 
1220
1251
  <li class="md-nav__item md-nav__item--nested">
1221
1252
 
1222
1253
 
1223
1254
 
1224
-
1225
1255
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4_4" >
1226
1256
 
1227
1257
 
@@ -1331,13 +1361,14 @@
1331
1361
 
1332
1362
 
1333
1363
 
1364
+
1365
+
1334
1366
 
1335
1367
 
1336
1368
  <li class="md-nav__item md-nav__item--nested">
1337
1369
 
1338
1370
 
1339
1371
 
1340
-
1341
1372
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5" >
1342
1373
 
1343
1374
 
@@ -1420,13 +1451,14 @@
1420
1451
 
1421
1452
 
1422
1453
 
1454
+
1455
+
1423
1456
 
1424
1457
 
1425
1458
  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
1426
1459
 
1427
1460
 
1428
1461
 
1429
-
1430
1462
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_6" checked>
1431
1463
 
1432
1464
 
@@ -1717,13 +1749,14 @@
1717
1749
 
1718
1750
 
1719
1751
 
1752
+
1753
+
1720
1754
 
1721
1755
 
1722
1756
  <li class="md-nav__item md-nav__item--nested">
1723
1757
 
1724
1758
 
1725
1759
 
1726
-
1727
1760
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
1728
1761
 
1729
1762
 
@@ -1754,13 +1787,14 @@
1754
1787
 
1755
1788
 
1756
1789
 
1790
+
1791
+
1757
1792
 
1758
1793
 
1759
1794
  <li class="md-nav__item md-nav__item--nested">
1760
1795
 
1761
1796
 
1762
1797
 
1763
-
1764
1798
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2_1" >
1765
1799
 
1766
1800
 
@@ -1973,7 +2007,7 @@
1973
2007
 
1974
2008
 
1975
2009
  <li class="md-nav__item">
1976
- <a href="../../feature-guides/contact-and-team.html" class="md-nav__link">
2010
+ <a href="../../feature-guides/contacts-and-teams.html" class="md-nav__link">
1977
2011
 
1978
2012
 
1979
2013
  <span class="md-ellipsis">
@@ -2130,13 +2164,14 @@
2130
2164
 
2131
2165
 
2132
2166
 
2167
+
2168
+
2133
2169
 
2134
2170
 
2135
2171
  <li class="md-nav__item md-nav__item--nested">
2136
2172
 
2137
2173
 
2138
2174
 
2139
-
2140
2175
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" >
2141
2176
 
2142
2177
 
@@ -2167,13 +2202,14 @@
2167
2202
 
2168
2203
 
2169
2204
 
2205
+
2206
+
2170
2207
 
2171
2208
 
2172
2209
  <li class="md-nav__item md-nav__item--nested">
2173
2210
 
2174
2211
 
2175
2212
 
2176
-
2177
2213
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_1" >
2178
2214
 
2179
2215
 
@@ -2233,13 +2269,14 @@
2233
2269
 
2234
2270
 
2235
2271
 
2272
+
2273
+
2236
2274
 
2237
2275
 
2238
2276
  <li class="md-nav__item md-nav__item--nested">
2239
2277
 
2240
2278
 
2241
2279
 
2242
-
2243
2280
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_2" >
2244
2281
 
2245
2282
 
@@ -2383,13 +2420,14 @@
2383
2420
 
2384
2421
 
2385
2422
 
2423
+
2424
+
2386
2425
 
2387
2426
 
2388
2427
  <li class="md-nav__item md-nav__item--nested">
2389
2428
 
2390
2429
 
2391
2430
 
2392
-
2393
2431
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3" >
2394
2432
 
2395
2433
 
@@ -2567,13 +2605,14 @@
2567
2605
 
2568
2606
 
2569
2607
 
2608
+
2609
+
2570
2610
 
2571
2611
 
2572
2612
  <li class="md-nav__item md-nav__item--nested">
2573
2613
 
2574
2614
 
2575
2615
 
2576
-
2577
2616
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3_8" >
2578
2617
 
2579
2618
 
@@ -2788,13 +2827,14 @@
2788
2827
 
2789
2828
 
2790
2829
 
2830
+
2831
+
2791
2832
 
2792
2833
 
2793
2834
  <li class="md-nav__item md-nav__item--nested">
2794
2835
 
2795
2836
 
2796
2837
 
2797
-
2798
2838
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3_9" >
2799
2839
 
2800
2840
 
@@ -3238,11 +3278,11 @@
3238
3278
 
3239
3279
 
3240
3280
  <li class="md-nav__item">
3241
- <a href="../../core-data-model/dcim/controllerdevicegroup.html" class="md-nav__link">
3281
+ <a href="../../core-data-model/dcim/controllermanageddevicegroup.html" class="md-nav__link">
3242
3282
 
3243
3283
 
3244
3284
  <span class="md-ellipsis">
3245
- Controller Device Group
3285
+ Controller Managed Device Group
3246
3286
  </span>
3247
3287
 
3248
3288
 
@@ -3269,13 +3309,14 @@
3269
3309
 
3270
3310
 
3271
3311
 
3312
+
3313
+
3272
3314
 
3273
3315
 
3274
3316
  <li class="md-nav__item md-nav__item--nested">
3275
3317
 
3276
3318
 
3277
3319
 
3278
-
3279
3320
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4" >
3280
3321
 
3281
3322
 
@@ -3398,13 +3439,14 @@
3398
3439
 
3399
3440
 
3400
3441
 
3442
+
3443
+
3401
3444
 
3402
3445
 
3403
3446
  <li class="md-nav__item md-nav__item--nested">
3404
3447
 
3405
3448
 
3406
3449
 
3407
-
3408
3450
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_5" >
3409
3451
 
3410
3452
 
@@ -3632,13 +3674,14 @@
3632
3674
 
3633
3675
 
3634
3676
 
3677
+
3678
+
3635
3679
 
3636
3680
 
3637
3681
  <li class="md-nav__item md-nav__item--nested">
3638
3682
 
3639
3683
 
3640
3684
 
3641
-
3642
3685
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_6" >
3643
3686
 
3644
3687
 
@@ -3719,13 +3762,14 @@
3719
3762
 
3720
3763
 
3721
3764
 
3765
+
3766
+
3722
3767
 
3723
3768
 
3724
3769
  <li class="md-nav__item md-nav__item--nested">
3725
3770
 
3726
3771
 
3727
3772
 
3728
-
3729
3773
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_7" >
3730
3774
 
3731
3775
 
@@ -3877,13 +3921,14 @@
3877
3921
 
3878
3922
 
3879
3923
 
3924
+
3925
+
3880
3926
 
3881
3927
 
3882
3928
  <li class="md-nav__item md-nav__item--nested">
3883
3929
 
3884
3930
 
3885
3931
 
3886
-
3887
3932
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" >
3888
3933
 
3889
3934
 
@@ -4082,13 +4127,14 @@
4082
4127
 
4083
4128
 
4084
4129
 
4130
+
4131
+
4085
4132
 
4086
4133
 
4087
4134
  <li class="md-nav__item md-nav__item--nested">
4088
4135
 
4089
4136
 
4090
4137
 
4091
-
4092
4138
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_9" >
4093
4139
 
4094
4140
 
@@ -4177,13 +4223,14 @@
4177
4223
 
4178
4224
 
4179
4225
 
4226
+
4227
+
4180
4228
 
4181
4229
 
4182
4230
  <li class="md-nav__item md-nav__item--nested">
4183
4231
 
4184
4232
 
4185
4233
 
4186
-
4187
4234
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_11" >
4188
4235
 
4189
4236
 
@@ -4377,13 +4424,14 @@
4377
4424
 
4378
4425
 
4379
4426
 
4427
+
4428
+
4380
4429
 
4381
4430
 
4382
4431
  <li class="md-nav__item md-nav__item--nested">
4383
4432
 
4384
4433
 
4385
4434
 
4386
-
4387
4435
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_15" >
4388
4436
 
4389
4437
 
@@ -4598,13 +4646,14 @@
4598
4646
 
4599
4647
 
4600
4648
 
4649
+
4650
+
4601
4651
 
4602
4652
 
4603
4653
  <li class="md-nav__item md-nav__item--nested">
4604
4654
 
4605
4655
 
4606
4656
 
4607
-
4608
4657
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_21" >
4609
4658
 
4610
4659
 
@@ -4721,16 +4770,14 @@
4721
4770
 
4722
4771
 
4723
4772
 
4724
-
4725
-
4726
4773
 
4727
4774
 
4728
4775
 
4729
- <li class="md-nav__item md-nav__item--section md-nav__item--nested">
4776
+
4777
+ <li class="md-nav__item md-nav__item--nested">
4730
4778
 
4731
4779
 
4732
4780
 
4733
-
4734
4781
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
4735
4782
 
4736
4783
 
@@ -4747,7 +4794,7 @@
4747
4794
  </a>
4748
4795
 
4749
4796
 
4750
- <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="">
4797
+ <label class="md-nav__link " for="__nav_3" id="__nav_3_label" tabindex="0">
4751
4798
  <span class="md-nav__icon md-icon"></span>
4752
4799
  </label>
4753
4800
 
@@ -4769,13 +4816,14 @@
4769
4816
 
4770
4817
 
4771
4818
 
4819
+
4820
+
4772
4821
 
4773
4822
 
4774
4823
  <li class="md-nav__item md-nav__item--nested">
4775
4824
 
4776
4825
 
4777
4826
 
4778
-
4779
4827
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_1" >
4780
4828
 
4781
4829
 
@@ -4843,13 +4891,14 @@
4843
4891
 
4844
4892
 
4845
4893
 
4894
+
4895
+
4846
4896
 
4847
4897
 
4848
4898
  <li class="md-nav__item md-nav__item--nested">
4849
4899
 
4850
4900
 
4851
4901
 
4852
-
4853
4902
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2" >
4854
4903
 
4855
4904
 
@@ -4930,13 +4979,14 @@
4930
4979
 
4931
4980
 
4932
4981
 
4982
+
4983
+
4933
4984
 
4934
4985
 
4935
4986
  <li class="md-nav__item md-nav__item--nested">
4936
4987
 
4937
4988
 
4938
4989
 
4939
-
4940
4990
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_3" >
4941
4991
 
4942
4992
 
@@ -5046,13 +5096,14 @@
5046
5096
 
5047
5097
 
5048
5098
 
5099
+
5100
+
5049
5101
 
5050
5102
 
5051
5103
  <li class="md-nav__item md-nav__item--nested">
5052
5104
 
5053
5105
 
5054
5106
 
5055
-
5056
5107
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_4" >
5057
5108
 
5058
5109
 
@@ -5238,13 +5289,14 @@
5238
5289
 
5239
5290
 
5240
5291
 
5292
+
5293
+
5241
5294
 
5242
5295
 
5243
5296
  <li class="md-nav__item md-nav__item--nested">
5244
5297
 
5245
5298
 
5246
5299
 
5247
-
5248
5300
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_4_8" >
5249
5301
 
5250
5302
 
@@ -5354,13 +5406,14 @@
5354
5406
 
5355
5407
 
5356
5408
 
5409
+
5410
+
5357
5411
 
5358
5412
 
5359
5413
  <li class="md-nav__item md-nav__item--nested">
5360
5414
 
5361
5415
 
5362
5416
 
5363
-
5364
5417
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_5" >
5365
5418
 
5366
5419
 
@@ -5617,13 +5670,14 @@
5617
5670
 
5618
5671
 
5619
5672
 
5673
+
5674
+
5620
5675
 
5621
5676
 
5622
5677
  <li class="md-nav__item md-nav__item--nested">
5623
5678
 
5624
5679
 
5625
5680
 
5626
-
5627
5681
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_6" >
5628
5682
 
5629
5683
 
@@ -5796,13 +5850,14 @@
5796
5850
 
5797
5851
 
5798
5852
 
5853
+
5854
+
5799
5855
 
5800
5856
 
5801
5857
  <li class="md-nav__item md-nav__item--nested">
5802
5858
 
5803
5859
 
5804
5860
 
5805
-
5806
5861
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_8" >
5807
5862
 
5808
5863
 
@@ -6324,13 +6379,14 @@
6324
6379
 
6325
6380
 
6326
6381
 
6382
+
6383
+
6327
6384
 
6328
6385
 
6329
6386
  <li class="md-nav__item md-nav__item--nested">
6330
6387
 
6331
6388
 
6332
6389
 
6333
-
6334
6390
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_9" >
6335
6391
 
6336
6392
 
@@ -6424,13 +6480,14 @@
6424
6480
 
6425
6481
 
6426
6482
 
6483
+
6484
+
6427
6485
 
6428
6486
 
6429
6487
  <li class="md-nav__item md-nav__item--nested">
6430
6488
 
6431
6489
 
6432
6490
 
6433
-
6434
6491
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_9_4" >
6435
6492
 
6436
6493
 
@@ -6561,13 +6618,14 @@
6561
6618
 
6562
6619
 
6563
6620
 
6621
+
6622
+
6564
6623
 
6565
6624
 
6566
6625
  <li class="md-nav__item md-nav__item--nested">
6567
6626
 
6568
6627
 
6569
6628
 
6570
-
6571
6629
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_10" >
6572
6630
 
6573
6631
 
@@ -6635,13 +6693,14 @@
6635
6693
 
6636
6694
 
6637
6695
 
6696
+
6697
+
6638
6698
 
6639
6699
 
6640
6700
  <li class="md-nav__item md-nav__item--nested">
6641
6701
 
6642
6702
 
6643
6703
 
6644
-
6645
6704
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
6646
6705
 
6647
6706
 
@@ -6846,11 +6905,11 @@
6846
6905
 
6847
6906
 
6848
6907
  <li class="md-nav__item">
6849
- <a href="../../../development/core/extending-models.html" class="md-nav__link">
6908
+ <a href="../../../development/core/generic-views.html" class="md-nav__link">
6850
6909
 
6851
6910
 
6852
6911
  <span class="md-ellipsis">
6853
- Extending Models
6912
+ Generic Views
6854
6913
  </span>
6855
6914
 
6856
6915
 
@@ -6867,11 +6926,11 @@
6867
6926
 
6868
6927
 
6869
6928
  <li class="md-nav__item">
6870
- <a href="../../../development/core/generic-views.html" class="md-nav__link">
6929
+ <a href="../../../development/core/homepage.html" class="md-nav__link">
6871
6930
 
6872
6931
 
6873
6932
  <span class="md-ellipsis">
6874
- Generic Views
6933
+ Home Page Panels
6875
6934
  </span>
6876
6935
 
6877
6936
 
@@ -6888,11 +6947,11 @@
6888
6947
 
6889
6948
 
6890
6949
  <li class="md-nav__item">
6891
- <a href="../../../development/core/homepage.html" class="md-nav__link">
6950
+ <a href="../../../development/core/model-checklist.html" class="md-nav__link">
6892
6951
 
6893
6952
 
6894
6953
  <span class="md-ellipsis">
6895
- Home Page Panels
6954
+ Model Development Checklist
6896
6955
  </span>
6897
6956
 
6898
6957
 
@@ -7115,16 +7174,14 @@
7115
7174
 
7116
7175
 
7117
7176
 
7118
-
7119
-
7120
7177
 
7121
7178
 
7122
7179
 
7123
- <li class="md-nav__item md-nav__item--section md-nav__item--nested">
7180
+
7181
+ <li class="md-nav__item md-nav__item--nested">
7124
7182
 
7125
7183
 
7126
7184
 
7127
-
7128
7185
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
7129
7186
 
7130
7187
 
@@ -7141,7 +7198,7 @@
7141
7198
  </a>
7142
7199
 
7143
7200
 
7144
- <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="">
7201
+ <label class="md-nav__link " for="__nav_4" id="__nav_4_label" tabindex="0">
7145
7202
  <span class="md-nav__icon md-icon"></span>
7146
7203
  </label>
7147
7204
 
@@ -7380,16 +7437,14 @@
7380
7437
 
7381
7438
 
7382
7439
 
7383
-
7384
-
7385
7440
 
7386
7441
 
7387
7442
 
7388
- <li class="md-nav__item md-nav__item--section md-nav__item--nested">
7443
+
7444
+ <li class="md-nav__item md-nav__item--nested">
7389
7445
 
7390
7446
 
7391
7447
 
7392
-
7393
7448
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
7394
7449
 
7395
7450
 
@@ -7406,7 +7461,7 @@
7406
7461
  </a>
7407
7462
 
7408
7463
 
7409
- <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="">
7464
+ <label class="md-nav__link " for="__nav_5" id="__nav_5_label" tabindex="0">
7410
7465
  <span class="md-nav__icon md-icon"></span>
7411
7466
  </label>
7412
7467
 
@@ -7428,13 +7483,14 @@
7428
7483
 
7429
7484
 
7430
7485
 
7486
+
7487
+
7431
7488
 
7432
7489
 
7433
7490
  <li class="md-nav__item md-nav__item--nested">
7434
7491
 
7435
7492
 
7436
7493
 
7437
-
7438
7494
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5_1" >
7439
7495
 
7440
7496
 
@@ -7813,7 +7869,7 @@
7813
7869
  <h2 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">&para;</a></h2>
7814
7870
  <p>The <a href="https://django-storages.readthedocs.io/en/stable/"><code>django-storages</code></a> library is quite powerful, please refer to their documentation for a more detailed explanation of the individual settings or for more information.</p>
7815
7871
  <p>In <code>nautobot_config.py</code> define the following configuration:</p>
7816
- <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="n">STORAGE_BACKEND</span> <span class="o">=</span> <span class="s2">&quot;storages.backends.s3boto3.S3Boto3Storage&quot;</span>
7872
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a><span class="n">STORAGE_BACKEND</span> <span class="o">=</span> <span class="s2">&quot;storages.backends.s3.S3Storage&quot;</span>
7817
7873
  <a id="__codelineno-2-2" name="__codelineno-2-2" href="#__codelineno-2-2"></a>
7818
7874
  <a id="__codelineno-2-3" name="__codelineno-2-3" href="#__codelineno-2-3"></a><span class="n">STORAGE_CONFIG</span> <span class="o">=</span> <span class="p">{</span>
7819
7875
  <a id="__codelineno-2-4" name="__codelineno-2-4" href="#__codelineno-2-4"></a> <span class="s2">&quot;AWS_ACCESS_KEY_ID&quot;</span><span class="p">:</span> <span class="s2">&quot;...&quot;</span><span class="p">,</span>
@@ -7867,9 +7923,9 @@
7867
7923
  <p>The nice thing about using <code>django-storages</code> is the ease of use and the ability to easily extend storage backends. One use case for extending storage backends that has been used is to store certain App data attachments in its own S3 bucket with different permissions. If we take this concept to the example of <code>SoftwareFileAttachment</code> we can put the software images in their own S3 bucket by creating a custom storage backend that we can pass to our <code>models.FileField</code> model field.</p>
7868
7924
  <p>For this example I created a simple python file called <code>customer_storage.py</code> in the root of my App.</p>
7869
7925
  <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="sd">&quot;&quot;&quot;Example of a custom extension to support flexible s3 storage.&quot;&quot;&quot;</span>
7870
- <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="kn">from</span> <span class="nn">storages.backends.s3boto3</span> <span class="kn">import</span> <span class="n">S3Boto3Storage</span>
7926
+ <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="kn">from</span> <span class="nn">storages.backends.s3</span> <span class="kn">import</span> <span class="n">S3Storage</span>
7871
7927
  <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a>
7872
- <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="k">class</span> <span class="nc">MediaStorage</span><span class="p">(</span><span class="n">S3Boto3Storage</span><span class="p">):</span>
7928
+ <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="k">class</span> <span class="nc">MediaStorage</span><span class="p">(</span><span class="n">S3Storage</span><span class="p">):</span>
7873
7929
  <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a> <span class="n">bucket_name</span> <span class="o">=</span> <span class="s1">&#39;nautobot-sw-media&#39;</span>
7874
7930
  <a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a> <span class="n">location</span> <span class="o">=</span> <span class="s2">&quot;software_images&quot;</span> <span class="c1"># store files under directory `software_images/` in bucket `nautobot-sw-media`</span>
7875
7931
  </code></pre></div>
@@ -8035,9 +8091,9 @@
8035
8091
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8036
8092
 
8037
8093
 
8038
- <script src="../../../assets/javascripts/bundle.8fd75fb4.min.js"></script>
8094
+ <script src="../../../assets/javascripts/bundle.bd41221c.min.js"></script>
8039
8095
 
8040
- <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
8096
+ <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8041
8097
 
8042
8098
 
8043
8099
  </body>