nautobot 2.4.9__py3-none-any.whl → 2.4.11__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 (433) hide show
  1. nautobot/cloud/tests/test_views.py +13 -1
  2. nautobot/cloud/views.py +39 -9
  3. nautobot/core/api/parsers.py +56 -2
  4. nautobot/core/celery/__init__.py +21 -0
  5. nautobot/core/celery/encoders.py +3 -0
  6. nautobot/core/forms/forms.py +4 -1
  7. nautobot/core/jobs/bulk_actions.py +8 -8
  8. nautobot/core/jobs/cleanup.py +11 -0
  9. nautobot/core/management/commands/generate_test_data.py +2 -1
  10. nautobot/core/models/__init__.py +2 -0
  11. nautobot/core/templates/generic/object_retrieve.html +1 -1
  12. nautobot/core/testing/mixins.py +19 -1
  13. nautobot/core/testing/views.py +104 -8
  14. nautobot/core/tests/test_csv.py +92 -1
  15. nautobot/core/tests/test_jinja_filters.py +59 -0
  16. nautobot/core/tests/test_jobs.py +20 -4
  17. nautobot/core/tests/test_utils.py +193 -0
  18. nautobot/core/tests/test_views.py +73 -0
  19. nautobot/core/tests/test_views_utils.py +53 -2
  20. nautobot/core/ui/object_detail.py +4 -0
  21. nautobot/core/urls.py +2 -2
  22. nautobot/core/utils/lookup.py +4 -2
  23. nautobot/core/utils/module_loading.py +86 -58
  24. nautobot/core/views/__init__.py +21 -0
  25. nautobot/core/views/generic.py +2 -12
  26. nautobot/core/views/mixins.py +19 -1
  27. nautobot/core/views/renderers.py +4 -13
  28. nautobot/core/views/utils.py +16 -0
  29. nautobot/dcim/api/serializers.py +13 -0
  30. nautobot/dcim/api/urls.py +1 -0
  31. nautobot/dcim/api/views.py +20 -0
  32. nautobot/dcim/apps.py +1 -0
  33. nautobot/dcim/factory.py +11 -0
  34. nautobot/dcim/filters/__init__.py +110 -0
  35. nautobot/dcim/forms.py +205 -19
  36. nautobot/dcim/migrations/0070_modulefamily_models.py +92 -0
  37. nautobot/dcim/models/__init__.py +2 -0
  38. nautobot/dcim/models/device_component_templates.py +18 -0
  39. nautobot/dcim/models/device_components.py +25 -1
  40. nautobot/dcim/models/devices.py +68 -0
  41. nautobot/dcim/navigation.py +16 -0
  42. nautobot/dcim/tables/__init__.py +2 -0
  43. nautobot/dcim/tables/devices.py +48 -0
  44. nautobot/dcim/tables/devicetypes.py +35 -1
  45. nautobot/dcim/tables/template_code.py +2 -0
  46. nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +1 -90
  47. nautobot/dcim/templates/dcim/inc/cable_toggle_buttons.html +1 -1
  48. nautobot/dcim/templates/dcim/interfaceredundancygroup_retrieve.html +1 -63
  49. nautobot/dcim/templates/dcim/location.html +2 -249
  50. nautobot/dcim/templates/dcim/location_edit.html +2 -38
  51. nautobot/dcim/templates/dcim/location_retrieve.html +249 -0
  52. nautobot/dcim/templates/dcim/location_update.html +38 -0
  53. nautobot/dcim/templates/dcim/module_update.html +1 -0
  54. nautobot/dcim/templates/dcim/modulebay_retrieve.html +93 -1
  55. nautobot/dcim/templates/dcim/modulefamily_retrieve.html +31 -0
  56. nautobot/dcim/templates/dcim/moduletype_retrieve.html +6 -0
  57. nautobot/dcim/templates/dcim/powerfeed_retrieve.html +1 -160
  58. nautobot/dcim/tests/test_api.py +35 -0
  59. nautobot/dcim/tests/test_filters.py +102 -3
  60. nautobot/dcim/tests/test_models.py +146 -0
  61. nautobot/dcim/tests/test_views.py +70 -97
  62. nautobot/dcim/urls.py +4 -22
  63. nautobot/dcim/views.py +439 -153
  64. nautobot/extras/api/views.py +9 -2
  65. nautobot/extras/context_managers.py +2 -2
  66. nautobot/extras/datasources/git.py +11 -3
  67. nautobot/extras/forms/forms.py +9 -5
  68. nautobot/extras/jobs.py +4 -2
  69. nautobot/extras/models/customfields.py +2 -0
  70. nautobot/extras/models/datasources.py +13 -8
  71. nautobot/extras/models/groups.py +18 -0
  72. nautobot/extras/models/jobs.py +19 -0
  73. nautobot/extras/models/metadata.py +2 -0
  74. nautobot/extras/models/models.py +4 -0
  75. nautobot/extras/models/secrets.py +7 -0
  76. nautobot/extras/plugins/__init__.py +3 -0
  77. nautobot/extras/secrets/__init__.py +14 -0
  78. nautobot/extras/tables.py +40 -3
  79. nautobot/extras/templates/extras/configcontext.html +2 -220
  80. nautobot/extras/templates/extras/configcontext_edit.html +2 -50
  81. nautobot/extras/templates/extras/configcontext_retrieve.html +2 -0
  82. nautobot/extras/templates/extras/configcontext_update.html +50 -0
  83. nautobot/extras/templates/extras/configcontextschema.html +2 -48
  84. nautobot/extras/templates/extras/configcontextschema_edit.html +2 -19
  85. nautobot/extras/templates/extras/configcontextschema_retrieve.html +48 -0
  86. nautobot/extras/templates/extras/configcontextschema_update.html +19 -0
  87. nautobot/extras/templates/extras/inc/configcontext_data.html +1 -0
  88. nautobot/extras/templates/extras/inc/json_data.html +1 -1
  89. nautobot/extras/templates/extras/inc/json_format.html +2 -2
  90. nautobot/extras/templates/extras/job_edit.html +12 -6
  91. nautobot/extras/templates/extras/tag.html +2 -52
  92. nautobot/extras/templates/extras/tag_edit.html +2 -15
  93. nautobot/extras/templates/extras/tag_retrieve.html +52 -0
  94. nautobot/extras/templates/extras/tag_update.html +15 -0
  95. nautobot/extras/templates/extras/team_retrieve.html +2 -2
  96. nautobot/extras/tests/test_api.py +15 -15
  97. nautobot/extras/tests/test_context_managers.py +20 -0
  98. nautobot/extras/tests/test_filters.py +4 -4
  99. nautobot/extras/tests/test_jobs.py +23 -10
  100. nautobot/extras/tests/test_models.py +45 -8
  101. nautobot/extras/tests/test_plugins.py +6 -3
  102. nautobot/extras/tests/test_views.py +66 -11
  103. nautobot/extras/urls.py +4 -134
  104. nautobot/extras/views.py +113 -158
  105. nautobot/ipam/models.py +51 -4
  106. nautobot/ipam/tables.py +19 -0
  107. nautobot/ipam/templates/ipam/vlan.html +2 -84
  108. nautobot/ipam/templates/ipam/vlan_edit.html +2 -24
  109. nautobot/ipam/templates/ipam/vlan_retrieve.html +84 -0
  110. nautobot/ipam/templates/ipam/vlan_update.html +24 -0
  111. nautobot/ipam/tests/test_views.py +5 -0
  112. nautobot/ipam/urls.py +1 -21
  113. nautobot/ipam/views.py +45 -70
  114. nautobot/project-static/docs/404.html +31 -8
  115. nautobot/project-static/docs/apps/index.html +31 -8
  116. nautobot/project-static/docs/apps/nautobot-apps.html +31 -8
  117. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +31 -8
  118. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +31 -8
  119. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +31 -8
  120. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +31 -8
  121. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +31 -8
  122. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +31 -8
  123. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +31 -8
  124. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +31 -8
  125. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +31 -8
  126. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +31 -8
  127. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +31 -8
  128. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +31 -8
  129. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +31 -8
  130. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +31 -8
  131. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +31 -8
  132. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +31 -8
  133. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +31 -8
  134. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +31 -8
  135. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +31 -8
  136. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +120 -8
  137. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +31 -8
  138. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +31 -8
  139. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +31 -8
  140. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +31 -8
  141. nautobot/project-static/docs/development/apps/api/configuration-view.html +31 -8
  142. nautobot/project-static/docs/development/apps/api/database-backend-config.html +31 -8
  143. nautobot/project-static/docs/development/apps/api/models/django-admin.html +31 -8
  144. nautobot/project-static/docs/development/apps/api/models/global-search.html +31 -8
  145. nautobot/project-static/docs/development/apps/api/models/graphql.html +31 -8
  146. nautobot/project-static/docs/development/apps/api/models/index.html +31 -8
  147. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +40 -8
  148. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +31 -8
  149. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +31 -8
  150. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +31 -8
  151. nautobot/project-static/docs/development/apps/api/platform-features/index.html +31 -8
  152. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +31 -8
  153. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +31 -8
  154. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +31 -8
  155. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +70 -46
  156. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +31 -8
  157. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +31 -8
  158. nautobot/project-static/docs/development/apps/api/prometheus.html +31 -8
  159. nautobot/project-static/docs/development/apps/api/setup.html +31 -8
  160. nautobot/project-static/docs/development/apps/api/testing.html +31 -8
  161. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +31 -8
  162. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +31 -8
  163. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +31 -8
  164. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +31 -8
  165. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +31 -8
  166. nautobot/project-static/docs/development/apps/api/views/base-template.html +31 -8
  167. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +31 -8
  168. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +31 -8
  169. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +31 -8
  170. nautobot/project-static/docs/development/apps/api/views/index.html +31 -8
  171. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +31 -8
  172. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +31 -8
  173. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +31 -8
  174. nautobot/project-static/docs/development/apps/api/views/notes.html +31 -8
  175. nautobot/project-static/docs/development/apps/api/views/rest-api.html +31 -8
  176. nautobot/project-static/docs/development/apps/api/views/urls.html +31 -8
  177. nautobot/project-static/docs/development/apps/index.html +31 -8
  178. nautobot/project-static/docs/development/apps/migration/code-updates.html +31 -8
  179. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +31 -8
  180. nautobot/project-static/docs/development/apps/migration/from-v1.html +31 -8
  181. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +31 -8
  182. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +31 -8
  183. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +31 -8
  184. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +31 -8
  185. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +31 -8
  186. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +31 -8
  187. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +31 -8
  188. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +31 -8
  189. nautobot/project-static/docs/development/apps/porting-from-netbox.html +31 -8
  190. nautobot/project-static/docs/development/core/application-registry.html +31 -8
  191. nautobot/project-static/docs/development/core/best-practices.html +31 -8
  192. nautobot/project-static/docs/development/core/bootstrap-ui.html +31 -8
  193. nautobot/project-static/docs/development/core/caching.html +31 -8
  194. nautobot/project-static/docs/development/core/controllers.html +31 -8
  195. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +31 -8
  196. nautobot/project-static/docs/development/core/generic-views.html +31 -8
  197. nautobot/project-static/docs/development/core/getting-started.html +31 -8
  198. nautobot/project-static/docs/development/core/homepage.html +31 -8
  199. nautobot/project-static/docs/development/core/index.html +31 -8
  200. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +31 -8
  201. nautobot/project-static/docs/development/core/model-checklist.html +31 -8
  202. nautobot/project-static/docs/development/core/model-features.html +31 -8
  203. nautobot/project-static/docs/development/core/natural-keys.html +31 -8
  204. nautobot/project-static/docs/development/core/navigation-menu.html +31 -8
  205. nautobot/project-static/docs/development/core/release-checklist.html +31 -8
  206. nautobot/project-static/docs/development/core/role-internals.html +31 -8
  207. nautobot/project-static/docs/development/core/settings.html +31 -8
  208. nautobot/project-static/docs/development/core/style-guide.html +31 -8
  209. nautobot/project-static/docs/development/core/templates.html +31 -8
  210. nautobot/project-static/docs/development/core/testing.html +31 -8
  211. nautobot/project-static/docs/development/core/ui-component-framework.html +31 -8
  212. nautobot/project-static/docs/development/core/user-preferences.html +31 -8
  213. nautobot/project-static/docs/development/index.html +31 -8
  214. nautobot/project-static/docs/development/jobs/getting-started.html +35 -8
  215. nautobot/project-static/docs/development/jobs/index.html +31 -8
  216. nautobot/project-static/docs/development/jobs/installation.html +31 -8
  217. nautobot/project-static/docs/development/jobs/job-extensions.html +31 -8
  218. nautobot/project-static/docs/development/jobs/job-logging.html +31 -8
  219. nautobot/project-static/docs/development/jobs/job-patterns.html +31 -8
  220. nautobot/project-static/docs/development/jobs/job-structure.html +31 -8
  221. nautobot/project-static/docs/development/jobs/migration/from-v1.html +31 -8
  222. nautobot/project-static/docs/development/jobs/testing.html +31 -8
  223. nautobot/project-static/docs/index.html +31 -8
  224. nautobot/project-static/docs/insert-analytics.sh +36 -0
  225. nautobot/project-static/docs/objects.inv +0 -0
  226. nautobot/project-static/docs/overview/application_stack.html +31 -8
  227. nautobot/project-static/docs/overview/design_philosophy.html +31 -8
  228. nautobot/project-static/docs/release-notes/index.html +31 -8
  229. nautobot/project-static/docs/release-notes/version-1.0.html +31 -8
  230. nautobot/project-static/docs/release-notes/version-1.1.html +31 -8
  231. nautobot/project-static/docs/release-notes/version-1.2.html +31 -8
  232. nautobot/project-static/docs/release-notes/version-1.3.html +31 -8
  233. nautobot/project-static/docs/release-notes/version-1.4.html +31 -8
  234. nautobot/project-static/docs/release-notes/version-1.5.html +31 -8
  235. nautobot/project-static/docs/release-notes/version-1.6.html +328 -8
  236. nautobot/project-static/docs/release-notes/version-2.0.html +31 -8
  237. nautobot/project-static/docs/release-notes/version-2.1.html +31 -8
  238. nautobot/project-static/docs/release-notes/version-2.2.html +31 -8
  239. nautobot/project-static/docs/release-notes/version-2.3.html +31 -8
  240. nautobot/project-static/docs/release-notes/version-2.4.html +353 -8
  241. nautobot/project-static/docs/search/search_index.json +1 -1
  242. nautobot/project-static/docs/sitemap.xml +302 -298
  243. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  244. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +31 -8
  245. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +31 -8
  246. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +31 -8
  247. nautobot/project-static/docs/user-guide/administration/configuration/index.html +31 -8
  248. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +31 -8
  249. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +31 -8
  250. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +31 -8
  251. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +31 -8
  252. nautobot/project-static/docs/user-guide/administration/guides/docker.html +31 -8
  253. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +31 -8
  254. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +31 -8
  255. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +31 -8
  256. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +31 -8
  257. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +31 -8
  258. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +31 -8
  259. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +31 -8
  260. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +31 -8
  261. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +31 -8
  262. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +31 -8
  263. nautobot/project-static/docs/user-guide/administration/installation/index.html +31 -8
  264. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +31 -8
  265. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +31 -8
  266. nautobot/project-static/docs/user-guide/administration/installation/services.html +31 -8
  267. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +31 -8
  268. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +31 -8
  269. nautobot/project-static/docs/user-guide/administration/security/index.html +31 -9
  270. nautobot/project-static/docs/user-guide/administration/security/notices.html +144 -9
  271. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +31 -8
  272. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +31 -8
  273. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +31 -8
  274. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +31 -8
  275. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +31 -8
  276. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +31 -8
  277. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +31 -8
  278. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +31 -8
  279. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +31 -8
  280. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +31 -8
  281. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +31 -8
  282. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +31 -8
  283. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +31 -8
  284. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +31 -8
  285. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +31 -8
  286. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +31 -8
  287. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +31 -8
  288. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +31 -8
  289. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +31 -8
  290. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +31 -8
  291. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +31 -8
  292. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +31 -8
  293. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +31 -8
  294. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +31 -8
  295. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +31 -8
  296. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +31 -8
  297. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +31 -8
  298. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +31 -8
  299. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +31 -8
  300. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +31 -8
  301. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +31 -8
  302. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +31 -8
  303. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +31 -8
  304. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +31 -8
  305. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +43 -20
  306. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +31 -8
  307. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +31 -8
  308. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +31 -8
  309. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +31 -8
  310. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +31 -8
  311. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +31 -8
  312. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +31 -8
  313. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +31 -8
  314. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +31 -8
  315. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +31 -8
  316. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +35 -8
  317. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +35 -8
  318. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +35 -8
  319. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +10261 -0
  320. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +34 -11
  321. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +31 -8
  322. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +31 -8
  323. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +31 -8
  324. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +31 -8
  325. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +31 -8
  326. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +31 -8
  327. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +31 -8
  328. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +31 -8
  329. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +31 -8
  330. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +31 -8
  331. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +31 -8
  332. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +31 -8
  333. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +31 -8
  334. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +31 -8
  335. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +31 -8
  336. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +31 -8
  337. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +31 -8
  338. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +31 -8
  339. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +31 -8
  340. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +31 -8
  341. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +31 -8
  342. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +31 -8
  343. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +31 -8
  344. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +31 -8
  345. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +31 -8
  346. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +31 -8
  347. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +31 -8
  348. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +31 -8
  349. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +31 -8
  350. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +31 -8
  351. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +31 -8
  352. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +31 -8
  353. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +31 -8
  354. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +31 -8
  355. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +31 -8
  356. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +31 -8
  357. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +31 -8
  358. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +31 -8
  359. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +31 -8
  360. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +31 -8
  361. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +31 -8
  362. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +31 -8
  363. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +31 -8
  364. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +31 -8
  365. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +31 -8
  366. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +31 -8
  367. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +31 -8
  368. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +31 -8
  369. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +31 -8
  370. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +31 -8
  371. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +31 -8
  372. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +31 -8
  373. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +41 -15
  374. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +31 -8
  375. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +31 -8
  376. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +31 -8
  377. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +31 -8
  378. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +31 -8
  379. nautobot/project-static/docs/user-guide/index.html +31 -8
  380. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +31 -8
  381. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +31 -8
  382. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +31 -8
  383. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +31 -8
  384. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +31 -8
  385. nautobot/project-static/docs/user-guide/platform-functionality/events.html +31 -8
  386. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +31 -8
  387. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +31 -8
  388. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +37 -9
  389. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +31 -8
  390. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +31 -8
  391. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +31 -8
  392. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +31 -8
  393. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +31 -8
  394. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +31 -8
  395. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +31 -8
  396. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +31 -8
  397. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +31 -8
  398. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +31 -8
  399. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +31 -8
  400. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +31 -8
  401. nautobot/project-static/docs/user-guide/platform-functionality/note.html +31 -8
  402. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +31 -8
  403. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +31 -8
  404. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +31 -8
  405. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +31 -8
  406. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +31 -8
  407. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +31 -8
  408. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +31 -8
  409. nautobot/project-static/docs/user-guide/platform-functionality/role.html +31 -8
  410. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +31 -8
  411. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +31 -8
  412. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +31 -8
  413. nautobot/project-static/docs/user-guide/platform-functionality/status.html +31 -8
  414. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +31 -8
  415. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +31 -8
  416. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +31 -8
  417. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +31 -8
  418. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +31 -8
  419. nautobot/tenancy/tables.py +2 -0
  420. nautobot/users/models.py +4 -0
  421. nautobot/virtualization/models.py +4 -0
  422. nautobot/virtualization/tests/test_views.py +1 -1
  423. nautobot/wireless/forms.py +0 -1
  424. nautobot/wireless/models.py +1 -1
  425. nautobot/wireless/tables.py +7 -0
  426. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/METADATA +4 -4
  427. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/RECORD +433 -418
  428. /nautobot/dcim/templates/dcim/{platform_edit.html → platform_create.html} +0 -0
  429. /nautobot/extras/test_jobs/{pass.py → pass_job.py} +0 -0
  430. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/LICENSE.txt +0 -0
  431. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/NOTICE +0 -0
  432. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/WHEEL +0 -0
  433. {nautobot-2.4.9.dist-info → nautobot-2.4.11.dist-info}/entry_points.txt +0 -0
@@ -3601,6 +3601,29 @@
3601
3601
 
3602
3602
 
3603
3603
 
3604
+ <li class="md-nav__item">
3605
+ <a href="../../../user-guide/core-data-model/dcim/modulefamily.html" class="md-nav__link">
3606
+
3607
+
3608
+
3609
+ <span class="md-ellipsis">
3610
+ Module Family
3611
+
3612
+ </span>
3613
+
3614
+
3615
+ </a>
3616
+ </li>
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+
3604
3627
 
3605
3628
 
3606
3629
 
@@ -3613,7 +3636,7 @@
3613
3636
 
3614
3637
 
3615
3638
 
3616
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3639
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3617
3640
 
3618
3641
 
3619
3642
  <div class="md-nav__link md-nav__container">
@@ -3630,14 +3653,14 @@
3630
3653
  </a>
3631
3654
 
3632
3655
 
3633
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3656
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3634
3657
  <span class="md-nav__icon md-icon"></span>
3635
3658
  </label>
3636
3659
 
3637
3660
  </div>
3638
3661
 
3639
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3640
- <label class="md-nav__title" for="__nav_2_3_4_10">
3662
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3663
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3641
3664
  <span class="md-nav__icon md-icon"></span>
3642
3665
  Module Type
3643
3666
  </label>
@@ -3853,7 +3876,7 @@
3853
3876
 
3854
3877
 
3855
3878
 
3856
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3857
3880
 
3858
3881
 
3859
3882
  <div class="md-nav__link md-nav__container">
@@ -3870,14 +3893,14 @@
3870
3893
  </a>
3871
3894
 
3872
3895
 
3873
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3896
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3874
3897
  <span class="md-nav__icon md-icon"></span>
3875
3898
  </label>
3876
3899
 
3877
3900
  </div>
3878
3901
 
3879
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3880
- <label class="md-nav__title" for="__nav_2_3_4_11">
3902
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3903
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3881
3904
  <span class="md-nav__icon md-icon"></span>
3882
3905
  Module
3883
3906
  </label>
@@ -3601,6 +3601,29 @@
3601
3601
 
3602
3602
 
3603
3603
 
3604
+ <li class="md-nav__item">
3605
+ <a href="../../../user-guide/core-data-model/dcim/modulefamily.html" class="md-nav__link">
3606
+
3607
+
3608
+
3609
+ <span class="md-ellipsis">
3610
+ Module Family
3611
+
3612
+ </span>
3613
+
3614
+
3615
+ </a>
3616
+ </li>
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+
3604
3627
 
3605
3628
 
3606
3629
 
@@ -3613,7 +3636,7 @@
3613
3636
 
3614
3637
 
3615
3638
 
3616
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3639
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3617
3640
 
3618
3641
 
3619
3642
  <div class="md-nav__link md-nav__container">
@@ -3630,14 +3653,14 @@
3630
3653
  </a>
3631
3654
 
3632
3655
 
3633
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3656
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3634
3657
  <span class="md-nav__icon md-icon"></span>
3635
3658
  </label>
3636
3659
 
3637
3660
  </div>
3638
3661
 
3639
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3640
- <label class="md-nav__title" for="__nav_2_3_4_10">
3662
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3663
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3641
3664
  <span class="md-nav__icon md-icon"></span>
3642
3665
  Module Type
3643
3666
  </label>
@@ -3853,7 +3876,7 @@
3853
3876
 
3854
3877
 
3855
3878
 
3856
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3857
3880
 
3858
3881
 
3859
3882
  <div class="md-nav__link md-nav__container">
@@ -3870,14 +3893,14 @@
3870
3893
  </a>
3871
3894
 
3872
3895
 
3873
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3896
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3874
3897
  <span class="md-nav__icon md-icon"></span>
3875
3898
  </label>
3876
3899
 
3877
3900
  </div>
3878
3901
 
3879
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3880
- <label class="md-nav__title" for="__nav_2_3_4_11">
3902
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3903
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3881
3904
  <span class="md-nav__icon md-icon"></span>
3882
3905
  Module
3883
3906
  </label>
@@ -3601,6 +3601,29 @@
3601
3601
 
3602
3602
 
3603
3603
 
3604
+ <li class="md-nav__item">
3605
+ <a href="../../../user-guide/core-data-model/dcim/modulefamily.html" class="md-nav__link">
3606
+
3607
+
3608
+
3609
+ <span class="md-ellipsis">
3610
+ Module Family
3611
+
3612
+ </span>
3613
+
3614
+
3615
+ </a>
3616
+ </li>
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+
3604
3627
 
3605
3628
 
3606
3629
 
@@ -3613,7 +3636,7 @@
3613
3636
 
3614
3637
 
3615
3638
 
3616
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3639
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3617
3640
 
3618
3641
 
3619
3642
  <div class="md-nav__link md-nav__container">
@@ -3630,14 +3653,14 @@
3630
3653
  </a>
3631
3654
 
3632
3655
 
3633
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3656
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3634
3657
  <span class="md-nav__icon md-icon"></span>
3635
3658
  </label>
3636
3659
 
3637
3660
  </div>
3638
3661
 
3639
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3640
- <label class="md-nav__title" for="__nav_2_3_4_10">
3662
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3663
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3641
3664
  <span class="md-nav__icon md-icon"></span>
3642
3665
  Module Type
3643
3666
  </label>
@@ -3853,7 +3876,7 @@
3853
3876
 
3854
3877
 
3855
3878
 
3856
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3857
3880
 
3858
3881
 
3859
3882
  <div class="md-nav__link md-nav__container">
@@ -3870,14 +3893,14 @@
3870
3893
  </a>
3871
3894
 
3872
3895
 
3873
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3896
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3874
3897
  <span class="md-nav__icon md-icon"></span>
3875
3898
  </label>
3876
3899
 
3877
3900
  </div>
3878
3901
 
3879
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3880
- <label class="md-nav__title" for="__nav_2_3_4_11">
3902
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3903
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3881
3904
  <span class="md-nav__icon md-icon"></span>
3882
3905
  Module
3883
3906
  </label>
@@ -3601,6 +3601,29 @@
3601
3601
 
3602
3602
 
3603
3603
 
3604
+ <li class="md-nav__item">
3605
+ <a href="../../../user-guide/core-data-model/dcim/modulefamily.html" class="md-nav__link">
3606
+
3607
+
3608
+
3609
+ <span class="md-ellipsis">
3610
+ Module Family
3611
+
3612
+ </span>
3613
+
3614
+
3615
+ </a>
3616
+ </li>
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+
3604
3627
 
3605
3628
 
3606
3629
 
@@ -3613,7 +3636,7 @@
3613
3636
 
3614
3637
 
3615
3638
 
3616
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3639
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3617
3640
 
3618
3641
 
3619
3642
  <div class="md-nav__link md-nav__container">
@@ -3630,14 +3653,14 @@
3630
3653
  </a>
3631
3654
 
3632
3655
 
3633
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3656
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3634
3657
  <span class="md-nav__icon md-icon"></span>
3635
3658
  </label>
3636
3659
 
3637
3660
  </div>
3638
3661
 
3639
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3640
- <label class="md-nav__title" for="__nav_2_3_4_10">
3662
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3663
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3641
3664
  <span class="md-nav__icon md-icon"></span>
3642
3665
  Module Type
3643
3666
  </label>
@@ -3853,7 +3876,7 @@
3853
3876
 
3854
3877
 
3855
3878
 
3856
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3857
3880
 
3858
3881
 
3859
3882
  <div class="md-nav__link md-nav__container">
@@ -3870,14 +3893,14 @@
3870
3893
  </a>
3871
3894
 
3872
3895
 
3873
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3896
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3874
3897
  <span class="md-nav__icon md-icon"></span>
3875
3898
  </label>
3876
3899
 
3877
3900
  </div>
3878
3901
 
3879
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3880
- <label class="md-nav__title" for="__nav_2_3_4_11">
3902
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3903
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3881
3904
  <span class="md-nav__icon md-icon"></span>
3882
3905
  Module
3883
3906
  </label>
@@ -3601,6 +3601,29 @@
3601
3601
 
3602
3602
 
3603
3603
 
3604
+ <li class="md-nav__item">
3605
+ <a href="../../../user-guide/core-data-model/dcim/modulefamily.html" class="md-nav__link">
3606
+
3607
+
3608
+
3609
+ <span class="md-ellipsis">
3610
+ Module Family
3611
+
3612
+ </span>
3613
+
3614
+
3615
+ </a>
3616
+ </li>
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+
3604
3627
 
3605
3628
 
3606
3629
 
@@ -3613,7 +3636,7 @@
3613
3636
 
3614
3637
 
3615
3638
 
3616
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3639
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3617
3640
 
3618
3641
 
3619
3642
  <div class="md-nav__link md-nav__container">
@@ -3630,14 +3653,14 @@
3630
3653
  </a>
3631
3654
 
3632
3655
 
3633
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3656
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3634
3657
  <span class="md-nav__icon md-icon"></span>
3635
3658
  </label>
3636
3659
 
3637
3660
  </div>
3638
3661
 
3639
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3640
- <label class="md-nav__title" for="__nav_2_3_4_10">
3662
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3663
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3641
3664
  <span class="md-nav__icon md-icon"></span>
3642
3665
  Module Type
3643
3666
  </label>
@@ -3853,7 +3876,7 @@
3853
3876
 
3854
3877
 
3855
3878
 
3856
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3857
3880
 
3858
3881
 
3859
3882
  <div class="md-nav__link md-nav__container">
@@ -3870,14 +3893,14 @@
3870
3893
  </a>
3871
3894
 
3872
3895
 
3873
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3896
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3874
3897
  <span class="md-nav__icon md-icon"></span>
3875
3898
  </label>
3876
3899
 
3877
3900
  </div>
3878
3901
 
3879
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3880
- <label class="md-nav__title" for="__nav_2_3_4_11">
3902
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3903
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3881
3904
  <span class="md-nav__icon md-icon"></span>
3882
3905
  Module
3883
3906
  </label>
@@ -9099,6 +9122,15 @@
9099
9122
  </span>
9100
9123
  </a>
9101
9124
 
9125
+ </li>
9126
+
9127
+ <li class="md-nav__item">
9128
+ <a href="#nautobot.apps.testing.NautobotTestCaseMixin.remove_permissions" class="md-nav__link">
9129
+ <span class="md-ellipsis">
9130
+ remove_permissions
9131
+ </span>
9132
+ </a>
9133
+
9102
9134
  </li>
9103
9135
 
9104
9136
  <li class="md-nav__item">
@@ -9435,6 +9467,21 @@
9435
9467
  </span>
9436
9468
  </a>
9437
9469
 
9470
+ <nav class="md-nav" aria-label="BulkEditObjectsViewTestCase">
9471
+ <ul class="md-nav__list">
9472
+
9473
+ <li class="md-nav__item">
9474
+ <a href="#nautobot.apps.testing.ViewTestCases.BulkEditObjectsViewTestCase.test_bulk_edit_objects_nullable_fields" class="md-nav__link">
9475
+ <span class="md-ellipsis">
9476
+ test_bulk_edit_objects_nullable_fields
9477
+ </span>
9478
+ </a>
9479
+
9480
+ </li>
9481
+
9482
+ </ul>
9483
+ </nav>
9484
+
9438
9485
  </li>
9439
9486
 
9440
9487
  <li class="md-nav__item">
@@ -12433,6 +12480,15 @@
12433
12480
  </span>
12434
12481
  </a>
12435
12482
 
12483
+ </li>
12484
+
12485
+ <li class="md-nav__item">
12486
+ <a href="#nautobot.apps.testing.NautobotTestCaseMixin.remove_permissions" class="md-nav__link">
12487
+ <span class="md-ellipsis">
12488
+ remove_permissions
12489
+ </span>
12490
+ </a>
12491
+
12436
12492
  </li>
12437
12493
 
12438
12494
  <li class="md-nav__item">
@@ -12769,6 +12825,21 @@
12769
12825
  </span>
12770
12826
  </a>
12771
12827
 
12828
+ <nav class="md-nav" aria-label="BulkEditObjectsViewTestCase">
12829
+ <ul class="md-nav__list">
12830
+
12831
+ <li class="md-nav__item">
12832
+ <a href="#nautobot.apps.testing.ViewTestCases.BulkEditObjectsViewTestCase.test_bulk_edit_objects_nullable_fields" class="md-nav__link">
12833
+ <span class="md-ellipsis">
12834
+ test_bulk_edit_objects_nullable_fields
12835
+ </span>
12836
+ </a>
12837
+
12838
+ </li>
12839
+
12840
+ </ul>
12841
+ </nav>
12842
+
12772
12843
  </li>
12773
12844
 
12774
12845
  <li class="md-nav__item">
@@ -15388,6 +15459,30 @@ against test data. For example, it can be used to decrypt a Secret's plaintext a
15388
15459
  <div class="doc doc-object doc-function">
15389
15460
 
15390
15461
 
15462
+ <h3 id="nautobot.apps.testing.NautobotTestCaseMixin.remove_permissions" class="doc doc-heading">
15463
+ <code class="highlight language-python"><span class="n">remove_permissions</span><span class="p">(</span><span class="o">*</span><span class="n">names</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span></code>
15464
+
15465
+ <a href="#nautobot.apps.testing.NautobotTestCaseMixin.remove_permissions" class="headerlink" title="Permanent link">&para;</a></h3>
15466
+
15467
+
15468
+ <div class="doc doc-contents ">
15469
+
15470
+ <p>Remove a set of permissions. Accepts permission names in the form <app>.<action>_<model>.
15471
+ Additional keyword arguments will be passed to the ObjectPermission constructor to allow creating more detailed permissions.</p>
15472
+
15473
+
15474
+ <p><span class="doc-section-title">Examples:</span></p>
15475
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="gp">&gt;&gt;&gt; </span><span class="n">remove_permissions</span><span class="p">(</span><span class="s2">&quot;ipam.add_vlangroup&quot;</span><span class="p">,</span> <span class="s2">&quot;ipam.view_vlangroup&quot;</span><span class="p">)</span>
15476
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="gp">&gt;&gt;&gt; </span><span class="n">remove_permissions</span><span class="p">(</span><span class="s2">&quot;ipam.add_vlangroup&quot;</span><span class="p">,</span> <span class="s2">&quot;ipam.view_vlangroup&quot;</span><span class="p">,</span> <span class="n">constraints</span><span class="o">=</span><span class="p">{</span><span class="s2">&quot;pk&quot;</span><span class="p">:</span> <span class="s2">&quot;uuid-1234&quot;</span><span class="p">})</span>
15477
+ </code></pre></div>
15478
+
15479
+ </div>
15480
+
15481
+ </div>
15482
+
15483
+ <div class="doc doc-object doc-function">
15484
+
15485
+
15391
15486
  <h3 id="nautobot.apps.testing.NautobotTestCaseMixin.setUpNautobot" class="doc doc-heading">
15392
15487
  <code class="highlight language-python"><span class="n">setUpNautobot</span><span class="p">(</span><span class="n">client</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">populate_status</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span></code>
15393
15488
 
@@ -16206,6 +16301,23 @@ statuses present in the database in order to run tests.</p>
16206
16301
 
16207
16302
 
16208
16303
 
16304
+ <div class="doc doc-object doc-function">
16305
+
16306
+
16307
+ <h4 id="nautobot.apps.testing.ViewTestCases.BulkEditObjectsViewTestCase.test_bulk_edit_objects_nullable_fields" class="doc doc-heading">
16308
+ <code class="highlight language-python"><span class="n">test_bulk_edit_objects_nullable_fields</span><span class="p">()</span></code>
16309
+
16310
+ <a href="#nautobot.apps.testing.ViewTestCases.BulkEditObjectsViewTestCase.test_bulk_edit_objects_nullable_fields" class="headerlink" title="Permanent link">&para;</a></h4>
16311
+
16312
+
16313
+ <div class="doc doc-contents ">
16314
+
16315
+ <p>Assert that "set null" fields on the bulk-edit form are correctly passed through to the job.</p>
16316
+
16317
+ </div>
16318
+
16319
+ </div>
16320
+
16209
16321
 
16210
16322
 
16211
16323
  </div>
@@ -3601,6 +3601,29 @@
3601
3601
 
3602
3602
 
3603
3603
 
3604
+ <li class="md-nav__item">
3605
+ <a href="../../../user-guide/core-data-model/dcim/modulefamily.html" class="md-nav__link">
3606
+
3607
+
3608
+
3609
+ <span class="md-ellipsis">
3610
+ Module Family
3611
+
3612
+ </span>
3613
+
3614
+
3615
+ </a>
3616
+ </li>
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+
3625
+
3626
+
3604
3627
 
3605
3628
 
3606
3629
 
@@ -3613,7 +3636,7 @@
3613
3636
 
3614
3637
 
3615
3638
 
3616
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3639
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3617
3640
 
3618
3641
 
3619
3642
  <div class="md-nav__link md-nav__container">
@@ -3630,14 +3653,14 @@
3630
3653
  </a>
3631
3654
 
3632
3655
 
3633
- <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3656
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3634
3657
  <span class="md-nav__icon md-icon"></span>
3635
3658
  </label>
3636
3659
 
3637
3660
  </div>
3638
3661
 
3639
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
3640
- <label class="md-nav__title" for="__nav_2_3_4_10">
3662
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3663
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3641
3664
  <span class="md-nav__icon md-icon"></span>
3642
3665
  Module Type
3643
3666
  </label>
@@ -3853,7 +3876,7 @@
3853
3876
 
3854
3877
 
3855
3878
 
3856
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_12" >
3857
3880
 
3858
3881
 
3859
3882
  <div class="md-nav__link md-nav__container">
@@ -3870,14 +3893,14 @@
3870
3893
  </a>
3871
3894
 
3872
3895
 
3873
- <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3896
+ <label class="md-nav__link " for="__nav_2_3_4_12" id="__nav_2_3_4_12_label" tabindex="0">
3874
3897
  <span class="md-nav__icon md-icon"></span>
3875
3898
  </label>
3876
3899
 
3877
3900
  </div>
3878
3901
 
3879
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
3880
- <label class="md-nav__title" for="__nav_2_3_4_11">
3902
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_12_label" aria-expanded="false">
3903
+ <label class="md-nav__title" for="__nav_2_3_4_12">
3881
3904
  <span class="md-nav__icon md-icon"></span>
3882
3905
  Module
3883
3906
  </label>